zarahome.ie Details

Select the tabs below for more information

Share This
Share On Facebook Share On Twitter Share On Google Share On LinkedIn Pinterest Email



zarahome.ie Domain Thumbnail

zarahome.ie

zarahome.ie

www.zarahome.ie

Social Media Link Popularity

Ads By Google

Server Information

SEO Title & Meta Tags

Title: Zara Home Ireland | Home Page
Description: Zara Home Ireland | Home Page

Summary

No data returned

Domain and IP Whois Lookup Tool

Lookup Domain and IP Ownership Records:

Whois Information

DNS Information

Lookup DNS Records:

NS (Name Server) records are:

  • nssui.comlaude.ch
  • nsusa.comlaude.net
  • nsgbr.comlaude.co.uk

MX (Mail Exchanger) records are:

  • mail3.inditex.com

A records are:

  • host: zarahome.ie
  • class: IN
  • ttl: 21598
  • type: A
  • ip: 54.228.184.205
DNS Information

HTML Source

HTML Head Source:

			<html id="{{iPage}}"
      ng-class="[{ 'evergreen-menu evergreen-menu-on' : !$root.isWW,
                    'overflow-hidden' : docOverflowHidden,
                    'hamburguerMenu' : $root.showHamburguerMenu,
                    'regularMenu' : !$root.showHamburguerMenu,
                    '{{ $root.countryClassName + ' ' + $root.langClassName }}': true,
                    'noSale': !$root.inditex.iStoreJSON.isOpenForSale,
                    'webViewApp': $root.isWebViewApp},
                    $root.appDeviceClass, $root.htmlMenuClass,
                    $root.webViewApp, $root.desktopSizeClass]"
       ng-style="{ 'padding-right': ($root.showHamburguerMenu && !$root.activeMobileMenu && $root.htmlMenuClass === 'mobile-open') ? $root.scrollbarWidth+ 'px' : 0 }">

<head>
    <!-- BEGIN pre-common head -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" /> 

<meta content="Zara Home Ireland | Home Page" name="description">
<title>Zara Home Ireland | Home Page</title>
<meta http-equiv="content-language" content="en-IE"><meta property="og:title" content="Zara Home Ireland | Home Page" />
<meta property="og:type" content="website" />
<meta property="og:image" content="https://static.zarahome.net/8/static4/itxwebstandard/logo/logo.png?t=201904230220011176774530" />
<meta property="og:url" content="https://www.zarahome.com/ie/" />
<meta property="og:description" content="Zara Home Ireland | Home Page" /><meta property="twitter:card" content="summary">
<meta property="twitter:site" content="@zara_home"/>
<meta property="twitter:title" content="Zara Home Ireland | Home Page"/>
<meta property="twitter:description" content="Zara Home Ireland | Home Page"/>
<meta property="twitter:image" content="https://static.zarahome.net/8/static4/itxwebstandard/logo/logo.png?t=201904230220011176774530"/><link rel="image_src" href="https://static.zarahome.net/8/static4/itxwebstandard/logo/logo.png?t=201904230220011176774530" /><link rel="canonical" href="https://www.zarahome.com/ie/" />
<link rel="alternate" hreflang="x-default" href="https://www.zarahome.com/" />
<link rel="alternate" hreflang="de-DE" href="https://www.zarahome.com/de/" />
<link rel="alternate" hreflang="en-DE" href="https://www.zarahome.com/de/en/" />
<link rel="alternate" hreflang="de-AT" href="https://www.zarahome.com/at/" />
<link rel="alternate" hreflang="en-AT" href="https://www.zarahome.com/at/en/" />
<link rel="alternate" hreflang="en-BE" href="https://www.zarahome.com/be/" />
<link rel="alternate" hreflang="fr-BE" href="https://www.zarahome.com/be/fr/" />
<link rel="alternate" hreflang="nl-BE" href="https://www.zarahome.com/be/nl/" />
<link rel="alternate" hreflang="bg-BG" href="https://www.zarahome.com/bg/" />
<link rel="alternate" hreflang="en-BG" href="https://www.zarahome.com/bg/en/" />
<link rel="alternate" hreflang="en-CA" href="https://www.zarahome.com/ca/" />
<link rel="alternate" hreflang="fr-CA" href="https://www.zarahome.com/ca/fr/" />
<link rel="alternate" hreflang="zh-CN" href="https://www.zarahome.cn/cn/" />
<link rel="alternate" hreflang="en-CN" href="https://www.zarahome.cn/cn/en/" />
<link rel="alternate" hreflang="en-TW" href="https://www.zarahome.com/tw/" />
<link rel="alternate" hreflang="en-HK" href="https://www.zarahome.com/hk/" />
<link rel="alternate" hreflang="pt-MO" href="https://www.zarahome.com/mo/" />
<link rel="alternate" hreflang="en-MO" href="https://www.zarahome.com/mo/en/" />
<link rel="alternate" hreflang="ko-KR" href="https://www.zarahome.com/kr/" />
<link rel="alternate" hreflang="en-KR" href="https://www.zarahome.com/kr/en/" />
<link rel="alternate" hreflang="hr-HR" href="https://www.zarahome.com/hr/" />
<link rel="alternate" hreflang="en-HR" href="https://www.zarahome.com/hr/en/" />
<link rel="alternate" hreflang="da-DK" href="https://www.zarahome.com/dk/" />
<link rel="alternate" hreflang="en-DK" href="https://www.zarahome.com/dk/en/" />
<link rel="alternate" hreflang="en-AE" href="https://www.zarahome.com/ae/" />
<link rel="alternate" hreflang="ar-AE" href="https://www.zarahome.com/ae/ar/" />
<link rel="alternate" hreflang="sk-SK" href="https://www.zarahome.com/sk/" />
<link rel="alternate" hreflang="en-SK" href="https://www.zarahome.com/sk/en/" />
<link rel="alternate" hreflang="en-SI" href="https://www.zarahome.com/si/" />
<link rel="alternate" hreflang="es-ES" href="https://www.zarahome.com/es/" />
<link rel="alternate" hreflang="ca-ES" href="https://www.zarahome.com/es/ca/" />
<link rel="alternate" hreflang="gl-ES" href="https://www.zarahome.com/es/gl/" />
<link rel="alternate" hreflang="eu-ES" href="https://www.zarahome.com/es/eu/" />
<link rel="alternate" hreflang="en-ES" href="https://www.zarahome.com/es/en/" />
<link rel="alternate" hreflang="et-EE" href="https://www.zarahome.com/ee/" />
<link rel="alternate" hreflang="en-EE" href="https://www.zarahome.com/ee/en/" />
<link rel="alternate" hreflang="en-FI" href="https://www.zarahome.com/fi/" />
<link rel="alternate" hreflang="fr-FR" href="https://www.zarahome.com/fr/" />
<link rel="alternate" hreflang="en-FR" href="https://www.zarahome.com/fr/en/" />
<link rel="alternate" hreflang="el-GR" href="https://www.zarahome.com/gr/" />
<link rel="alternate" hreflang="en-GR" href="https://www.zarahome.com/gr/en/" />
<link rel="alternate" hreflang="nl-NL" href="https://www.zarahome.com/nl/" />
<link rel="alternate" hreflang="en-NL" href="https://www.zarahome.com/nl/en/" />
<link rel="alternate" hreflang="en-HU" href="https://www.zarahome.com/hu/" />
<link rel="alternate" hreflang="en-IE" href="https://www.zarahome.com/ie/" />
<link rel="alternate" hreflang="it-IT" href="https://www.zarahome.com/it/" />
<link rel="alternate" hreflang="en-IT" href="https://www.zarahome.com/it/en/" />
<link rel="alternate" hreflang="ja-JP" href="https://www.zarahome.com/jp/" />
<link rel="alternate" hreflang="en-JP" href="https://www.zarahome.com/jp/en/" />
<link rel="alternate" hreflang="lv-LV" href="https://www.zarahome.com/lv/" />
<link rel="alternate" hreflang="en-LV" href="https://www.zarahome.com/lv/en/" />
<link rel="alternate" hreflang="lt-LT" href="https://www.zarahome.com/lt/" />
<link rel="alternate" hreflang="en-LT" href="https://www.zarahome.com/lt/en/" />
<link rel="alternate" hreflang="fr-LU" href="https://www.zarahome.com/lu/" />
<link rel="alternate" hreflang="de-LU" href="https://www.zarahome.com/lu/de/" />
<link rel="alternate" hreflang="en-LU" href="https://www.zarahome.com/lu/en/" />
<link rel="alternate" hreflang="en-MT" href="https://www.zarahome.com/mt/" />
<link rel="alternate" hreflang="es-MX" href="https://www.zarahome.com/mx/" />
<link rel="alternate" hreflang="en-MX" href="https://www.zarahome.com/mx/en/" />
<link rel="alternate" hreflang="fr-MC" href="https://www.zarahome.com/mc/" />
<link rel="alternate" hreflang="en-MC" href="https://www.zarahome.com/mc/en/" />
<link rel="alternate" hreflang="en-NO" href="https://www.zarahome.com/no/" />
<link rel="alternate" hreflang="pl-PL" href="https://www.zarahome.com/pl/" />
<link rel="alternate" hreflang="en-PL" href="https://www.zarahome.com/pl/en/" />
<link rel="alternate" hreflang="pt-PT" href="https://www.zarahome.com/pt/" />
<link rel="alternate" hreflang="en-PT" href="https://www.zarahome.com/pt/en/" />
<link rel="alternate" hreflang="cs-CZ" href="https://www.zarahome.com/cz/" />
<link rel="alternate" hreflang="en-CZ" href="https://www.zarahome.com/cz/en/" />
<link rel="alternate" hreflang="ro-RO" href="https://www.zarahome.com/ro/" />
<link rel="alternate" hreflang="en-RO" href="https://www.zarahome.com/ro/en/" />
<link rel="alternate" hreflang="ru-RU" href="https://www.zarahome.com/ru/" />
<link rel="alternate" hreflang="en-RU" href="https://www.zarahome.com/ru/en/" />
<link rel="alternate" hreflang="en-SE" href="https://www.zarahome.com/se/" />
<link rel="alternate" hreflang="de-CH" href="https://www.zarahome.com/ch/" />
<link rel="alternate" hreflang="it-CH" href="https://www.zarahome.com/ch/it/" />
<link rel="alternate" hreflang="fr-CH" href="https://www.zarahome.com/ch/fr/" />
<link rel="alternate" hreflang="en-CH" href="https://www.zarahome.com/ch/en/" />
<link rel="alternate" hreflang="tr-TR" href="https://www.zarahome.com/tr/" />
<link rel="alternate" hreflang="en-TR" href="https://www.zarahome.com/tr/en/" />
<link rel="alternate" hreflang="en-US" href="https://www.zarahome.com/us/" />
<link rel="alternate" hreflang="es-US" href="https://www.zarahome.com/us/es-us/" />
<link rel="alternate" hreflang="en-GB" href="https://www.zarahome.com/gb/" />
<link rel="alternate" hreflang="en-AS" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-AS" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-AS" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-AS" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-AO" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-AO" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-AO" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-AO" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-AI" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-AI" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-AI" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-AI" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-AG" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-AG" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-AG" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-AG" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-BS" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-BS" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-BS" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-BS" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-BB" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-BB" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-BB" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-BB" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-BZ" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-BZ" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-BZ" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-BZ" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-BJ" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-BJ" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-BJ" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-BJ" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-BM" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-BM" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-BM" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-BM" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-BQ" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-BQ" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-BQ" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-BQ" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-BW" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-BW" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-BW" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-BW" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-BN" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-BN" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-BN" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-BN" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-BF" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-BF" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-BF" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-BF" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-KH" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-KH" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-KH" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-KH" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-CM" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-CM" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-CM" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-CM" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-CV" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-CV" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-CV" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-CV" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-KY" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-KY" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-KY" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-KY" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-TD" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-TD" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-TD" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-TD" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-CX" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-CX" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-CX" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-CX" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-CC" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-CC" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-CC" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-CC" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-KM" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-KM" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-KM" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-KM" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-CG" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-CG" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-CG" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-CG" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-CK" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-CK" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-CK" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-CK" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-CI" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-CI" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-CI" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-CI" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-CW" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-CW" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-CW" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-CW" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-DJ" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-DJ" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-DJ" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-DJ" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-DM" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-DM" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-DM" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-DM" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-TL" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-TL" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-TL" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-TL" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-GQ" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-GQ" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-GQ" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-GQ" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-FO" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-FO" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-FO" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-FO" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-FJ" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-FJ" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-FJ" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-FJ" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-GF" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-GF" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-GF" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-GF" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-PF" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-PF" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-PF" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-PF" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-GA" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-GA" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-GA" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-GA" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-GM" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-GM" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-GM" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-GM" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-GH" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-GH" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-GH" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-GH" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-GL" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-GL" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-GL" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-GL" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-GD" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-GD" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-GD" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-GD" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-GP" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-GP" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-GP" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-GP" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-GU" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-GU" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-GU" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-GU" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-GG" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-GG" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-GG" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-GG" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-GY" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-GY" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-GY" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-GY" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-HT" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-HT" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-HT" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-HT" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-VA" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-VA" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-VA" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-VA" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-JM" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-JM" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-JM" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-JM" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-JE" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-JE" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-JE" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-JE" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-KE" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-KE" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-KE" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-KE" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-KI" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-KI" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-KI" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-KI" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-LS" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-LS" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-LS" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-LS" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-LR" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-LR" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-LR" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-LR" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-MG" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-MG" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-MG" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-MG" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-MW" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-MW" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-MW" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-MW" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-MV" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-MV" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-MV" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-MV" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-ML" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-ML" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-ML" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-ML" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-MH" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-MH" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-MH" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-MH" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-MQ" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-MQ" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-MQ" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-MQ" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-MR" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-MR" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-MR" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-MR" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-MU" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-MU" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-MU" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-MU" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-YT" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-YT" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-YT" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-YT" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-FM" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-FM" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-FM" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-FM" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-MS" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-MS" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-MS" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-MS" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-MZ" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-MZ" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-MZ" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-MZ" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-NA" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-NA" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-NA" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-NA" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-NR" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-NR" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-NR" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-NR" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-NC" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-NC" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-NC" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-NC" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-NE" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-NE" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-NE" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-NE" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-NU" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-NU" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-NU" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-NU" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-MP" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-MP" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-MP" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-MP" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-PW" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-PW" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-PW" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-PW" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-PG" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-PG" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-PG" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-PG" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-RE" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-RE" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-RE" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-RE" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-RW" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-RW" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-RW" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-RW" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-SH" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-SH" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-SH" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-SH" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-KN" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-KN" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-KN" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-KN" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-LC" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-LC" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-LC" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-LC" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-MF" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-MF" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-MF" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-MF" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-PM" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-PM" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-PM" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-PM" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-VC" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-VC" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-VC" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-VC" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-WS" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-WS" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-WS" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-WS" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-SM" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-SM" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-SM" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-SM" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-ST" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-ST" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-ST" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-ST" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-SN" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-SN" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-SN" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-SN" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-SC" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-SC" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-SC" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-SC" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-SL" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-SL" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-SL" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-SL" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-SB" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-SB" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-SB" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-SB" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-GS" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-GS" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-GS" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-GS" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-LK" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-LK" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-LK" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-LK" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-BL" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-BL" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-BL" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-BL" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-SX" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-SX" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-SX" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-SX" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-SR" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-SR" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-SR" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-SR" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-SZ" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-SZ" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-SZ" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-SZ" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-TZ" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-TZ" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-TZ" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-TZ" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-TG" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-TG" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-TG" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-TG" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-TK" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-TK" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-TK" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-TK" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-TO" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-TO" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-TO" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-TO" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-TT" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-TT" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-TT" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-TT" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-TC" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-TC" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-TC" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-TC" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-TV" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-TV" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-TV" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-TV" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-UG" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-UG" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-UG" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-UG" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-VU" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-VU" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-VU" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-VU" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-VG" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-VG" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-VG" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-VG" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-VI" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-VI" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-VI" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-VI" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-WF" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-WF" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-WF" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-WF" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-ZM" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-ZM" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-ZM" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-ZM" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-ZW" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-ZW" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-ZW" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-ZW" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-AX" href="https://www.zarahome.com/ww/" />
<link rel="alternate" hreflang="pt-AX" href="https://www.zarahome.com/ww/pt/" />
<link rel="alternate" hreflang="es-AX" href="https://www.zarahome.com/ww/es/" />
<link rel="alternate" hreflang="fr-AX" href="https://www.zarahome.com/ww/fr/" />
<link rel="alternate" hreflang="en-DZ" href="https://www.zarahome.com/dz/" />
<link rel="alternate" hreflang="es-AD" href="https://www.zarahome.com/ad/" />
<link rel="alternate" hreflang="fr-AD" href="https://www.zarahome.com/ad/fr/" />
<link rel="alternate" hreflang="en-AD" href="https://www.zarahome.com/ad/en/" />
<link rel="alternate" hreflang="en-AL" href="https://www.zarahome.com/al/" />
<link rel="alternate" hreflang="en-BH" href="https://www.zarahome.com/bh/" />
<link rel="alternate" hreflang="pt-BR" href="https://www.zarahome.com/br/" />
<link rel="alternate" hreflang="en-BR" href="https://www.zarahome.com/br/en/" />
<link rel="alternate" hreflang="en-RS" href="https://www.zarahome.com/rs/" />
<link rel="alternate" hreflang="es-CL" href="https://www.zarahome.com/cl/" />
<link rel="alternate" hreflang="en-CL" href="https://www.zarahome.com/cl/en/" />
<link rel="alternate" hreflang="es-CO" href="https://www.zarahome.com/co/" />
<link rel="alternate" hreflang="en-CO" href="https://www.zarahome.com/co/en/" />
<link rel="alternate" hreflang="es-CR" href="https://www.zarahome.com/cr/" />
<link rel="alternate" hreflang="en-CR" href="https://www.zarahome.com/cr/en/" />
<link rel="alternate" hreflang="en-EG" href="https://www.zarahome.com/eg/" />
<link rel="alternate" hreflang="es-GT" href="https://www.zarahome.com/gt/" />
<link rel="alternate" hreflang="en-GT" href="https://www.zarahome.com/gt/en/" />
<link rel="alternate" hreflang="es-HN" href="https://www.zarahome.com/hn/" />
<link rel="alternate" hreflang="en-HN" href="https://www.zarahome.com/hn/en/" />
<link rel="alternate" hreflang="en-ID" href="https://www.zarahome.com/id/" />
<link rel="alternate" hreflang="en-JO" href="https://www.zarahome.com/jo/" />
<link rel="alternate" hreflang="en-KW" href="https://www.zarahome.com/kw/" />
<link rel="alternate" hreflang="fr-MA" href="https://www.zarahome.com/ma/" />
<link rel="alternate" hreflang="en-MA" href="https://www.zarahome.com/ma/en/" />
<link rel="alternate" hreflang="en-OM" href="https://www.zarahome.com/om/" />
<link rel="alternate" hreflang="es-PA" href="https://www.zarahome.com/pa/" />
<link rel="alternate" hreflang="en-PA" href="https://www.zarahome.com/pa/en/" />
<link rel="alternate" hreflang="es-PY" href="https://www.zarahome.com/py/" />
<link rel="alternate" hreflang="en-PY" href="https://www.zarahome.com/py/en/" />
<link rel="alternate" hreflang="es-PE" href="https://www.zarahome.com/pe/" />
<link rel="alternate" hreflang="en-PE" href="https://www.zarahome.com/pe/en/" />
<link rel="alternate" hreflang="en-QA" href="https://www.zarahome.com/qa/" />
<link rel="alternate" hreflang="es-DO" href="https://www.zarahome.com/do/" />
<link rel="alternate" hreflang="en-DO" href="https://www.zarahome.com/do/en/" />
<link rel="alternate" hreflang="en-SA" href="https://www.zarahome.com/sa/" />
<link rel="alternate" hreflang="en-ZA" href="https://www.zarahome.com/za/" />
<link rel="alternate" hreflang="en-TH" href="https://www.zarahome.com/th/" />
<link rel="alternate" hreflang="en-TN" href="https://www.zarahome.com/tn/" />
<link rel="alternate" hreflang="fr-TN" href="https://www.zarahome.com/tn/fr/" />
<link rel="alternate" hreflang="en-UA" href="https://www.zarahome.com/ua/" />
<link rel="alternate" hreflang="ru-UA" href="https://www.zarahome.com/ua/ru/" />
<link rel="alternate" hreflang="es-UY" href="https://www.zarahome.com/uy/" />
<link rel="alternate" hreflang="en-UY" href="https://www.zarahome.com/uy/en/" />
<link rel="alternate" hreflang="en-CY" href="https://www.zarahome.com/cy/" />
<link rel="alternate" hreflang="ru-BY" href="https://www.zarahome.com/by/" />
<link rel="alternate" hreflang="en-BY" href="https://www.zarahome.com/by/en/" />
<link rel="alternate" hreflang="en-KZ" href="https://www.zarahome.com/kz/" />
<link rel="alternate" hreflang="en-AM" href="https://www.zarahome.com/am/" />
<link rel="alternate" hreflang="en-IL" href="https://www.zarahome.com/il/" />
<link rel="alternate" hreflang="en-GE" href="https://www.zarahome.com/ge/" />
<link rel="alternate" hreflang="en-AU" href="https://www.zarahome.com/au/" />
<link rel="alternate" hreflang="en-LB" href="https://www.zarahome.com/lb/" />


<!-- BEGIN SPOT=ZH4_ESpot_HeadBegin -->
<meta name="google-site-verification" content="JHOUm5iqm8hzNqConkDY2PEQAz_BYabsw31YV_2jivk" />

<meta name="google-site-verification" content="BFyI4B4obWspiKJqCVcSaaHT390jzpOPQ0tTcciva1o" />
<meta name="google-site-verification" content="EOiWwVALPWVTKBVFuXy-ARptNcKYsKHo4jgQC3EgL70" /><meta name="google-site-verification" content="SFEkj7Si0UC3qlnvVyhhTqfzJw37pEeS0IYnNNQfmZk"><meta name="msvalidate.01" content="E882F0FDB9F2660E2F470944111EBC02" /><!--<link rel="manifest" href="https://static.zarahome.net/8/static4/itxwebstandard/manifest/manifest.json?t=201904230220011176774530">-->
<!--FLEXSLIDER-->
<!-- <link rel="preload" href="https://static.zarahome.net/8/static4/itxwebstandard/css/style/flexslider.css?t=201904230220011176774530" as="style">
<link rel="stylesheet" type="text/css" href="https://static.zarahome.net/8/static4/itxwebstandard/css/style/flexslider.css?t=201904230220011176774530"> -->
<!------------------------------------------------------------------------------------------------------------------------------------------------->

<!--REBAJAS-->
<!-- <link rel="preload" href="https://static.zarahome.net/8/static4/itxwebstandard/promos/Rebajas_I18/style/styleRebajas.css?t=201904230220011176774530" as="style">
<link rel="stylesheet" type="text/css" href="https://static.zarahome.net/8/static4/itxwebstandard/promos/Rebajas_I18/style/styleRebajas.css?t=201904230220011176774530"> -->
<!------------------------------------------------------------------------------------------------------------------------------------------------->

<!--FUENTES-->
<link rel="preload" href="https://static.zarahome.net/8/static4/itxwebstandard/css/fonts/fonts.css?t=201904230220011176774530" as="style">
<link rel="stylesheet" type="text/css" href="https://static.zarahome.net/8/static4/itxwebstandard/css/fonts/fonts.css?t=201904230220011176774530">
<!------------------------------------------------------------------------------------------------------------------------------------------------->

<!--HOME-->
<link rel="preload" href="https://static.zarahome.net/8/static4/itxwebstandard/homes/HomeAbril/style/styleHome.min.css?t=201904230220011176774530" as="style">
<link rel="stylesheet" type="text/css" href="https://static.zarahome.net/8/static4/itxwebstandard/homes/HomeAbril/style/styleHome.min.css?t=201904230220011176774530">
<!-------------------------------------------------------------------------------------------------------------------------------------------------><style>
@font-face{font-family:Roboto;font-style:italic;font-weight:100;src:local('Roboto Thin Italic'),local('Roboto-ThinItalic'),url(https://fonts.gstatic.com/s/roboto/v18/KFOiCnqEu92Fr1Mu51QrEz0dL_nz.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Roboto;font-style:italic;font-weight:100;src:local('Roboto Thin Italic'),local('Roboto-ThinItalic'),url(https://fonts.gstatic.com/s/roboto/v18/KFOiCnqEu92Fr1Mu51QrEzQdL_nz.woff2) format('woff2');unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Roboto;font-style:italic;font-weight:100;src:local('Roboto Thin Italic'),local('Roboto-ThinItalic'),url(https://fonts.gstatic.com/s/roboto/v18/KFOiCnqEu92Fr1Mu51QrEzwdL_nz.woff2) format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:Roboto;font-style:italic;font-weight:100;src:local('Roboto Thin Italic'),local('Roboto-ThinItalic'),url(https://fonts.gstatic.com/s/roboto/v18/KFOiCnqEu92Fr1Mu51QrEzMdL_nz.woff2) format('woff2');unicode-range:U+0370-03FF}@font-face{font-family:Roboto;font-style:italic;font-weight:100;src:local('Roboto Thin Italic'),local('Roboto-ThinItalic'),url(https://fonts.gstatic.com/s/roboto/v18/KFOiCnqEu92Fr1Mu51QrEz8dL_nz.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+1EA0-1EF9,U+20AB}@font-face{font-family:Roboto;font-style:italic;font-weight:100;src:local('Roboto Thin Italic'),local('Roboto-ThinItalic'),url(https://fonts.gstatic.com/s/roboto/v18/KFOiCnqEu92Fr1Mu51QrEz4dL_nz.woff2) format('woff2');unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Roboto;font-style:italic;font-weight:100;src:local('Roboto Thin Italic'),local('Roboto-ThinItalic'),url(https://fonts.gstatic.com/s/roboto/v18/KFOiCnqEu92Fr1Mu51QrEzAdLw.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto;font-style:italic;font-weight:300;src:local('Roboto Light Italic'),local('Roboto-LightItalic'),url(https://fonts.gstatic.com/s/roboto/v18/KFOjCnqEu92Fr1Mu51TjASc3CsTKlA.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Roboto;font-style:italic;font-weight:300;src:local('Roboto Light Italic'),local('Roboto-LightItalic'),url(https://fonts.gstatic.com/s/roboto/v18/KFOjCnqEu92Fr1Mu51TjASc-CsTKlA.woff2) format('woff2');unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Roboto;font-style:italic;font-weight:300;src:local('Roboto Light Italic'),local('Roboto-LightItalic'),url(https://fonts.gstatic.com/s/roboto/v18/KFOjCnqEu92Fr1Mu51TjASc2CsTKlA.woff2) format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:Roboto;font-style:italic;font-weight:300;src:local('Roboto Light Italic'),local('Roboto-LightItalic'),url(https://fonts.gstatic.com/s/roboto/v18/KFOjCnqEu92Fr1Mu51TjASc5CsTKlA.woff2) format('woff2');unicode-range:U+0370-03FF}@font-face{font-family:Roboto;font-style:italic;font-weight:300;src:local('Roboto Light Italic'),local('Roboto-LightItalic'),url(https://fonts.gstatic.com/s/roboto/v18/KFOjCnqEu92Fr1Mu51TjASc1CsTKlA.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+1EA0-1EF9,U+20AB}@font-face{font-family:Roboto;font-style:italic;font-weight:300;src:local('Roboto Light Italic'),local('Roboto-LightItalic'),url(https://fonts.gstatic.com/s/roboto/v18/KFOjCnqEu92Fr1Mu51TjASc0CsTKlA.woff2) format('woff2');unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Roboto;font-style:italic;font-weight:300;src:local('Roboto Light Italic'),local('Roboto-LightItalic'),url(https://fonts.gstatic.com/s/roboto/v18/KFOjCnqEu92Fr1Mu51TjASc6CsQ.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto;font-style:italic;font-weight:400;src:local('Roboto Italic'),local('Roboto-Italic'),url(https://fonts.gstatic.com/s/roboto/v18/KFOkCnqEu92Fr1Mu51xFIzIFKw.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Roboto;font-style:italic;font-weight:400;src:local('Roboto Italic'),local('Roboto-Italic'),url(https://fonts.gstatic.com/s/roboto/v18/KFOkCnqEu92Fr1Mu51xMIzIFKw.woff2) format('woff2');unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Roboto;font-style:italic;font-weight:400;src:local('Roboto Italic'),local('Roboto-Italic'),url(https://fonts.gstatic.com/s/roboto/v18/KFOkCnqEu92Fr1Mu51xEIzIFKw.woff2) format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:Roboto;font-style:italic;font-weight:400;src:local('Roboto Italic'),local('Roboto-Italic'),url(https://fonts.gstatic.com/s/roboto/v18/KFOkCnqEu92Fr1Mu51xLIzIFKw.woff2) format('woff2');unicode-range:U+0370-03FF}@font-face{font-family:Roboto;font-style:italic;font-weight:400;src:local('Roboto Italic'),local('Roboto-Italic'),url(https://fonts.gstatic.com/s/roboto/v18/KFOkCnqEu92Fr1Mu51xHIzIFKw.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+1EA0-1EF9,U+20AB}@font-face{font-family:Roboto;font-style:italic;font-weight:400;src:local('Roboto Italic'),local('Roboto-Italic'),url(https://fonts.gstatic.com/s/roboto/v18/KFOkCnqEu92Fr1Mu51xGIzIFKw.woff2) format('woff2');unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Roboto;font-style:italic;font-weight:400;src:local('Roboto Italic'),local('Roboto-Italic'),url(https://fonts.gstatic.com/s/roboto/v18/KFOkCnqEu92Fr1Mu51xIIzI.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto;font-style:italic;font-weight:500;src:local('Roboto Medium Italic'),local('Roboto-MediumItalic'),url(https://fonts.gstatic.com/s/roboto/v18/KFOjCnqEu92Fr1Mu51S7ACc3CsTKlA.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Roboto;font-style:italic;font-weight:500;src:local('Roboto Medium Italic'),local('Roboto-MediumItalic'),url(https://fonts.gstatic.com/s/roboto/v18/KFOjCnqEu92Fr1Mu51S7ACc-CsTKlA.woff2) format('woff2');unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Roboto;font-style:italic;font-weight:500;src:local('Roboto Medium Italic'),local('Roboto-MediumItalic'),url(https://fonts.gstatic.com/s/roboto/v18/KFOjCnqEu92Fr1Mu51S7ACc2CsTKlA.woff2) format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:Roboto;font-style:italic;font-weight:500;src:local('Roboto Medium Italic'),local('Roboto-MediumItalic'),url(https://fonts.gstatic.com/s/roboto/v18/KFOjCnqEu92Fr1Mu51S7ACc5CsTKlA.woff2) format('woff2');unicode-range:U+0370-03FF}@font-face{font-family:Roboto;font-style:italic;font-weight:500;src:local('Roboto Medium Italic'),local('Roboto-MediumItalic'),url(https://fonts.gstatic.com/s/roboto/v18/KFOjCnqEu92Fr1Mu51S7ACc1CsTKlA.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+1EA0-1EF9,U+20AB}@font-face{font-family:Roboto;font-style:italic;font-weight:500;src:local('Roboto Medium Italic'),local('Roboto-MediumItalic'),url(https://fonts.gstatic.com/s/roboto/v18/KFOjCnqEu92Fr1Mu51S7ACc0CsTKlA.woff2) format('woff2');unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Roboto;font-style:italic;font-weight:500;src:local('Roboto Medium Italic'),local('Roboto-MediumItalic'),url(https://fonts.gstatic.com/s/roboto/v18/KFOjCnqEu92Fr1Mu51S7ACc6CsQ.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto;font-style:italic;font-weight:700;src:local('Roboto Bold Italic'),local('Roboto-BoldItalic'),url(https://fonts.gstatic.com/s/roboto/v18/KFOjCnqEu92Fr1Mu51TzBic3CsTKlA.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Roboto;font-style:italic;font-weight:700;src:local('Roboto Bold Italic'),local('Roboto-BoldItalic'),url(https://fonts.gstatic.com/s/roboto/v18/KFOjCnqEu92Fr1Mu51TzBic-CsTKlA.woff2) format('woff2');unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Roboto;font-style:italic;font-weight:700;src:local('Roboto Bold Italic'),local('Roboto-BoldItalic'),url(https://fonts.gstatic.com/s/roboto/v18/KFOjCnqEu92Fr1Mu51TzBic2CsTKlA.woff2) format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:Roboto;font-style:italic;font-weight:700;src:local('Roboto Bold Italic'),local('Roboto-BoldItalic'),url(https://fonts.gstatic.com/s/roboto/v18/KFOjCnqEu92Fr1Mu51TzBic5CsTKlA.woff2) format('woff2');unicode-range:U+0370-03FF}@font-face{font-family:Roboto;font-style:italic;font-weight:700;src:local('Roboto Bold Italic'),local('Roboto-BoldItalic'),url(https://fonts.gstatic.com/s/roboto/v18/KFOjCnqEu92Fr1Mu51TzBic1CsTKlA.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+1EA0-1EF9,U+20AB}@font-face{font-family:Roboto;font-style:italic;font-weight:700;src:local('Roboto Bold Italic'),local('Roboto-BoldItalic'),url(https://fonts.gstatic.com/s/roboto/v18/KFOjCnqEu92Fr1Mu51TzBic0CsTKlA.woff2) format('woff2');unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Roboto;font-style:italic;font-weight:700;src:local('Roboto Bold Italic'),local('Roboto-BoldItalic'),url(https://fonts.gstatic.com/s/roboto/v18/KFOjCnqEu92Fr1Mu51TzBic6CsQ.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto;font-style:italic;font-weight:900;src:local('Roboto Black Italic'),local('Roboto-BlackItalic'),url(https://fonts.gstatic.com/s/roboto/v18/KFOjCnqEu92Fr1Mu51TLBCc3CsTKlA.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Roboto;font-style:italic;font-weight:900;src:local('Roboto Black Italic'),local('Roboto-BlackItalic'),url(https://fonts.gstatic.com/s/roboto/v18/KFOjCnqEu92Fr1Mu51TLBCc-CsTKlA.woff2) format('woff2');unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Roboto;font-style:italic;font-weight:900;src:local('Roboto Black Italic'),local('Roboto-BlackItalic'),url(https://fonts.gstatic.com/s/roboto/v18/KFOjCnqEu92Fr1Mu51TLBCc2CsTKlA.woff2) format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:Roboto;font-style:italic;font-weight:900;src:local('Roboto Black Italic'),local('Roboto-BlackItalic'),url(https://fonts.gstatic.com/s/roboto/v18/KFOjCnqEu92Fr1Mu51TLBCc5CsTKlA.woff2) format('woff2');unicode-range:U+0370-03FF}@font-face{font-family:Roboto;font-style:italic;font-weight:900;src:local('Roboto Black Italic'),local('Roboto-BlackItalic'),url(https://fonts.gstatic.com/s/roboto/v18/KFOjCnqEu92Fr1Mu51TLBCc1CsTKlA.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+1EA0-1EF9,U+20AB}@font-face{font-family:Roboto;font-style:italic;font-weight:900;src:local('Roboto Black Italic'),local('Roboto-BlackItalic'),url(https://fonts.gstatic.com/s/roboto/v18/KFOjCnqEu92Fr1Mu51TLBCc0CsTKlA.woff2) format('woff2');unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Roboto;font-style:italic;font-weight:900;src:local('Roboto Black Italic'),local('Roboto-BlackItalic'),url(https://fonts.gstatic.com/s/roboto/v18/KFOjCnqEu92Fr1Mu51TLBCc6CsQ.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto;font-style:normal;font-weight:100;src:local('Roboto Thin'),local('Roboto-Thin'),url(https://fonts.gstatic.com/s/roboto/v18/KFOkCnqEu92Fr1MmgVxFIzIFKw.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Roboto;font-style:normal;font-weight:100;src:local('Roboto Thin'),local('Roboto-Thin'),url(https://fonts.gstatic.com/s/roboto/v18/KFOkCnqEu92Fr1MmgVxMIzIFKw.woff2) format('woff2');unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Roboto;font-style:normal;font-weight:100;src:local('Roboto Thin'),local('Roboto-Thin'),url(https://fonts.gstatic.com/s/roboto/v18/KFOkCnqEu92Fr1MmgVxEIzIFKw.woff2) format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:Roboto;font-style:normal;font-weight:100;src:local('Roboto Thin'),local('Roboto-Thin'),url(https://fonts.gstatic.com/s/roboto/v18/KFOkCnqEu92Fr1MmgVxLIzIFKw.woff2) format('woff2');unicode-range:U+0370-03FF}@font-face{font-family:Roboto;font-style:normal;font-weight:100;src:local('Roboto Thin'),local('Roboto-Thin'),url(https://fonts.gstatic.com/s/roboto/v18/KFOkCnqEu92Fr1MmgVxHIzIFKw.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+1EA0-1EF9,U+20AB}@font-face{font-family:Roboto;font-style:normal;font-weight:100;src:local('Roboto Thin'),local('Roboto-Thin'),url(https://fonts.gstatic.com/s/roboto/v18/KFOkCnqEu92Fr1MmgVxGIzIFKw.woff2) format('woff2');unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Roboto;font-style:normal;font-weight:100;src:local('Roboto Thin'),local('Roboto-Thin'),url(https://fonts.gstatic.com/s/roboto/v18/KFOkCnqEu92Fr1MmgVxIIzI.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto;font-style:normal;font-weight:300;src:local('Roboto Light'),local('Roboto-Light'),url(https://fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmSU5fCRc4EsA.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Roboto;font-style:normal;font-weight:300;src:local('Roboto Light'),local('Roboto-Light'),url(https://fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmSU5fABc4EsA.woff2) format('woff2');unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Roboto;font-style:normal;font-weight:300;src:local('Roboto Light'),local('Roboto-Light'),url(https://fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmSU5fCBc4EsA.woff2) format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:Roboto;font-style:normal;font-weight:300;src:local('Roboto Light'),local('Roboto-Light'),url(https://fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmSU5fBxc4EsA.woff2) format('woff2');unicode-range:U+0370-03FF}@font-face{font-family:Roboto;font-style:normal;font-weight:300;src:local('Roboto Light'),local('Roboto-Light'),url(https://fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmSU5fCxc4EsA.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+1EA0-1EF9,U+20AB}@font-face{font-family:Roboto;font-style:normal;font-weight:300;src:local('Roboto Light'),local('Roboto-Light'),url(https://fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmSU5fChc4EsA.woff2) format('woff2');unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Roboto;font-style:normal;font-weight:300;src:local('Roboto Light'),local('Roboto-Light'),url(https://fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmSU5fBBc4.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto;font-style:normal;font-weight:400;src:local('Roboto'),local('Roboto-Regular'),url(https://fonts.gstatic.com/s/roboto/v18/KFOmCnqEu92Fr1Mu72xKOzY.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Roboto;font-style:normal;font-weight:400;src:local('Roboto'),local('Roboto-Regular'),url(https://fonts.gstatic.com/s/roboto/v18/KFOmCnqEu92Fr1Mu5mxKOzY.woff2) format('woff2');unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Roboto;font-style:normal;font-weight:400;src:local('Roboto'),local('Roboto-Regular'),url(https://fonts.gstatic.com/s/roboto/v18/KFOmCnqEu92Fr1Mu7mxKOzY.woff2) format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:Roboto;font-style:normal;font-weight:400;src:local('Roboto'),local('Roboto-Regular'),url(https://fonts.gstatic.com/s/roboto/v18/KFOmCnqEu92Fr1Mu4WxKOzY.woff2) format('woff2');unicode-range:U+0370-03FF}@font-face{font-family:Roboto;font-style:normal;font-weight:400;src:local('Roboto'),local('Roboto-Regular'),url(https://fonts.gstatic.com/s/roboto/v18/KFOmCnqEu92Fr1Mu7WxKOzY.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+1EA0-1EF9,U+20AB}@font-face{font-family:Roboto;font-style:normal;font-weight:400;src:local('Roboto'),local('Roboto-Regular'),url(https://fonts.gstatic.com/s/roboto/v18/KFOmCnqEu92Fr1Mu7GxKOzY.woff2) format('woff2');unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Roboto;font-style:normal;font-weight:400;src:local('Roboto'),local('Roboto-Regular'),url(https://fonts.gstatic.com/s/roboto/v18/KFOmCnqEu92Fr1Mu4mxK.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto;font-style:normal;font-weight:500;src:local('Roboto Medium'),local('Roboto-Medium'),url(https://fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmEU9fCRc4EsA.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Roboto;font-style:normal;font-weight:500;src:local('Roboto Medium'),local('Roboto-Medium'),url(https://fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmEU9fABc4EsA.woff2) format('woff2');unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Roboto;font-style:normal;font-weight:500;src:local('Roboto Medium'),local('Roboto-Medium'),url(https://fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmEU9fCBc4EsA.woff2) format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:Roboto;font-style:normal;font-weight:500;src:local('Roboto Medium'),local('Roboto-Medium'),url(https://fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmEU9fBxc4EsA.woff2) format('woff2');unicode-range:U+0370-03FF}@font-face{font-family:Roboto;font-style:normal;font-weight:500;src:local('Roboto Medium'),local('Roboto-Medium'),url(https://fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmEU9fCxc4EsA.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+1EA0-1EF9,U+20AB}@font-face{font-family:Roboto;font-style:normal;font-weight:500;src:local('Roboto Medium'),local('Roboto-Medium'),url(https://fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmEU9fChc4EsA.woff2) format('woff2');unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Roboto;font-style:normal;font-weight:500;src:local('Roboto Medium'),local('Roboto-Medium'),url(https://fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmEU9fBBc4.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto;font-style:normal;font-weight:700;src:local('Roboto Bold'),local('Roboto-Bold'),url(https://fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmWUlfCRc4EsA.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Roboto;font-style:normal;font-weight:700;src:local('Roboto Bold'),local('Roboto-Bold'),url(https://fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmWUlfABc4EsA.woff2) format('woff2');unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Roboto;font-style:normal;font-weight:700;src:local('Roboto Bold'),local('Roboto-Bold'),url(https://fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmWUlfCBc4EsA.woff2) format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:Roboto;font-style:normal;font-weight:700;src:local('Roboto Bold'),local('Roboto-Bold'),url(https://fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmWUlfBxc4EsA.woff2) format('woff2');unicode-range:U+0370-03FF}@font-face{font-family:Roboto;font-style:normal;font-weight:700;src:local('Roboto Bold'),local('Roboto-Bold'),url(https://fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmWUlfCxc4EsA.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+1EA0-1EF9,U+20AB}@font-face{font-family:Roboto;font-style:normal;font-weight:700;src:local('Roboto Bold'),local('Roboto-Bold'),url(https://fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmWUlfChc4EsA.woff2) format('woff2');unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Roboto;font-style:normal;font-weight:700;src:local('Roboto Bold'),local('Roboto-Bold'),url(https://fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmWUlfBBc4.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto;font-style:normal;font-weight:900;src:local('Roboto Black'),local('Roboto-Black'),url(https://fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmYUtfCRc4EsA.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Roboto;font-style:normal;font-weight:900;src:local('Roboto Black'),local('Roboto-Black'),url(https://fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmYUtfABc4EsA.woff2) format('woff2');unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Roboto;font-style:normal;font-weight:900;src:local('Roboto Black'),local('Roboto-Black'),url(https://fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmYUtfCBc4EsA.woff2) format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:Roboto;font-style:normal;font-weight:900;src:local('Roboto Black'),local('Roboto-Black'),url(https://fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmYUtfBxc4EsA.woff2) format('woff2');unicode-range:U+0370-03FF}@font-face{font-family:Roboto;font-style:normal;font-weight:900;src:local('Roboto Black'),local('Roboto-Black'),url(https://fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmYUtfCxc4EsA.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+1EA0-1EF9,U+20AB}@font-face{font-family:Roboto;font-style:normal;font-weight:900;src:local('Roboto Black'),local('Roboto-Black'),url(https://fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmYUtfChc4EsA.woff2) format('woff2');unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Roboto;font-style:normal;font-weight:900;src:local('Roboto Black'),local('Roboto-Black'),url(https://fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmYUtfBBc4.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
</style>
<!-- END SPOT=ZH4_ESpot_HeadBegin -->

<!-- BEGIN SPOT=ZH4_ESpot_HomePageHead -->

<!-- END SPOT=ZH4_ESpot_HomePageHead -->


<link rel="stylesheet" type="text/css" href="/static/itxwebstandard/css/itx-core-main.min.css?t=2019041110311151db1176774530" />
<link rel="stylesheet" type="text/css" href="https://static.zarahome.net/8/static4/itxwebstandard/css/itx-custom-main.min.css?t=201904230220011176774530" />

<script type="text/javascript" src="/static/itxwebstandard/js/itx-core-api.min.js?t=2019041110311151db1176774530" crossorigin="anonymous"></script>
<script type="text/javascript" src="/static/itxwebstandard/js/rest-map.min.js?t=2019041110311151db1176774530"></script>
<script type="text/javascript" src="/static/itxwebstandard/js/84009907/-1/80290024/ZH4_ESpot_I18N.min.js?t=201904230220011176774530" crossorigin="anonymous"></script>

<!-- Begin JS Attachments -->
<!-- End JS Attachments -->

<!-- Begin CSS Attachments -->
<!-- End CSS Attachments -->




<script type="text/javascript" crossorigin="anonymous">
	inditex.iBrand = "zarahome";
	inditex.iBrandId = 8;
	inditex.iIsMobile = false;
	inditex.iIsMobileOn = false;
	inditex.iPage = "ItxHomePage";
	inditex.iParams = {"storeId":["84009907"]};
	inditex.iStoreId = 84009907;
	inditex.iStoreIdentifier = "ZaraHomeIE";
	inditex.iLangId = -1;
	inditex.iCatalogId = 80290024;
	inditex.iLayout = "itxwebstandard";
	inditex.iRegistryTs = "201904230220011176774530";
	inditex.iCustomTs = "2019041110311151db1176774530";
	inditex.iProxyHostMobile = "www.zarahome.com";
	inditex.iProxyHostStandard = "www.zarahome.com";
	inditex.iProxyPortMobile = 80;
	inditex.iProxyPortStandard = 80;
	inditex.iProxySecurePortMobile = 443;
	inditex.iProxySecurePortStandard = 443;
	inditex.iProxyContextPathMobile = "/";
	inditex.iProxyContextPathStandard = "/";
	inditex.iSecureSet = ["ItxOrderLogonPage","ItxShopCartPage","ItxResetPasswordPage","ItxChangePassword","ItxCheckoutPage","ItxPurchaseTunnelPage","ItxIFrameHelperPage"];
	inditex.iLocale = "en_IE";
	inditex.iCountryCode = "IE";
	inditex.iCountryName = "Ireland";
	inditex.iSpotPrefix = "ZH4_ESpot_";
	inditex.iCategoryId = null;
	inditex.iCategoryKey = null;
	inditex.iProductId = null;
	inditex.iMaxLastProductListLength = 10;
	inditex.iAsyncPaymentPollingTries = 5;
	inditex.iAsyncPaymentPollingInterval = 5000;
	inditex.iGoogleMapsUser = "gme-itxecommerceireland";
	inditex.iGoogleMapsKey = "ABQIAAAAuLM0t2_kkFjBTv19NCnv4xQ1eARysJDSA6Rsmys1__vV4q3ogRSAPpMJQEtE6PZS8bUt68TqwWpmdA";
	inditex.iGoogleMapsChannel = "ZaraHome";
	inditex.iGaKeyAnt = "UA-2143769-1";
	inditex.iGaKey1 = null;
	inditex.iGaKey2 = null;
    inditex.iGooglePlacesKey = null;
	inditex.iGooglePlacesEnabled = true;
	inditex.iEnableGoogleMapsCountryRestriction = false;
	inditex.iGoogleMapsVersion = "3";
	inditex.iGaDomain = ".www.zarahome.com";
	inditex.iEnableUniversalAnalytics = null;
	inditex.iAppId = 1;
	inditex.iIsWebResponsive = true;
	inditex.iSolrPublicUrlServer = "www.zarahome.com/data";
	inditex.iTmpUrlLangStandard = true;
	inditex.iTmpUrlLangMobile = true;
	inditex.iMaxProductsShopCart = 25;
	inditex.iMaxProductsRegShopCart = 70;
	inditex.iMaxProductsBussinessShopCart = 1000;
	inditex.iMaxProductsWishList = 1000;
	inditex.iGoogleMapsRegexPublic = "^$";
	inditex.iSecureEnabled = true;
	inditex.iBaiduMapsKey = "";
	inditex.iBaiduHttps = false;
	inditex.iMapLocationFromStoreEnabled = true;
	inditex.iSequenceFromStockEnabled = true;
    inditex.iEnableOptimizelyAnalyticsIntegration = false;
    inditex.iParseMspotEnabled = true;
    inditex.iGoogleMapsRegion = false;
    inditex.iGoogleMapsLanguage = false;
    inditex.iSafeCartEnabled = true;
    inditex.iMpulseEnabled = true;
    inditex.iProxyRestContextPathMobile = "/itxrest/";
	inditex.iProxyRestContextPathStandard = "/itxrest/";
	inditex.iRestVersion = "2";
	inditex.iRemoveCategoryRequest = false;
	inditex.iPhysicalStore = null;
	inditex.iCityStores = null;
	inditex.iUnifiedProductUrlEnabled = false;
	inditex.iWebChatAsyncEnabled = false
	inditex.iUnifiedCategoryUrlEnabled = false;
	inditex.iNewSearchPageEnabled = false;
	inditex.iSearchTerm = null;
	inditex.iIMUTCCookieTTL = 365;
	inditex.iWebJsRedirectStoreDisabled = false;
	inditex.iFrontVersion = "8.2.0.2";
</script>

<!-- Google Analytics -->
	<script type="text/javascript">
		var _gaq = _gaq || [];
		window['ga-disable-'+inditex.iGaKeyAnt] = true; 
		(function() {
			var ga = document.createElement('script');
			ga.type = 'text/javascript';
			ga.crossorigin = 'anonymous';
			ga.async = true;
			ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
			var s = document.getElementsByTagName('script')[0];
			s.parentNode.insertBefore(ga, s);
		})();
	</script>
<!-- End Google Analytics -->
<!-- END pre-common head -->
        <base href="/">
<meta name="HandheldFriendly" content="True">
<meta name="MobileOptimized" content="320">
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1, maximum-scale=1">
<meta http-equiv="Cache-control" content="max-age=3600">
<link rel="apple-touch-icon" sizes="57x57" href="/static/itxwebstandard/images/zh_webmobile_icon_57x57.png?t=2019041110311151db1176774530">
<link rel="apple-touch-icon" sizes="114x114" href="/static/itxwebstandard/images/zh_webmobile_icon_114x114.png?t=2019041110311151db1176774530">
<link rel="apple-touch-icon" sizes="1024x1024" href="/static/itxwebstandard/images/zh_webmobile_icon_1024x1024.png?t=2019041110311151db1176774530">
<link rel='shortcut icon' type='image/x-icon' sizes="32x32" href="/static/itxwebstandard/images/favicon.ico?t=2019041110311151db1176774530" />
<link rel="shortcut icon" type="image/png" sizes="32x32" href="/static/itxwebstandard/images/favicon.png?t=2019041110311151db1176774530"/>

<!-- BEGIN SPOT=ZH4_ESpot_HeadLibs -->
<script>
(function(){var n,t=200,r="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",e="Expected a function",u="__lodash_hash_undefined__",i=500,o="__lodash_placeholder__",f=1,a=2,c=4,l=1,s=2,h=1,p=2,v=4,_=8,g=16,y=32,d=64,b=128,w=256,m=512,x=30,j="...",A=800,k=16,O=1,I=2,R=1/0,z=9007199254740991,E=1.7976931348623157e308,S=NaN,W=4294967295,L=W-1,C=W>>>1,U=[["ary",b],["bind",h],["bindKey",p],["curry",_],["curryRight",g],["flip",m],["partial",y],["partialRight",d],["rearg",w]],B="[object Arguments]",T="[object Array]",$="[object AsyncFunction]",D="[object Boolean]",M="[object Date]",F="[object DOMException]",N="[object Error]",P="[object Function]",q="[object GeneratorFunction]",Z="[object Map]",K="[object Number]",V="[object Null]",G="[object Object]",H="[object Promise]",J="[object Proxy]",Y="[object RegExp]",Q="[object Set]",X="[object String]",nn="[object Symbol]",tn="[object Undefined]",rn="[object WeakMap]",en="[object WeakSet]",un="[object ArrayBuffer]",on="[object DataView]",fn="[object Float32Array]",an="[object Float64Array]",cn="[object Int8Array]",ln="[object Int16Array]",sn="[object Int32Array]",hn="[object Uint8Array]",pn="[object Uint8ClampedArray]",vn="[object Uint16Array]",_n="[object Uint32Array]",gn=/\b__p \+= '';/g,yn=/\b(__p \+=) '' \+/g,dn=/(__e\(.*?\)|\b__t\)) \+\n'';/g,bn=/&(?:amp|lt|gt|quot|#39);/g,wn=/[&<>"']/g,mn=RegExp(bn.source),xn=RegExp(wn.source),jn=/<%-([\s\S]+?)%>/g,An=/<%([\s\S]+?)%>/g,kn=/<%=([\s\S]+?)%>/g,On=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,In=/^\w*$/,Rn=/^\./,zn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,En=/[\\^$.*+?()[\]{}|]/g,Sn=RegExp(En.source),Wn=/^\s+|\s+$/g,Ln=/^\s+/,Cn=/\s+$/,Un=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Bn=/\{\n\/\* \[wrapped with (.+)\] \*/,Tn=/,? & /,$n=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Dn=/\\(\\)?/g,Mn=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Fn=/\w*$/,Nn=/^[-+]0x[0-9a-f]+$/i,Pn=/^0b[01]+$/i,qn=/^\[object .+?Constructor\]$/,Zn=/^0o[0-7]+$/i,Kn=/^(?:0|[1-9]\d*)$/,Vn=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Gn=/($^)/,Hn=/['\n\r\u2028\u2029\\]/g,Jn="\\ud800-\\udfff",Yn="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Qn="\\u2700-\\u27bf",Xn="a-z\\xdf-\\xf6\\xf8-\\xff",nt="A-Z\\xc0-\\xd6\\xd8-\\xde",tt="\\ufe0e\\ufe0f",rt="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",et="['’]",ut="["+Jn+"]",it="["+rt+"]",ot="["+Yn+"]",ft="\\d+",at="["+Qn+"]",ct="["+Xn+"]",lt="[^"+Jn+rt+ft+Qn+Xn+nt+"]",st="\\ud83c[\\udffb-\\udfff]",ht="[^"+Jn+"]",pt="(?:\\ud83c[\\udde6-\\uddff]){2}",vt="[\\ud800-\\udbff][\\udc00-\\udfff]",_t="["+nt+"]",gt="\\u200d",yt="(?:"+ct+"|"+lt+")",dt="(?:"+_t+"|"+lt+")",bt="(?:['’](?:d|ll|m|re|s|t|ve))?",wt="(?:['’](?:D|LL|M|RE|S|T|VE))?",mt="(?:"+ot+"|"+st+")"+"?",xt="["+tt+"]?",jt=xt+mt+("(?:"+gt+"(?:"+[ht,pt,vt].join("|")+")"+xt+mt+")*"),At="(?:"+[at,pt,vt].join("|")+")"+jt,kt="(?:"+[ht+ot+"?",ot,pt,vt,ut].join("|")+")",Ot=RegExp(et,"g"),It=RegExp(ot,"g"),Rt=RegExp(st+"(?="+st+")|"+kt+jt,"g"),zt=RegExp([_t+"?"+ct+"+"+bt+"(?="+[it,_t,"$"].join("|")+")",dt+"+"+wt+"(?="+[it,_t+yt,"$"].join("|")+")",_t+"?"+yt+"+"+bt,_t+"+"+wt,"\\d*(?:(?:1ST|2ND|3RD|(?![123])\\dTH)\\b)","\\d*(?:(?:1st|2nd|3rd|(?![123])\\dth)\\b)",ft,At].join("|"),"g"),Et=RegExp("["+gt+Jn+Yn+tt+"]"),St=/[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Wt=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Lt=-1,Ct={};Ct[fn]=Ct[an]=Ct[cn]=Ct[ln]=Ct[sn]=Ct[hn]=Ct[pn]=Ct[vn]=Ct[_n]=!0,Ct[B]=Ct[T]=Ct[un]=Ct[D]=Ct[on]=Ct[M]=Ct[N]=Ct[P]=Ct[Z]=Ct[K]=Ct[G]=Ct[Y]=Ct[Q]=Ct[X]=Ct[rn]=!1;var Ut={};Ut[B]=Ut[T]=Ut[un]=Ut[on]=Ut[D]=Ut[M]=Ut[fn]=Ut[an]=Ut[cn]=Ut[ln]=Ut[sn]=Ut[Z]=Ut[K]=Ut[G]=Ut[Y]=Ut[Q]=Ut[X]=Ut[nn]=Ut[hn]=Ut[pn]=Ut[vn]=Ut[_n]=!0,Ut[N]=Ut[P]=Ut[rn]=!1;var Bt={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Tt=parseFloat,$t=parseInt,Dt="object"==typeof global&&global&&global.Object===Object&&global,Mt="object"==typeof self&&self&&self.Object===Object&&self,Ft=Dt||Mt||Function("return this")(),Nt="object"==typeof exports&&exports&&!exports.nodeType&&exports,Pt=Nt&&"object"==typeof module&&module&&!module.nodeType&&module,qt=Pt&&Pt.exports===Nt,Zt=qt&&Dt.process,Kt=function(){try{return Zt&&Zt.binding&&Zt.binding("util")}catch(n){}}(),Vt=Kt&&Kt.isArrayBuffer,Gt=Kt&&Kt.isDate,Ht=Kt&&Kt.isMap,Jt=Kt&&Kt.isRegExp,Yt=Kt&&Kt.isSet,Qt=Kt&&Kt.isTypedArray;function Xt(n,t){return n.set(t[0],t[1]),n}function nr(n,t){return n.add(t),n}function tr(n,t,r){switch(r.length){case 0:return n.call(t);case 1:return n.call(t,r[0]);case 2:return n.call(t,r[0],r[1]);case 3:return n.call(t,r[0],r[1],r[2])}return n.apply(t,r)}function rr(n,t,r,e){for(var u=-1,i=null==n?0:n.length;++u<i;){var o=n[u];t(e,o,r(o),n)}return e}function er(n,t){for(var r=-1,e=null==n?0:n.length;++r<e&&!1!==t(n[r],r,n););return n}function ur(n,t){for(var r=null==n?0:n.length;r--&&!1!==t(n[r],r,n););return n}function ir(n,t){for(var r=-1,e=null==n?0:n.length;++r<e;)if(!t(n[r],r,n))return!1;return!0}function or(n,t){for(var r=-1,e=null==n?0:n.length,u=0,i=[];++r<e;){var o=n[r];t(o,r,n)&&(i[u++]=o)}return i}function fr(n,t){return!!(null==n?0:n.length)&&yr(n,t,0)>-1}function ar(n,t,r){for(var e=-1,u=null==n?0:n.length;++e<u;)if(r(t,n[e]))return!0;return!1}function cr(n,t){for(var r=-1,e=null==n?0:n.length,u=Array(e);++r<e;)u[r]=t(n[r],r,n);return u}function lr(n,t){for(var r=-1,e=t.length,u=n.length;++r<e;)n[u+r]=t[r];return n}function sr(n,t,r,e){var u=-1,i=null==n?0:n.length;for(e&&i&&(r=n[++u]);++u<i;)r=t(r,n[u],u,n);return r}function hr(n,t,r,e){var u=null==n?0:n.length;for(e&&u&&(r=n[--u]);u--;)r=t(r,n[u],u,n);return r}function pr(n,t){for(var r=-1,e=null==n?0:n.length;++r<e;)if(t(n[r],r,n))return!0;return!1}var vr=mr("length");function _r(n,t,r){var e;return r(n,function(n,r,u){if(t(n,r,u))return e=r,!1}),e}function gr(n,t,r,e){for(var u=n.length,i=r+(e?1:-1);e?i--:++i<u;)if(t(n[i],i,n))return i;return-1}function yr(n,t,r){return t==t?function(n,t,r){var e=r-1,u=n.length;for(;++e<u;)if(n[e]===t)return e;return-1}(n,t,r):gr(n,br,r)}function dr(n,t,r,e){for(var u=r-1,i=n.length;++u<i;)if(e(n[u],t))return u;return-1}function br(n){return n!=n}function wr(n,t){var r=null==n?0:n.length;return r?Ar(n,t)/r:S}function mr(t){return function(r){return null==r?n:r[t]}}function xr(t){return function(r){return null==t?n:t[r]}}function jr(n,t,r,e,u){return u(n,function(n,u,i){r=e?(e=!1,n):t(r,n,u,i)}),r}function Ar(t,r){for(var e,u=-1,i=t.length;++u<i;){var o=r(t[u]);o!==n&&(e=e===n?o:e+o)}return e}function kr(n,t){for(var r=-1,e=Array(n);++r<n;)e[r]=t(r);return e}function Or(n){return function(t){return n(t)}}function Ir(n,t){return cr(t,function(t){return n[t]})}function Rr(n,t){return n.has(t)}function zr(n,t){for(var r=-1,e=n.length;++r<e&&yr(t,n[r],0)>-1;);return r}function Er(n,t){for(var r=n.length;r--&&yr(t,n[r],0)>-1;);return r}var Sr=xr({"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n","ſ":"s"}),Wr=xr({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"});function Lr(n){return"\\"+Bt[n]}function Cr(n){return Et.test(n)}function Ur(n){var t=-1,r=Array(n.size);return n.forEach(function(n,e){r[++t]=[e,n]}),r}function Br(n,t){return function(r){return n(t(r))}}function Tr(n,t){for(var r=-1,e=n.length,u=0,i=[];++r<e;){var f=n[r];f!==t&&f!==o||(n[r]=o,i[u++]=r)}return i}function $r(n){var t=-1,r=Array(n.size);return n.forEach(function(n){r[++t]=n}),r}function Dr(n){return Cr(n)?function(n){var t=Rt.lastIndex=0;for(;Rt.test(n);)++t;return t}(n):vr(n)}function Mr(n){return Cr(n)?n.match(Rt)||[]:n.split("")}var Fr=xr({"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"});var Nr=function Jn(Yn){var Qn,Xn=(Yn=null==Yn?Ft:Nr.defaults(Ft.Object(),Yn,Nr.pick(Ft,Wt))).Array,nt=Yn.Date,tt=Yn.Error,rt=Yn.Function,et=Yn.Math,ut=Yn.Object,it=Yn.RegExp,ot=Yn.String,ft=Yn.TypeError,at=Xn.prototype,ct=rt.prototype,lt=ut.prototype,st=Yn["__core-js_shared__"],ht=ct.toString,pt=lt.hasOwnProperty,vt=0,_t=(Qn=/[^.]+$/.exec(st&&st.keys&&st.keys.IE_PROTO||""))?"Symbol(src)_1."+Qn:"",gt=lt.toString,yt=ht.call(ut),dt=Ft._,bt=it("^"+ht.call(pt).replace(En,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),wt=qt?Yn.Buffer:n,mt=Yn.Symbol,xt=Yn.Uint8Array,jt=wt?wt.allocUnsafe:n,At=Br(ut.getPrototypeOf,ut),kt=ut.create,Rt=lt.propertyIsEnumerable,Et=at.splice,Bt=mt?mt.isConcatSpreadable:n,Dt=mt?mt.iterator:n,Mt=mt?mt.toStringTag:n,Nt=function(){try{var n=Fi(ut,"defineProperty");return n({},"",{}),n}catch(n){}}(),Pt=Yn.clearTimeout!==Ft.clearTimeout&&Yn.clearTimeout,Zt=nt&&nt.now!==Ft.Date.now&&nt.now,Kt=Yn.setTimeout!==Ft.setTimeout&&Yn.setTimeout,vr=et.ceil,xr=et.floor,Pr=ut.getOwnPropertySymbols,qr=wt?wt.isBuffer:n,Zr=Yn.isFinite,Kr=at.join,Vr=Br(ut.keys,ut),Gr=et.max,Hr=et.min,Jr=nt.now,Yr=Yn.parseInt,Qr=et.random,Xr=at.reverse,ne=Fi(Yn,"DataView"),te=Fi(Yn,"Map"),re=Fi(Yn,"Promise"),ee=Fi(Yn,"Set"),ue=Fi(Yn,"WeakMap"),ie=Fi(ut,"create"),oe=ue&&new ue,fe={},ae=vo(ne),ce=vo(te),le=vo(re),se=vo(ee),he=vo(ue),pe=mt?mt.prototype:n,ve=pe?pe.valueOf:n,_e=pe?pe.toString:n;function ge(n){if(Lf(n)&&!xf(n)&&!(n instanceof we)){if(n instanceof be)return n;if(pt.call(n,"__wrapped__"))return _o(n)}return new be(n)}var ye=function(){function t(){}return function(r){if(!Wf(r))return{};if(kt)return kt(r);t.prototype=r;var e=new t;return t.prototype=n,e}}();function de(){}function be(t,r){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!r,this.__index__=0,this.__values__=n}function we(n){this.__wrapped__=n,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=W,this.__views__=[]}function me(n){var t=-1,r=null==n?0:n.length;for(this.clear();++t<r;){var e=n[t];this.set(e[0],e[1])}}function xe(n){var t=-1,r=null==n?0:n.length;for(this.clear();++t<r;){var e=n[t];this.set(e[0],e[1])}}function je(n){var t=-1,r=null==n?0:n.length;for(this.clear();++t<r;){var e=n[t];this.set(e[0],e[1])}}function Ae(n){var t=-1,r=null==n?0:n.length;for(this.__data__=new je;++t<r;)this.add(n[t])}function ke(n){var t=this.__data__=new xe(n);this.size=t.size}function Oe(n,t){var r=xf(n),e=!r&&mf(n),u=!r&&!e&&Of(n),i=!r&&!e&&!u&&Ff(n),o=r||e||u||i,f=o?kr(n.length,ot):[],a=f.length;for(var c in n)!t&&!pt.call(n,c)||o&&("length"==c||u&&("offset"==c||"parent"==c)||i&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||Gi(c,a))||f.push(c);return f}function Ie(t){var r=t.length;return r?t[Au(0,r-1)]:n}function Re(n,t){return co(ii(n),Te(t,0,n.length))}function ze(n){return co(ii(n))}function Ee(t,r,e){(e===n||df(t[r],e))&&(e!==n||r in t)||Ue(t,r,e)}function Se(t,r,e){var u=t[r];pt.call(t,r)&&df(u,e)&&(e!==n||r in t)||Ue(t,r,e)}function We(n,t){for(var r=n.length;r--;)if(df(n[r][0],t))return r;return-1}function Le(n,t,r,e){return Ne(n,function(n,u,i){t(e,n,r(n),i)}),e}function Ce(n,t){return n&&oi(t,ca(t),n)}function Ue(n,t,r){"__proto__"==t&&Nt?Nt(n,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):n[t]=r}function Be(t,r){for(var e=-1,u=r.length,i=Xn(u),o=null==t;++e<u;)i[e]=o?n:ua(t,r[e]);return i}function Te(t,r,e){return t==t&&(e!==n&&(t=t<=e?t:e),r!==n&&(t=t>=r?t:r)),t}function $e(t,r,e,u,i,o){var l,s=r&f,h=r&a,p=r&c;if(e&&(l=i?e(t,u,i,o):e(t)),l!==n)return l;if(!Wf(t))return t;var v,_,g,y,d,b,w,m,x,j=xf(t);if(j){if(w=t,m=w.length,x=w.constructor(m),m&&"string"==typeof w[0]&&pt.call(w,"index")&&(x.index=w.index,x.input=w.input),l=x,!s)return ii(t,l)}else{var A=qi(t),k=A==P||A==q;if(Of(t))return Xu(t,s);if(A==G||A==B||k&&!i){if(l=h||k?{}:Ki(t),!s)return h?(g=t,b=t,y=(d=l)&&oi(b,la(b),d),oi(g,Pi(g),y)):(v=t,_=Ce(l,t),oi(v,Ni(v),_))}else{if(!Ut[A])return i?t:{};l=function(n,t,r,e){var u,i,o,a,c,l,s,h=n.constructor;switch(t){case un:return ni(n);case D:case M:return new h(+n);case on:return l=n,s=e?ni(l.buffer):l.buffer,new l.constructor(s,l.byteOffset,l.byteLength);case fn:case an:case cn:case ln:case sn:case hn:case pn:case vn:case _n:return ti(n,e);case Z:return c=n,sr(e?r(Ur(c),f):Ur(c),Xt,new c.constructor);case K:case X:return new h(n);case Y:return(a=new(o=n).constructor(o.source,Fn.exec(o))).lastIndex=o.lastIndex,a;case Q:return i=n,sr(e?r($r(i),f):$r(i),nr,new i.constructor);case nn:return u=n,ve?ut(ve.call(u)):{}}}(t,A,$e,s)}}o||(o=new ke);var O=o.get(t);if(O)return O;o.set(t,l);var I=j?n:(p?h?Ci:Li:h?la:ca)(t);return er(I||t,function(n,u){I&&(n=t[u=n]),Se(l,u,$e(n,r,e,u,t,o))}),l}function De(t,r,e){var u=e.length;if(null==t)return!u;for(t=ut(t);u--;){var i=e[u],o=r[i],f=t[i];if(f===n&&!(i in t)||!o(f))return!1}return!0}function Me(t,r,u){if("function"!=typeof t)throw new ft(e);return io(function(){t.apply(n,u)},r)}function Fe(n,r,e,u){var i=-1,o=fr,f=!0,a=n.length,c=[],l=r.length;if(!a)return c;e&&(r=cr(r,Or(e))),u?(o=ar,f=!1):r.length>=t&&(o=Rr,f=!1,r=new Ae(r));n:for(;++i<a;){var s=n[i],h=null==e?s:e(s);if(s=u||0!==s?s:0,f&&h==h){for(var p=l;p--;)if(r[p]===h)continue n;c.push(s)}else o(r,h,u)||c.push(s)}return c}ge.templateSettings={escape:jn,evaluate:An,interpolate:kn,variable:"",imports:{_:ge}},ge.prototype=de.prototype,ge.prototype.constructor=ge,be.prototype=ye(de.prototype),be.prototype.constructor=be,we.prototype=ye(de.prototype),we.prototype.constructor=we,me.prototype.clear=function(){this.__data__=ie?ie(null):{},this.size=0},me.prototype.delete=function(n){var t=this.has(n)&&delete this.__data__[n];return this.size-=t?1:0,t},me.prototype.get=function(t){var r=this.__data__;if(ie){var e=r[t];return e===u?n:e}return pt.call(r,t)?r[t]:n},me.prototype.has=function(t){var r=this.__data__;return ie?r[t]!==n:pt.call(r,t)},me.prototype.set=function(t,r){var e=this.__data__;return this.size+=this.has(t)?0:1,e[t]=ie&&r===n?u:r,this},xe.prototype.clear=function(){this.__data__=[],this.size=0},xe.prototype.delete=function(n){var t=this.__data__,r=We(t,n);return!(r<0||(r==t.length-1?t.pop():Et.call(t,r,1),--this.size,0))},xe.prototype.get=function(t){var r=this.__data__,e=We(r,t);return e<0?n:r[e][1]},xe.prototype.has=function(n){return We(this.__data__,n)>-1},xe.prototype.set=function(n,t){var r=this.__data__,e=We(r,n);return e<0?(++this.size,r.push([n,t])):r[e][1]=t,this},je.prototype.clear=function(){this.size=0,this.__data__={hash:new me,map:new(te||xe),string:new me}},je.prototype.delete=function(n){var t=Di(this,n).delete(n);return this.size-=t?1:0,t},je.prototype.get=function(n){return Di(this,n).get(n)},je.prototype.has=function(n){return Di(this,n).has(n)},je.prototype.set=function(n,t){var r=Di(this,n),e=r.size;return r.set(n,t),this.size+=r.size==e?0:1,this},Ae.prototype.add=Ae.prototype.push=function(n){return this.__data__.set(n,u),this},Ae.prototype.has=function(n){return this.__data__.has(n)},ke.prototype.clear=function(){this.__data__=new xe,this.size=0},ke.prototype.delete=function(n){var t=this.__data__,r=t.delete(n);return this.size=t.size,r},ke.prototype.get=function(n){return this.__data__.get(n)},ke.prototype.has=function(n){return this.__data__.has(n)},ke.prototype.set=function(n,r){var e=this.__data__;if(e instanceof xe){var u=e.__data__;if(!te||u.length<t-1)return u.push([n,r]),this.size=++e.size,this;e=this.__data__=new je(u)}return e.set(n,r),this.size=e.size,this};var Ne=ci(Je),Pe=ci(Ye,!0);function qe(n,t){var r=!0;return Ne(n,function(n,e,u){return r=!!t(n,e,u)}),r}function Ze(t,r,e){for(var u=-1,i=t.length;++u<i;){var o=t[u],f=r(o);if(null!=f&&(a===n?f==f&&!Mf(f):e(f,a)))var a=f,c=o}return c}function Ke(n,t){var r=[];return Ne(n,function(n,e,u){t(n,e,u)&&r.push(n)}),r}function Ve(n,t,r,e,u){var i=-1,o=n.length;for(r||(r=Vi),u||(u=[]);++i<o;){var f=n[i];t>0&&r(f)?t>1?Ve(f,t-1,r,e,u):lr(u,f):e||(u[u.length]=f)}return u}var Ge=li(),He=li(!0);function Je(n,t){return n&&Ge(n,t,ca)}function Ye(n,t){return n&&He(n,t,ca)}function Qe(n,t){return or(t,function(t){return zf(n[t])})}function Xe(t,r){for(var e=0,u=(r=Hu(r,t)).length;null!=t&&e<u;)t=t[po(r[e++])];return e&&e==u?t:n}function nu(n,t,r){var e=t(n);return xf(n)?e:lr(e,r(n))}function tu(t){return null==t?t===n?tn:V:Mt&&Mt in ut(t)?function(t){var r=pt.call(t,Mt),e=t[Mt];try{t[Mt]=n;var u=!0}catch(n){}var i=gt.call(t);return u&&(r?t[Mt]=e:delete t[Mt]),i}(t):(r=t,gt.call(r));var r}function ru(n,t){return n>t}function eu(n,t){return null!=n&&pt.call(n,t)}function uu(n,t){return null!=n&&t in ut(n)}function iu(t,r,e){for(var u=e?ar:fr,i=t[0].length,o=t.length,f=o,a=Xn(o),c=1/0,l=[];f--;){var s=t[f];f&&r&&(s=cr(s,Or(r))),c=Hr(s.length,c),a[f]=!e&&(r||i>=120&&s.length>=120)?new Ae(f&&s):n}s=t[0];var h=-1,p=a[0];n:for(;++h<i&&l.length<c;){var v=s[h],_=r?r(v):v;if(v=e||0!==v?v:0,!(p?Rr(p,_):u(l,_,e))){for(f=o;--f;){var g=a[f];if(!(g?Rr(g,_):u(t[f],_,e)))continue n}p&&p.push(_),l.push(v)}}return l}function ou(t,r,e){var u=null==(t=eo(t,r=Hu(r,t)))?t:t[po(Io(r))];return null==u?n:tr(u,t,e)}function fu(n){return Lf(n)&&tu(n)==B}function au(t,r,e,u,i){return t===r||(null==t||null==r||!Lf(t)&&!Lf(r)?t!=t&&r!=r:function(t,r,e,u,i,o){var f=xf(t),a=xf(r),c=f?T:qi(t),h=a?T:qi(r),p=(c=c==B?G:c)==G,v=(h=h==B?G:h)==G,_=c==h;if(_&&Of(t)){if(!Of(r))return!1;f=!0,p=!1}if(_&&!p)return o||(o=new ke),f||Ff(t)?Si(t,r,e,u,i,o):function(n,t,r,e,u,i,o){switch(r){case on:if(n.byteLength!=t.byteLength||n.byteOffset!=t.byteOffset)return!1;n=n.buffer,t=t.buffer;case un:return!(n.byteLength!=t.byteLength||!i(new xt(n),new xt(t)));case D:case M:case K:return df(+n,+t);case N:return n.name==t.name&&n.message==t.message;case Y:case X:return n==t+"";case Z:var f=Ur;case Q:var a=e&l;if(f||(f=$r),n.size!=t.size&&!a)return!1;var c=o.get(n);if(c)return c==t;e|=s,o.set(n,t);var h=Si(f(n),f(t),e,u,i,o);return o.delete(n),h;case nn:if(ve)return ve.call(n)==ve.call(t)}return!1}(t,r,c,e,u,i,o);if(!(e&l)){var g=p&&pt.call(t,"__wrapped__"),y=v&&pt.call(r,"__wrapped__");if(g||y){var d=g?t.value():t,b=y?r.value():r;return o||(o=new ke),i(d,b,e,u,o)}}return!!_&&(o||(o=new ke),function(t,r,e,u,i,o){var f=e&l,a=Li(t),c=a.length,s=Li(r).length;if(c!=s&&!f)return!1;for(var h=c;h--;){var p=a[h];if(!(f?p in r:pt.call(r,p)))return!1}var v=o.get(t);if(v&&o.get(r))return v==r;var _=!0;o.set(t,r),o.set(r,t);for(var g=f;++h<c;){p=a[h];var y=t[p],d=r[p];if(u)var b=f?u(d,y,p,r,t,o):u(y,d,p,t,r,o);if(!(b===n?y===d||i(y,d,e,u,o):b)){_=!1;break}g||(g="constructor"==p)}if(_&&!g){var w=t.constructor,m=r.constructor;w!=m&&"constructor"in t&&"constructor"in r&&!("function"==typeof w&&w instanceof w&&"function"==typeof m&&m instanceof m)&&(_=!1)}return o.delete(t),o.delete(r),_}(t,r,e,u,i,o))}(t,r,e,u,au,i))}function cu(t,r,e,u){var i=e.length,o=i,f=!u;if(null==t)return!o;for(t=ut(t);i--;){var a=e[i];if(f&&a[2]?a[1]!==t[a[0]]:!(a[0]in t))return!1}for(;++i<o;){var c=(a=e[i])[0],h=t[c],p=a[1];if(f&&a[2]){if(h===n&&!(c in t))return!1}else{var v=new ke;if(u)var _=u(h,p,c,t,r,v);if(!(_===n?au(p,h,l|s,u,v):_))return!1}}return!0}function lu(n){return!(!Wf(n)||_t&&_t in n)&&(zf(n)?bt:qn).test(vo(n))}function su(n){return"function"==typeof n?n:null==n?Ua:"object"==typeof n?xf(n)?yu(n[0],n[1]):gu(n):qa(n)}function hu(n){if(!Xi(n))return Vr(n);var t=[];for(var r in ut(n))pt.call(n,r)&&"constructor"!=r&&t.push(r);return t}function pu(n){if(!Wf(n))return function(n){var t=[];if(null!=n)for(var r in ut(n))t.push(r);return t}(n);var t=Xi(n),r=[];for(var e in n)("constructor"!=e||!t&&pt.call(n,e))&&r.push(e);return r}function vu(n,t){return n<t}function _u(n,t){var r=-1,e=Af(n)?Xn(n.length):[];return Ne(n,function(n,u,i){e[++r]=t(n,u,i)}),e}function gu(n){var t=Mi(n);return 1==t.length&&t[0][2]?to(t[0][0],t[0][1]):function(r){return r===n||cu(r,n,t)}}function yu(t,r){return Ji(t)&&no(r)?to(po(t),r):function(e){var u=ua(e,t);return u===n&&u===r?ia(e,t):au(r,u,l|s)}}function du(t,r,e,u,i){t!==r&&Ge(r,function(o,f){if(Wf(o))i||(i=new ke),function(t,r,e,u,i,o,f){var a=t[e],c=r[e],l=f.get(c);if(l)Ee(t,e,l);else{var s=o?o(a,c,e+"",t,r,f):n,h=s===n;if(h){var p=xf(c),v=!p&&Of(c),_=!p&&!v&&Ff(c);s=c,p||v||_?xf(a)?s=a:kf(a)?s=ii(a):v?(h=!1,s=Xu(c,!0)):_?(h=!1,s=ti(c,!0)):s=[]:Bf(c)||mf(c)?(s=a,mf(a)?s=Hf(a):(!Wf(a)||u&&zf(a))&&(s=Ki(c))):h=!1}h&&(f.set(c,s),i(s,c,u,o,f),f.delete(c)),Ee(t,e,s)}}(t,r,f,e,du,u,i);else{var a=u?u(t[f],o,f+"",t,r,i):n;a===n&&(a=o),Ee(t,f,a)}},la)}function bu(t,r){var e=t.length;if(e)return Gi(r+=r<0?e:0,e)?t[r]:n}function wu(n,t,r){var e=-1;return t=cr(t.length?t:[Ua],Or($i())),function(n,t){var r=n.length;for(n.sort(t);r--;)n[r]=n[r].value;return n}(_u(n,function(n,r,u){return{criteria:cr(t,function(t){return t(n)}),index:++e,value:n}}),function(n,t){return function(n,t,r){for(var e=-1,u=n.criteria,i=t.criteria,o=u.length,f=r.length;++e<o;){var a=ri(u[e],i[e]);if(a){if(e>=f)return a;var c=r[e];return a*("desc"==c?-1:1)}}return n.index-t.index}(n,t,r)})}function mu(n,t,r){for(var e=-1,u=t.length,i={};++e<u;){var o=t[e],f=Xe(n,o);r(f,o)&&zu(i,Hu(o,n),f)}return i}function xu(n,t,r,e){var u=e?dr:yr,i=-1,o=t.length,f=n;for(n===t&&(t=ii(t)),r&&(f=cr(n,Or(r)));++i<o;)for(var a=0,c=t[i],l=r?r(c):c;(a=u(f,l,a,e))>-1;)f!==n&&Et.call(f,a,1),Et.call(n,a,1);return n}function ju(n,t){for(var r=n?t.length:0,e=r-1;r--;){var u=t[r];if(r==e||u!==i){var i=u;Gi(u)?Et.call(n,u,1):Fu(n,u)}}return n}function Au(n,t){return n+xr(Qr()*(t-n+1))}function ku(n,t){var r="";if(!n||t<1||t>z)return r;do{t%2&&(r+=n),(t=xr(t/2))&&(n+=n)}while(t);return r}function Ou(n,t){return oo(ro(n,t,Ua),n+"")}function Iu(n){return Ie(da(n))}function Ru(n,t){var r=da(n);return co(r,Te(t,0,r.length))}function zu(t,r,e,u){if(!Wf(t))return t;for(var i=-1,o=(r=Hu(r,t)).length,f=o-1,a=t;null!=a&&++i<o;){var c=po(r[i]),l=e;if(i!=f){var s=a[c];(l=u?u(s,c,a):n)===n&&(l=Wf(s)?s:Gi(r[i+1])?[]:{})}Se(a,c,l),a=a[c]}return t}var Eu=oe?function(n,t){return oe.set(n,t),n}:Ua,Su=Nt?function(n,t){return Nt(n,"toString",{configurable:!0,enumerable:!1,value:Wa(t),writable:!0})}:Ua;function Wu(n){return co(da(n))}function Lu(n,t,r){var e=-1,u=n.length;t<0&&(t=-t>u?0:u+t),(r=r>u?u:r)<0&&(r+=u),u=t>r?0:r-t>>>0,t>>>=0;for(var i=Xn(u);++e<u;)i[e]=n[e+t];return i}function Cu(n,t){var r;return Ne(n,function(n,e,u){return!(r=t(n,e,u))}),!!r}function Uu(n,t,r){var e=0,u=null==n?e:n.length;if("number"==typeof t&&t==t&&u<=C){for(;e<u;){var i=e+u>>>1,o=n[i];null!==o&&!Mf(o)&&(r?o<=t:o<t)?e=i+1:u=i}return u}return Bu(n,t,Ua,r)}function Bu(t,r,e,u){r=e(r);for(var i=0,o=null==t?0:t.length,f=r!=r,a=null===r,c=Mf(r),l=r===n;i<o;){var s=xr((i+o)/2),h=e(t[s]),p=h!==n,v=null===h,_=h==h,g=Mf(h);if(f)var y=u||_;else y=l?_&&(u||p):a?_&&p&&(u||!v):c?_&&p&&!v&&(u||!g):!v&&!g&&(u?h<=r:h<r);y?i=s+1:o=s}return Hr(o,L)}function Tu(n,t){for(var r=-1,e=n.length,u=0,i=[];++r<e;){var o=n[r],f=t?t(o):o;if(!r||!df(f,a)){var a=f;i[u++]=0===o?0:o}}return i}function $u(n){return"number"==typeof n?n:Mf(n)?S:+n}function Du(n){if("string"==typeof n)return n;if(xf(n))return cr(n,Du)+"";if(Mf(n))return _e?_e.call(n):"";var t=n+"";return"0"==t&&1/n==-R?"-0":t}function Mu(n,r,e){var u=-1,i=fr,o=n.length,f=!0,a=[],c=a;if(e)f=!1,i=ar;else if(o>=t){var l=r?null:ki(n);if(l)return $r(l);f=!1,i=Rr,c=new Ae}else c=r?[]:a;n:for(;++u<o;){var s=n[u],h=r?r(s):s;if(s=e||0!==s?s:0,f&&h==h){for(var p=c.length;p--;)if(c[p]===h)continue n;r&&c.push(h),a.push(s)}else i(c,h,e)||(c!==a&&c.push(h),a.push(s))}return a}function Fu(n,t){return null==(n=eo(n,t=Hu(t,n)))||delete n[po(Io(t))]}function Nu(n,t,r,e){return zu(n,t,r(Xe(n,t)),e)}function Pu(n,t,r,e){for(var u=n.length,i=e?u:-1;(e?i--:++i<u)&&t(n[i],i,n););return r?Lu(n,e?0:i,e?i+1:u):Lu(n,e?i+1:0,e?u:i)}function qu(n,t){var r=n;return r instanceof we&&(r=r.value()),sr(t,function(n,t){return t.func.apply(t.thisArg,lr([n],t.args))},r)}function Zu(n,t,r){var e=n.length;if(e<2)return e?Mu(n[0]):[];for(var u=-1,i=Xn(e);++u<e;)for(var o=n[u],f=-1;++f<e;)f!=u&&(i[u]=Fe(i[u]||o,n[f],t,r));return Mu(Ve(i,1),t,r)}function Ku(t,r,e){for(var u=-1,i=t.length,o=r.length,f={};++u<i;){var a=u<o?r[u]:n;e(f,t[u],a)}return f}function Vu(n){return kf(n)?n:[]}function Gu(n){return"function"==typeof n?n:Ua}function Hu(n,t){return xf(n)?n:Ji(n,t)?[n]:ho(Jf(n))}var Ju=Ou;function Yu(t,r,e){var u=t.length;return e=e===n?u:e,!r&&e>=u?t:Lu(t,r,e)}var Qu=Pt||function(n){return Ft.clearTimeout(n)};function Xu(n,t){if(t)return n.slice();var r=n.length,e=jt?jt(r):new n.constructor(r);return n.copy(e),e}function ni(n){var t=new n.constructor(n.byteLength);return new xt(t).set(new xt(n)),t}function ti(n,t){var r=t?ni(n.buffer):n.buffer;return new n.constructor(r,n.byteOffset,n.length)}function ri(t,r){if(t!==r){var e=t!==n,u=null===t,i=t==t,o=Mf(t),f=r!==n,a=null===r,c=r==r,l=Mf(r);if(!a&&!l&&!o&&t>r||o&&f&&c&&!a&&!l||u&&f&&c||!e&&c||!i)return 1;if(!u&&!o&&!l&&t<r||l&&e&&i&&!u&&!o||a&&e&&i||!f&&i||!c)return-1}return 0}function ei(n,t,r,e){for(var u=-1,i=n.length,o=r.length,f=-1,a=t.length,c=Gr(i-o,0),l=Xn(a+c),s=!e;++f<a;)l[f]=t[f];for(;++u<o;)(s||u<i)&&(l[r[u]]=n[u]);for(;c--;)l[f++]=n[u++];return l}function ui(n,t,r,e){for(var u=-1,i=n.length,o=-1,f=r.length,a=-1,c=t.length,l=Gr(i-f,0),s=Xn(l+c),h=!e;++u<l;)s[u]=n[u];for(var p=u;++a<c;)s[p+a]=t[a];for(;++o<f;)(h||u<i)&&(s[p+r[o]]=n[u++]);return s}function ii(n,t){var r=-1,e=n.length;for(t||(t=Xn(e));++r<e;)t[r]=n[r];return t}function oi(t,r,e,u){var i=!e;e||(e={});for(var o=-1,f=r.length;++o<f;){var a=r[o],c=u?u(e[a],t[a],a,e,t):n;c===n&&(c=t[a]),i?Ue(e,a,c):Se(e,a,c)}return e}function fi(n,t){return function(r,e){var u=xf(r)?rr:Le,i=t?t():{};return u(r,n,$i(e,2),i)}}function ai(t){return Ou(function(r,e){var u=-1,i=e.length,o=i>1?e[i-1]:n,f=i>2?e[2]:n;for(o=t.length>3&&"function"==typeof o?(i--,o):n,f&&Hi(e[0],e[1],f)&&(o=i<3?n:o,i=1),r=ut(r);++u<i;){var a=e[u];a&&t(r,a,u,o)}return r})}function ci(n,t){return function(r,e){if(null==r)return r;if(!Af(r))return n(r,e);for(var u=r.length,i=t?u:-1,o=ut(r);(t?i--:++i<u)&&!1!==e(o[i],i,o););return r}}function li(n){return function(t,r,e){for(var u=-1,i=ut(t),o=e(t),f=o.length;f--;){var a=o[n?f:++u];if(!1===r(i[a],a,i))break}return t}}function si(t){return function(r){var e=Cr(r=Jf(r))?Mr(r):n,u=e?e[0]:r.charAt(0),i=e?Yu(e,1).join(""):r.slice(1);return u[t]()+i}}function hi(n){return function(t){return sr(za(ma(t).replace(Ot,"")),n,"")}}function pi(n){return function(){var t=arguments;switch(t.length){case 0:return new n;case 1:return new n(t[0]);case 2:return new n(t[0],t[1]);case 3:return new n(t[0],t[1],t[2]);case 4:return new n(t[0],t[1],t[2],t[3]);case 5:return new n(t[0],t[1],t[2],t[3],t[4]);case 6:return new n(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new n(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var r=ye(n.prototype),e=n.apply(r,t);return Wf(e)?e:r}}function vi(t){return function(r,e,u){var i=ut(r);if(!Af(r)){var o=$i(e,3);r=ca(r),e=function(n){return o(i[n],n,i)}}var f=t(r,e,u);return f>-1?i[o?r[f]:f]:n}}function _i(t){return Wi(function(r){var u=r.length,i=u,o=be.prototype.thru;for(t&&r.reverse();i--;){var f=r[i];if("function"!=typeof f)throw new ft(e);if(o&&!a&&"wrapper"==Bi(f))var a=new be([],!0)}for(i=a?i:u;++i<u;){var c=Bi(f=r[i]),l="wrapper"==c?Ui(f):n;a=l&&Yi(l[0])&&l[1]==(b|_|y|w)&&!l[4].length&&1==l[9]?a[Bi(l[0])].apply(a,l[3]):1==f.length&&Yi(f)?a[c]():a.thru(f)}return function(){var n=arguments,t=n[0];if(a&&1==n.length&&xf(t))return a.plant(t).value();for(var e=0,i=u?r[e].apply(this,n):t;++e<u;)i=r[e].call(this,i);return i}})}function gi(t,r,e,u,i,o,f,a,c,l){var s=r&b,v=r&h,y=r&p,d=r&(_|g),w=r&m,x=y?n:pi(t);return function h(){for(var p=arguments.length,_=Xn(p),g=p;g--;)_[g]=arguments[g];if(d)var b=Ti(h),m=function(n,t){for(var r=n.length,e=0;r--;)n[r]===t&&++e;return e}(_,b);if(u&&(_=ei(_,u,i,d)),o&&(_=ui(_,o,f,d)),p-=m,d&&p<l){var j=Tr(_,b);return ji(t,r,gi,h.placeholder,e,_,j,a,c,l-p)}var A=v?e:this,k=y?A[t]:t;return p=_.length,a?_=function(t,r){for(var e=t.length,u=Hr(r.length,e),i=ii(t);u--;){var o=r[u];t[u]=Gi(o,e)?i[o]:n}return t}(_,a):w&&p>1&&_.reverse(),s&&c<p&&(_.length=c),this&&this!==Ft&&this instanceof h&&(k=x||pi(k)),k.apply(A,_)}}function yi(n,t){return function(r,e){return u=r,i=n,o=t(e),f={},Je(u,function(n,t,r){i(f,o(n),t,r)}),f;var u,i,o,f}}function di(t,r){return function(e,u){var i;if(e===n&&u===n)return r;if(e!==n&&(i=e),u!==n){if(i===n)return u;"string"==typeof e||"string"==typeof u?(e=Du(e),u=Du(u)):(e=$u(e),u=$u(u)),i=t(e,u)}return i}}function bi(n){return Wi(function(t){return t=cr(t,Or($i())),Ou(function(r){var e=this;return n(t,function(n){return tr(n,e,r)})})})}function wi(t,r){var e=(r=r===n?" ":Du(r)).length;if(e<2)return e?ku(r,t):r;var u=ku(r,vr(t/Dr(r)));return Cr(r)?Yu(Mr(u),0,t).join(""):u.slice(0,t)}function mi(t){return function(r,e,u){return u&&"number"!=typeof u&&Hi(r,e,u)&&(e=u=n),r=Zf(r),e===n?(e=r,r=0):e=Zf(e),function(n,t,r,e){for(var u=-1,i=Gr(vr((t-n)/(r||1)),0),o=Xn(i);i--;)o[e?i:++u]=n,n+=r;return o}(r,e,u=u===n?r<e?1:-1:Zf(u),t)}}function xi(n){return function(t,r){return"string"==typeof t&&"string"==typeof r||(t=Gf(t),r=Gf(r)),n(t,r)}}function ji(t,r,e,u,i,o,f,a,c,l){var s=r&_;r|=s?y:d,(r&=~(s?d:y))&v||(r&=~(h|p));var g=[t,r,i,s?o:n,s?f:n,s?n:o,s?n:f,a,c,l],b=e.apply(n,g);return Yi(t)&&uo(b,g),b.placeholder=u,fo(b,t,r)}function Ai(n){var t=et[n];return function(n,r){if(n=Gf(n),r=null==r?0:Hr(Kf(r),292)){var e=(Jf(n)+"e").split("e");return+((e=(Jf(t(e[0]+"e"+(+e[1]+r)))+"e").split("e"))[0]+"e"+(+e[1]-r))}return t(n)}}var ki=ee&&1/$r(new ee([,-0]))[1]==R?function(n){return new ee(n)}:Ma;function Oi(n){return function(t){var r,e,u,i,o=qi(t);return o==Z?Ur(t):o==Q?(r=t,e=-1,u=Array(r.size),r.forEach(function(n){u[++e]=[n,n]}),u):(i=t,cr(n(t),function(n){return[n,i[n]]}))}}function Ii(t,r,u,i,f,a,c,l){var s=r&p;if(!s&&"function"!=typeof t)throw new ft(e);var m=i?i.length:0;if(m||(r&=~(y|d),i=f=n),c=c===n?c:Gr(Kf(c),0),l=l===n?l:Kf(l),m-=f?f.length:0,r&d){var x=i,j=f;i=f=n}var A,k,O,I,R,z,E,S,W,L,C,U,B,T=s?n:Ui(t),$=[t,r,u,i,f,x,j,a,c,l];if(T&&function(n,t){var r=n[1],e=t[1],u=r|e,i=u<(h|p|b),f=e==b&&r==_||e==b&&r==w&&n[7].length<=t[8]||e==(b|w)&&t[7].length<=t[8]&&r==_;if(!i&&!f)return n;e&h&&(n[2]=t[2],u|=r&h?0:v);var a=t[3];if(a){var c=n[3];n[3]=c?ei(c,a,t[4]):a,n[4]=c?Tr(n[3],o):t[4]}(a=t[5])&&(c=n[5],n[5]=c?ui(c,a,t[6]):a,n[6]=c?Tr(n[5],o):t[6]),(a=t[7])&&(n[7]=a),e&b&&(n[8]=null==n[8]?t[8]:Hr(n[8],t[8])),null==n[9]&&(n[9]=t[9]),n[0]=t[0],n[1]=u}($,T),t=$[0],r=$[1],u=$[2],i=$[3],f=$[4],!(l=$[9]=$[9]===n?s?0:t.length:Gr($[9]-m,0))&&r&(_|g)&&(r&=~(_|g)),r&&r!=h)r==_||r==g?(E=r,S=l,W=pi(z=t),D=function t(){for(var r=arguments.length,e=Xn(r),u=r,i=Ti(t);u--;)e[u]=arguments[u];var o=r<3&&e[0]!==i&&e[r-1]!==i?[]:Tr(e,i);return(r-=o.length)<S?ji(z,E,gi,t.placeholder,n,e,o,n,n,S-r):tr(this&&this!==Ft&&this instanceof t?W:z,this,e)}):r!=y&&r!=(h|y)||f.length?D=gi.apply(n,$):(k=u,O=i,I=r&h,R=pi(A=t),D=function n(){for(var t=-1,r=arguments.length,e=-1,u=O.length,i=Xn(u+r),o=this&&this!==Ft&&this instanceof n?R:A;++e<u;)i[e]=O[e];for(;r--;)i[e++]=arguments[++t];return tr(o,I?k:this,i)});else var D=(C=u,U=r&h,B=pi(L=t),function n(){return(this&&this!==Ft&&this instanceof n?B:L).apply(U?C:this,arguments)});return fo((T?Eu:uo)(D,$),t,r)}function Ri(t,r,e,u){return t===n||df(t,lt[e])&&!pt.call(u,e)?r:t}function zi(t,r,e,u,i,o){return Wf(t)&&Wf(r)&&(o.set(r,t),du(t,r,n,zi,o),o.delete(r)),t}function Ei(t){return Bf(t)?n:t}function Si(t,r,e,u,i,o){var f=e&l,a=t.length,c=r.length;if(a!=c&&!(f&&c>a))return!1;var h=o.get(t);if(h&&o.get(r))return h==r;var p=-1,v=!0,_=e&s?new Ae:n;for(o.set(t,r),o.set(r,t);++p<a;){var g=t[p],y=r[p];if(u)var d=f?u(y,g,p,r,t,o):u(g,y,p,t,r,o);if(d!==n){if(d)continue;v=!1;break}if(_){if(!pr(r,function(n,t){if(!Rr(_,t)&&(g===n||i(g,n,e,u,o)))return _.push(t)})){v=!1;break}}else if(g!==y&&!i(g,y,e,u,o)){v=!1;break}}return o.delete(t),o.delete(r),v}function Wi(t){return oo(ro(t,n,xo),t+"")}function Li(n){return nu(n,ca,Ni)}function Ci(n){return nu(n,la,Pi)}var Ui=oe?function(n){return oe.get(n)}:Ma;function Bi(n){for(var t=n.name+"",r=fe[t],e=pt.call(fe,t)?r.length:0;e--;){var u=r[e],i=u.func;if(null==i||i==n)return u.name}return t}function Ti(n){return(pt.call(ge,"placeholder")?ge:n).placeholder}function $i(){var n=ge.iteratee||Ba;return n=n===Ba?su:n,arguments.length?n(arguments[0],arguments[1]):n}function Di(n,t){var r,e,u=n.__data__;return("string"==(e=typeof(r=t))||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==r:null===r)?u["string"==typeof t?"string":"hash"]:u.map}function Mi(n){for(var t=ca(n),r=t.length;r--;){var e=t[r],u=n[e];t[r]=[e,u,no(u)]}return t}function Fi(t,r){var e,u=null==(e=t)?n:e[r];return lu(u)?u:n}var Ni=Pr?function(n){return null==n?[]:(n=ut(n),or(Pr(n),function(t){return Rt.call(n,t)}))}:Va,Pi=Pr?function(n){for(var t=[];n;)lr(t,Ni(n)),n=At(n);return t}:Va,qi=tu;function Zi(n,t,r){for(var e=-1,u=(t=Hu(t,n)).length,i=!1;++e<u;){var o=po(t[e]);if(!(i=null!=n&&r(n,o)))break;n=n[o]}return i||++e!=u?i:!!(u=null==n?0:n.length)&&Sf(u)&&Gi(o,u)&&(xf(n)||mf(n))}function Ki(n){return"function"!=typeof n.constructor||Xi(n)?{}:ye(At(n))}function Vi(n){return xf(n)||mf(n)||!!(Bt&&n&&n[Bt])}function Gi(n,t){return!!(t=null==t?z:t)&&("number"==typeof n||Kn.test(n))&&n>-1&&n%1==0&&n<t}function Hi(n,t,r){if(!Wf(r))return!1;var e=typeof t;return!!("number"==e?Af(r)&&Gi(t,r.length):"string"==e&&t in r)&&df(r[t],n)}function Ji(n,t){if(xf(n))return!1;var r=typeof n;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=n&&!Mf(n))||In.test(n)||!On.test(n)||null!=t&&n in ut(t)}function Yi(n){var t=Bi(n),r=ge[t];if("function"!=typeof r||!(t in we.prototype))return!1;if(n===r)return!0;var e=Ui(r);return!!e&&n===e[0]}(ne&&qi(new ne(new ArrayBuffer(1)))!=on||te&&qi(new te)!=Z||re&&qi(re.resolve())!=H||ee&&qi(new ee)!=Q||ue&&qi(new ue)!=rn)&&(qi=function(t){var r=tu(t),e=r==G?t.constructor:n,u=e?vo(e):"";if(u)switch(u){case ae:return on;case ce:return Z;case le:return H;case se:return Q;case he:return rn}return r});var Qi=st?zf:Ga;function Xi(n){var t=n&&n.constructor;return n===("function"==typeof t&&t.prototype||lt)}function no(n){return n==n&&!Wf(n)}function to(t,r){return function(e){return null!=e&&e[t]===r&&(r!==n||t in ut(e))}}function ro(t,r,e){return r=Gr(r===n?t.length-1:r,0),function(){for(var n=arguments,u=-1,i=Gr(n.length-r,0),o=Xn(i);++u<i;)o[u]=n[r+u];u=-1;for(var f=Xn(r+1);++u<r;)f[u]=n[u];return f[r]=e(o),tr(t,this,f)}}function eo(n,t){return t.length<2?n:Xe(n,Lu(t,0,-1))}var uo=ao(Eu),io=Kt||function(n,t){return Ft.setTimeout(n,t)},oo=ao(Su);function fo(n,t,r){var e,u,i,o=t+"";return oo(n,function(n,t){var r=t.length;if(!r)return n;var e=r-1;return t[e]=(r>1?"& ":"")+t[e],t=t.join(r>2?", ":" "),n.replace(Un,"{\n/* [wrapped with "+t+"] */\n")}(o,(i=o.match(Bn),e=i?i[1].split(Tn):[],u=r,er(U,function(n){var t="_."+n[0];u&n[1]&&!fr(e,t)&&e.push(t)}),e.sort())))}function ao(t){var r=0,e=0;return function(){var u=Jr(),i=k-(u-e);if(e=u,i>0){if(++r>=A)return arguments[0]}else r=0;return t.apply(n,arguments)}}function co(t,r){var e=-1,u=t.length,i=u-1;for(r=r===n?u:r;++e<r;){var o=Au(e,i),f=t[o];t[o]=t[e],t[e]=f}return t.length=r,t}var lo,so,ho=(lo=hf(function(n){var t=[];return Rn.test(n)&&t.push(""),n.replace(zn,function(n,r,e,u){t.push(e?u.replace(Dn,"$1"):r||n)}),t},function(n){return so.size===i&&so.clear(),n}),so=lo.cache,lo);function po(n){if("string"==typeof n||Mf(n))return n;var t=n+"";return"0"==t&&1/n==-R?"-0":t}function vo(n){if(null!=n){try{return ht.call(n)}catch(n){}try{return n+""}catch(n){}}return""}function _o(n){if(n instanceof we)return n.clone();var t=new be(n.__wrapped__,n.__chain__);return t.__actions__=ii(n.__actions__),t.__index__=n.__index__,t.__values__=n.__values__,t}var go=Ou(function(n,t){return kf(n)?Fe(n,Ve(t,1,kf,!0)):[]}),yo=Ou(function(t,r){var e=Io(r);return kf(e)&&(e=n),kf(t)?Fe(t,Ve(r,1,kf,!0),$i(e,2)):[]}),bo=Ou(function(t,r){var e=Io(r);return kf(e)&&(e=n),kf(t)?Fe(t,Ve(r,1,kf,!0),n,e):[]});function wo(n,t,r){var e=null==n?0:n.length;if(!e)return-1;var u=null==r?0:Kf(r);return u<0&&(u=Gr(e+u,0)),gr(n,$i(t,3),u)}function mo(t,r,e){var u=null==t?0:t.length;if(!u)return-1;var i=u-1;return e!==n&&(i=Kf(e),i=e<0?Gr(u+i,0):Hr(i,u-1)),gr(t,$i(r,3),i,!0)}function xo(n){return null!=n&&n.length?Ve(n,1):[]}function jo(t){return t&&t.length?t[0]:n}var Ao=Ou(function(n){var t=cr(n,Vu);return t.length&&t[0]===n[0]?iu(t):[]}),ko=Ou(function(t){var r=Io(t),e=cr(t,Vu);return r===Io(e)?r=n:e.pop(),e.length&&e[0]===t[0]?iu(e,$i(r,2)):[]}),Oo=Ou(function(t){var r=Io(t),e=cr(t,Vu);return(r="function"==typeof r?r:n)&&e.pop(),e.length&&e[0]===t[0]?iu(e,n,r):[]});function Io(t){var r=null==t?0:t.length;return r?t[r-1]:n}var Ro=Ou(zo);function zo(n,t){return n&&n.length&&t&&t.length?xu(n,t):n}var Eo=Wi(function(n,t){var r=null==n?0:n.length,e=Be(n,t);return ju(n,cr(t,function(n){return Gi(n,r)?+n:n}).sort(ri)),e});function So(n){return null==n?n:Xr.call(n)}var Wo=Ou(function(n){return Mu(Ve(n,1,kf,!0))}),Lo=Ou(function(t){var r=Io(t);return kf(r)&&(r=n),Mu(Ve(t,1,kf,!0),$i(r,2))}),Co=Ou(function(t){var r=Io(t);return r="function"==typeof r?r:n,Mu(Ve(t,1,kf,!0),n,r)});function Uo(n){if(!n||!n.length)return[];var t=0;return n=or(n,function(n){if(kf(n))return t=Gr(n.length,t),!0}),kr(t,function(t){return cr(n,mr(t))})}function Bo(t,r){if(!t||!t.length)return[];var e=Uo(t);return null==r?e:cr(e,function(t){return tr(r,n,t)})}var To=Ou(function(n,t){return kf(n)?Fe(n,t):[]}),$o=Ou(function(n){return Zu(or(n,kf))}),Do=Ou(function(t){var r=Io(t);return kf(r)&&(r=n),Zu(or(t,kf),$i(r,2))}),Mo=Ou(function(t){var r=Io(t);return r="function"==typeof r?r:n,Zu(or(t,kf),n,r)}),Fo=Ou(Uo);var No=Ou(function(t){var r=t.length,e=r>1?t[r-1]:n;return Bo(t,e="function"==typeof e?(t.pop(),e):n)});function Po(n){var t=ge(n);return t.__chain__=!0,t}function qo(n,t){return t(n)}var Zo=Wi(function(t){var r=t.length,e=r?t[0]:0,u=this.__wrapped__,i=function(n){return Be(n,t)};return!(r>1||this.__actions__.length)&&u instanceof we&&Gi(e)?((u=u.slice(e,+e+(r?1:0))).__actions__.push({func:qo,args:[i],thisArg:n}),new be(u,this.__chain__).thru(function(t){return r&&!t.length&&t.push(n),t})):this.thru(i)});var Ko=fi(function(n,t,r){pt.call(n,r)?++n[r]:Ue(n,r,1)});var Vo=vi(wo),Go=vi(mo);function Ho(n,t){return(xf(n)?er:Ne)(n,$i(t,3))}function Jo(n,t){return(xf(n)?ur:Pe)(n,$i(t,3))}var Yo=fi(function(n,t,r){pt.call(n,r)?n[r].push(t):Ue(n,r,[t])});var Qo=Ou(function(n,t,r){var e=-1,u="function"==typeof t,i=Af(n)?Xn(n.length):[];return Ne(n,function(n){i[++e]=u?tr(t,n,r):ou(n,t,r)}),i}),Xo=fi(function(n,t,r){Ue(n,r,t)});function nf(n,t){return(xf(n)?cr:_u)(n,$i(t,3))}var tf=fi(function(n,t,r){n[r?0:1].push(t)},function(){return[[],[]]});var rf=Ou(function(n,t){if(null==n)return[];var r=t.length;return r>1&&Hi(n,t[0],t[1])?t=[]:r>2&&Hi(t[0],t[1],t[2])&&(t=[t[0]]),wu(n,Ve(t,1),[])}),ef=Zt||function(){return Ft.Date.now()};function uf(t,r,e){return r=e?n:r,r=t&&null==r?t.length:r,Ii(t,b,n,n,n,n,r)}function of(t,r){var u;if("function"!=typeof r)throw new ft(e);return t=Kf(t),function(){return--t>0&&(u=r.apply(this,arguments)),t<=1&&(r=n),u}}var ff=Ou(function(n,t,r){var e=h;if(r.length){var u=Tr(r,Ti(ff));e|=y}return Ii(n,e,t,r,u)}),af=Ou(function(n,t,r){var e=h|p;if(r.length){var u=Tr(r,Ti(af));e|=y}return Ii(t,e,n,r,u)});function cf(t,r,u){var i,o,f,a,c,l,s=0,h=!1,p=!1,v=!0;if("function"!=typeof t)throw new ft(e);function _(r){var e=i,u=o;return i=o=n,s=r,a=t.apply(u,e)}function g(t){var e=t-l;return l===n||e>=r||e<0||p&&t-s>=f}function y(){var n,t,e=ef();if(g(e))return d(e);c=io(y,(t=r-((n=e)-l),p?Hr(t,f-(n-s)):t))}function d(t){return c=n,v&&i?_(t):(i=o=n,a)}function b(){var t,e=ef(),u=g(e);if(i=arguments,o=this,l=e,u){if(c===n)return s=t=l,c=io(y,r),h?_(t):a;if(p)return c=io(y,r),_(l)}return c===n&&(c=io(y,r)),a}return r=Gf(r)||0,Wf(u)&&(h=!!u.leading,f=(p="maxWait"in u)?Gr(Gf(u.maxWait)||0,r):f,v="trailing"in u?!!u.trailing:v),b.cancel=function(){c!==n&&Qu(c),s=0,i=l=o=c=n},b.flush=function(){return c===n?a:d(ef())},b}var lf=Ou(function(n,t){return Me(n,1,t)}),sf=Ou(function(n,t,r){return Me(n,Gf(t)||0,r)});function hf(n,t){if("function"!=typeof n||null!=t&&"function"!=typeof t)throw new ft(e);var r=function(){var e=arguments,u=t?t.apply(this,e):e[0],i=r.cache;if(i.has(u))return i.get(u);var o=n.apply(this,e);return r.cache=i.set(u,o)||i,o};return r.cache=new(hf.Cache||je),r}function pf(n){if("function"!=typeof n)throw new ft(e);return function(){var t=arguments;switch(t.length){case 0:return!n.call(this);case 1:return!n.call(this,t[0]);case 2:return!n.call(this,t[0],t[1]);case 3:return!n.call(this,t[0],t[1],t[2])}return!n.apply(this,t)}}hf.Cache=je;var vf=Ju(function(n,t){var r=(t=1==t.length&&xf(t[0])?cr(t[0],Or($i())):cr(Ve(t,1),Or($i()))).length;return Ou(function(e){for(var u=-1,i=Hr(e.length,r);++u<i;)e[u]=t[u].call(this,e[u]);return tr(n,this,e)})}),_f=Ou(function(t,r){var e=Tr(r,Ti(_f));return Ii(t,y,n,r,e)}),gf=Ou(function(t,r){var e=Tr(r,Ti(gf));return Ii(t,d,n,r,e)}),yf=Wi(function(t,r){return Ii(t,w,n,n,n,r)});function df(n,t){return n===t||n!=n&&t!=t}var bf=xi(ru),wf=xi(function(n,t){return n>=t}),mf=fu(function(){return arguments}())?fu:function(n){return Lf(n)&&pt.call(n,"callee")&&!Rt.call(n,"callee")},xf=Xn.isArray,jf=Vt?Or(Vt):function(n){return Lf(n)&&tu(n)==un};function Af(n){return null!=n&&Sf(n.length)&&!zf(n)}function kf(n){return Lf(n)&&Af(n)}var Of=qr||Ga,If=Gt?Or(Gt):function(n){return Lf(n)&&tu(n)==M};function Rf(n){if(!Lf(n))return!1;var t=tu(n);return t==N||t==F||"string"==typeof n.message&&"string"==typeof n.name&&!Bf(n)}function zf(n){if(!Wf(n))return!1;var t=tu(n);return t==P||t==q||t==$||t==J}function Ef(n){return"number"==typeof n&&n==Kf(n)}function Sf(n){return"number"==typeof n&&n>-1&&n%1==0&&n<=z}function Wf(n){var t=typeof n;return null!=n&&("object"==t||"function"==t)}function Lf(n){return null!=n&&"object"==typeof n}var Cf=Ht?Or(Ht):function(n){return Lf(n)&&qi(n)==Z};function Uf(n){return"number"==typeof n||Lf(n)&&tu(n)==K}function Bf(n){if(!Lf(n)||tu(n)!=G)return!1;var t=At(n);if(null===t)return!0;var r=pt.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&ht.call(r)==yt}var Tf=Jt?Or(Jt):function(n){return Lf(n)&&tu(n)==Y};var $f=Yt?Or(Yt):function(n){return Lf(n)&&qi(n)==Q};function Df(n){return"string"==typeof n||!xf(n)&&Lf(n)&&tu(n)==X}function Mf(n){return"symbol"==typeof n||Lf(n)&&tu(n)==nn}var Ff=Qt?Or(Qt):function(n){return Lf(n)&&Sf(n.length)&&!!Ct[tu(n)]};var Nf=xi(vu),Pf=xi(function(n,t){return n<=t});function qf(n){if(!n)return[];if(Af(n))return Df(n)?Mr(n):ii(n);if(Dt&&n[Dt])return function(n){for(var t,r=[];!(t=n.next()).done;)r.push(t.value);return r}(n[Dt]());var t=qi(n);return(t==Z?Ur:t==Q?$r:da)(n)}function Zf(n){return n?(n=Gf(n))===R||n===-R?(n<0?-1:1)*E:n==n?n:0:0===n?n:0}function Kf(n){var t=Zf(n),r=t%1;return t==t?r?t-r:t:0}function Vf(n){return n?Te(Kf(n),0,W):0}function Gf(n){if("number"==typeof n)return n;if(Mf(n))return S;if(Wf(n)){var t="function"==typeof n.valueOf?n.valueOf():n;n=Wf(t)?t+"":t}if("string"!=typeof n)return 0===n?n:+n;n=n.replace(Wn,"");var r=Pn.test(n);return r||Zn.test(n)?$t(n.slice(2),r?2:8):Nn.test(n)?S:+n}function Hf(n){return oi(n,la(n))}function Jf(n){return null==n?"":Du(n)}var Yf=ai(function(n,t){if(Xi(t)||Af(t))oi(t,ca(t),n);else for(var r in t)pt.call(t,r)&&Se(n,r,t[r])}),Qf=ai(function(n,t){oi(t,la(t),n)}),Xf=ai(function(n,t,r,e){oi(t,la(t),n,e)}),na=ai(function(n,t,r,e){oi(t,ca(t),n,e)}),ta=Wi(Be);var ra=Ou(function(t){return t.push(n,Ri),tr(Xf,n,t)}),ea=Ou(function(t){return t.push(n,zi),tr(ha,n,t)});function ua(t,r,e){var u=null==t?n:Xe(t,r);return u===n?e:u}function ia(n,t){return null!=n&&Zi(n,t,uu)}var oa=yi(function(n,t,r){n[t]=r},Wa(Ua)),fa=yi(function(n,t,r){pt.call(n,t)?n[t].push(r):n[t]=[r]},$i),aa=Ou(ou);function ca(n){return Af(n)?Oe(n):hu(n)}function la(n){return Af(n)?Oe(n,!0):pu(n)}var sa=ai(function(n,t,r){du(n,t,r)}),ha=ai(function(n,t,r,e){du(n,t,r,e)}),pa=Wi(function(n,t){var r={};if(null==n)return r;var e=!1;t=cr(t,function(t){return t=Hu(t,n),e||(e=t.length>1),t}),oi(n,Ci(n),r),e&&(r=$e(r,f|a|c,Ei));for(var u=t.length;u--;)Fu(r,t[u]);return r});var va=Wi(function(n,t){return null==n?{}:mu(r=n,t,function(n,t){return ia(r,t)});var r});function _a(n,t){if(null==n)return{};var r=cr(Ci(n),function(n){return[n]});return t=$i(t),mu(n,r,function(n,r){return t(n,r[0])})}var ga=Oi(ca),ya=Oi(la);function da(n){return null==n?[]:Ir(n,ca(n))}var ba=hi(function(n,t,r){return t=t.toLowerCase(),n+(r?wa(t):t)});function wa(n){return Ra(Jf(n).toLowerCase())}function ma(n){return(n=Jf(n))&&n.replace(Vn,Sr).replace(It,"")}var xa=hi(function(n,t,r){return n+(r?"-":"")+t.toLowerCase()}),ja=hi(function(n,t,r){return n+(r?" ":"")+t.toLowerCase()}),Aa=si("toLowerCase");var ka=hi(function(n,t,r){return n+(r?"_":"")+t.toLowerCase()});var Oa=hi(function(n,t,r){return n+(r?" ":"")+Ra(t)});var Ia=hi(function(n,t,r){return n+(r?" ":"")+t.toUpperCase()}),Ra=si("toUpperCase");function za(t,r,e){return t=Jf(t),(r=e?n:r)===n?(u=t,St.test(u)?t.match(zt)||[]:t.match($n)||[]):t.match(r)||[];var u}var Ea=Ou(function(t,r){try{return tr(t,n,r)}catch(n){return Rf(n)?n:new tt(n)}}),Sa=Wi(function(n,t){return er(t,function(t){t=po(t),Ue(n,t,ff(n[t],n))}),n});function Wa(n){return function(){return n}}var La=_i(),Ca=_i(!0);function Ua(n){return n}function Ba(n){return su("function"==typeof n?n:$e(n,f))}var Ta=Ou(function(n,t){return function(r){return ou(r,n,t)}}),$a=Ou(function(n,t){return function(r){return ou(n,r,t)}});function Da(n,t,r){var e=ca(t),u=Qe(t,e);null!=r||Wf(t)&&(u.length||!e.length)||(r=t,t=n,n=this,u=Qe(t,ca(t)));var i=!(Wf(r)&&"chain"in r&&!r.chain),o=zf(n);return er(u,function(r){var e=t[r];n[r]=e,o&&(n.prototype[r]=function(){var t=this.__chain__;if(i||t){var r=n(this.__wrapped__);return(r.__actions__=ii(this.__actions__)).push({func:e,args:arguments,thisArg:n}),r.__chain__=t,r}return e.apply(n,lr([this.value()],arguments))})}),n}function Ma(){}var Fa=bi(cr),Na=bi(ir),Pa=bi(pr);function qa(n){return Ji(n)?mr(po(n)):(t=n,function(n){return Xe(n,t)});var t}var Za=mi(),Ka=mi(!0);function Va(){return[]}function Ga(){return!1}var Ha=di(function(n,t){return n+t},0),Ja=Ai("ceil"),Ya=di(function(n,t){return n/t},1),Qa=Ai("floor");var Xa,nc=di(function(n,t){return n*t},1),tc=Ai("round"),rc=di(function(n,t){return n-t},0);return ge.after=function(n,t){if("function"!=typeof t)throw new ft(e);return n=Kf(n),function(){if(--n<1)return t.apply(this,arguments)}},ge.ary=uf,ge.assign=Yf,ge.assignIn=Qf,ge.assignInWith=Xf,ge.assignWith=na,ge.at=ta,ge.before=of,ge.bind=ff,ge.bindAll=Sa,ge.bindKey=af,ge.castArray=function(){if(!arguments.length)return[];var n=arguments[0];return xf(n)?n:[n]},ge.chain=Po,ge.chunk=function(t,r,e){r=(e?Hi(t,r,e):r===n)?1:Gr(Kf(r),0);var u=null==t?0:t.length;if(!u||r<1)return[];for(var i=0,o=0,f=Xn(vr(u/r));i<u;)f[o++]=Lu(t,i,i+=r);return f},ge.compact=function(n){for(var t=-1,r=null==n?0:n.length,e=0,u=[];++t<r;){var i=n[t];i&&(u[e++]=i)}return u},ge.concat=function(){var n=arguments.length;if(!n)return[];for(var t=Xn(n-1),r=arguments[0],e=n;e--;)t[e-1]=arguments[e];return lr(xf(r)?ii(r):[r],Ve(t,1))},ge.cond=function(n){var t=null==n?0:n.length,r=$i();return n=t?cr(n,function(n){if("function"!=typeof n[1])throw new ft(e);return[r(n[0]),n[1]]}):[],Ou(function(r){for(var e=-1;++e<t;){var u=n[e];if(tr(u[0],this,r))return tr(u[1],this,r)}})},ge.conforms=function(n){return t=$e(n,f),r=ca(t),function(n){return De(n,t,r)};var t,r},ge.constant=Wa,ge.countBy=Ko,ge.create=function(n,t){var r=ye(n);return null==t?r:Ce(r,t)},ge.curry=function t(r,e,u){var i=Ii(r,_,n,n,n,n,n,e=u?n:e);return i.placeholder=t.placeholder,i},ge.curryRight=function t(r,e,u){var i=Ii(r,g,n,n,n,n,n,e=u?n:e);return i.placeholder=t.placeholder,i},ge.debounce=cf,ge.defaults=ra,ge.defaultsDeep=ea,ge.defer=lf,ge.delay=sf,ge.difference=go,ge.differenceBy=yo,ge.differenceWith=bo,ge.drop=function(t,r,e){var u=null==t?0:t.length;return u?Lu(t,(r=e||r===n?1:Kf(r))<0?0:r,u):[]},ge.dropRight=function(t,r,e){var u=null==t?0:t.length;return u?Lu(t,0,(r=u-(r=e||r===n?1:Kf(r)))<0?0:r):[]},ge.dropRightWhile=function(n,t){return n&&n.length?Pu(n,$i(t,3),!0,!0):[]},ge.dropWhile=function(n,t){return n&&n.length?Pu(n,$i(t,3),!0):[]},ge.fill=function(t,r,e,u){var i=null==t?0:t.length;return i?(e&&"number"!=typeof e&&Hi(t,r,e)&&(e=0,u=i),function(t,r,e,u){var i=t.length;for((e=Kf(e))<0&&(e=-e>i?0:i+e),(u=u===n||u>i?i:Kf(u))<0&&(u+=i),u=e>u?0:Vf(u);e<u;)t[e++]=r;return t}(t,r,e,u)):[]},ge.filter=function(n,t){return(xf(n)?or:Ke)(n,$i(t,3))},ge.flatMap=function(n,t){return Ve(nf(n,t),1)},ge.flatMapDeep=function(n,t){return Ve(nf(n,t),R)},ge.flatMapDepth=function(t,r,e){return e=e===n?1:Kf(e),Ve(nf(t,r),e)},ge.flatten=xo,ge.flattenDeep=function(n){return null!=n&&n.length?Ve(n,R):[]},ge.flattenDepth=function(t,r){return null!=t&&t.length?Ve(t,r=r===n?1:Kf(r)):[]},ge.flip=function(n){return Ii(n,m)},ge.flow=La,ge.flowRight=Ca,ge.fromPairs=function(n){for(var t=-1,r=null==n?0:n.length,e={};++t<r;){var u=n[t];e[u[0]]=u[1]}return e},ge.functions=function(n){return null==n?[]:Qe(n,ca(n))},ge.functionsIn=function(n){return null==n?[]:Qe(n,la(n))},ge.groupBy=Yo,ge.initial=function(n){return null!=n&&n.length?Lu(n,0,-1):[]},ge.intersection=Ao,ge.intersectionBy=ko,ge.intersectionWith=Oo,ge.invert=oa,ge.invertBy=fa,ge.invokeMap=Qo,ge.iteratee=Ba,ge.keyBy=Xo,ge.keys=ca,ge.keysIn=la,ge.map=nf,ge.mapKeys=function(n,t){var r={};return t=$i(t,3),Je(n,function(n,e,u){Ue(r,t(n,e,u),n)}),r},ge.mapValues=function(n,t){var r={};return t=$i(t,3),Je(n,function(n,e,u){Ue(r,e,t(n,e,u))}),r},ge.matches=function(n){return gu($e(n,f))},ge.matchesProperty=function(n,t){return yu(n,$e(t,f))},ge.memoize=hf,ge.merge=sa,ge.mergeWith=ha,ge.method=Ta,ge.methodOf=$a,ge.mixin=Da,ge.negate=pf,ge.nthArg=function(n){return n=Kf(n),Ou(function(t){return bu(t,n)})},ge.omit=pa,ge.omitBy=function(n,t){return _a(n,pf($i(t)))},ge.once=function(n){return of(2,n)},ge.orderBy=function(t,r,e,u){return null==t?[]:(xf(r)||(r=null==r?[]:[r]),xf(e=u?n:e)||(e=null==e?[]:[e]),wu(t,r,e))},ge.over=Fa,ge.overArgs=vf,ge.overEvery=Na,ge.overSome=Pa,ge.partial=_f,ge.partialRight=gf,ge.partition=tf,ge.pick=va,ge.pickBy=_a,ge.property=qa,ge.propertyOf=function(t){return function(r){return null==t?n:Xe(t,r)}},ge.pull=Ro,ge.pullAll=zo,ge.pullAllBy=function(n,t,r){return n&&n.length&&t&&t.length?xu(n,t,$i(r,2)):n},ge.pullAllWith=function(t,r,e){return t&&t.length&&r&&r.length?xu(t,r,n,e):t},ge.pullAt=Eo,ge.range=Za,ge.rangeRight=Ka,ge.rearg=yf,ge.reject=function(n,t){return(xf(n)?or:Ke)(n,pf($i(t,3)))},ge.remove=function(n,t){var r=[];if(!n||!n.length)return r;var e=-1,u=[],i=n.length;for(t=$i(t,3);++e<i;){var o=n[e];t(o,e,n)&&(r.push(o),u.push(e))}return ju(n,u),r},ge.rest=function(t,r){if("function"!=typeof t)throw new ft(e);return Ou(t,r=r===n?r:Kf(r))},ge.reverse=So,ge.sampleSize=function(t,r,e){return r=(e?Hi(t,r,e):r===n)?1:Kf(r),(xf(t)?Re:Ru)(t,r)},ge.set=function(n,t,r){return null==n?n:zu(n,t,r)},ge.setWith=function(t,r,e,u){return u="function"==typeof u?u:n,null==t?t:zu(t,r,e,u)},ge.shuffle=function(n){return(xf(n)?ze:Wu)(n)},ge.slice=function(t,r,e){var u=null==t?0:t.length;return u?(e&&"number"!=typeof e&&Hi(t,r,e)?(r=0,e=u):(r=null==r?0:Kf(r),e=e===n?u:Kf(e)),Lu(t,r,e)):[]},ge.sortBy=rf,ge.sortedUniq=function(n){return n&&n.length?Tu(n):[]},ge.sortedUniqBy=function(n,t){return n&&n.length?Tu(n,$i(t,2)):[]},ge.split=function(t,r,e){return e&&"number"!=typeof e&&Hi(t,r,e)&&(r=e=n),(e=e===n?W:e>>>0)?(t=Jf(t))&&("string"==typeof r||null!=r&&!Tf(r))&&!(r=Du(r))&&Cr(t)?Yu(Mr(t),0,e):t.split(r,e):[]},ge.spread=function(n,t){if("function"!=typeof n)throw new ft(e);return t=null==t?0:Gr(Kf(t),0),Ou(function(r){var e=r[t],u=Yu(r,0,t);return e&&lr(u,e),tr(n,this,u)})},ge.tail=function(n){var t=null==n?0:n.length;return t?Lu(n,1,t):[]},ge.take=function(t,r,e){return t&&t.length?Lu(t,0,(r=e||r===n?1:Kf(r))<0?0:r):[]},ge.takeRight=function(t,r,e){var u=null==t?0:t.length;return u?Lu(t,(r=u-(r=e||r===n?1:Kf(r)))<0?0:r,u):[]},ge.takeRightWhile=function(n,t){return n&&n.length?Pu(n,$i(t,3),!1,!0):[]},ge.takeWhile=function(n,t){return n&&n.length?Pu(n,$i(t,3)):[]},ge.tap=function(n,t){return t(n),n},ge.throttle=function(n,t,r){var u=!0,i=!0;if("function"!=typeof n)throw new ft(e);return Wf(r)&&(u="leading"in r?!!r.leading:u,i="trailing"in r?!!r.trailing:i),cf(n,t,{leading:u,maxWait:t,trailing:i})},ge.thru=qo,ge.toArray=qf,ge.toPairs=ga,ge.toPairsIn=ya,ge.toPath=function(n){return xf(n)?cr(n,po):Mf(n)?[n]:ii(ho(Jf(n)))},ge.toPlainObject=Hf,ge.transform=function(n,t,r){var e=xf(n),u=e||Of(n)||Ff(n);if(t=$i(t,4),null==r){var i=n&&n.constructor;r=u?e?new i:[]:Wf(n)&&zf(i)?ye(At(n)):{}}return(u?er:Je)(n,function(n,e,u){return t(r,n,e,u)}),r},ge.unary=function(n){return uf(n,1)},ge.union=Wo,ge.unionBy=Lo,ge.unionWith=Co,ge.uniq=function(n){return n&&n.length?Mu(n):[]},ge.uniqBy=function(n,t){return n&&n.length?Mu(n,$i(t,2)):[]},ge.uniqWith=function(t,r){return r="function"==typeof r?r:n,t&&t.length?Mu(t,n,r):[]},ge.unset=function(n,t){return null==n||Fu(n,t)},ge.unzip=Uo,ge.unzipWith=Bo,ge.update=function(n,t,r){return null==n?n:Nu(n,t,Gu(r))},ge.updateWith=function(t,r,e,u){return u="function"==typeof u?u:n,null==t?t:Nu(t,r,Gu(e),u)},ge.values=da,ge.valuesIn=function(n){return null==n?[]:Ir(n,la(n))},ge.without=To,ge.words=za,ge.wrap=function(n,t){return _f(Gu(t),n)},ge.xor=$o,ge.xorBy=Do,ge.xorWith=Mo,ge.zip=Fo,ge.zipObject=function(n,t){return Ku(n||[],t||[],Se)},ge.zipObjectDeep=function(n,t){return Ku(n||[],t||[],zu)},ge.zipWith=No,ge.entries=ga,ge.entriesIn=ya,ge.extend=Qf,ge.extendWith=Xf,Da(ge,ge),ge.add=Ha,ge.attempt=Ea,ge.camelCase=ba,ge.capitalize=wa,ge.ceil=Ja,ge.clamp=function(t,r,e){return e===n&&(e=r,r=n),e!==n&&(e=(e=Gf(e))==e?e:0),r!==n&&(r=(r=Gf(r))==r?r:0),Te(Gf(t),r,e)},ge.clone=function(n){return $e(n,c)},ge.cloneDeep=function(n){return $e(n,f|c)},ge.cloneDeepWith=function(t,r){return $e(t,f|c,r="function"==typeof r?r:n)},ge.cloneWith=function(t,r){return $e(t,c,r="function"==typeof r?r:n)},ge.conformsTo=function(n,t){return null==t||De(n,t,ca(t))},ge.deburr=ma,ge.defaultTo=function(n,t){return null==n||n!=n?t:n},ge.divide=Ya,ge.endsWith=function(t,r,e){t=Jf(t),r=Du(r);var u=t.length,i=e=e===n?u:Te(Kf(e),0,u);return(e-=r.length)>=0&&t.slice(e,i)==r},ge.eq=df,ge.escape=function(n){return(n=Jf(n))&&xn.test(n)?n.replace(wn,Wr):n},ge.escapeRegExp=function(n){return(n=Jf(n))&&Sn.test(n)?n.replace(En,"\\$&"):n},ge.every=function(t,r,e){var u=xf(t)?ir:qe;return e&&Hi(t,r,e)&&(r=n),u(t,$i(r,3))},ge.find=Vo,ge.findIndex=wo,ge.findKey=function(n,t){return _r(n,$i(t,3),Je)},ge.findLast=Go,ge.findLastIndex=mo,ge.findLastKey=function(n,t){return _r(n,$i(t,3),Ye)},ge.floor=Qa,ge.forEach=Ho,ge.forEachRight=Jo,ge.forIn=function(n,t){return null==n?n:Ge(n,$i(t,3),la)},ge.forInRight=function(n,t){return null==n?n:He(n,$i(t,3),la)},ge.forOwn=function(n,t){return n&&Je(n,$i(t,3))},ge.forOwnRight=function(n,t){return n&&Ye(n,$i(t,3))},ge.get=ua,ge.gt=bf,ge.gte=wf,ge.has=function(n,t){return null!=n&&Zi(n,t,eu)},ge.hasIn=ia,ge.head=jo,ge.identity=Ua,ge.includes=function(n,t,r,e){n=Af(n)?n:da(n),r=r&&!e?Kf(r):0;var u=n.length;return r<0&&(r=Gr(u+r,0)),Df(n)?r<=u&&n.indexOf(t,r)>-1:!!u&&yr(n,t,r)>-1},ge.indexOf=function(n,t,r){var e=null==n?0:n.length;if(!e)return-1;var u=null==r?0:Kf(r);return u<0&&(u=Gr(e+u,0)),yr(n,t,u)},ge.inRange=function(t,r,e){return r=Zf(r),e===n?(e=r,r=0):e=Zf(e),t=Gf(t),(u=t)>=Hr(i=r,o=e)&&u<Gr(i,o);var u,i,o},ge.invoke=aa,ge.isArguments=mf,ge.isArray=xf,ge.isArrayBuffer=jf,ge.isArrayLike=Af,ge.isArrayLikeObject=kf,ge.isBoolean=function(n){return!0===n||!1===n||Lf(n)&&tu(n)==D},ge.isBuffer=Of,ge.isDate=If,ge.isElement=function(n){return Lf(n)&&1===n.nodeType&&!Bf(n)},ge.isEmpty=function(n){if(null==n)return!0;if(Af(n)&&(xf(n)||"string"==typeof n||"function"==typeof n.splice||Of(n)||Ff(n)||mf(n)))return!n.length;var t=qi(n);if(t==Z||t==Q)return!n.size;if(Xi(n))return!hu(n).length;for(var r in n)if(pt.call(n,r))return!1;return!0},ge.isEqual=function(n,t){return au(n,t)},ge.isEqualWith=function(t,r,e){var u=(e="function"==typeof e?e:n)?e(t,r):n;return u===n?au(t,r,n,e):!!u},ge.isError=Rf,ge.isFinite=function(n){return"number"==typeof n&&Zr(n)},ge.isFunction=zf,ge.isInteger=Ef,ge.isLength=Sf,ge.isMap=Cf,ge.isMatch=function(n,t){return n===t||cu(n,t,Mi(t))},ge.isMatchWith=function(t,r,e){return e="function"==typeof e?e:n,cu(t,r,Mi(r),e)},ge.isNaN=function(n){return Uf(n)&&n!=+n},ge.isNative=function(n){if(Qi(n))throw new tt(r);return lu(n)},ge.isNil=function(n){return null==n},ge.isNull=function(n){return null===n},ge.isNumber=Uf,ge.isObject=Wf,ge.isObjectLike=Lf,ge.isPlainObject=Bf,ge.isRegExp=Tf,ge.isSafeInteger=function(n){return Ef(n)&&n>=-z&&n<=z},ge.isSet=$f,ge.isString=Df,ge.isSymbol=Mf,ge.isTypedArray=Ff,ge.isUndefined=function(t){return t===n},ge.isWeakMap=function(n){return Lf(n)&&qi(n)==rn},ge.isWeakSet=function(n){return Lf(n)&&tu(n)==en},ge.join=function(n,t){return null==n?"":Kr.call(n,t)},ge.kebabCase=xa,ge.last=Io,ge.lastIndexOf=function(t,r,e){var u=null==t?0:t.length;if(!u)return-1;var i=u;return e!==n&&(i=(i=Kf(e))<0?Gr(u+i,0):Hr(i,u-1)),r==r?function(n,t,r){for(var e=r+1;e--;)if(n[e]===t)return e;return e}(t,r,i):gr(t,br,i,!0)},ge.lowerCase=ja,ge.lowerFirst=Aa,ge.lt=Nf,ge.lte=Pf,ge.max=function(t){return t&&t.length?Ze(t,Ua,ru):n},ge.maxBy=function(t,r){return t&&t.length?Ze(t,$i(r,2),ru):n},ge.mean=function(n){return wr(n,Ua)},ge.meanBy=function(n,t){return wr(n,$i(t,2))},ge.min=function(t){return t&&t.length?Ze(t,Ua,vu):n},ge.minBy=function(t,r){return t&&t.length?Ze(t,$i(r,2),vu):n},ge.stubArray=Va,ge.stubFalse=Ga,ge.stubObject=function(){return{}},ge.stubString=function(){return""},ge.stubTrue=function(){return!0},ge.multiply=nc,ge.nth=function(t,r){return t&&t.length?bu(t,Kf(r)):n},ge.noConflict=function(){return Ft._===this&&(Ft._=dt),this},ge.noop=Ma,ge.now=ef,ge.pad=function(n,t,r){n=Jf(n);var e=(t=Kf(t))?Dr(n):0;if(!t||e>=t)return n;var u=(t-e)/2;return wi(xr(u),r)+n+wi(vr(u),r)},ge.padEnd=function(n,t,r){n=Jf(n);var e=(t=Kf(t))?Dr(n):0;return t&&e<t?n+wi(t-e,r):n},ge.padStart=function(n,t,r){n=Jf(n);var e=(t=Kf(t))?Dr(n):0;return t&&e<t?wi(t-e,r)+n:n},ge.parseInt=function(n,t,r){return r||null==t?t=0:t&&(t=+t),Yr(Jf(n).replace(Ln,""),t||0)},ge.random=function(t,r,e){if(e&&"boolean"!=typeof e&&Hi(t,r,e)&&(r=e=n),e===n&&("boolean"==typeof r?(e=r,r=n):"boolean"==typeof t&&(e=t,t=n)),t===n&&r===n?(t=0,r=1):(t=Zf(t),r===n?(r=t,t=0):r=Zf(r)),t>r){var u=t;t=r,r=u}if(e||t%1||r%1){var i=Qr();return Hr(t+i*(r-t+Tt("1e-"+((i+"").length-1))),r)}return Au(t,r)},ge.reduce=function(n,t,r){var e=xf(n)?sr:jr,u=arguments.length<3;return e(n,$i(t,4),r,u,Ne)},ge.reduceRight=function(n,t,r){var e=xf(n)?hr:jr,u=arguments.length<3;return e(n,$i(t,4),r,u,Pe)},ge.repeat=function(t,r,e){return r=(e?Hi(t,r,e):r===n)?1:Kf(r),ku(Jf(t),r)},ge.replace=function(){var n=arguments,t=Jf(n[0]);return n.length<3?t:t.replace(n[1],n[2])},ge.result=function(t,r,e){var u=-1,i=(r=Hu(r,t)).length;for(i||(i=1,t=n);++u<i;){var o=null==t?n:t[po(r[u])];o===n&&(u=i,o=e),t=zf(o)?o.call(t):o}return t},ge.round=tc,ge.runInContext=Jn,ge.sample=function(n){return(xf(n)?Ie:Iu)(n)},ge.size=function(n){if(null==n)return 0;if(Af(n))return Df(n)?Dr(n):n.length;var t=qi(n);return t==Z||t==Q?n.size:hu(n).length},ge.snakeCase=ka,ge.some=function(t,r,e){var u=xf(t)?pr:Cu;return e&&Hi(t,r,e)&&(r=n),u(t,$i(r,3))},ge.sortedIndex=function(n,t){return Uu(n,t)},ge.sortedIndexBy=function(n,t,r){return Bu(n,t,$i(r,2))},ge.sortedIndexOf=function(n,t){var r=null==n?0:n.length;if(r){var e=Uu(n,t);if(e<r&&df(n[e],t))return e}return-1},ge.sortedLastIndex=function(n,t){return Uu(n,t,!0)},ge.sortedLastIndexBy=function(n,t,r){return Bu(n,t,$i(r,2),!0)},ge.sortedLastIndexOf=function(n,t){if(null!=n&&n.length){var r=Uu(n,t,!0)-1;if(df(n[r],t))return r}return-1},ge.startCase=Oa,ge.startsWith=function(n,t,r){return n=Jf(n),r=null==r?0:Te(Kf(r),0,n.length),t=Du(t),n.slice(r,r+t.length)==t},ge.subtract=rc,ge.sum=function(n){return n&&n.length?Ar(n,Ua):0},ge.sumBy=function(n,t){return n&&n.length?Ar(n,$i(t,2)):0},ge.template=function(t,r,e){var u=ge.templateSettings;e&&Hi(t,r,e)&&(r=n),t=Jf(t),r=Xf({},r,u,Ri);var i,o,f=Xf({},r.imports,u.imports,Ri),a=ca(f),c=Ir(f,a),l=0,s=r.interpolate||Gn,h="__p += '",p=it((r.escape||Gn).source+"|"+s.source+"|"+(s===kn?Mn:Gn).source+"|"+(r.evaluate||Gn).source+"|$","g"),v="//# sourceURL="+("sourceURL"in r?r.sourceURL:"lodash.templateSources["+ ++Lt+"]")+"\n";t.replace(p,function(n,r,e,u,f,a){return e||(e=u),h+=t.slice(l,a).replace(Hn,Lr),r&&(i=!0,h+="' +\n__e("+r+") +\n'"),f&&(o=!0,h+="';\n"+f+";\n__p += '"),e&&(h+="' +\n((__t = ("+e+")) == null ? '' : __t) +\n'"),l=a+n.length,n}),h+="';\n";var _=r.variable;_||(h="with (obj) {\n"+h+"\n}\n"),h=(o?h.replace(gn,""):h).replace(yn,"$1").replace(dn,"$1;"),h="function("+(_||"obj")+") {\n"+(_?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(i?", __e = _.escape":"")+(o?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+h+"return __p\n}";var g=Ea(function(){return rt(a,v+"return "+h).apply(n,c)});if(g.source=h,Rf(g))throw g;return g},ge.times=function(n,t){if((n=Kf(n))<1||n>z)return[];var r=W,e=Hr(n,W);t=$i(t),n-=W;for(var u=kr(e,t);++r<n;)t(r);return u},ge.toFinite=Zf,ge.toInteger=Kf,ge.toLength=Vf,ge.toLower=function(n){return Jf(n).toLowerCase()},ge.toNumber=Gf,ge.toSafeInteger=function(n){return n?Te(Kf(n),-z,z):0===n?n:0},ge.toString=Jf,ge.toUpper=function(n){return Jf(n).toUpperCase()},ge.trim=function(t,r,e){if((t=Jf(t))&&(e||r===n))return t.replace(Wn,"");if(!t||!(r=Du(r)))return t;var u=Mr(t),i=Mr(r);return Yu(u,zr(u,i),Er(u,i)+1).join("")},ge.trimEnd=function(t,r,e){if((t=Jf(t))&&(e||r===n))return t.replace(Cn,"");if(!t||!(r=Du(r)))return t;var u=Mr(t);return Yu(u,0,Er(u,Mr(r))+1).join("")},ge.trimStart=function(t,r,e){if((t=Jf(t))&&(e||r===n))return t.replace(Ln,"");if(!t||!(r=Du(r)))return t;var u=Mr(t);return Yu(u,zr(u,Mr(r))).join("")},ge.truncate=function(t,r){var e=x,u=j;if(Wf(r)){var i="separator"in r?r.separator:i;e="length"in r?Kf(r.length):e,u="omission"in r?Du(r.omission):u}var o=(t=Jf(t)).length;if(Cr(t)){var f=Mr(t);o=f.length}if(e>=o)return t;var a=e-Dr(u);if(a<1)return u;var c=f?Yu(f,0,a).join(""):t.slice(0,a);if(i===n)return c+u;if(f&&(a+=c.length-a),Tf(i)){if(t.slice(a).search(i)){var l,s=c;for(i.global||(i=it(i.source,Jf(Fn.exec(i))+"g")),i.lastIndex=0;l=i.exec(s);)var h=l.index;c=c.slice(0,h===n?a:h)}}else if(t.indexOf(Du(i),a)!=a){var p=c.lastIndexOf(i);p>-1&&(c=c.slice(0,p))}return c+u},ge.unescape=function(n){return(n=Jf(n))&&mn.test(n)?n.replace(bn,Fr):n},ge.uniqueId=function(n){var t=++vt;return Jf(n)+t},ge.upperCase=Ia,ge.upperFirst=Ra,ge.each=Ho,ge.eachRight=Jo,ge.first=jo,Da(ge,(Xa={},Je(ge,function(n,t){pt.call(ge.prototype,t)||(Xa[t]=n)}),Xa),{chain:!1}),ge.VERSION="4.17.4",er(["bind","bindKey","curry","curryRight","partial","partialRight"],function(n){ge[n].placeholder=ge}),er(["drop","take"],function(t,r){we.prototype[t]=function(e){e=e===n?1:Gr(Kf(e),0);var u=this.__filtered__&&!r?new we(this):this.clone();return u.__filtered__?u.__takeCount__=Hr(e,u.__takeCount__):u.__views__.push({size:Hr(e,W),type:t+(u.__dir__<0?"Right":"")}),u},we.prototype[t+"Right"]=function(n){return this.reverse()[t](n).reverse()}}),er(["filter","map","takeWhile"],function(n,t){var r=t+1,e=r==O||3==r;we.prototype[n]=function(n){var t=this.clone();return t.__iteratees__.push({iteratee:$i(n,3),type:r}),t.__filtered__=t.__filtered__||e,t}}),er(["head","last"],function(n,t){var r="take"+(t?"Right":"");we.prototype[n]=function(){return this[r](1).value()[0]}}),er(["initial","tail"],function(n,t){var r="drop"+(t?"":"Right");we.prototype[n]=function(){return this.__filtered__?new we(this):this[r](1)}}),we.prototype.compact=function(){return this.filter(Ua)},we.prototype.find=function(n){return this.filter(n).head()},we.prototype.findLast=function(n){return this.reverse().find(n)},we.prototype.invokeMap=Ou(function(n,t){return"function"==typeof n?new we(this):this.map(function(r){return ou(r,n,t)})}),we.prototype.reject=function(n){return this.filter(pf($i(n)))},we.prototype.slice=function(t,r){t=Kf(t);var e=this;return e.__filtered__&&(t>0||r<0)?new we(e):(t<0?e=e.takeRight(-t):t&&(e=e.drop(t)),r!==n&&(e=(r=Kf(r))<0?e.dropRight(-r):e.take(r-t)),e)},we.prototype.takeRightWhile=function(n){return this.reverse().takeWhile(n).reverse()},we.prototype.toArray=function(){return this.take(W)},Je(we.prototype,function(t,r){var e=/^(?:filter|find|map|reject)|While$/.test(r),u=/^(?:head|last)$/.test(r),i=ge[u?"take"+("last"==r?"Right":""):r],o=u||/^find/.test(r);i&&(ge.prototype[r]=function(){var r=this.__wrapped__,f=u?[1]:arguments,a=r instanceof we,c=f[0],l=a||xf(r),s=function(n){var t=i.apply(ge,lr([n],f));return u&&h?t[0]:t};l&&e&&"function"==typeof c&&1!=c.length&&(a=l=!1);var h=this.__chain__,p=!!this.__actions__.length,v=o&&!h,_=a&&!p;if(!o&&l){r=_?r:new we(this);var g=t.apply(r,f);return g.__actions__.push({func:qo,args:[s],thisArg:n}),new be(g,h)}return v&&_?t.apply(this,f):(g=this.thru(s),v?u?g.value()[0]:g.value():g)})}),er(["pop","push","shift","sort","splice","unshift"],function(n){var t=at[n],r=/^(?:push|sort|unshift)$/.test(n)?"tap":"thru",e=/^(?:pop|shift)$/.test(n);ge.prototype[n]=function(){var n=arguments;if(e&&!this.__chain__){var u=this.value();return t.apply(xf(u)?u:[],n)}return this[r](function(r){return t.apply(xf(r)?r:[],n)})}}),Je(we.prototype,function(n,t){var r=ge[t];if(r){var e=r.name+"";(fe[e]||(fe[e]=[])).push({name:t,func:r})}}),fe[gi(n,p).name]=[{name:"wrapper",func:n}],we.prototype.clone=function(){var n=new we(this.__wrapped__);return n.__actions__=ii(this.__actions__),n.__dir__=this.__dir__,n.__filtered__=this.__filtered__,n.__iteratees__=ii(this.__iteratees__),n.__takeCount__=this.__takeCount__,n.__views__=ii(this.__views__),n},we.prototype.reverse=function(){if(this.__filtered__){var n=new we(this);n.__dir__=-1,n.__filtered__=!0}else(n=this.clone()).__dir__*=-1;return n},we.prototype.value=function(){var n=this.__wrapped__.value(),t=this.__dir__,r=xf(n),e=t<0,u=r?n.length:0,i=function(n,t,r){for(var e=-1,u=r.length;++e<u;){var i=r[e],o=i.size;switch(i.type){case"drop":n+=o;break;case"dropRight":t-=o;break;case"take":t=Hr(t,n+o);break;case"takeRight":n=Gr(n,t-o)}}return{start:n,end:t}}(0,u,this.__views__),o=i.start,f=i.end,a=f-o,c=e?f:o-1,l=this.__iteratees__,s=l.length,h=0,p=Hr(a,this.__takeCount__);if(!r||!e&&u==a&&p==a)return qu(n,this.__actions__);var v=[];n:for(;a--&&h<p;){for(var _=-1,g=n[c+=t];++_<s;){var y=l[_],d=y.iteratee,b=y.type,w=d(g);if(b==I)g=w;else if(!w){if(b==O)continue n;break n}}v[h++]=g}return v},ge.prototype.at=Zo,ge.prototype.chain=function(){return Po(this)},ge.prototype.commit=function(){return new be(this.value(),this.__chain__)},ge.prototype.next=function(){this.__values__===n&&(this.__values__=qf(this.value()));var t=this.__index__>=this.__values__.length;return{done:t,value:t?n:this.__values__[this.__index__++]}},ge.prototype.plant=function(t){for(var r,e=this;e instanceof de;){var u=_o(e);u.__index__=0,u.__values__=n,r?i.__wrapped__=u:r=u;var i=u;e=e.__wrapped__}return i.__wrapped__=t,r},ge.prototype.reverse=function(){var t=this.__wrapped__;if(t instanceof we){var r=t;return this.__actions__.length&&(r=new we(this)),(r=r.reverse()).__actions__.push({func:qo,args:[So],thisArg:n}),new be(r,this.__chain__)}return this.thru(So)},ge.prototype.toJSON=ge.prototype.valueOf=ge.prototype.value=function(){return qu(this.__wrapped__,this.__actions__)},ge.prototype.first=ge.prototype.head,Dt&&(ge.prototype[Dt]=function(){return this}),ge}();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Ft._=Nr,define(function(){return Nr})):Pt?((Pt.exports=Nr)._=Nr,Nt._=Nr):Ft._=Nr}).call(this);
</script><script>
!function(n,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t:n.conditionizr=t()}(this,function(){"use strict";function n(n,t,i){function o(t){switch(t){case"class":document.documentElement.className+=" "+n}}for(var r=t.length;r--;)o(t[r])}var t={config:function(i){i.assets||"";for(var o in i.tests)t[o]&&n(o,i.tests[o])},add:function(n,i){t[n]=i()},on:function(n,i){(t[n]||/\!/.test(n)&&!t[n.slice(1)])&&i()}};return t.load=t.polyfill=function(i,o){for(var r=o.length;r--;)t[o[r]]&&n(i,[/\.js$/.test(i)?"script":"style"])},t}),conditionizr.add("chromium",function(){return/cros i686/i.test(navigator.platform)}),conditionizr.add("chrome",function(){return!!window.chrome&&/google/i.test(navigator.vendor)}),conditionizr.add("winPhone75",function(){return/Windows Phone 7.5/i.test(navigator.userAgent)}),conditionizr.add("winPhone8",function(){return/Windows Phone 8.0/i.test(navigator.userAgent)}),conditionizr.add("winPhone7",function(){return/Windows Phone 7.0/i.test(navigator.userAgent)}),conditionizr.add("windows",function(){return/win/i.test(navigator.platform)}),conditionizr.add("touch",function(){return"ontouchstart"in window||!!navigator.msMaxTouchPoints}),conditionizr.add("safari",function(){return/Constructor/.test(window.HTMLElement)}),conditionizr.add("retina",function(){return window.devicePixelRatio>=1.5}),conditionizr.add("phantomjs",function(){return/\sPhantomJS\/[[0-9]+\]/.test(navigator.userAgent)}),conditionizr.add("opera",function(){return!!window.opera||/opera/i.test(navigator.vendor)}),conditionizr.add("mac",function(){return/mac/i.test(navigator.platform)}),conditionizr.add("localhost",function(){return/(?:127\.0\.0\.1|localhost)/.test(location.host)}),conditionizr.add("linux",function(){return/linux/i.test(navigator.platform)&&!/android|cros/i.test(navigator.userAgent)}),conditionizr.add("android",function(){return/android/i.test(navigator.userAgent)}),conditionizr.add("ios",function(){return/iP(ad|hone|od)/i.test(navigator.userAgent)}),conditionizr.add("ie11",function(){return/(?:\sTrident\/7\.0;.*\srv:11\.0)/i.test(navigator.userAgent)}),conditionizr.add("edge",function(){return/Edge/i.test(navigator.userAgent)}),conditionizr.add("ie10touch",function(){return/MSIE 10\.0.*Touch(?!.*IEMobile)/i.test(navigator.userAgent)}),conditionizr.add("ie10",function(){return Function("/*@cc_on return (/^10/.test(@_jscript_version) && /MSIE 10.0(?!.*IEMobile)/i.test(navigator.userAgent)); @*/")()}),conditionizr.add("ie9",function(){return Function("/*@cc_on return (/^9/.test(@_jscript_version) && /MSIE 9.0(?!.*IEMobile)/i.test(navigator.userAgent)); @*/")()}),conditionizr.add("ie8",function(){return Function("/*@cc_on return (@_jscript_version > 5.7 && !/^(9|10)/.test(@_jscript_version)); @*/")()}),conditionizr.add("ie7",function(){return Function("/*@cc_on return (@_jscript_version == 5.7 && /MSIE 7.0(?!.*IEMobile)/i.test(navigator.userAgent)); @*/")()}),conditionizr.add("ie6",function(){return Function("/*@cc_on return (@_jscript_version == 5.6 || (@_jscript_version == 5.7 && /MSIE 6.0/i.test(navigator.userAgent))); @*/")()}),conditionizr.add("firefox",function(){return"InstallTrigger"in window});
</script><script>
/*! modernizr 3.0.0-alpha.4 (Custom Build) | MIT *
 * https://modernizr.com/download/#-cssanimations-csstransforms-csstransitions-es6array-fontface-lastchild-mediaqueries-opacity-textshadow-touchevents-domprefixes-prefixed-prefixedcss-prefixes-printshiv-testallprops-testprop-teststyles !*/
!function(e,t,n){function r(e,t){return typeof e===t}function o(){var e,t,n,o,a,i,s;for(var l in x){if(e=[],t=x[l],t.name&&(e.push(t.name.toLowerCase()),t.options&&t.options.aliases&&t.options.aliases.length))for(n=0;n<t.options.aliases.length;n++)e.push(t.options.aliases[n].toLowerCase());for(o=r(t.fn,"function")?t.fn():t.fn,a=0;a<e.length;a++)i=e[a],s=i.split("."),1===s.length?Modernizr[s[0]]=o:(!Modernizr[s[0]]||Modernizr[s[0]]instanceof Boolean||(Modernizr[s[0]]=new Boolean(Modernizr[s[0]])),Modernizr[s[0]][s[1]]=o),g.push((o?"":"no-")+s.join("-"))}}function a(e){var t=C.className,n=Modernizr._config.classPrefix||"";if(b&&(t=t.baseVal),Modernizr._config.enableJSClass){var r=new RegExp("(^|\\s)"+n+"no-js(\\s|$)");t=t.replace(r,"$1"+n+"js$2")}Modernizr._config.enableClasses&&(t+=" "+n+e.join(" "+n),b?C.className.baseVal=t:C.className=t)}function i(e){return e.replace(/([a-z])-([a-z])/g,function(e,t,n){return t+n.toUpperCase()}).replace(/^-/,"")}function s(e){return e.replace(/([A-Z])/g,function(e,t){return"-"+t.toLowerCase()}).replace(/^ms-/,"-ms-")}function l(){return"function"!=typeof t.createElement?t.createElement(arguments[0]):b?t.createElementNS.call(t,"https://www.w3.org/2000/svg",arguments[0]):t.createElement.apply(t,arguments)}function c(e,t){return!!~(""+e).indexOf(t)}function u(){var e=t.body;return e||(e=l(b?"svg":"body"),e.fake=!0),e}function f(e,n,r,o){var a,i,s,c,f="modernizr",d=l("div"),p=u();if(parseInt(r,10))for(;r--;)s=l("div"),s.id=o?o[r]:f+(r+1),d.appendChild(s);return a=l("style"),a.type="text/css",a.id="s"+f,(p.fake?p:d).appendChild(a),p.appendChild(d),a.styleSheet?a.styleSheet.cssText=e:a.appendChild(t.createTextNode(e)),d.id=f,p.fake&&(p.style.background="",p.style.overflow="hidden",c=C.style.overflow,C.style.overflow="hidden",C.appendChild(p)),i=n(d,e),p.fake?(p.parentNode.removeChild(p),C.style.overflow=c,C.offsetHeight):d.parentNode.removeChild(d),!!i}function d(t,r){var o=t.length;if("CSS"in e&&"supports"in e.CSS){for(;o--;)if(e.CSS.supports(s(t[o]),r))return!0;return!1}if("CSSSupportsRule"in e){for(var a=[];o--;)a.push("("+s(t[o])+":"+r+")");return a=a.join(" or "),f("@supports ("+a+") { #modernizr { position: absolute; } }",function(e){return"absolute"==getComputedStyle(e,null).position})}return n}function p(e,t){return function(){return e.apply(t,arguments)}}function m(e,t,n){var o;for(var a in e)if(e[a]in t)return n===!1?e[a]:(o=t[e[a]],r(o,"function")?p(o,n||t):o);return!1}function h(e,t,o,a){function s(){f&&(delete F.style,delete F.modElem)}if(a=r(a,"undefined")?!1:a,!r(o,"undefined")){var u=d(e,o);if(!r(u,"undefined"))return u}for(var f,p,m,h,v,y=["modernizr","tspan"];!F.style;)f=!0,F.modElem=l(y.shift()),F.style=F.modElem.style;for(m=e.length,p=0;m>p;p++)if(h=e[p],v=F.style[h],c(h,"-")&&(h=i(h)),F.style[h]!==n){if(a||r(o,"undefined"))return s(),"pfx"==t?h:!0;try{F.style[h]=o}catch(g){}if(F.style[h]!=v)return s(),"pfx"==t?h:!0}return s(),!1}function v(e,t,n,o,a){var i=e.charAt(0).toUpperCase()+e.slice(1),s=(e+" "+_.join(i+" ")+i).split(" ");return r(t,"string")||r(t,"undefined")?h(s,t,o,a):(s=(e+" "+w.join(i+" ")+i).split(" "),m(s,t,n))}function y(e,t,r){return v(e,n,n,t,r)}var g=[],x=[],E={_version:"3.0.0-alpha.4",_config:{classPrefix:"",enableClasses:!0,enableJSClass:!0,usePrefixes:!0},_q:[],on:function(e,t){var n=this;setTimeout(function(){t(n[e])},0)},addTest:function(e,t,n){x.push({name:e,fn:t,options:n})},addAsyncTest:function(e){x.push({name:null,fn:e})}},Modernizr=function(){};Modernizr.prototype=E,Modernizr=new Modernizr,Modernizr.addTest("es6array",!!(Array.prototype&&Array.prototype.copyWithin&&Array.prototype.fill&&Array.prototype.find&&Array.prototype.findIndex&&Array.prototype.keys&&Array.prototype.entries&&Array.prototype.values&&Array.from&&Array.of));var S=E._config.usePrefixes?" -webkit- -moz- -o- -ms- ".split(" "):[];E._prefixes=S;var C=t.documentElement,b="svg"===C.nodeName.toLowerCase();b||!function(e,t){function n(e,t){var n=e.createElement("p"),r=e.getElementsByTagName("head")[0]||e.documentElement;return n.innerHTML="x<style>"+t+"</style>",r.insertBefore(n.lastChild,r.firstChild)}function r(){var e=T.elements;return"string"==typeof e?e.split(" "):e}function o(e,t){var n=T.elements;"string"!=typeof n&&(n=n.join(" ")),"string"!=typeof e&&(e=e.join(" ")),T.elements=n+" "+e,c(t)}function a(e){var t=b[e[S]];return t||(t={},C++,e[S]=C,b[C]=t),t}function i(e,n,r){if(n||(n=t),v)return n.createElement(e);r||(r=a(n));var o;return o=r.cache[e]?r.cache[e].cloneNode():E.test(e)?(r.cache[e]=r.createElem(e)).cloneNode():r.createElem(e),!o.canHaveChildren||x.test(e)||o.tagUrn?o:r.frag.appendChild(o)}function s(e,n){if(e||(e=t),v)return e.createDocumentFragment();n=n||a(e);for(var o=n.frag.cloneNode(),i=0,s=r(),l=s.length;l>i;i++)o.createElement(s[i]);return o}function l(e,t){t.cache||(t.cache={},t.createElem=e.createElement,t.createFrag=e.createDocumentFragment,t.frag=t.createFrag()),e.createElement=function(n){return T.shivMethods?i(n,e,t):t.createElem(n)},e.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+r().join().replace(/[\w\-:]+/g,function(e){return t.createElem(e),t.frag.createElement(e),'c("'+e+'")'})+");return n}")(T,t.frag)}function c(e){e||(e=t);var r=a(e);return!T.shivCSS||h||r.hasCSS||(r.hasCSS=!!n(e,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),v||l(e,r),e}function u(e){for(var t,n=e.getElementsByTagName("*"),o=n.length,a=RegExp("^(?:"+r().join("|")+")$","i"),i=[];o--;)t=n[o],a.test(t.nodeName)&&i.push(t.applyElement(f(t)));return i}function f(e){for(var t,n=e.attributes,r=n.length,o=e.ownerDocument.createElement(_+":"+e.nodeName);r--;)t=n[r],t.specified&&o.setAttribute(t.nodeName,t.nodeValue);return o.style.cssText=e.style.cssText,o}function d(e){for(var t,n=e.split("{"),o=n.length,a=RegExp("(^|[\\s,>+~])("+r().join("|")+")(?=[[\\s,>+~#.:]|$)","gi"),i="$1"+_+"\\:$2";o--;)t=n[o]=n[o].split("}"),t[t.length-1]=t[t.length-1].replace(a,i),n[o]=t.join("}");return n.join("{")}function p(e){for(var t=e.length;t--;)e[t].removeNode()}function m(e){function t(){clearTimeout(i._removeSheetTimer),r&&r.removeNode(!0),r=null}var r,o,i=a(e),s=e.namespaces,l=e.parentWindow;return!N||e.printShived?e:("undefined"==typeof s[_]&&s.add(_),l.attachEvent("onbeforeprint",function(){t();for(var a,i,s,l=e.styleSheets,c=[],f=l.length,p=Array(f);f--;)p[f]=l[f];for(;s=p.pop();)if(!s.disabled&&w.test(s.media)){try{a=s.imports,i=a.length}catch(m){i=0}for(f=0;i>f;f++)p.push(a[f]);try{c.push(s.cssText)}catch(m){}}c=d(c.reverse().join("")),o=u(e),r=n(e,c)}),l.attachEvent("onafterprint",function(){p(o),clearTimeout(i._removeSheetTimer),i._removeSheetTimer=setTimeout(t,500)}),e.printShived=!0,e)}var h,v,y="3.7.2",g=e.html5||{},x=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,E=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,S="_html5shiv",C=0,b={};!function(){try{var e=t.createElement("a");e.innerHTML="<xyz></xyz>",h="hidden"in e,v=1==e.childNodes.length||function(){t.createElement("a");var e=t.createDocumentFragment();return"undefined"==typeof e.cloneNode||"undefined"==typeof e.createDocumentFragment||"undefined"==typeof e.createElement}()}catch(n){h=!0,v=!0}}();var T={elements:g.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:y,shivCSS:g.shivCSS!==!1,supportsUnknownElements:v,shivMethods:g.shivMethods!==!1,type:"default",shivDocument:c,createElement:i,createDocumentFragment:s,addElements:o};e.html5=T,c(t);var w=/^$|\b(?:all|print)\b/,_="html5shiv",N=!v&&function(){var n=t.documentElement;return!("undefined"==typeof t.namespaces||"undefined"==typeof t.parentWindow||"undefined"==typeof n.applyElement||"undefined"==typeof n.removeNode||"undefined"==typeof e.attachEvent)}();T.type+=" print",T.shivPrint=m,m(t)}(this,t);var T="Moz O ms Webkit",w=E._config.usePrefixes?T.toLowerCase().split(" "):[];E._domPrefixes=w,Modernizr.addTest("opacity",function(){var e=l("a").style;return e.cssText=S.join("opacity:.55;"),/^0.55$/.test(e.opacity)});var _=E._config.usePrefixes?T.split(" "):[];E._cssomPrefixes=_;var N=function(t){var r,o=S.length,a=e.CSSRule;if("undefined"==typeof a)return n;if(!t)return!1;if(t=t.replace(/^@/,""),r=t.replace(/-/g,"_").toUpperCase()+"_RULE",r in a)return"@"+t;for(var i=0;o>i;i++){var s=S[i],l=s.toUpperCase()+"_"+r;if(l in a)return"@-"+s.toLowerCase()+"-"+t}return!1};E.atRule=N;var A=E.testStyles=f;Modernizr.addTest("touchevents",function(){var n;if("ontouchstart"in e||e.DocumentTouch&&t instanceof DocumentTouch)n=!0;else{var r=["@media (",S.join("touch-enabled),("),"heartz",")","{#modernizr{top:9px;position:absolute}}"].join("");A(r,function(e){n=9===e.offsetTop})}return n}),A("#modernizr div {width:100px} #modernizr :last-child{width:200px;display:block}",function(e){Modernizr.addTest("lastchild",e.lastChild.offsetWidth>e.firstChild.offsetWidth)},2);var j=function(){var e=navigator.userAgent,t=e.match(/applewebkit\/([0-9]+)/gi)&&parseFloat(RegExp.$1),n=e.match(/w(eb)?osbrowser/gi),r=e.match(/windows phone/gi)&&e.match(/iemobile\/([0-9])+/gi)&&parseFloat(RegExp.$1)>=9,o=533>t&&e.match(/android/gi);return n||o||r}();j?Modernizr.addTest("fontface",!1):A('@font-face {font-family:"font";src:url("https://")}',function(e,n){var r=t.getElementById("smodernizr"),o=r.sheet||r.styleSheet,a=o?o.cssRules&&o.cssRules[0]?o.cssRules[0].cssText:o.cssText||"":"",i=/src/i.test(a)&&0===a.indexOf(n.split(" ")[0]);Modernizr.addTest("fontface",i)});var z=function(){var t=e.matchMedia||e.msMatchMedia;return t?function(e){var n=t(e);return n&&n.matches||!1}:function(t){var n=!1;return f("@media "+t+" { #modernizr { position: absolute; } }",function(t){n="absolute"==(e.getComputedStyle?e.getComputedStyle(t,null):t.currentStyle).position}),n}}();E.mq=z,Modernizr.addTest("mediaqueries",z("only all"));var k={elem:l("modernizr")};Modernizr._q.push(function(){delete k.elem});var F={style:k.elem.style};Modernizr._q.unshift(function(){delete F.style});var R=E.testProp=function(e,t,r){return h([e],n,t,r)};Modernizr.addTest("textshadow",R("textShadow","1px 1px")),E.testAllProps=v;var $=E.prefixed=function(e,t,n){return 0===e.indexOf("@")?N(e):(-1!=e.indexOf("-")&&(e=i(e)),t?v(e,t,n):v(e,"pfx"))};E.prefixedCSS=function(e){var t=$(e);return t&&s(t)};E.testAllProps=y,Modernizr.addTest("cssanimations",y("animationName","a",!0)),Modernizr.addTest("csstransforms",function(){return-1===navigator.userAgent.indexOf("Android 2.")&&y("transform","scale(1)",!0)}),Modernizr.addTest("csstransitions",y("transition","all",!0)),o(),a(g),delete E.addTest,delete E.addAsyncTest;for(var P=0;P<Modernizr._q.length;P++)Modernizr._q[P]();e.Modernizr=Modernizr}(window,document);
</script><script>
var gapi=window.gapi=window.gapi||{};gapi._bs=new Date().getTime();(function(){var m=this,aa=function(a,b,c){return a.call.apply(a.bind,arguments)},ba=function(a,b,c){if(!a)throw Error();if(2<arguments.length){var d=Array.prototype.slice.call(arguments,2);return function(){var c=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(c,d);return a.apply(b,c)}}return function(){return a.apply(b,arguments)}},ca=function(a,b,c){ca=Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?aa:ba;return ca.apply(null,arguments)},da=function(a,
b){function c(){}c.prototype=b.prototype;a.ea=b.prototype;a.prototype=new c;a.prototype.constructor=a;a.w=function(a,c,f){for(var d=Array(arguments.length-2),e=2;e<arguments.length;e++)d[e-2]=arguments[e];return b.prototype[c].apply(a,d)}};/*
 gapi.loader.OBJECT_CREATE_TEST_OVERRIDE &&*/
var q=window,t=document,ea=q.location,fa=function(){},ha=/\[native code\]/,v=function(a,b,c){return a[b]=a[b]||c},ia=function(a){for(var b=0;b<this.length;b++)if(this[b]===a)return b;return-1},ja=function(a){a=a.sort();for(var b=[],c=void 0,d=0;d<a.length;d++){var e=a[d];e!=c&&b.push(e);c=e}return b},ka=/&/g,la=/</g,ma=/>/g,na=/"/g,oa=/'/g,pa=function(a){return String(a).replace(ka,"&amp;").replace(la,"&lt;").replace(ma,"&gt;").replace(na,"&quot;").replace(oa,"&#39;")},w=function(){var a;if((a=Object.create)&&
ha.test(a))a=a(null);else{a={};for(var b in a)a[b]=void 0}return a},x=function(a,b){return Object.prototype.hasOwnProperty.call(a,b)},qa=function(a){if(ha.test(Object.keys))return Object.keys(a);var b=[],c;for(c in a)x(a,c)&&b.push(c);return b},z=function(a,b){a=a||{};for(var c in a)x(a,c)&&(b[c]=a[c])},ra=function(a){return function(){q.setTimeout(a,0)}},A=function(a,b){if(!a)throw Error(b||"");},B=v(q,"gapi",{});var C=function(a,b,c){var d=new RegExp("([#].*&|[#])"+b+"=([^&#]*)","g");b=new RegExp("([?#].*&|[?#])"+b+"=([^&#]*)","g");if(a=a&&(d.exec(a)||b.exec(a)))try{c=decodeURIComponent(a[2])}catch(e){}return c},sa=new RegExp(/^/.source+/([a-zA-Z][-+.a-zA-Z0-9]*:)?/.source+/(\/\/[^\/?#]*)?/.source+/([^?#]*)?/.source+/(\?([^#]*))?/.source+/(#((#|[^#])*))?/.source+/$/.source),ta=/[\ud800-\udbff][\udc00-\udfff]|[^!-~]/g,ua=new RegExp(/(%([^0-9a-fA-F%]|[0-9a-fA-F]([^0-9a-fA-F%])?)?)*/.source+/%($|[^0-9a-fA-F]|[0-9a-fA-F]($|[^0-9a-fA-F]))/.source,
"g"),va=/%([a-f]|[0-9a-fA-F][a-f])/g,wa=/^(https?|ftp|file|chrome-extension):$/i,D=function(a){a=String(a);a=a.replace(ta,function(a){try{return encodeURIComponent(a)}catch(f){return encodeURIComponent(a.replace(/^[^%]+$/g,"\ufffd"))}}).replace(ua,function(a){return a.replace(/%/g,"%25")}).replace(va,function(a){return a.toUpperCase()});a=a.match(sa)||[];var b=w(),c=function(a){return a.replace(/\\/g,"%5C").replace(/\^/g,"%5E").replace(/`/g,"%60").replace(/\{/g,"%7B").replace(/\|/g,"%7C").replace(/\}/g,
"%7D")},d=!!(a[1]||"").match(wa);b.w=c((a[1]||"")+(a[2]||"")+(a[3]||(a[2]&&d?"/":"")));d=function(a){return c(a.replace(/\?/g,"%3F").replace(/#/g,"%23"))};b.query=a[5]?[d(a[5])]:[];b.g=a[7]?[d(a[7])]:[];return b},xa=function(a){return a.w+(0<a.query.length?"?"+a.query.join("&"):"")+(0<a.g.length?"#"+a.g.join("&"):"")},ya=function(a,b){var c=[];if(a)for(var d in a)if(x(a,d)&&null!=a[d]){var e=b?b(a[d]):a[d];c.push(encodeURIComponent(d)+"="+encodeURIComponent(e))}return c},za=function(a,b,c,d){a=D(a);
a.query.push.apply(a.query,ya(b,d));a.g.push.apply(a.g,ya(c,d));return xa(a)},Ba=new RegExp(/\/?\??#?/.source+"("+/[\/?#]/i.source+"|"+/[\uD800-\uDBFF]/i.source+"|"+/%[c-f][0-9a-f](%[89ab][0-9a-f]){0,2}(%[89ab]?)?/i.source+"|"+/%[0-9a-f]?/i.source+")$","i"),Ca=function(a,b){var c=D(b);b=c.w;c.query.length&&(b+="?"+c.query.join(""));c.g.length&&(b+="#"+c.g.join(""));var d="";2E3<b.length&&(c=b,b=b.substr(0,2E3),b=b.replace(Ba,""),d=c.substr(b.length));var e=a.createElement("div");a=a.createElement("a");
c=D(b);b=c.w;c.query.length&&(b+="?"+c.query.join(""));c.g.length&&(b+="#"+c.g.join(""));a.href=b;e.appendChild(a);e.innerHTML=e.innerHTML;b=String(e.firstChild.href);e.parentNode&&e.parentNode.removeChild(e);c=D(b+d);b=c.w;c.query.length&&(b+="?"+c.query.join(""));c.g.length&&(b+="#"+c.g.join(""));return b},Da=/^https?:\/\/[^\/%\\?#\s]+\/[^\s]*$/i;var Ea=function(a,b,c,d){if(q[c+"EventListener"])q[c+"EventListener"](a,b,!1);else if(q[d+"tachEvent"])q[d+"tachEvent"]("on"+a,b)},Fa=function(){var a=t.readyState;return"complete"===a||"interactive"===a&&-1==navigator.userAgent.indexOf("MSIE")},Ia=function(a){var b=Ga;if(!Fa())try{b()}catch(c){}Ha(a)},Ha=function(a){if(Fa())a();else{var b=!1,c=function(){if(!b)return b=!0,a.apply(this,arguments)};q.addEventListener?(q.addEventListener("load",c,!1),q.addEventListener("DOMContentLoaded",c,!1)):q.attachEvent&&
(q.attachEvent("onreadystatechange",function(){Fa()&&c.apply(this,arguments)}),q.attachEvent("onload",c))}},Ja=function(a){for(;a.firstChild;)a.removeChild(a.firstChild)},Ka={button:!0,div:!0,span:!0};var F;F=v(q,"___jsl",w());v(F,"I",0);v(F,"hel",10);var La=function(a){return F.dpo?F.h:C(a,"jsh",F.h)},Ma=function(a){var b=v(F,"sws",[]);b.push.apply(b,a)},Na=function(a){return v(F,"watt",w())[a]},Oa=function(a){var b=v(F,"PQ",[]);F.PQ=[];var c=b.length;if(0===c)a();else for(var d=0,e=function(){++d===c&&a()},f=0;f<c;f++)b[f](e)},Pa=function(a){return v(v(F,"H",w()),a,w())};var Qa=v(F,"perf",w()),Ra=v(Qa,"g",w()),Sa=v(Qa,"i",w());v(Qa,"r",[]);w();w();
var Ta=function(a,b,c){var d=Qa.r;"function"===typeof d?d(a,b,c):d.push([a,b,c])},G=function(a,b,c){Ra[a]=!b&&Ra[a]||c||(new Date).getTime();Ta(a)},Va=function(a,b,c){b&&0<b.length&&(b=Ua(b),c&&0<c.length&&(b+="___"+Ua(c)),28<b.length&&(b=b.substr(0,28)+(b.length-28)),c=b,b=v(Sa,"_p",w()),v(b,c,w())[a]=(new Date).getTime(),Ta(a,"_p",c))},Ua=function(a){return a.join("__").replace(/\./g,"_").replace(/\-/g,"_").replace(/,/g,"_")};var Wa=w(),H=[],J=function(a){throw Error("Bad hint"+(a?": "+a:""));};H.push(["jsl",function(a){for(var b in a)if(x(a,b)){var c=a[b];"object"==typeof c?F[b]=v(F,b,[]).concat(c):v(F,b,c)}if(b=a.u)a=v(F,"us",[]),a.push(b),(b=/^https:(.*)$/.exec(b))&&a.push("http:"+b[1])}]);var Xa=/^(\/[a-zA-Z0-9_\-]+)+$/,Ya=[/\/amp\//,/\/amp$/,/^\/amp$/],Za=/^[a-zA-Z0-9\-_\.,!]+$/,$a=/^gapi\.loaded_[0-9]+$/,ab=/^[a-zA-Z0-9,._-]+$/,eb=function(a,b,c,d){var e=a.split(";"),f=e.shift(),g=Wa[f],h=null;g?h=g(e,b,c,d):J("no hint processor for: "+f);h||J("failed to generate load url");b=h;c=b.match(bb);(d=b.match(cb))&&1===d.length&&db.test(b)&&c&&1===c.length||J("failed sanity: "+a);return h},hb=function(a,b,c,d){a=fb(a);$a.test(c)||J("invalid_callback");b=gb(b);d=d&&d.length?gb(d):null;var e=
function(a){return encodeURIComponent(a).replace(/%2C/g,",")};return[encodeURIComponent(a.pathPrefix).replace(/%2C/g,",").replace(/%2F/g,"/"),"/k=",e(a.version),"/m=",e(b),d?"/exm="+e(d):"","/rt=j/sv=1/d=1/ed=1",a.L?"/am="+e(a.L):"",a.T?"/rs="+e(a.T):"",a.V?"/t="+e(a.V):"","/cb=",e(c)].join("")},fb=function(a){"/"!==a.charAt(0)&&J("relative path");for(var b=a.substring(1).split("/"),c=[];b.length;){a=b.shift();if(!a.length||0==a.indexOf("."))J("empty/relative directory");else if(0<a.indexOf("=")){b.unshift(a);
break}c.push(a)}a={};for(var d=0,e=b.length;d<e;++d){var f=b[d].split("="),g=decodeURIComponent(f[0]),h=decodeURIComponent(f[1]);2==f.length&&g&&h&&(a[g]=a[g]||h)}b="/"+c.join("/");Xa.test(b)||J("invalid_prefix");c=0;for(d=Ya.length;c<d;++c)Ya[c].test(b)&&J("invalid_prefix");c=ib(a,"k",!0);d=ib(a,"am");e=ib(a,"rs");a=ib(a,"t");return{pathPrefix:b,version:c,L:d,T:e,V:a}},gb=function(a){for(var b=[],c=0,d=a.length;c<d;++c){var e=a[c].replace(/\./g,"_").replace(/-/g,"_");ab.test(e)&&b.push(e)}return b.join(",")},
ib=function(a,b,c){a=a[b];!a&&c&&J("missing: "+b);if(a){if(Za.test(a))return a;J("invalid: "+b)}return null},db=/^https?:\/\/[a-z0-9_.-]+\.google(rs)?\.com(:\d+)?\/[a-zA-Z0-9_.,!=\-\/]+$/,cb=/\/cb=/g,bb=/\/\//g,jb=function(){var a=La(ea.href);if(!a)throw Error("Bad hint");return a};Wa.m=function(a,b,c,d){(a=a[0])||J("missing_hint");return"https://apis.google.com"+hb(a,b,c,d)};var kb=decodeURI("%73cript"),lb=/^[-+_0-9\/A-Za-z]+={0,2}$/,mb=function(a,b){for(var c=[],d=0;d<a.length;++d){var e=a[d];e&&0>ia.call(b,e)&&c.push(e)}return c},nb=function(){var a=F.nonce;return void 0!==a?a&&a===String(a)&&a.match(lb)?a:F.nonce=null:t.querySelector?(a=t.querySelector("script[nonce]"))?(a=a.nonce||a.getAttribute("nonce")||"",a&&a===String(a)&&a.match(lb)?F.nonce=a:F.nonce=null):null:null},pb=function(a){if("loading"!=t.readyState)ob(a);else{var b=nb(),c="";null!==b&&(c=' nonce="'+
b+'"');t.write("<"+kb+' src="'+encodeURI(a)+'"'+c+"></"+kb+">")}},ob=function(a){var b=t.createElement(kb);b.setAttribute("src",a);a=nb();null!==a&&b.setAttribute("nonce",a);b.async="true";(a=t.getElementsByTagName(kb)[0])?a.parentNode.insertBefore(b,a):(t.head||t.body||t.documentElement).appendChild(b)},qb=function(a,b){var c=b&&b._c;if(c)for(var d=0;d<H.length;d++){var e=H[d][0],f=H[d][1];f&&x(c,e)&&f(c[e],a,b)}},sb=function(a,b,c){rb(function(){var c=b===La(ea.href)?v(B,"_",w()):w();c=v(Pa(b),
"_",c);a(c)},c)},K=function(a,b){var c=b||{};"function"==typeof b&&(c={},c.callback=b);qb(a,c);b=a?a.split(":"):[];var d=c.h||jb(),e=v(F,"ah",w());if(e["::"]&&b.length){a=[];for(var f=null;f=b.shift();){var g=f.split(".");g=e[f]||e[g[1]&&"ns:"+g[0]||""]||d;var h=a.length&&a[a.length-1]||null,k=h;h&&h.hint==g||(k={hint:g,O:[]},a.push(k));k.O.push(f)}var l=a.length;if(1<l){var p=c.callback;p&&(c.callback=function(){0==--l&&p()})}for(;b=a.shift();)tb(b.O,c,b.hint)}else tb(b||[],c,d)},tb=function(a,b,
c){a=ja(a)||[];var d=b.callback,e=b.config,f=b.timeout,g=b.ontimeout,h=b.onerror,k=void 0;"function"==typeof h&&(k=h);var l=null,p=!1;if(f&&!g||!f&&g)throw"Timeout requires both the timeout parameter and ontimeout parameter to be set";h=v(Pa(c),"r",[]).sort();var n=v(Pa(c),"L",[]).sort(),r=[].concat(h),u=function(a,b){if(p)return 0;q.clearTimeout(l);n.push.apply(n,y);var d=((B||{}).config||{}).update;d?d(e):e&&v(F,"cu",[]).push(e);if(b){Va("me0",a,r);try{sb(b,c,k)}finally{Va("me1",a,r)}}return 1};
0<f&&(l=q.setTimeout(function(){p=!0;g()},f));var y=mb(a,n);if(y.length){y=mb(a,h);var E=v(F,"CP",[]),I=E.length;E[I]=function(a){if(!a)return 0;Va("ml1",y,r);var b=function(b){E[I]=null;u(y,a)&&Oa(function(){d&&d();b()})},c=function(){var a=E[I+1];a&&a()};0<I&&E[I-1]?E[I]=function(){b(c)}:b(c)};if(y.length){var Aa="loaded_"+F.I++;B[Aa]=function(a){E[I](a);B[Aa]=null};a=eb(c,y,"gapi."+Aa,h);h.push.apply(h,y);Va("ml0",y,r);b.sync||q.___gapisync?pb(a):ob(a)}else E[I](fa)}else u(y)&&d&&d()};var rb=function(a,b){if(F.hee&&0<F.hel)try{return a()}catch(c){b&&b(c),F.hel--,K("debug_error",function(){try{window.___jsl.hefn(c)}catch(d){throw c;}})}else try{return a()}catch(c){throw b&&b(c),c;}};B.load=function(a,b){return rb(function(){return K(a,b)})};var L=function(a){var b=window.___jsl=window.___jsl||{};b[a]=b[a]||[];return b[a]},M=function(a){var b=window.___jsl=window.___jsl||{};b.cfg=!a&&b.cfg||{};return b.cfg},ub=function(a){return"object"===typeof a&&/\[native code\]/.test(a.push)},N=function(a,b,c){if(b&&"object"===typeof b)for(var d in b)!Object.prototype.hasOwnProperty.call(b,d)||c&&"___goc"===d&&"undefined"===typeof b[d]||(a[d]&&b[d]&&"object"===typeof a[d]&&"object"===typeof b[d]&&!ub(a[d])&&!ub(b[d])?N(a[d],b[d]):b[d]&&"object"===
typeof b[d]?(a[d]=ub(b[d])?[]:{},N(a[d],b[d])):a[d]=b[d])},vb=function(a){if(a&&!/^\s+$/.test(a)){for(;0==a.charCodeAt(a.length-1);)a=a.substring(0,a.length-1);try{var b=window.JSON.parse(a)}catch(c){}if("object"===typeof b)return b;try{b=(new Function("return ("+a+"\n)"))()}catch(c){}if("object"===typeof b)return b;try{b=(new Function("return ({"+a+"\n})"))()}catch(c){}return"object"===typeof b?b:{}}},wb=function(a,b){var c={___goc:void 0};a.length&&a[a.length-1]&&Object.hasOwnProperty.call(a[a.length-
1],"___goc")&&"undefined"===typeof a[a.length-1].___goc&&(c=a.pop());N(c,b);a.push(c)},xb=function(a){M(!0);var b=window.___gcfg,c=L("cu"),d=window.___gu;b&&b!==d&&(wb(c,b),window.___gu=b);b=L("cu");var e=document.scripts||document.getElementsByTagName("script")||[];d=[];var f=[];f.push.apply(f,L("us"));for(var g=0;g<e.length;++g)for(var h=e[g],k=0;k<f.length;++k)h.src&&0==h.src.indexOf(f[k])&&d.push(h);0==d.length&&0<e.length&&e[e.length-1].src&&d.push(e[e.length-1]);for(e=0;e<d.length;++e)d[e].getAttribute("gapi_processed")||
(d[e].setAttribute("gapi_processed",!0),(f=d[e])?(g=f.nodeType,f=3==g||4==g?f.nodeValue:f.textContent||f.innerText||f.innerHTML||""):f=void 0,(f=vb(f))&&b.push(f));a&&wb(c,a);d=L("cd");a=0;for(b=d.length;a<b;++a)N(M(),d[a],!0);d=L("ci");a=0;for(b=d.length;a<b;++a)N(M(),d[a],!0);a=0;for(b=c.length;a<b;++a)N(M(),c[a],!0)},O=function(a){var b=M();if(!a)return b;a=a.split("/");for(var c=0,d=a.length;b&&"object"===typeof b&&c<d;++c)b=b[a[c]];return c===a.length&&void 0!==b?b:void 0},yb=function(a,b){var c;
if("string"===typeof a){var d=c={};a=a.split("/");for(var e=0,f=a.length;e<f-1;++e){var g={};d=d[a[e]]=g}d[a[e]]=b}else c=a;xb(c)};var zb=function(){var a=window.__GOOGLEAPIS;a&&(a.googleapis&&!a["googleapis.config"]&&(a["googleapis.config"]=a.googleapis),v(F,"ci",[]).push(a),window.__GOOGLEAPIS=void 0)};var Ab={callback:1,clientid:1,cookiepolicy:1,openidrealm:-1,includegrantedscopes:-1,requestvisibleactions:1,scope:1},Bb=!1,Cb=w(),Db=function(){if(!Bb){for(var a=document.getElementsByTagName("meta"),b=0;b<a.length;++b){var c=a[b].name.toLowerCase();if(0==c.lastIndexOf("google-signin-",0)){c=c.substring(14);var d=a[b].content;Ab[c]&&d&&(Cb[c]=d)}}if(window.self!==window.top){a=document.location.toString();for(var e in Ab)0<Ab[e]&&(b=C(a,e,""))&&(Cb[e]=b)}Bb=!0}e=w();z(Cb,e);return e},Eb=function(a){return!!(a.clientid&&
a.scope&&a.callback)};var Fb=window.console,Gb=function(a){Fb&&Fb.log&&Fb.log(a)};var Hb=function(){return!!F.oa},Ib=function(){};var P=v(F,"rw",w()),Jb=function(a){for(var b in P)a(P[b])},Kb=function(a,b){(a=P[a])&&a.state<b&&(a.state=b)};var Lb;var Mb=/^https?:\/\/(?:\w|[\-\.])+\.google\.(?:\w|[\-:\.])+(?:\/[^\?#]*)?\/u\/(\d)\//,Nb=/^https?:\/\/(?:\w|[\-\.])+\.google\.(?:\w|[\-:\.])+(?:\/[^\?#]*)?\/b\/(\d{10,21})\//,Ob=function(a){var b=O("googleapis.config/sessionIndex");"string"===typeof b&&254<b.length&&(b=null);null==b&&(b=window.__X_GOOG_AUTHUSER);"string"===typeof b&&254<b.length&&(b=null);if(null==b){var c=window.google;c&&(b=c.authuser)}"string"===typeof b&&254<b.length&&(b=null);null==b&&(a=a||window.location.href,b=C(a,"authuser")||
null,null==b&&(b=(b=a.match(Mb))?b[1]:null));if(null==b)return null;b=String(b);254<b.length&&(b=null);return b},Pb=function(a){var b=O("googleapis.config/sessionDelegate");"string"===typeof b&&21<b.length&&(b=null);null==b&&(b=(a=(a||window.location.href).match(Nb))?a[1]:null);if(null==b)return null;b=String(b);21<b.length&&(b=null);return b};var Qb,Q,R=void 0,S=function(a){try{return m.JSON.parse.call(m.JSON,a)}catch(b){return!1}},T=function(a){return Object.prototype.toString.call(a)},Rb=T(0),Sb=T(new Date(0)),Tb=T(!0),Ub=T(""),Vb=T({}),Wb=T([]),U=function(a,b){if(b)for(var c=0,d=b.length;c<d;++c)if(a===b[c])throw new TypeError("Converting circular structure to JSON");d=typeof a;if("undefined"!==d){c=Array.prototype.slice.call(b||[],0);c[c.length]=a;b=[];var e=T(a);if(null!=a&&"function"===typeof a.toJSON&&(Object.prototype.hasOwnProperty.call(a,
"toJSON")||(e!==Wb||a.constructor!==Array&&a.constructor!==Object)&&(e!==Vb||a.constructor!==Array&&a.constructor!==Object)&&e!==Ub&&e!==Rb&&e!==Tb&&e!==Sb))return U(a.toJSON.call(a),c);if(null==a)b[b.length]="null";else if(e===Rb)a=Number(a),isNaN(a)||isNaN(a-a)?a="null":-0===a&&0>1/a&&(a="-0"),b[b.length]=String(a);else if(e===Tb)b[b.length]=String(!!Number(a));else{if(e===Sb)return U(a.toISOString.call(a),c);if(e===Wb&&T(a.length)===Rb){b[b.length]="[";var f=0;for(d=Number(a.length)>>0;f<d;++f)f&&
(b[b.length]=","),b[b.length]=U(a[f],c)||"null";b[b.length]="]"}else if(e==Ub&&T(a.length)===Rb){b[b.length]='"';f=0;for(c=Number(a.length)>>0;f<c;++f)d=String.prototype.charAt.call(a,f),e=String.prototype.charCodeAt.call(a,f),b[b.length]="\b"===d?"\\b":"\f"===d?"\\f":"\n"===d?"\\n":"\r"===d?"\\r":"\t"===d?"\\t":"\\"===d||'"'===d?"\\"+d:31>=e?"\\u"+(e+65536).toString(16).substr(1):32<=e&&65535>=e?d:"\ufffd";b[b.length]='"'}else if("object"===d){b[b.length]="{";d=0;for(f in a)Object.prototype.hasOwnProperty.call(a,
f)&&(e=U(a[f],c),void 0!==e&&(d++&&(b[b.length]=","),b[b.length]=U(f),b[b.length]=":",b[b.length]=e));b[b.length]="}"}else return}return b.join("")}},Xb=/[\0-\x07\x0b\x0e-\x1f]/,Yb=/^([^"]*"([^\\"]|\\.)*")*[^"]*"([^"\\]|\\.)*[\0-\x1f]/,Zb=/^([^"]*"([^\\"]|\\.)*")*[^"]*"([^"\\]|\\.)*\\[^\\\/"bfnrtu]/,$b=/^([^"]*"([^\\"]|\\.)*")*[^"]*"([^"\\]|\\.)*\\u([0-9a-fA-F]{0,3}[^0-9a-fA-F])/,ac=/"([^\0-\x1f\\"]|\\[\\\/"bfnrt]|\\u[0-9a-fA-F]{4})*"/g,bc=/-?(0|[1-9][0-9]*)(\.[0-9]+)?([eE][-+]?[0-9]+)?/g,cc=/[ \t\n\r]+/g,
dc=/[^"]:/,ec=/""/g,fc=/true|false|null/g,gc=/00/,hc=/[\{]([^0\}]|0[^:])/,ic=/(^|\[)[,:]|[,:](\]|\}|[,:]|$)/,jc=/[^\[,:][\[\{]/,kc=/^(\{|\}|\[|\]|,|:|0)+/,lc=/\u2028/g,mc=/\u2029/g,nc=function(a){a=String(a);if(Xb.test(a)||Yb.test(a)||Zb.test(a)||$b.test(a))return!1;var b=a.replace(ac,'""');b=b.replace(bc,"0");b=b.replace(cc,"");if(dc.test(b))return!1;b=b.replace(ec,"0");b=b.replace(fc,"0");if(gc.test(b)||hc.test(b)||ic.test(b)||jc.test(b)||!b||(b=b.replace(kc,"")))return!1;a=a.replace(lc,"\\u2028").replace(mc,
"\\u2029");b=void 0;try{b=R?[S(a)]:eval("(function (var_args) {\n  return Array.prototype.slice.call(arguments, 0);\n})(\n"+a+"\n)")}catch(c){return!1}return b&&1===b.length?b[0]:!1},oc=function(){var a=((m.document||{}).scripts||[]).length;if((void 0===Qb||void 0===R||Q!==a)&&-1!==Q){Qb=R=!1;Q=-1;try{try{R=!!m.JSON&&'{"a":[3,true,"1970-01-01T00:00:00.000Z"]}'===m.JSON.stringify.call(m.JSON,{a:[3,!0,new Date(0)],c:function(){}})&&!0===S("true")&&3===S('[{"a":3}]')[0].a}catch(b){}Qb=R&&!S("[00]")&&
!S('"\u0007"')&&!S('"\\0"')&&!S('"\\v"')}finally{Q=a}}},pc=function(a){if(-1===Q)return!1;oc();return(Qb?S:nc)(a)},qc=function(a){if(-1!==Q)return oc(),R?m.JSON.stringify.call(m.JSON,a):U(a)},rc=!Date.prototype.toISOString||"function"!==typeof Date.prototype.toISOString||"1970-01-01T00:00:00.000Z"!==(new Date(0)).toISOString(),sc=function(){var a=Date.prototype.getUTCFullYear.call(this);return[0>a?"-"+String(1E6-a).substr(1):9999>=a?String(1E4+a).substr(1):"+"+String(1E6+a).substr(1),"-",String(101+
Date.prototype.getUTCMonth.call(this)).substr(1),"-",String(100+Date.prototype.getUTCDate.call(this)).substr(1),"T",String(100+Date.prototype.getUTCHours.call(this)).substr(1),":",String(100+Date.prototype.getUTCMinutes.call(this)).substr(1),":",String(100+Date.prototype.getUTCSeconds.call(this)).substr(1),".",String(1E3+Date.prototype.getUTCMilliseconds.call(this)).substr(1),"Z"].join("")};Date.prototype.toISOString=rc?sc:Date.prototype.toISOString;var tc=function(){this.j=-1};var V=function(){this.j=64;this.b=[];this.F=[];this.W=[];this.B=[];this.B[0]=128;for(var a=1;a<this.j;++a)this.B[a]=0;this.C=this.o=0;this.reset()};da(V,tc);V.prototype.reset=function(){this.b[0]=1732584193;this.b[1]=4023233417;this.b[2]=2562383102;this.b[3]=271733878;this.b[4]=3285377520;this.C=this.o=0};
var uc=function(a,b,c){c||(c=0);var d=a.W;if("string"==typeof b)for(var e=0;16>e;e++)d[e]=b.charCodeAt(c)<<24|b.charCodeAt(c+1)<<16|b.charCodeAt(c+2)<<8|b.charCodeAt(c+3),c+=4;else for(e=0;16>e;e++)d[e]=b[c]<<24|b[c+1]<<16|b[c+2]<<8|b[c+3],c+=4;for(e=16;80>e;e++){var f=d[e-3]^d[e-8]^d[e-14]^d[e-16];d[e]=(f<<1|f>>>31)&4294967295}b=a.b[0];c=a.b[1];var g=a.b[2],h=a.b[3],k=a.b[4];for(e=0;80>e;e++){if(40>e)if(20>e){f=h^c&(g^h);var l=1518500249}else f=c^g^h,l=1859775393;else 60>e?(f=c&g|h&(c|g),l=2400959708):
(f=c^g^h,l=3395469782);f=(b<<5|b>>>27)+f+k+l+d[e]&4294967295;k=h;h=g;g=(c<<30|c>>>2)&4294967295;c=b;b=f}a.b[0]=a.b[0]+b&4294967295;a.b[1]=a.b[1]+c&4294967295;a.b[2]=a.b[2]+g&4294967295;a.b[3]=a.b[3]+h&4294967295;a.b[4]=a.b[4]+k&4294967295};
V.prototype.update=function(a,b){if(null!=a){void 0===b&&(b=a.length);for(var c=b-this.j,d=0,e=this.F,f=this.o;d<b;){if(0==f)for(;d<=c;)uc(this,a,d),d+=this.j;if("string"==typeof a)for(;d<b;){if(e[f]=a.charCodeAt(d),++f,++d,f==this.j){uc(this,e);f=0;break}}else for(;d<b;)if(e[f]=a[d],++f,++d,f==this.j){uc(this,e);f=0;break}}this.o=f;this.C+=b}};
V.prototype.digest=function(){var a=[],b=8*this.C;56>this.o?this.update(this.B,56-this.o):this.update(this.B,this.j-(this.o-56));for(var c=this.j-1;56<=c;c--)this.F[c]=b&255,b/=256;uc(this,this.F);for(c=b=0;5>c;c++)for(var d=24;0<=d;d-=8)a[b]=this.b[c]>>d&255,++b;return a};var vc=function(){this.J=new V};vc.prototype.reset=function(){this.J.reset()};var wc=q.crypto,xc=!1,yc=0,zc=0,Ac=1,Bc=0,Cc="",Dc=function(a){a=a||q.event;var b=a.screenX+a.clientX<<16;b+=a.screenY+a.clientY;b*=(new Date).getTime()%1E6;Ac=Ac*b%Bc;0<yc&&++zc==yc&&Ea("mousemove",Dc,"remove","de")},Ec=function(a){var b=new vc;a=unescape(encodeURIComponent(a));for(var c=[],d=0,e=a.length;d<e;++d)c.push(a.charCodeAt(d));b.J.update(c);b=b.J.digest();a="";for(c=0;c<b.length;c++)a+="0123456789ABCDEF".charAt(Math.floor(b[c]/16))+"0123456789ABCDEF".charAt(b[c]%16);return a};
xc=!!wc&&"function"==typeof wc.getRandomValues;xc||(Bc=1E6*(screen.width*screen.width+screen.height),Cc=Ec(t.cookie+"|"+t.location+"|"+(new Date).getTime()+"|"+Math.random()),yc=O("random/maxObserveMousemove")||0,0!=yc&&Ea("mousemove",Dc,"add","at"));var Fc=function(){var a=Ac;a+=parseInt(Cc.substr(0,20),16);Cc=Ec(Cc);return a/(Bc+Math.pow(16,20))},Gc=function(){var a=new q.Uint32Array(1);wc.getRandomValues(a);return Number("0."+a[0])};var Hc=function(){var a=F.onl;if(!a){a=w();F.onl=a;var b=w();a.e=function(a){var c=b[a];c&&(delete b[a],c())};a.a=function(a,d){b[a]=d};a.r=function(a){delete b[a]}}return a},Ic=function(a,b){b=b.onload;return"function"===typeof b?(Hc().a(a,b),b):null},Jc=function(a){A(/^\w+$/.test(a),"Unsupported id - "+a);Hc();return'onload="window.___jsl.onl.e(&#34;'+a+'&#34;)"'},Kc=function(a){Hc().r(a)};var Lc={allowtransparency:"true",frameborder:"0",hspace:"0",marginheight:"0",marginwidth:"0",scrolling:"no",style:"",tabindex:"0",vspace:"0",width:"100%"},Mc={allowtransparency:!0,onload:!0},Nc=0,Oc=function(a){A(!a||Da.test(a),"Illegal url for new iframe - "+a)},Pc=function(a,b,c,d,e){Oc(c.src);var f,g=Ic(d,c),h=g?Jc(d):"";try{document.all&&(f=a.createElement('<iframe frameborder="'+pa(String(c.frameborder))+'" scrolling="'+pa(String(c.scrolling))+'" '+h+' name="'+pa(String(c.name))+'"/>'))}catch(l){}finally{f||
(f=a.createElement("iframe"),g&&(f.onload=function(){f.onload=null;g.call(this)},Kc(d)))}f.setAttribute("ng-non-bindable","");for(var k in c)a=c[k],"style"===k&&"object"===typeof a?z(a,f.style):Mc[k]||f.setAttribute(k,String(a));(k=e&&e.beforeNode||null)||e&&e.dontclear||Ja(b);b.insertBefore(f,k);f=k?k.previousSibling:b.lastChild;c.allowtransparency&&(f.allowTransparency=!0);return f};var Qc=/^:[\w]+$/,Rc=/:([a-zA-Z_]+):/g,Sc=function(){var a=Ob()||"0",b=Pb();var c=Ob(void 0)||a;var d=Pb(void 0),e="";c&&(e+="u/"+encodeURIComponent(String(c))+"/");d&&(e+="b/"+encodeURIComponent(String(d))+"/");c=e||null;(e=(d=!1===O("isLoggedIn"))?"_/im/":"")&&(c="");var f=O("iframes/:socialhost:"),g=O("iframes/:im_socialhost:");return Lb={socialhost:f,ctx_socialhost:d?g:f,session_index:a,session_delegate:b,session_prefix:c,im_prefix:e}},Tc=function(a,b){return Sc()[b]||""},Uc=function(a){return function(b,
c){return a?Sc()[c]||a[c]||"":Sc()[c]||""}};var Vc=function(a){var b;a.match(/^https?%3A/i)&&(b=decodeURIComponent(a));return Ca(document,b?b:a)},Wc=function(a){a=a||"canonical";for(var b=document.getElementsByTagName("link"),c=0,d=b.length;c<d;c++){var e=b[c],f=e.getAttribute("rel");if(f&&f.toLowerCase()==a&&(e=e.getAttribute("href"))&&(e=Vc(e))&&null!=e.match(/^https?:\/\/[\w\-_\.]+/i))return e}return window.location.href};var Xc={se:"0"},Yc={post:!0},Zc={style:"position:absolute;top:-10000px;width:450px;margin:0px;border-style:none"},$c="onPlusOne _ready _close _open _resizeMe _renderstart oncircled drefresh erefresh".split(" "),ad=v(F,"WI",w()),bd=function(a,b,c){var d;var e={};var f=d=a;"plus"==a&&b.action&&(d=a+"_"+b.action,f=a+"/"+b.action);(d=O("iframes/"+d+"/url"))||(d=":im_socialhost:/:session_prefix::im_prefix:_/widget/render/"+f+"?usegapi=1");for(var g in Xc)e[g]=g+"/"+(b[g]||Xc[g])+"/";e=Ca(t,d.replace(Rc,
Uc(e)));g="iframes/"+a+"/params/";f={};z(b,f);(d=O("lang")||O("gwidget/lang"))&&(f.hl=d);Yc[a]||(f.origin=window.location.origin||window.location.protocol+"//"+window.location.host);f.exp=O(g+"exp");if(g=O(g+"location"))for(d=0;d<g.length;d++){var h=g[d];f[h]=q.location[h]}switch(a){case "plus":case "follow":g=f.href;d=b.action?void 0:"publisher";g=(g="string"==typeof g?g:void 0)?Vc(g):Wc(d);f.url=g;delete f.href;break;case "plusone":g=(g=b.href)?Vc(g):Wc();f.url=g;g=b.db;d=O();null==g&&d&&(g=d.db,
null==g&&(g=d.gwidget&&d.gwidget.db));f.db=g||void 0;g=b.ecp;d=O();null==g&&d&&(g=d.ecp,null==g&&(g=d.gwidget&&d.gwidget.ecp));f.ecp=g||void 0;delete f.href;break;case "signin":f.url=Wc()}F.ILI&&(f.iloader="1");delete f["data-onload"];delete f.rd;for(var k in Xc)f[k]&&delete f[k];f.gsrc=O("iframes/:source:");k=O("inline/css");"undefined"!==typeof k&&0<c&&k>=c&&(f.ic="1");k=/^#|^fr-/;c={};for(var l in f)x(f,l)&&k.test(l)&&(c[l.replace(k,"")]=f[l],delete f[l]);l="q"==O("iframes/"+a+"/params/si")?f:
c;k=Db();for(var p in k)!x(k,p)||x(f,p)||x(c,p)||(l[p]=k[p]);p=[].concat($c);(l=O("iframes/"+a+"/methods"))&&"object"===typeof l&&ha.test(l.push)&&(p=p.concat(l));for(var n in b)x(b,n)&&/^on/.test(n)&&("plus"!=a||"onconnect"!=n)&&(p.push(n),delete f[n]);delete f.callback;c._methods=p.join(",");return za(e,f,c)},cd=["style","data-gapiscan"],ed=function(a){for(var b=w(),c=0!=a.nodeName.toLowerCase().indexOf("g:"),d=0,e=a.attributes.length;d<e;d++){var f=a.attributes[d],g=f.name,h=f.value;0<=ia.call(cd,
g)||c&&0!=g.indexOf("data-")||"null"===h||"specified"in f&&!f.specified||(c&&(g=g.substr(5)),b[g.toLowerCase()]=h)}a=a.style;(c=dd(a&&a.height))&&(b.height=String(c));(a=dd(a&&a.width))&&(b.width=String(a));return b},dd=function(a){var b=void 0;"number"===typeof a?b=a:"string"===typeof a&&(b=parseInt(a,10));return b},gd=function(){var a=F.drw;Jb(function(b){if(a!==b.id&&4!=b.state&&"share"!=b.type){var c=b.id,d=b.type,e=b.url;b=b.userParams;var f=t.getElementById(c);if(f){var g=bd(d,b,0);g?(f=f.parentNode,
e.replace(/#.*/,"").replace(/(\?|&)ic=1/,"")!==g.replace(/#.*/,"").replace(/(\?|&)ic=1/,"")&&(b.dontclear=!0,b.rd=!0,b.ri=!0,b.type=d,fd(f,b),(d=P[f.lastChild.id])&&(d.oid=c),Kb(c,4))):delete P[c]}else delete P[c]}})};var W,hd,X,id,jd,kd=/(?:^|\s)g-((\S)*)(?:$|\s)/,ld={plusone:!0,autocomplete:!0,profile:!0,signin:!0,signin2:!0};W=v(F,"SW",w());hd=v(F,"SA",w());X=v(F,"SM",w());id=v(F,"FW",[]);jd=null;
var nd=function(a,b){md(void 0,!1,a,b)},md=function(a,b,c,d){G("ps0",!0);c=("string"===typeof c?document.getElementById(c):c)||t;var e=t.documentMode;if(c.querySelectorAll&&(!e||8<e)){e=d?[d]:qa(W).concat(qa(hd)).concat(qa(X));for(var f=[],g=0;g<e.length;g++){var h=e[g];f.push(".g-"+h,"g\\:"+h)}e=c.querySelectorAll(f.join(","))}else e=c.getElementsByTagName("*");c=w();for(f=0;f<e.length;f++){g=e[f];var k=g;h=d;var l=k.nodeName.toLowerCase(),p=void 0;if(k.getAttribute("data-gapiscan"))h=null;else{var n=
l.indexOf("g:");0==n?p=l.substr(2):(n=(n=String(k.className||k.getAttribute("class")))&&kd.exec(n))&&(p=n[1]);h=!p||!(W[p]||hd[p]||X[p])||h&&p!==h?null:p}h&&(ld[h]||0==g.nodeName.toLowerCase().indexOf("g:")||0!=qa(ed(g)).length)&&(g.setAttribute("data-gapiscan",!0),v(c,h,[]).push(g))}if(b)for(var r in c)for(b=c[r],d=0;d<b.length;d++)b[d].setAttribute("data-onload",!0);for(var u in c)id.push(u);G("ps1",!0);if((r=id.join(":"))||a)try{B.load(r,a)}catch(E){Gb(E);return}if(od(jd||{}))for(var y in c){a=
c[y];u=0;for(b=a.length;u<b;u++)a[u].removeAttribute("data-gapiscan");pd(y)}else{d=[];for(y in c)for(a=c[y],u=0,b=a.length;u<b;u++)e=a[u],qd(y,e,ed(e),d,b);rd(r,d)}},sd=function(a){var b=v(B,a,{});b.go||(b.go=function(b){return nd(b,a)},b.render=function(b,d){d=d||{};d.type=a;return fd(b,d)})},td=function(a){W[a]=!0},ud=function(a){hd[a]=!0},vd=function(a){X[a]=!0};var pd=function(a,b){var c=Na(a);b&&c?(c(b),(c=b.iframeNode)&&c.setAttribute("data-gapiattached",!0)):B.load(a,function(){var c=Na(a),e=b&&b.iframeNode,f=b&&b.userParams;e&&c?(c(b),e.setAttribute("data-gapiattached",!0)):(c=B[a].go,"signin2"==a?c(e,f):c(e&&e.parentNode,f))})},od=function(){return!1},rd=function(){},qd=function(a,b,c,d,e,f,g){switch(wd(b,a,f)){case 0:a=X[a]?a+"_annotation":a;d={};d.iframeNode=b;d.userParams=c;pd(a,d);break;case 1:if(b.parentNode){for(var h in c){if(f=x(c,h))f=c[h],
f=!!f&&"object"===typeof f&&(!f.toString||f.toString===Object.prototype.toString||f.toString===Array.prototype.toString);if(f)try{c[h]=qc(c[h])}catch(y){delete c[h]}}f=!0;c.dontclear&&(f=!1);delete c.dontclear;Ib();h=bd(a,c,e);e=g||{};e.allowPost=1;e.attributes=Zc;e.dontclear=!f;g={};g.userParams=c;g.url=h;g.type=a;if(c.rd)var k=b;else k=document.createElement("div"),b.setAttribute("data-gapistub",!0),k.style.cssText="position:absolute;width:450px;left:-10000px;",b.parentNode.insertBefore(k,b);g.siteElement=
k;k.id||(b=k,v(ad,a,0),f="___"+a+"_"+ad[a]++,b.id=f);b=w();b[">type"]=a;z(c,b);f=h;c=k;h=e||{};b=h.attributes||{};A(!(h.allowPost||h.forcePost)||!b.onload,"onload is not supported by post iframe (allowPost or forcePost)");e=b=f;Qc.test(b)&&(e=O("iframes/"+e.substring(1)+"/url"),A(!!e,"Unknown iframe url config for - "+b));f=Ca(t,e.replace(Rc,Tc));b=c.ownerDocument||t;k=0;do e=h.id||["I",Nc++,"_",(new Date).getTime()].join("");while(b.getElementById(e)&&5>++k);A(5>k,"Error creating iframe id");k={};
var l={};b.documentMode&&9>b.documentMode&&(k.hostiemode=b.documentMode);z(h.queryParams||{},k);z(h.fragmentParams||{},l);var p=h.pfname;var n=w();O("iframes/dropLegacyIdParam")||(n.id=e);n._gfid=e;n.parent=b.location.protocol+"//"+b.location.host;var r=C(b.location.href,"parent");p=p||"";!p&&r&&(r=C(b.location.href,"_gfid","")||C(b.location.href,"id",""),p=C(b.location.href,"pfname",""),p=r?p+"/"+r:"");p||(r=pc(C(b.location.href,"jcp","")))&&"object"==typeof r&&(p=(p=r.id)?r.pfname+"/"+p:"");n.pfname=
p;h.connectWithJsonParam&&(r={},r.jcp=qc(n),n=r);r=C(f,"rpctoken")||k.rpctoken||l.rpctoken;r||(r=h.rpctoken||String(Math.round(1E8*(xc?Gc():Fc()))),n.rpctoken=r);h.rpctoken=r;z(n,h.connectWithQueryParams?k:l);r=b.location.href;n=w();(p=C(r,"_bsh",F.bsh))&&(n._bsh=p);(r=La(r))&&(n.jsh=r);h.hintInFragment?z(n,l):z(n,k);f=za(f,k,l,h.paramsSerializer);l=w();z(Lc,l);z(h.attributes,l);l.name=l.id=e;l.src=f;h.eurl=f;k=h||{};n=!!k.allowPost;if(k.forcePost||n&&2E3<f.length){k=D(f);l.src="";h.dropDataPostorigin||
(l["data-postorigin"]=f);f=Pc(b,c,l,e);if(-1!=navigator.userAgent.indexOf("WebKit")){var u=f.contentWindow.document;u.open();l=u.createElement("div");n={};r=e+"_inner";n.name=r;n.src="";n.style="display:none";Pc(b,l,n,r,h)}l=(h=k.query[0])?h.split("&"):[];h=[];for(n=0;n<l.length;n++)r=l[n].split("=",2),h.push([decodeURIComponent(r[0]),decodeURIComponent(r[1])]);k.query=[];l=xa(k);A(Da.test(l),"Invalid URL: "+l);k=b.createElement("form");k.action=l;k.method="POST";k.target=e;k.style.display="none";
for(e=0;e<h.length;e++)l=b.createElement("input"),l.type="hidden",l.name=h[e][0],l.value=h[e][1],k.appendChild(l);c.appendChild(k);k.submit();k.parentNode.removeChild(k);u&&u.close();u=f}else u=Pc(b,c,l,e,h);g.iframeNode=u;g.id=u.getAttribute("id");u=g.id;c=w();c.id=u;c.userParams=g.userParams;c.url=g.url;c.type=g.type;c.state=1;P[u]=c;u=g}else u=null;u&&((g=u.id)&&d.push(g),pd(a,u))}},wd=function(a,b,c){if(a&&1===a.nodeType&&b){if(c)return 1;if(X[b]){if(Ka[a.nodeName.toLowerCase()])return(a=a.innerHTML)&&
a.replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")?0:1}else{if(hd[b])return 0;if(W[b])return 1}}return null},fd=function(a,b){var c=b.type;delete b.type;var d=("string"===typeof a?document.getElementById(a):a)||void 0;if(d){a={};for(var e in b)x(b,e)&&(a[e.toLowerCase()]=b[e]);a.rd=1;(b=!!a.ri)&&delete a.ri;e=[];qd(c,d,a,e,0,b,void 0);rd(c,e)}else Gb("string"==="gapi."+c+".render: missing element "+typeof a?a:"")};v(B,"platform",{}).go=nd;od=function(a){for(var b=["_c","jsl","h"],c=0;c<b.length&&a;c++)a=a[b[c]];b=La(ea.href);return!a||0!=a.indexOf("n;")&&0!=b.indexOf("n;")&&a!==b};rd=function(a,b){xd(a,b)};var Ga=function(a){md(a,!0)},yd=function(a,b){b=b||[];for(var c=0;c<b.length;++c)a(b[c]);for(a=0;a<b.length;a++)sd(b[a])};
H.push(["platform",function(a,b,c){jd=c;b&&id.push(b);yd(td,a);yd(ud,c._c.annotation);yd(vd,c._c.bimodal);zb();xb();if("explicit"!=O("parsetags")){Ma(a);Eb(Db())&&!O("disableRealtimeCallback")&&Ib();if(c&&(a=c.callback)){var d=ra(a);delete c.callback}Ia(function(){Ga(d)})}}]);B._pl=!0;var zd=function(a){a=(a=P[a])?a.oid:void 0;if(a){var b=t.getElementById(a);b&&b.parentNode.removeChild(b);delete P[a];zd(a)}};var Ad=/^\{h:'/,Bd=/^!_/,Cd="",xd=function(a,b){function c(){Ea("message",d,"remove","de")}function d(d){var f=d.data,h=d.origin;if(Dd(f,b)){var k=e;e=!1;k&&G("rqe");Ed(a,function(){k&&G("rqd");c();for(var a=v(F,"RPMQ",[]),b=0;b<a.length;b++)a[b]({data:f,origin:h})})}}if(0!==b.length){Cd=C(ea.href,"pfname","");var e=!0;Ea("message",d,"add","at");K(a,c)}},Dd=function(a,b){a=String(a);if(Ad.test(a))return!0;var c=!1;Bd.test(a)&&(c=!0,a=a.substr(2));if(!/^\{/.test(a))return!1;var d=pc(a);if(!d)return!1;
a=d.f;if(d.s&&a&&-1!=ia.call(b,a)){if("_renderstart"===d.s||d.s===Cd+"/"+a+"::_renderstart")if(d=d.a&&d.a[c?0:1],b=t.getElementById(a),Kb(a,2),d&&b&&d.width&&d.height){a:{c=b.parentNode;a=d||{};if(Hb()){var e=b.id;if(e){d=(d=P[e])?d.state:void 0;if(1===d||4===d)break a;zd(e)}}(d=c.nextSibling)&&d.getAttribute&&d.getAttribute("data-gapistub")&&(c.parentNode.removeChild(d),c.style.cssText="");d=a.width;var f=a.height,g=c.style;g.textIndent="0";g.margin="0";g.padding="0";g.background="transparent";g.borderStyle=
"none";g.cssFloat="none";g.styleFloat="none";g.lineHeight="normal";g.fontSize="1px";g.verticalAlign="baseline";c=c.style;c.display="inline-block";g=b.style;g.position="static";g.left="0";g.top="0";g.visibility="visible";d&&(c.width=g.width=d+"px");f&&(c.height=g.height=f+"px");a.verticalAlign&&(c.verticalAlign=a.verticalAlign);e&&Kb(e,3)}b["data-csi-wdt"]=(new Date).getTime()}return!0}return!1},Ed=function(a,b){K(a,b)};var Fd=function(a,b){this.H=a;a=b||{};this.Y=Number(a.maxAge)||0;this.N=a.domain;this.R=a.path;this.Z=!!a.secure},Gd=/^[-+/_=.:|%&[email protected]]*$/,Hd=/^[A-Z_][A-Z0-9_]{0,63}$/;Fd.prototype.read=function(){for(var a=this.H+"=",b=document.cookie.split(/;\s*/),c=0;c<b.length;++c){var d=b[c];if(0==d.indexOf(a))return d.substr(a.length)}};
Fd.prototype.write=function(a,b){if(!Hd.test(this.H))throw"Invalid cookie name";if(!Gd.test(a))throw"Invalid cookie value";a=this.H+"="+a;this.N&&(a+=";domain="+this.N);this.R&&(a+=";path="+this.R);b="number"===typeof b?b:this.Y;if(0<=b){var c=new Date;c.setSeconds(c.getSeconds()+b);a+=";expires="+c.toUTCString()}this.Z&&(a+=";secure");document.cookie=a;return!0};Fd.prototype.clear=function(){this.write("",0)};
Fd.iterate=function(a){for(var b=document.cookie.split(/;\s*/),c=0;c<b.length;++c){var d=b[c].split("="),e=d.shift();a(e,d.join("="))}};var Id=function(a){this.A=a},Y={};Id.prototype.read=function(){if(Y.hasOwnProperty(this.A))return Y[this.A]};Id.prototype.write=function(a){Y[this.A]=a;return!0};Id.prototype.clear=function(){delete Y[this.A]};Id.iterate=function(a){for(var b in Y)Y.hasOwnProperty(b)&&a(b,Y[b])};var Jd="https:"===window.location.protocol,Kd=Jd||"http:"===window.location.protocol?Fd:Id,Ld=function(a){var b=a.substr(1),c="",d=window.location.hostname;if(""!==b){c=parseInt(b,10);if(isNaN(c))return null;b=d.split(".");if(b.length<c-1)return null;b.length==c-1&&(d="."+d)}else d="";return{i:"S"==a.charAt(0),domain:d,l:c}},Md=function(){var a,b=null;Kd.iterate(function(c,d){0===c.indexOf("G_AUTHUSER_")&&(c=Ld(c.substring(11)),!a||c.i&&!a.i||c.i==a.i&&c.l>a.l)&&(a=c,b=d)});return{X:a,D:b}};var Nd=function(a){if(0!==a.indexOf("GCSC"))return null;var b={P:!1};a=a.substr(4);if(!a)return b;var c=a.charAt(0);a=a.substr(1);var d=a.lastIndexOf("_");if(-1==d)return b;var e=Ld(a.substr(d+1));if(null==e)return b;a=a.substring(0,d);if("_"!==a.charAt(0))return b;d="E"===c&&e.i;return!d&&("U"!==c||e.i)||d&&!Jd?b:{P:!0,i:d,ba:a.substr(1),domain:e.domain,l:e.l}},Od=function(a){if(!a)return[];a=a.split("=");return a[1]?a[1].split("|"):[]},Pd=function(a){a=a.split(":");return{clientId:a[0].split("=")[1],
aa:Od(a[1]),da:Od(a[2]),ca:Od(a[3])}},Qd=function(){var a=Md(),b=a.X;a=a.D;if(null!==a){var c;Kd.iterate(function(a,d){(a=Nd(a))&&a.P&&a.i==b.i&&a.l==b.l&&(c=d)});if(c){var d=Pd(c),e=d&&d.aa[Number(a)];d=d&&d.clientId;if(e)return{D:a,$:e,clientId:d}}}return null};var Z=function(){this.M=Rd};Z.prototype.v=0;Z.prototype.K=2;Z.prototype.M=null;Z.prototype.G=!1;Z.prototype.U=function(){this.G||(this.v=0,this.G=!0,this.S())};Z.prototype.S=function(){this.G&&(this.M()?this.v=this.K:this.v=Math.min(2*(this.v||this.K),120),window.setTimeout(ca(this.S,this),1E3*this.v))};for(var Sd=0;64>Sd;++Sd);var Td=null;Hb=function(){return F.oa=!0};Ib=function(){F.oa=!0;var a=Qd();(a=a&&a.D)&&yb("googleapis.config/sessionIndex",a);Td||(Td=v(F,"ss",new Z));a=Td;a.U&&a.U()};
var Rd=function(){var a=Qd(),b=a&&a.$||null,c=a&&a.clientId;K("auth",{callback:function(){var a=q.gapi.auth,e={client_id:c,session_state:b};a.checkSessionState(e,function(b){var c=e.session_state,d=O("isLoggedIn");b=O("debug/forceIm")?!1:c&&b||!c&&!b;if(d=d!=b)yb("isLoggedIn",b),Ib(),gd(),b||((b=a.signOut)?b():(b=a.setToken)&&b(null));b=Db();var f=O("savedUserState");c=a._guss(b.cookiepolicy);f=f!=c&&"undefined"!=typeof f;yb("savedUserState",c);(d||f)&&Eb(b)&&!O("disableRealtimeCallback")&&a._pimf(b,
!0)})}});return!0};G("bs0",!0,window.gapi._bs);G("bs1",!0);delete window.gapi._bs;}).call(this);
gapi.load("",{callback:window["gapi_onload"],_c:{"jsl":{"ci":{"deviceType":"desktop","oauth-flow":{"authUrl":"https://accounts.google.com/o/oauth2/auth","proxyUrl":"https://accounts.google.com/o/oauth2/postmessageRelay","disableOpt":true,"idpIframeUrl":"https://accounts.google.com/o/oauth2/iframe","usegapi":false},"debug":{"reportExceptionRate":0.05,"forceIm":false,"rethrowException":false,"host":"https://apis.google.com"},"enableMultilogin":true,"googleapis.config":{"auth":{"useFirstPartyAuthV2":true}},"isPlusUser":true,"inline":{"css":1},"disableRealtimeCallback":false,"drive_share":{"skipInitCommand":true},"csi":{"rate":0.01},"client":{"cors":false},"isLoggedIn":true,"signInDeprecation":{"rate":0.0},"include_granted_scopes":true,"llang":"es","iframes":{"youtube":{"params":{"location":["search","hash"]},"url":":socialhost:/:session_prefix:_/widget/render/youtube?usegapi\u003d1","methods":["scroll","openwindow"]},"ytsubscribe":{"url":"https://www.youtube.com/subscribe_embed?usegapi\u003d1"},"plus_circle":{"params":{"url":""},"url":":socialhost:/:session_prefix::se:_/widget/plus/circle?usegapi\u003d1"},"plus_share":{"params":{"url":""},"url":":socialhost:/:session_prefix::se:_/+1/sharebutton?plusShare\u003dtrue\u0026usegapi\u003d1"},"rbr_s":{"params":{"url":""},"url":":socialhost:/:session_prefix::se:_/widget/render/recobarsimplescroller"},":source:":"3p","playemm":{"url":"https://play.google.com/work/embedded/search?usegapi\u003d1\u0026usegapi\u003d1"},"savetoandroidpay":{"url":"https://pay.google.com/gp/v/widget/save"},"blogger":{"params":{"location":["search","hash"]},"url":":socialhost:/:session_prefix:_/widget/render/blogger?usegapi\u003d1","methods":["scroll","openwindow"]},"evwidget":{"params":{"url":""},"url":":socialhost:/:session_prefix:_/events/widget?usegapi\u003d1"},"partnersbadge":{"url":"https://www.gstatic.com/partners/badge/templates/badge.html?usegapi\u003d1"},"dataconnector":{"url":"https://dataconnector.corp.google.com/:session_prefix:ui/widgetview?usegapi\u003d1"},"surveyoptin":{"url":"https://www.google.com/shopping/customerreviews/optin?usegapi\u003d1"},":socialhost:":"https://apis.google.com","shortlists":{"url":""},"hangout":{"url":"https://talkgadget.google.com/:session_prefix:talkgadget/_/widget"},"plus_followers":{"params":{"url":""},"url":":socialhost:/_/im/_/widget/render/plus/followers?usegapi\u003d1"},"post":{"params":{"url":""},"url":":socialhost:/:session_prefix::im_prefix:_/widget/render/post?usegapi\u003d1"},":gplus_url:":"https://plus.google.com","signin":{"params":{"url":""},"url":":socialhost:/:session_prefix:_/widget/render/signin?usegapi\u003d1","methods":["onauth"]},"rbr_i":{"params":{"url":""},"url":":socialhost:/:session_prefix::se:_/widget/render/recobarinvitation"},"donation":{"url":"https://onetoday.google.com/home/donationWidget?usegapi\u003d1"},"share":{"url":":socialhost:/:session_prefix::im_prefix:_/widget/render/share?usegapi\u003d1"},"plusone":{"params":{"count":"","size":"","url":""},"url":":socialhost:/:session_prefix::se:_/+1/fastbutton?usegapi\u003d1"},"comments":{"params":{"location":["search","hash"]},"url":":socialhost:/:session_prefix:_/widget/render/comments?usegapi\u003d1","methods":["scroll","openwindow"]},":im_socialhost:":"https://plus.googleapis.com","backdrop":{"url":"https://clients3.google.com/cast/chromecast/home/widget/backdrop?usegapi\u003d1"},"visibility":{"params":{"url":""},"url":":socialhost:/:session_prefix:_/widget/render/visibility?usegapi\u003d1"},"autocomplete":{"params":{"url":""},"url":":socialhost:/:session_prefix:_/widget/render/autocomplete"},"additnow":{"url":"https://apis.google.com/marketplace/button?usegapi\u003d1","methods":["launchurl"]},":signuphost:":"https://plus.google.com","ratingbadge":{"url":"https://www.google.com/shopping/customerreviews/badge?usegapi\u003d1"},"appcirclepicker":{"url":":socialhost:/:session_prefix:_/widget/render/appcirclepicker"},"follow":{"url":":socialhost:/:session_prefix:_/widget/render/follow?usegapi\u003d1"},"community":{"url":":ctx_socialhost:/:session_prefix::im_prefix:_/widget/render/community?usegapi\u003d1"},"sharetoclassroom":{"url":"https://www.gstatic.com/classroom/sharewidget/widget_stable.html?usegapi\u003d1"},"ytshare":{"params":{"url":""},"url":":socialhost:/:session_prefix:_/widget/render/ytshare?usegapi\u003d1"},"plus":{"url":":socialhost:/:session_prefix:_/widget/render/badge?usegapi\u003d1"},"family_creation":{"params":{"url":""},"url":"https://families.google.com/webcreation?usegapi\u003d1\u0026usegapi\u003d1"},"commentcount":{"url":":socialhost:/:session_prefix:_/widget/render/commentcount?usegapi\u003d1"},"configurator":{"url":":socialhost:/:session_prefix:_/plusbuttonconfigurator?usegapi\u003d1"},"zoomableimage":{"url":"https://ssl.gstatic.com/microscope/embed/"},"appfinder":{"url":"https://gsuite.google.com/:session_prefix:marketplace/appfinder?usegapi\u003d1"},"savetowallet":{"url":"https://pay.google.com/gp/v/widget/save"},"person":{"url":":socialhost:/:session_prefix:_/widget/render/person?usegapi\u003d1"},"savetodrive":{"url":"https://drive.google.com/savetodrivebutton?usegapi\u003d1","methods":["save"]},"page":{"url":":socialhost:/:session_prefix:_/widget/render/page?usegapi\u003d1"},"card":{"url":":socialhost:/:session_prefix:_/hovercard/card"}}},"h":"m;/_/scs/apps-static/_/js/k\u003doz.gapi.es.r9Ap5IwZXRc.O/am\u003dwQ/rt\u003dj/d\u003d1/rs\u003dAGLTcCM8GR6S9Pl3aMPfdk-rc0Gte_ynHg/m\u003d__features__","u":"https://apis.google.com/js/platform.js","hee":true,"fp":"1f656ad1e9249f4b0926312ba3e657e5881a128f","dpo":false},"platform":["additnow","backdrop","blogger","comments","commentcount","community","donation","family_creation","follow","hangout","health","page","partnersbadge","person","playemm","playreview","plus","plusone","post","ratingbadge","savetoandroidpay","savetodrive","savetowallet","sharetoclassroom","shortlists","signin2","surveyoptin","visibility","youtube","ytsubscribe","zoomableimage"],"fp":"1f656ad1e9249f4b0926312ba3e657e5881a128f","annotation":["interactivepost","recobar","signin2","autocomplete","profile"],"bimodal":["signin","share"]}});
</script><!--  Load polyfill for Map compatibility  -->
<script src="https://cdn.polyfill.io/v2/polyfill.min.js"></script><script src="https://cdn.optimizely.com/js/2725640111.js"></script><style>
.flex-control-thumbs img,.flex-viewport{-webkit-transition:all 1s ease;-moz-transition:all 1s ease;-ms-transition:all 1s ease;-o-transition:all 1s ease}.flex-direction-nav a,.flex-direction-nav a:before{color:rgba(0,0,0,.8);text-shadow:1px 1px 0 rgba(255,255,255,.3)}@font-face{font-family:flexslider-icon;src:url(fonts/flexslider-icon.eot);src:url(fonts/flexslider-icon.eot?#iefix) format('embedded-opentype'),url(fonts/flexslider-icon.woff) format('woff'),url(fonts/flexslider-icon.ttf) format('truetype'),url(fonts/flexslider-icon.svg#flexslider-icon) format('svg');font-weight:400;font-style:normal}.flex-container a:hover,.flex-slider a:hover{outline:0}.flex-control-nav,.flex-direction-nav,.slides,.slides>li{margin:0;padding:0;list-style:none}.flex-pauseplay span{text-transform:capitalize}.flexslider{margin:0;padding:0;position:relative;zoom:1}.flexslider .slides>li{display:none;-webkit-backface-visibility:hidden}.flexslider .slides:after{content:"\0020";display:block;clear:both;visibility:hidden;line-height:0;height:0}html[xmlns] .flexslider .slides{display:block}* html .flexslider .slides{height:1%}.no-js .flexslider .slides>li:first-child{display:block}.flexslider .slides{zoom:1}.flexslider .slides img{width:100%;display:block;height:auto;-moz-user-select:none}.flex-viewport{max-height:2000px;transition:all 1s ease}.loading .flex-viewport{max-height:300px}.carousel li{margin-right:5px}.flex-direction-nav a{text-decoration:none;display:block;width:40px;height:40px;margin:-20px 0 0;position:absolute;top:50%;z-index:10;overflow:hidden;opacity:0;cursor:pointer;-webkit-transition:all .3s ease-in-out;-moz-transition:all .3s ease-in-out;-ms-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.flex-direction-nav a:before{font-family:flexslider-icon;font-size:40px;display:inline-block}.flex-direction-nav .flex-prev{left:-50px}.flex-direction-nav .flex-next{right:-50px;text-align:right}.flexslider:hover .flex-direction-nav .flex-prev{opacity:.7;left:10px}.flexslider:hover .flex-direction-nav .flex-prev:hover{opacity:1}.flexslider:hover .flex-direction-nav .flex-next{opacity:.7;right:10px}.flexslider:hover .flex-direction-nav .flex-next:hover{opacity:1}.flex-direction-nav .flex-disabled{opacity:0!important;filter:alpha(opacity=0);cursor:default;z-index:-1}.flex-pauseplay a{display:block;width:20px;height:20px;position:absolute;bottom:5px;left:10px;opacity:.8;z-index:10;overflow:hidden;cursor:pointer;color:#000}.flex-pauseplay a:before{font-family:flexslider-icon;font-size:20px;display:inline-block;content:'\f004'}.flex-pauseplay a:hover{opacity:1}.flex-pauseplay a.flex-play:before{content:'\f003'}.flex-control-nav{width:100%;position:absolute;bottom:-30px;text-align:center;z-index:10}.flex-control-nav li{margin:0 6px;display:inline-block;zoom:1}.flex-control-paging li a{width:30px;height:2px;display:block;cursor:pointer;text-indent:-9999px;background:#aaa;color:transparent}.flex-control-paging li a:hover{border:2px solid #333}.flex-nav-prev a{background:url(left.png) no-repeat}.flex-nav-next a{background:url(right.png) no-repeat;text-indent:-9999px}.flex-control-paging li a.flex-active{background:#111;cursor:default}.flex-control-thumbs{margin:5px 0 0;position:static;overflow:hidden}.flex-control-thumbs li{width:25%;float:left;margin:0}.flex-control-thumbs img{width:100%;height:auto;display:block;opacity:.7;cursor:pointer;-moz-user-select:none;transition:all 1s ease}.flexslider-products .flex-direction-nav,.flexslider-products .flex-direction-nav li a.flex-prev{-webkit-transition:all 1s ease;-moz-transition:all 1s ease;-ms-transition:all 1s ease;-o-transition:all 1s ease}.flex-control-thumbs img:hover{opacity:1}.flex-control-thumbs .flex-active{opacity:1;cursor:default}.flex-active-slide{display:block!important}@media screen and (max-width:860px){.flex-direction-nav .flex-prev{opacity:1;left:10px}.flex-direction-nav .flex-next{opacity:1;right:10px}}.flexslider-products .flex-direction-nav{position:absolute;margin-top:12%;width:100%;opacity:0;z-index:999999999999999999;transition:all 1s ease}.product-grid-detail,.product-grid-detail h2>a,.product-grid-detail span .span-inline-block{text-align:center!important;width:100%!important}.flexslider-products:hover .flex-direction-nav{opacity:1}.flexslider-products .flex-direction-nav li a.flex-prev{float:left;margin-left:-50px;background:url(prod-left.png) center no-repeat;text-indent:-9999px;transition:all 1s ease}.flexslider-products .flex-direction-nav li a.flex-next{float:right;margin-right:-50px;background:url(prod-right.png) center no-repeat;text-indent:9999px;-webkit-transition:all 1s ease;-moz-transition:all 1s ease;-ms-transition:all 1s ease;-o-transition:all 1s ease;transition:all 1s ease}.flexslider-products:hover .flex-direction-nav li a.flex-prev{float:left;margin-left:0;background:url(prod-left.png) center no-repeat;text-indent:-9999px}.flexslider-products:hover .flex-direction-nav li a.flex-next{float:right;margin-right:0;background:url(prod-right.png) center no-repeat;text-indent:9999px}.flexslider-products li article h2 a{text-transform:uppercase;font-size:1.3rem}.product-grid-detail{margin-top:-35px!important}.product-grid-detail h2>a{margin-bottom:10px!important}.product-grid-detail span .span-inline-block{clear:both}.flexslider-products .flex-direction-nav .flex-prev{opacity:1;left:10px;background:url(prod-left.png) center no-repeat}.flexslider-products .flex-direction-nav .flex-next{opacity:1;right:10px;background:url(prod-left.png) center no-repeat}@media only screen and (max-width:500px){.flexslider-products .flex-direction-nav{margin-top:49%}.flexslider-products .product-slider-parrilla,.img-wrap a{width:100%}.product-grid-detail{margin-top:-30px!important;margin-bottom:40px!important}.flexslider-products li article h2 a{margin-top:10px}.flexslider-products .product-grid-detail h2>a{font-size:1.3rem!important;line-height:1.3rem!important;text-align:center!important;width:100%!important}}
</style>
<!-- END SPOT=ZH4_ESpot_HeadLibs -->

<script>
    dataLayer = [];
</script>
<script type="text/javascript" src="/static/itxwebstandard/js/common/itx-common.min.js?t=2019041110311151db1176774530"></script>
<!-- BEGIN SPOT=ZH4_ESpot_STYLES_FIX -->

<!-- END SPOT=ZH4_ESpot_STYLES_FIX -->
<!-- END page head -->

<!-- BEGIN post-common head -->
<script type="text/javascript" src="https://static.zarahome.net/8/static4/itxwebstandard/js/itx-custom-api.min.js?t=201904230220011176774530" crossorigin="anonymous"></script>
<!-- BEGIN SPOT=ZH4_ESpot_Inditex -->
<script>
/**
* Main BusinessContact Component
*/
(function (itxApp) {

    'use strict';
if (inditex.iFrontVersion === '8.1.0.2' || inditex.iFrontVersion === '8.1.1.0') {

    /**
    * @name itxBusinessContactCtrl
    * @type ItxBusinessContactCmpCtrl
    */
    var ItxBusinessContactCmp = {
        bindings: {},
        controller: ItxBusinessContactCmpCtrl,
        controllerAs: 'itxBusinessContactCtrl',
        templateUrl: 'business-contact.tpl'
    };

    ItxBusinessContactCmpCtrl.$inject = ['$rootScope', '$scope', '$timeout', '$q', 'ItxApiFactory', 'ItxHelper', 'gConstants', 'ItxPubSubFct', 'ItxGtmEventsFct', 'gtmConstants', '$window', 'ItxContactFactory', 'ItxModalFct', 'ItxNewsletterFct'];

    function ItxBusinessContactCmpCtrl($rootScope, $scope, $timeout, $q, ItxApiFactory, ItxHelper, gConstants, ItxPubSubFct, ItxGtmEventsFct, gtmConstants, $window, ItxContactFactory, ItxModalFct, ItxNewsletterFct) {
        var _this = this;
        _this.$rootScope = $rootScope;
        _this.$scope = $scope;
        _this.$timeout = $timeout;
        _this.$q = $q;
        _this.ItxApiFactory = ItxApiFactory;
        _this.ItxHelper = ItxHelper;
        _this.gConstants = gConstants;
        _this.ItxPubSubFct = ItxPubSubFct;
        _this.ItxGtmEventsFct = ItxGtmEventsFct;
        _this.gtmConstants = gtmConstants;
        _this.$window = $window;
        _this.ItxContactFactory = ItxContactFactory;
        _this.ItxModalFct = ItxModalFct;
        _this.ItxNewsletterFct = ItxNewsletterFct;

        _this.countryCode = inditex.iCountryCode;
        _this.policyURL = inditex.getStaticResourceUrl('/TC/BUSINESS/' + _this.countryCode + '/' + inditex.iLocale.split('_')[0] + '.pdf');
        _this.privacyURL = inditex.getStaticResourceUrl('/PP/' + _this.countryCode + '.pdf');
    }

    ItxBusinessContactCmpCtrl.prototype.$onInit = function () {
        var _this = this;

		_this.isMiddleName = inditex.iStoreJSON.details.isMiddleName;
		_this.contactData = {};
		_this.submitted = false;
		_this.submitOk = false;
    };

    /**
	 * Submit contact form.
	 */
	ItxBusinessContactCmpCtrl.prototype.contact = function() {
		var _this = this;
        _this.submitted = true;
		if (_this.contactForm.$valid) {
            _this.contactData.subject = _this.contactData.topic = 'Consulta Business';
            if (_this.companyName && _this.companyName.length) {
                _this.contactData.lastName += ' (' + _this.companyName + ')';
            }
            _this.submitOk = false;
            if (!_this.isMiddleName) {
                _this.contactData.middleName = '';
            }
            _this.contactData.phone = '';
            _this.contactData.type = 0;
			_this.ItxContactFactory.contact(_this.contactData).then(
				function(response) {
                    if ((_this.$rootScope.noDobleOptInActive && _this.noDobleOptNewsletterChecked) || (!_this.$rootScope.noDobleOptInActive && !_this.desactivateNewsletter)) {
                        _this.ItxNewsletterFct.subscribe(_this.contactData.email, _this.contactData.phone, _this.contactData.privacyPolicyAccepted, 'Business');
                    }
					_this.submitOk = true;
                    _this.contactData = {};
                    _this.companyName = undefined;
					_this.contactForm.$setPristine();
                    _this.contactForm.$setUntouched();
				},
				function(response) {
					_this.submitted = false;
					_this.ItxGtmEventsFct.contactFormServerError(response);
					var errorMessageToShow;
					if (response.causes && response.causes.length) {
						if (!errorMessageToShow) {
							if (response.causes && response.causes.length) {
								errorMessageToShow = response.causes[0].description;
							} else {
								errorMessageToShow = response.description;
							}
						}
					}
					_this.ItxModalFct.openModal(
						'error-message.tpl',
						{ message: errorMessageToShow },
						{ clickOutsideToClose: true }
					);
				}
			);
		} else {
			/*var keys = _.keys(_this.contactForm.$error);
			_.each(keys, function(key) {
				_.each(_this.contactForm.$error[key], function(error) {
					_this.ItxGtmEventsFct.contactFormError(error.$name);
				});
            });
            */
		}
    };

    /**
	 *Cheks/uncheks alllegal textboxes.
	 */
	ItxBusinessContactCmpCtrl.prototype.checkAllChanged = function() {
		var _this = this;
		if (_this.contactData.checkAll) {
			_this.contactData.consentCollection = true;
			_this.contactData.consentTransferInfo = true;
			_this.contactData.privacyPolicyAccepted = true;
		} else {
			_this.contactData.consentCollection = false;
			_this.contactData.consentTransferInfo = false;
			_this.contactData.privacyPolicyAccepted = false;
		}
    };

    /**
	 * Opens legal documents in Korea.
	 */
	ItxBusinessContactCmpCtrl.prototype.readMoreKorea = function(linkName) {
		switch (linkName) {
			case 'personal-information':
				window.open(
					inditex.getStaticResourceUrl(
						'/PP/KR/personal-information-privacy-policy-' +
							inditex.iLocale.split('_')[0] +
							'_' +
							inditex.iCountryCode +
							'.pdf'
					),'_blank');
				break;
			case 'overseas':
				window.open(
					inditex.getStaticResourceUrl(
						'/PP/KR/overseas-privacy-policy-' +
							inditex.iLocale.split('_')[0] +
							'_' +
							inditex.iCountryCode +
							'.pdf'
					),'_blank');
				break;
		}
	};

	/**
	 * Triggered when an user checks legal checkboxes in the form.
	 */
	ItxBusinessContactCmpCtrl.prototype.checkKrConsents = function() {
		var _this = this;
		if ( _this.contactData.consentCollection &&_this.contactData.consentTransferInfo ) {
			_this.contactData.privacyPolicyAccepted = true;
		} else {
			_this.contactData.privacyPolicyAccepted = false;
		}
    };

    ItxBusinessContactCmpCtrl.prototype.openPDF = function(pdfType, event) {
        var _this = this;

        event.stopPropagation();

        var pdfName;
        if (pdfType === 'PC') {
            window.open(_this.policyURL);
            pdfName = 'ver_condiciones_compra';
        } else if (pdfType === 'PP') {
            window.open(_this.privacyURL);
            pdfName = 'ver_politica_privacidad';
        } else if (pdfType === 'overseas') {
            var url = inditex.getStaticResourceUrl('/PP/KR/newsletter-privacy-policy-' + inditex.iLocale.split('_')[0] + '_' + inditex.iCountryCode + '.pdf');
            window.open(url);
            pdfName = 'ver_overseas';
        }

        $(document).trigger('GTM-push-event', [{
            'cf': 'legal',
            'category': 'pago',
            'action': pdfName,
            'label': ' '
        }]);
    };


    /** Public */
    angular.module('itxApp.common')
        .component('itxBusinessContact', ItxBusinessContactCmp);

    itxApp.common.ItxBusinessContactCmp = ItxBusinessContactCmp;
    itxApp.common.ItxBusinessContactCmpCtrl = ItxBusinessContactCmpCtrl;
}
})(window.itxApp);

</script><script>
    (function(itxApp) {

        'use strict';
        if (inditex.iFrontVersion === '8.2.0.1' || inditex.iFrontVersion === '8.2.0.2') {
            itxApp.common.ItxProductDetailCmp.bindings = {
                product: '<',
                singleImage: '<',
                parentProduct: '<',
                productType: '<',
                lookProducts: '<',
                relatedProducts: '<',
                lastseenProducts: '<',
                meccanoRelateds: '<',
                isModal: '<',
                isLookbook: '<',
                productImages: '<',
                isXmedia: '<',
                bundleComponent: '<',
                productIndex: '<',
                relatedsColor: '<',
                onColorChange: '&'

            }
            itxApp.common.ItxProductDetailCmpCtrl.prototype.$onInit = function() {
                var _this = this;
                var urlParams = _this.ItxHelper.getUrlParams();
                _this.urlParams = _this.$stateParams ? _this.$stateParams : urlParams ? urlParams : undefined;
                _this.directo = !_this.urlParams || (_this.urlParams && !_this.urlParams.srch && !_this.urlParams.cart && !_this.urlParams.ct && !_this.urlParams.wl && !_this.urlParams.vr && !_this.urlParams.lb && !_this.urlParams.bc) || _this.urlParams.dir;
                _this.isOpenForSale = inditex.iStoreJSON.isOpenForSale && _this.product.isBuyable;
                _this.productColors = _this.ItxProductFactory.getUsedColors(_this.product);
                _this.selectedColor = _this.product.detail.colors && _this.product.detail.colors.length ? _this.product.detail.colors[0] : undefined;
                if (_this.urlParams && typeof _this.urlParams.colorId !== 'undefined') {
                    _this.checkUrlParams();
                } else if (_this.product.mainColorid && !_this.selectedColor) {
                    _this.selectedColor = _this.productColors[_this.product.mainColorid];
                }
                _this.onColorChange({
                    color: _this.selectedColor,
                    isInit: true
                });
                _this.filteredReference = _this.getFilteredReference(_this.product.detail.reference);
                _this.subfilteredReference = _this.filteredReference.substring(1, 5) + "/" + _this.filteredReference.substring(5, 9);
                _this.productVisibleColors = _this.getProductColorsVisibles(_this.ItxProductFactory.getUsedColors(_this.product));
                _this.canBeAddedToCart = _this.isOpenForSale && _this.hasBuyableSizes() && !_this.ItxProductFactory.getProductPriceRanges(_this.product).priceNotAvailable;

                _this.setTriman();

                _this.productSizes = _this.getCurrentVisibleColorSizes();
                _this.isBundle = _this.parentProduct && _this.parentProduct.type === 'BundleBean';
                if (!_this.productImages) {
                    _this.setupSliderImages(_this.selectedColor);
                } else {
                    _this.productColorImages = _this.productImages;
                    _this.isXmediaProduct = _this.isXmedia;
                }
                _this.getCompositions();
                _this.isAudio = _this.product.subFamily === '133';
                if (_this.parentProduct) {
                    var stateInfo = _this.ItxCategoryFct.getProductState(_this.product, _this.selectedColor ? _this.selectedColor.id : undefined, {
                        fromBundleComponent: _this.bundleComponent,
                        isLookbook: _this.isLookbook,
                        fromDirecto: _this.directo
                    });
                    if (_this.isLookbook && stateInfo && stateInfo.params) {
                        stateInfo.params.lb = true;
                    }
                    stateInfo.params.index = _this.$rootScope.productIndex = (_this.productIndex !== undefined ? _this.productIndex : undefined);
                    _this.stateName = stateInfo.state;
                    _this.stateParams = stateInfo.params;
                    _this.stateHref = _this.$state.href(_this.stateName, _this.stateParams, {
                        absolute: true
                    });
                }

                _this.ItxWishlistService.getUserWishlists().then(function() {
                    _this.wishlists = inditex.wishlist._wishlists;
                }).catch(function(e) {
                    console.error(e);
                });

                _.reverse(_.remove(_this.lastseenProducts, function(prod) {
                    return prod.visibility !== 'show' && prod.visibility !== 'back_soon' && prod.visibility !== 'coming_soon';
                }));

                _this.ItxPubSubFct.subscribe('userStateChange', _this.$scope, _this.setWishList.bind(_this));
                _this.setRelatedSliderItems();
                _this.showDescriptions = (_this.product.detail.longDescription && _this.product.detail.longDescription.length > 0) || (_this.product.detail.description && _this.product.detail.description.length > 0);
                _this.setSliderStatus();
                _this.sliderStatusListenerReference = _this.setSliderStatus.bind(_this);
                window.addEventListener('resize', _this.sliderStatusListenerReference);
                _this.gettingEvents = true;
                _this.loadEvents = 1 //pre include slide event;
                _this.setLoadEvents();
            };

            itxApp.common.ItxProductDetailCmpCtrl.prototype.$onChanges = function(changes) {
                var _this = this;
                if (changes && changes.relatedsColor) {
                    _this.loadEvents = 1
                } else {
                    _this.loadEvents = 0;
                }
                _this.setLoadEvents();
            };

            itxApp.common.ItxProductDetailCmpCtrl.prototype.setLoadEvents = function() {
                var _this = this;
                _this.gettingEvents = true;
                if (_this.relatedProducts && _this.relatedProducts.length) {
                    _this.loadEvents++;
                }
                if (_this.lookProducts && _this.lookProducts.length) {
                    _this.loadEvents++;
                }
                if (_this.lastseenProducts && _this.lastseenProducts.length > 2 && _this.loadEvents < 2) {
                    _this.loadEvents++;
                }
                _this.$timeout(function() {
                    _this.gettingEvents = false;
                })
            }

            itxApp.common.ItxProductDetailCmpCtrl.prototype.setRelatedSliderItems = function() {
                var _this = this;
                _this.relatedSliderItems = _this.$window.innerWidth > 1280 ? 2 : 1;
            }

            itxApp.common.ItxProductDetailCmpCtrl.prototype.setSliderStatus = function() {
                var _this = this;
                _this.setRelatedSliderItems();
                _this.$timeout(function() {
                    _this.disableSlider = _this.$rootScope.device.isMobileDevice || _this.$rootScope.isDesktopMobile || ((_this.$rootScope.device.isTabletDevice || _this.$rootScope.isDesktopTablet) && _this.$rootScope.device.isLandscape) || _this.isModal || _this.isLookbook ? false : true;
                });
            };

            itxApp.common.ItxProductDetailCmpCtrl.prototype.sendFeedback = function(type) {
                var _this = this;
                _this.ItxMeccanoAnalyticsFct.sendRelatedFeedback(_this.meccanoRelateds, type).then(function(relateds) {
                    _this.meccanoRelateds = relateds;
                }).catch(function(e) {
                    if (e) {
                        console.error(e);
                    }
                });
            };
        }
    })(window.itxApp);
</script><script>
    (function(itxApp) {
        if (inditex.iFrontVersion === '8.2.0.1' || inditex.iFrontVersion === '8.2.0.2') {
            'use strict';

            angular.module('itxApp.common')
                .directive('itxProductInfoPosition', ItxProductInfoPositionDrt);

            ItxProductInfoPositionDrt.$inject = ['$window', '$timeout', 'ItxPubSubFct', '$rootScope']

            function ItxProductInfoPositionDrt($window, $timeout, ItxPubSubFct, $rootScope) {
                return {
                    //Can apply to
                    restrict: 'A',
                    scope: {
                        productType: '@itxProductInfoPosition',
                        loadEvents: '@itxProductInfoPositionEvents'
                    },
                    //Directive link function

                    link: function(scope) {

                        var loadEvents = parseInt(scope.loadEvents);
                        var eventsDone = 0;

                        var isRtl = inditex.iLangId === -44;
                        var isBundle = scope.productType === 'BundleBean';

                        var windowWidth = $window.innerWidth;
                        var scrollCtrl = new ScrollMagic.Controller();
                        var scene;


                        function startScrollMagic(updateScene) {
                            document.querySelector('html', 'body').style.overflow = 'visible';
                            setPaddingTop().then(function() {
                                var $rightElem = isBundle ? document.querySelector('.bundle-component-container') : document.querySelector('#add-to-cart-container');
                                var $leftElem = isBundle ? document.querySelector('.bundle-image-block') : document.querySelector('.image-block');
                                var $container = isBundle ? document.querySelector('.bundle-content-container') : document.querySelector('.product-detail-container');
                                var $pinnedRightElem = isBundle ? document.querySelector('.bundle-article-container') : document.querySelector('.add-to-cart-detail-product-bean');
                                var $pinnedLeftElem = document.querySelector('.detail-slider-image-container');

                                var pinnedSide = 'right';
                                if ($leftElem.offsetHeight < $rightElem.offsetHeight) {
                                    pinnedSide = 'left';
                                }
                                var $elemToPin = pinnedSide === 'right' ? $pinnedRightElem : $pinnedLeftElem;
                                var $elemToScroll = pinnedSide === 'right' ? $pinnedLeftElem : $pinnedRightElem;

                                var offsetTop = window.pageYOffset - ($container.getBoundingClientRect().top + 1);
                                var elementFitsIn = elementFits($elemToPin, offsetTop);

                                var offset = elementFitsIn ? offsetTop : ($elemToPin.offsetHeight - offsetTop - (window.innerHeight - offsetTop));
                                var duration = elementFitsIn ? $container.offsetHeight - (window.innerHeight + offsetTop) : $elemToScroll.offsetHeight - $elemToPin.offsetHeight;

                                if(duration < 1){
                                    duration = 1;
                                }

                                scene = new ScrollMagic.Scene({
                                        triggerElement: $container,
                                        duration: duration,
                                        triggerHook: 0,
                                        offset: offset
                                    })
                                    .setPin($elemToPin)
                                    .addTo(scrollCtrl);
                                if (updateScene) {
                                    scrollCtrl.updateScene(scene, true);
                                }
                            })

                        }


                        //utils
                        function elementFits(el, offset) {
                            return window.innerHeight + offset >= el.offsetHeight
                        }



                        // init directive


                        if (windowWidth > 767 && $rootScope.device.isDesktopDevice) {
                            if (isBundle) {
                                ItxPubSubFct.subscribe('loaded:bundleImages', scope, function(e) {
                                    $timeout(function() {
                                        resetScrollMagic();
                                    });
                                })
                            } else {
                                ItxPubSubFct.subscribe('loaded:sliderImages', scope, function(e) {
                                    eventsDone++;
                                    if (eventsDone === loadEvents) {
                                        $timeout(function() {
                                            resetScrollMagic();
                                        });
                                    }
                                })
                                ItxPubSubFct.subscribe('loaded:related', scope, function(e) {
                                    eventsDone++;
                                    if (eventsDone === loadEvents) {

                                        $timeout(function() {
                                            resetScrollMagic();
                                        });
                                    }
                                })
                            }
                            ItxPubSubFct.subscribe('update:productColor', scope, function(e) {
                                document.querySelector('html', 'body').style.overflow = 'hidden';
                            })

                        }

                        function resetScrollMagic() {
                            document.querySelector('html', 'body').scrollTo(0, 0);
                            windowWidth = $window.innerWidth;
                            scrollCtrl.destroy(true);
                            if (windowWidth > 767 && $rootScope.device.isDesktopDevice) {
                                scrollCtrl = new ScrollMagic.Controller();
                                $timeout(function() {
                                    startScrollMagic(true);
                                })
                            }
                        }

                        function setPaddingTop() {
                            return $timeout(function() {
                                var $element = document.querySelector('.completa-look');
                                if (window.innerHeight > 767 && $element && $rootScope.device.isDesktopDevice) {
                                    var $container = document.querySelector('.product-main-container')
                                    var $content = document.querySelector('.add-to-cart-detail-product-bean');
                                    var offsetTop = -(window.pageYOffset - ($container.getBoundingClientRect().top + 1));
                                    var availableSpace = window.innerHeight - offsetTop - $content.offsetHeight;
                                    var elHeight = $element.offsetHeight + 20;

                                    if ((availableSpace - elHeight > 0) && (availableSpace - elHeight < $content.offsetHeight)) {
                                        $element.style.top = availableSpace - elHeight + 'px';
                                    } else {
                                        $element.style.top = 0
                                    }
                                } else {
                                    if ($element) {
                                        $element.style.top = 0;
                                    }
                                }
                                if ($element) {
                                    $element.style.visibility = 'visible'
                                }
                            })
                        }

                        $(window).on('resize', function() {
                            windowWidth = $window.innerWidth;
                            if (windowWidth > 767 && $rootScope.device.isDesktopDevice) {
                                resetScrollMagic();
                            } else {
                                scrollCtrl.destroy(true);

                            }
                        });

                        //unbind events
                        scope.$on('$destroy', function() {
                            scrollCtrl.destroy(true);
                            $(window).off('resize', resetScrollMagic);
                        });
                    }
                };
            }


            angular.module("itxApp").decorator('itxProductInfoPositionDirective', function($delegate) {

                var directive = $delegate[1];

                return ([directive]);
            });
        }
    })(window.itxApp);
</script><script>
(function(itxApp) {

    'use strict';
	if (inditex.iFrontVersion === '8.2.0.1' || inditex.iFrontVersion === '8.2.0.2') {
	
		angular.module('itxApp.common')
			.controller('ItxAppBaseCtrl', ItxAppBaseCtrl);

		ItxAppBaseCtrl.$inject = ['$window', '$rootScope', '$scope', 'ItxScreenSizeSvc', 'ItxDeviceFct', 'ItxModalFct', '$timeout', '$state'];

		/**
		 * AppBase Controller
		 */
		function ItxAppBaseCtrl($window, $rootScope, $scope, ItxScreenSizeSvc, ItxDeviceFct, ItxModalFct, $timeout, $state) {

			var _this = this;
			//Screen size events
			ItxDeviceFct.detect();
			$rootScope.iPage = inditex.iPage;
			$rootScope.isMobile = $rootScope.device.isLandscape ? ItxScreenSizeSvc.has('hxs') : ItxScreenSizeSvc.is('xs');
			$rootScope.isTablet = $rootScope.device.isLandscape ? ItxScreenSizeSvc.is('sm, th') : ItxScreenSizeSvc.is('xs, sm, th') && ItxScreenSizeSvc.has('hlg');
			$rootScope.activeMobileMenu = !$rootScope.device.isDesktopDevice || ($rootScope.device.isDesktopDevice && ItxScreenSizeSvc.is('sm, xs, th'));
			$rootScope.isDesktopMobile = ItxScreenSizeSvc.is('xs') && $rootScope.device.isDesktopDevice;
			$rootScope.isDesktopTablet = ItxScreenSizeSvc.is('sm, th')  && $rootScope.device.isDesktopDevice;
			$scope.trackLegal = trackLegal;
			$rootScope.desktopSizeClass = $rootScope.isDesktopMobile ? 'desktopMobile' : ($rootScope.isDesktopTablet ? 'desktopTablet' : '');

			init();

			if(hasClass(document.querySelector('html'), 'ie11') || hasClass(document.querySelector('html'), 'ie11')){
				$rootScope.ieBrowser = true;
			}
			if ($window.optimizely) {
				$window.optimizely = $window.optimizely || [];
				$window.optimizely.push({
					type: 'activate'
				});
			}

			ItxScreenSizeSvc.on('sm, xs, th', function(isMatch) {
				$rootScope.activeMobileMenu = !$rootScope.device.isDesktopDevice || (isMatch && $rootScope.device.isDesktopDevice);
			});

			ItxScreenSizeSvc.onRuleChange($scope, function(media) {
				var hasChanged;
				if(media === 'xs'){
					hasChanged = true;
					$rootScope.isMobile = true;
					$rootScope.isTablet = false;
					$rootScope.isDesktopMobile = ItxScreenSizeSvc.is('xs') && $rootScope.device.isDesktopDevice;
					$rootScope.isDesktopTablet = false
					$rootScope.desktopSizeClass = $rootScope.isDesktopMobile ? 'desktopMobile' : '';
				} else if(media === 'sm' || media === 'th'){
					hasChanged = $rootScope.isDesktopTablet ? false : true;
					$rootScope.isMobile = false;
					$rootScope.isTablet = true;
					$rootScope.isDesktopMobile = false;
					$rootScope.isDesktopTablet = ItxScreenSizeSvc.is('sm, th')  && $rootScope.device.isDesktopDevice;
					$rootScope.desktopSizeClass = $rootScope.isDesktopTablet ? 'desktopTablet' : '';
				} else if(media === 'md' || media === 'lg'){
					hasChanged = !$rootScope.isDesktopMobile && !$rootScope.isDesktopTablet ? false : true;
					$rootScope.isMobile = false;
					$rootScope.isTablet = false;
					$rootScope.isDesktopMobile = false;
					$rootScope.isDesktopTablet = false;
					$rootScope.desktopSizeClass = '';
				}
				if(inditex.iPage === 'ItxProductPage' && hasChanged && $rootScope.device.isDesktopDevice){
					$rootScope.requestLoading = true;
					$rootScope.reloadProductPage = true;
					$state.reload();
				}
			})


			function init() {

				/*Fix Lookbook Apps*/
				if ((window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.itxApp) || window.itxAppAndroid) {
					angular.element('html').addClass('webViewApp');
					$rootScope.isAPP = true;
				}

				if (inditex.iCountryCode === 'BY') {
					inditex.writeCookie(inditex.getCookiePrefix() + 'popupNewsletter', true);
					inditex.newsletterChecked = true;
				}

				if (inditex.iPage && inditex.iPage.length && inditex.iPage !== 'ItxWorldWidePage' && inditex.iCountryCode !== 'WW') {
					inditex.getLastStore(function(status, result) {
						var defaultUserCountry = result;
						if (!defaultUserCountry || (inditex.iStoreJSON && defaultUserCountry && defaultUserCountry.storeId !== inditex.iStoreId)) {
							showMarketModal();
						} else {
							$rootScope.defaultMarketAccepted = true;
						}
					});
				}
				$rootScope.scrollbarWidth =  getScrollbarWidth();
			}

			function showMarketModal(){
				//show modal at the page bottom
				$timeout(function() {
					$('.md-dialog-container:has(md-dialog.select-default-market)').addClass('bottom-dialog');
				});
				ItxModalFct.openModal('select-default-market.tpl', {
					lang: inditex.iLangId,
					storeName: inditex.iStoreJSON.countryShortName
					}, {
						clickOutsideToClose: false,
						hasBackdrop: true,
						disableParentScroll: false
					},
					function() {
						try {
							inditex.setLastStore(inditex.iStoreId, inditex.iLangId); // con esto se setea en el localStorage el LAST_STORE_GEOBLOCKING
							$rootScope.defaultMarketAccepted = true;
						} catch (e) {
							$rootScope.defaultMarketAccepted = false;
							if (e) {
								console.error(e);
							}
						}
					},
					function() {
						$rootScope.defaultMarketAccepted = false;
					}
				);
			}

			function trackLegal(event) {
				if (event) {
					event.stopPropagation();
				}
				$window.open(inditex.getStaticResourceUrl('/PP/' + inditex.iCountryCode + '.pdf'), '_blank');

			}

			function hasClass(el, className){
				return el.classList ? el.classList.contains(className) : new RegExp('\\b'+ className+'\\b').test(el.className);
			}

			function getScrollbarWidth() {
				// Create the measurement node
				var scrollDiv = document.createElement("div");
				scrollDiv.className = "scrollbar-measure";
				document.body.appendChild(scrollDiv);

				// Get the scrollbar width
				var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;

				// Delete the DIV
				document.body.removeChild(scrollDiv);
				return scrollbarWidth; // Mac:  15
			}

			$rootScope.scrollBanner = function(className, offset, duration) {
				var gap = offset !== undefined ? offset : 0;
				var dur = duration !== undefined ? duration : 0;
				if (className) {
					if ($('.' + className) && $('.' + className).length) {
						$("html, body").animate({
							scrollTop: $('.' + className).offset().top - gap
						}, dur);
					} else if ($('#' + className) && $('#' + className)) {
						$("html, body").animate({
							scrollTop: $('#' + className).offset().top - gap
						}, dur);
					}
				}

			}
		}

		/** Public */
		itxApp.common.ItxAppBaseCtrl = ItxAppBaseCtrl;
	}
})(window.itxApp);
</script><script>
(function(itxApp) {

	'use strict';
	
	if (inditex.iFrontVersion === '8.2.0.2') {
		itxApp.common.ItxProductItemCmpCtrl.prototype.$onInit = function (colorChange) {
			var _this = this;
			_this.gridCols = _this.gridCols || 'grid4';
			_this.biggestGrid = 'grid2';
			_this.isBannerXmedia = _this.ItxBannerXmediaFct.isBannerXmedia(_this.product);
			_this.isButtonTypeBanner = _this.isBannerXmedia && _this.ItxBannerXmediaFct.isButtonTypeBanner(_this.product);
			if(_this.isButtonTypeBanner){
				_this.setVarsForButtonTypeBanner(_this.product);
			}
			_this.isMocaco = _this.product.onSpecial && _this.product.bundleProductSummaries.length > 0 && !_this.isBannerXmedia;
			_this.isBundle = _this.product.type === 'BundleBean' && !_this.product.onSpecial;
			_this.productObj = _this.isMocaco ? _this.product.bundleProductSummaries[0] : _this.product;
			_this.productObj.isMocaco = _this.isMocaco;
			_this.productObj.imgOptions = {
				extension: _this.productObj.hasGifAttr ? 'gif' : _this.productObj.hasVideoAttr ? 'mp4' : undefined
			};
			_this.isOpenForSale = inditex.iStoreJSON.isOpenForSale && _this.product.isBuyable;
			_this.isRelated = _this.from === 'productos_relacionados';
			_this.isLastSeen = _this.from === 'lastSeen';
			_this.isLookbook = _this.from === 'lookbook';
			_this.isRelatedProduct = _this.isRelated || _this.isLastSeen || _this.from === 'productos_relacionados';
			_this.colbensonActive = _this.ItxShareDataFct.get('colbensonActive');
			_this.showStageInfo = _this.$rootScope.showStageInfo;

			_this.fromLb = _this.$rootScope.fromShopTheLook || _this.from === 'lookbook';
			_this.isBanner = _this.product.gridElemType === 'BANNER' || _this.isBannerXmedia;
			_this.isBuyable = _this.product.isBuyable && !_this.isBanner;
			_this.isNew = ((_this.categoryKey && _this.categoryKey.indexOf('NEWPR') !== -1) || _this.newCatsRelated(_this.product.relatedCategories)) && !_this.isBanner;
			_this.isNoLabel = _this.categoryKey && _this.categoryKey.indexOf('NOLABEL') !== -1;
			_this.showProductInfo = (!_this.categoryKey || _this.categoryKey.indexOf('NOPRICE') === -1 || _this.isBanner );


			if (_this.isMocaco) {
				_this.productObj.index = _this.productIndex ? _this.productIndex : undefined;
			} else {
				_this.product.index = _this.productIndex ? _this.productIndex : undefined;
			}

			if (_this.$rootScope.salesLabelActive) {
				_this.getSeasonLabels();
			}

			if (!_this.showLabel && !_this.isNew) {
				_this.getAttrLabelInfo();
			}
			_this.colorId = _this.getColorId(_this.product, _this.productObj, _this.isMocaco);

			if (!_this.productObj.imagesInfo) {
				_this.getImagesUrl();
			}

			_this.showBetterPrice = inditex.iCountryCode === 'US' && _this.ItxHelper.productHasAttr(_this.productObj, 'BETTER_PRICE');

			_this.extraParams = {  // este objeto se usara para que en los cambios de estado se sepa de donde viene el usuario (si viene de un click en relacionado, por ej)
				isRelated: _this.isRelated,
				isLastSeen : _this.isLastSeen,
				productIndex: _this.productIndex,
				fromProduct: _this.parentProduct || _this.productObj,
				fromLb: _this.fromLb,
				isLookbook : _this.isLookbook
			};

			_this.extraParams.fromBundleComponent = _this.parentProduct && _this.from === 'bundle_components' ? true : undefined;
			_this.productParams = _this.ItxCategoryFct.getProductState(_this.productObj, _this.colorId, _this.extraParams);
			_this.stateHref = _this.$state.href(_this.productParams.state, _this.productParams.params, { absolute: true });

			_this.getColors(colorChange).then(function(){
				if (!colorChange) {
					_this.hasMoreThanOneColor = _this.productVisibleColors && _this.productVisibleColors.length > 1;
					_this.preselectColor();
				}
				_this.getColorIndex(_this.colorId);
				if (_this.cartAddible) {
					_this.getColorSizes();
					_this.addToShopCartState = 'addible';
				}
				if(_this.$rootScope.enableStageInfo){
					_this.getIfProductHasHermanados(_this.selectedColor);
				}

				if(inditex.iCountryCode !== 'GR' && inditex.iCountryCode !== 'SE' ){
					_this.getDiscountPercent();
				}

				_this.initWishlist();
			});
		};
	}
})(window.itxApp);
</script>
<!-- END SPOT=ZH4_ESpot_Inditex -->

<!-- Begin Mpulse -->
<script type="text/javascript">
if ((window.inditex && window.inditex.iPage == "ItxOrderConfirmationPage") ){
	window.BOOMR_config = window.BOOMR_config || {};

	window.BOOMR_config.autorun = false;
}

var mpulseSpaCustomPages = [];
if (mpulseSpaCustomPages.indexOf(inditex.iPage) != -1) {
    window.BOOMR_config = window.BOOMR_config || {};

    window.BOOMR_config.autorun = false;
    
    window.BOOMR_config.History = {
        enabled: true,
        auto: true
    };
}


(function() {
    if (window.BOOMR && window.BOOMR.version) {
        return;
    }
    var dom, doc, where, iframe = document.createElement("iframe"),
        win = window;

    function boomerangSaveLoadTime(e) {
        win.BOOMR_onload = (e && e.timeStamp) || new Date().getTime();
    }
    if (win.addEventListener) {
        win.addEventListener("load", boomerangSaveLoadTime, false);
    } else if (win.attachEvent) {
        win.attachEvent("onload", boomerangSaveLoadTime);
    }

    iframe.src = "javascript:void(0)";
    iframe.title = "";
    iframe.role = "presentation";
    (iframe.frameElement || iframe).style.cssText = "width:0;height:0;border:0;display:none;";
    
    var soastaIframeAfterMetas = false;
    if (soastaIframeAfterMetas) {
        var lastHrefLangTag;
        var canonicalTag;
        var links = document.getElementsByTagName("link");
        if (links) {
            for (i=0; i<links.length; i++){
                var title = links[i].getAttribute("rel");
                if (title == "alternate"){
                    lastHrefLangTag = links[i];
                } else if (title == "canonical") {
                    canonicalTag = links[i];
                }
            }
        }
        if (lastHrefLangTag) {
            where = lastHrefLangTag;
            where.parentNode.insertBefore(iframe, where.nextSibling);
        } else if (canonicalTag) {
            where = canonicalTag;
            where.parentNode.insertBefore(iframe, where.nextSibling);
        } else {
            where = document.getElementsByTagName("script")[0];
            where.parentNode.insertBefore(iframe, where);
        }
    } else {
        where = document.getElementsByTagName("script")[0];
        where.parentNode.insertBefore(iframe, where);
    }

    try {
        doc = iframe.contentWindow.document;
    } catch (e) {
        dom = document.domain;
        iframe.src = "javascript:var d=document.open();d.domain='" + dom + "';void(0);";
        doc = iframe.contentWindow.document;
    }
    doc.open()._l = function() {
        var js = this.createElement("script");
        if (dom) {
            this.domain = dom;
        }
        js.id = "boomr-if-as";
        js.src = "//c.go-mpulse.net/boomerang/" +
             "UE749-ZXPWB-C7DGP-SHNZE-LABAA";
        BOOMR_lstart = new Date().getTime();
        this.body.appendChild(js);
    };
    doc.write('<body onload="document._l();">');
    doc.close();
})();
</script>
<!-- End Mpulse -->
<!-- BEGIN SPOT=ZH4_ESpot_HeadEnd -->

<!-- END SPOT=ZH4_ESpot_HeadEnd -->

<!-- END post-common head -->
    <link rel="stylesheet" href="https://d1azc1qln24ryf.cloudfront.net/123380/ZH/style-cf.css?t=201904230220011176774530">
    <script>
        dataLayer = [];        if ('addEventListener' in document) {            document.addEventListener('DOMContentLoaded', function() {            if (window.FastClick) {                window.FastClick.attach(document.body);            }        }, false);    }
    </script>

<!-- BEGIN SPOT=ZH4_ESpot_FIX_CONFIG -->
<script>
if (inditex.iFrontVersion === '8.2.0.1' || inditex.iFrontVersion === '8.2.0.2') {
    inditex.itxMkSpotsFixConfig = {
        "account": {
            "active": false,
            "mkspot": 'ZH4_ESpot_ACCOUNT_FIX'
        },
        "catalog": {
            "active": true,
            "mkspot": 'ZH4_ESpot_CATALOG_FIX'
        },
        "checkout": {
            "active": true,
            "mkspot": 'ZH4_ESpot_CHECKOUT_FIX'
        },
        "confirmation": {
            "active": false,
            "mkspot": 'ZH4_ESpot_CONFIRMATION_FIX'
        },
        "contact": {
            "active": false,
            "mkspot": 'ZH4_ESpot_CONTACT_FIX'
        },
        "giftcard": {
            "active": false,
            "mkspot": 'ZH4_ESpot_GIFTCARD_FIX'
        },
        "home": {
            "active": false,
            "mkspot": 'ZH4_ESpot_HOME_FIX'
        },
        "login": {
            "active": false,
            "mkspot": 'ZH4_ESpot_LOGIN_FIX'
        },
        "newsletter": {
            "active": false,
            "mkspot": 'ZH4_ESpot_NEWSLETTER_FIX'
        },
        "returns": {
            "active": true,
            "mkspot": 'ZH4_ESpot_RETURNS_FIX'
        },
        "search": {
            "active": false,
            "mkspot": 'ZH4_ESpot_SEARCH_FIX'
        },
        "setConfigurator": {
            "active": false,
            "mkspot": 'ZH4_ESpot_SETCONFIGURATOR_FIX'
        },
        "shopcart": {
            "active": false,
            "mkspot": 'ZH4_ESpot_SHOPCART_FIX'
        },
        "shopguide": {
            "active": false,
            "mkspot": 'ZH4_ESpot_SHOPGUIDE_FIX'
        },
        "storeLocator": {
            "active": false,
            "mkspot": 'ZH4_ESpot_STORELOCATOR_FIX'
        },
        "wishlist": {
            "active": false,
            "mkspot": 'ZH4_ESpot_WISHLIST_FIX'
        },
        "worldwide": {
            "active": false,
            "mkspot": 'ZH4_ESpot_WORLWIDE_FIX'
        }
    }
}
</script>
<!-- END SPOT=ZH4_ESpot_FIX_CONFIG -->


			

HTML Body Source:

			<body onload="document._l();">');
    doc.close();
})();
</script>
<!-- End Mpulse -->
<!-- BEGIN SPOT=ZH4_ESpot_HeadEnd -->

<!-- END SPOT=ZH4_ESpot_HeadEnd -->

<!-- END post-common head -->
    <link rel="stylesheet" href="https://d1azc1qln24ryf.cloudfront.net/123380/ZH/style-cf.css?t=201904230220011176774530">
    <script>
        dataLayer = [];        if ('addEventListener' in document) {            document.addEventListener('DOMContentLoaded', function() {            if (window.FastClick) {                window.FastClick.attach(document.body);            }        }, false);    }
    </script>

<!-- BEGIN SPOT=ZH4_ESpot_FIX_CONFIG -->
<script>
if (inditex.iFrontVersion === '8.2.0.1' || inditex.iFrontVersion === '8.2.0.2') {
    inditex.itxMkSpotsFixConfig = {
        "account": {
            "active": false,
            "mkspot": 'ZH4_ESpot_ACCOUNT_FIX'
        },
        "catalog": {
            "active": true,
            "mkspot": 'ZH4_ESpot_CATALOG_FIX'
        },
        "checkout": {
            "active": true,
            "mkspot": 'ZH4_ESpot_CHECKOUT_FIX'
        },
        "confirmation": {
            "active": false,
            "mkspot": 'ZH4_ESpot_CONFIRMATION_FIX'
        },
        "contact": {
            "active": false,
            "mkspot": 'ZH4_ESpot_CONTACT_FIX'
        },
        "giftcard": {
            "active": false,
            "mkspot": 'ZH4_ESpot_GIFTCARD_FIX'
        },
        "home": {
            "active": false,
            "mkspot": 'ZH4_ESpot_HOME_FIX'
        },
        "login": {
            "active": false,
            "mkspot": 'ZH4_ESpot_LOGIN_FIX'
        },
        "newsletter": {
            "active": false,
            "mkspot": 'ZH4_ESpot_NEWSLETTER_FIX'
        },
        "returns": {
            "active": true,
            "mkspot": 'ZH4_ESpot_RETURNS_FIX'
        },
        "search": {
            "active": false,
            "mkspot": 'ZH4_ESpot_SEARCH_FIX'
        },
        "setConfigurator": {
            "active": false,
            "mkspot": 'ZH4_ESpot_SETCONFIGURATOR_FIX'
        },
        "shopcart": {
            "active": false,
            "mkspot": 'ZH4_ESpot_SHOPCART_FIX'
        },
        "shopguide": {
            "active": false,
            "mkspot": 'ZH4_ESpot_SHOPGUIDE_FIX'
        },
        "storeLocator": {
            "active": false,
            "mkspot": 'ZH4_ESpot_STORELOCATOR_FIX'
        },
        "wishlist": {
            "active": false,
            "mkspot": 'ZH4_ESpot_WISHLIST_FIX'
        },
        "worldwide": {
            "active": false,
            "mkspot": 'ZH4_ESpot_WORLWIDE_FIX'
        }
    }
}
</script>
<!-- END SPOT=ZH4_ESpot_FIX_CONFIG -->
</head>

<body ng-controller="ItxAppBaseCtrl as itxAppBaseCtrl"
      ng-class="[{ 'worldwide-main' : isWW, 'no-menu-animated' : noMenuCategoryAnimate, 'noHeader' : $root.noHeader, 'menuMobileActive' : $root.activeMobileMenu}, $root.iPage, $root.productPageType]"
      md-no-ink>
<!-- BEGIN SPOT=ZH4_ESpot_BodyBegin -->
<!-- Google Tag Manager -->
<noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-598MKV"
                  height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
        new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
        '//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-598MKV');</script>
<!-- End Google Tag Manager -->
<!-- END SPOT=ZH4_ESpot_BodyBegin -->

        <header id="mainHeader" ui-view="header" ng-style="{ 'padding-right': ($root.showHamburguerMenu && !$root.activeMobileMenu && $root.htmlMenuClass === 'mobile-open') ? $root.scrollbarWidth+38 + 'px' : '38px' }"></header>

        <main ng-class="{ 'worldwide-main' : isWW, 'row' : !isWW, 'no-menu' : noMenuCategory, 'has-transition' : hasTransition, 'opacityDown' : $root.subMenuVisible, 'aside-menu' : $root.accountMenuVisible && !$root.activeMobileMenu  }">
            <phone-purchase-agent></phone-purchase-agent>
            <phone-purchase-blocked></phone-purchase-blocked>
            <itx-loader class="main-loader"
                        show="$root.requestLoading"></itx-loader>
            <div class="main-container">
                <aside ng-if="$root.accountMenuVisible && !$root.activeMobileMenu"
                       class="menu-user-container">
                    <itx-account-menu on-section-clicked="itxMenuCmpCtrl.onNavigate(fromAccountSide)"></itx-account-menu>
                </aside>
                <div ui-view="main"
                    class="content-container"
                     ng-show="!$root.requestLoading">
                </div>
            </div>
            <itx-chat class="chat-main-container"
            ng-if="chatEnabledConfig && (($root.device.isDesktopDevice && !$root.isDesktopMobile && !$root.isDesktopTablet) && $rootScope.iPage !== 'ItxProductPage')"></itx-chat>
            <itx-newsletter-advice ng-if="!$root.requestLoading"></itx-newsletter-advice>
        </main>
        <footer class="footer"
                ui-view="footer"
                ng-show="!$root.requestLoading"></footer>


<!-- BEGIN SPOT=ZH4_ESpot_CookiesWarn -->
<div class="cookiebox" id="cookiesWarn" style="display: none">
	<div ng-if="$root.rgpdTextEnabled && $root.rgpdVersion">
		<!-- BEGIN SPOT=ZH4_ESpot_RGPD_Cookies -->
<p>
      <span>We have updated the information about the use of your personal data contained in our Privacy Policy, which we invite you to read</span>
      <a class="underline" ng-click="trackLegal($event)">here</a>
      <span></span>
</p>
<!-- END SPOT=ZH4_ESpot_RGPD_Cookies -->
	</div>
	<a class="ico_close" onclick="inditex.closeCookiesWarn()"><span class="sr-only">Cerrar</span></a>
    <p>We use our own and third party cookies in order to improve your experience and our services, by analysing browsing activity on our website.</p>
    <p>If you continue browsing, we will assume that you accept their use. You can find out more information or how to configure the settings <a href="#" class="underline open-lbox-cookies">here.</a></p> 
</div>
<!-- END SPOT=ZH4_ESpot_CookiesWarn -->
<script id="affinity-info-page.tpl" type="text/ng-template"><itx-spot type="Affinity"></itx-spot></script><script id="categories-check.tpl" type="text/ng-template"><div class="check-categories-container"> <!-- NIVEL 1 --> <ul> <li class="menu-category n1" ng-repeat="c1 in ::itxCategoriesCheckCtrl.categories"> <div class="category-actions"> <h3 ng-bind-html="::c1.name" ng-click="itxCategoriesCheckCtrl.toggleVisibility(c1)"></h3> <a class="infoToggle" ng-if="c1.checkDone && !c1.mainLoading" ng-click="itxCategoriesCheckCtrl.toggleVisibility(c1)"> <span ng-if="!c1.show" class="icon icon-arrow_down"></span> <span ng-if="c1.show" class="icon icon-arrow_up"></span> </a> <a class="doCheck" ng-if="!c1.checkDone && !c1.mainLoading" ng-click="itxCategoriesCheckCtrl.checkCategory(c1)">revisar <span class="icon icon-binoculars"></span></a> <span ng-if="c1.mainLoading" class="main-loader icon icon-spinner2"></span> </div> <div ng-if="c1.show"> <div class="category-info" ng-class="{'success': c1.checkProducts.sale == c1.checkProducts.visible && c1.checkProducts.visible , 'error' : c1.checkProducts.sale != c1.checkProducts.visible && c1.checkProducts.visible }"> <a ng-bind-html="::c1.name" href="{{::c1.stateHref}}"></a> <span class="loading" ng-if="c1.loading"></span> <div class="check-products" ng-if="c1.checkProducts"> <p>visibles : {{c1.checkProducts.visible}}</p> <p>productos no cortados ({{c1.checkProducts.notSale}}) : <span>{{itxCategoriesCheckCtrl.ItxCheckToolsFct.formatArray(c1.checkProducts.notSaleIds)}}</span></p> <p ng-if="c1.checkProducts.notXmediaIds.length">productos sin Xmedia ({{c1.checkProducts.notXmediaIds.length}}) : <span>{{itxCategoriesCheckCtrl.ItxCheckToolsFct.formatArray(c1.checkProducts.notXmediaIds)}}</span></p> <p ng-if="c1.checkProducts.noNameIds.length">productos sin nombre ({{c1.checkProducts.noNameIds.length}}) : <span>{{itxCategoriesCheckCtrl.ItxCheckToolsFct.formatArray(c1.checkProducts.noNameIds)}}</span></p> <p ng-if="c1.checkProducts.noDescriptionIds.length">productos sin descripción ({{c1.checkProducts.noDescriptionIds.length}}) : <span>{{itxCategoriesCheckCtrl.ItxCheckToolsFct.formatArray(c1.checkProducts.noDescriptionIds)}}</span></p> </div> </div> <!-- NIVEL 2 --> <ul class="category-container"> <li class="menu-category n2" ng-repeat="c2 in ::c1.subcategories"> <div class="category-info" ng-class="{'success': c2.checkProducts.sale == c2.checkProducts.visible && c2.checkProducts.visible , 'error' : c2.checkProducts.sale != c2.checkProducts.visible && c2.checkProducts.visible }"> <a ng-bind-html="::c2.name" href="{{::c2.stateHref}}"></a> <span class="loading" ng-if="c2.loading"></span> <div class="check-products" ng-if="c2.checkProducts"> <p>visibles : {{c2.checkProducts.visible}}</p> <p>productos no cortados ({{c2.checkProducts.notSale}}) : <span>{{itxCategoriesCheckCtrl.ItxCheckToolsFct.formatArray(c2.checkProducts.notSaleIds)}}</span></p> <p ng-if="c2.checkProducts.notXmediaIds.length">productos sin Xmedia ({{c2.checkProducts.notXmediaIds.length}}) : <span>{{itxCategoriesCheckCtrl.ItxCheckToolsFct.formatArray(c2.checkProducts.notXmediaIds)}}</span></p> <p ng-if="c2.checkProducts.noNameIds.length">productos sin nombre ({{c2.checkProducts.noNameIds.length}}) : <span>{{itxCategoriesCheckCtrl.ItxCheckToolsFct.formatArray(c2.checkProducts.noNameIds)}}</span></p> <p ng-if="c2.checkProducts.noDescriptionIds.length">productos sin descripción ({{c2.checkProducts.noDescriptionIds.length}}) : <span>{{itxCategoriesCheckCtrl.ItxCheckToolsFct.formatArray(c2.checkProducts.noDescriptionIds)}}</span></p> </div> </div> <!-- NIVEL 3 --> <ul class="category-container"> <li class="menu-category n3" ng-repeat="c3 in ::c2.subcategories"> <div class="category-info" ng-class="{'success': c3.checkProducts.sale == c3.checkProducts.visible && c3.checkProducts.visible , 'error' : c3.checkProducts.sale != c3.checkProducts.visible && c3.checkProducts.visible }"> <a ng-bind-html="::c3.name" href="{{::c3.stateHref}}"> </a> <span class="loading" ng-if="c3.loading"></span> <div class="check-products" ng-if="c3.checkProducts"> <p>visibles : {{c3.checkProducts.visible}}</p> <p>productos no cortados ({{c3.checkProducts.notSale}}) : <span>{{itxCategoriesCheckCtrl.ItxCheckToolsFct.formatArray(c3.checkProducts.notSaleIds)}}</span></p> <p ng-if="c3.checkProducts.notXmediaIds.length">productos sin Xmedia ({{c3.checkProducts.notXmediaIds.length}}) : <span>{{itxCategoriesCheckCtrl.ItxCheckToolsFct.formatArray(c3.checkProducts.notXmediaIds)}}</span></p> <p ng-if="c3.checkProducts.noNameIds.length">productos sin nombre ({{c3.checkProducts.noNameIds.length}}) : <span>{{itxCategoriesCheckCtrl.ItxCheckToolsFct.formatArray(c3.checkProducts.noNameIds)}}</span></p> <p ng-if="c3.checkProducts.noDescriptionIds.length">productos sin descripción ({{c3.checkProducts.noDescriptionIds.length}}) : <span>{{itxCategoriesCheckCtrl.ItxCheckToolsFct.formatArray(c3.checkProducts.noDescriptionIds)}}</span></p> </div> </div> <ul class="category-container"> <li class="menu-category n4" ng-repeat="c4 in ::c3.subcategories"> <div class="category-info" ng-class="{'success': c4.checkProducts.sale == c4.checkProducts.visible && c4.checkProducts.visible , 'error' : c4.checkProducts.sale != c4.checkProducts.visible && c4.checkProducts.visible }"> <a ng-bind-html="::c4.name" href="{{::c4.stateHref}}"></a> <span class="loading" ng-if="c4.loading"></span> <div class="check-products" ng-if="c4.checkProducts"> <p>visibles : {{c4.checkProducts.visible}}</p> <p>productos no cortados ({{c4.checkProducts.notSale}}) : <span>{{itxCategoriesCheckCtrl.ItxCheckToolsFct.formatArray(c4.checkProducts.notSaleIds)}}</span></p> <p ng-if="c4.checkProducts.notXmediaIds.length">productos sin Xmedia ({{c4.checkProducts.notXmediaIds.length}}) : <span>{{itxCategoriesCheckCtrl.ItxCheckToolsFct.formatArray(c4.checkProducts.notXmediaIds)}}</span></p> <p ng-if="c4.checkProducts.noNameIds.length">productos sin nombre ({{c4.checkProducts.noNameIds.length}}) : <span>{{itxCategoriesCheckCtrl.ItxCheckToolsFct.formatArray(c4.checkProducts.noNameIds)}}</span></p> <p ng-if="c4.checkProducts.noDescriptionIds.length">productos sin descripción ({{c4.checkProducts.noDescriptionIds.length}}) : <span>{{itxCategoriesCheckCtrl.ItxCheckToolsFct.formatArray(c4.checkProducts.noDescriptionIds)}}</span></p> </div> </div> </li> </ul> </li> </ul> </li> </ul> </div> </li> </ul> </div></script><script id="checkout.tpl" type="text/ng-template"><div class="row checkout-container-row" ng-if="itxCheckoutCtrl.cart && itxCheckoutCtrl.cart.items && itxCheckoutCtrl.cart.items.length > 0"> <div id="checkout-container" class="col-xs-12 col-sm-8"> <div class="checkout-step-summary"> <span ng-class="{ 'selected' : !itxCheckoutCtrl.paymentStep }"> {{ ::("ItxCheckout.shipping" | property) }} </span> <span class="steps-separator"> > </span> <span ng-class="{ 'selected' : itxCheckoutCtrl.paymentStep }"> {{ ::("ItxCheckout.payment" | property) }} </span> </div> <div class="steps-container" ng-class="{'step2' : itxCheckoutCtrl.paymentStep}"> <!-- STEP 1 CONTAINER --> <div class="shipping-container" ng-show="!itxCheckoutCtrl.paymentStep"> <itx-checkout-shipping ng-if="itxCheckoutCtrl.addressBook && itxCheckoutCtrl.shippingMethods" is-virtual-order="itxCheckoutCtrl.isVirtualOrder" cart="itxCheckoutCtrl.cart" billing-address="itxCheckoutCtrl.billingAddress" is-business-agent="itxCheckoutCtrl.isBusinessAgent" shipping-methods="itxCheckoutCtrl.shippingMethods" address-book="itxCheckoutCtrl.addressBook" wallet-info="itxCheckoutCtrl.orderPreviewInfo" on-select-date="itxCheckoutCtrl.selectDate(deliveryDate)" on-select-shipping-method="itxCheckoutCtrl.selectShippingMethod(shippingMethod, isPreselected)"> </itx-checkout-shipping> <span class="cn-verified-phone" ng-if="itxCheckoutCtrl.showPhoneVerificationSuccess"> {{ ::("phoneRegistration.phoneVerified" | property) }} </span> <itx-phone-verification ng-if="itxCheckoutCtrl.showPhoneVerification" on-phone-verificated="itxCheckoutCtrl.phoneVerificated(user)" class="mt-5"> </itx-phone-verification> <itx-checkout-addresses ng-if="itxCheckoutCtrl.shippingMethodsInit && !itxCheckoutCtrl.showPhoneVerification" billing-address="itxCheckoutCtrl.billingAddress" billing-address-email="itxCheckoutCtrl.billingAddressEmail" billing-address-saved="itxCheckoutCtrl.billingAddressSaved" distinct-billing-country="itxCheckoutCtrl.distinctBillingCountry" shipping-countries="itxCheckoutCtrl.shippingCountries" billing-countries="itxCheckoutCtrl.billingCountries" billing-country="itxCheckoutCtrl.billingAddressCountry" shipping-addresses="itxCheckoutCtrl.shippingAddresses" shipping-address="itxCheckoutCtrl.shippingAddress" selected-shipping-method="itxCheckoutCtrl.selectedShippingMethod" is-virtual-order="itxCheckoutCtrl.isVirtualOrder" forced-same-address="itxCheckoutCtrl.forcedSameAddress" same-address-changed="itxCheckoutCtrl.sameAddressChanged(sameAddressValue, onInit)" edit-user-address="itxCheckoutCtrl.openEditAddress(address, type)" edit-billing-form-address="itxCheckoutCtrl.setBillingAddress(address, isValid)" on-selected-delivery-address="itxCheckoutCtrl.setShippingAddress(address, isValid, formAddress, newShippingAddress, from)" on-billing-country-change="itxCheckoutCtrl.billingCountryChange(country)"> </itx-checkout-addresses> <!-- BUTTON GO TO PAYMENT --> <div class="row"> <div class="col-md-12 go-to-payment-btn-container"> <itx-button ng-if="!itxCheckoutCtrl.paymentStep && (itxCheckoutCtrl.totalPrice > 0 || $root.isMobile) && !itxCheckoutCtrl.showPhoneVerification" class="go-to-payment-btn itx-button-black" ng-click="itxCheckoutCtrl.goToPaymentStep()" is-disabled="itxCheckoutCtrl.shippingInProgress" enable-progress="itxCheckoutCtrl.continueLoading"> {{ ::("ItxCheckout.goToPayment" | property) }} </itx-button> </div> </div> <!-- ORDER SUMMARY MOBILE --> <itx-order-summary-panel ng-if="$root.isMobile" cart="itxCheckoutCtrl.cart" cart-items-size="itxCheckoutCtrl.cartSize" card-adjustments="itxCheckoutCtrl.cart.cardAdjustments" total-price="itxCheckoutCtrl.totalPrice" virtual-card="itxCheckoutCtrl.isVirtualOrder" show-promo-link="itxCheckoutCtrl.showPromoLink" on-promo-code-update="itxCheckoutCtrl.updateShopCart()"> </itx-order-summary-panel> <!-- ORDER SUMMARY --> </div> <!-- STEP 2 CONTAINER --> <div class="payment-container" ng-if="itxCheckoutCtrl.paymentStep"> <p ng-if="itxCheckoutCtrl.totalPrice === 0"> {{ ::("ItxPaymentComponentDirective.pago.cod.content_1" | property) }} </p> <itx-checkout-payment ng-if="itxCheckoutCtrl.totalPrice > 0" cart="itxCheckoutCtrl.cart" payment-methods="itxCheckoutCtrl.paymentMethods" wallet-info="itxCheckoutCtrl.walletInfo" gift-cards-used="itxCheckoutCtrl.giftCardsUsed" pending-amount="itxCheckoutCtrl.pendingAmount" payment-error="itxCheckoutCtrl.paymentError" submitted-challenge-input="itxCheckoutCtrl.submitChallengeInput" confirm-checkout-payment="itxCheckoutCtrl.confirmCheckoutPaymentInfo(selectedPaymentMethod, cardInfo, paymentFormRequired)" on-confirm-gift-card="itxCheckoutCtrl.confirmCheckoutPaymentGiftCard()" on-remove-gift-card="itxCheckoutCtrl.removeGiftCard(index)" is-wallet-payment="itxCheckoutCtrl.isWalletPayment(isWallet)" trusted-info-changed="itxCheckoutCtrl.setTrustInfo(cardNo, cvv)"> </itx-checkout-payment> <!-- Se mostrara el check de factura en caso de que sea TRUE el valor de showInvoiceOption--> <div class="vatin-request-container" ng-if="!itxCheckoutCtrl.isVatinRequired && $root.showInvoiceOption && !itxCheckoutCtrl.isBusinessAgent && !itxCheckoutCtrl.disabledForUser && itxCheckoutCtrl.totalPrice !== 0 && (itxCheckoutCtrl.selectedPaymentMethod || (itxCheckoutCtrl.isWalletSelected && itxCheckoutCtrl.walletInfo && itxCheckoutCtrl.walletInfo.walletCardSelected))"> <md-input-container> <md-checkbox ng-model="itxCheckoutCtrl.invoice" ng-true-value="1" ng-false-value="0" ng-disabled="itxCheckoutCtrl.billingAddress.isCompany" ng-change="itxCheckoutCtrl.checkInvoiceChanged()" name="invoice" class="factura-btn"> {{ ::("ItxPaymentComponentDirective.pago.get.payload" | property) }} </md-checkbox> <div ng-if="itxCheckoutCtrl.invoice || itxCheckoutCtrl.isVatinRequired" class="invoice-advice"> <span> {{ ::("ItxCheckoutPage.billCheckInfo" | property) }} </span> <br> <span ng-if="itxCheckoutCtrl.neededSDIInfo"> {{ ::("ItxCheckoutPage.sdiInfoForInvoice" | property) }} </span> </div> </md-input-container> </div> <div ng-if="itxCheckoutCtrl.invoice || itxCheckoutCtrl.isVatinRequired" class="request-invoice"> <form name="invoiceForm" method="post"> <md-input-container> <label for="vatin" ng-if="!itxCheckoutCtrl.billingAddress.isCompany"> {{ ::("FIELD.NIF" | property) }} </label> <label for="vatin" ng-if="itxCheckoutCtrl.billingAddress.isCompany"> {{ ::("FIELD.CIF" | property) }} </label> <input ng-if="!itxCheckoutCtrl.billingAddress.isCompany" type="text" name="vatin" ng-model="itxCheckoutCtrl.billingAddress.vatin" ng-model-options="{updateOn: 'default blur', debounce: { 'default': 300, 'blur': 0 }}" ng-change="itxCheckoutCtrl.confirmCheckoutPaymentInfo(itxCheckoutCtrl.selectedPaymentMethod, itxCheckoutCtrl.cardInfo, itxCheckoutCtrl.paymentFormRequired)" ng-pattern="itxCheckoutCtrl.billingAddressVatinValidation" required> <input ng-if="itxCheckoutCtrl.billingAddress.isCompany" type="text" name="vatin" ng-model="itxCheckoutCtrl.billingAddress.company.vatin" ng-model-options="{updateOn: 'default blur', debounce: { 'default': 300, 'blur': 0 }}" ng-change="itxCheckoutCtrl.confirmCheckoutPaymentInfo(itxCheckoutCtrl.selectedPaymentMethod, itxCheckoutCtrl.cardInfo, itxCheckoutCtrl.paymentFormRequired)" ng-pattern="itxCheckoutCtrl.billingAddressCompanyVatinValidation" required> <span ng-if="itxCheckoutCtrl.showNIFWarn && !itxCheckoutCtrl.hideCapitalWarning"> {{ ::("NIF.capitalLettersWarn" | property) }} </span> <div ng-messages="invoiceForm.vatin.$error"> <div ng-message="required"> <span ng-if="!itxCheckoutCtrl.billingAddress.isCompany"> {{ ::("HELPER.NIF" | property) }} </span> <span ng-if="itxCheckoutCtrl.billingAddress.isCompany"> {{ ::("ItxMyAccountPersonalPage.helper.cif" | property) }} </span> </div> <div ng-message="pattern"> <span ng-if="!itxCheckoutCtrl.billingAddress.isCompany"> {{ ::("HELPER.NIF" | property) }} </span> <span ng-if="itxCheckoutCtrl.billingAddress.isCompany"> {{ ::("HELPER.NIF" | property) }} </span> </div> </div> </md-input-container> <!-- INICIO SDI Si es DIRECCION DE FACTURACION DE Italia, mostraremos los nuevos campos opcionales de facturacion, tanto para particulares como para empresas --> <md-input-container ng-if="itxCheckoutCtrl.neededSDIInfo"> <label> {{ ::("FIELD.PEC" | property) }} </label> <input type="text" name="pec" ng-model="itxCheckoutCtrl.billingAddress.pec" ng-model-options="{updateOn: 'default blur', debounce: { 'default': 300, 'blur': 0 }}" ng-pattern="itxCheckoutCtrl.gConstants.validations.email" ng-change="itxCheckoutCtrl.confirmCheckoutPaymentInfo(itxCheckoutCtrl.selectedPaymentMethod, itxCheckoutCtrl.cardInfo, itxCheckoutCtrl.paymentFormRequired)"> <div ng-messages="invoiceForm.pec.$error"> <div ng-message="pattern"> {{ ::("DynamicError.field.invalidFormat" | property) }} </div> </div> </md-input-container> <md-input-container ng-if="itxCheckoutCtrl.neededSDIInfo"> <label> {{ ::("FIELD.ReceiverCode" | property) }} </label> <input type="text" name="receiverCode" ng-model="itxCheckoutCtrl.billingAddress.receiverCode" ng-model-options="{updateOn: 'default blur', debounce: { 'default': 300, 'blur': 0 }}" ng-pattern="itxCheckoutCtrl.validations.receiverCode" ng-change="itxCheckoutCtrl.confirmCheckoutPaymentInfo(itxCheckoutCtrl.selectedPaymentMethod, itxCheckoutCtrl.cardInfo, itxCheckoutCtrl.paymentFormRequired)"> <div ng-messages="invoiceForm.receiverCode.$error"> <div ng-message="pattern"> {{ ::("DynamicError.field.invalidFormat" | property) }} </div> </div> </md-input-container> <!-- FIN SDI Italia --> </form> </div> <div class="row"> <div class="col-md-12"> <itx-button ng-click="itxCheckoutCtrl.backToShipping()" ng-if="itxCheckoutCtrl.paymentStep && itxCheckoutCtrl.totalPrice > 0" class="back-shipping-btn"> <span class="icon icon-left-color-arrow"></span> <span> {{ ::("ItxCheckout.backToShipping" | property) }} </span> </itx-button> </div> </div> <div ng-if="$root.inditex.iCountryCode === 'TR'"> <h3> {{ ::("ItxOrderPaymentPage.termsAndConditions" | property) }} </h3> <div class="turkey-tc"> <itx-spot type="TermsAndConditions" ng-if="itxCheckoutCtrl.termsAndConditionsSpot"></itx-spot> </div> <h3> {{ ::("ItxOrderPaymentPage.cancellationPolicy" | property) }} </h3> <div class="turkey-tc"> <itx-spot type="CancellationPolicy" ng-if="itxCheckoutCtrl.cancellationPolicySpot"></itx-spot> </div> <h3> {{ ::("ItxOrderPaymentPage.distantSaleContract" | property) }} </h3> <div class="turkey-tc"> <itx-spot type="DistantSaleContractWEB" ng-if="itxCheckoutCtrl.distantSaleContractWEBSpot"></itx-spot> </div> </div> <ng-form ng-if="$root.isMobile" class="checkLegalForm" name="itxCheckoutCtrl.orderCheckLegal" method="post" ng-if="!itxCheckoutCtrl.notReadyToFinish || itxCheckoutCtrl.totalPrice === 0"> <md-input-container ng-if="$root.inditex.iCountryCode !== 'TR' && $root.inditex.iCountryCode !== 'KR'"> <md-checkbox id="accept-legals" name="acceptLegals" ng-model="itxCheckoutCtrl.checkLegal" aria-label="I accept the" required> <!--INI Idiomas distintos al japonés--> <div ng-if="::(!itxCheckoutCtrl.isPhonePurchase) && $root.inditex.iLangId !== -10"> <span ng-if="$root.rgpdTextEnabled"> * {{ ::("rgpd.purchase.part1" | property) }} <a class="link-2 conditions" ng-click="itxCheckoutCtrl.openPDF('PC', $event)"> {{ ::("ItxPaymentComponentDirective.pago.tos.conditions" | property) }} </a> {{ ::("rgpd.purchase.part2" | property) }} <a class="link-2 privacy" ng-click="itxCheckoutCtrl.openPDF('PP', $event)"> {{ ::("ItxPaymentComponentDirective.pago.tos.politics" | property) }} </a> {{ ::("rgpd.purchase.part3" | property) }} </span> <span ng-if="!$root.rgpdTextEnabled"> * {{ ::("ItxPaymentComponentDirective.pago.tos.accept" | property) }} <a class="link-2 conditions" ng-click="itxCheckoutCtrl.openPDF('PC', $event)"> {{ ::("ItxPaymentComponentDirective.pago.tos.conditions" | property) }} </a> {{ ::("ItxPaymentComponentDirective.pago.tos.and" | property) }} <a class="link-2 privacy" ng-click="itxCheckoutCtrl.openPDF('PP', $event)"> {{ ::("ItxPaymentComponentDirective.pago.tos.politics" | property) }} </a> </span> </div> <!--FIN Idiomas distintos al japonés--> <!--INI Idioma japonés--> <div ng-if="::(!itxCheckoutCtrl.isPhonePurchase) && $root.inditex.iLangId === -10"> <a class="link-2 conditions" ng-click="itxCheckoutCtrl.openPDF('PC', $event)"> * {{ ::("ItxPaymentComponentDirective.pago.tos.conditions" | property) }} </a> {{ ::("ItxPaymentComponentDirective.pago.tos.and" | property) }} <a class="link-2 privacy" ng-click="itxCheckoutCtrl.openPDF('PP', $event)"> {{ ::("ItxPaymentComponentDirective.pago.tos.politics" | property) }} </a> {{ ::("ItxPaymentComponentDirective.pago.tos.accept" | property) }} </div> <!--FIN Idioma japonés--> <div ng-if="::(itxCheckoutCtrl.isPhonePurchase)"> * <a class="link-2 conditions" ng-click="itxCheckoutCtrl.openPDF('PC', $event)">{{ ::("phonePurchase.terms.conditions" | property) }} </a> {{ ::("phonePurchase.terms.and" | property) }} <a class="link-2 privacy" ng-click="itxCheckoutCtrl.openPDF('PP', $event)"> {{ ::("phonePurchase.terms.privacy" | property) }} </a> {{ ::("phonePurchase.terms.read" | property) }} </div> <div ng-messages="itxCheckoutCtrl.orderCheckLegal.acceptLegals.$error" ng-show="itxCheckoutCtrl.orderCheckLegal.acceptLegals.$dirty || itxCheckoutCtrl.orderCheckLegal.$submitted"> <div ng-message="required"> {{ ::("ItxPaymentComponentDirective.error.pago.campos.tos" | property) }} </div> </div> </md-checkbox> </md-input-container> <md-input-container ng-if="$root.inditex.iCountryCode === 'TR'"> <md-checkbox ng-model="itxCheckoutCtrl.checkLegal" required> {{ ::("ItxOrderPaymentPage.tos.accept1" | property) }} <a class="link-2 privacy" ng-click="itxCheckoutCtrl.openPDF('PP', $event)">{{ ::("ItxOrderPaymentPage.tos.accept2" | property) }}</a> {{ ::("ItxOrderPaymentPage.tos.accept3" | property) }} </md-checkbox> <div ng-messages="itxCheckoutCtrl.orderCheckLegal.acceptLegals.$error" ng-show="itxCheckoutCtrl.orderCheckLegal.acceptLegals.$dirty || itxCheckoutCtrl.orderCheckLegal.$submitted"> <div ng-message="required"> {{ ::("ItxPaymentComponentDirective.error.pago.campos.tos" | property) }} </div> </div> </md-input-container> <md-input-container ng-if="$root.inditex.iCountryCode === 'KR'"> <md-checkbox name="acceptLegals" ng-model="itxCheckoutCtrl.checkLegal" required> <span ng-if="$root.inditex.iLangId === -1"> {{ ::("ItxCheckout.termsAndConditions.part1" | property) }} </span> <a class="link-2 privacy" ng-click="itxCheckoutCtrl.openPDF('PC', $event)">{{ ::("ItxCheckout.termsAndConditions.part2" | property) }}</a>{{ ::("ItxCheckout.termsAndConditions.part3" | property) }} <a class="link-2 privacy" ng-click="itxCheckoutCtrl.openPDF('PP', $event)">{{ ::("ItxCheckout.termsAndConditions.part4" | property) }}</a> {{ ::("ItxCheckout.termsAndConditions.part5" | property) }} <a class="link-2 privacy" ng-click="itxCheckoutCtrl.openPDF('overseas', $event)">{{ ::("ItxCheckout.termsAndConditions.part6" | property) }}</a> <div ng-messages="itxCheckoutCtrl.orderCheckLegal.$error" ng-show="itxCheckoutCtrl.orderCheckLegal.acceptLegals.$dirty || itxCheckoutCtrl.orderCheckLegal.$submitted"> <div ng-message="required"> {{ ::("ItxPaymentComponentDirective.error.pago.campos.tos" | property) }} </div> </div> </md-checkbox> </md-input-container> </ng-form> <!-- ORDER SUMMARY MOBILE --> <itx-order-summary-panel ng-if="$root.isMobile" cart="itxCheckoutCtrl.cart" cart-items-size="itxCheckoutCtrl.cartSize" card-adjustments="itxCheckoutCtrl.cart.cardAdjustments" total-price="itxCheckoutCtrl.totalPrice" virtual-card="itxCheckoutCtrl.isVirtualOrder" show-promo-link="itxCheckoutCtrl.paymentStep" on-promo-code-update="itxCheckoutCtrl.updateShopCart()"> </itx-order-summary-panel> <!-- ORDER SUMMARY --> <!-- BUTTON PROCESS ORDER MOBILE--> <div ng-if="$root.isMobile" class="confirm-order-summary" layout="row"> <itx-button ng-click="itxCheckoutCtrl.confirmOrder()" is-disabled="!itxCheckoutCtrl.checkLegal || (itxCheckoutCtrl.notReadyToFinish && itxCheckoutCtrl.totalPrice > 0)" enable-progress="itxCheckoutCtrl.loading" class="itx-button-black " button-type="'submit'" ng-cloak> <span ng-if="::($root.inditex.phonePurchase !== 1 && $root.inditex.iCountryCode !== 'CN')"> {{ ::("ItxOrderPaymentPage.confirm.and.pay" | property) }} </span> <span ng-if="::($root.inditex.phonePurchase === 1 && $root.inditex.iCountryCode !== 'CN')"> {{ ::("phonePurchase.confirm.and.pay" | property) }} </span> <span ng-if="::($root.inditex.iCountryCode === 'CN')"> {{ ::("ItxCheckout.continueToConfirm" | property) }} </span> </itx-button> </div> </div> </div> <itx-order-item-summary ng-if="!$root.isMobile" order-items="itxCheckoutCtrl.cart.items" items-quantity="itxCheckoutCtrl.cartSize" store-style="$root.storeStyle" lang-encoded="itxCheckoutCtrl.langEncoded"> </itx-order-item-summary> </div> <!-- resumen pedido --> <div ng-if="!$root.isMobile" id="summary-container" class="col-xs-12 col-sm-4 col-md-3 col-md-push-1" itx-fixed-position-on-scroll> <div> <itx-order-summary-panel cart="itxCheckoutCtrl.cart" cart-items-size="itxCheckoutCtrl.cartSize" card-adjustments="itxCheckoutCtrl.cart.cardAdjustments" total-price="itxCheckoutCtrl.totalPrice" virtual-card="itxCheckoutCtrl.isVirtualOrder" show-promo-link="itxCheckoutCtrl.paymentStep" on-promo-code-update="itxCheckoutCtrl.updateShopCart()"> </itx-order-summary-panel> <ng-form ng-if="itxCheckoutCtrl.paymentStep || itxCheckoutCtrl.totalPrice === 0" name="itxCheckoutCtrl.orderCheckLegal" method="post"> <md-input-container ng-if="$root.inditex.iCountryCode !== 'TR' && $root.inditex.iCountryCode !== 'KR'"> <md-checkbox id="accept-legals" name="acceptLegals" ng-model="itxCheckoutCtrl.checkLegal" aria-label="I accept the" required> <!--INI Idiomas distintos al japonés--> <div ng-if="::(!itxCheckoutCtrl.isPhonePurchase) && $root.inditex.iLangId !== -10"> <span ng-if="$root.rgpdTextEnabled"> * {{ ::("rgpd.purchase.part1" | property) }} <a class="link-2 conditions" ng-click="itxCheckoutCtrl.openPDF('PC', $event)"> {{ ::("ItxPaymentComponentDirective.pago.tos.conditions" | property) }} </a> {{ ::("rgpd.purchase.part2" | property) }} <a class="link-2 privacy" ng-click="itxCheckoutCtrl.openPDF('PP', $event)"> {{ ::("ItxPaymentComponentDirective.pago.tos.politics" | property) }} </a> </span> <span ng-if="!$root.rgpdTextEnabled"> * {{ ::("ItxPaymentComponentDirective.pago.tos.accept" | property) }} <a class="link-2 conditions" ng-click="itxCheckoutCtrl.openPDF('PC', $event)"> {{ ::("ItxPaymentComponentDirective.pago.tos.conditions" | property) }} </a> {{ ::("ItxPaymentComponentDirective.pago.tos.and" | property) }} <a class="link-2 privacy" ng-click="itxCheckoutCtrl.openPDF('PP', $event)"> {{ ::("ItxPaymentComponentDirective.pago.tos.politics" | property) }} </a> </span> </div> <!--FIN Idiomas distintos al japonés--> <!--INI Idioma japonés--> <div ng-if="::(!itxCheckoutCtrl.isPhonePurchase) && $root.inditex.iLangId === -10"> <a class="link-2 conditions" ng-click="itxCheckoutCtrl.openPDF('PC', $event)"> * {{ ::("ItxPaymentComponentDirective.pago.tos.conditions" | property) }} </a> {{ ::("ItxPaymentComponentDirective.pago.tos.and" | property) }} <a class="link-2 privacy" ng-click="itxCheckoutCtrl.openPDF('PP', $event)"> {{ ::("ItxPaymentComponentDirective.pago.tos.politics" | property) }} </a> {{ ::("ItxPaymentComponentDirective.pago.tos.accept" | property) }} </div> <!--FIN Idioma japonés--> <div ng-if="::(itxCheckoutCtrl.isPhonePurchase)"> * <a class="link-2 conditions" ng-click="itxCheckoutCtrl.openPDF('PC', $event)">{{ ::("phonePurchase.terms.conditions" | property) }}</a> {{ ::("phonePurchase.terms.and" | property) }} <a class="link-2 privacy" ng-click="itxCheckoutCtrl.openPDF('PP', $event)"> {{ ::("phonePurchase.terms.privacy" | property) }} </a> {{ ::("phonePurchase.terms.read" | property) }} </div> <div ng-messages="itxCheckoutCtrl.orderCheckLegal.acceptLegals.$error" ng-show="itxCheckoutCtrl.orderCheckLegal.acceptLegals.$dirty || itxCheckoutCtrl.orderCheckLegal.$submitted"> <div ng-message="required"> {{ ::("ItxPaymentComponentDirective.error.pago.campos.tos" | property) }} </div> </div> </md-checkbox> </md-input-container> <md-input-container ng-if="$root.inditex.iCountryCode === 'TR'"> <md-checkbox ng-model="itxCheckoutCtrl.checkLegal" required> {{ ::("ItxOrderPaymentPage.tos.accept1" | property) }} <a class="link-2 privacy" ng-click="itxCheckoutCtrl.openPDF('PP', $event)">{{ ::("ItxOrderPaymentPage.tos.accept2" | property) }}</a> {{ ::("ItxOrderPaymentPage.tos.accept3" | property) }} </md-checkbox> <div ng-messages="itxCheckoutCtrl.orderCheckLegal.acceptLegals.$error" ng-show="itxCheckoutCtrl.orderCheckLegal.acceptLegals.$dirty || itxCheckoutCtrl.orderCheckLegal.$submitted"> <div ng-message="required"> {{ ::("ItxPaymentComponentDirective.error.pago.campos.tos" | property) }} </div> </div> </md-input-container> <md-input-container ng-if="$root.inditex.iCountryCode === 'KR'"> <md-checkbox name="acceptLegals" ng-model="itxCheckoutCtrl.checkLegal" required> <span ng-if="$root.inditex.iLangId === -1"> {{ ::("ItxCheckout.termsAndConditions.part1" | property) }} </span> <a class="link-2 privacy" ng-click="itxCheckoutCtrl.openPDF('PC', $event)"> {{ ::("ItxCheckout.termsAndConditions.part2" | property) }} </a> {{ ::("ItxCheckout.termsAndConditions.part3" | property) }} <a class="link-2 privacy" ng-click="itxCheckoutCtrl.openPDF('PP', $event)"> {{ ::("ItxCheckout.termsAndConditions.part4" | property) }} </a> {{ ::("ItxCheckout.termsAndConditions.part5" | property) }} <a class="link-2 privacy" ng-click="itxCheckoutCtrl.openPDF('overseas', $event)"> {{ ::("ItxCheckout.termsAndConditions.part6" | property) }} </a> <div ng-messages="itxCheckoutCtrl.orderCheckLegal.$error" ng-show="itxCheckoutCtrl.orderCheckLegal.acceptLegals.$dirty || itxCheckoutCtrl.orderCheckLegal.$submitted"> <div ng-message="required"> {{ ::("ItxPaymentComponentDirective.error.pago.campos.tos" | property) }} </div> </div> </md-checkbox> </md-input-container> </ng-form> <div layout="row"> <itx-button ng-if="itxCheckoutCtrl.paymentStep || itxCheckoutCtrl.totalPrice === 0" callback="itxCheckoutCtrl.confirmOrder()" is-disabled="!itxCheckoutCtrl.checkLegal || (itxCheckoutCtrl.notReadyToFinish && itxCheckoutCtrl.totalPrice > 0)" enable-progress="itxCheckoutCtrl.loading" class="itx-button-black confirm-order-summary" button-type="'submit'" ng-cloak> <span ng-if="::($root.inditex.phonePurchase !== 1 && $root.inditex.iCountryCode !== 'CN')"> {{ ::("ItxOrderPaymentPage.confirm.and.pay" | property) }} </span> <span ng-if="::($root.inditex.phonePurchase === 1 && $root.inditex.iCountryCode !== 'CN')"> {{ ::("phonePurchase.confirm.and.pay" | property) }} </span> <span ng-if="::($root.inditex.iCountryCode === 'CN')"> {{ ::("ItxCheckout.continueToConfirm" | property) }} </span> </itx-button> </div> </div> </div> </div></script><script id="cms-container.tpl" type="text/ng-template"><div ng-class="::{'flex-section': section.type == 'flex'}" ng-repeat="section in ::itxCmsContainerCtrl.sections track by section.id" cms-styles layout-styles="section.layout"> <div ng-repeat="piece in ::section.children track by piece.id"> <!-- TYPE IMAGE PIECE --> <itx-cms-image ng-if="::piece.type === 'image'" image-data="piece"></itx-cms-image> <!-- TYPE VIDEO PIECE --> <itx-cms-video ng-if="::piece.type === 'video'" video-data="piece"></itx-cms-video> <!-- TYPE TEXT PIECE --> <itx-cms-text ng-if="::piece.type === 'text'" text-data="piece"></itx-cms-text> </div> </div></script><script id="cms-image.tpl" type="text/ng-template"><img src="{{itxCmsImageCtrl.imageData.image.path}}" title="{{::itxCmsImageCtrl.imageData.title}}" alt="{{::itxCmsImageCtrl.imageData.alt}}" cms-styles styles="::itxCmsImageCtrl.imageData.styles" layout-styles="::itxCmsImageCtrl.imageData.layout"></script><script id="cms-text.tpl" type="text/ng-template"><div cms-styles styles="::itxCmsTextCtrl.textData.styles" layout-styles="::itxCmsTextCtrl.textData.layout"> <div ng-repeat="textBlock in ::itxCmsTextCtrl.textData.text.blocks track by textBlock.key" class="text-piece" cms-styles in-style-ranges="::textBlock.inlineStyleRanges"> {{textBlock.text}} </div> </div></script><script id="cms-video.tpl" type="text/ng-template"><!-- LOCAL VIDEO --> <video ng-if="::itxCmsVideoCtrl.videoData.provider !== 'youtube'" autoplay playsinline loop muted cms-styles styles="::itxCmsVideoCtrl.videoData.styles" layout-styles="::itxCmsVideoCtrl.videoData.layout"> <source src="{{itxCmsVideoCtrl.videoData.url}}" type="video/mp4"> </video> <iframe ng-if="::itxCmsVideoCtrl.videoData.provider === 'youtube'" cms-styles styles="::itxCmsVideoCtrl.videoData.styles" layout-styles="::itxCmsVideoCtrl.videoData.layout" ng-src="{{itxCmsVideoCtrl.videoData.url}}"> </iframe></script><script id="order-confirmation.tpl" type="text/ng-template"><div class="container-fluid order-confirmation-component"> <div class="row"> <div class="shop-cart-confirmation" ng-cloak> <itx-spot type="OrderConfirmation_Banner" ng-if="itxOrderConfirmationCtrl.orderConfirmationBannerSpot"></itx-spot> <div ng-if="itxOrderConfirmationCtrl.order.status === 'PQ' || itxOrderConfirmationCtrl.order.status === 'RP' || itxOrderConfirmationCtrl.order.status === 'N'"> <itx-spot type="OrderConfirmation_Processing"></itx-spot> </div> <div class="ng-hide print-hide" ng-show="!itxOrderConfirmationCtrl.guestToken" ng-if="itxOrderConfirmationCtrl.order.status !== 'PQ' && itxOrderConfirmationCtrl.order.status !== 'RP' && itxOrderConfirmationCtrl.order.status !== 'N'"> <itx-spot type="OrderConfirmation_Processed" ng-if="itxOrderConfirmationCtrl.orderConfirmationProcessedSpot"></itx-spot> </div> <div ng-if="itxOrderConfirmationCtrl.order.isPaperless" class="paperless-confirmation print-hide"> We wish to inform you that we will no longer include a paper receipt with your online orders. You will receive an electronic receipt as an attachment in your order’s delivery confirmation email as well as in subsequent emails. For returns, you must present the receipt on your mobile screen or bring a printed copy. </div> <form ng-if="itxOrderConfirmationCtrl.userType === 'G' && itxOrderConfirmationCtrl.order.isMailRegistered && !itxOrderConfirmationCtrl.migrationDone" id="migrate-user" name="migrateForm" method="post" novalidate> <p class="already-registered">Your email is registered at Zarahome.com</p> <p class="associate-order">Do you want to log in and link this order to your account?</p> <md-input-container class="no-margin-bottom"> <label for="email">E-mail</label> <input type="text" id="migrateForm_email" name="email" ng-model="itxOrderConfirmationCtrl.billingAddress.email" ng-disabled="true" required> </md-input-container> <md-input-container class="no-margin-bottom"> <label for="password">Password</label> <input type="{{ itxOrderConfirmationCtrl.passwordInputType }}" id="migrateForm_password" class="password" autocomplete="off" name="password" ng-model="itxOrderConfirmationCtrl.password" required> <a ng-class="{ 'icon-password-hidden' : itxOrderConfirmationCtrl.passwordInputType === 'password', 'icon-password-visible' : itxOrderConfirmationCtrl.passwordInputType === 'text' }" ng-click="itxOrderConfirmationCtrl.togglePassword()"> </a> <div ng-messages="migrateForm.password.$error"> <div ng-message="required">This field is required</div> </div> </md-input-container> <div class="row forgot-password"> <a class="grey" ng-click="itxOrderConfirmationCtrl.showPasswordRecovery()">Have you forgotten your password?</a> </div> <div class="migrate-user-buttons"> <itx-button class="itx-button-black" ng-click="itxOrderConfirmationCtrl.login()" button-type="'submit'" enable-progress="itxLoginCtrl.ongoingPetition"> YES </itx-button> <itx-button class="itx-button-black" ng-click="itxOrderConfirmationCtrl.hideMigrateForm()" button-type="'submit'" enable-progress="itxLoginCtrl.ongoingPetition"> NO </itx-button> </div> </form> <div class="row header"> <div class="number"> <span> Order number </span> <span> {{ itxOrderConfirmationCtrl.orderId }} </span> </div> <div class="date" ng-if="itxOrderConfirmationCtrl.order.date"> <span>Order date:</span> <span> {{ itxOrderConfirmationCtrl.order.date | date:itxOrderConfirmationCtrl.dateFormat }} </span> </div> <div class="method"> <span>Delivery method:</span> <span> {{ itxOrderConfirmationCtrl.order.shipping.name }} </span> </div> <div class="payment"> <span>Payment:</span> <span ng-repeat="payment in itxOrderConfirmationCtrl.order.payment"> {{ payment.name }} </span> <!-- <img ng-repeat="payment in itxOrderConfirmationCtrl.order.payment" ng-src="{{ payment.imgUrl }}" class="card-img" /> --> </div> </div> <div class="row actions" ng-if="!$root.isMobile || ($root.isMobile && (itxOrderConfirmationCtrl.invoiceUrl || (itxOrderConfirmationCtrl.order.isPaperless && itxOrderConfirmationCtrl.isOrderDelivered) || itxOrderConfirmationCtrl.isOrderCancellable || itxOrderConfirmationCtrl.isOrderReturnable || itxOrderConfirmationCtrl.order.assistedPurchase === 1))"> <div class="confirm-container"> <div class="col-xs-12 col-sm-3" ng-if="itxOrderConfirmationCtrl.invoiceUrl"> <a class="action receipt" ng-href="{{ itxOrderConfirmationCtrl.invoiceUrl }}" ng-click="itxOrderConfirmationCtrl.ItxGtmEventsFct.downloadInvoice(itxOrderConfirmationCtrl.order)" target="_blank"> <span class="icon icon-order-detail icon-coin-dollar"></span>Invoice </a> </div> <div class="col-xs-12 col-sm-3" ng-if="itxOrderConfirmationCtrl.order.isPaperless && itxOrderConfirmationCtrl.isOrderDelivered"> <a ng-click="itxOrderConfirmationCtrl.getPaperlessTicket()">Electronic receipt</a> </div> <div class="col-xs-12 col-sm-3" ng-if="itxOrderConfirmationCtrl.isOrderCancellable"> <span class="icon icon-order-detail icon-cancel-circle"></span> <a class="cancel" ng-click="itxOrderConfirmationCtrl.openCancelOrder()"> Cancel order </a> </div> <div class="col-xs-12 col-sm-3" ng-if="itxOrderConfirmationCtrl.isOrderReturnable"> <span class="icon icon-order-detail icon-return"></span> <a class="action return" ng-click="itxOrderConfirmationCtrl.goToReturnOrder(itxOrderConfirmationCtrl.order.id)"> Return items </a> </div> <div class="phonePurchaseOrder hidden-mobile col-xs-12" ng-if="itxOrderConfirmationCtrl.order.assistedPurchase === 1"> <div class="margin-top-20"> <span class="phonePurchaseImg"> <img ng-src="/static/itxwebstandard/images/VentaAsistidaIco.png" alt="Phone purchase" /> </span> <span class="phonePurchaseLabel"> Assisted Selling: </span> </div> </div> <div class="phonePurchaseOrder visible-desktop col-sm-8" ng-if="itxOrderConfirmationCtrl.order.assistedPurchase === 1"> <div> <span class="phonePurchaseLabel" ng-show="itxOrderConfirmationCtrl.phoneLabelVisible"> Assisted Selling: </span> <span class="phonePurchaseImg" ng-mouseover="itxOrderConfirmationCtrl.changePhoneLabelVisibility(true)" ng-mouseleave="itxOrderConfirmationCtrl.changePhoneLabelVisibility(false)"> <img ng-src="/static/itxwebstandard/images/VentaAsistidaIco.png" alt="Phone purchase" /> </span> </div> </div> </div> </div> <div class="row steps" ng-if="itxOrderConfirmationCtrl.guestToken"> <div class="confirm-container"> <ul class="clearfix"> <li class="col-sm-3" ng-class="{'hidden-xs': itxOrderConfirmationCtrl.estadoPedidos.preparando.indexOf(itxOrderConfirmationCtrl.order.status) === -1, 'completed': itxOrderConfirmationCtrl.estadoPedidos.preparando.indexOf(itxOrderConfirmationCtrl.order.status) === -1, 'active': itxOrderConfirmationCtrl.estadoPedidos.preparando.indexOf(itxOrderConfirmationCtrl.order.status) !== -1}"> <span class="ico-state"></span>Preparing your order </li> <li class="col-sm-3" ng-class="{'hidden-xs': itxOrderConfirmationCtrl.estadoPedidos.enTransito.indexOf(itxOrderConfirmationCtrl.order.status) === -1, 'completed': itxOrderConfirmationCtrl.estadoPedidos.entregado.indexOf(itxOrderConfirmationCtrl.order.status) !== -1, 'active': itxOrderConfirmationCtrl.estadoPedidos.enTransito.indexOf(itxOrderConfirmationCtrl.order.status) !== -1}"> <span class="ico-state"></span>In transit </li> <li class="col-sm-3" ng-hide="itxOrderConfirmationCtrl.pickupShippingMethod.indexOf(itxOrderConfirmationCtrl.order.shipping.kind) === -1" ng-class="{'hidden-xs': itxOrderConfirmationCtrl.estadoPedidos.recoger.indexOf(itxOrderConfirmationCtrl.order.status) === -1, 'active': itxOrderConfirmationCtrl.estadoPedidos.recoger.indexOf(itxOrderConfirmationCtrl.order.status) !== -1}"> <span class="ico-state"></span>Collect in store </li> <li class="col-sm-3" ng-class="{'hidden-xs': itxOrderConfirmationCtrl.estadoPedidos.entregado.indexOf(itxOrderConfirmationCtrl.order.status) === -1, 'active': itxOrderConfirmationCtrl.estadoPedidos.entregado.indexOf(itxOrderConfirmationCtrl.order.status) !== -1}"> <span class="ico-state"></span>Order delivered </li> <li class="col-sm-3" ng-if="itxOrderConfirmationCtrl.estadoPedidos.cancelado.indexOf(itxOrderConfirmationCtrl.order.status) !== -1" ng-class="{'hidden-xs': itxOrderConfirmationCtrl.estadoPedidos.cancelado.indexOf(itxOrderConfirmationCtrl.order.status) === -1, 'active': itxOrderConfirmationCtrl.estadoPedidos.cancelado.indexOf(itxOrderConfirmationCtrl.order.status) !== -1}"> <span class="ico-state"></span>ORDER CANCELLED </li> </ul> </div> </div> <div class="row multibanco-info" ng-if="itxOrderConfirmationCtrl.showMultibancoInfo"> <div class="confirm-container"> <div class="multibanco-title"> <span> Details for paying by bank transfer </span> </div> <div class="multibanco-reference"> <span> <strong>Reference:</strong> {{ itxOrderConfirmationCtrl.multibancoInfo.reference }} </span> </div> <div class="multibanco-entity"> <span> <strong>Bank:</strong> {{ itxOrderConfirmationCtrl.multibancoInfo.entity }} </span> </div> <div class="multibanco-amount"> <span> <strong>Amount to be paid:</strong> {{ itxOrderConfirmationCtrl.multibancoInfo.amount }} </span> </div> </div> </div> <div class="row details"> <div class="col-sm-4"> <div class="details-container" layout-margin> <!-- INI WECHAT --> <div class="weChat-info" ng-if="itxOrderConfirmationCtrl.weChatInfo && itxOrderConfirmationCtrl.weChatInfo.qrLink"> <div class="weChat-logo"> <img class="logo" ng-src="{{ itxOrderConfirmationCtrl.weChatInfo.weChatLogo }}" /><img class="recommended" ng-src="{{ itxOrderConfirmationCtrl.weChatInfo.weChatRecommended }}" /> <span class="wechat-order-amount" ng-bind-html="itxOrderConfirmationCtrl.ItxProductFactory.formatAnyPrice(itxOrderConfirmationCtrl.order.totalOrder)"></span> </div> <div class="weChat-qr"> <qrcode data="{{ itxOrderConfirmationCtrl.weChatInfo.qrLink }}"></qrcode> </div> <div class="weChat-scanqr"> <img ng-src="{{ itxOrderConfirmationCtrl.weChatInfo.weChatScanQR }}" /> </div> </div> <!-- FIN WECHAT --> <!-- INI WECHAT --> <div class="qrcode" ng-if="itxOrderConfirmationCtrl.qrCode"> <qrcode data="{{ itxOrderConfirmationCtrl.qrCode }}"></qrcode> </div> <!-- FIN WECHAT --> <div ng-show="itxOrderConfirmationCtrl.shippingAddress" data-ng-cloak> <h3>Delivery address</h3> <div class="detail-my-address"> <p>{{itxOrderConfirmationCtrl.shippingAddress.addressLines[0]}}</p> <p ng-if="itxOrderConfirmationCtrl.shippingAddress.addressLines.length > 1 && itxOrderConfirmationCtrl.shippingInfo.kind !== 'droppoint' && itxOrderConfirmationCtrl.shippingAddress.addressLines[1] !== '-'">{{itxOrderConfirmationCtrl.shippingAddress.addressLines[1]}}</p> <p ng-if="itxOrderConfirmationCtrl.shippingAddress.addressLines.length > 2 && itxOrderConfirmationCtrl.shippingInfo.kind !== 'droppoint' && itxOrderConfirmationCtrl.shippingAddress.addressLines[2] !== '-'">{{itxOrderConfirmationCtrl.shippingAddress.addressLines[2]}}</p> <p><span ng-if="itxOrderConfirmationCtrl.shippingAddress.zipCode !== '-' && itxOrderConfirmationCtrl.physicalStoreAddress.countryCode !== 'AE'">{{itxOrderConfirmationCtrl.shippingAddress.zipCode}},</span><span ng-if="itxOrderConfirmationCtrl.shippingAddress.city !== '-'"> {{itxOrderConfirmationCtrl.shippingAddress.city}}</span></p> <p ng-if="itxOrderConfirmationCtrl.shippingAddress.countryCode === 'MX'">{{itxOrderConfirmationCtrl.shippingAddress.colony}} {{itxOrderConfirmationCtrl.shippingAddress.municipality}}</p> <p ng-if="$root.inditex.iStoreJSON.details.hideProvinceCombo === '0' && itxOrderConfirmationCtrl.shippingAddress.countryCode !== 'GB'"><span class="upper">{{itxOrderConfirmationCtrl.shippingAddress.stateName}}</span> - {{itxOrderConfirmationCtrl.shippingAddress.countryName}}</p> <p ng-if="itxOrderConfirmationCtrl.shippingAddress.countryName">{{itxOrderConfirmationCtrl.shippingAddress.countryName}}</p> <p ng-if="itxOrderConfirmationCtrl.shippingAddress.isCompany">{{itxOrderConfirmationCtrl.shippingAddress.company.name}}</p> <p>{{itxOrderConfirmationCtrl.shippingAddress.firstName}} <span ng-if="itxOrderConfirmationCtrl.isMiddleName">{{itxOrderConfirmationCtrl.shippingAddress.middleName}}</span> {{itxOrderConfirmationCtrl.shippingAddress.lastName}}</p> <p>{{itxOrderConfirmationCtrl.shippingAddress.phones[0].countryCode}} {{itxOrderConfirmationCtrl.shippingAddress.phones[0].subscriberNumber}}</p> </div> </div> <div ng-show="itxOrderConfirmationCtrl.physicalStoreAddress!=null" data-ng-cloak> <h3>Delivery address</h3> <div class="detail-my-address"> <p>{{itxOrderConfirmationCtrl.physicalStoreAddress.addressLines[0]}}</p> <p ng-if="itxOrderConfirmationCtrl.physicalStoreAddress.addressLines.length > 1">{{itxOrderConfirmationCtrl.physicalStoreAddress.addressLines[1]}}</p> <p>{{itxOrderConfirmationCtrl.physicalStoreAddress.zipCode}}, {{itxOrderConfirmationCtrl.physicalStoreAddress.city}}</p> <p ng-if="itxOrderConfirmationCtrl.physicalStoreAddress.countryCode === 'MX'">{{itxOrderConfirmationCtrl.physicalStoreAddress.colony}} {{itxOrderConfirmationCtrl.physicalStoreAddress.municipality}}</p> <p><span class="upper">{{itxOrderConfirmationCtrl.physicalStoreAddress.state}}</span> - {{itxOrderConfirmationCtrl.physicalStoreAddress.countryName}}</p> <p>{{itxOrderConfirmationCtrl.physicalStoreAddress.firstName}} {{itxOrderConfirmationCtrl.physicalStoreAddress.lastName}}</p> <p>{{itxOrderConfirmationCtrl.physicalStoreAddress.phones[0]}}</p> </div> </div> <div ng-show="itxOrderConfirmationCtrl.billingAddress !== null" data-ng-cloak> <h3>Billing address</h3> <div class="detail-my-address"> <p ng-if="itxOrderConfirmationCtrl.billingAddress.addressLines.length > 0 && itxOrderConfirmationCtrl.billingAddress.addressLines[0] !== '-'">{{itxOrderConfirmationCtrl.billingAddress.addressLines[0]}}</p> <p ng-if="itxOrderConfirmationCtrl.billingAddress.addressLines.length > 1 && itxOrderConfirmationCtrl.billingAddress.addressLines[1] !== '-'">{{itxOrderConfirmationCtrl.billingAddress.addressLines[1]}}</p> <p ng-if="itxOrderConfirmationCtrl.billingAddress.addressLines.length > 2 && itxOrderConfirmationCtrl.billingAddress.addressLines[2] !== '-'">{{itxOrderConfirmationCtrl.billingAddress.addressLines[2]}}</p> <p><span ng-if="itxOrderConfirmationCtrl.billingAddress.zipCode !== '-' && itxOrderConfirmationCtrl.physicalStoreAddress.countryCode !== 'AE'">{{itxOrderConfirmationCtrl.billingAddress.zipCode}},</span> <span ng-if="itxOrderConfirmationCtrl.billingAddress.city !== '-'"> {{itxOrderConfirmationCtrl.billingAddress.city}}</span></p> <p ng-if="itxOrderConfirmationCtrl.billingAddress.countryCode === 'MX' && (itxOrderConfirmationCtrl.userType == 'R' || itxOrderConfirmationCtrl.userType == 'W')">{{itxOrderConfirmationCtrl.billingAddress.colony}} {{itxOrderConfirmationCtrl.billingAddress.municipality}}</p> <p ng-if="itxOrderConfirmationCtrl.billingHasState && itxOrderConfirmationCtrl.billingAddress.countryCode !== 'GB'"> <span ng-if="$root.inditex.iStoreJSON.details.hideProvinceCombo === '0'" class="upper">{{itxOrderConfirmationCtrl.billingAddress.stateName}} - </span>{{itxOrderConfirmationCtrl.billingAddress.countryName}} </p> <p ng-if="!itxOrderConfirmationCtrl.billingHasState || itxOrderConfirmationCtrl.billingAddress.countryCode === 'GB'"> {{itxOrderConfirmationCtrl.billingAddress.countryName}} </p> <p ng-if="itxOrderConfirmationCtrl.billingAddress.isCompany">{{itxOrderConfirmationCtrl.billingAddress.company.name}}</p> <p>{{itxOrderConfirmationCtrl.billingAddress.firstName}} <span ng-if="itxOrderConfirmationCtrl.isMiddleName">{{itxOrderConfirmationCtrl.billingAddress.middleName}}</span> <span ng-if="itxOrderConfirmationCtrl.billingAddress.lastName !== '-'">{{itxOrderConfirmationCtrl.billingAddress.lastName}}</span></p> <p>{{itxOrderConfirmationCtrl.billingAddress.phones[0].countryCode}} {{itxOrderConfirmationCtrl.billingAddress.phones[0].subscriberNumber}}</p> <p>{{itxOrderConfirmationCtrl.billingAddress.email}}</p> </div> </div> <div ng-if="itxOrderConfirmationCtrl.showTecInfo" class="tec-info"> <div class="tec-header"> <h3>Tracking information</h3> </div> <div class="tec-body"> <div ng-if="itxOrderConfirmationCtrl.order.showCronosDate && !itxOrderConfirmationCtrl.isFinalStatus"> <p>Estimated delivery date: <br> {{ itxOrderConfirmationCtrl.order.deliveryInfoDate | date: itxOrderConfirmationCtrl.dateFormat }} </p> </div> <div class="suborder-list" ng-repeat="subOrder in itxOrderConfirmationCtrl.subOrders track by $index"> <p class="numero-pedido" ng-if="itxOrderConfirmationCtrl.order.subordersNumber > 1">Shipment {{$index + 1}} of {{ itxOrderConfirmationCtrl.order.subordersNumber }}</p> <div ng-if="subOrder.fechaEstimada.length > 0 && !itxOrderConfirmationCtrl.order.showCronosDate && !itxOrderConfirmationCtrl.isFinalStatus"> <p>Estimated delivery date: <br>{{subOrder.fechaEstimadaUTCMoment}}</p> </div> <div class="suborder-state-list" ng-repeat="trackingItem in itxOrderConfirmationCtrl.order.uniqueSuborderStates track by $index"> <span>{{itxOrderConfirmationCtrl.ItxOrderFactory.getTECState(trackingItem.subStatus)}}</span> : <br> <div ng-repeat="fecha in trackingItem.fechaActualizacionMoment track by $index" class="fecha-tec"> <span ng-bind-html="fecha"></span> </div> </div> </div> </div> </div> </div> </div> <div class="col-sm-8"> <div id="confirmation-content" class="cart-content"> <div id="confirmation-resume-header" class="row"> <div class="col-sm-6">Items</div> <div class="col-sm-2 hidden-xs">Quantity</div> <div class="col-sm-4 text-right hidden-xs">Item price</div> </div> <!-- PRODUCT ROW --> <div id="confirmation-resume-body" class="product row" ng-repeat="item in itxOrderConfirmationCtrl.order.items"> <!-- --> <div class="col-sm-6"> <div class="photo"> <itx-product-photo ng-if="item.reference !== 'XGIFTSKU'" product="item" stylism="itxOrderConfirmationCtrl.storeStyle"></itx-product-photo> <img ng-if="item.reference === 'XGIFTSKU'" ng-src="{{ itxOrderConfirmationCtrl.gifWrapImgSrc }}" title="{{ item.name }}" alt="{{ item.name }}"> </div> <div class="info"> <span class="name"><a>{{item.name}}</a></span> <span class="visible-xs">{{item.quantity}} x <span ng-bind-html="itxOrderConfirmationCtrl.ItxProductFactory.formatAnyPrice(item.unitPrice)"></span></span> <span class="reference"><abbr title="referencia">ref.</abbr>{{item.displayReference}}</span> <span class="size">{{::item.sizeToShow}}</span> </div> </div> <div class="col-sm-2 cantidad hidden-xs">{{item.quantity}}</div> <div class="col-sm-4 precio text-right hidden-xs"><span ng-bind-html="itxOrderConfirmationCtrl.ItxProductFactory.formatAnyPrice(item.unitPrice)"></span></div> </div> <!-- END PRODUCT ROW --> <!-- INICIO FOOTER RESUMEN CONFIRMACION DE PEDIDO --> <div id="confirmation-resume-footer"> <div class="row" data-ng-cloak> <div class="col-xs-7">Purchase total:</div> <div class="col-xs-5 text-right" ng-bind-html="itxOrderConfirmationCtrl.ItxProductFactory.formatAnyPrice(itxOrderConfirmationCtrl.order.totalProduct)"></div> </div> <div class="row" data-ng-cloak> <div class="col-xs-7">Delivery charges:</div> <div class="col-xs-5 text-right" ng-bind-html="itxOrderConfirmationCtrl.ItxProductFactory.formatAnyPrice(itxOrderConfirmationCtrl.order.shippingPrice)"></div> </div> <div class="row" ng-if="itxOrderConfirmationCtrl.order.taxArray.length > 0 && itxOrderConfirmationCtrl.order.isNoNexus!='1'" data-ng-cloak> <div class="col-xs-7">Total fees:</div> <div class="col-xs-5 text-right"><span ng-bind-html='itxOrderConfirmationCtrl.ItxProductFactory.formatAnyPrice(itxOrderConfirmationCtrl.order.totalTax)'></span></div> </div> <div class="row" ng-if="$root.inditex.iCountryCode === 'WW' && itxOrderConfirmationCtrl.order.tax === null"> <div class="col-xs-12"> *{{ ::("importCostNotIncluded" | property) }} </div> </div> <div class="row" ng-if="itxOrderConfirmationCtrl.order.tax !== null"> <div class="col-xs-7"> <span ng-if="$root.inditex.iCountryCode !== 'WW'"> {{ ::("ItxOrderDetailDisplay.tax" | property) }}: </span> <span ng-if="$root.inditex.iCountryCode === 'WW'"> {{ ::("ItxOrderDetailDisplay.importCost" | property) }}: </span> </div> <div class="col-xs-5 text-right" ng-bind-html='itxOrderConfirmationCtrl.ItxProductFactory.formatAnyPrice(itxOrderConfirmationCtrl.order.tax)'></div> </div> <div class="row gastos-envio eco-tasa" ng-repeat="itemTax in itxOrderConfirmationCtrl.order.taxArray" ng-if="itxOrderConfirmationCtrl.order.taxArray.length > 0 && itxOrderConfirmationCtrl.order.isNoNexus!='1'"> <div ng-if="itemTax.name == 'eco_tax'"> <div class="col-xs-4 text-right"><span ng-if="$first" class="reference">Dont eco participation mobilier</span></div> <div class="col-xs-3 text-right"><span class="reference">{{itemTax.reference}}</span></div> <div class="col-xs-2 text-right"><span ng-bind-html='itxOrderConfirmationCtrl.ItxProductFactory.formatAnyPrice(itemTax.price)' class="reference"></span></div> </div> </div> <div ng-if="itxOrderConfirmationCtrl.order.adjustment.length > 0" data-ng-cloak> <div class="row" ng-repeat="adjustment in itxOrderConfirmationCtrl.order.adjustment" data-ng-cloak> <div class="col-xs-7">{{ adjustment.description }}</div> <div class="col-xs-5 text-right"><span ng-bind-html='itxOrderConfirmationCtrl.ItxProductFactory.formatAnyPrice(adjustment.amount)'></span></div> </div> </div> <div class="row gastos-envio eco-tasa" ng-repeat="itemTax in itxOrderConfirmationCtrl.ecoTaxArray" ng-if="itxOrderConfirmationCtrl.ecoTaxArray.length > 0 && itxOrderConfirmationCtrl.order.isNoNexus!='1'"> <div class="col-sm-5 text-right">Dont eco participation mobilier:</div> <div class="col-xs-5 text-right">{{itemTax.reference}}</div> <div class="col-xs-4 col-sm-2 text-right"><span ng-bind-html='itxOrderConfirmationCtrl.ItxProductFactory.formatAnyPrice(itemTax.price)'></span></div> </div> <div ng-if="itxOrderConfirmationCtrl.order.affinityDiscount" class="row affinity-discount"> <div class="col-xs-7"> <span>Affinity discount</span> </div> <div class="col-xs-5 text-right"> <span ng-bind-html="itxOrderConfirmationCtrl.ItxProductFactory.formatAnyPrice(itxOrderConfirmationCtrl.order.discountedAmount)"></span> </div> </div> <div class="row final" data-ng-cloak> <div class="col-xs-7">Purchase total:</div> <div class="col-xs-5 text-right" ng-bind-html="itxOrderConfirmationCtrl.ItxProductFactory.formatAnyPrice(itxOrderConfirmationCtrl.order.totalOrder)"></div> </div> <div class="order-gift-ticket" ng-if="itxOrderConfirmationCtrl.order.giftTicket === '1'"> <span>Gift receipt</span> </div> </div> </div> </div> </div> <div ng-if="itxOrderConfirmationCtrl.isOxxoOrder"> <p> We inform you that cancelations and returns for this order will be refunded through a voucher. </p> <div ng-if="itxOrderConfirmationCtrl.oxxoBarcode !== ''"> <p> Please remember to complete the payment within the next 7 days by showing the barcode in an OXXO branch. </p> <svg id="barcode"></svg> </div> <p class="oxxo-redirect" ng-if="itxOrderConfirmationCtrl.oxxoRedirectUrl"> If the barcode is not showing, please click <a ng-href="{{itxOrderConfirmationCtrl.oxxoRedirectUrl}}"> here. </a> </p> </div> <div id="confirmation-footer"> <itx-spot type="Resumen_Pedido" ng-if="itxOrderConfirmationCtrl.resumenPedidoSpot"></itx-spot> <!-- No mostrar para Guest --> <div ng-if="itxOrderConfirmationCtrl.walletInfo.showSaveDialog && !itxOrderConfirmationCtrl.walletInfo.securePass && itxOrderConfirmationCtrl.isRegisteredUser && $root.inditex.phonePurchase !== 1"> <p><strong>Express Checkout</strong></p> <p>We take the security of your data very seriously. You can save your card in your account to speed up future purchases.</p> <div class="actualizar-pass"> <p>To sign up for Express Checkout services you must create a more secure password. Remember that it must have at least 8 characters including uppercase and lowercase letters and numerals.</p> <itx-button ng-click="itxOrderConfirmationCtrl.changePassword()" id="btn-passwor-modificacion"> <span class="icon icon-pencil-flip"></span> UPDATE PASSWORD </itx-button> </div> </div> <div ng-if="itxOrderConfirmationCtrl.walletInfo.showSaveDialog && itxOrderConfirmationCtrl.walletInfo.securePass && itxOrderConfirmationCtrl.isRegisteredUser && $root.inditex.phonePurchase !== 1"> <p><strong>Express Checkout</strong></p> <div ng-if="$root.rgpdTextEnabled" ng-click="itxOrderConfirmationCtrl.showRGPDTable = true"> <p> Do you want us to retain your payment information, in accordance with our <a class="ays-check-politica link-2 privacy" ng-click="itxOrderConfirmationCtrl.openPrivacyInfo()"> Privacy policy </a> <span></span> <span class="close-question">?</span> </p> </div> <p ng-if="!$root.rgpdTextEnabled"> We take the security of your data very seriously. You can save your card in your account to speed up future purchases. </p> <itx-button ng-click="itxOrderConfirmationCtrl.savePaymentMethodInWallet()" enable-progress="itxOrderConfirmationCtrl.ongoingPetition"> SAVE INFORMATION </itx-button> </div> <!--Seguir comprando--> <itx-button class="continue-shopping" ng-click="itxOrderConfirmationCtrl.goToHome()">Continue shopping</itx-button> <!-- CREAR CUENTA --> <div ng-if="!itxOrderConfirmationCtrl.order.isMailRegistered && (!itxOrderConfirmationCtrl.isRegisteredUser || itxOrderConfirmationCtrl.guestToken)"> <p><strong>Create an Zara Home account</strong></p> <p>I want to save my data to expedite my next purchases</p> <a ng-click="itxOrderConfirmationCtrl.goToCreateUser()"> <itx-button id="btn-mi-cuenta-invitado"> Create a new account </itx-button> </a> </div> <!-- FIN CREAR CUENTA --> <div ng-if="$root.rgpdTextEnabled && itxOrderConfirmationCtrl.showRGPDTable && !$root.isMobile"> <itx-spot type="RGPD_SaveWalletData_12"></itx-spot> </div> </div> </div> </div> </div></script><script id="home.tpl" type="text/ng-template"><itx-spot type="Home" is-home="true" ng-if="::$root.inditex.iStoreJSON.isOpenForSale"></itx-spot> <itx-spot type="Home_NoVenta" is-home="true" ng-if="::(!$root.inditex.iStoreJSON.isOpenForSale)"></itx-spot> <div class="appLikeCategories" ng-if="itxHomeCtrl.homeMobileCategories.length > 0 && $root.activeMobileMenu && itxHomeCtrl.appLikeCategoriesShow"> <ul> <li ng-repeat="category in ::itxHomeCtrl.homeMobileCategories"> <p><a class="appLike-link" ng-click="itxHomeCtrl.openMenu(category)">{{category.name}}</a></p> <a class="appLike-link" ng-click="itxHomeCtrl.openMenu(category)"> <span ng-if="category.shortDescription.text" ng-bind="category.shortDescription.text" ng-style="{'color' : itxHomeCtrl.setTextColor(category.shortDescription.color)}"> </span> <img ng-src="{{category.img}}"> </a> </li> </ul> </div></script><script id="giftcard-activate.tpl" type="text/ng-template"><md-content class="gift-card-activate-component" id="tarjeta" layout-padding layout-align="center center"> <div> <itx-spot type="GiftCard_Activate"></itx-spot> </div> <div class="gift-card-activate-component-confirmation" flex-offset-gt-xs="30" flex-gt-xs="40"> <form class="gift-card-activate-component-form" name="itxGiftCardActivateCtrl.giftCardForm" method="post" novalidate> <md-input-container class="md-block"> <label for="cardnumber">Card number</label> <input type="text" name="cardnumber" id="cardnumber" ng-model="itxGiftCardActivateCtrl.giftCardRequest.number" ng-model-options="{ updateOn: 'blur' }" autocomplete="off" ng-pattern="/^[0-9]{16}$/" ng-minlength="16" ng-maxlength="16" md-maxlength="16" required> <div ng-messages="itxGiftCardActivateCtrl.giftCardForm.cardnumber.$error"> <div ng-message="required">Enter your card number</div> <div ng-message="pattern">Enter your card number</div> <div ng-message="minlength">Enter your card number</div> <div ng-message="maxlength">Enter your card number</div> </div> </md-input-container> <md-input-container class="md-block"> <label for="cvv">CVV number</label> <input type="text" name="cvv" id="cvv" ng-model="itxGiftCardActivateCtrl.giftCardRequest.cvv" ng-model-options="{ updateOn: 'blur' }" autocomplete="off" ng-pattern="/^[0-9]{3}$/" md-maxlength="3" required> <div ng-messages="itxGiftCardActivateCtrl.giftCardForm.cvv.$error"> <div ng-message="required">Please enter the CVV code</div> <div ng-message="pattern">Please enter the CVV code</div> <div ng-message="maxlength">Please enter the CVV code</div> </div> </md-input-container> <md-input-container class="md-block"> <label for="activationCode">Activation code</label> <input type="text" name="activationCode" id="activationCode" ng-model="itxGiftCardActivateCtrl.giftCardRequest.activationCode" ng-model-options="{ updateOn: 'blur' }" autocomplete="off" ng-pattern="/^[0-9]{4}$/" md-maxlength="4" required> <div ng-messages="itxGiftCardActivateCtrl.giftCardForm.activationCode.$error"> <div ng-message="required">Enter the activation code</div> <div ng-message="pattern">Enter the activation code</div> <div ng-message="maxlength">Enter the activation code</div> </div> </md-input-container> <md-input-container class="md-block"> <label for="captchaResponse">* Enter the code in the image below</label> <input type="text" name="captchaResponse" id="captchaResponse" ng-model="itxGiftCardActivateCtrl.giftCardRequest.captchaResponse" ng-model-options="{ updateOn: 'blur' }" autocomplete="off" required> <div ng-messages="itxGiftCardActivateCtrl.giftCardForm.captchaResponse.$error"> <div ng-message="required">Enter the code in the image below</div> </div> <div layout="row"> <img id="captchaImg" ng-src="{{itxGiftCardActivateCtrl.captchaUrl}}" alt="Captcha" /> <md-icon class="captcha-reload" md-svg-src="/static/itxwebstandard/images/reload.svg?t=2019041110311151db1176774530" ng-click="itxGiftCardActivateCtrl.reloadCaptcha()" aria-label="Reload Captcha image"></md-icon> </div> </md-input-container> <div layout="row" layout-align="center center"> <itx-button ng-click="itxGiftCardActivateCtrl.activateCard()" enable-progress="itxPhysicalCardPageCtrl.adding"> ACTIVATE </itx-button> </div> </form> </div> </md-content></script><script id="giftcard-balance.tpl" type="text/ng-template"><md-content class="gift-card-balance-component row" id="tarjeta" layout-padding> <div ng-if="itxGiftCardBalanceCtrl.balance"> <div class="tarjeta-movimientos"> <div class="faq-header"> <a ng-click="itxGiftCardBalanceCtrl.balance = undefined"><img src="/static/itxwebstandard/images/lbox-arrow-left-2.png?t=2019041110311151db1176774530"></a> <itx-spot type="GiftCard_Balance"></itx-spot> </div> </div> <div class="centrar-faq tarjeta-saldo"> <table class="tarjeta-movimientos-tabla"> <thead> <tr> <th>DATE</th> <th>AMOUNT</th> </tr> </thead> <tbody> <tr> <td>Remaining balance</td> <td ng-bind-html="itxGiftCardBalanceCtrl.ItxHelper.formatPrice(itxGiftCardBalanceCtrl.balance.balance)"></td> </tr> <tr ng-repeat="transaction in itxGiftCardBalanceCtrl.balance.transactions"> <td>{{itxGiftCardBalanceCtrl.ItxHelper.formatDate(transaction.date)}}</td> <td ng-bind-html="itxGiftCardBalanceCtrl.ItxHelper.formatPrice(transaction.quantity)"></td> </tr> </tbody> </table> </div> </div> <div ng-if="!itxGiftCardBalanceCtrl.balance" class="gift-card-balance-component-controller" flex-offset-gt-xs="30" flex-gt-xs="40"> <div> <div class="faq-header"> <h2 class="tarjeta-nueva-title"> card balance </h2> <p>Please enter the card details (* obligatory)</p> </div> </div> <div> <form name="itxGiftCardBalanceCtrl.giftCardForm" method="post" novalidate> <md-input-container class="md-block"> <label for="cardnumber">Card number</label> <input type="text" name="cardnumber" id="cardnumber" ng-model="itxGiftCardBalanceCtrl.giftCardRequest.number" ng-model-options="{ updateOn: 'blur' }" autocomplete="off" ng-pattern="/^[0-9]{16}$/" ng-minlength="16" ng-maxlength="16" md-maxlength="16" required> <div ng-messages="itxGiftCardBalanceCtrl.giftCardForm.cardnumber.$error"> <div ng-message="required">Enter your card number</div> <div ng-message="pattern">Enter your card number</div> <div ng-message="minlength">Enter your card number</div> <div ng-message="maxlength">Enter your card number</div> </div> </md-input-container> <md-input-container class="md-block"> <!--<md-tooltip>The last 3 digits printed on the back of your card.</md-tooltip>--> <label for="cvv">CVV number</label> <input type="text" name="cvv" id="cvv" ng-model="itxGiftCardBalanceCtrl.giftCardRequest.cvv" ng-model-options="{ updateOn: 'blur' }" autocomplete="off" ng-pattern="/^[0-9]{3}$/" md-maxlength="3" required> <div ng-messages="itxGiftCardBalanceCtrl.giftCardForm.cvv.$error"> <div ng-message="required">Please enter the CVV code</div> <div ng-message="pattern">Please enter the CVV code</div> <div ng-message="maxlength">Please enter the CVV code</div> </div> </md-input-container> <md-input-container class="md-block"> <!--<md-tooltip>Enter the code in the image below</md-tooltip>--> <label for="captchaResponse">* Enter the code in the image below</label> <input type="text" name="captchaResponse" id="captchaResponse" ng-model="itxGiftCardBalanceCtrl.giftCardRequest.captchaResponse" ng-model-options="{ updateOn: 'blur' }" autocomplete="off" required> <div ng-messages="itxGiftCardBalanceCtrl.giftCardForm.captchaResponse.$error"> <div ng-message="required">Enter the code in the image below</div> </div> <div class="col-md-6 col-md-push-3" layout=row> <img id="captchaImg" ng-src="{{itxGiftCardBalanceCtrl.captchaUrl}}" alt="Captcha" /> <md-icon class="captcha-reload" md-svg-src="/static/itxwebstandard/images/reload.svg?t=2019041110311151db1176774530" ng-click="itxGiftCardBalanceCtrl.reloadCaptcha()" aria-label="Reload Captcha image"></md-icon> </div> </md-input-container> <div class="gift-card-balance-component-check" layout="row" layout-align="center center"> <md-button title="ACTIVATE" ng-click="itxGiftCardBalanceCtrl.getCardBalance()"> CHECK BALANCE </md-button> </div> </form> </div> </div> </md-content></script><script id="giftcard-home.tpl" type="text/ng-template"><itx-spot type="SubHome_ZHH_GIFTCARD"></itx-spot></script><script id="physical-card.tpl" type="text/ng-template"><div class="physical-card-component" id="tarjeta"> <md-content class="physical-card-component-content" layout-padding> <div class="container-fluid"> <div> <div class="faq-header"> <itx-spot type="GiftCard_Physical"></itx-spot> </div> </div> <form class="physical-card-component-form" name="itxPhysicalCardCtrl.giftCardForm" method="post" novalidate> <div layout-gt-xs="row" layout-xs="column"> <md-content flex layout-margin> <h2 class="nueva-tarjeta-subencabezado">Your details</h2> <label for="cardAmount" ng-bind-template="* {{ itxPhysicalCardCtrl.ItxHelper.capitalizeFirstLetter('ANY AMOUNT') }}"></label> <div id="sliderAmount" class="input-container"> <rzslider data-rz-slider-model="itxPhysicalCardCtrl.inputPrice" data-rz-slider-options="itxPhysicalCardCtrl.giftCardOptions.options"></rzslider> </div> <md-input-container class="md-block gift-card-field"> <label for="name">Your Name</label> <input type="text" name="name" id="name" ng-class="giftCardForm.$submitted ? 'ng-dirty' : ''" ng-model="itxPhysicalCardCtrl.giftCardRequest.senderName" ng-model-options="{updateOn: 'blur'}" required ng-maxlength="128"> <div ng-messages="itxPhysicalCardCtrl.giftCardForm.name.$error"> <div ng-message="required">Enter your name</div> <div ng-message="max-length">The name is too long</div> </div> </md-input-container> </md-content> <md-content layout-margin flex id="his-data"> <h3 class="nueva-tarjeta-subencabezado">Recipient information</h3> <div id="his-data-fields"> <md-input-container class="md-block gift-card-field"> <label for="name">Their Name</label> <input type="text" name="receiverName" id="receiverName" ng-class="giftCardForm.$submitted ? 'ng-dirty' : ''" ng-model="itxPhysicalCardCtrl.giftCardRequest.receiverName" ng-model-options="{updateOn: 'blur'}" required ng-maxlength="128"> <div ng-messages="itxPhysicalCardCtrl.giftCardForm.receiverName.$error"> <div ng-message="required">Please enter the recipient's name</div> <div ng-message="max-length"></div> </div> </md-input-container> <itx-phone-field field-name="'phone'" model="itxPhysicalCardCtrl.giftCardRequest.receiverPhone" field="itxPhysicalCardCtrl.giftCardForm.phone" pattern="itxPhysicalCardCtrl.gConstants.validations.phone[$root.inditex.iCountryCode]" text-label="'Their telephone number'"> </itx-phone-field> </div> </md-content> </div> <div layout="column" layout-align="center center"> <div class="tarjeta-nueva-info" ng-click="itxPhysicalCardCtrl.showPrompt($event)"> <a class="custom-message_backup">Add a personalised message</a> </div> <div id="accept-terms-check"> <md-input-container class="no-margin"> <md-checkbox name="aceptar" ng-model="itxPhysicalCardCtrl.policyAceptance" required> <span ng-if="$root.rgpdTextEnabled"> <span> * I have read and accept the </span> <a class="link-2" id="gift-card-policy" ng-click="itxPhysicalCardCtrl.openPolicy($event)">Terms and conditions</a> <span> and understand the information on the use of my personal data explained in the </span> <a class="link-2" id="gift-card-privacy" ng-click="itxPhysicalCardCtrl.openPrivacyInfo()">Privacy policy.</a> <span ng-if="['eu'].indexOf($root.inditex.iLocale.split('_')[0]) !== -1">  </span> </span> <span ng-if="!$root.rgpdTextEnabled"> * I accept the <a class="link-2" id="gift-card-policy" ng-click="itxPhysicalCardCtrl.openPolicy($event)">Terms and conditions.</a> </span> <div ng-show="itxPhysicalCardCtrl.giftCardForm.$submitted" ng-messages="itxPhysicalCardCtrl.giftCardForm.aceptar.$error"> <div ng-message="required">You must accept the terms and conditions</div> </div> </md-checkbox> </md-input-container> </div> </div> </form> <div class="physical-card-component-gift-card-form" layout="row" layout-align="center"> <itx-button ng-click="itxPhysicalCardCtrl.addToCart()" enable-progress="itxPhysicalCardCtrl.adding"> ADD TO BASKET </itx-button> </div> <div class="physical-card-rgpd-spot" ng-if="$root.rgpdTextEnabled && itxPhysicalCardCtrl.policyAceptance && !$root.isMobile"> <itx-spot type="RGPD_Giftcard_7"></itx-spot> </div> </div> </md-content> </div></script><script id="virtual-card.tpl" type="text/ng-template"><div id="tarjeta"> <md-content class="virtual-card-component" layout-padding> <div class="container-fluid"> <div layout="column" layout-align="center center"> <itx-spot type="GiftCard_Virtual"></itx-spot> </div> <form class="virtual-card-component-form" name="itxVirtualCardCtrl.giftCardForm" method="post" novalidate> <div layout-gt-xs="row" layout-xs="column"> <md-content layout-padding flex-gt-xs="50"> <h3 class="nueva-tarjeta-subencabezado">Your details</h3> <div class="form-field-validation form-field-helper clearfix"> <label for="cardAmount">Value of the card</label> <div id="sliderAmount" class="input-container"> <rzslider data-rz-slider-model="itxVirtualCardCtrl.inputPrice" data-rz-slider-options="itxVirtualCardCtrl.giftCardOptions.options"></rzslider> </div> </div> <md-input-container> <label for="name">Your Name</label> <input type="text" name="name" id="name" ng-model="itxVirtualCardCtrl.giftCardRequest.senderName" ng-model-options="{updateOn: 'blur'}" ng-maxlength="128" required> <div ng-messages="itxVirtualCardCtrl.giftCardForm.name.$error"> <div ng-message="required">Enter your name</div> <div ng-message="maxlength">The name is too long</div> </div> </md-input-container> <md-input-container> <div> <label for="dateHour">Delivery date and time</label> <div class="input-container"> <input type="text" name="dateHour" id="dateHour" ng-model="itxVirtualCardCtrl.datetime" ng-model-options="{updateOn: 'blur'}" required ng-pattern="/^(\d{4})\/(\d{2})\/(\d{2})\s(\d{2}):(\d{2})$/" ng-click="itxVirtualCardCtrl.initDatePicker()" future-date> <span class="mark"></span> </div> <div ng-messages="itxVirtualCardCtrl.giftCardForm.dateHour.$error"> <div ng-message="required">Select delivery date and time</div> </div> </div> <div class="tarjeta-nueva-info"> <p>To be sent on this date, for a birthday for example</p> </div> </md-input-container> </md-content> <md-content layout-padding flex-gt-xs="50"> <h3 class="nueva-tarjeta-subencabezado">Recipient information</h3> <md-input-container> <label for="receiverName">Their Name</label> <input type="text" name="receiverName" id="receiverName" ng-class="itxVirtualCardCtrl.giftCardForm.$submitted ? 'ng-dirty' : ''" ng-model="itxVirtualCardCtrl.giftCardRequest.receiverName" ng-model-options="{updateOn: 'blur'}" ng-maxlength="128" required> <div ng-messages="itxVirtualCardCtrl.giftCardForm.receiverName.$error"> <div ng-message="required">Please enter the recipient's name</div> <div ng-message="maxlength">The name is too long</div> </div> </md-input-container> <md-input-container> <label for="receiverEmail">Their Email</label> <input type="email" name="receiverEmail" id="receiverEmail" ng-class="itxVirtualCardCtrl.giftCardForm.$submitted ? 'ng-dirty' : ''" ng-model="itxVirtualCardCtrl.giftCardRequest.receiverEmail" ng-pattern="itxVirtualCardCtrl.gConstants.validations.email" ng-model-options="{updateOn: 'blur'}" required> <div ng-messages="itxVirtualCardCtrl.giftCardForm.receiverEmail.$error"> <div ng-message="required">Please enter the recipient's e-mail address</div> </div> </md-input-container> <md-input-container> <label for="receiverEmailConfirm">Re-enter email address</label> <input type="email" name="receiverEmailConfirm" id="receiverEmailConfirm" ng-class="itxVirtualCardCtrl.giftCardForm.$submitted ? 'ng-dirty' : ''" ng-model="itxVirtualCardCtrl.receiverEmailConfirm" nx-match="itxVirtualCardCtrl.giftCardRequest.receiverEmail" ng-model-options="{updateOn: 'blur'}" required> <div ng-messages="itxVirtualCardCtrl.giftCardForm.receiverEmail.$error"> <div ng-message="required">You need to enter a valid email, identical to the previous one</div> </div> </md-input-container> <itx-phone-field id="his-phone" data-field-name="'receiverPhone'" data-model="itxVirtualCardCtrl.giftCardRequest.receiverPhone" data-field="itxVirtualCardCtrl.giftCardForm.receiverPhone" data-pattern="itxVirtualCardCtrl.gConstants.validations.phone[$root.inditex.iCountryCode]" data-text-label="'Their telephone number'"> </itx-phone-field> </md-content> </div> <div class="tarjeta-nueva-info" layout="column" layout-align="center center"> <a class="custom-message_backup" ng-click="itxVirtualCardCtrl.showPrompt($event)">Add a personalised message</a> <div id="accept-terms-check" layout="row" layout-align="center center"> <md-input-container> <md-checkbox name="aceptar" ng-model="itxVirtualCardCtrl.policyAceptance" required> <span ng-if="$root.rgpdTextEnabled"> <span> * I have read and accept the </span> <a class="link-2" id="gift-card-policy" ng-click="itxVirtualCardCtrl.openPolicy($event)">Terms and conditions</a> <span> and understand the information on the use of my personal data explained in the </span> <a class="link-2" id="gift-card-privacy" ng-click="itxVirtualCardCtrl.openPrivacyInfo()">Privacy policy.</a> <span ng-if="['eu'].indexOf($root.inditex.iLocale.split('_')[0]) !== -1">  </span> </span> <span ng-if="!$root.rgpdTextEnabled"> I accept the <a class="link-2" id="gift-card-policy" ng-click="itxVirtualCardCtrl.openPolicy($event)">Terms and conditions.</a> </span> <div ng-show="itxVirtualCardCtrl.giftCardForm.$submitted" ng-messages="itxVirtualCardCtrl.giftCardForm.aceptar.$error"> <div ng-message="required">You must accept the terms and conditions</div> </div> </md-checkbox> </md-input-container> </div> </div> </form> <div layout="row" layout-align="center center"> <itx-button ng-click="itxVirtualCardCtrl.addToCart()" enable-progress="itxVirtualCardCtrl.adding"> ADD TO BASKET </itx-button> </div> <div class="physical-card-rgpd-spot" ng-if="$root.rgpdTextEnabled && itxVirtualCardCtrl.policyAceptance && !$root.isMobile"> <itx-spot type="RGPD_Giftcard_7"></itx-spot> </div> </div> </md-content> </div></script><script id="newsletter.tpl" type="text/ng-template"><md-content class="newsletter-component" layout-margin> <div class="container-fluid"> <div class="newsletter-component-layout row"> <!--Alta newsletter--> <div class="newsletter-component-alta col-md-12" ng-if="itxNewsletterCtrl.showSubscribe"> <div class="row"> <div class="col-md-12"> <div class="newsletter-main-message"> <div class="newsletter-titulo">WOULD YOU LIKE TO KEEP UP WITH THE LATEST NEWS AND TRENDS?</div> <itx-spot type="Imagen_Newsletter"></itx-spot> </div> </div> </div> <div class="row"> <div class="col-md-12"> <div class="newsletter-suscription-block"> <p class="newsletter-subtitulo">Subscribe to our newsletter to receive information about all the latest news, trends, offers and promotions for your home.</p> </div> </div> </div> <div class="row newsletter-suscription-form"> <div class="col-md-4 col-md-push-4"> <ng-form id="subscribeForm" name="itxNewsletterCtrl.subscribeForm" method="post" novalidate> <md-input-container flex-gt-xs="80"> <label for="subscribeForm_email_footer">E-mail</label> <input type="text" name="email" id="subscribeForm_email_footer" ng-model="itxNewsletterCtrl.subscribeData.email" ng-model-options="{ updateOn: 'blur' }" ng-focus="itxNewsletterCtrl.subscribeForm.focusFlag = true" ng-pattern="itxNewsletterCtrl.validationPatterns.email" required> <div ng-messages="itxNewsletterCtrl.subscribeForm.email.$error"> <div ng-message="required">Please enter a valid email address</div> <div ng-message="pattern">Please enter a valid email address</div> </div> </md-input-container> <div ng-if="$root.showPhoneNewsletter" flex-gt-xs="80" class="newsletter-form-phone"> <itx-phone-field pattern="itxNewsletterCtrl.validations.phone1" model="itxNewsletterCtrl.subscribeData.phone" field-name="'phone'" field="itxNewsletterCtrl.subscribeForm.phone" field-required="false"> </itx-phone-field> </div> <md-input-container ng-if="$root.inditex.iCountryCode !== 'KR'"> <md-checkbox id="newsletter-check-footer" name="privacyPolicyAccepted" ng-model="itxNewsletterCtrl.subscribeData.privacyPolicyAccepted" aria-label="I have read and accept the Privacy Policy" required> <div ng-if="$root.rgpdTextEnabled"> <span> I have been able to read and understand the information on the use of my personal data explained in the </span> <a class="link-2 privacy" ng-if="['DE', 'GB'].indexOf($root.inditex.iCountryCode) === -1" ng-click="$event.stopPropagation(); itxNewsletterCtrl.trackLegal()"> Privacy policy </a> <span> and agree to receive customised commercial communications from ZARA HOME via email and other means </span> </div> <div ng-if="!$root.rgpdTextEnabled"> <span ng-if="!$root.noDobleOptInActive"> <div ng-if="$root.inditex.iLangId !== -10"> I have read and accept the <a ng-click="$event.stopPropagation(); itxNewsletterCtrl.trackLegal()" class="link-2 privacy">Privacy policy</a> </div> <!-- INI JAPONES --> <span ng-if="$root.inditex.iLangId === -10"> <a class="ays-check-politica link-2 privacy" ng-click="$event.stopPropagation(); itxNewsletterCtrl.trackLegal()"> Privacy policy. </a> I have read and accept the </span> <!-- FIN JAPONES --> </span> <span ng-if="$root.noDobleOptInActive"> <span ng-if="['JP', 'TR', 'RU'].indexOf($root.inditex.iCountryCode) === -1"> I have read and accept the <a ng-click="$event.stopPropagation(); itxNewsletterCtrl.trackLegal()" class="link-2 privacy"> Privacy Policy </a> and would like to receive news, notifications and offers from Zara Home. </span> <span ng-if="['JP', 'TR'].indexOf($root.inditex.iCountryCode) !== -1"> <a ng-click="$event.stopPropagation(); itxNewsletterCtrl.trackLegal()" class="link-2 privacy"> Privacy Policy </a> I have read and accept the </span> <span ng-if="$root.inditex.iCountryCode === 'RU'"> Subscribe to our newsletter to receive information about all the latest news, trends, offers and promotions for your home. </span> </span> </div> <div ng-messages="itxNewsletterCtrl.subscribeForm.privacyPolicyAccepted.$error" ng-show="itxNewsletterCtrl.subscribeForm.$submitted"> <div ng-message="required">You must accept the privacy policy in order to subscribe.</div> </div> </md-checkbox> </md-input-container> <!--INI CONSENTIMIENTOS COREA --> <div class="checks-agreement-kr" ng-if="$root.inditex.iCountryCode === 'KR'"> <md-input-container> <md-checkbox ng-model="itxNewsletterCtrl.subscribeData.checkAll" ng-change="itxNewsletterCtrl.checkAllChanged()"> <span>Check All</span> </md-checkbox> </md-input-container> <md-input-container> <md-checkbox id="checkConsentNewsletter" name="checkConsentNewsletter" ng-model="itxNewsletterCtrl.subscribeData.consentNewsletter" ng-change="itxNewsletterCtrl.checkKrConsents()" required> <span>Consent to the Collection and Use of the Personal Information for the subscription to the Newsletter.</span> <a class="link-2 privacy" ng-click="$event.stopPropagation(); itxNewsletterCtrl.readMoreKorea('newsletter')">Read more.</a> <div ng-messages="itxNewsletterCtrl.subscribeForm.checkConsentNewsletter.$error" ng-show="itxNewsletterCtrl.subscribeForm.$submitted"> <div ng-message="required">You must accept the privacy policy</div> </div> </md-checkbox> </md-input-container> <md-input-container> <md-checkbox id="checkTransferInfo" name="checkTransferInfo" ng-model="itxNewsletterCtrl.subscribeData.consentTransferInfo" ng-change="itxNewsletterCtrl.checkKrConsents()" required> <span>* Consent to Overseas Transfer of Personal Information.</span> <a class="link-2 privacy" ng-click="$event.stopPropagation(); itxNewsletterCtrl.readMoreKorea('overseas')">Read more.</a> <div ng-messages="itxNewsletterCtrl.subscribeForm.checkTransferInfo.$error" ng-show="itxNewsletterCtrl.subscribeForm.$submitted"> <div ng-message="required">You must accept the privacy policy</div> </div> </md-checkbox> </md-input-container> </div> <!-- FIN KR --> <div layout="row"> <itx-button ng-click="itxNewsletterCtrl.subscribeFromPage()" button-type="'submit'"> SUBSCRIBE ME </itx-button> </div> <div class="rgpd-newsletter-subscription" ng-if="$root.rgpdTextEnabled && itxNewsletterCtrl.subscribeData.privacyPolicyAccepted && !$root.isMobile"> <itx-spot type="RGPD_Newsletter_Subscription_1a"></itx-spot> </div> </ng-form> </div> </div> <div class="row newsletter-link-button"> <div class="col-md-12"> <p class="link-2" ng-click="itxNewsletterCtrl.toggleSubscribe()">No, thank you. I want to unsubscribe ></p> </div> </div> </div> <!--Baja newsletter--> <div class="newsletter-component-baja col-md-12" ng-if="!itxNewsletterCtrl.showSubscribe"> <div class="row"> <div class="col-md-12"> <div class="newsletter-main-message"> <div class="newsletter-titulo">Would you like to unsubscribe?</div> <itx-spot type="Imagen_Newsletter"></itx-spot> </div> </div> </div> <div class="row"> <div class="col-md-12"> <div class="newsletter-suscription-block"> <p class="newsletter-subtitulo">If you want to stop receiving the latest news and special offers, enter your email address.</p> <p class="newsletter-subtitulo">You can always resubscribe at any time.</p> <p class="newsletter-subtitulo">We will miss you!</p> </div> </div> </div> <div class="row newsletter-suscription-form"> <div class="col-md-4 col-md-push-4"> <ng-form name="itxNewsletterCtrl.unsubscribeForm" id="unsubscribeForm" method="post" novalidate> <md-input-container flex-gt-xs="80" class="no-margin-bottom"> <label for="unsubscribeForm_email">E-mail</label> <input type="text" name="email" id="unsubscribeForm_email" ng-model="itxNewsletterCtrl.unsubscribeData.email" ng-focus="itxNewsletterCtrl.subscribeForm.focusFlag = true" ng-pattern="itxNewsletterCtrl.validationPatterns.email" required> <div ng-messages="itxNewsletterCtrl.unsubscribeForm.email.$error"> <div ng-message="required">Please enter a valid email address</div> <div ng-message="pattern">Please enter a valid email address</div> </div> </md-input-container> <itx-button ng-click="itxNewsletterCtrl.unsubscribeFromPage()" button-type="'submit'"> UNSUBSCRIBE </itx-button> </ng-form> </div> </div> <div class="row newsletter-link-button"> <div class="col-md-12"> <p class="link-2" ng-click="itxNewsletterCtrl.toggleSubscribe()">< I’ve thought better about it. I would like to subscribe</p> </div> </div> </div> </div> </div> </md-content></script><script id="reset-password.tpl" type="text/ng-template"><div class="reset-password" layout="row" layout-align="center center"> <div class="text-center" flex-gt-xs="50"> <form name="itxResetPasswordCtrl.resettingPasswordForm" method="post"> <h2>CHANGE YOUR PASSWORD</h2> <p>Please enter a new password that is easy to remember.</p> <md-input-container> <label for="resettingPasswordForm_newPassword">Password</label> <input type="{{itxResetPasswordCtrl.passwordInputType }}" ng-model="itxResetPasswordCtrl.resetPasswordData.newPassword" name="newPassword" itx-password-strength required> <a ng-class="{ 'icon-password-hidden' : itxResetPasswordCtrl.passwordInputType === 'password', 'icon-password-visible' : itxResetPasswordCtrl.passwordInputType === 'text' }" ng-click="itxResetPasswordCtrl.togglePassword('new')"> </a> <div ng-messages="itxResetPasswordCtrl.resettingPasswordForm.newPassword.$error"> <div ng-message="required"> The password is not valid. </div> </div> </md-input-container> <md-input-container> <label for="resettingPasswordForm_newPasswordConfirm">Re-enter password</label> <input type="{{ itxResetPasswordCtrl.repeatPasswordInputType }}" ng-model="itxResetPasswordCtrl.resetPasswordData.newPasswordConfirm" ng-model-options="{updateOn: 'blur'}" name="newPasswordConfirm" itx-match-field-value="{{itxResetPasswordCtrl.resetPasswordData.newPassword}}" required> <a ng-class="{ 'icon-password-hidden' : itxResetPasswordCtrl.repeatPasswordInputType === 'password', 'icon-password-visible' : itxResetPasswordCtrl.repeatPasswordInputType === 'text' }" ng-click="itxResetPasswordCtrl.togglePassword('repeat')"> </a> <div ng-messages="itxResetPasswordCtrl.resettingPasswordForm.newPasswordConfirm.$error"> <div ng-message="required"> The password is not valid. </div> <div ng-message="validPassword"> The password is not valid. The password is not valid. It has too many identical characters. </div> <div ng-message="itxMatchFieldValue"> You must enter a password identical to the previous one. </div> </div> </md-input-container> <div layout="row" layout-align-gt-xs="center center"> <itx-button ng-click="(itxResetPasswordCtrl.resettingPasswordForm.$valid) ? itxResetPasswordCtrl.resetPassword() : itxResetPasswordCtrl.trackResetErrors()"> SAVE AND CONTINUE </itx-button> </div> </form> </div> </div></script><script type="text/ng-template" id="next-queries.tpl"><div class="next-queries-results"> <div class="close-next-queries"> <a ng-click="itxNextQueriesCtrl.closeNextQueries()"> <span class="icon icon-close"></span> </a> </div> <div class="next-queries-title"> <span>Other users who have viewed "{{ itxNextQueriesCtrl.searchedTerm }}" have also searched for:</span> </div> <div class="next-queries-results-container"> <a ng-repeat="nextQuery in itxNextQueriesCtrl.queries | limitTo: 10" ng-click="itxNextQueriesCtrl.querySelected(nextQuery.query)"> <span ng-bind-html="nextQuery.query"></span> </a> </div> </div></script><script type="text/ng-template" id="search-filters.tpl"><div class="filters-container" ng-class="{ 'top-clicked': itxSearchFiltersCtrl.topClicked }"> <div class="results" ng-if="!itxSearchFiltersCtrl.colbensonActive"> <p>{{itxSearchFiltersCtrl.results}} Items</p> </div> <div class="filters" ng-if="itxSearchFiltersCtrl.colbensonActive && !itxSearchFiltersCtrl.topClicked && $root.activeMobileMenu"> <ul> <li ng-class="{'on': itxSearchFiltersCtrl.seeAll}" ng-if="itxSearchFiltersCtrl.results > 0"> <a ng-click="itxSearchFiltersCtrl.changeFilter()">Display all ({{itxSearchFiltersCtrl.results}}) </a> </li> <li data-ng-repeat="filter in itxSearchFiltersCtrl.filters" ng-if="::!itxSearchFiltersCtrl.isNoColbensonCategory(filter)" ng-class="{'on': itxSearchFiltersCtrl.currentfilter.identifier == filter.identifier}"> <a ng-click="itxSearchFiltersCtrl.changeFilter(filter)">{{filter.value}} <span ng-if="filter.identifier.indexOf('_K_') > -1">KIDS</span> ({{filter.count}}) </a> </li> </ul> </div> <div class="actions" ng-class="{'col-xs-2': $root.activeMobileMenu}"> <span>DISPLAY</span> <a ng-click="itxSearchFiltersCtrl.changeGrid('grid2')" ng-class="{'on': itxSearchFiltersCtrl.gridTemplate == 'grid2'}">2</a> <a ng-click="itxSearchFiltersCtrl.changeGrid('grid4')" ng-class="{'on': itxSearchFiltersCtrl.gridTemplate == 'grid4'}">4</a> </div> </div> <div class="filters-tree" ng-if="itxSearchFiltersCtrl.colbensonActive && !itxSearchFiltersCtrl.topClicked && !$root.activeMobileMenu"> <ul> <li ng-class="{'on': itxSearchFiltersCtrl.seeAll}" ng-if="itxSearchFiltersCtrl.results > 0"> <a ng-click="itxSearchFiltersCtrl.changeFilter()">Display all ({{itxSearchFiltersCtrl.results}}) </a> </li> <li data-ng-repeat="filter in itxSearchFiltersCtrl.filters track by $index" ng-if="::!itxSearchFiltersCtrl.isNoColbensonCategory(filter)" ng-class="{'on': itxSearchFiltersCtrl.selectedFilters[0].id === filter.id}"> <a ng-click="itxSearchFiltersCtrl.changeFilter(filter, 0)">{{filter.value}} <span ng-if="filter.identifier.indexOf('_K_') > -1">KIDS</span> ({{filter.count}}) </a> <div ng-if="itxSearchFiltersCtrl.selectedFilters[0].id === filter.id" ng-repeat="level1Filter in filter.subfacets" class="subcategory-filter" ng-class="{'on': itxSearchFiltersCtrl.selectedFilters[1].id === level1Filter.id}"> <a ng-click="itxSearchFiltersCtrl.changeFilter(level1Filter, 1)"> {{level1Filter.value}} ({{level1Filter.count}}) <div ng-if="itxSearchFiltersCtrl.selectedFilters[1].id === level1Filter.id" ng-repeat="level2Filter in level1Filter.subfacets" class="level2" ng-class="{'on': itxSearchFiltersCtrl.selectedFilters[2].id === level2Filter.id}"> <a ng-click="itxSearchFiltersCtrl.changeFilter(level2Filter, 2)"> {{level2Filter.value}} ({{level2Filter.count}}) <div ng-if="itxSearchFiltersCtrl.selectedFilters[3].id === level3Filter.id" ng-repeat="level3ilter in level2Filter.subfacets" class="level3" ng-class="{'on': itxSearchFiltersCtrl.selectedFilters[3].id === level3Filter.id}"> <a ng-click="itxSearchFiltersCtrl.changeFilter(level4Filter, 3)"> {{level3ilter.value}} ({{level3ilter.count}}) </a> <div> </a> <div> </a> <div> </li> </ul> </div></script><script type="text/ng-template" id="search.tpl"><div class="container-fluid search-component"> <md-progress-linear class="search-progress-line-bar" md-mode="indeterminate" ng-show="itxSearchCtrl.loading && !$root.requestLoading"></md-progress-linear> <div class="row buscador-row"> <div class="msg-no-resultados fromTopClicked" ng-if="itxSearchCtrl.fromTopClicked && itxSearchCtrl.filteredProducts && itxSearchCtrl.filteredProducts.length"> <span>No results found for the term "{{ itxSearchCtrl.searchTerm }}". Other users have searched for:</span> </div> <itx-search-filters ng-if="itxSearchCtrl.searchFinished && itxSearchCtrl.totalResults" results="itxSearchCtrl.totalResults" grid-template="itxSearchCtrl.gridTemplate" filters="itxSearchCtrl.filters" top-clicked="itxSearchCtrl.fromTopClicked" on-filter-change="itxSearchCtrl.filterSearch(filter)" on-grid-change="itxSearchCtrl.changeGrid(grid)"> </itx-search-filters> <div id="colbenson-banner-container" ng-if="itxSearchCtrl.links.banner && itxSearchCtrl.links.banner.length > 0"> <itx-colbenson-promoted-banner banner-data="itxSearchCtrl.searchProducts.links.banner"> </itx-colbenson-promoted-banner> </div> <div class="resultados-buscador" ng-class="{'left': !$root.activeMobileMenu && $root.searchMenuVisible}" ng-if="itxSearchCtrl.filteredProducts.length > 0" > <section id="product-grid" class="{{itxSearchCtrl.gridTemplate}}" infinite-scroll="itxSearchCtrl.loadMore()" infinite-scroll-disabled="itxSearchCtrl.loading" infinite-scroll-parent="true" infinite-scroll-immediate-check="false" infinite-scroll-distance="2" ng-show="::itxSearchCtrl.productIsLoaded"> <article class="product-item" ng-class="{'double' : product.isDouble}" ng-repeat="product in itxSearchCtrl.filteredProducts" > <itx-product-item product="::product" product-index="$index" is-double="product.isDouble" grid-cols="itxSearchCtrl.gridTemplate" on-item-viewed="itxSearchCtrl.addItemViewed()" on-image-loaded="itxSearchCtrl.productLoaded()"> </itx-product-item> </article> </section> </div> <p class="suggestions-noResults" ng-if="itxSearchCtrl.suggestedSearch.length > 0 && itxSearchCtrl.filteredProducts.length < 1 && itxSearchCtrl.searchDone == true && !itxSearchCtrl.loading">No results were found for this search "{{itxSearchCtrl.searchTerm}}". You may be interested in this: </p> <div class="sugerencias-buscador" ng-class="{'left': !$root.activeMobileMenu && $root.searchMenuVisible}" ng-repeat="search in itxSearchCtrl.suggestedSearch" ng-if="itxSearchCtrl.suggestedSearch"> <header> <a ng-click="itxSearchCtrl.sendSuggestedSearch(search.suggestion)"> <span ng-bind="search.suggestion + ' ('+ search.numFound +')'"></span> <span>See more</span> </a> </header> <section class="{{itxSearchCtrl.gridTemplate}}"> <article class="product-item" ng-repeat="product in search.filteredProds | limitTo:itxSearchCtrl.itemsPerRow track by $index"> <itx-product-item product="::product" product-index="$index" grid-cols="itxSearchCtrl.gridTemplate"> </itx-product-item> </article> </section> </div> <div class="msg-no-resultados emptySearch" ng-if="itxSearchCtrl.filteredProducts.length == 0 && itxSearchCtrl.suggestedSearch.length < 1 && itxSearchCtrl.searchDone == true && !itxSearchCtrl.loading"> <itx-spot type="Search_Empty"></itx-spot> </div> </div> </div> <itx-next-queries ng-show="itxSearchCtrl.showNextQueries" class="next-queries" ng-class="{ 'next-queries-on' : itxSearchCtrl.showNextQueries }" queries="itxSearchCtrl.nextQueries" searched-term="itxSearchCtrl.searchTerm" on-query-selected="itxSearchCtrl.nextQuerySelected(query)" on-close-next-queries="itxSearchCtrl.closeNextQueries()"> </itx-next-queries></script><script id="session-expired.tpl" type="text/ng-template"><itx-spot type="UserTimeout"></itx-spot></script><script id="shopcart-relateds.tpl" type="text/ng-template"><div class="shopcart-relateds"> <div ng-repeat="related in itxShopcartRelatedsCtrl.relateds track by $index" class="shopcart-related-item row"> <itx-shopcart-item product="related" on-add-to-cart="itxShopcartRelatedsCtrl.addToCart(product)" related-index="$index"> </itx-shopcart-item> </div> </div></script><script id="shopcart.tpl" type="text/ng-template"><div class="shopcart-component"> <itx-loader class="shopcart-loader" show="itxShopcartCtrl.ongoingPetition"></itx-loader> <div class="shopcart-component-header" ng-class="{ empty: itxShopcartCtrl.cart.items.length === 0 }"> <h2> Your basket </h2> <p ng-if="itxShopcartCtrl.virtualCardProblem" class="msg-warning"> Virtual gift cards cannot be bought in the same order with other items. </p> </div> <itx-spot type="Cesta_Header" ng-if="itxShopcartCtrl.cestaHeaderSpot"></itx-spot> <!-- FIN HEADER SHOPCART --> <div class="shopcart-component-body"> <div ng-if="itxShopcartCtrl.cart.items.length === 0" class="cart-no-content" ng-cloak> <itx-spot type="ShopCart_Empty"></itx-spot> </div> <div ng-if="itxShopcartCtrl.cart.items.length > 0" class="cart-content" ng-cloak> <p ng-if="itxShopcartCtrl.cart.items.length >= itxShopcartCtrl.maxProductsShopcart" ng-bind-html="itxShopcartCtrl.maxProductsShopcartMessage"> </p> <div class="shopcart-items col-xs-12 col-md-9"> <article class="shopcart-article row" id="p{{shopCartItem.sku}}" ng-repeat="shopCartItem in itxShopcartCtrl.cart.items | filter: { reference: '!XGIFTSKU' }"> <!-- PHOTO --> <div class="sc-photo hidden-xs"> <a ng-mousedown="itxShopcartCtrl.ItxProductFactory.selectProduct(shopCartItem, $event, $index)"> <itx-product-photo product="shopCartItem" stylism="itxShopcartCtrl.storeStyle"> </itx-product-photo> </a> </div> <div class="sc-item-description"> <div class="sc-item--title-bar"> <h2 class="product-name"><a ng-mousedown="itxShopcartCtrl.ItxProductFactory.selectProduct(shopCartItem, $event, $index)">{{::shopCartItem.name}}</a></h2> <div class="sc-edit-block"> <itx-add-product-wishlist class="sc-edit-block-btn add-list-desktop" ng-if="::($root.inditex.iUserJSON.userType !== 'G' && $root.inditex.iStoreJSON.details.wishListActivated == '1' && ['Physical Card', 'Virtual Card'].indexOf(shopCartItem.productType) === -1 && !shopCartItem.isBoxItem)" product="::itxShopcartCtrl.product" product-sizes="itxShopcartCtrl.productSizes" icon-enabled="shopCartItem.wishlistIconEnabled" on-update-wishlist="itxShopcartCtrl.updateWishlist(shopCartItem)"> </itx-add-product-wishlist> <span class="sc-edit-block-btn sc-remove"> <a ng-click="itxShopcartCtrl.updateSkuQuantity(shopCartItem.id, 0, 'eliminado')" title="Delete product from trolley"> <span class="icon icon-close"></span></a> </span> </div> </div> <div class="sc-item--description"> <div class="sc-item-props"> <a class="sc-photo-mobile visible-xs" ng-mousedown="itxShopcartCtrl.ItxProductFactory.selectProduct(shopCartItem, $event, $index)"> <itx-product-photo product="shopCartItem" stylism="itxShopcartCtrl.storeStyle"> </itx-product-photo> </a> <div> <span class="reference">ref. {{::(shopCartItem.reference.substr(0,shopCartItem.reference.indexOf('-'))) }}</span> <div class="props"> <span ng-bind-html="::shopCartItem.sizeToShow"></span> </div> <div class="precio-container visible-xs"> <span class="units" ng-bind-html="shopCartItem.quantity+'x'"></span> <span class="precio" ng-if="!shopCartItem.hasPriceRange" ng-bind-html="itxShopcartCtrl.ItxHelper.formatPrice(shopCartItem.unitPrice)"></span> <span class="rebajado" ng-if="shopCartItem.hasPriceRange" ng-bind-html="itxShopcartCtrl.ItxHelper.formatPrice(shopCartItem.unitPrice)"></span> <span class="tachado" ng-if="shopCartItem.hasPriceRange" ng-bind-html="itxShopcartCtrl.ItxHelper.formatPrice(shopCartItem.unitComparePrice)"></span> </div> <div ng-if="shopCartItem.availability !== 'in_stock'" class="no-stock"> <span ng-if="shopCartItem.unitsAvailable > 0"> Remaining {{::(shopCartItem.unitsAvailable)}} items </span> <span ng-if="shopCartItem.unitsAvailable === 0"> Item out of stock </span> </div> </div> </div> <div class="sc-item-price-quantity"> <div class="precio-container hidden-xs"> <span class="precio" ng-if="!shopCartItem.hasPriceRange" ng-bind-html="itxShopcartCtrl.ItxHelper.formatPrice(shopCartItem.unitPrice)"></span> <span class="rebajado" ng-if="shopCartItem.hasPriceRange" ng-bind-html="itxShopcartCtrl.ItxHelper.formatPrice(shopCartItem.unitPrice)"></span> <span class="tachado" ng-if="shopCartItem.hasPriceRange" ng-bind-html="itxShopcartCtrl.ItxHelper.formatPrice(shopCartItem.unitComparePrice)"></span> </div> <div class="cantidad"> <div class="quantity-container" ng-if="['Physical Card', 'Virtual Card'].indexOf(shopCartItem.productType) === -1 && !shopCartItem.isBoxItem"> <label class="label-quantity">QUANTITY</label> <ul class="edit-item"> <li> <itx-input-number ng-model="shopCartItem.quantityCopy" ng-change="itxShopcartCtrl.updateSkuQuantity(shopCartItem.id, shopCartItem.quantityCopy)"> </itx-input-number> </li> </ul> </div> </div> <div> <span class="total" ng-if="shopCartItem.quantity >= 1" ng-bind-html='itxShopcartCtrl.ItxHelper.formatPrice(shopCartItem.unitPrice * shopCartItem.quantity)'></span> </div> </div> </div> </div> <!-- GIFT CARD --> <div class="col-sm-1 col-xs-3 cantidad cantidad-mobile virtual-card-qty hidden-xs" ng-if="['Physical Card', 'Virtual Card'].indexOf(shopCartItem.productType) !== -1 && !shopCartItem.isBoxItem"> <span ng-bind-html="shopCartItem.quantity"></span> </div> <!-- GIFT CARD --> </article> <itx-button class="empty-cart" ng-click="itxShopcartCtrl.emptyCart()">EMPTY BASKET </itx-button> </div> <!-- resumen pedido --> <div class="col-xs-12 col-sm-12 col-md-3 shopcart-resumen-pedido"> <itx-order-summary-panel ng-if="itxShopcartCtrl.cart" cart="itxShopcartCtrl.cart" cart-items-size="itxShopcartCtrl.cartItemsSize" gift-packing-by-sku="itxShopcartCtrl.enabledGiftPackingBySku" on-promo-code-update="itxShopcartCtrl.init()"> </itx-order-summary-panel> <div class="row row-resumen-pedido"> <itx-button ng-if="itxShopcartCtrl.cart.items.length > 0" ng-click="itxShopcartCtrl.goToCheckout()" class="itx-button-black" enable-progress="itxShopcartCtrl.ongoingPetition"> Process order </itx-button> </div> </div> <itx-spot type="Cesta_Footer" ng-if="itxShopcartCtrl.cestaFooterSpot"></itx-spot> </div> <!-- RELATED ITEMS --> <div ng-if="itxShopcartCtrl.cartRelatedItems && itxShopcartCtrl.cartRelatedItems.length > 0" class="cart-related-items hidden-xs col-sm-12 col-md-9"> <div class="shopcart-component-header"> <h2>DON’T FORGET</h2> </div> <div class="cart-related-items-list"> <itx-shopcart-relateds relateds="itxShopcartCtrl.cartRelatedItems" on-add-to-cart="itxShopcartCtrl.addRelatedToShopCart(product)"> </itx-shopcart-relateds> </div> </div> </div> </div></script><script id="shop-guide.tpl" type="text/ng-template"><div id="shop-guide-component" class="container-fluid ayuda-faq" ng-if="itxShopGuideCtrl.spotLoaded"> <!-- TITLE --> <itx-spot type="ShopGuide"></itx-spot> <ul> <!-- FAQS --> <li id="shop-guide-1" ng-if="itxShopGuideCtrl.shopGuide1SpotHasContent" ng-click=itxShopGuideCtrl.toggleShopGuideSection($event,itxShopGuideCtrl.cuestionesPosition)> <h3 class="guide-title"> <span class="icon" ng-class="{'icon-plus-thin': !itxShopGuideCtrl.showShopGuides[itxShopGuideCtrl.cuestionesPosition], 'icon-minus-thin': itxShopGuideCtrl.showShopGuides[itxShopGuideCtrl.cuestionesPosition]}"></span> <a>Faqs</a> </h3> <div class="text-justify" ng-class="{'hide': !itxShopGuideCtrl.showShopGuides[itxShopGuideCtrl.cuestionesPosition]}" ng-click="$event.stopPropagation()"> <itx-cms-container ng-if="itxShopGuideCtrl.shopGuideCms" cms-content-name="'ShopGuide_1'" cms-content-loaded="itxShopGuideCtrl.setCmsContents(cmsContentName, cmsContent)"> </itx-cms-container> <itx-spot ng-if="!itxShopGuideCtrl.shopGuideCms" type="ShopGuide_1"></itx-spot> </div> </li> <!-- PROCESO DE COMPRA --> <li id="shop-guide-2" ng-if="itxShopGuideCtrl.shopGuide2SpotHasContent" ng-click=itxShopGuideCtrl.toggleShopGuideSection($event,itxShopGuideCtrl.procesoPosition)> <h3 class="guide-title"> <span class="icon" ng-class="{'icon-plus-thin': !itxShopGuideCtrl.showShopGuides[itxShopGuideCtrl.procesoPosition], 'icon-minus-thin': itxShopGuideCtrl.showShopGuides[itxShopGuideCtrl.procesoPosition]}"></span> <a>Purchasing process</a> </h3> <div class="text-justify" ng-class="{'hide': !itxShopGuideCtrl.showShopGuides[itxShopGuideCtrl.procesoPosition]}" ng-click="$event.stopPropagation()"> <itx-cms-container ng-if="itxShopGuideCtrl.shopGuideCms" cms-content-name="'ShopGuide_2'" cms-content-loaded="itxShopGuideCtrl.setCmsContents(cmsContentName, cmsContent)"> </itx-cms-container> <itx-spot ng-if="!itxShopGuideCtrl.shopGuideCms" type="ShopGuide_2"></itx-spot> </div> </li> <!-- PAGO --> <li id="shop-guide-3" ng-if="itxShopGuideCtrl.shopGuide3SpotHasContent" ng-click=itxShopGuideCtrl.toggleShopGuideSection($event,itxShopGuideCtrl.pagoPosition)> <h3 class="guide-title"> <span class="icon" ng-class="{'icon-plus-thin': !itxShopGuideCtrl.showShopGuides[itxShopGuideCtrl.pagoPosition], 'icon-minus-thin': itxShopGuideCtrl.showShopGuides[itxShopGuideCtrl.pagoPosition]}"></span> <a>Payment</a> </h3> <div class="text-justify" ng-class="{'hide': !itxShopGuideCtrl.showShopGuides[itxShopGuideCtrl.pagoPosition]}" ng-click="$event.stopPropagation()"> <itx-cms-container ng-if="itxShopGuideCtrl.shopGuideCms" cms-content-name="'ShopGuide_3'" cms-content-loaded="itxShopGuideCtrl.setCmsContents(cmsContentName, cmsContent)"> </itx-cms-container> <itx-spot ng-if="!itxShopGuideCtrl.shopGuideCms" type="ShopGuide_3"></itx-spot> </div> </li> <!-- ENVIO --> <li id="shop-guide-4" ng-if="itxShopGuideCtrl.shopGuide4SpotHasContent" ng-click=itxShopGuideCtrl.toggleShopGuideSection($event,itxShopGuideCtrl.envioPosition)> <h3 class="guide-title"> <span class="icon" ng-class="{'icon-plus-thin': !itxShopGuideCtrl.showShopGuides[itxShopGuideCtrl.envioPosition], 'icon-minus-thin': itxShopGuideCtrl.showShopGuides[itxShopGuideCtrl.envioPosition]}"></span> <a>DELIVERY</a> </h3> <div class="text-justify" ng-class="{'hide': !itxShopGuideCtrl.showShopGuides[itxShopGuideCtrl.envioPosition]}" ng-click="$event.stopPropagation()"> <itx-cms-container ng-if="itxShopGuideCtrl.shopGuideCms" cms-content-name="'ShopGuide_4'" cms-content-loaded="itxShopGuideCtrl.setCmsContents(cmsContentName, cmsContent)"> </itx-cms-container> <itx-spot ng-if="!itxShopGuideCtrl.shopGuideCms" type="ShopGuide_4"></itx-spot> </div> </li> <!-- CUESTIONES DEVOLUCIONES --> <li id="shop-guide-5" ng-if="itxShopGuideCtrl.shopGuide5SpotHasContent" ng-click=itxShopGuideCtrl.toggleShopGuideSection($event,itxShopGuideCtrl.devolucionesPosition)> <h3 class="guide-title"> <span class="icon" ng-class="{'icon-plus-thin': !itxShopGuideCtrl.showShopGuides[itxShopGuideCtrl.devolucionesPosition], 'icon-minus-thin': itxShopGuideCtrl.showShopGuides[itxShopGuideCtrl.devolucionesPosition]}"></span> <a>Returns</a> </h3> <div class="text-justify" ng-class="{'hide': !itxShopGuideCtrl.showShopGuides[itxShopGuideCtrl.devolucionesPosition]}" ng-click="$event.stopPropagation()"> <itx-cms-container ng-if="itxShopGuideCtrl.shopGuideCms" cms-content-name="'ShopGuide_5'" cms-content-loaded="itxShopGuideCtrl.setCmsContents(cmsContentName, cmsContent)"> </itx-cms-container> <itx-spot ng-if="!itxShopGuideCtrl.shopGuideCms" type="ShopGuide_5"></itx-spot> </div> </li> <!-- TICKET REGALO --> <li id="shop-guide-6" ng-if="itxShopGuideCtrl.shopGuide6SpotHasContent" ng-click=itxShopGuideCtrl.toggleShopGuideSection($event,itxShopGuideCtrl.giftticketPosition)> <h3 class="guide-title"> <span class="icon" ng-class="{'icon-plus-thin': !itxShopGuideCtrl.showShopGuides[itxShopGuideCtrl.giftticketPosition], 'icon-minus-thin': itxShopGuideCtrl.showShopGuides[itxShopGuideCtrl.giftticketPosition]}"></span> <a>Gift receipt</a> </h3> <div class="text-justify" ng-class="{'hide': !itxShopGuideCtrl.showShopGuides[itxShopGuideCtrl.giftticketPosition]}" ng-click="$event.stopPropagation()"> <itx-cms-container ng-if="itxShopGuideCtrl.shopGuideCms" cms-content-name="'ShopGuide_6'" cms-content-loaded="itxShopGuideCtrl.setCmsContents(cmsContentName, cmsContent)"> </itx-cms-container> <itx-spot ng-if="!itxShopGuideCtrl.shopGuideCms" type="ShopGuide_6"></itx-spot> </div> </li> <!-- DESESTIMIENTO --> <li id="shop-guide-8" ng-if="itxShopGuideCtrl.shopGuide8SpotHasContent" ng-click=itxShopGuideCtrl.toggleShopGuideSection($event,itxShopGuideCtrl.desestimientoPosition)> <h3 class="guide-title"> <span class="icon" ng-class="{'icon-plus-thin': !itxShopGuideCtrl.showShopGuides[itxShopGuideCtrl.desestimientoPosition], 'icon-minus-thin': itxShopGuideCtrl.showShopGuides[itxShopGuideCtrl.desestimientoPosition]}"></span> <a>Withdrawal</a> </h3> <div class="text-justify" ng-class="{'hide': !itxShopGuideCtrl.showShopGuides[itxShopGuideCtrl.desestimientoPosition]}" ng-click="$event.stopPropagation()"> <itx-cms-container ng-if="itxShopGuideCtrl.shopGuideCms" cms-content-name="'ShopGuide_8'" cms-content-loaded="itxShopGuideCtrl.setCmsContents(cmsContentName, cmsContent)"> </itx-cms-container> <itx-spot ng-if="!itxShopGuideCtrl.shopGuideCms" type="ShopGuide_8"></itx-spot> </div> </li> <!-- TECNOLOGIA --> <li id="shop-guide-7" ng-if="itxShopGuideCtrl.shopGuide7SpotHasContent" ng-click=itxShopGuideCtrl.toggleShopGuideSection($event,itxShopGuideCtrl.tecnologiaPosition)> <h3 class="guide-title"> <span class="icon" ng-class="{'icon-plus-thin': !itxShopGuideCtrl.showShopGuides[itxShopGuideCtrl.tecnologiaPosition], 'icon-minus-thin': itxShopGuideCtrl.showShopGuides[itxShopGuideCtrl.tecnologiaPosition]}"></span> <a>Technology</a> </h3> <div class="text-justify" ng-class="{'hide': !itxShopGuideCtrl.showShopGuides[itxShopGuideCtrl.tecnologiaPosition]}" ng-click="$event.stopPropagation()"> <itx-cms-container ng-if="itxShopGuideCtrl.shopGuideCms" cms-content-name="'ShopGuide_7'" cms-content-loaded="itxShopGuideCtrl.setCmsContents(cmsContentName, cmsContent)"> </itx-cms-container> <itx-spot ng-if="!itxShopGuideCtrl.shopGuideCms" type="ShopGuide_7"></itx-spot> </div> </li> </ul> </div></script><script id="city-stores.tpl" type="text/ng-template"><div class="google-store-locator-component"> <itx-google-map-selector ng-if="itxCityStoresCtrl.cityStores && itxCityStoresCtrl.cityStores.length" show-city-stores="true" type="'store'" city-stores="itxCityStoresCtrl.cityStores"> </itx-google-map-selector> </div></script><script id="physical-store.tpl" type="text/ng-template"><div class="google-store-locator-component"> <itx-google-map-selector ng-if="itxPhysicalStoreCtrl.store" show-physical-store="true" type="'store'" physical-store="itxPhysicalStoreCtrl.store"> </itx-google-map-selector> </div></script><script id="store-locator.tpl" type="text/ng-template"><div class="google-store-locator-component"> <itx-google-map-selector ng-if="!itxStoreLocatorCtrl.isChina && !itxStoreLocatorCtrl.hybrid" type="'store'" country-selector="true" state="itxStoreLocatorCtrl.state"> </itx-google-map-selector> <itx-google-map-selector ng-if="!itxStoreLocatorCtrl.isChina && itxStoreLocatorCtrl.hybrid" type="'hybrid'" state="itxStoreLocatorCtrl.state"> </itx-google-map-selector> </div> <div class="baidu-store-locator-component"> <itx-baidu-map-selector ng-if="itxStoreLocatorCtrl.isChina && $root.inditex.iBaiduMapsKey" type="'storeLocator'"> </itx-baidu-map-selector> </div> <div class="selector-store-locator-component"> <itx-store-selector on-state-clicked="itxStoreLocatorCtrl.displayStateStores(state)" ng-if="itxStoreLocatorCtrl.physicalStorePagesEnabled"></itx-store-selector> </div></script><script id="store-selector.tpl" type="text/ng-template"><div layout-padding> <div ng-if="(itxStoreSelectorCtrl.storesTree || itxStoreSelectorCtrl.storesTree.length > 0)" id="footer-store-locator" class="footer"> <ul class="states"> <li class="state" ng-repeat="state in itxStoreSelectorCtrl.storesTree" ng-if="state.length && state[0].length && state[0][0].state" > <a ng-click="itxStoreSelectorCtrl.stateSelected(state, state[0][0])" > <span class="icon" ng-class="{'icon-arrow_down': !state.showCities, 'icon-arrow_up': state.showCities}" ></span> {{state[0][0].state}} </a> <ul class="cities hide" ng-class="{'hide': !state.showCities}" > <li class="city" ng-repeat="city in state"> <span class="icon" ng-class="{'icon-arrow_down': !city.showStores, 'icon-arrow_up': city.showStores}" ng-click="itxStoreSelectorCtrl.citySelected(city, cities)"></span> <a ng-click="itxStoreSelectorCtrl.goToCityStoresPage(city)"> {{city[0].city}} </a> <ul class="stores hide" ng-class="{'hide': !city.showStores}"> <li class="store" ng-repeat="store in city"> <a ng-click="itxStoreSelectorCtrl.goToPhysicalStoresPage(store)">{{store.name}}</a> </li> </ul> </li> </ul> </li> </ul> </div> </div></script><script id="wallpaper.tpl" type="text/ng-template"><itx-spot type="GuiaPapelPintado"></itx-spot></script><script id="wedding-list.tpl" type="text/ng-template"><itx-spot type="ListaBodas"></itx-spot></script><script id="my-wishlists.tpl" type="text/ng-template"><div class="my-wishlists-list-resume" ng-if="itxMyWishlistsCtrl.currentWishlistId > -1"> <itx-wishlist-detail wishlist-index="itxMyWishlistsCtrl.currentWishlistId" wishlist="itxMyWishlistsCtrl.selectedWishlist" wishlist-name="itxMyWishlistsCtrl.selectedWishlist.name" change-detail="itxMyWishlistsCtrl.sendDetailEvent" update-wishlists="itxMyWishlistsCtrl.updateWishlists(removeWishlist)" wishlist-loaded="itxMyWishlistsCtrl.wishlistLoaded()"> </itx-wishlist-detail> </div> <div ng-if="itxMyWishlistsCtrl.wishlists.length === 0" class="empty-wishlists"> <div class="empty-wishlist-text"> {{ ::("wishlist.text.create" | property) }} </div> <a class="my-wishlists-list-new" ng-click="itxMyWishlistsCtrl.openNewWishlist()"> <span class="icon icon-plus"></span> {{ ::("wishlist.create" | property) }} </a> </div> <div class="my-wishlists-list" ng-if="itxMyWishlistsCtrl.wishlists.length > 0"> <a class="my-wishlists-list-new visible-xs" ng-click="itxMyWishlistsCtrl.openNewWishlist()"> <span class="icon icon-plus"></span> {{ ::("wishlist.create" | property) }} </a> <div class="user-wishlist" ng-class="{ 'active' : itxMyWishlistsCtrl.currentWishlistId === $index }" ng-repeat="wishlist in itxMyWishlistsCtrl.wishlists"> <div class="wishlist-span-container" ng-click="itxMyWishlistsCtrl.showWishlist($index, wishlist, true)"> <a class="user-wishlist-name" ng-bind-html="wishlist.name"></a> <span class="user-wishlist-number" ng-if="wishlist && wishlist.items && wishlist.items.length">({{ wishlist.items.length }})</span> </div> <div class="wishlist-icon-container"> <a class="icon icon-pencil" ng-click="itxMyWishlistsCtrl.changeWishlist($index, wishlist)"></a> <a class="icon icon-bin2" ng-click="itxMyWishlistsCtrl.removeWishlistProcess($index, wishlist.name, true)"></a> </div> </div> <a class="my-wishlists-list-new hidden-xs" ng-click="itxMyWishlistsCtrl.openNewWishlist()"> <span class="icon icon-plus"></span> {{ ::("wishlist.create" | property) }} </a> </div></script><script id="wishlist-detail.tpl" type="text/ng-template"><div class="wishlist-container wish-list-component wish-list-component-wishlist"> <div class="wishlist-title"> <span class="icon icon-heart"role="img" aria-label="wishlist"></span> <span class="text">Wishlist&nbsp;{{itxWishlistDetailCtrl.wishlistName}}</span> </div> <section class="wishlist-empty clearfix" ng-if="!itxWishlistDetailCtrl.wishlistProducts || !itxWishlistDetailCtrl.wishlistProducts.length"> <article> <itx-spot type="WishList_Empty"></itx-spot> </article> </section> <section class="cart-content" ng-if="itxWishlistDetailCtrl.wishlistProducts && itxWishlistDetailCtrl.wishlistProducts.length"> <div class="table-header"> <div class="row hidden-xs mi-cuenta-seccion-header"> <div class="col-sm-6"> {{ ::("ItxShopCartPage.col.articles" | property) }} </div> <div class="col-sm-2 text-center"> {{ ::("list.price" | property) }} </div> <div class="col-sm-2 text-center"> <span class="cantidad"> {{ ::("wishlist.ItxShopCartPage.col.quantity" | property) }} </span> </div> <div class="col-sm-2 text-right"> {{ ::("wishlist.total" | property) }} </div> </div> </div> <div class="wishlist-items"> <itx-wishlist-item class="p{{wishlistItem.sku}}" ng-repeat="wishlistItem in itxWishlistDetailCtrl.wishlistProducts" product="wishlistItem" total-products="itxWishlistDetailCtrl.wishlistProducts.length" index="$index" shared-token="itxWishlistDetailCtrl.sharedToken" only-read="itxWishlistDetailCtrl.onlyRead" on-change-qty="itxWishlistDetailCtrl.updateWishlistItemQty(sku, quantity)" on-add-to-cart="itxWishlistDetailCtrl.addToCart(items)" on-remove-item="itxWishlistDetailCtrl.removeItems(products, fromAddToCart)"> </itx-wishlist-item> </div> </section> <section class="cart-buttons" ng-if="itxWishlistDetailCtrl.wishlistProducts && itxWishlistDetailCtrl.wishlistProducts.length > 0"> <div class="container-fluid wishlist-options"> <itx-button id="send-wishlist-bill" ng-if="itxWishlistDetailCtrl.isBusinessAgent && itxWishlistDetailCtrl.wishlistProducts.length" ng-click="itxWishlistDetailCtrl.openHotelBillingForm()"> {{ ::("wishlist.hotels.print" | property) }} </itx-button> <a id="btn-compartir-wishlist-copy" ng-if="itxWishlistDetailCtrl.sharedLink" ng-copy="itxWishlistDetailCtrl.sharedLink" ng-click="itxWishlistDetailCtrl.copiedWishlistLink()"> <itx-button> <span class="icon icon-copy"></span> <span>{{ ::("copyLink" | property) }}</span> </itx-button> </a> <!-- TODO -> pendiente de implementar esto por parte del back, desde el front no se puede dar formato al correo <itx-button id="btn-compartir-wishlist-email" ng-if="itxWishlistDetailCtrl.sharedLink" ng-click="itxWishlistDetailCtrl.shareWishlistByEmail()"> <img src="/static/itxwebstandard/images/ico-share.png?t=2019041110311151db1176774530" /> {{ ::("sendMail" | property) }} </itx-button> --> <itx-button class="add-all-wishlist" ng-click="itxWishlistDetailCtrl.openAddWishlistToCartModal(itxWishlistDetailCtrl.wishlistProducts)"> <span class="icon icon-basket"></span> {{ ::("ItxWishListPage.addAll.upper.cased" | property) }} </itx-button> </div> </section> </div></script><script id="wishlist-item.tpl" type="text/ng-template"><article product-impressions product="itxWishlistItemCtrl.product" index="{{itxWishlistItemCtrl.index}}" > <div class="wl-photo hidden-xs"> <a class="" ng-href="{{ itxWishlistItemCtrl.stateHref }}" ng-mousedown="itxWishlistItemCtrl.goToProduct($event)"> <itx-product-photo-cmp product="itxWishlistItemCtrl.product" from="'CHECKOUT'" xmedia-location="'CHECKOUT'" selected-color="itxWishlistItemCtrl.product.selectedColor"> </itx-product-photo-cmp> </a> </div> <div class="wl-item-description"> <div class="wl-item--title-bar"> <h2> <a ng-href="{{ itxWishlistItemCtrl.stateHref }}" ng-mousedown="itxWishlistItemCtrl.goToProduct($event)"> {{ itxWishlistItemCtrl.product.name }} </a> </h2> <div class="wl-edit-block"> <a class="wl-edit-block-btn add-list-desktop" ng-click="itxWishlistItemCtrl.addToCart(itxWishlistItemCtrl.product)" ng-if="itxWishlistItemCtrl.canBeAddedToCart"> <span class="icon icon-basket"></span> </a> <span class="wl-edit-block-btn wl-remove" ng-if="::(!itxWishlistItemCtrl.onlyRead)"> <a ng-click="itxWishlistItemCtrl.deleteWishlistItem(itxWishlistItemCtrl.product)" class="eliminar"></a> </span> </div> </div> <div class="wl-item--description"> <div class="wl-item-props"> <a class="wl-photo-mobile visible-xs" ng-href="{{ itxWishlistItemCtrl.stateHref }}" ng-mousedown="itxWishlistItemCtrl.goToProduct($event)"> <itx-product-photo-cmp product="itxWishlistItemCtrl.product" from="'CHECKOUT'" xmedia-location="'CHECKOUT'" selected-color="itxWishlistItemCtrl.product.selectedColor"> </itx-product-photo-cmp> </a> <div> <span class="reference"> {{ ::("product.ref" | property) }} {{itxWishlistItemCtrl.getFilteredReference(itxWishlistItemCtrl.product.detail.reference)}} </span> <div class="props"> <span>{{ itxWishlistItemCtrl.getSizeDescription(itxWishlistItemCtrl.product.selectedSize) }}</span> </div> <div class="precio-container visible-xs" ng-if="::!itxWishlistItemCtrl.product.discontinued && itxWishlistItemCtrl.product.unitPrice"> <span class="unidades-producto" ng-bind-html="itxWishlistItemCtrl.product.quantity"></span> <span class="precio" ng-if="!itxWishlistItemCtrl.product.hasPriceDiscount" ng-bind-html="itxWishlistItemCtrl.formatPrice(itxWishlistItemCtrl.product.unitPrice)"></span> <span class="rebajado" ng-if="itxWishlistItemCtrl.product.hasPriceDiscount" ng-bind-html="itxWishlistItemCtrl.formatPrice(itxWishlistItemCtrl.product.unitPrice)"></span> <span class="tachado" ng-if="itxWishlistItemCtrl.product.hasPriceDiscount" ng-bind-html="itxWishlistItemCtrl.formatPrice(itxWishlistItemCtrl.product.oldPrice)"></span> </div> <span class="no-stock" ng-if="itxWishlistItemCtrl.product.visibility !== 'show'"> Item out of stock </span> </div> </div> <div class="wl-item-price-quantity" ng-if="::!itxWishlistItemCtrl.product.discontinued && itxWishlistItemCtrl.product.unitPrice"> <div class="precio-container hidden-xs"> <span class="unidades-producto" ng-bind-html="itxWishlistItemCtrl.product.quantity"></span> <span class="precio" ng-if="!itxWishlistItemCtrl.product.hasPriceDiscount" ng-bind-html="itxWishlistItemCtrl.formatPrice(itxWishlistItemCtrl.product.unitPrice)"></span> <span class="rebajado" ng-if="itxWishlistItemCtrl.product.hasPriceDiscount" ng-bind-html="itxWishlistItemCtrl.formatPrice(itxWishlistItemCtrl.product.unitPrice)"></span> <span class="tachado" ng-if="itxWishlistItemCtrl.product.hasPriceDiscount" ng-bind-html="itxWishlistItemCtrl.formatPrice(itxWishlistItemCtrl.product.oldPrice)"></span> </div> <div class="cantidad"> <div class="quantity-container"> <span class="hidden-xs" ng-if="itxWishlistItemCtrl.wishlistShared" ng-bind-html='itxWishlistItemCtrl.currentQuantity'></span> <itx-input-number ng-model="itxWishlistItemCtrl.currentQuantity" ng-if="!itxWishlistItemCtrl.wishlistShared && ['Physical Card', 'Virtual Card'].indexOf(itxWishlistItemCtrl.product.productType) === -1" ng-change="itxWishlistItemCtrl.updateItemQty()" only-read="itxWishlistItemCtrl.onlyRead"> </itx-input-number> </div> </div> <div class="total-wl-container" ng-if="::!itxWishlistItemCtrl.product.discontinued && itxWishlistItemCtrl.product.unitPrice"> <span class="total" ng-bind-html='itxWishlistItemCtrl.formatPrice(itxWishlistItemCtrl.getTotalPrice(itxWishlistItemCtrl.product))'></span> </div> </div> </div> </div> </article></script><script id="worldwide.tpl" type="text/ng-template"><itx-spot type="WorldWide"></itx-spot> <div id="worldwide-container"> <section id="worldwide-logo"> <img src="https://static.zarahome.net/8/static4/itxwebstandard/images/logos/logo-white.svg?t=201904230220011176774530" width="300" alt="Logo">  </section> <form method="post"> <span class="header-search-market"> <img class="search-icon" src="/static/itxwebstandard/images/search.svg?t=2019041110311151db1176774530"> <a ng-click="ItxWorldwideCtrl.goToSearchTerm();">Search market</a> </span> <div layout-gt-xs="row"> <md-input-container flex-gt-lg="15" flex-lg="20" flex-md="30" flex-sm="70"> <label></label> <md-select id="select-country" name="market" ng-model="ItxWorldwideCtrl.selectedStoreName" ng-change="ItxWorldwideCtrl.selectRegion()" md-on-open="ItxWorldwideCtrl.openSelectCountry()" md-on-close="ItxWorldwideCtrl.closeSelectCountry()" data-md-container-class="selectHeader" aria-label="select-market"> <md-select-header class="select-header"> <input id="select-search" ng-model="ItxWorldwideCtrl.searchTerm" type="search" placeholder="Search for a market..." class="header-searchbox md-tex" ng-keydown="$event.stopPropagation()"> </md-select-header> <md-optgroup label="countries"> <md-option ng-repeat="storeName in ItxWorldwideCtrl.storesNames | filter: ItxWorldwideCtrl.searchTerm track by storeName" ng-value="storeName" class="no-padding"> <img ng-if="ItxWorldwideCtrl.isOpenForSale(storeName)" src="/static/itxwebstandard/images/countriesBasket.png?t=2019041110311151db1176774530"> <img ng-if="!ItxWorldwideCtrl.isOpenForSale(storeName)" src="/static/itxwebstandard/images/countriesNotBasket.png?t=2019041110311151db1176774530"> {{storeName}} </md-option> </md-optgroup> </md-select> </md-input-container> <md-input-container flex-gt-lg="10" flex-lg="15" flex-md="25" flex-sm="40"> <md-select name="lang" ng-model="ItxWorldwideCtrl.selectedLang" ng-change="ItxWorldwideCtrl.selectLang(ItxWorldwideCtrl.selectedLang)" required aria-label="select-lang"> <md-option ng-repeat="lang in ItxWorldwideCtrl.selectedStore.supportedLanguages" ng-value="lang" class="no-padding"> {{lang.name}} </md-option> </md-select> </md-input-container> <itx-button class="btnLb-black" flex-gt-xs="5" ng-click="ItxWorldwideCtrl.goToStoreUrl(ItxWorldwideCtrl.selectedStore, ItxWorldwideCtrl.selectedLang.id)" button-type="'submit'"> GO </itx-button> </div> <div class="legend"> <div class="legend-canarias"> <span ng-if="ItxWorldwideCtrl.showCanariasLegend"> Si nos visitas desde las <a ng-click="ItxWorldwideCtrl.goToCanariasStore();">Islas Canarias</a> haz click <a ng-click="ItxWorldwideCtrl.goToCanariasStore();">aqui</a> </span> </div> <div class="legend-basket"> <span ng-if="ItxWorldwideCtrl.selectCountryExpanded"> <img src="/static/itxwebstandard/images/countriesBasket.png?t=2019041110311151db1176774530"> Shop online </span> </div> </div> </form> </div></script><script id="contact-shopping.tpl" type="text/ng-template"><md-content class="contact-shopping-online"> <!-- SHOW CONTACT INFO IF CHAT IS ENABLED --> <div ng-if="$root.chatAvailable && !ItxContactShoppingCtrl.fromWedding" class="contact-data container-fluid"> <h1> {{ ::("contactShopping.customerService" | property) }} </h1> <ul class="contact-types-list"> <li class="contact-type"> <div class="contact-header"> <span class="icon icon-contacto-chat"></span> <span class="contact-title"> {{ ::("itxChat.chat" | property) }} </span> </div> <div class="contact-content"> <div ng-if="$root.weekOpeningTime"> <p> {{ ::("contactShopping.weeklyChatSchedule" | property:[$root.weekOpeningTime, $root.weekClosingTime]) }} </p> </div> <div ng-if="$root.saturdayOpeningTime"> <p> {{ ::("contactShopping.saturdayChatSchedule" | property:[$root.saturdayOpeningTime, $root.saturdayClosingTime]) }} </p> </div> <div ng-if="$root.sundayOpeningTime"> <p> {{ ::("contactShopping.sundayChatSchedule" | property:[$root.sundayOpeningTime, $root.sundayClosingTime]) }} </p> </div> <itx-button ng-click="ItxContactShoppingCtrl.openChat()"> {{ ::("contactShopping.access" | property) }} </itx-button> </div> </li> <li class="contact-type"> <div class="contact-header"> <span class="icon icon-contacto-telefono"></span> <span class="contact-title"> {{ ::("contactShopping.telephone" | property) }} </span> </div> <div class="contact-content"> <itx-spot type="Contact"></itx-spot> </div> </li> <ul> </div> <!-- IF CHAT IS DISABLED SHOW CONTACT FORM --> <div ng-if="!$root.chatAvailable || ItxContactShoppingCtrl.fromWedding" class="contact-shopping-online-form"> <div class="centrar-faq"> <div class="faq-header"> <itx-spot type="Contact"></itx-spot> </div> </div> <form class="contact-shopping-form" name="ItxContactShoppingCtrl.contactForm" method="post" novalidate> <div class="confirmation" ng-if="ItxContactShoppingCtrl.submitOk"> <p class="message-ok"> {{ ::("ItxContactPage.sended" | property) }} </p> </div> <p class="msg-error" ng-if="ItxContactShoppingCtrl.errors" ng-bind-html="ItxContactShoppingCtrl.errors" /> <div class="contact-shopping-online-errors"> <div> <md-input-container> <md-select id="topic" name="topic" ng-model="ItxContactShoppingCtrl.contactData.topic" placeholder="Category" required> <md-option md-ink-ripple="false" value="{{ ::('ItxContactPage.category.1' | property) }}"> {{ ::("ItxContactPage.category.1" | property) }} </md-option> <md-option md-ink-ripple="false" value="{{ ::('ItxContactPage.category.2' | property) }}"> {{ ::("ItxContactPage.category.2" | property) }} </md-option> <md-option md-ink-ripple="false" value="{{ ::('ItxContactPage.category.3' | property) }}"> {{ ::("ItxContactPage.category.3" | property) }} </md-option> <md-option md-ink-ripple="false" value="{{ ::('ItxContactPage.category.4' | property) }}"> {{ ::("ItxContactPage.category.4" | property) }} </md-option> <md-option md-ink-ripple="false" value="{{ ::('ItxContactPage.category.5' | property) }}"> {{ ::("ItxContactPage.category.5" | property) }} </md-option> <md-option md-ink-ripple="false" value="{{ ::('ItxContactPage.category.6' | property) }}"> {{ ::("ItxContactPage.category.6" | property) }} </md-option> <md-option md-ink-ripple="false" value="{{ ::('ItxContactPage.category.7' | property) }}"> {{ ::("ItxContactPage.category.7" | property) }} </md-option> </md-select> <div ng-messages="ItxContactShoppingCtrl.contactForm.topic.$error"> <div ng-message="required"> {{ ::("ItxContactPage.helper.category" | property) }} </div> </div> </md-input-container> <md-input-container> <label for="name"> {{ ::("FIELD.NAME" | property) }} </label> <input type="text" name="firstName" id="firstName" ng-model="ItxContactShoppingCtrl.contactData.firstName" ng-model-options="{ updateOn: 'blur' }" md-maxlength="128" ng-maxlength="128" required itx-move-next-on-enter> <div ng-messages="ItxContactShoppingCtrl.contactForm.firstName.$error"> <div ng-message="required"> {{ ::("ItxContactPage.helper.name" | property) }} </div> </div> </md-input-container> <md-input-container ng-if="ItxContactShoppingCtrl.isMiddleName"> <label for="middlename"> {{ ::("FIELD.MIDDLENAME" | property) }} </label> <input type="text" name="middlename" id="middlename" ng-model="ItxContactShoppingCtrl.contactData.middleName" ng-model-options="{ updateOn: 'blur' }" autocomplete="off" md-maxlength="128" ng-maxlength="128" required itx-move-next-on-enter> <div ng-messages="ItxContactShoppingCtrl.contactForm.middlename.$error"> <div ng-message="required"> {{ ::("ItxContactPage.helper.middlename" | property) }} </div> </div> </md-input-container> <md-input-container> <label for="lastname"> {{ ::("FIELD.LASTNAME" | property) }} </label> <input type="text" name="lastname" id="lastname" ng-model="ItxContactShoppingCtrl.contactData.lastName" ng-model-options="{ updateOn: 'blur' }" autocomplete="off" md-maxlength="128" ng-maxlength="128" required itx-move-next-on-enter> <div ng-messages="ItxContactShoppingCtrl.contactForm.lastname.$error"> <div ng-message="required"> {{ ::("ItxContactPage.helper.surname" | property) }}</div> </div> </md-input-container> <md-input-container> <label for="email"> {{ ::("FIELD.EMAIL" | property) }} </label> <input type="text" name="email" id="email" ng-model="ItxContactShoppingCtrl.contactData.email" ng-model-options="{ updateOn: 'blur' }" ng-pattern="ItxContactShoppingCtrl.gConstants.validations.email" required itx-move-next-on-enter> <div ng-messages="ItxContactShoppingCtrl.contactForm.email.$error"> <div ng-message="pattern"> {{ ::("ItxUserManagement.generic.emailError" | property) }}</div> <div ng-message="required"> {{ ::("ItxContactPage.helper.mail" | property) }} </div> </div> </md-input-container> <md-input-container> <label for="message"> {{ ::("FIELD.MESSAGE" | property) }} </label> <textarea name="message" id="message" class="ays-textarea" ng-model="ItxContactShoppingCtrl.contactData.message" ng-model-options="{ updateOn: 'blur' }" required> </textarea> <div ng-messages="ItxContactShoppingCtrl.contactForm.email.$error"> <div ng-message="required"> {{ ::("ItxContactPage.helper.message" | property) }} </div> </div> </md-input-container> <md-input-container ng-if="ItxContactShoppingCtrl.showAttachOption"> <span> {{ ::("ItxContactPage.attachFile" | property:[ItxContactShoppingCtrl.attachFilesContactFormNumFiles, ItxContactShoppingCtrl.attachFilesContactFormSizeFiles]) }} </span> <input id="attachFileInput" type="file" itx-read-file file-content="ItxContactShoppingCtrl.lastFileContentAdded" file-name="ItxContactShoppingCtrl.lastFileNameAdded" onchange="angular.element(this).scope().ItxContactShoppingCtrl.addFileToAttachments()" itx-move-next-on-enter /> <div class="file-attached" ng-if="ItxContactShoppingCtrl.contactData.attachmentList && ItxContactShoppingCtrl.contactData.attachmentList.length" ng-repeat="file in ItxContactShoppingCtrl.contactData.attachmentList"> <span ng-bind-html="file.nameFile"></span><a class="icon icon-bin2" ng-click="ItxContactShoppingCtrl.removeAttachedFile(file.nameFile)"></a> </div> </md-input-container> <md-input-container class="privacy-policy-accepted" ng-if="$root.inditex.iCountryCode !== 'KR'"> <md-checkbox id="privacyPolicyAccepted" name="privacyPolicyAccepted" ng-model="ItxContactShoppingCtrl.contactData.privacyPolicyAccepted" required itx-move-next-on-enter> <span ng-if="$root.inditex.iLangId !== -43"> <span ng-if="$root.rgpdTextEnabled"> <span> {{ ::("rgpd.contactForm.part1" | property) }} </span> <span class="chat-privacy-link link-2" ng-click="$event.stopPropagation(); ItxContactShoppingCtrl.trackLegal()"> {{ ::("itxchat.privacy.2" | property) }} </span> <span> {{ ::("rgpd.contactForm.part2" | property) }} </span> </span> <span ng-if="!$root.rgpdTextEnabled"> {{ ::("ItxContactPage.policy.accept" | property) }} <a class="ays-check-politica link-2 privacy" ng-click="$event.stopPropagation(); ItxContactShoppingCtrl.trackLegal()"> {{ ::("ItxContactPage.policy.link" | property) }}. </a> </span> </span> <a ng-if="$root.inditex.iLangId === -43" class="ays-check-politica link-2 privacy" ng-click="$event.stopPropagation(); ItxContactShoppingCtrl.trackLegal()"> {{ ::("ItxContactPage.policy.link" | property) }}. </a> <span ng-if="$root.inditex.iLangId === -43"> {{ ::("ItxContactPage.policy.accept" | property) }} </span> <div ng-messages="ItxContactShoppingCtrl.contactForm.privacyPolicyAccepted.$error" ng-show="ItxContactShoppingCtrl.contactForm.$submitted"> <div ng-message="required"> {{ ::("ItxContactPage.policy.error" | property) }} </div> </div> </div> </div> </md-checkbox> </md-input-container> <!--INI CONSENTIMIENTOS COREA --> <div class="checks-agreement-kr" ng-if="$root.inditex.iCountryCode === 'KR'"> <md-input-container> <md-checkbox ng-model="ItxContactShoppingCtrl.contactData.checkAll" ng-change="ItxContactShoppingCtrl.checkAllChanged()" itx-move-next-on-enter> <span> {{ ::("Korea.checkAllConsents" | property) }} </span> </md-checkbox> </md-input-container> <md-input-container> <md-checkbox id="checkConsentCollection" name="checkConsentCollection" ng-model="ItxContactShoppingCtrl.contactData.consentCollection" ng-change="ItxContactShoppingCtrl.checkKrConsents()" required itx-move-next-on-enter> <span> {{ ::("Korea.checkConsentCollection" | property) }} </span> <a class="link-2 privacy" ng-click="$event.stopPropagation(); ItxContactShoppingCtrl.readMoreKorea('personal-information')"> {{ ::("Korea.readMore" | property) }} </a> <div ng-messages="ItxContactShoppingCtrl.contactForm.checkConsentCollection.$error" ng-show="ItxContactShoppingCtrl.ontactForm.$submitted"> <div ng-message="required"> {{ ::("ItxContactPage.policy.error" | property) }} </div> </div> </md-checkbox> </md-input-container> <md-input-container> <md-checkbox id="checkTransferInfo" name="checkTransferInfo" ng-model="ItxContactShoppingCtrl.contactData.consentTransferInfo" ng-change="ItxContactShoppingCtrl.checkKrConsents()" required itx-move-next-on-enter> <span> {{ ::("Korea.checkTransferInfo" | property) }} </span> <a class="link-2 privacy" ng-click="$event.stopPropagation(); ItxContactShoppingCtrl.readMoreKorea('overseas')"> {{ ::("Korea.readMore" | property) }} </a> <div ng-messages="ItxContactShoppingCtrl.contactForm.checkTransferInfo.$error" ng-show="ItxContactShoppingCtrl.contactForm.$submitted"> <div ng-message="required"> {{ ::("ItxContactPage.policy.error" | property) }} </div> </div> </md-checkbox> </md-input-container> </div> <!-- FIN KR --> <div layout="row" layout-align="center" id="button-send-contact"> <itx-button ng-click="ItxContactShoppingCtrl.contact()" enable-progress="dialogCtrl.self.ongoingPetition" button-type="'submit'"> {{ ::("ItxContactPage.send" | property) }} </itx-button> </div> <div class="rgpd-contact-form" ng-if="$root.rgpdTextEnabled && ItxContactShoppingCtrl.contactData.privacyPolicyAccepted && !$root.isMobile"> <itx-spot type="RGPD_ContactForm_11"></itx-spot> </div> </div> </div> </form> </div> <md-content></script><script id="return-detail.tpl" type="text/ng-template"><div class="shop-cart-resume"> <h2>Items to be returned <a ng-click="itxReturnDetailCtrl.modifyReturn()" class="hidden-xs">Change</a> <span class="visible-xs total-number" ng-bind-html='itxReturnDetailCtrl.formatPrice(itxReturnDetailCtrl.totalReturn)'></span> <span class="visible-xs open-resume">Open purchase summary</span> </h2> <div class="resume-panel"> <!-- PRODUCT ROW --> <article ng-repeat="item in itxReturnDetailCtrl.returnItems"> <div class="productPhoto"> <img ng-src="{{itxReturnDetailCtrl.getProductImage(item.image)}}" alt="{{ item.name }}" title="{{ item.name }}"> </div> <div class="productData"> <h3 ng-bind-html="item.name"></h3> <p>{{ item.returnQuantity }} x <span ng-bind-html='itxReturnDetailCtrl.formatPrice(item.unitPrice)'></span></p> <p ng-bind-html="item.sizeToShow"></p> </div> </article> <!-- END PRODUCT ROW --> <!-- CART TOTAL --> <div class="shop-cart-resume-taxes span" ng-if="ItxReturnOrderPage.allItemsSelected"> <p class="ng-scope"> <strong class="ng-binding">Discounts<span class="ng-scope">:</span></strong> <span class="number ng-binding" ng-bind-html="ItxReturnOrderPage.formatPrice(ItxReturnOrderPage.totalAdjustment)"></span> </p> </div> <div class="shop-cart-resume-total"> <strong>TOTAL TO BE RETURNED:</strong> <span ng-bind-html='itxReturnDetailCtrl.formatPrice(itxReturnDetailCtrl.totalReturn)'></span> </div> <!-- END CART TOTAL --> <itx-button ng-click="itxReturnDetailCtrl.modifyReturn()"> Change </itx-button> </div> </div></script><script id="return-order.tpl" type="text/ng-template"><div class="hidden-layer return-order" ng-show="itxReturnOrderCtrl.searchOn && itxReturnOrderCtrl.countryCode === 'CN'" ng-click="itxReturnOrderCtrl.closeBankSearch()"></div> <nav class="nav-1 devos-nav" ng-if="itxReturnOrderCtrl.step!==4"> <span ng-class="{'on': itxReturnOrderCtrl.step==1}">Items to be returned</span> <span ng-class="{'on': itxReturnOrderCtrl.step==2}">Collection address</span> <span ng-class="{'on': itxReturnOrderCtrl.step==3}" ng-if="itxReturnOrderCtrl.order.isCOD || itxReturnOrderCtrl.order.isPOD">Payment method</span> <span ng-if="itxReturnOrderCtrl.sfiCreditEnabled" ng-class="{'on': itxReturnOrderCtrl.step=='sfi'}">BANK</span> </nav> <div class="resumen-pedido container-fluid" ng-if="itxReturnOrderCtrl.step!==4" ng-cloak> <div class="row"> <div class="col-sm-3"> <strong> Order number: </strong> <span> {{ itxReturnOrderCtrl.order.id }} </span> </div> <div class="col-sm-3 col-md-2"> <strong> Date: </strong> <span> {{ itxReturnOrderCtrl.order.date | date:itxReturnOrderCtrl.iXDateFormat }} </span> </div> <div class="col-sm-3 col-md-4"> <strong> Delivery method </strong> <span> {{ itxReturnOrderCtrl.order.shipping.name }} </span> </div> <div class="col-sm-3 col-md-3"> Payment: <span class="card-container" ng-if="itxReturnOrderCtrl.order.payment[0] != null"> <img class="card" data-ng-src="{{ $root.inditex.getPaymentMethodImageUrl(itxReturnOrderCtrl.order.payment[0], 'png') }}" alt="Card"> </span> </div> </div> </div> <!-- RETURN CHART --> <section ng-if="itxReturnOrderCtrl.order.items.length > 0 && itxReturnOrderCtrl.step===1" class="cart-content" ng-cloak> <itx-spot type="MyAccountOrderReturn_Step2" ng-if="itxReturnOrderCtrl.myAccountOrderReturnStep2Spot"></itx-spot> <header class="hidden-xs"> <div class="container-fluid"> <div class="row"> <div class="col-sm-3"> Items </div> <div class="col-sm-2 text-center"> Size </div> <div class="col-sm-1 text-center"> Price </div> <div class="col-sm-1 text-center"> Quantity </div> <div class="col-sm-2 text-center"> Reason </div> <div class="col-sm-2 text-center"> Quantity to be returned </div> <div class="col-sm-1 text-center"> Total </div> </div> </div> </header> <div class="container-fluid"> <!-- PRODUCT ROW --> <article class="product row" ng-repeat="item in itxReturnOrderCtrl.order.items" ng-if="item.reference !=='XGIFTSKU'"> <span class="visible-xs"> <a class="eliminar" ng-click="itxReturnOrderCtrl.updateSkuQuantity(item.id, 0)">X</a> </span> <div class="col-xs-12 visible-xs contador"> Items {{ $index + 1 }} / {{ itxReturnOrderCtrl.order.items.length }} </div> <div class="col-sm-3"> <div class="photo"> <a ng-href="{{ itxReturnOrderCtrl.ItxOrderFactory.getProductUrl(item.parentId, item.name) }}"> <img ng-src="{{ itxReturnOrderCtrl.ItxProductFactory.getProductImage(item.image, 1, 5) }}" alt="{{ item.name }}"> </a> </div> <div class="product-description"> <h2> <a ng-href="{{ itxReturnOrderCtrl.ItxOrderFactory.getProductUrl(item.parentId, item.name) }}">{{ item.name }}</a> </h2> <span class="precio hidden-sm hidden-md hidden-lg" >{{item.quantity}} x </span> <span class="precio hidden-sm hidden-md hidden-lg" ng-bind-html='itxReturnOrderCtrl.ItxHelper.formatPrice( item.unitPrice)'></span> <span class="reference">ref. {{ ::itxReturnOrderCtrl.ItxApiFactory.getFilteredReference(item.reference) }}</span> <img class="mini" ng-src="{{ itxReturnOrderCtrl.ItxProductFactory.getProductImage(item.image, 3, 5) }}" alt="{{ item.name }}" title="{{ item.name }}"> </div> </div> <div class="col-sm-2 text-center"> <div class="props"> <img src="/static/itxwebstandard/images/ico-medida.png?t=2019041110311151db1176774530" alt="{{ item.name }}">{{ item.sizeToShow }} </div> </div> <div class="col-sm-1 precio hidden-xs text-center" ng-bind-html='itxReturnOrderCtrl.ItxHelper.formatPrice(item.unitPrice)'></div> <div class="col-sm-1 text-center hidden-xs cantidad">{{ item.quantity }}</div> <!-- reasons --> <md-input-container class="col-sm-2" ng-if="item.isReturnable"> <md-select ng-model="item.returnReason" placeholder="Select an option" required> <md-option md-ink-ripple="false" ng-repeat="reason in itxReturnOrderCtrl.returnReasons" ng-value="reason.id"> {{reason.description}} </md-option> </md-select> </md-input-container> <div class="col-sm-2 cantidad clearfix" ng-if="item.isReturnable"> <div class="quantity-container"> <span class="quantity-btn-minus"> <a ng-click="itxReturnOrderCtrl.updateSkuQuantity(item.id, (item.returnQuantity - item.unitsLot))" title="Delete item">-</a> </span> <span class="cart-content-qty-input"> <div ng-if="item.unitsLot !== 1">{{ item.returnQuantity }}</div> <input ng-if="item.unitsLot === 1" type="text" ng-model="item.returnQuantity" ng-change="itxReturnOrderCtrl.updateSkuQuantity(item.id, item.quantity)" /> </span> <span class="quantity-btn-plus"> <a ng-click="itxReturnOrderCtrl.updateSkuQuantity(item.id, (item.returnQuantity + item.unitsLot))" title="Add item">+</a> </span> </div> </div> <div class="col-sm-2 cantidad clearfix" ng-if="!item.isReturnable"> <span>This item is not eligible to be returned</span> </div> <div class="col-sm-1 text-right"> <span class="total hidden-xs" ng-bind-html='itxReturnOrderCtrl.ItxHelper.formatPrice(item.tax * item.returnQuantity + item.unitPrice * item.returnQuantity)'></span> </div> </article> <!-- END PRODUCT ROW --> </div> <!-- TOTAL --> <div class="container-fluid return-order-total"> <div class="row"> <div class="col-sm-6">&nbsp;</div> <div class="col-sm-6 albaran"> <div class="row gastos-envio" ng-if="itxReturnOrderCtrl.allItemsSelected"> <div class="col-sm-4"><strong>Discounts</strong>&nbsp;</div> <div class="col-xs-6"></div> <div class="col-xs-6 col-sm-2 text-right"><span ng-bind-html='itxReturnOrderCtrl.ItxHelper.formatPrice(itxReturnOrderCtrl.totalAdjustment)'></span></div> </div> <div class="row"> <div class="col-sm-6 total-a-devolver">TOTAL TO BE RETURNED:</div> <div class="col-sm-6 text-right"> <span class="total-cart" ng-bind-html='itxReturnOrderCtrl.ItxHelper.formatPrice(itxReturnOrderCtrl.totalReturn)'></span> </div> </div> </div> </div> </div> <!-- BOTONERA --> <div class="container-fluid return-order-total-buttons"> <div class="row"> <div class="col-xs-12 col-sm-5 col-sm-push-7 text-right"> <itx-button ng-click="itxReturnOrderCtrl.continueToStep2()"> RETURN ITEMS </itx-button> </div> </div> </div> </section> <!-- END RETURN CHART --> <!-- ADDRESS BLOCK --> <div class="container-fluid myAccountDevoStep2" ng-if="itxReturnOrderCtrl.step===2"> <section class="row" ng-cloak> <itx-spot type="MyAccountOrderReturn_Step3" ng-if="itxReturnOrderCtrl.myAccountOrderReturnStep3Spot"></itx-spot> <p class="msg-error" ng-if="itxReturnOrderCtrl.errors" ng-bind-html="itxReturnOrderCtrl.errors" /> <div class="droppoint-selector" ng-if="itxReturnOrderCtrl.isReturnTypeSelectorActive"> <md-select ng-model="itxReturnOrderCtrl.selectedReturnType" ng-change="itxReturnOrderCtrl.changeReturnType()"> <md-option md-ink-ripple="false" ng-repeat="returnType in itxReturnOrderCtrl.returnTypesAllowed track by $index" ng-value="returnType" ng-bind-html="itxReturnOrderCtrl.ItxOrderFactory.getReturnTypeText(returnType)"></md-option> </md-select> </div> <article class="col-sm-12 col-md-8 direccion-devolucion" ng-if="itxReturnOrderCtrl.selectedReturnType === 'HOMERETURN'"> <form name="itxReturnOrderCtrl.addressForm" id="addressForm" method="post" novalidate> <div class="row" id="blk-envio-standar"> <div class="col-md-3"> <strong>Collection address</strong> </div> <div class="droppoint-selector"> <md-input-container layout="column" layout-align="left" class="saved-address-select"> <md-select name="selectedAddress" ng-model="itxReturnOrderCtrl.devoAddress.address" ng-model-options="{trackBy: '$value.id'}" ng-show="itxReturnOrderCtrl.addressBook.length > 0"> <md-option md-ink-ripple="false" ng-repeat="template in itxReturnOrderCtrl.addressBook" ng-value="template"> {{template.addressName.split('|')[0]}} </md-option> </md-select> </md-input-container> </div> <div class="col-md-7 send-columns"> <itx-address-detail address="itxReturnOrderCtrl.devoAddress.address" address-type="'shipping'" on-edit-address="itxReturnOrderCtrl.updateAddress(address, type)"> </itx-address-detail> </div> </div> <div class="row " id="blk-envio-standar" ng-if="itxReturnOrderCtrl.isEnabledDefinedReturnDay"> <div class="col-md-2"> <strong>Please indicate the date and time you wish the carrier to collect the items you are returning.</strong> </div> <div class="col-md-6"> <md-input-container> <md-select name="deliveryDay" placeholder="Day of delivery" ng-model="itxReturnOrderCtrl.deliveryDate" required> <md-option md-ink-ripple="false" ng-repeat="template in itxReturnOrderCtrl.deliveryDates" ng-value="template.datetime"> {{template.formattedDate}} </md-option> </md-select> <div ng-messages="itxReturnOrderCtrl.addressForm.deliveryDay.$error"> <div ng-message="required"> Please select a delivery day </div> </div> </md-input-container> <md-input-container> <md-select name="deliveryHour" ng-model="itxReturnOrderCtrl.deliveryTimeRange" plceholder="Delivery time" required> <md-option md-ink-ripple="false" ng-repeat="template in itxReturnOrderCtrl.deliveryTimeRanges" ng-value="template.idTimeRange"> {{template.description}} </md-option> </md-select> <div ng-messages="itxReturnOrderCtrl.addressForm.deliveryHour.$error"> <div ng-message="required"> Please select a delivery period </div> </div> </md-input-container> </div> </div> <p class="msg-error" ng-show="itxReturnOrderCtrl.addressForm.boxes.$invalid && itxReturnOrderCtrladdressForm.submitted">You must enter the number of boxes</p> <p class="msg-error" ng-show="itxReturnOrderCtrl.ddressForm.formAddress.phone.$invalid && itxReturnOrderCtrl.addressForm.submitted">Please enter a valid telephone number</p> <p class="msg-error" ng-show="itxReturnOrderCtrl.addressForm.formAddress.zipCode.$error.zipCodeRestricted && itxReturnOrderCtrl.addressForm.submitted">Restricted postcode</p> </form> </article> <article class="col-sm-12 col-md-8 dropoff-selector" ng-if="itxReturnOrderCtrl.selectedReturnType === 'DROPOFFRETURN' && itxReturnOrderCtrl.dropoffPoints && itxReturnOrderCtrl.dropoffPoints.length > 1"> <form name="itxReturnOrderCtrl.dropoffForm" id="dropoffForm" method="post"> <section class="row"> <md-input-container> <md-select name="dropoffPoint" ng-model="itxReturnOrderCtrl.selectedDropoff" placeholder="Courier company" required> <md-option md-ink-ripple="false" ng-repeat="dropoff in itxReturnOrderCtrl.dropoffPoints track by $index" ng-value="dropoff"> {{dropoff.description}} </md-option> </md-select> </md-input-container> </section> </form> <div ng-if="itxReturnOrderCtrl.selectedDropoff" class="locate-dropoff"> <a ng-href="{{itxReturnOrderCtrl.selectedDropoff.url}}" target="_blank"> <span class="icon icon-location2"></span> Locate collection points </a> </div> </article> <article ng-if="itxReturnOrderCtrl.selectedReturnType"> <div class="row" id="blk-envio-standar"> <div class="col-sm-4"> <strong>Number of packages to pick up</strong> </div> <div class="col-xs-4 col-sm-2 text-right quantity-container"> <span class="quantity-btn-minus"><a ng-click="itxReturnOrderCtrl.updateBoxes(-1)" title="Delete item">-</a></span> <span class="cart-content-qty-input"> <input type="text" name="boxes" ng-model="itxReturnOrderCtrl.numBoxes" ng-change="itxReturnOrderCtrl.updateBoxes(0)" ng-pattern="/^[1-9]+[0-9]*$/" /> </span> <span class="quantity-btn-plus"> <a ng-click="itxReturnOrderCtrl.updateBoxes(1)" title="Add item"> + </a> </span> </div> </div> <div class="row"> <div class="col-sm-8"> <div class="col-sm-4">&nbsp;</div> <div class="col-sm-10 text-right confirm-div"> <itx-button ng-click="itxReturnOrderCtrl.goPaymentOrConfirmation()" ng-if="!itxReturnOrderCtrl.sfiCreditEnabled" enable-progress="itxReturnOrderCtrl.ongoingPetition" button-type="'submit'"> CONFIRM </itx-button> <itx-button ng-click="itxReturnOrderCtrl.goToSfiStep()" ng-if="itxReturnOrderCtrl.sfiCreditEnabled && !itxReturnOrderCtrl.order.isCOD && !itxReturnOrderCtrl.order.isPOD"> Continue </itx-button> </div> </div> </div> </article> </section> <article class="hidden-xs hidden-sm hidden-md returned-items"> <itx-return-detail return-items="itxReturnOrderCtrl.returnItems" total-return="itxReturnOrderCtrl.totalReturn" go-to-step="itxReturnOrderCtrl.goToStep(step)"></itx-return-detail> </article> </div> <!-- END ADDRESS BLOCK --> <!-- OPTIONAL COD/POD BLOCK --> <div class="container-fluid myAccountDevoStep3" ng-show="itxReturnOrderCtrl.step===3"> <p class="msg-error" ng-if="itxReturnOrderCtrl.errors" ng-bind-html="itxReturnOrderCtrl.errors" /> <section class="row" ng-cloak> <form name="cashReturnForm" id="cashReturnForm" method="post" novalidate> <article class="col-sm-9"> <div class="row" id="blk-envio-standar"> <div class="col-sm-4"> <strong>Payment method</strong> </div> <div class="col-sm-8 send-columns"> <div ng-if="itxReturnOrderCtrl.order.isCOD"> <!--Bloque izquierdo --> <md-radio-group ng-model="itxReturnOrderCtrl.cashReturnForm.associatedPaymentMethod" name="ingreso-radio"> <md-radio-button id="ingreso-transfer-bank" ng-value="2"> Russian Post </md-radio-button> <md-radio-button id="ingreso-rus-post" ng-value="1"> BANK TRANSFER </md-radio-button> </md-radio-group> <!--Bloque derecho --> <div class="form-direccion"> <!-- //// Transfer bank \\\\ --> <div id="blk-transfer-bank" ng-if="itxReturnOrderCtrl.cashReturnForm.associatedPaymentMethod===1 && !itxReturnOrderCtrl.order.isPOD"> <md-input-container> <label>Name</label> <input name="firstName" ng-model="itxReturnOrderCtrl.cashReturnForm.firstName" id="firstName" type="text" required> <div ng-messages="cashReturnForm.firstName.$error"> <div ng-message="required"> Enter your name </div> </div> </md-input-container> <md-input-container ng-if="itxReturnOrderCtrl.showMiddleName"> <label for="ingreso-transfer-apellidos">Middlename</label> <input type="text" name="middleName" id="middleName" ng-model="itxReturnOrderCtrl.cashReturnForm.middleName" required> <div ng-messages="cashReturnForm.middleName.$error"> <div ng-message="required"> Enter your name </div> </div> </md-input-container> <md-input-container ng-if="$root.inditex.iCountryCode !== 'KR' && $root.inditex.iCountryCode !== 'CN'"> <label>Last name</label> <input ng-model="itxReturnOrderCtrl.cashReturnForm.lastName" name="lastName" type="text" id="lastName" required> <div ng-messages="cashReturnForm.lastName.$error"> <div ng-message="required"> Enter your surname(s) </div> </div> </md-input-container> <md-input-container> <label for="ingreso-transfer-bankname">* Name of the bank</label> <input type="text" name="bankname" ng-model="itxReturnOrderCtrl.cashReturnForm.returnMethodForm.bankName" id="bankname" required> <div ng-messages="cashReturnForm.bankname.$error"> <div ng-message="required"> Enter the name of a bank </div> </div> </md-input-container> <md-input-container> <label>Customer's bank account</label> <input type="text" name="bankaccount" id="bankaccount" ng-model="itxReturnOrderCtrl.cashReturnForm.returnMethodForm.accountNumber" ng-model-options="{updateOn: 'blur'}" ng-minlength="20" ng-maxlength="20" required> <div ng-messages="cashReturnForm.bankaccount.$error"> <div ng-message="required"> Incorrect Bank Account </div> <div ng-message="minlength"> Incorrect Bank Account </div> <div ng-message="maxlength"> Incorrect Bank Account </div> </div> </md-input-container> <md-input-container> <label>Bank's INN</label> <input type="number" name="bankinn" id="bankinn" ng-model="itxReturnOrderCtrl.cashReturnForm.returnMethodForm.innCode" ng-model-options="{updateOn: 'blur'}" ng-minlength="10" ng-maxlength="10" required> <div ng-messages="cashReturnForm.bankinn.$error"> <div ng-message="required"> Enter an INN </div> <div ng-message="minlength"> Incorrect Bank INN </div> <div ng-message="maxlength"> Incorrect Bank INN </div> </div> </md-input-container> <md-input-container> <label>Bank BIC number</label> <input type="number" name="bankbic" id="bankbic" ng-model="itxReturnOrderCtrl.cashReturnForm.returnMethodForm.bicCode" ng-model-options="{updateOn: 'blur'}" ng-pattern="itxReturnOrderCtrl.gConstants.validations.bic" required> <div ng-messages="cashReturnForm.bankbic.$error"> <div ng-message="required"> Enter a BIC number </div> <div ng-message="pattern"> Incorrect Bank BIC </div> </div> </md-input-container> <label for="ingreso-transfer-order-number">Customer's order number</label> <div class="form-field-validation little"> <div class="input-container"> <span>{{ itxReturnOrderCtrl.order.id }}</span> </div> </div> <label for="ingreso-transfer-transfer-value">Value of the transfer</label> <div class="form-field-validation little"> <div class="input-container"> <span class="total-cart" ng-bind-html='itxReturnOrderCtrl.ItxHelper.formatPrice(itxReturnOrderCtrl.totalReturn)'></span> </div> </div> </div> <!-- //// FIN NUEVA DIRECCION \\\\ --> <!-- //// Russian Post \\\\ --> <div id="blk-rus-post" ng-if="itxReturnOrderCtrl.cashReturnForm.associatedPaymentMethod===2"> <md-input-container> <label>Name</label> <input type="text" name="firstName" id="firstName" ng-model="itxReturnOrderCtrl.cashReturnForm.firstName" required> <div ng-messages="cashReturnForm.firstName.$error"> <div ng-message="required"> Enter your name </div> </div> </md-input-container> <md-input-container ng-if="$root.inditex.iStoreJSON.details.showMiddleName"> <label>Middlename</label> <input type="text" name="middleName" id="middleName" ng-model="itxReturnOrderCtrl.cashReturnForm.middleName" required> <div ng-messages="cashReturnForm.middleName.$error"> <div ng-message="required"> Enter your name </div> </div> </md-input-container> <md-input-container ng-if="$root.inditex.iCountryCode !== 'KR' && $root.inditex.iCountryCode !== 'CN'"> <label>Last name</label> <input type="text" name="surname" id="surname" ng-model="itxReturnOrderCtrl.cashReturnForm.lastName" required> <div ng-messages="cashReturnForm.surname.$error"> <div ng-message="required"> Enter your surname(s) </div> </div> </md-input-container> <md-input-container> <label>Address</label> <textarea name="address" ng-model="itxReturnOrderCtrl.cashReturnForm.returnMethodForm.address" ng-model-options="{updateOn: 'blur'}" cols="30" rows="10" ng-maxlength="256" required> </textarea> <div ng-messages="cashReturnForm.address.$error"> <div ng-message="required"> Please enter a valid address </div> <div ng-message="maxlength"> Please enter a valid address </div> </div> </md-input-container> <md-input-container> <label for="zipCode">Zip code:</label> <input type="text" ng-model="itxReturnOrderCtrl.cashReturnForm.returnMethodForm.zipCode" ng-model-options="{updateOn: 'blur'}" name="zipCode" ng-pattern="itxReturnOrderCtrl.gConstants.validations.zipCode[itxReturnOrderCtrl.countryCode]" required> <itx-daum ng-if="$root.inditex.iCountryCode === 'KR'" on-selected-address="itxReturnOrderCtrl.setDaumData(address)"></itx-daum> <div ng-messages="cashReturnForm.zipCode.$error"> <div ng-message="pattern"> Please enter a valid post code </div> <div ng-message="zipCodeRestricted"> Restricted postcode </div> </div> </md-input-container> <md-input-container ng-if="formCtrl.countryCode === 'MX'"> <label>Town</label> <input type="text" name="municipality" ng-model="itxReturnOrderCtrl.cashReturnForm.returnMethodForm.municipality" ng-model-options="{updateOn: 'blur'}" ng-maxlength="128" required> <div ng-messages="cashReturnForm.municipality.$error"> <div ng-message="required"> Please enter a valid town </div> <div ng-message="maxlength"> Please enter a valid town </div> </div> </md-input-container> <md-input-container ng-if="formCtrl.countryCode === 'MX'"> <label>Area</label> <input type="text" name="colony" ng-model="itxReturnOrderCtrl.cashReturnForm.returnMethodForm.colony" ng-model-options="{updateOn: 'blur'}" ng-maxlength="128" required> <div ng-messages="cashReturnForm.colony.$error"> <div ng-message="required"> Please enter a valid area </div> <div ng-message="maxlength"> Please enter a valid area </div> </div> </md-input-container> <md-input-container ng-if="['GB', 'KR' , 'HU', 'TR', 'BG'].indexOf(itxReturnOrderCtrl.countryCode) === -1"> <label ng-if="itxReturnOrderCtrl.countryCode != 'MX' && !itxReturnOrderCtrl.hideProvinceCombo">Province</label> <label ng-if="itxReturnOrderCtrl.countryCode === 'MX'">Status</label> <md-select ng-if="!itxReturnOrderCtrl.hideProvinceCombo" name="state" ng-model="itxReturnOrderCtrl.cashReturnForm.returnMethodForm.state" ng-change="itxReturnOrderCtrl.setState()" required> <md-option md-ink-ripple="false" ng-repeat="template in itxReturnOrderCtrl.states" ng-value="template.code"> {{template.name}} </md-option> </md-select> <div ng-messages="cashReturnForm.state.$error"> <div ng-message="required"> Please choose a province </div> </div> </md-input-container> <md-input-container> <label>City</label> <input type="text" ng-model-options="{updateOn: 'blur'}" name="city" ng-model="itxReturnOrderCtrl.cashReturnForm.returnMethodForm.city" ng-maxlength="128" required> <div ng-messages="cashReturnForm.city.$error"> <div ng-message="required"> Please enter a valid city </div> <div ng-message="maxlength"> Please enter a valid city </div> </div> </md-input-container> <md-input-container class="col-md-6"> <label>Telephone</label> <span ng-if="showPhonePrefix" class="prefix">&nbsp;{{itxReturnOrderCtrl.cashReturnForm.returnMethodForm.phonePrefix}}&nbsp;</span> <input type="text" name="phone" id="phone" ng-maxlength="32" ng-model-options="{updateOn: 'blur'}" ng-model="itxReturnOrderCtrl.cashReturnForm.returnMethodForm.phone" ng-pattern="itxReturnOrderCtrl.gConstants.validations.phone[itxReturnOrderCtrl.countryCode]" ng-focus="showPhonePrefix = true" ng-blur="showPhonePrefix = cashReturnForm.phone.$dirty ? true : false" required> <div ng-messages="cashReturnForm.phone.$error"> <div ng-message="required" ng-if="['HR', 'JP', 'MT', 'KR', 'TR'].indexOf($root.inditex.iCountryCode) === -1 && formAddress.phone.$invalid && (formAddress.phone.$dirty || formAddress.$submitted )"> Please enter a valid telephone number. Example: {{$root.inditex.iStoreJSON.details.phoneCountryCode}} 123456789 </div> <div ng-message="required" ng-if="$root.inditex.iCountryCode === 'JP'"> Please enter a contact telephone number. Example: 01234567899 </div> <div ng-message="required" ng-if="$root.inditex.iCountryCode === 'MT'"> Please enter a contact telephone number. Example: {{$root.inditex.iStoreJSON.details.phoneCountryCode}} 12345678 </div> <div ng-message="required" ng-if="$root.inditex.iCountryCode === 'TR'"> Please enter a contact telephone number. Example: 0123456 </div> <div ng-message="required" ng-if="$root.inditex.iCountryCode === 'HR'"> Please enter a contact telephone number. Example: {{$root.inditex.iStoreJSON.details.phoneCountryCode}} 01234567,{{$root.inditex.iStoreJSON.details.phoneCountryCode}} 012345678, {{$root.inditex.iStoreJSON.details.phoneCountryCode}} 0123456789 </div> <div ng-message="required" ng-if="$root.inditex.iCountryCode === 'KR'"> Please enter your phone number without the local prefix '0': +82 1012345678 </div> <div ng-message="pattern" ng-if="['HR', 'JP', 'MT', 'KR', 'TR'].indexOf($root.inditex.iCountryCode) === -1 && formAddress.phone.$invalid && (formAddress.phone.$dirty || formAddress.$submitted )"> Please enter a valid telephone number. Example: {{$root.inditex.iStoreJSON.details.phoneCountryCode}} 123456789 </div> <div ng-message="pattern" ng-if="$root.inditex.iCountryCode === 'JP'"> Please enter a contact telephone number. Example: 01234567899 </div> <div ng-message="pattern" ng-if="$root.inditex.iCountryCode === 'MT'"> Please enter a contact telephone number. Example: {{$root.inditex.iStoreJSON.details.phoneCountryCode}} 12345678 </div> <div ng-message="pattern" ng-if="$root.inditex.iCountryCode === 'TR'"> Please enter a contact telephone number. Example: 0123456 </div> <div ng-message="pattern" ng-if="$root.inditex.iCountryCode === 'HR'"> Please enter a contact telephone number. Example: {{$root.inditex.iStoreJSON.details.phoneCountryCode}} 01234567,{{$root.inditex.iStoreJSON.details.phoneCountryCode}} 012345678, {{$root.inditex.iStoreJSON.details.phoneCountryCode}} 0123456789 </div> <div ng-message="pattern" ng-if="$root.inditex.iCountryCode === 'KR'"> Please enter your phone number without the local prefix '0': +82 1012345678 </div> </div> </md-input-container> <label for="ingreso-transfer-order-number">Customer's order number</label> <div class="form-field-validation little"> <div class="input-container"> <span>{{ itxReturnOrderCtrl.order.id }}</span> </div> </div> <label for="ingreso-transfer-transfer-value">Value of the transfer</label> <div class="form-field-validation little"> <div class="input-container"> <span class="total-cart" ng-bind-html='itxReturnOrderCtrl.ItxHelper.formatPrice(itxReturnOrderCtrl.totalReturn)'></span> </div> </div> </div> <!-- //// FIN MI DIRECCION \\\\ --> </div> </div> <!-- POD RETURN PAGE --> <div class="form-direccion" ng-if="itxReturnOrderCtrl.order.isPOD"> <!-- //// Transfer bank \\\\ --> <div id="blk-transfer-bank" ng-if="itxReturnOrderCtrl.cashReturnForm.associatedPaymentMethod===1"> <md-content layout-padding> <p id="customer-bank-info">Important note: please provide us your full bank account details and make sure they are correct so that we can correctly refund you. For any doubt please review the help showed in each box text:</p> <!-- NAME --> <md-input-container> <label for="firstName">* Name</label> <input type="text" name="firstName" ng-model="itxReturnOrderCtrl.cashReturnForm.firstName" id="firstName" required> <div ng-messages="cashReturnForm.firstName.$error"> <div ng-message="required"> Enter your name </div> </div> </md-input-container> <!-- BANK NAME --> <md-input-container ng-if="itxReturnOrderCtrl.countryCode === 'CN'"> <label for="ingreso-transfer-bankname">* Name of the bank</label> <div class="form-field-validation"> <div class="input-container"> <input type="text" name="bankname" ng-change="itxReturnOrderCtrl.searchCNBanks()" ng-model="itxReturnOrderCtrl.cashReturnForm.returnMethodForm.bankName" ng-model-options="{'debounce' : 500}" required ng-class="itxReturnOrderCtrl.cashReturnForm.returnMethodForm.$submitted ? 'ng-dirty ' : ''" id="bankname" /> <span class="mark"></span> <div id="cn-banks" class="search-banks"> <div class="itx-dropdown-container"> <div class="itx-dropdown-list"> <div class="itx-dropdown-item" ng-repeat="bank in itxReturnOrderCtrl.banks"> <a ng-click="itxReturnOrderCtrl.selectBank(bank)"><span ng-bind="bank.name"></span></a> </div> </div> <p class="itx-dropdown-item" ng-if="itxReturnOrderCtrl.banks && itxReturnOrderCtrl.banks.length < 1 && itxReturnOrderCtrl.searchOn"><span>No results found</span></p> </div> </div> </div> <span class="message" ng-show="itxReturnOrderCtrl.cashReturnForm.returnMethodForm.bankName.$invalid && (itxReturnOrderCtrl.cashReturnForm.bankName.$dirty || itxReturnOrderCtrl.cashReturnForm.returnMethodForm.$submitted) ">Enter the name of a bank</span> <span class="message" ng-show="itxReturnOrderCtrl.cashReturnForm.returnMethodForm.bankName.$invalid">Please select a valid transfer bank</span> </div> </md-input-container> <!-- BANK ACCOUNT NUMBER --> <md-input-container> <label>* Customer's bank account</label> <input type="text" name="bankaccount" id="bankaccount" ng-model="itxReturnOrderCtrl.cashReturnForm.returnMethodForm.accountNumber" ng-model-options="{updateOn: 'blur'}" ng-minlength="14" ng-maxlength="20" required> <div ng-messages="cashReturnForm.bankaccount.$"> <div ng-message="required"> Incorrect Bank Account </div> <div ng-message="minlength"> Incorrect Bank Account </div> <div ng-message="maxlength"> Incorrect Bank Account </div> </div> </md-input-container> </md-content> </div> </div> </div> </div> <div class="row"> <div class="col-sm-2">&nbsp;</div> <div class="col-sm-10 text-right confirm-div"> <!-- <a ng-click="itxReturnOrderCtrl.goToConfirmation()" class="buy-button" ng-class="{loading: itxReturnOrderCtrl.loading}">CONFIRM</a> --> <itx-button ng-click="itxReturnOrderCtrl.goToConfirmation()"> CONFIRM </itx-button> <itx-button ng-click="itxReturnOrderCtrl.goToSfiStep()" ng-if="itxReturnOrderCtrl.sfiCreditEnabled"> Continue </itx-button> </div> </div> </article> </form> <itx-return-detail return-items="itxReturnOrderCtrl.returnItems" total-return="itxReturnOrderCtrl.totalReturn" go-to-step="itxReturnOrderCtrl.goToStep(step)"></itx-return-detail> </section> </div> <div class="container-fluid sfi-container" ng-if="itxReturnOrderCtrl.step==='sfi'"> <form name="itxReturnOrderCtrl.sfiForm" id="sfiForm" method="post" novalidate> <div class="row"> <div class="col-md-6"> <p><strong>Transfer bank</strong></p> <!-- IBAN --> <md-input-container> <label>IBAN</label> <input type="text" name="iban" ng-model="itxReturnOrderCtrl.sfiData.iban" ng-model-options="{updateOn: 'default blur', debounce: { 'default': 300, 'blur': 0 }}" ng-pattern="$root.validations.iban" required> <div ng-messages="itxReturnOrderCtrl.sfiForm.iban.$error"> <div ng-message="required"> This field is required </div> </div> </md-input-container> <!-- BIC --> <md-input-container> <label>Bank BIC number</label> <input type="text" name="bankbic" ng-model="itxReturnOrderCtrl.sfiData.bankbic" ng-model-options="{updateOn: 'default blur', debounce: { 'default': 300, 'blur': 0 }}" ng-pattern="itxReturnOrderCtrl.bicPattern" required> <div ng-messages="itxReturnOrderCtrl.sfiForm.bankbic.$error"> <div ng-message="required"> Enter a BIC number </div> <div ng-message="pattern"> Incorrect Bank BIC </div> </div> </md-input-container> <!-- NAME --> <md-input-container> <label>Name</label> <input type="text" name="firstName" ng-model="itxReturnOrderCtrl.sfiData.firstName" ng-model-options="{updateOn: 'default blur', debounce: { 'default': 300, 'blur': 0 }}" ng-minlength="sfiForm.nameMinLength" ng-maxlength="$root.validations.firstname" md-maxlength="$root.validations.firstname" required> <div ng-messages="itxReturnOrderCtrl.sfiForm.firstName.$error"> <div ng-message="required"> Please enter your Name </div> <div ng-message="minlength"> The name is too short </div> <div ng-message="maxlength"> The name is too long </div> </div> </md-input-container> <md-input-container ng-if="itxReturnOrderCtrl.showMiddleName"> <label>Middlename</label> <input type="text" name="middlename" ng-model="itxReturnOrderCtrl.sfiData.middleName" ng-model-options="{updateOn: 'default blur', debounce: { 'default': 300, 'blur': 0 }}" ng-maxlength="$root.validations.middlename" md-maxlength="$root.validations.middlename" required> <div ng-messages="itxReturnOrderCtrl.sfiForm.middlename.$error"> <div ng-message="required"> Please enter your MiddleName </div> <div ng-message="maxlength"> Please enter your MiddleName </div> </div> </md-input-container> <!-- LAST NAME --> <md-input-container ng-if="itxReturnOrderCtrl.countryCode !== 'KR' && itxReturnOrderCtrl.countryCode !== 'CN'"> <label>Surname(s)</label> <input type="text" name="lastname" ng-model="itxReturnOrderCtrl.sfiData.lastName" ng-model-options="{updateOn: 'default blur', debounce: { 'default': 300, 'blur': 0 }}" ng-maxlength="$root.validations.lastname" md-maxlength="$root.validations.lastname" required> <div ng-messages="itxReturnOrderCtrl.sfiForm.lastname.$error"> <div ng-message="required"> Please enter your Surname(s) </div> <div ng-message="maxlength"> Please enter your Surname(s) </div> </div> </md-input-container> </div> </div> </form> <div class="row"> <div class="btn-container col-md-6"> <itx-button ng-click="itxReturnOrderCtrl.backSfi()"> BACK </itx-button> <itx-button ng-click="itxReturnOrderCtrl.confirmSfi()" is-disabled="itxReturnOrderCtrl.sfiForm.$invalid"> CONFIRM </itx-button> </div> </div> </div> <!-- END OPTIONAL COD BLOCK --> <!-- CONFIRMATION BLOCK --> <div id="return-order-confirmation-block" class="container-fluid" ng-if="itxReturnOrderCtrl.step==4"> <section class="row" ng-cloak> <article class="col-sm-12 col-md-9 col-md-offset-2 shop-cart-confirmation"> <itx-spot type="MyAccountOrderReturn_Step5" ng-if="itxReturnOrderCtrl.myAccountOrderReturnStep5Spot"></itx-spot> <div class="row header actions"> <div class="col-sm-2 number"> <span class="ico-back">Volver</span> <span>Return no.:</span> <span>{{ itxReturnOrderCtrl.rma }}</span> </div> <div class="col-sm-4 col-md-3 date"> Return date: <span>{{ itxReturnOrderCtrl.today | date:$root.inditex.iXDateFormat }}</span> </div> <div class="col-sm-3 method"> Number of packages: <span>{{ itxReturnOrderCtrl.numBoxes }}</span> </div> <div class="col-sm-2 text-right printing hidden-xs"> <a href="javascript:window.print();" class="action print"> <span class="ico-action"></span>Print </a> </div> </div> <div class="row actions visible-xs"> <div class="confirm-container"> <div class="col-xs-5 col-sm-2"> <a href="javascript:window.print();" class="action print"> <span class="ico-action"></span>Print </a> </div> <div class="col-xs-5 col-sm-3 col-md-4"> <a class="action receipt" ng-if="itxReturnOrderCtrl.order.invoiceInfo" ng-href="{{ itxReturnOrderCtrl.downloadInvoice() }}" target="_blank"> <span class="ico-action"></span>Invoice </a> </div> <div class="col-xs-4 col-sm-3 col-md-5"> </div> <div class="col-xs-8 col-sm-7 col-md-5"></div> </div> </div> <div class="row details"> <div ng-class="{ 'col-sm-4' : itxReturnOrderCtrl.selectedReturnType !== 'DROPOFFRETURN'}" ng-if="itxReturnOrderCtrl.selectedReturnType !== 'DROPOFFRETURN'"> <div class="details-container"> <h3>Collection address</h3> <div class="detail-my-address"> <p>{{ itxReturnOrderCtrl.shippingAddress.address.addressLines[0] }}</p> <p ng-if="itxReturnOrderCtrl.shippingAddress.address.addressLines.length > 1 && itxReturnOrderCtrl.shippingAddress.address.addressLines[1] !== '-'">{{ itxReturnOrderCtrl.shippingAddress.address.addressLines[1] }}</p> <p ng-if="itxReturnOrderCtrl.shippingAddress.address.addressLines.length > 2 && itxReturnOrderCtrl.shippingAddress.address.addressLines[2] !== '-'">{{ itxReturnOrderCtrl.shippingAddress.address.addressLines[2] }}</p> <p><span ng-if="itxReturnOrderCtrl.shippingAddress.address.zipCode !== '-'">{{ itxReturnOrderCtrl.shippingAddress.address.zipCode }}, </span> <span ng-if="itxReturnOrderCtrl.shippingAddress.address.countryCode !== 'TR' && itxReturnOrderCtrl.shippingAddress.address.city && itxReturnOrderCtrl.shippingAddress.address.city !== '-'">{{ itxReturnOrderCtrl.shippingAddress.address.city }}</span> <span ng-if="itxReturnOrderCtrl.shippingAddress.address.countryCode === 'TR' && itxReturnOrderCtrl.shippingAddress.address.city && itxReturnOrderCtrl.shippingAddress.address.city !== '-'">{{ itxReturnOrderCtrl.shippingAddress.address.city.split('#')[1] }}</span> </p> <p ng-if="itxReturnOrderCtrl.shippingAddress.address.countryCode === 'MX'">{{ itxReturnOrderCtrl.shippingAddress.address.colony }} {{ itxReturnOrderCtrl.shippingAddress.address.municipality }}</p> <p ng-if="itxReturnOrderCtrl.shippingAddress.address.countryCode === 'TR'">{{ itxReturnOrderCtrl.shippingAddress.address.colony.split('#')[1] }}</p> <p> <span class="upper" ng-if="$root.inditex.iStoreJSON.details.hideProvinceCombo === '0' && itxReturnOrderCtrl.shippingAddress.address.stateCode !== '-'">{{ itxReturnOrderCtrl.shippingAddress.address.stateName }} - </span> {{ itxReturnOrderCtrl.shippingAddress.address.countryName }} </p> <p>{{ itxReturnOrderCtrl.shippingAddress.address.firstName }} <span ng-if="itxReturnOrderCtrl.showMiddleName">{{ itxReturnOrderCtrl.shippingAddress.address.middleName }}</span> <span ng-if="$root.inditex.iCountryCode !== 'KR' && $root.inditex.iCountryCode !== 'CN'">{{ itxReturnOrderCtrl.shippingAddress.address.lastName }}</span></p> <p>{{ itxReturnOrderCtrl.shippingAddress.address.phones[0].countryCode }} {{ itxReturnOrderCtrl.shippingAddress.address.phones[0].subscriberNumber }}</p> </div> </div> </div> <div ng-class="{ 'col-sm-12' : itxReturnOrderCtrl.selectedReturnType === 'DROPOFFRETURN', 'col-sm-8' : itxReturnOrderCtrl.selectedReturnType !== 'DROPOFFRETURN'}"> <section class="cart-content"> <header class="row"> <div class="col-sm-6 text-center">Returned items</div> <div class="col-sm-2 hidden-xs text-center">Quantity</div> <div class="col-sm-4 text-right hidden-xs">Amount</div> </header> <!-- PRODUCT ROW --> <article class="product row" ng-repeat="item in itxReturnOrderCtrl.returnItems"> <div class="col-sm-6"> <div class="photo"> <img ng-src="{{ itxReturnOrderCtrl.ItxProductFactory.getProductImage(item.image, 1, 5) }}" title="{{ item.name }}" alt="{{ item.name }}"> </div> <div class="info"> <a href="{{ itxReturnOrderCtrl.ItxOrderFactory.getProductUrl(item.parentId, item.name) }}" class="name">{{ item.name }}</a> <span class="visible-xs">{{ item.quantity }} x <span ng-bind-html='itxReturnOrderCtrl.formatPrice(item.unitPrice)'></span> </span> <span class="reference"><abbr title="referencia">ref.</abbr>{{ item.reference.substr(0,item.reference.indexOf('-')) }}</span> <span class="size">{{ item.sizeToShow }}</span> </div> </div> <div class="col-sm-2 cantidad hidden-xs">{{ item.returnQuantity }}</div> <div class="col-sm-4 precio text-right hidden-xs"> <span ng-bind-html='itxReturnOrderCtrl.formatPrice(item.unitPrice)'></span> </div> </article> <!-- END PRODUCT ROW --> <div> <!-- DESCUENTOS --> <div class="row gastos-envio" ng-if="itxReturnOrderCtrl.allItemsSelected"> <div class="col-sm-7 hidden-xs">&nbsp;</div> <div class="col-sm-4 col-xs-6"><strong>Discounts</strong>&nbsp;</div> <div class="col-sm-1 col-xs-6 text-right"><span ng-bind-html='itxReturnOrderCtrl.formatPrice(itxReturnOrderCtrl.totalAdjustment)'></span></div> </div> <div class="row final"> <div class="col-sm-7 hidden-xs">&nbsp;</div> <div class="col-sm-4 col-xs-6">TOTAL TO BE RETURNED:</div> <div class="col-sm-1 col-xs-6 text-right"> <span ng-bind-html='itxReturnOrderCtrl.formatPrice(itxReturnOrderCtrl.totalReturn)'></span> </div> </div> </div> </section> </div> </div> <div> <p>What now?</p> <ul> <li>Put the items in the indicated packages. Don't forget to include the purchase receipt.</li> <li>We will contact you to confirm the date and time of the pick-up.</li> </ul> </div> </article> </section> </div> <!-- Codigos Postales Restringidos Rusia --> <itx-spot type="MyAccountOrderReturn_ZipCodeRestricted" ng-if="itxReturnOrderCtrl.myAccountOrderReturnZipCodeRestrictedSpot"></itx-spot></script><script id="account-cards.tpl" type="text/ng-template"><article class="my-account-payment-card"> <itx-spot type="MyAccountWalletCards" ng-if="itxAccountCardsCtrl.myAccountWalletCardsSpot"></itx-spot> <div> <!-- Si no hay tarjetas --> <p ng-if="itxAccountCardsCtrl.cards && !itxAccountCardsCtrl.cards.length">You do not currently have any saved cards.</p> <p ng-if="itxAccountCardsCtrl.cards && !itxAccountCardsCtrl.cards.length">To enjoy the benefits of Easy Purchase, activate the option "Save card" in your next online purchase <span class="star-fav">★</span></p> <p ng-if="itxAccountCardsCtrl.cards && !itxAccountCardsCtrl.cards.length">Remember that your details are completely secure and will only be used to make your purchases easier.</p> <!-- Si hay tarjetas --> <p ng-if="itxAccountCardsCtrl.cards && itxAccountCardsCtrl.cards.length">To speed up the purchase process, we will use the card selected as a favourite <span class="star-fav">★</span>at the checkout.</p> <div class="card-list-container"> <div class="generic-card" ng-repeat="card in itxAccountCardsCtrl.cards" ng-class="{expired : card.expired == 1}"> <a class="ficha-star" ng-class="{on : card.defaultCard}" ng-click="itxAccountCardsCtrl.setCardAsDefault(card)">Make favourite</a> <strong class="tit">{{card.holderName}}</strong> <div class="card-info-container"> <img ng-src="{{ card.paymentImgUrl }}" /> <div class="list-payment-cardlist-printable"> <span>{{card.printablePan}}</span> <span class="icon icon-locked"></span> </div> </div> <div class="card-list-footer"> <div ng-if="card.expired == 1" class="expired">Expired card</div> <a ng-if="itxAccountCardsCtrl.isCardDeletable()" ng-click="itxAccountCardsCtrl.showDeleteCardPrompt(card)"> <span class="icon icon-bin"></span> Delete </a> </div> </div> </div> <itx-spot type="MyAccountWalletUnregister" ng-if="itxAccountCardsCtrl.myAccountWalletUnregisterSpot"></itx-spot> </div> </article></script><script id="my-account-address-book.tpl" type="text/ng-template"><article class="mi-cuenta-direcciones my-account-section col-md-12" ng-if="!itxMyAccountAddressBookCtrl.noBillingAddress"> <p class="message-ok" ng-if="itxMyAccountAddressBookCtrl.updateAddressOk"> <itx-spot type="MyAccountAddressBook_UpdateSuccess" ng-if="itxMyAccountAddressBookCtrl.myAccountAddressBookUpdateSuccessSpot"></itx-spot> </p> <p class="message-ok" ng-if="itxMyAccountAddressBookCtrl.addAddressOk"> <itx-spot type="MyAccountAddressBook_AddSuccess" ng-if="itxMyAccountAddressBookCtrl.myAccountAddressBookAddSuccessSpot"></itx-spot> </p> <h2>Delivery addresses</h2> <itx-spot type="MyAccountAddressBook" ng-if="itxMyAccountAddressBookCtrl.myAccountAddressBookSpot"></itx-spot> <div class="ficha-direccion-container"> <div class="generic-card" ng-repeat="address in itxMyAccountAddressBookCtrl.shippingAddresses track by $index"> <strong class="tit">{{address.addressName}}</strong> <p ng-if="address.isCompany">{{address.company.name}} {{address.company.vatin}}</p> <p>{{address.firstName}} {{address.middleName}} {{address.lastName}}</p> <p>{{itxMyAccountAddressBookCtrl.formatAddress(address)}}</p> <p><span ng-if="address.zipCode !== '-'">{{address.zipCode}}. </span><span ng-if="address.city !== '-'">{{address.city}}. </span><span ng-if="$root.inditex.iStoreJSON.details.hideProvinceCombo === '0' && address.stateName !== '-'">{{address.stateName}}</span></p> <p ng-if="address.countryCode === 'MX'">{{address.colony}} {{address.municipality}}</p> <p ng-if="$root.inditex.iStoreJSON.details.enableDistrict == true">{{address.colony}}</p> <p ng-if="address.countryName">{{address.countryName}}</p> <p>{{address.phones[0].countryCode}} {{address.phones[0].subscriberNumber}}</p> <div class="generic-card-footer"> <a class="mod-direccion" ng-click="itxMyAccountAddressBookCtrl.editAddress(address)"><span class="icon icon-pencil-flip"></span> Change</a> <a class="mod-direccion" ng-click="itxMyAccountAddressBookCtrl.removeAddress(address)"><span class="icon icon-bin"></span> Delete</a> </div> </div> <div class="empty-card" ng-if="!itxMyAccountAddressBookCtrl.noBillingAddress" ng-click="itxMyAccountAddressBookCtrl.addNewAddress()"> <a class="new-direccion"><span>Add address</span></a> </div> </div> <p class="ver-dir" ng-if="!itxMyAccountAddressBookCtrl.noBillingAddress"> <a class="link-2" ng-click="itxMyAccountAddressBookCtrl.goToPersonalInfo()">See my billing address </a> </p> <div class="ficha empty" ng-if="itxMyAccountAddressBookCtrl.noBillingAddress"> <a class="new-direccion" ng-click="itxMyAccountAddressBookCtrl.goToPersonalInfo()"><span>See my billing address</span></a> </div> <div ng-if="itxMyAccountAddressBookCtrl.iXPhysicalStores"> <h2 style="clear: left;">My stores</h2> <itx-spot type="MyAccountStores" ng-if="itxMyAccountAddressBookCtrl.myAccountStoresSpot"></itx-spot> <div class="shop-list-container"> <div ng-repeat="shop in itxMyAccountAddressBookCtrl.shops" class="generic-card"> <a ng-click="itxMyAccountAddressBookCtrl.deleteFavouriteStore(shop)" class="ficha-star on"></a> <strong class="tit" ng-bind="shop.city + '/ ' + shop.name"></strong> <p>{{itxMyAccountAddressBookCtrl.formatAddress(shop)}}</p> <p>{{shop.zipCode}}. {{shop.city}}. {{shop.state}}</p> <p ng-if="shop.countryCode === 'MX'">{{shop.colony}} {{shop.municipality}}</p> <p ng-repeat="phone in shop.phones" class="tel">{{phone}}</p> <div class="generic-card-footer"> <a ng-click="itxMyAccountAddressBookCtrl.viewStoreInMap(shop)" class="ver-mapa"><span class="icon icon-location2"></span> View on the map</a> </div> </div> <div class="empty-card"> <a ng-click="itxMyAccountAddressBookCtrl.openMapToSelectStore()"><span>Add store</span></a> </div> </div> </div> </article> <article ng-if="itxMyAccountAddressBookCtrl.noBillingAddress" class="mi-cuenta-direcciones my-account-section no-addresses col-md-12"> <div class="noaddresses-info"> <span> You will need to complete your personal details in order to add a delivery address. </span> </div> <itx-button ng-click="itxMyAccountAddressBookCtrl.goToPersonalInfo()"> PERSONAL DETAILS </itx-button> </article></script><script id="account-menu.tpl" type="text/ng-template"><div class="my-account-side"> <div> <a ng-click="itxAccountMenuCtrl.goToSection('personal')" id="mi-cuenta-datos" ui-sref-active="menu-account-active"> CUSTOMER INFORMATION </a> </div> <div> <a ng-click="itxAccountMenuCtrl.goToSection('direcciones')" id="mi-cuenta-direcciones" ui-sref-active="menu-account-active"> {{ itxAccountMenuCtrl.addressSectionText }} </a> </div> <div> <a ng-click="itxAccountMenuCtrl.goToSection('pedidos')" id="mi-cuenta-pedidos" ui-sref-active="menu-account-active"> ORDERS </a> </div> <div ng-if="itxAccountMenuCtrl.returnsActive"> <a ng-click="itxAccountMenuCtrl.goToSection('devoluciones')" id="mi-cuenta-devoluciones" ui-sref-active="menu-account-active"> RETURNS </a> </div> <div> <a ng-click="itxAccountMenuCtrl.goToSection('tarjetas')" id="mi-cuenta-tarjetas" ui-sref-active="menu-account-active"> CARDS </a> </div> <div> <a ng-click="itxAccountMenuCtrl.goToSection('newsletter')" id="mi-cuenta-newsletter" ui-sref-active="menu-account-active"> Notifications </a> </div> <div> <a ng-click="itxAccountMenuCtrl.goToSection('wishlists')" id="mi-cuenta-wishlists" ui-sref-active="menu-account-active"> WISHLISTS </a> </div> <div ng-if="::itxAccountMenuCtrl.youPayEnabled"> <a ng-click="itxAccountMenuCtrl.goToSection('youpay')" id="mi-cuenta-sharedAccount" ui-sref-active="menu-account-active"> YouPay </a> </div> <div ng-if="$root.activeMobileMenu"> <a id="mi-cuenta-logout" ui-sref-active="menu-account-active" ng-click="itxAccountMenuCtrl.logout()"> sign out </a> </div> </div></script><script id="my-account-newsletter.tpl" type="text/ng-template"><article class="mi-cuenta-newsletter" ng-if="(itxMyAccountNewsletterCtrl.status==='subscribe') || (itxMyAccountNewsletterCtrl.status==='subscribing')" ng-cloak> <ng-form name="itxMyAccountNewsletterCtrl.newsletterForm" method="post"> <h2>NEWSLETTER</h2> <p>If you would like to receive information on what's new and the latest trends, subscribe to our weekly newsletter</p> <div class="clearfix modi-newsletter"> <strong>E-mail</strong> <div> <span>{{itxMyAccountNewsletterCtrl.subscribeData.email}}</span> <p ng-if="!itxMyAccountNewsletterCtrl.isWalletUser"> <a class="link-2" ui-sref="root.layout.account-personal-info">Change information</a> </p> </div> </div> <md-input-container class="privacy-policy-accepted" ng-if="$root.inditex.iCountryCode !== 'KR'"> <md-checkbox id="newsletter-check" name="privacyPolicyAccepted" ng-model="itxMyAccountNewsletterCtrl.privacyPolicyAccepted" required> <span ng-if="$root.rgpdTextEnabled"> <span> I have read the </span> <a class="ays-check-politica link-2 privacy" ng-click="$event.stopPropagation(); itxMyAccountNewsletterCtrl.trackLegal()"> Privacy policy </a> <span> and want to receive news and customised commercial communications from of ZARA HOME via email and other means </span> </span> <span ng-if="!$root.rgpdTextEnabled"> <span ng-if="!$root.noDobleOptInActive"> I have read and accept the <a class="link-2 privacy" ng-mousedown="$event.preventDefault(); itxMyAccountNewsletterCtrl.trackLegal($event)">Privacy policy.</a> </span> <span ng-if="$root.noDobleOptInActive"> <span> ???javascript..Newsletter.dobleopt.footer.part1??? <a ng-mousedown="$event.preventDefault(); itxMyAccountNewsletterCtrl.trackLegal($event)" class="link-2 privacy"> Privacy Policy </a> and would like to receive news, notifications and offers from Zara Home. </span> </span> </span> <div ng-messages="itxMyAccountNewsletterCtrl.newsletterForm.privacyPolicyAccepted.$error" ng-show="itxMyAccountNewsletterCtrl.newsletterForm.$submitted"> <div ng-message="required">You must accept the privacy policy in order to subscribe.</div> </div> </md-checkbox> </md-input-container> <!--INI CONSENTIMIENTOS COREA --> <md-input-container ng-if="$root.inditex.iCountryCode === 'KR'"> <md-checkbox ng-model="itxMyAccountNewsletterCtrl.checkAll" ng-change="itxMyAccountNewsletterCtrl.checkAllChanged()"> <span>Check All</span> </md-checkbox> </md-input-container> <md-input-container ng-if="$root.inditex.iCountryCode === 'KR'"> <md-checkbox id="checkConsentNewsletter" name="checkConsentNewsletter" ng-model="itxMyAccountNewsletterCtrl.consentNewsletter" ng-change="itxMyAccountNewsletterCtrl.checkKrConsents()" required> <span>Consent to the Collection and Use of the Personal Information for the subscription to the Newsletter.</span> <a class="link-2 privacy" ng-click="$event.stopPropagation(); itxMyAccountNewsletterCtrl.readMoreKorea('newsletter')">Read more.</a> <div ng-messages="itxMyAccountNewsletterCtrl.newsletterForm.checkConsentNewsletter.$error" ng-show="itxMyAccountNewsletterCtrl.newsletterForm.$submitted"> <div ng-message="required">You must accept the privacy policy</div> </div> </md-checkbox> </md-input-container> <md-input-container ng-if="$root.inditex.iCountryCode === 'KR'"> <md-checkbox id="checkTransferInfo" name="checkTransferInfo" ng-model="itxMyAccountNewsletterCtrl.consentTransferInfo" ng-change="itxMyAccountNewsletterCtrl.checkKrConsents()" required> <span>* Consent to Overseas Transfer of Personal Information.</span> <a class="link-2 privacy" ng-click="$event.stopPropagation(); itxMyAccountNewsletterCtrl.readMoreKorea('overseas')">Read more.</a> <div ng-messages="itxMyAccountNewsletterCtrl.newsletterForm.checkTransferInfo.$error" ng-show="itxMyAccountNewsletterCtrl.newsletterForm.$submitted"> <div ng-message="required">You must accept the privacy policy</div> </div> </md-checkbox> </md-input-container> <!-- FIN KR --> <div> <itx-button ng-click="itxMyAccountNewsletterCtrl.subscribe()" enable-progress="itxMyAccountNewsletterCtrl.status==='subscribing'"> SUBSCRIBE </itx-button> </div> <div class="rgpd-newsletter-subscription" ng-if="$root.rgpdTextEnabled && itxMyAccountNewsletterCtrl.privacyPolicyAccepted && !$root.isMobile && $root.inditex.iCountryCode !== 'KR'"> <itx-spot type="RGPD_Newsletter_Subscription_1b"></itx-spot> </div> </ng-form> </article> <!-- Baja --> <article class="mi-cuenta-newsletter" ng-if="(itxMyAccountNewsletterCtrl.status==='unsubscribe') || (itxMyAccountNewsletterCtrl.status==='unsubscribing')" ng-cloak> <h2>NEWSLETTER</h2> <p>You have signed up to receive the our weekly newsletter. Thank you for your interest in zarahome.com</p> <div class="clearfix modi-newsletter"> <strong>E-mail</strong> <div> <span>{{itxMyAccountNewsletterCtrl.subscribeData.email}}</span> <p ng-if="!itxMyAccountNewsletterCtrl.isWalletUser"> <a class="link-2" ng-click="itxMyAccountNewsletterCtrl.jumpToPage('ItxMyAccountPersonalPage')">Change information</a> </p> </div> </div> <p class="boton-row"> <itx-button ng-click="itxMyAccountNewsletterCtrl.unsubscribe()" enable-progress="itxMyAccountNewsletterCtrl.status==='unsubscribing'"> UNSUBSCRIBE </itx-button> </p> </article> <!-- Alta con éxito --> <article class="mi-cuenta-newsletter" ng-if="itxMyAccountNewsletterCtrl.status==='subscribeSuccess' && !$root.noDobleOptInActive" ng-cloak> <h2>NEWSLETTER</h2> <p>Thank you for subscribing to our newsletter</p> <p class="boton-row"> <itx-button ng-click="itxMyAccountNewsletterCtrl.$onInit()">BACK</itx-button> </p> </article> <!-- Alta con error --> <article class="mi-cuenta-newsletter" ng-if="(itxMyAccountNewsletterCtrl.status==='subscribeError')" ng-cloak> <h2>NEWSLETTER</h2> <p>{{itxMyAccountNewsletterCtrl.errorMessage}}</p> <md-button ng-click="itxMyAccountNewsletterCtrl.$onInit()">BACK</md-button> </article> <!-- Baja con éxito --> <article class="mi-cuenta-newsletter" ng-if="itxMyAccountNewsletterCtrl.status==='unsubscribeSuccess' && !$root.noDobleOptInActive" ng-cloak> <h2>NEWSLETTER</h2> <p>You have been successfully unsubscribed from our Newsletter</p> <p class="boton-row"> <itx-button ng-click="itxMyAccountNewsletterCtrl.$onInit()">BACK</itx-button> </p> </article> <!-- Baja con error --> <article class="mi-cuenta-newsletter" ng-if="(itxMyAccountNewsletterCtrl.status==='unsubscribeError' || itxMyAccountNewsletterCtrl.status === 'checkStatusError')" ng-cloak> <h1>NEWSLETTER</h1> <p>{{itxMyAccountNewsletterCtrl.errorMessage}}</p> <md-button ng-click="itxMyAccountNewsletterCtrl.$onInit()">BACK</md-button> </article> <article class="mi-cuenta-newsletter" ng-cloak ng-if="($root.inditex.iUserJSON.isSubscribedComingBackSoon || itxMyAccountNewsletterCtrl.subscribeRequest) && itxMyAccountNewsletterCtrl.CsBsDobleOptIn"> <h2>We will notify you when it is available</h2> <p>You have subscribed to product availability notifications</p> <div> <itx-button ng-click="itxMyAccountNewsletterCtrl.unsubscribeStockNotification()" enable-progress="itxMyAccountNewsletterCtrl.notificationLoading"> UNSUBSCRIBE </itx-button> </div> </article> <article class="mi-cuenta-newsletter" ng-cloak ng-if="(!$root.inditex.iUserJSON.isSubscribedComingBackSoon && !itxMyAccountNewsletterCtrl.subscribeRequest) && itxMyAccountNewsletterCtrl.CsBsDobleOptIn"> <h2>We will notify you when it is available</h2> <p>Subscribe and we’ll notify you when the items you are waiting for are available on the website. You will only receive notifications for products you have requested to keep track of at zarahome.com</p> <div> <itx-button ng-click="itxMyAccountNewsletterCtrl.subscribeStockNotification()" enable-progress="itxMyAccountNewsletterCtrl.notificationLoading"> SUBSCRIBE </itx-button> </div> </article></script><script id="account-order-detail.tpl" type="text/ng-template"><div class="order-detail detalle-pedido-global"> <header> <div class="number"> <span ng-if="!itxAccountOrderDetailCtrl.selectedOrder.isRMA">Order number</span> <span ng-if="itxAccountOrderDetailCtrl.selectedOrder.isRMA">Return number</span> <span>{{itxAccountOrderDetailCtrl.selectedOrder.id}}</span> </div> <div class="date"> <span>Date:</span> <span ng-if="accountOrderDetailCtrl.selectedOrder.isRMA"> {{itxAccountOrderDetailCtrl.selectedOrder.date.substring(0,10) | date:$root.inditex.iXDateFormat}} </span> <span ng-if="!itxAccountOrderDetailCtrl.selectedOrder.isRMA"> {{itxAccountOrderDetailCtrl.selectedOrder.date | date:$root.inditex.iXDateFormat}} </span> </div> <div class="method"> <span>Delivery method:</span> <span>{{itxAccountOrderDetailCtrl.selectedOrder.shipping.name}}</span> </div> <div class="payment" ng-if="itxAccountOrderDetailCtrl.selectedOrder.payment && itxAccountOrderDetailCtrl.selectedOrder.payment.length"> <span>Payment:</span> <span ng-repeat="payment in itxAccountOrderDetailCtrl.selectedOrder.payment">{{payment.name}}</span> </div> </header> <div class="row steps hidden-xs" ng-if="!itxAccountOrderDetailCtrl.selectedOrder.isRMA && !itxAccountOrderDetailCtrl.showTecInfo"> <div class="confirm-container"> <ul class="clearfix"> <li class="col-sm-3" ng-class="{ 'hidden-xs': itxAccountOrderDetailCtrl.estadoPedidos.preparando.indexOf(itxAccountOrderDetailCtrl.selectedOrder.status) === -1 && itxAccountOrderDetailCtrl.selectedOrder.status !== 'N', 'completed': itxAccountOrderDetailCtrl.estadoPedidos.preparando.indexOf(itxAccountOrderDetailCtrl.selectedOrder.status) === -1 && itxAccountOrderDetailCtrl.selectedOrder.status !== 'N', 'active': itxAccountOrderDetailCtrl.estadoPedidos.preparando.indexOf(itxAccountOrderDetailCtrl.selectedOrder.status) !== -1 && itxAccountOrderDetailCtrl.selectedOrder.status !== 'N' }"> <span class="ico-state"></span>Preparing your order </li> <li class="col-sm-3" ng-class="{ 'hidden-xs': itxAccountOrderDetailCtrl.estadoPedidos.enTransito.indexOf(itxAccountOrderDetailCtrl.selectedOrder.status) === -1, 'completed': itxAccountOrderDetailCtrl.estadoPedidos.entregado.indexOf(itxAccountOrderDetailCtrl.selectedOrder.status) !== -1 || itxAccountOrderDetailCtrl.selectedOrder.shipping.kind === 'pickup' && itxAccountOrderDetailCtrl.selectedOrder.status === 'U', 'active': ( (itxAccountOrderDetailCtrl.selectedOrder.shipping.kind === 'pickup' && itxAccountOrderDetailCtrl.selectedOrder.status !== 'U') || itxAccountOrderDetailCtrl.selectedOrder.shipping.kind === 'delivery' || itxAccountOrderDetailCtrl.selectedOrder.shipping.kind === 'definedDeliveryDate') && itxAccountOrderDetailCtrl.estadoPedidos.enTransito.indexOf(itxAccountOrderDetailCtrl.selectedOrder.status) !== -1}"> <span class="ico-state"></span>In transit </li> <li class="col-sm-3" ng-hide="itxAccountOrderDetailCtrl.pickupShippingMethod.indexOf(itxAccountOrderDetailCtrl.selectedOrder.shipping.kind) === -1" ng-class="{ 'hidden-xs': itxAccountOrderDetailCtrl.estadoPedidos.recoger.indexOf(itxAccountOrderDetailCtrl.selectedOrder.status) === -1, 'completed': itxAccountOrderDetailCtrl.selectedOrder.shipping.kind === 'pickup' && itxAccountOrderDetailCtrl.estadoPedidos.entregado.indexOf(itxAccountOrderDetailCtrl.selectedOrder.status) !== -1, 'active': itxAccountOrderDetailCtrl.estadoPedidos.recoger.indexOf(itxAccountOrderDetailCtrl.selectedOrder.status) !== -1}"> <span class="ico-state"></span>Collect in store </li> <li class="col-sm-3" ng-class="{'hidden-xs': itxAccountOrderDetailCtrl.estadoPedidos.entregado.indexOf(itxAccountOrderDetailCtrl.selectedOrder.status) === -1, 'active': itxAccountOrderDetailCtrl.estadoPedidos.entregado.indexOf(itxAccountOrderDetailCtrl.selectedOrder.status) !== -1}"> <span class="ico-state"></span>Order delivered </li> <li class="col-sm-3" ng-if="itxAccountOrderDetailCtrl.estadoPedidos.cancelado.indexOf(itxAccountOrderDetailCtrl.selectedOrder.status) !== -1" ng-class="{'hidden-xs': itxAccountOrderDetailCtrl.estadoPedidos.cancelado.indexOf(itxAccountOrderDetailCtrl.selectedOrder.status) === -1, 'active': itxAccountOrderDetailCtrl.estadoPedidos.cancelado.indexOf(itxAccountOrderDetailCtrl.selectedOrder.status) !== -1}"> <span class="ico-state"></span>ORDER CANCELLED </li> </ul> </div> </div> <div class="row actions" ng-if="!itxAccountOrderDetailCtrl.selectedOrder.isRMA && (!$root.isMobile || ($root.isMobile && (itxAccountOrderDetailCtrl.selectedOrder.repayable || itxAccountOrderDetailCtrl.selectedOrder.invoiceInfo || (itxAccountOrderDetailCtrl.selectedOrder.isPaperless && itxAccountOrderDetailCtrl.isOrderDelivered) || itxAccountOrderDetailCtrl.isOrderReturnable || itxAccountOrderDetailCtrl.isOrderCancellable)))"> <div class="confirm-container"> <div class="col-xs-3" ng-if="itxAccountOrderDetailCtrl.selectedOrder.repayable"> <a class="action" ng-click="itxAccountOrderDetailCtrl.goToRepayment(itxAccountOrderDetailCtrl.selectedOrder.id)"> Enter payment details </a> </div> <div class="col-xs-4 col-sm-4 col-md-3" ng-if="itxAccountOrderDetailCtrl.selectedOrder.invoicesInfo && itxAccountOrderDetailCtrl.selectedOrder.invoicesInfo.length"> <a class="action receipt" ng-click="itxAccountOrderDetailCtrl.downloadInvoiceFromOrder()" target="_blank"> <span class="icon icon-order-detail icon-coin-dollar"></span>Invoice </a> </div> <div class="col-xs-4 col-sm-4 col-md-3" ng-if="itxAccountOrderDetailCtrl.selectedOrder.isPaperless && itxAccountOrderDetailCtrl.isOrderDelivered"> <a ng-click="itxAccountOrderDetailCtrl.getPaperlessTicket(itxAccountOrderDetailCtrl.selectedOrder)">Electronic receipt</a> </div> <div class="col-xs-4 col-sm-4 col-md-3" ng-if="itxAccountOrderDetailCtrl.eInvoiceEnabled && itxAccountOrderDetailCtrl.selectedOrder.eInvoiceStatus === 'request'"> <a class="action receipt" ng-if="itxAccountOrderDetailCtrl.requestEInvoiceAllowed" ng-click="itxAccountOrderDetailCtrl.requestEInvoice()"> <span class="icon icon-order-detail icon-coin-dollar"></span> Request eInvoice </a> <a class="action receipt disabled" ng-if="!itxAccountOrderDetailCtrl.requestEInvoiceAllowed" data-toggle="tooltip" title="RFC is needed to request eInvoice.
Complete this field in your address in My Account - Customer Information" data-placement="bottom"> <span class="icon icon-order-detail icon-coin-dollar"></span> Request eInvoice </a> </div> <div class="col-xs-4 col-sm-4 col-md-3" ng-if="itxAccountOrderDetailCtrl.eInvoiceEnabled && itxAccountOrderDetailCtrl.selectedOrder.eInvoiceStatus === 'created'"> <a class="action receipt" ng-href="{{itxAccountOrderDetailCtrl.downloadEInvoice()}}" target="_blank"> <span class="icon icon-order-detail icon-coin-dollar"></span> Download eInvoice </a> </div> <div class="col-xs-4 col-sm-4 col-md-3" ng-if="itxAccountOrderDetailCtrl.eInvoiceEnabled && itxAccountOrderDetailCtrl.selectedOrder.eInvoiceStatus === 'pending'"> <a id="eInvoice_pending" class="action receipt" data-toggle="tooltip" title="Your invoice is being processed.
 The option Download your invoice will be available soon." data-placement="bottom"> <span class="icon icon-order-detail icon-coin-dollar"></span> Processing eInvoice </a> </div> <div class="col-xs-4 col-sm-4 col-md-3" ng-if="itxAccountOrderDetailCtrl.isOrderReturnable"> <a class="action return" ng-click="itxAccountOrderDetailCtrl.goToReturnOrder(itxAccountOrderDetailCtrl.selectedOrder.id)"> <span class="icon icon-order-detail icon-return"></span> Return items </a> </div> <div class="col-xs-4 col-sm-3 col-md-3" ng-if="itxAccountOrderDetailCtrl.isOrderCancellable"> <a class="cancel" ng-click="itxAccountOrderDetailCtrl.onCancelOrder()"> <span class="icon icon-order-detail icon-cancel-circle"></span>Cancel order </a> </div> </div> </div> <div class="row multibanco-info" ng-if="itxAccountOrderDetailCtrl.selectedOrder.showMultibancoInfo"> <div class="confirm-container"> <div class="multibanco-title"> <span> Details for paying by bank transfer </span> </div> <div class="multibanco-reference"> <span> <strong>Reference:</strong> {{ itxAccountOrderDetailCtrl.selectedOrder.multibancoInfo.reference }} </span> </div> <div class="multibanco-entity"> <span> <strong>Bank:</strong> {{ itxAccountOrderDetailCtrl.selectedOrder.multibancoInfo.entity }} </span> </div> <div class="multibanco-amount"> <span> <strong>Amount to be paid:</strong> {{ itxAccountOrderDetailCtrl.selectedOrder.multibancoInfo.amount }} </span> </div> </div> </div> <div class="row details"> <div class="col-sm-4"> <div class="details-container"> <span ng-show="itxAccountOrderDetailCtrl.selectedOrder.physicalStore" data-ng-cloak> <h3>Delivery address</h3> <div class="detail-my-address"> <p>{{itxAccountOrderDetailCtrl.selectedOrder.physicalStore.addressLines[0]}}</p> <p ng-if="itxAccountOrderDetailCtrl.selectedOrder.physicalStore.addressLines.length > 1">{{itxAccountOrderDetailCtrl.selectedOrder.physicalStore.addressLines[1]}}</p> <p> <span ng-if="itxAccountOrderDetailCtrl.selectedOrder.physicalStore.zipCode !== '-'">{{itxAccountOrderDetailCtrl.selectedOrder.physicalStore.zipCode}},</span> <span ng-if="itxAccountOrderDetailCtrl.selectedOrder.physicalStore.city !== '-'">{{itxAccountOrderDetailCtrl.selectedOrder.physicalStore.city}}</span> </p> <p ng-if="itxAccountOrderDetailCtrl.selectedOrder.physicalStore.countryCode === 'MX'"> {{itxAccountOrderDetailCtrl.selectedOrder.physicalStore.colony}} {{itxAccountOrderDetailCtrl.selectedOrder.physicalStore.municipality}} </p> <p> <span class="upper" ng-if="itxAccountOrderDetailCtrl.selectedOrder.physicalStore.state !== '-'">{{itxAccountOrderDetailCtrl.selectedOrder.physicalStore.state}} - </span> {{itxAccountOrderDetailCtrl.selectedOrder.physicalStore.countryName}} </p> <p>{{itxAccountOrderDetailCtrl.selectedOrder.physicalStore.firstName}} {{itxAccountOrderDetailCtrl.selectedOrder.physicalStore.lastName}}</p> <p ng-if="itxAccountOrderDetailCtrl.selectedOrder.physicalStore.phones[0].countryCode"> {{itxAccountOrderDetailCtrl.selectedOrder.physicalStore.phones[0].countryCode}} {{itxAccountOrderDetailCtrl.selectedOrder.physicalStore.phones[0].subscriberNumber}} </p> <p ng-if="itxAccountOrderDetailCtrl.selectedOrder.physicalStore.phones[0] && !itxAccountOrderDetailCtrl.selectedOrder.physicalStore.phones[0].countryCode"> {{itxAccountOrderDetailCtrl.selectedOrder.physicalStore.phones[0]}} </p> </div> </span> <span ng-show="itxAccountOrderDetailCtrl.selectedOrder.shippingAddress" data-ng-cloak> <h3 ng-if="itxAccountOrderDetailCtrl.selectedOrder.isRMA">Collection address</h3> <h3 ng-if="!itxAccountOrderDetailCtrl.selectedOrder.isRMA">Delivery address</h3> <div class="detail-my-address"> <p>{{itxAccountOrderDetailCtrl.selectedOrder.shippingAddress.addressLines[0]}}</p> <p ng-if="itxAccountOrderDetailCtrl.selectedOrder.shippingAddress.addressLines.length > 1 && itxAccountOrderDetailCtrl.selectedOrder.shippingAddress.addressLines[1] !== '-'"> {{itxAccountOrderDetailCtrl.selectedOrder.shippingAddress.addressLines[1]}} </p> <p ng-if="itxAccountOrderDetailCtrl.selectedOrder.shippingAddress.addressLines.length > 2 && itxAccountOrderDetailCtrl.selectedOrder.shippingAddress.addressLines[2] !== '-'"> {{itxAccountOrderDetailCtrl.selectedOrder.shippingAddress.addressLines[2]}} </p> <p> <span ng-if="itxAccountOrderDetailCtrl.selectedOrder.shippingAddress.zipCode !== '-' && itxAccountOrderDetailCtrl.selectedOrder.shippingAddress.countryCode === 'AE'">{{itxAccountOrderDetailCtrl.selectedOrder.shippingAddress.zipCode}},</span> <span ng-if="itxAccountOrderDetailCtrl.selectedOrder.shippingAddress.city !== '-'">{{itxAccountOrderDetailCtrl.selectedOrder.shippingAddress.city}}</span> </p> <p ng-if="itxAccountOrderDetailCtrl.selectedOrder.shippingAddress.countryCode === 'MX'"> {{itxAccountOrderDetailCtrl.selectedOrder.shippingAddress.colony}} {{itxAccountOrderDetailCtrl.selectedOrder.shippingAddress.municipality}} </p> <p> <span class="upper" ng-if="$root.inditex.iStoreJSON.details.hideProvinceCombo === '0' && itxAccountOrderDetailCtrl.selectedOrder.shippingAddress.stateName !== '-'">{{itxAccountOrderDetailCtrl.selectedOrder.shippingAddress.stateName}} - </span> {{itxAccountOrderDetailCtrl.selectedOrder.shippingAddress.countryName}} </p> <p ng-if="itxAccountOrderDetailCtrl.selectedOrder.shippingAddress.isCompany"> {{itxAccountOrderDetailCtrl.selectedOrder.shippingAddress.company.name}} - {{itxAccountOrderDetailCtrl.selectedOrder.shippingAddress.company.vatin}} </p> <p>{{itxAccountOrderDetailCtrl.selectedOrder.shippingAddress.firstName}} <span ng-show="itxAccountOrderDetailCtrl.isMiddleName">{{itxAccountOrderDetailCtrl.selectedOrder.shippingAddress.middleName}}</span> <span ng-if="itxAccountOrderDetailCtrl.selectedOrder.shippingAddress.lastName !== '-'">{{itxAccountOrderDetailCtrl.selectedOrder.shippingAddress.lastName}}</span> </p> <p>{{itxAccountOrderDetailCtrl.selectedOrder.shippingAddress.phones[0].countryCode}} {{itxAccountOrderDetailCtrl.selectedOrder.shippingAddress.phones[0].subscriberNumber}}</p> </div> </span> <span ng-show="itxAccountOrderDetailCtrl.selectedOrder.billingAddress" data-ng-cloak> <h3>Billing address</h3> <div class="detail-my-address"> <p ng-if="itxAccountOrderDetailCtrl.selectedOrder.billingAddress.addressLines.length > 0 && itxAccountOrderDetailCtrl.selectedOrder.billingAddress.addressLines[0] != '-'">{{itxAccountOrderDetailCtrl.selectedOrder.billingAddress.addressLines[0]}}</p> <p ng-if="itxAccountOrderDetailCtrl.selectedOrder.billingAddress.addressLines.length > 1 && itxAccountOrderDetailCtrl.selectedOrder.billingAddress.addressLines[1] != '-'">{{itxAccountOrderDetailCtrl.selectedOrder.billingAddress.addressLines[1]}}</p> <p ng-if="itxAccountOrderDetailCtrl.selectedOrder.billingAddress.addressLines.length > 2 && itxAccountOrderDetailCtrl.selectedOrder.billingAddress.addressLines[2] != '-'">{{itxAccountOrderDetailCtrl.selectedOrder.billingAddress.addressLines[2]}}</p> <p> <span ng-if="itxAccountOrderDetailCtrl.selectedOrder.billingAddress.zipCode && itxAccountOrderDetailCtrl.selectedOrder.billingAddress.zipCode != '-' && itxAccountOrderDetailCtrl.selectedOrder.billingAddress.countryCode !== 'AE'"> {{itxAccountOrderDetailCtrl.selectedOrder.billingAddress.zipCode}}, </span> <span ng-if="itxAccountOrderDetailCtrl.selectedOrder.billingAddress.city && itxAccountOrderDetailCtrl.selectedOrder.billingAddress.city != '-'">{{itxAccountOrderDetailCtrl.selectedOrder.billingAddress.city}}</span> </p> <p ng-if="itxAccountOrderDetailCtrl.selectedOrder.billingAddress.countryCode === 'MX'">{{itxAccountOrderDetailCtrl.selectedOrder.billingAddress.colony}} {{itxAccountOrderDetailCtrl.selectedOrder.billingAddress.municipality}}</p> <p ng-if="itxAccountOrderDetailCtrl.selectedOrder.shipping.kind != 'pickup' || (itxAccountOrderDetailCtrl.userType == 'R' || itxAccountOrderDetailCtrl.userType == 'W')"> <span class="upper" ng-if="$root.inditex.iStoreJSON.details.hideProvinceCombo === '0' && itxAccountOrderDetailCtrl.selectedOrder.billingAddress.stateName !== '-'">{{itxAccountOrderDetailCtrl.selectedOrder.billingAddress.stateName}} - </span> {{itxAccountOrderDetailCtrl.selectedOrder.billingAddress.countryName}} </p> <p ng-if="!(itxAccountOrderDetailCtrl.selectedOrder.shipping.kind != 'pickup' || (itxAccountOrderDetailCtrl.userType == 'R' || itxAccountOrderDetailCtrl.userType == 'W'))"> {{itxAccountOrderDetailCtrl.selectedOrder.billingAddress.countryName}} </p> <p ng-if="itxAccountOrderDetailCtrl.selectedOrder.billingAddress.isCompany">{{itxAccountOrderDetailCtrl.selectedOrder.billingAddress.company.name}} - {{itxAccountOrderDetailCtrl.selectedOrder.billingAddress.company.vatin}}</p> <p>{{itxAccountOrderDetailCtrl.selectedOrder.billingAddress.firstName}} <span ng-show="itxAccountOrderDetailCtrl.isMiddleName">{{itxAccountOrderDetailCtrl.selectedOrder.billingAddress.middleName}}</span> <span ng-if="itxAccountOrderDetailCtrl.selectedOrder.billingAddress.lastName !== '-'">{{itxAccountOrderDetailCtrl.selectedOrder.billingAddress.lastName}}</span> </p> <p>{{itxAccountOrderDetailCtrl.selectedOrder.billingAddress.phones[0].countryCode}} {{itxAccountOrderDetailCtrl.selectedOrder.billingAddress.phones[0].subscriberNumber}}</p> </div> </span> <div ng-if="itxAccountOrderDetailCtrl.showTecInfo" class="tec-info"> <div class="tec-header"> Tracking information </div> <div class="tec-body"> <div ng-if="itxAccountOrderDetailCtrl.urlTrackingValid && !itxAccountOrderDetailCtrl.isFinalStatus && itxAccountOrderDetailCtrl.selectedOrder.shipping.kind === itxAccountOrderDetailCtrl.gConstants.shippingKindDelivery"> <a ng-href="{{itxAccountOrderDetailCtrl.selectedOrder.urlTracking}}" target="_blank"> <span class="icon icon-location2"></span> Track your order </a> </div> <div ng-if="itxAccountOrderDetailCtrl.selectedOrder.showCronosDate && !itxAccountOrderDetailCtrl.isFinalStatus"> <p>Estimated delivery date: <br> {{ itxAccountOrderDetailCtrl.selectedOrder.deliveryInfoDate | date:$root.inditex.iXDateFormat }} </p> </div> <div class="suborder-list" ng-repeat="subOrder in itxAccountOrderDetailCtrl.subOrders track by $index"> <p class="numero-pedido" ng-if="itxAccountOrderDetailCtrl.selectedOrder.subordersNumber > 1">Shipment {{$index + 1}} of {{ itxAccountOrderDetailCtrl.selectedOrder.subordersNumber }}</p> <div ng-if="subOrder.fechaEstimada.length > 0 && !itxAccountOrderDetailCtrl.selectedOrder.showCronosDate && !itxAccountOrderDetailCtrl.isFinalStatus"> <p>Estimated delivery date: <br>{{subOrder.fechaEstimadaUTCMoment}}</p> </div> <div class="suborder-state-list" ng-repeat="trackingItem in itxAccountOrderDetailCtrl.selectedOrder.uniqueSuborderStates track by $index"> <span>{{itxAccountOrderDetailCtrl.getTECState(trackingItem.subStatus)}}</span> : <br> <div ng-repeat="fecha in trackingItem.fechaActualizacionMoment track by $index" class="fecha-tec"> <span ng-bind-html="fecha"></span> </div> </div> </div> </div> </div> </div> </div> <div class="col-sm-8"> <section class="cart-content"> <!-- PRODUCT ROW --> <div class="order-items-detail"> <div class="suborder-list many-suborders" ng-if="itxAccountOrderDetailCtrl.selectedOrder.subordersNumber > 1" ng-repeat="subOrder in itxAccountOrderDetailCtrl.selectedOrder.suborders track by $index"> <div class="suborder-shipment col-xs-12"> <span> Shipment {{$index + 1}} of {{ itxAccountOrderDetailCtrl.selectedOrder.subordersNumber }} </span> <span class="suborder-status-text" ng-class="subOrder.statusClass" ng-bind="subOrder.statusText"> </span> </div> <itx-account-suborder-detail order="itxAccountOrderDetailCtrl.selectedOrder" suborder="subOrder" rmas="itxAccountOrderDetailCtrl.rmas"></itx-account-suborder-detail> </div> <div ng-if="itxAccountOrderDetailCtrl.selectedOrder.subordersNumber <= 1"> <itx-account-suborder-detail order="itxAccountOrderDetailCtrl.selectedOrder" rmas="itxAccountOrderDetailCtrl.rmas"></itx-account-suborder-detail> </div> </div> <footer> <div class="row" ng-if="!itxAccountOrderDetailCtrl.selectedOrder.isRMA"> <div class="col-xs-7">Total items:</div> <div class="col-xs-5 text-right" ng-bind-html="itxAccountOrderDetailCtrl.formatPrice(itxAccountOrderDetailCtrl.selectedOrder.totalProduct)"></div> </div> <div class="row" ng-if="!itxAccountOrderDetailCtrl.selectedOrder.isRMA"> <div class="col-xs-7">Delivery charges:</div> <div class="col-xs-5 text-right" ng-bind-html="itxAccountOrderDetailCtrl.formatPrice(itxAccountOrderDetailCtrl.selectedOrder.shippingPrice)"></div> </div> <div class="row" ng-if="itxAccountOrderDetailCtrl.selectedOrder.taxArray.length > 0 && itxAccountOrderDetailCtrl.selectedOrder.isNoNexus!='1'"> <div class="col-xs-7">Total fees:</div> <div class="col-xs-5 text-right"> <span ng-bind-html='itxAccountOrderDetailCtrl.formatPrice(itxAccountOrderDetailCtrl.selectedOrder.totalTax)'> </span> </div> </div> <div class="row" ng-if="$root.inditex.iCountryCode === 'WW' && itxAccountOrderDetailCtrl.selectedOrder.tax === null"> <div class="col-xs-12"> *{{ ::("importCostNotIncluded" | property) }} </div> </div> <div class="row" ng-if="itxAccountOrderDetailCtrl.selectedOrder.tax !== null"> <div class="col-xs-7"> <span ng-if="$root.inditex.iCountryCode !== 'WW'"> {{ ::("ItxOrderDetailDisplay.tax" | property) }}: </span> <span ng-if="$root.inditex.iCountryCode === 'WW'"> {{ ::("ItxOrderDetailDisplay.importCost" | property) }}: </span> </div> <div class="col-xs-5 text-right" ng-bind-html='itxAccountOrderDetailCtrl.formatPrice(itxAccountOrderDetailCtrl.selectedOrder.tax)'></div> </div> <div class="row gastos-envio eco-tasa" ng-repeat="itemTax in itxAccountOrderDetailCtrl.selectedOrder.taxArray" ng-if="itxAccountOrderDetailCtrl.selectedOrder.taxArray.length > 0 && itxAccountOrderDetailCtrl.selectedOrder.isNoNexus!='1'"> <div ng-if="itemTax.name == 'eco_tax'"> <div class="col-xs-4"><span ng-if="$first" class="reference">Dont eco participation mobilier</span></div> <div class="col-xs-3"><span class="reference">{{itemTax.reference}}</span></div> <div class="col-xs-2 text-right"><span ng-bind-html='itxAccountOrderDetailCtrl.formatPrice(itemTax.price)' class="reference"></span></div> </div> </div> <div class="row gastos-envio eco-tasa" ng-repeat="itemTax in itxAccountOrderDetailCtrl.selectedOrder.ecoTaxArray" ng-if="itxAccountOrderDetailCtrl.selectedOrder.ecoTaxArray && itxAccountOrderDetailCtrl.selectedOrder.ecoTaxArray.length > 0 && itxAccountOrderDetailCtrl.selectedOrder.isNoNexus!='1'"> <div class="col-xs-7"><span ng-if="$first">Dont eco participation mobilier</span></div> <div class="col-xs-5 text-right"><span ng-bind-html='itxAccountOrderDetailCtrl.formatPrice(itemTax.price)'></span></div> </div> <div class="row" ng-if="itxAccountOrderDetailCtrl.selectedOrder.totalAdjustment !== 0 && !itxAccountOrderDetailCtrl.selectedOrder.isRMA"> <div class="col-xs-7">Discounts:</div> <div class="col-xs-5 text-right" ng-bind-html="itxAccountOrderDetailCtrl.formatPrice(itxAccountOrderDetailCtrl.selectedOrder.totalAdjustment)"></div> </div> <div class="row" ng-if="itxAccountOrderDetailCtrl.selectedOrder.affinityDiscount"> <div class="col-xs-7"><span>Affinity discount</span></div> <div class="col-xs-5 text-right"><span ng-bind-html="itxAccountOrderDetailCtrl.formatPrice(itxAccountOrderDetailCtrl.selectedOrder.discountedAmount)"></span></div> </div> <div class="row final"> <!-- Si no tiene descuento affinity --> <div class="col-xs-7" ng-if="!itxAccountOrderDetailCtrl.selectedOrder.isRMA">Purchase total:</div> <div class="col-xs-7" ng-if="itxAccountOrderDetailCtrl.selectedOrder.isRMA">TOTAL TO BE RETURNED</div> <!-- Si no tiene descuento affinity el pedido, mostramos el totalOrder --> <div class="col-xs-5 text-right" ng-bind-html="itxAccountOrderDetailCtrl.formatPrice(itxAccountOrderDetailCtrl.selectedOrder.totalOrder)"></div> </div> <div class="order-gift-ticket" ng-if="itxAccountOrderDetailCtrl.selectedOrder.giftTicket === '1'"> <span>Gift receipt</span> </div> </footer> <svg ng-if="itxAccountOrderDetailCtrl.selectedOrder.payment[0].barcode !== ''" id="barcode"></svg> <p class="oxxo-redirect" ng-if="itxAccountOrderDetailCtrl.oxxoRedirectUrl"> If the barcode is not showing, please click <a ng-href="{{itxAccountOrderDetailCtrl.oxxoRedirectUrl}}"> here. </a> </p> </section> </div> </div> </div></script><script id="account-order-list.tpl" type="text/ng-template"><article ng-if="itxAccountOrderListCtrl.orders.length > 0" class="my-account-orders-component my-account-section" ng-cloak> <itx-loader class="search-loader" show="itxAccountOrderListCtrl.loading"></itx-loader> <div class="pedidos-realizados-container"> <p class="pedidos-realizados">These are the orders you have placed</p> <div class="order-search-toggle"> <span class="icon icon-search2" ng-if="!itxAccountOrderListCtrl.showOrderSearchForm" ng-click="itxAccountOrderListCtrl.toggleOrderSearch()"></span> </div> <ng-form name="orderSearchForm" ng-if="itxAccountOrderListCtrl.showOrderSearchForm" method="post"> <md-input-container class="md-block"> <label>Search</label> <input type="number" name="searchField" id="search-field" ng-model="itxAccountOrderListCtrl.searchInput" ng-change="itxAccountOrderListCtrl.search()" ng-minlength="9" ng-maxlength="9"> <div class="search-error-messages" ng-messages="searchField.$error"> </div> </md-input-container> </ng-form> </div> <div class="order-list container-fluid"> <header class="hidden-xs"> <div class="col-sm-3 col-md-3">Order</div> <div class="col-sm-3 col-md-3">Items</div> <div class="col-sm-2 text-center">AMOUNT</div> <div class="col-sm-2 col-md-2 text-center">STATUS</div> </header> <itx-account-order ng-repeat="order in itxAccountOrderListCtrl.ordersToDisplay | filter: {'id': itxAccountOrderListCtrl.searchFilter} | orderBy:'id':true track by $index" class="order-item" order="order" rmas="itxAccountOrderListCtrl.rmas" refresh-order="itxAccountOrderListCtrl.$onInit()" ng-click="itxAccountOrderListCtrl.selectOrder(order, $event)"> </itx-account-order/> </div> <div ng-if="itxAccountOrderListCtrl.orders.length < itxAccountOrderListCtrl.totalOrders && !itxAccountOrderListCtrl.showingSearchOrders" class="view-more-orders"> <a ng-click="itxAccountOrderListCtrl.getOrders(itxAccountOrderListCtrl.indexOrders)"> <img src="/static/itxwebstandard/images/arrow-dwn.png?t=2019041110311151db1176774530" /> </a> </div> <div class="order-detail-container"> <itx-account-order-detail ng-if="itxAccountOrderListCtrl.selectedOrder" selected-order="itxAccountOrderListCtrl.selectedOrder" rmas="itxAccountOrderListCtrl.rmas" invoices="itxAccountOrderListCtrl.invoices" sub-orders="itxAccountOrderListCtrl.subOrders" request-e-invoice-allowed="itxAccountOrderListCtrl.requestEInvoiceAllowed" on-cancel-order="itxAccountOrderListCtrl.openCancelOrder()" on-request-e-invoice="itxAccountOrderListCtrl.requestEInvoice()"> </itx-account-order-detail> </div> </article> <article ng-if="itxAccountOrderListCtrl.orders.length === 0 && itxAccountOrderListCtrl.firstSearch" class="my-account-orders-component my-account-section"> <p>You have yet to place an order.</p> </article></script><script id="account-order.tpl" type="text/ng-template"><div class="row pedido tpl-order closed" ng-class="{ 'not-allowed-return': $root.inditex.iPage === 'ItxMyAccountReturnsPage' && itxAccountOrderCtrl.tipoPedido==='devolucion' && itxAccountOrderCtrl.estadosDevolucion.indexOf(itxAccountOrderCtrl.order.rmastatus) === -1 }"> <div class="col-sm-3 col-md-3 pedidos-pedido"> <a itx-show-order-detail ng-if="!itxAccountOrderCtrl.order.isRMA" class="drop-store"> ORDER {{itxAccountOrderCtrl.order.date | date:$root.inditex.iXDateFormat}} </a> <a itx-show-order-detail ng-if="itxAccountOrderCtrl.order.isRMA" class="drop-store"> {{ inditex.text("product.detail.extra.info.return") | uppercase }} {{itxAccountOrderCtrl.order.date.substring(0,10) | date:$root.inditex.iXDateFormat}} </a> </div> <div class="hidden-xs col-sm-3 col-md-3 pedidos-articulo"> <span class="num-articulos" ng-bind="itxAccountOrderCtrl.getTotalItems(itxAccountOrderCtrl.order)"><span> items</span></span> <img ng-repeat="item in itxAccountOrderCtrl.order.items" ng-show="itxAccountOrderCtrl.getProductImage(item.image, 1, 3) !== ''" ng-src="{{itxAccountOrderCtrl.getProductImage(item.image, 1, 3)}}" width="39" width="39" alt="{{ itxAccountOrderCtrl.getProductImage(item.image, 1, 3) !== '' ? item.name : '' }}" title="{{ itxAccountOrderCtrl.getProductImage(item.image, 1, 3) !== '' ? item.name : '' }}"> </div> <div class="col-sm-2 col-md-2 pedidos-importe" ng-bind-html='itxAccountOrderCtrl.order.totalOrder !== undefined ? itxAccountOrderCtrl.formatPrice(itxAccountOrderCtrl.order.totalOrder) : itxAccountOrderCtrl.formatPrice(itxAccountOrderCtrl.order.total)'> </div> <div class="phonePurchaseOrder hidden-mobile text-center" ng-if="itxAccountOrderCtrl.order.assistedPurchase === 1"> <span class="phonePurchaseLabel"> <img ng-src="/static/itxwebstandard/images/VentaAsistidaIco.png" alt="Phone purchase" /> </span> <span class="phonePurchaseLabel">Assisted Selling:</span> </div> <div class="col-sm-2 col-md-2 pedidos-estado"> <div ng-show="itxAccountOrderCtrl.order.assistedPurchase === 1" class="phonePurchaseOrder visible-desktop"> <span class="phonePurchaseLabel"> <img ng-src="/static/itxwebstandard/images/VentaAsistidaIco.png" alt="Phone purchase" /> </span> <span class="phonePurchaseLabel">Assisted Selling:</span> </div> <span ng-class="itxAccountOrderCtrl.statusClass" ng-bind="itxAccountOrderCtrl.statusText"></span> <span class="estado-devolucion" ng-if="itxAccountOrderCtrl.isOrderWithRmas(itxAccountOrderCtrl.order,itxAccountOrderCtrl.rmas)"> RETURNS </span> <span class="is-replacement" ng-if="itxAccountOrderCtrl.order.isReplacement"> REPLACEMENT </span> <div class="myacc-repay" ng-if="(['PQ' , 'RP'].indexOf(itxAccountOrderCtrl.order.status) !== -1) && itxAccountOrderCtrl.order.redirectUrl"> <hr class="visible-xs"></hr> <a ng-href="{{ itxAccountOrderCtrl.order.redirectUrl }}"> <span class="myacc-repay-btn"> Pay </span> </a> </div> <div class="myacc-repay" ng-if="(['PQ' , 'RP'].indexOf(itxAccountOrderCtrl.order.status) !== -1) && itxAccountOrderCtrl.order.weChatInfo"> <hr class="visible-xs"></hr> <span class="myacc-repay-btn" ng-click="itxAccountOrderCtrl.payWeChat(itxAccountOrderCtrl.order.weChatInfo, $event)"> Pay </span> </div> <div class="myacc-repay" ng-if="(['PQ' , 'RP'].indexOf(itxAccountOrderCtrl.order.status) !== -1) && itxAccountOrderCtrl.order.showQR"> <hr class="visible-xs"></hr> <span class="myacc-repay-btn" ng-click="itxAccountOrderCtrl.payWithQR(itxAccountOrderCtrl.order.qrcode, $event)"> Pay </span> </div> <div class="myacc-repay" ng-if="(['PQ' , 'RP'].indexOf(itxAccountOrderCtrl.order.status) !== -1) && itxAccountOrderCtrl.order.repay"> <hr class="visible-xs"></hr> <span class="myacc-repay-btn" ng-click="itxAccountOrderCtrl.goToRepayment(itxAccountOrderCtrl.order.id)"> CHANGE PAYMENT METHOD </span> <hr class="visible-xs"></hr> <span class="myacc-repay-btn" ng-if="!itxAccountOrderCtrl.order.weChatInfo" ng-click="itxAccountOrderCtrl.payChinaOrder(itxAccountOrderCtrl.order.id, $event)"> Pay </span> </div> <div class="myacc-repay" ng-if="itxAccountOrderCtrl.countryCode !== 'CN' && itxAccountOrderCtrl.order.repayable"> <span class="myacc-repay-btn" ng-click="goToRepayment(itxAccountOrderCtrl.order.id)"> Enter payment details </span> </div> </div> <div class="col-sm-2 col-md-2 pedidos-mas-info pull-right" ng-if="!itxAccountOrderCtrl.isReturnOrder"> <a itx-show-order-detail>Further information</a> </div> <div class="col-sm-2 col-md-2 pedidos-devolver pull-right" ng-if="itxAccountOrderCtrl.isReturnOrder"> <span class="estado-devolucion" ng-if="itxAccountOrderCtrl.isOrderWithRmas(itxAccountOrderCtrl.order, itxAccountOrderCtrl.rmas)"> RETURNS </span> <a ng-click="itxAccountOrderCtrl.trackGTMReturnOrder(itxAccountOrderCtrl.order.id)" class="return-button" ng-if="estadosPedido.entregado.indexOf(itxAccountOrderCtrl.order.status) !== -1 || estadosPedido.cancelada.indexOf(itxAccountOrderCtrl.order.status) !== -1 || estadosPedido.recoger.indexOf(itxAccountOrderCtrl.order.status) !== -1" ng-href="{{itxAccountOrderCtrl.getReturnOrderUrl(itxAccountOrderCtrl.order.id)}}">RETURN ITEMS</a> </div> </div></script><script id="account-suborder-detail.tpl" type="text/ng-template"><header class="row"> <div class="col-sm-6">Items</div> <div class="col-sm-2 hidden-xs">Quantity</div> <div class="col-sm-4 text-right hidden-xs">Item price</div> </header> <article class="product row" ng-repeat="item in itxAccountSuborderDetailCtrl.items"> <div class="col-sm-6"> <div class="photo"> <itx-product-photo ng-if="item.reference !== 'XGIFTSKU'" product="item" stylism="$root.storeStyle" from="'CHECKOUT'"></itx-product-photo> <img ng-if="item.reference == 'XGIFTSKU'" ng-src="{{ ::itxAccountSuborderDetailCtrl.gifWrapImgSrc }}" alt="Gift Card"> </div> <div class="info"> <span class="name"> <a ng-bind-html="::item.name"></a> </span> <span class="reference" ng-if="item.reference != 'XGIFTSKU'"> <abbr title="referencia">ref.</abbr>{{::item.displayReference}} </span> <span class="visible-xs" ng-if="item.reference != 'XGIFTSKU'"> {{::item.quantity}} x <span ng-bind-html="itxAccountSuborderDetailCtrl.formatPrice(item.unitPrice)"></span> </span> <span class="visible-xs" ng-if="item.reference == 'XGIFTSKU'"> <span ng-bind-html="itxAccountSuborderDetailCtrl.formatPrice(item.unitPrice)"></span> </span> <span class="size" ng-bind-html="::item.sizeToShow"></span> <span ng-if="itxAccountSuborderDetailCtrl.itemHasBeenReturned(item.sku)" class="estado-devolucion upper"> Returned </span> </div> </div> <div class="col-sm-2 cantidad hidden-xs" ng-if="item.reference === 'XGIFTSKU'">&nbsp;</div> <div class="col-sm-2 cantidad hidden-xs" ng-if="item.reference !== 'XGIFTSKU'" ng-bind-html="::item.quantity"></div> <div class="col-sm-4 precio text-right hidden-xs" ng-bind-html="itxAccountSuborderDetailCtrl.formatPrice(item.unitPrice)"></div> </article></script><script id="my-account-personal.tpl" type="text/ng-template"><article class="my-account-personal my-account-section" class="col-md-12"> <div class="message-error" ng-if="itxMyAccountPersonalCtrl.errorMessage"> <span class="icon icon-warning icon-warning-gen"></span> <span>{{ItxMyAccountPersonalPage.errorMessage}}</span> </div> <!-- Dirección de facturación --> <div class="my-account-personal-mail my-account-personal-section col-md-6"> <div class="my-account-personal-header"> <h2>Billing details</h2> </div> <div> <p ng-if="itxMyAccountPersonalCtrl.clonedAddress.isCompany"> {{itxMyAccountPersonalCtrl.clonedAddress.company.name}} {{itxMyAccountPersonalCtrl.clonedAddress.company.vatin}} </p> <p ng-if="itxMyAccountPersonalCtrl.clonedAddress.firstName"> {{itxMyAccountPersonalCtrl.clonedAddress.firstName}} {{itxMyAccountPersonalCtrl.clonedAddress.middleName}} {{itxMyAccountPersonalCtrl.clonedAddress.lastName}} </p> <p ng-if="!itxMyAccountPersonalCtrl.noBillingAddress && itxMyAccountPersonalCtrl.clonedAddress && itxMyAccountPersonalCtrl.clonedAddress.addressLines && itxMyAccountPersonalCtrl.clonedAddress.addressLines.length && itxMyAccountPersonalCtrl.clonedAddress.addressLines[0].length && itxMyAccountPersonalCtrl.clonedAddress.addressLines[0] !== '-'"> {{itxMyAccountPersonalCtrl.ItxHelper.concatAddressLines(itxMyAccountPersonalCtrl.clonedAddress)}} </p> <p ng-if="(itxMyAccountPersonalCtrl.clonedAddress.zipCode !== '' && itxMyAccountPersonalCtrl.clonedAddress.zipCode !== '-' && itxMyAccountPersonalCtrl.clonedAddress.countryCode !== 'AE') || (itxMyAccountPersonalCtrl.clonedAddress.city && itxMyAccountPersonalCtrl.clonedAddress.city.length && itxMyAccountPersonalCtrl.clonedAddress.city !== '-') || ($root.inditex.iStoreJSON.details.hideProvinceCombo === '0' && itxMyAccountPersonalCtrl.clonedAddress.stateName !== '-')"> <span ng-if="itxMyAccountPersonalCtrl.clonedAddress.zipCode !== '' && itxMyAccountPersonalCtrl.clonedAddress.zipCode !== '-' && itxMyAccountPersonalCtrl.clonedAddress.countryCode !== 'AE'"> {{itxMyAccountPersonalCtrl.clonedAddress.zipCode}}. </span> <span ng-if="itxMyAccountPersonalCtrl.clonedAddress.city && itxMyAccountPersonalCtrl.clonedAddress.city.length && itxMyAccountPersonalCtrl.clonedAddress.city !== '-'"> {{itxMyAccountPersonalCtrl.clonedAddress.city}}. </span> <span ng-if="$root.inditex.iStoreJSON.details.hideProvinceCombo === '0' && itxMyAccountPersonalCtrl.clonedAddress.stateName !== '-'"> {{itxMyAccountPersonalCtrl.clonedAddress.stateName}} </span> </p> <p ng-if="itxMyAccountPersonalCtrl.clonedAddress.countryCode === 'MX' && !itxMyAccountPersonalCtrl.noBillingAddress"> {{itxMyAccountPersonalCtrl.clonedAddress.colony}} {{itxMyAccountPersonalCtrl.clonedAddress.municipality}} </p> <p ng-if="$root.inditex.iStoreJSON.details.enableDistrict == true && !itxMyAccountPersonalCtrl.noBillingAddress"> {{itxMyAccountPersonalCtrl.clonedAddress.colony}} </p> <p ng-if="itxMyAccountPersonalCtrl.clonedAddress.phones && itxMyAccountPersonalCtrl.clonedAddress.phones.length > 0 && itxMyAccountPersonalCtrl.clonedAddress.phones[0].countryCode && itxMyAccountPersonalCtrl.clonedAddress.phones[0].subscriberNumber"> {{itxMyAccountPersonalCtrl.clonedAddress.phones[0].countryCode}} {{itxMyAccountPersonalCtrl.clonedAddress.phones[0].subscriberNumber}} </p> <p ng-if="itxMyAccountPersonalCtrl.clonedAddress.countryName" ng-bind-html="itxMyAccountPersonalCtrl.clonedAddress.countryName"></p> <p> <a class="link-2 mod-direccion" ng-click="itxMyAccountPersonalCtrl.editBillingAddress()"> <span class="icon icon-pencil-flip"></span> Change </a> </p> </div> </div> <!-- Email principal --> <div class="my-account-personal-mainmail my-account-personal-section col-md-6"> <div class="my-account-personal-header"> <h2>Main email</h2> </div> <div> <p>{{itxMyAccountPersonalCtrl.userData.email}}</p> <p>This email will be used for accessing your private pages as well as for receiving correspondence and newsletters.</p> <p ng-if="!itxMyAccountPersonalCtrl.userData.isWalletUser"> <a class="link-2" id="btn-email-modificacion" ng-click="itxMyAccountPersonalCtrl.editEmail()"> <span class="icon icon-pencil-flip"></span> Change </a> </p> </div> </div> <!-- Contraseña --> <div class="my-account-personal-password my-account-personal-section col-md-6"> <div class="my-account-personal-header"> <h2>Password</h2> </div> <div> <p>**************</p> <p> <a class="link-2" id="btn-passwor-modificacion" ng-click="itxMyAccountPersonalCtrl.changePassword()"> <span class="icon icon-pencil-flip"></span> Change </a> </p> </div> </div> <!-- Idioma de la Tienda y Emails --> <div class="my-account-personal-mail-shoplang my-account-personal-section col-md-6" ng-if="itxMyAccountPersonalCtrl.storeData.details.preferredLanguageEnabled"> <div class="my-account-personal-header"> <label> <h2>Language</h2> </label> </div> <md-input-container> <md-select placeholder="Language" ng-model="itxMyAccountPersonalCtrl.userData.userLanguage" ng-change="itxMyAccountPersonalCtrl.setPreferredLanguage()"> <md-option md-ink-ripple="false" ng-repeat="language in itxMyAccountPersonalCtrl.storeData.supportedLanguages" ng-value="language.id"> {{language.name}} </md-option> </md-select> </md-input-container> </div> <!-- Telefono asociado a la cuenta (solo en CN) --> <div class="my-account-personal-phone my-account-personal-section col-md-6" ng-if="$root.phoneRegistrationEnabled && itxMyAccountPersonalCtrl.validatedPhone"> <div class="my-account-personal-header"> <h2>TELEPHONE NUMBER</h2> </div> <div> <p> <span>{{::itxMyAccountPersonalCtrl.validatedPhone.code}} </span> <span ng-bind-html="itxMyAccountPersonalCtrl.validatedPhone.number"></span> </p> <a class="link-2" id="btn-phone-modificacion" ng-click="itxMyAccountPersonalCtrl.changePhone()"> <span class="icon icon-pencil-flip"></span> Change </a> </div> </div> <div class="my-account-personal-rgpd my-account-personal-section col-md-6" ng-if="$root.rgpdTextEnabled"> <span>At ZARA HOME we take your privacy very seriously and are committed to the protection of your personal data. Learn more about how we care for and use your data in our</span> <a class="link-2 privacy" ng-click="itxMyAccountPersonalCtrl.openPrivacyPolicy()">Privacy policy</a> <span ng-if="['eu', 'de', 'fi', 'el', 'ro'].indexOf($root.inditex.iLocale.split('_')[0]) !== -1"></span> </div> </article></script><script id="my-account-returns.tpl" type="text/ng-template"><div class="my-account-returns-component-container"> <article ng-cloak class="my-account-returns-component"> <span class="my-account-returns-component-empty" ng-if="itxMyAccountReturnsCtrl.orders.length===0"> <itx-spot type="MyAccountOrderReturnsEmpty"></itx-spot> </span> <span class="my-account-returns-component-articles" ng-if="itxMyAccountReturnsCtrl.orders.length>0"> <!-- Devolver artículos --> <h2>Orders</h2> <p> <itx-spot type="MyAccountOrderReturn_Step1"></itx-spot> </p> <div class="tabla-pedidos container-fluid"> <div class="row cab hidden-xs"> <div class="col-sm-4 col-md-4">Order</div> <div class="col-sm-3 col-md-3">Items</div> <div class="col-sm-1 text-center">Amount</div> <div class="col-sm-2 col-md-2 text-center">STATUS</div> </div> <div class="order-item"> <itx-order-summary order="order" is-return-order="true" ng-click="itxMyAccountReturnsCtrl.selectOrder(order, false)" estado-pedidos="itxMyAccountReturnsCtrl.estadoPedidos" estados-devolucion="itxMyAccountReturnsCtrl.estadosDevolucion" tipo-pedido="'pedido'" store-style="itxMyAccountReturnsCtrl.storeStyle" data-ng-repeat="order in itxMyAccountReturnsCtrl.orders | orderBy:'id':true track by $index" rmas="itxMyAccountReturnsCtrl.rmas" /> </div> <p class="msg-no-resultados" ng-if="itxMyAccountReturnsCtrl.orders.length === 0">We are sorry, it seems you have not yet placed an order</p> </div> <!-- <div id="bottomLoading" ng-show="itxMyAccountReturnsCtrl.busy"><span class="loading"></span></div>--> </span> <span class="my-account-returns-component-articles" ng-if="itxMyAccountReturnsCtrl.rmas.length>0"> <!-- Devolver artículos --> <h2>Returns made</h2> <p>These are the returns that you have made:</p> <div class="tabla-pedidos container-fluid"> <div class="row cab hidden-xs"> <div class="col-sm-4 col-md-4">Returns</div> <div class="col-sm-3 col-md-3">Returned items</div> <div class="col-sm-1 text-center">Amount</div> <div class="col-sm-2 col-md-2 text-center">STATUS</div> </div> <itx-order-summary order="order" is-return-order="false" ng-click="itxMyAccountReturnsCtrl.selectOrder(order)" estado-pedidos="itxMyAccountReturnsCtrl.estadoPedidos" estados-devolucion="itxMyAccountReturnsCtrl.estadosDevolucion" tipo-pedido="'devolucion'" store-style="itxMyAccountReturnsCtrl.storeStyle" data-ng-repeat="order in itxMyAccountReturnsCtrl.rmas | orderBy: 'id':true track by $id(order)" /> <p class="msg-no-resultados" ng-if="itxMyAccountReturnsCtrl.orders.length === 0">We are sorry, it seems you have not yet placed an order</p> </div> <div ng-if="itxMyAccountReturnsCtrl.rmas.length < itxMyAccountReturnsCtrl.totalRmas" class="view-more-orders"> <a ng-click="itxMyAccountReturnsCtrl.loadMoreRmas()"> <img src="/static/itxwebstandard/images/arrow-dwn.png?t=2019041110311151db1176774530" /> </a> </div> <!-- <div id="bottomLoading" ng-show="itxMyAccountReturnsCtrl.busy"><span class="loading"></span></div>--> </span> <itx-spot type="MyAccountOrderReturn_Step0"></itx-spot> <ul class="help-container"> <li> <div class="numberContainer"><span>1</span></div> <div class="description"> <p>Select the order from which you'd like to return items</p> </div> </li> <li> <div class="numberContainer"><span>2</span></div> <div class="description"> <p>Choose the items and amounts to be returned</p> </div> </li> <li> <div class="numberContainer"><span>3</span></div> <div class="description"> <p>Indicate the shipping method or pick-up location</p> </div> </li> <li> <div class="numberContainer"><span>4</span></div> <div class="description"> <p>Once returned we will reimburse your account</p> </div> </li> </ul> <div id="detalle-pedido" class="order-detail-container shop-cart-confirmation detalle-pedido-global"> <itx-account-order-detail ng-if="itxMyAccountReturnsCtrl.selectedOrder" selected-order="itxMyAccountReturnsCtrl.selectedOrder" rmas="itxMyAccountReturnsCtrl.rmas" invoices="itxMyAccountReturnsCtrl.invoices" sub-orders="itxMyAccountReturnsCtrl.subOrders" request-e-invoice-allowed="itxMyAccountReturnsCtrl.requestEInvoiceAllowed" on-cancel-order="itxMyAccountReturnsCtrl.openCancelOrder()" on-request-e-invoice="itxMyAccountReturnsCtrl.requestEInvoice()"> </itx-account-order-detail> </div> </article> </div></script><script id="sfi-returns.tpl" type="text/ng-template"><div class="container-fluid sfi-container"> <form name="itxSfiReturnsCtrl.sfiForm" id="sfiForm" method="post" novalidate> <div class="row"> <div class="col-md-6"> <p><strong>Transfer bank</strong></p> <!-- IBAN --> <md-input-container> <label>IBAN</label> <input type="text" name="iban" ng-model="itxSfiReturnsCtrl.sfiData.iban" ng-model-options="{updateOn: 'default blur', debounce: { 'default': 300, 'blur': 0 }}" required> <div ng-messages="itxSfiReturnsCtrl.sfiForm.iban.$error"> <div ng-message="required"> This field is required </div> </div> </md-input-container> <!-- BIC --> <md-input-container> <label>Bank BIC number</label> <input type="text" name="bankbic" ng-model="itxSfiReturnsCtrl.sfiData.bankbic" ng-model-options="{updateOn: 'default blur', debounce: { 'default': 300, 'blur': 0 }}" ng-pattern="itxSfiReturnsCtrl.bicPattern" required> <div ng-messages="itxSfiReturnsCtrl.sfiForm.bankbic.$error"> <div ng-message="required"> Enter a BIC number </div> <div ng-message="pattern"> Incorrect Bank BIC </div> </div> </md-input-container> <!-- NAME --> <md-input-container> <label>Name</label> <input type="text" name="firstName" ng-model="itxSfiReturnsCtrl.sfiData.firstName" ng-model-options="{updateOn: 'default blur', debounce: { 'default': 300, 'blur': 0 }}" ng-minlength="itxSfiReturnsCtrl.nameMinLength" ng-maxlength="$root.validations.firstname" md-maxlength="$root.validations.firstname" required> <div ng-messages="itxSfiReturnsCtrl.sfiForm.firstName.$error"> <div ng-message="required"> Please enter your Name </div> <div ng-message="minlength"> The name is too short </div> <div ng-message="maxlength"> The name is too long </div> </div> </md-input-container> <md-input-container ng-if="itxSfiReturnsCtrl.showMiddleName"> <label>Middlename</label> <input type="text" name="middlename" ng-model="itxSfiReturnsCtrl.sfiData.middleName" ng-model-options="{updateOn: 'default blur', debounce: { 'default': 300, 'blur': 0 }}" ng-maxlength="$root.validations.middlename" md-maxlength="$root.validations.middlename" required> <div ng-messages="itxSfiReturnsCtrl.sfiForm.middlename.$error"> <div ng-message="required"> Please enter your MiddleName </div> <div ng-message="maxlength"> Please enter your MiddleName </div> </div> </md-input-container> <!-- LAST NAME --> <md-input-container ng-if="itxSfiReturnsCtrl.countryCode !== 'KR' && itxSfiReturnsCtrl.countryCode !== 'CN'"> <label>Surname(s)</label> <input type="text" name="lastname" ng-model="itxSfiReturnsCtrl.sfiData.lastName" ng-model-options="{updateOn: 'default blur', debounce: { 'default': 300, 'blur': 0 }}" ng-maxlength="$root.validations.lastname" md-maxlength="$root.validations.lastname" required> <div ng-messages="itxSfiReturnsCtrl.sfiForm.lastname.$error"> <div ng-message="required"> Please enter your Surname(s) </div> <div ng-message="maxlength"> Please enter your Surname(s) </div> </div> </md-input-container> </div> </div> </form> <div class="row"> <div class="btn-container col-md-6"> <itx-button ng-click="itxSfiReturnsCtrl.confirmSfi()" is-disabled="itxSfiReturnsCtrl.sfiForm.$invalid"> CONFIRM </itx-button> </div> </div> </div></script><script id="account-youpay.tpl" type="text/ng-template"><h2>YOUPAY</h2> <div class="account-youpay-new-user-container" ng-if="itxAccountYoupayCtrl.newYoupayUser"> <!-- Teen user (I Shop) --> <div> I Shop <itx-button ng-click="itxAccountYoupayCtrl.sendInvitation('requestPayer')">SOLICITAR</itx-button> </div> <!-- Sponsor (I pay)--> <div> I Pay <itx-button ng-click="itxAccountYoupayCtrl.sendInvitation('requestShopper')">INVITAR</itx-button> </div> </div> <div class="account-youpay-user-container" ng-if="!itxAccountYoupayCtrl.newYoupayUser"> <div class="account-youpay-ishop-container" ng-if="itxAccountYoupayCtrl.isIShop"> <div class="requests-header row"> <div class="col-xs-5">USUARIO</div> <div class="col-xs-5">ESTADO SOLICITUD</div> <div class="hidden-xs col-sm-2" ng-if="itxAccountYoupayCtrl.pendingRequests">ACCIONES</div> </div> <div class="payers-table"> <div class="info row" ng-repeat="payer in itxAccountYoupayCtrl.myPayers"> <div class="col-xs-5 user-details"> {{ payer.firstName + ' ' + payer.lastName + ' (' + payer.email + ')' }} </div> <div class="col-xs-5 request-status"> <span class="status-info" ng-class="{ 'requested': [-4, -3].indexOf(payer.status) !== -1, 'deleted': [-2, -1].indexOf(payer.status) !== -1, 'accepted': payer.status === 1 }"> {{ payer.status | youpayrequest }} </span> </div> <div class="col-xs-2"> <span class="request-options"> <a class="icon icon-checkmark" ng-if="payer.status === -3" ng-click="itxAccountYoupayCtrl.acceptRequest('shopper', payer)" title="Accept"></a> <a class="icon icon-bin2" ng-if="payer.id !== '0' && payer.status === 1" ng-click="itxAccountYoupayCtrl.rejectRequest('shopper', payer)" title="Delete"></a> </span> </div> </div> </div> </div> <div class="account-youpay-ipay-container" ng-if="itxAccountYoupayCtrl.isIPay"> <div class="requests-header row"> <div class="col-xs-6 col-sm-4">USUARIO</div> <div class="col-xs-4 col-sm-2">NOTIFICACIONES</div> <div class="hidden-xs col-sm-4">ESTADO SOLICITUD</div> <div class="col-xs-2" ng-if="itxAccountYoupayCtrl.pendingRequests">ACCIONES</div> </div> <div class="shoppers-table"> <div class="info row" ng-repeat="shopper in itxAccountYoupayCtrl.myShoppers"> <div class="col-xs-6 col-sm-4 user-details"> {{ shopper.firstName + ' ' + shopper.lastName + ' (' + shopper.email + ')' }} </div> <div class="col-xs-4 col-sm-2 user-notifications"> <div ng-if="shopper.showEdit"> <md-checkbox id="mailNotifications" ng-model="shopper.emailNotifications" ng-true-value="2" aria-label="email" required> <span class="icon icon-mail22" title="Mail"></span> </md-checkbox> <md-checkbox id="smsNotifications" ng-model="shopper.smsNotifications" ng-true-value="3" aria-label="sms" required> <span class="icon icon-mobile" title="SMS"></span> </md-checkbox> </div> <div ng-if="!shopper.showEdit"> <span class="hidden-xs"> <!-- en escritorio mostramos la property, en mobile el icono --> <span ng-if="shopper.emailNotifications"> E-MAIL ADDRESS </span> <span ng-if="shopper.emailNotifications && shopper.smsNotifications"> / </span> <span ng-if="shopper.smsNotifications"> SMS </span> </span> <span class="visible-xs"> <span ng-if="shopper.emailNotifications" class="icon icon-mail22" title="Mail"></span> <span ng-if="shopper.emailNotifications && shopper.smsNotifications"> / </span> <span ng-if="shopper.smsNotifications" class="icon icon-mobile" title="SMS"></span> </span> </div> </div> <div class="hidden-xs col-sm-4 request-status"> <span class="" ng-class="{ 'requested': [-4, -3].indexOf(shopper.status) !== -1, 'deleted': [-2, -1].indexOf(shopper.status) !== -1, 'accepted': shopper.status === 1 }"> {{ shopper.status | youpayrequest }} </span> </div> <div class="col-xs-2"> <span class="request-options" ng-if="shopper.status === -4"> <a class="icon icon-checkmark" ng-click="itxAccountYoupayCtrl.acceptRequest('payer', shopper)"></a> </span> <span class="edit-teen" ng-if="shopper.status === 1"> <a class="icon icon-pencil" ng-if="!shopper.showEdit" ng-click="itxAccountYoupayCtrl.editTeen(shopper, true)" title="Edit"></a> <a class="icon icon-checkmark" ng-if="shopper.showEdit" ng-click="itxAccountYoupayCtrl.updateTeen(shopper)" title="Accept"></a> <a class="icon icon-cross" ng-if="shopper.showEdit" ng-click="itxAccountYoupayCtrl.editTeen(shopper, false)" title="Cancel"></a> </span> <span ng-if="(!shopper.showEdit || shopper.status === -4) && shopper.id !== '0'"> <!-- si no se esta en modo edicion, se puede dar de baja al teen --> <a class="icon icon-bin2" ng-click="itxAccountYoupayCtrl.rejectRequest('payer', shopper)" title="Delete"></a> </span> </div> </div> </div> </div> <!-- Teen user (I Shop) --> <div> <itx-button ng-if="itxAccountYoupayCtrl.isIPay" ng-click="itxAccountYoupayCtrl.sendInvitation('requestShopper')">AÑADIR NUEVO MIEMBRO YOUPAY</itx-button> <itx-button ng-if="itxAccountYoupayCtrl.allTeensWithID" ng-click="itxAccountYoupayCtrl.removeYoupayUser()">DAR DE BAJA DE YOUPAY</itx-button> </div> </div></script><script id="youpay-request-form.tpl" type="text/ng-template"><md-dialog layout-padding flex="40" class="buyset-modal"> <md-toolbar> <div layout="row" layout-align="end center"> <div> <md-icon class="icon-10 close-dialog" md-svg-src="/static/itxwebstandard/images/ic_cerrar.svg?t=2019041110311151db1176774530" ng-click="dialogCtrl.hide()" aria-label="Close dialog"> </md-icon> </div> </div> </md-toolbar> <md-toolbar> <div layout="row" layout-align="end center"> <div> <md-icon class="icon-10 close-dialog" md-svg-src="/static/itxwebstandard/images/ic_cerrar.svg?t=2019041110311151db1176774530" ng-click="dialogCtrl.hide()" aria-label="Close dialog"></md-icon> </div> </div> </md-toolbar> <md-dialog-content> <md-content> <h2>Rellena sus datos</h2> <ng-form class="youPayRequestForm" name="youPayRequestForm" method="post" novalidate> <!-- Name --> <md-input-container class="col-md-6"> <label>Name</label> <input type="text" name="firstName" ng-model="dialogCtrl.userData.firstName" ng-model-options="{updateOn: 'default', debounce: '200'}" ng-maxlength="$root.validations.firstname" md-maxlength="$root.validations.firstname" required> <div ng-messages="youPayRequestForm.firstName.$error"> <div ng-message="required"> Please enter your Name </div> <div ng-message="minlength"> The name is too short </div> <div ng-message="maxlength"> The name is too long </div> </div> </md-input-container> <!-- Last Name --> <md-input-container class="col-md-6"> <label>Surname(s)</label> <input type="text" name="lastName" ng-model="dialogCtrl.userData.lastName" ng-model-options="{updateOn: 'default', debounce: '200'}" ng-maxlength="$root.validations.firstname" md-maxlength="$root.validations.firstname" required> <div ng-messages="youPayRequestForm.lastName.$error"> <div ng-message="required"> Please enter your Surname(s) </div> <div ng-message="maxlength"> Please enter your Surname(s) </div> </div> </md-input-container> <!-- Email --> <md-input-container class="col-md-6"> <label>E-mail</label> <input type="email" name="email" ng-model="dialogCtrl.userData.email" ng-model-options="{updateOn: 'default', debounce: '200'}" ng-pattern="$root.validations.email" required> <div ng-messages="youPayRequestForm.email.$error"> <div ng-message="required"> Please enter a valid email address </div> <div ng-message="pattern"> Please enter a valid email address </div> <div ng-message="email"> Please enter a valid email address </div> </div> </md-input-container> <!-- Phone --> <md-input-container class="col-md-6"> <label>Telephone</label> <input type="text" name="phone" ng-model="dialogCtrl.userData.phone" ng-model-options="{updateOn: 'default', debounce: '200'}" ng-maxlength="32" ng-pattern="$root.validations.phone1" required> <div class="phone-field-error-messages" ng-messages="youPayRequestForm.phone.$error"> <div ng-message="required"> Please enter a valid telephone number. Example: {{ $root.inditex.iStoreJSON.details.phoneCountryCode }} 123456789 </div> <div ng-message="pattern"> Please enter a valid telephone number. Example: {{ $root.inditex.iStoreJSON.details.phoneCountryCode }} 123456789 </div> </div> </md-input-container> <!-- Notifications --> <div class="notification-container col-md-6" ng-if="dialogCtrl.isSponsorRequest" layout-wrap layout-gt-sm="row"> <label>Notificaciones de pedidos YouPay</label> <md-switch ng-model="dialogCtrl.userData.emailNotifications" ng-true-value="2" aria-label="E-MAIL ADDRESS"> E-MAIL ADDRESS </md-switch> <md-switch ng-model="dialogCtrl.userData.smsNotifications" ng-true-value="3" aria-label="SMS"> SMS </md-switch> <p class="error" ng-if="dialogCtrl.showNotificationsError && !dialogCtrl.userData.emailNotifications && !dialogCtrl.userData.smsNotifications">You must select at least one option.</p> </div> </ng-form> <div class="m-t-20 text-center"> <itx-button ng-click="dialogCtrl.submitNewTeen(youPayRequestForm, dialogCtrl)" is-disabled="youPayRequestForm.$invalid || (dialogCtrl.isSponsorRequest && !dialogCtrl.userData.emailNotifications && !dialogCtrl.userData.smsNotifications)"> <span>Save</span> </itx-button> </div> </md-content> </md-dialog-content> </md-dialog></script><script id="category-2.tpl" type="text/ng-template"><div class="category-component-2"> <div> <itx-spot type="Subhome" category="true"></itx-spot> </div> </div> <div class="seo-container" ng-if="seoContentActive"> <div class="seo-content"> <h2> {{ seoCategoryH1 }} </h2> <p> {{ seoCategoryPositioningText }} </p> </div> </div> <div class="grid-scrolltop" ng-if="ItxCategoryCtrl.showScrollTop" ng-click="ItxCategoryCtrl.backToTop()"></div> </div></script><script id="category.tpl" type="text/ng-template"><div class="categoryGrid" ng-class="{'showGrid' : $root.inditex.iPage === 'ItxCategoryPage'}"> <section class="container-fluid fullTotal cab-short no-image" ng-cloak> <div class="pickgradientSrc" ng-cloak> <itx-spot type="Category_Header" category="true"></itx-spot> </div> </section> <div class="container-fluid category-component" id="category-content"> <itx-spot ng-if="::!ItxCategoryCtrl.cmsBannerEnabled" type="Parrilla_Banner"></itx-spot> <itx-cms-container ng-if="::ItxCategoryCtrl.cmsBannerEnabled" cms-content-name="::ItxCategoryCtrl.cmsContentName"></itx-cms-container> <!-- filtros --> <section class="actions-bar" id="actions-bar"> <div class="row"> <div class="col-xs-8"> <itx-category-filters ng-if="ItxCategoryCtrl.filters && !$root.isMobile" order="ItxCategoryCtrl.order" filters="::ItxCategoryCtrl.filters" enabled-filters="::ItxCategoryCtrl.enabledFilters" on-select-filters="ItxCategoryCtrl.setFilteredProducts(order, filters)"> </itx-category-filters> </div> <div class="col-xs-4"> <div class="filters-cab clearfix"> <div ng-if="$root.isMobile" class="filters-options visible-xs"> <itx-category-filters ng-if="ItxCategoryCtrl.filters" template="category-filters-mobile.tpl" order="ItxCategoryCtrl.order" filters="::ItxCategoryCtrl.filters" enabled-filters="::ItxCategoryCtrl.enabledFilters" on-select-filters="ItxCategoryCtrl.setFilteredProducts(order, filters)"> </itx-category-filters> </div> <div class="size-options hidden-xs"> <div ng-if="$root.enableStageInfo && !$root.isMobile && $root.showStageInfo" class="prices-check" ng-class="{'danger' : ItxCategoryCtrl.itxSaleProducts.length != ItxCategoryCtrl.itxProducts.length }"> total : {{ItxCategoryCtrl.itxProducts.length}} cortados : {{ItxCategoryCtrl.itxSaleProducts.length}} <a title="ver no cortados" ng-click="ItxCategoryCtrl.showNotSaleProds()"><span ng-class="{'icon-password-hidden1' : !ItxCategoryCtrl.shownSaleProducts, 'icon-password-visible1' : ItxCategoryCtrl.shownSaleProducts}" class="icon icon-password-hidden1"></span></a> </div> <span class="num-articles" ng-if="ItxCategoryCtrl.numItems > 0" ng-cloak>{{ItxCategoryCtrl.numItems}} Items&nbsp;&nbsp;|&nbsp;&nbsp;</span> <span class="tit-mostrar">VIEW</span> <a data-ng-click="ItxCategoryCtrl.resizeGrid(2, true)" class="max" data-ng-class="{'on': ItxCategoryCtrl.gridTemplate == 'grid2'}" id="btn-grid2">2</a> <a data-ng-click="ItxCategoryCtrl.resizeGrid(4, true)" class="min" data-ng-class="{'on': ItxCategoryCtrl.gridTemplate == 'grid4'}" id="btn-grid4">4</a> </div> </div> </div> </div> </section> <!-- fin filtros --> <itx-category-grid ng-if="ItxCategoryCtrl.itxFilteredProducts && ItxCategoryCtrl.itxFilteredProducts.length" items="ItxCategoryCtrl.itxFilteredProducts" num-items-loaded="ItxCategoryCtrl.numItemsLoaded" num-items="ItxCategoryCtrl.numItems" template="ItxCategoryCtrl.gridTemplate" load-more="ItxCategoryCtrl.loadMore()" current-category="::ItxCategoryCtrl.itxCurrentCategory"> </itx-category-grid> <div class="seo-container" ng-if="::seoContentActive"> <div class="seo-content"> <h2> {{ ::seoCategoryH1 }} </h2> <p> {{ ::seoCategoryPositioningText }} </p> </div> </div> <p class="msg-no-resultados" ng-if="::(ItxCategoryCtrl.numItems !== undefined && ItxCategoryCtrl.numItems === 0)"> We are sorry, we could not find items with the filters selected. <br>Please remove a filter to see more items. </p> <div class="grid-scrolltop" ng-if="ItxCategoryCtrl.showScrollTop" ng-click="ItxCategoryCtrl.backToTop()"></div> </div> </div> <!-- product page --> <div ng-class="{'showProduct' : $root.inditex.iPage === 'ItxProductPage'}" ui-view></div> <!-- fin product --></script><script id="product-audio.tpl" type="text/ng-template"><div class="audio-container"> <button class="md-button" ng-if="itxProductAudioCtrl.isMobile" type="submit" layout="row" layout-align="center center" ng-click="itxProductAudioCtrl.toggleTracks()" aria-label="button"> <div class="button-content"> <span ng-if="!itxProductAudioCtrl.showTracks">Show tracks</span> <span ng-if="itxProductAudioCtrl.showTracks">Hide tracks</span> </div> <div class="md-ripple-container"></div> </button> <div class="audio-blk" ng-show="itxProductAudioCtrl.showTracks"> <audio preload id="audio-player"></audio> <ol> </ol> </div> </div></script><script id="product-navbar.tpl" type="text/ng-template"><a ng-if="::(itxProducNavbarCtrl.categoryDetail.name && $root.categoryProductView)" ui-sref="^" class="btn-volver"> More&nbsp;{{::itxProducNavbarCtrl.categoryDetail.name}}&nbsp; </a> <a ng-if="::(itxProducNavbarCtrl.categoryDetail.name && !$root.categoryProductView)" ng-href="{{::itxProducNavbarCtrl.previousPageURL}}" class="btn-volver"> More&nbsp;{{::itxProducNavbarCtrl.categoryDetail.name}}&nbsp; </a> <a ng-if="::!itxProducNavbarCtrl.categoryDetail.name" href="javascript:window.history.back()" class="btn-volver"> BACK </a> <div class="navPrevNext"> <a id="btnPrev" ng-click="itxProducNavbarCtrl.toPrevProd()" title="Previous" ng-if="::itxProducNavbarCtrl.prevProduct"> <span class="icon icon-arrow_left"></span> </a> <a id="btnNext" ng-click="itxProducNavbarCtrl.toNextProd()" title="Next" ng-if="::itxProducNavbarCtrl.nextProduct"> <span class="icon icon-arrow_right"></span> </a> </div></script><script id="product-page-mobile.tpl" type="text/ng-template"><div ng-if="::itxProductPageCtrl.initSlider" ng-class="::['product-page-container', 'product-page-mobile-container', {'bundle-page-container': (itxProductPageCtrl.product.type === 'BundleBean'), 'active': itxProductPageCtrl.visible}]" data="{{::itxProductPageCtrl.product.detail.reference}}"> <itx-swiper class="product-slider" space-between="5%" on-init="itxProductPageCtrl.setSwiperInstance" simulate-touch="false" on-slide-next-transition-start="itxProductPageCtrl.slideNext" on-slide-prev-transition-start="itxProductPageCtrl.slidePrev" instance="::itxProductPageCtrl.productSwiper" initial-slide="{{::itxProductPageCtrl.initialSlide}}"> <itx-slides> <itx-slide class="product-slide" ng-if="::itxProductPageCtrl.prevProduct"> <itx-loader show="'true'"></itx-loader> </itx-slide> <itx-slide ng-if="itxProductPageCtrl.product"> <div ng-if="itxProductPageCtrl.product.notVisible"> <itx-spot type="Product_Not_Visible"></itx-spot> </div> <div class="product-main-container" ng-if="!itxProductPageCtrl.product.notVisible" itx-scroll-bounce="{{itxProductPageCtrl.relatedBlocks}}"> <itx-bundle-detail ng-if="::(itxProductPageCtrl.product.type ==='BundleBean' && itxProductPageCtrl.bundleVisibleColors)" bundle="::itxProductPageCtrl.product" bundle-visible-colors="itxProductPageCtrl.bundleVisibleColors" buy-set-visible="::itxProductPageCtrl.buySetVisible" buy-set-box-info="::itxProductPageCtrl.buySetBoxInfo" on-color-change="itxProductPageCtrl.setBundleComponents(bundle)" buy-set-closed="itxProductPageCtrl.onBuySetClosed()" template="bundle-detail-mobile.tpl"> </itx-bundle-detail> <itx-product-detail ng-if="::(itxProductPageCtrl.product.type === 'ProductBean')" product="::itxProductPageCtrl.product" on-color-change="itxProductPageCtrl.setRelatedsColor(color, isInit)" look-products="itxProductPageCtrl.lookProductsList" template="product-detail-mobile.tpl"> </itx-product-detail> <section ng-if="itxProductPageCtrl.product.type ==='BundleBean' && itxProductPageCtrl.bundleComponents.length > 0"> <div class="relatedProducts-container"> <itx-related-products class="bundleProducts-container" heading-text="'ItxProductPage.relatedMobileHeading'" slides-per-view="2" product-list="itxProductPageCtrl.bundleComponents" from="'bundle_components'" parent-product="itxProductPageCtrl.product"> </itx-related-products> </div> </section> <section ng-if="(itxProductPageCtrl.lookProductsList.length > 0 || itxProductPageCtrl.relatedProductsList.length > 0) && itxProductPageCtrl.showRelated"> <div class="relatedProducts-container"> <div ng-if="itxProductPageCtrl.lookProductsList && itxProductPageCtrl.lookProductsList.length" itx-in-viewport=".look-meccano-relateds" itx-in-viewport-fn="itxProductPageCtrl.sendFeedback('look')" itx-in-viewport-margin="-100"> <itx-related-products class="look-meccano-relateds" product-list="itxProductPageCtrl.lookProductsList" heading-text="'ItxProductPage.complete.the.look'" slides-per-view="2" from="'productos_relacionados'" meccano-recommendation-id="itxProductPageCtrl.meccanoRelateds.lookType.recommendationId" parent-product="itxProductPageCtrl.product"> </itx-related-products> </div> <div ng-if="itxProductPageCtrl.relatedProductsList && itxProductPageCtrl.relatedProductsList.length" itx-in-viewport=".related-meccano-relateds" itx-in-viewport-fn="itxProductPageCtrl.sendFeedback('related')" itx-in-viewport-margin="-100"> <itx-related-products class="related-meccano-relateds" product-list="itxProductPageCtrl.relatedProductsList" heading-text="'ItxProductPage.related.product'" slides-per-view="2" from="'productos_relacionados'" meccano-recommendation-id="itxProductPageCtrl.meccanoRelateds.relatedType.recommendationId" parent-product="itxProductPageCtrl.product"> </itx-related-products> </div> </div> </section> </div> </itx-slide> <itx-slide class="product-slide" ng-if="::itxProductPageCtrl.nextProduct"> <itx-loader show="'true'"></itx-loader> </itx-slide> </itx-slides> </itx-swiper> </div></script><script id="product-page-tablet.tpl" type="text/ng-template"><div ng-if="::itxProductPageCtrl.initSlider" ng-class="::['product-page-container', 'product-page-tablet-container', {'bundle-page-container': (itxProductPageCtrl.product.type === 'BundleBean'), 'active': itxProductPageCtrl.visible}]" data="{{::itxProductPageCtrl.product.detail.reference}}"> <itx-swiper class="product-slider" space-between="5%" on-init="itxProductPageCtrl.setSwiperInstance" simulate-touch="false" on-slide-next-transition-start="itxProductPageCtrl.slideNext" on-slide-prev-transition-start="itxProductPageCtrl.slidePrev" instance="::itxProductPageCtrl.productSwiper" initial-slide="{{::itxProductPageCtrl.initialSlide}}"> <itx-slides> <itx-slide class="product-slide" ng-if="::itxProductPageCtrl.prevProduct"> <itx-loader show="'true'"></itx-loader> </itx-slide> <itx-slide ng-if="itxProductPageCtrl.product"> <div class="product-not-visible" ng-if="itxProductPageCtrl.product.notVisible"> <itx-spot type="Product_Not_Visible"></itx-spot> </div> <div class="product-main-container" ng-if="!itxProductPageCtrl.product.notVisible"> <itx-bundle-detail ng-if="::(itxProductPageCtrl.product.type ==='BundleBean' && itxProductPageCtrl.bundleVisibleColors)" bundle="itxProductPageCtrl.product" bundle-visible-colors="itxProductPageCtrl.bundleVisibleColors" buy-set-visible="::itxProductPageCtrl.buySetVisible" buy-set-box-info="::itxProductPageCtrl.buySetBoxInfo" on-color-change="itxProductPageCtrl.setBundleComponents(bundle)" buy-set-closed="itxProductPageCtrl.onBuySetClosed()" related-products="itxProductPageCtrl.relatedProductsList" template="bundle-detail-tablet.tpl"> </itx-bundle-detail> <itx-product-detail ng-if="::(itxProductPageCtrl.product.type === 'ProductBean')" product="::itxProductPageCtrl.product" on-color-change="itxProductPageCtrl.setRelatedsColor(color, isInit)" look-products="itxProductPageCtrl.lookProductsList" related-products="itxProductPageCtrl.relatedProductsList" meccano-relateds="itxProductPageCtrl.meccanoRelateds" template="product-detail-tablet.tpl"> </itx-product-detail> </div> </itx-slide> <itx-slide class="product-slide" ng-if="::itxProductPageCtrl.nextProduct"> <itx-loader show="'true'"></itx-loader> </itx-slide> </itx-slides> </itx-swiper> </div></script><script id="product-page.tpl" type="text/ng-template"><div ng-class="::['product-page-container', {'bundle-page-container': (itxProductPageCtrl.product.type === 'BundleBean'), 'active': itxProductPageCtrl.visible}]" data="{{::itxProductPageCtrl.product.detail.reference}}"> <div class="barraNavProd"> <itx-product-navbar ng-if="::($root.inditex.iCategoryJSON && $root.inditex.iCategoryKey.indexOf('NOWEB') === -1)" category-detail="::$root.inditex.iCategoryJSON" prev-product="::itxProductPageCtrl.prevProduct" next-product="::itxProductPageCtrl.nextProduct" to-prev-product="itxProductPageCtrl.slidePrev(true)" to-next-product="itxProductPageCtrl.slideNext(true)"> </itx-product-navbar> </div> <div style="{width:0; height:0, display:none;}" ng-if="::itxProductPageCtrl.product.type ==='BundleBean'" itx-product-info-position="{{itxProductPageCtrl.product.type}}"> </div> <!-- Listener for the product scroller--> <div ng-class="{'no-navBar': !$root.inditex.iCategoryJSON || $root.inditex.iCategoryKey.indexOf('NOWEB') !== -1}" ng-if="::itxProductPageCtrl.showSlider"> <!-- Listener for the bundle scroller--> <div > <itx-swiper class="product-slider" space-between="5%" init="{{::itxProductPageCtrl.initSlider}}" on-init="itxProductPageCtrl.setSwiperInstance" simulate-touch="false" on-slide-next-transition-start="itxProductPageCtrl.slideNext" on-slide-prev-transition-start="itxProductPageCtrl.slidePrev" instance="::itxProductPageCtrl.productSwiper" initial-slide="{{::itxProductPageCtrl.initialSlide}}"> <itx-slides> <itx-slide ng-if="itxProductPageCtrl.product"> <div class="product-view-container"> <div ng-if="itxProductPageCtrl.product.notVisible"> <itx-spot type="Product_Not_Visible"></itx-spot> </div> <div class="product-main-container" ng-if="!itxProductPageCtrl.product.notVisible" itx-scroll-bounce="{{itxProductPageCtrl.relatedBlocks}}"> <itx-bundle-detail ng-if="::(itxProductPageCtrl.product.type ==='BundleBean' && itxProductPageCtrl.bundleVisibleColors)" bundle="::itxProductPageCtrl.product" bundle-visible-colors="itxProductPageCtrl.bundleVisibleColors" buy-set-visible="::itxProductPageCtrl.buySetVisible" buy-set-box-info="::itxProductPageCtrl.buySetBoxInfo" on-color-change="itxProductPageCtrl.setBundleComponents(bundle)" related-products="itxProductPageCtrl.relatedProductsList" buy-set-closed="itxProductPageCtrl.onBuySetClosed()"> </itx-bundle-detail> <itx-product-detail ng-if="::(itxProductPageCtrl.product.type === 'ProductBean')" product="::itxProductPageCtrl.product" on-color-change="itxProductPageCtrl.setRelatedsColor(color, isInit)" look-products="itxProductPageCtrl.lookProductsList" related-products="itxProductPageCtrl.relatedProductsList" lastseen-products="itxProductPageCtrl.lastProductsList" meccano-relateds="itxProductPageCtrl.meccanoRelateds"> </itx-product-detail> </div> <section id="complete-the-look" ng-if="!itxProductPageCtrl.product.notVisible && (itxProductPageCtrl.lookProductsList.length > 0 || itxProductPageCtrl.relatedProductsList.length > 0 || itxProductPageCtrl.lastProductsList.length > 2) && itxProductPageCtrl.showRelated && itxProductPageCtrl.product.type ==='BundleBean'"> <!-- LINKS A PRODUCTOS YA VISTOS/RECOMENDADOS --> <!-- ini relacionados tipo LOOK gesticor --> <div itx-in-viewport=".look-meccano-relateds" itx-in-viewport-fn="itxProductPageCtrl.sendFeedback('look')" itx-in-viewport-margin="-200"> <itx-related-products class="look-meccano-relateds" product-list="itxProductPageCtrl.lookProductsList" heading-text="'ItxProductPage.complete.the.look'" show-arrows="true" parent-product="itxProductPageCtrl.product" meccano-recommendation-id="itxProductPageCtrl.meccanoRelateds.lookType.recommendationId" from="'productos_relacionados'"> </itx-related-products> </div> <!-- fin relacionados tipo LOOK gesticor --> <!-- ini relacionados tipo RELATED eCommerce --> <div itx-in-viewport=".related-meccano-relateds" itx-in-viewport-fn="itxProductPageCtrl.sendFeedback('related')" itx-in-viewport-margin="-200"> <itx-related-products class="related-meccano-relateds" product-list="itxProductPageCtrl.relatedProductsList" heading-text="'ItxProductPage.related.product'" show-arrows="true" parent-product="itxProductPageCtrl.product" meccano-recommendation-id="itxProductPageCtrl.meccanoRelateds.relatedType.recommendationId" from="'productos_relacionados'"> </itx-related-products> </div> <!-- fin relacionados tipo RELATED eCommerce --> <div class="last-seen-block" ng-if="itxProductPageCtrl.lastProductsList.length > 2 && (!itxProductPageCtrl.lookProductsList || !itxProductPageCtrl.relatedProductsList || itxProductPageCtrl.lookProductsList.length === 0 || itxProductPageCtrl.relatedProductsList.length === 0)"> <h2>SEEN RECENTLY</h2> <div class="grid4"> <article class="product-item" ng-repeat="product in ::itxProductPageCtrl.lastProductsList | reverse | limitTo: 4 | filter: {visibility:'show' || 'back_soon' || 'coming_soon'} track by $index"> <itx-product-item product="::product" product-index="$index" from="'lastSeen'" parent-product="itxProductPageCtrl.product"> </itx-product-item> </article> </div> </div> </section> </div> </itx-slide> </itx-slides> </itx-swiper> </div> </div> </div></script><script id="checkout-addresses.tpl" type="text/ng-template"><div class="checkout-addresses-container"> <!-- SHIPPING ROW --> <div class="checkout-shipping-address" ng-if="!itxCheckoutAddressesCtrl.isDelivery || (itxCheckoutAddressesCtrl.isDelivery && !itxCheckoutAddressesCtrl.sameAddress)"> <div ng-if="itxCheckoutAddressesCtrl.isDelivery"> <span class="checkout-title no-marginTop"> {{ ::("global.shipping.address" | property) }} </span> <itx-delivery-shipping-method ng-if="!itxCheckoutAddressesCtrl.isVirtualOrder" shipping-addresses="itxCheckoutAddressesCtrl.shippingAddresses" shipping-address="itxCheckoutAddressesCtrl.shippingAddress" shipping-countries="itxCheckoutAddressesCtrl.shippingCountries" on-edit-address="itxCheckoutAddressesCtrl.editAddress(address, 'shipping')" on-select-address="itxCheckoutAddressesCtrl.selectedDeliveryAddress(address, isValid, formAddress, newShippingAddress)"> </itx-delivery-shipping-method> </div> <div ng-if="itxCheckoutAddressesCtrl.isDDD && itxCheckoutAddressesCtrl.deliveryDates"> <itx-defined-delivery-date dates="itxCheckoutAddressesCtrl.deliveryDates.dates" times="itxCheckoutAddressesCtrl.deliveryDates.times" on-date-select="itxCheckoutAddressesCtrl.selectDate(deliveryDate)"> </itx-defined-delivery-date> </div> <div ng-if="itxCheckoutAddressesCtrl.isDroppoint && !itxCheckoutAddressesCtrl.isVirtualOrder"> <itx-droppoint-shipping-method address="itxCheckoutAddressesCtrl.billingAddress" on-select-droppoint="itxCheckoutAddressesCtrl.selectDeliveryPoint(deliveryPoint, isValid, from)"> </itx-droppoint-shipping-method> </div> <div ng-if="itxCheckoutAddressesCtrl.isPickup && !itxCheckoutAddressesCtrl.isVirtualOrder"> <itx-pickup-shipping-method address="itxCheckoutAddressesCtrl.billingAddress" on-select-store="itxCheckoutAddressesCtrl.selectDeliveryPoint(deliveryPoint, true, from)"> </itx-pickup-shipping-method> </div> </div> <!-- BILLING ROW --> <div class="checkout-billing-address"> <div> <span class="checkout-title no-marginTop" ng-if="(itxCheckoutAddressesCtrl.isDelivery && !itxCheckoutAddressesCtrl.sameAddress) || !itxCheckoutAddressesCtrl.isDelivery"> Billing address </span> <span class="checkout-title no-marginTop" ng-if="itxCheckoutAddressesCtrl.isDelivery && itxCheckoutAddressesCtrl.sameAddress"> {{ ::("global.shipping.address" | property) }} </span> </div> <div ng-if="itxCheckoutAddressesCtrl.isDelivery && !itxCheckoutAddressesCtrl.distinctBillingCountry"> <md-input-container layout-align="left" layout="column"> <md-checkbox name="sameAddress" ng-model="itxCheckoutAddressesCtrl.sameAddress" ng-change="itxCheckoutAddressesCtrl.setSameAddress()"> <span ng-if="itxCheckoutAddressesCtrl.sameAddress && !itxCheckoutAddressesCtrl.billingAddressSaved"> {{ ::("address.sameBillingAddress" | property) }} </span> <span ng-if="!itxCheckoutAddressesCtrl.sameAddress || itxCheckoutAddressesCtrl.billingAddressSaved"> {{ ::("ItxOrderShippingPage.envio.send.to.billing.address" | property) }} </span> </md-checkbox> </md-input-container> </div> <!-- mientras la billing address no este guardada, se mostrara el formulario de direccion de facturacion --> <itx-address ng-if="!itxCheckoutAddressesCtrl.billingAddressSaved" address-type="'billing'" address="itxCheckoutAddressesCtrl.billingAddress" suggestion="itxCheckoutAddressesCtrl.suggestedAddress" shipping-countries="itxCheckoutAddressesCtrl.shippingCountries" billing-countries="itxCheckoutAddressesCtrl.billingCountries" is-same-address="itxCheckoutAddressesCtrl.sameAddress" from-billing-form="true" billing-country="itxCheckoutAddressesCtrl.billingCountry" on-address-change="itxCheckoutAddressesCtrl.addNewBillingAddress(address, isValid)" on-distinct-country="itxCheckoutAddressesCtrl.changeBillingCountry(country)" hide-submit-button="true"> </itx-address> <!-- BILLING ADDRESS DETAIL (cuando existe direccion de facturacion y esta guardada) --> <itx-address-detail ng-if="itxCheckoutAddressesCtrl.billingAddress && itxCheckoutAddressesCtrl.billingAddressSaved" address="itxCheckoutAddressesCtrl.billingAddress" address-type="'billing'" on-edit-address="itxCheckoutAddressesCtrl.editAddress(address, 'billing')"> </itx-address-detail> </div> </div></script><script id="checkout-payment.tpl" type="text/ng-template"><div class="checkout-payment" layout-padding> <itx-spot type="Metodo_Pago"></itx-spot> <p class="message-error" ng-if="itxCheckoutPaymentCtrl.payment3DSRefused"> {{ ::("ItxOrderPaymentPage.payment.3DSerror" | property) }} </p> <p class="message-error" ng-if="itxCheckoutPaymentCtrl.paymentError && itxCheckoutPaymentCtrl.paymentError.description" ng-bind-html="itxCheckoutPaymentCtrl.getTrustedText(itxCheckoutPaymentCtrl.paymentError.description)"></p> <div class="col-md-12"> <span class="checkout-title"> {{ ::("ItxPaymentComponentDirective.pago.formas.label" | property) }} </span> </div> <div class="col-md-12" ng-if="!itxCheckoutPaymentCtrl.notShowSelectAdvice"> <span class="checkout-payment-advice"> {{ ::("selectPaymentMethod" | property) }} </span> </div> <div class="col-md-12"> <div class="gift-cards-used" ng-if="itxCheckoutPaymentCtrl.giftCardsUsed && itxCheckoutPaymentCtrl.giftCardsUsed.length > 0"> <ul class="discounts"> <li ng-repeat="card in itxCheckoutPaymentCtrl.giftCardsUsed"> <img class="gift-card-used-img" ng-src="{{ itxCheckoutPaymentCtrl.getPaymentImg(card) }}"> <span ng-if="card.variant !== 'EmployeeCard'"> {{ ::("ItxPaymentComponentDirective.pago.formas.tarjeta.gift" | property) }} </span> <span ng-if="card.variant === 'EmployeeCard'"> {{ ::("ItxPaymentComponentDirective.pago.formas.tarjeta.empleado" | property) }} </span> <span ng-bind-html='itxCheckoutPaymentCtrl.formatPrice(card.amount * -1)'></span> <a ng-click="itxCheckoutPaymentCtrl.removeGiftCard($index)"> {{ ::("ItxPaymentComponentDirective.eliminar" | property) }} </a> </li> </ul> <div> <span ng-bind-html="itxCheckoutPaymentCtrl.pendingAmountText()"></span> </div> </div> <!-- Decision de pagar con tarjeta guardada o nuevo metodo de pago --> <div ng-if="itxCheckoutPaymentCtrl.isWalletUser && itxCheckoutPaymentCtrl.walletInfo.walletCards.length > 0 && !itxCheckoutPaymentCtrl.showAllPaymentMethods"> <div class="single-wallet-card" ng-if="itxCheckoutPaymentCtrl.walletInfo.walletCards.length === 1" > <img class="wallet-card-img" ng-src="{{ itxCheckoutPaymentCtrl.getPaymentImg(itxCheckoutPaymentCtrl.walletInfo.walletCardSelected) }}" /> <div class="card-info"> <span layout="row">{{ itxCheckoutPaymentCtrl.walletInfo.walletCardSelected.paymentMethod + ' - ' + itxCheckoutPaymentCtrl.walletInfo.walletCardSelected.holderName + ' - ' + itxCheckoutPaymentCtrl.walletInfo.walletCardSelected.printablePan }}</span> <span layout="row" ng-if="itxCheckoutPaymentCtrl.walletInfo.walletCardSelected.expired == 1" class="expired"> {{ ::("expiredCard" | property) }} </span> </div> </div> <div class="multiple-wallet-cards" ng-if="itxCheckoutPaymentCtrl.walletInfo.walletCards.length > 1"> <md-input-container> <md-select ng-model="itxCheckoutPaymentCtrl.walletInfo.walletCardSelected" ng-model-options="{updateOn: 'default blur', debounce: { 'default': 300, 'blur': 0 }}" ng-change="itxCheckoutPaymentCtrl.changeWalletCard()" required> <md-option md-ink-ripple="false" ng-repeat="card in itxCheckoutPaymentCtrl.walletInfo.walletCards" ng-value="card" class="card-option"> <img class="wallet-card-img" ng-src="{{ itxCheckoutPaymentCtrl.getPaymentImg(card) }}" /> <div class="card-info"> <span layout="row">{{ card.paymentMethod + ' - ' + card.holderName + ' - ' + card.printablePan }}</span> <span layout="row" ng-if="card.expired == 1" class="expired"> {{ ::("expiredCard" | property) }} </span> </diV> </md-option> </md-select> </md-input-container> <div ng-if="itxCheckoutPaymentCtrl.walletInfo.walletCardSelected.needTrustChallenge"> <div class="wallet-trust-payment"> <form name="itxCheckoutPaymentCtrl.trustPaymentForm" method="post" novalidate> <span> {{ ::("checkout.trust.fields" | property) }} </span> <md-input-container ng-if="itxCheckoutPaymentCtrl.walletInfo.walletCardSelected.paymentMethod.toLowerCase() === 'affinity'"> <label> {{ ::("ItxPaymentComponentDirective.pago.formas.tarjeta.numero" | property) }} </label> <input type="tel" name="cardNo" ng-model="itxCheckoutPaymentCtrl.trustInfo.cardNo" ng-model-options="{updateOn: 'default blur', debounce: { 'default': 300, 'blur': 0 }}" ng-minlength="16" ng-change="itxCheckoutPaymentCtrl.setTrustInfo('cardNo')" required /> <div ng-messages="itxCheckoutPaymentCtrl.trustPaymentForm.cardNo.$error"> <div ng-message="required"> {{ ::("ItxPaymentComponentDirective.error.pago.campos.numero" | property) }} </div> <div ng-message="minlength"> {{ ::("ItxPaymentComponentDirective.error.pago.campos.numero" | property) }} </div> <div ng-message="maxlength"> {{ ::("ItxPaymentComponentDirective.error.pago.campos.numero" | property) }} </div> </div> </md-input-container> <md-input-container ng-if="itxCheckoutPaymentCtrl.walletInfo.walletCardSelected.paymentMethod.toLowerCase() !== 'affinity'"> <input type="number" name="cvv" placeholder="CVV" ng-model="itxCheckoutPaymentCtrl.trustInfo.cvv" ng-minlength="3" ng-maxlength="4" ng-change="itxCheckoutPaymentCtrl.setTrustInfo('cvv')" required> <div ng-messages="itxCheckoutPaymentCtrl.trustPaymentForm.cvv.$error"> <div ng-message="required"> {{ ::("ItxPaymentComponentDirective.error.pago.campos.cvv" | property) }} </div> <div ng-message="minlength"> {{ ::("ItxPaymentComponentDirective.error.pago.campos.cvv" | property) }} </div> <div ng-message="maxlength"> {{ ::("ItxPaymentComponentDirective.error.pago.campos.cvv" | property) }} </div> </div> </md-input-container> </form> </div> </div> </div> <div class="wallet-payment-modes" ng-if="itxCheckoutPaymentCtrl.walletInfo.walletCardSelected.paymentModes && itxCheckoutPaymentCtrl.walletInfo.walletCardSelected.paymentModes.length > 0"> <md-select ng-model="itxCheckoutPaymentCtrl.walletInfo.walletCardSelected.paymentMode" placeholder="{{ ::('ItxPaymentComponentDirective.pago.formas.tarjeta.modes.label' | property) }}" required> <md-option md-ink-ripple="false" ng-repeat="paymentMode in itxCheckoutPaymentCtrl.walletInfo.walletCardSelected.paymentModes" ng-value="paymentMode"> {{ paymentMode.name }} </md-option> </md-select> </div> <div class="wallet-request-details" ng-if="itxCheckoutPaymentCtrl.walletInfo.walletCardSelected.requestWalletPaymentDetails"> <form name="cvvWallet" method="post" novalidate> <md-input-container> <input type="number" name="cardCVV" placeholder="CVV" ng-model="itxCheckoutPaymentCtrl.walletInfo.walletCardSelected.cvv" ng-minlength="3" ng-maxlength="4" required> <div ng-messages="cvvWallet.cardCVV.$error"> <div ng-message="required"> {{ ::("ItxPaymentComponentDirective.error.pago.campos.cvv" | property) }} </div> <div ng-message="minlength"> {{ ::("ItxPaymentComponentDirective.error.pago.campos.cvv" | property) }} </div> <div ng-message="maxlength"> {{ ::("ItxPaymentComponentDirective.error.pago.campos.cvv" | property) }} </div> </div> </md-input-container> </form> </div> <div class="otro-metodo-pago" ng-if="itxCheckoutPaymentCtrl.myCardsActive"> <a class="link-2 pointer" ng-click="itxCheckoutPaymentCtrl.changeActiveWalletCards()"> {{ ::("ItxPaymentComponentDirective.pago.formas.others.select" | property) }} </a> </div> </div> <!-- FIN Decision de pagar con tarjeta guardada o nuevo metodo de pago --> <!-- METODO DE PAGO PEDIDO NO WALLET (o wallet que decide pagar con un metodo de pago no wallet) --> <div ng-if="itxCheckoutPaymentCtrl.showAllPaymentMethods"> <a ng-if="itxCheckoutPaymentCtrl.isWalletUser && itxCheckoutPaymentCtrl.walletInfo && itxCheckoutPaymentCtrl.walletInfo.walletCards.length > 0" class="link-2" ng-click="itxCheckoutPaymentCtrl.changeActiveWalletCards()"> {{ ::("ItxPaymentComponentDirective.pago.formas.mine.select" | property) }} </a> <!-- metodos de pago para todos los paises menos CN --> <itx-payment-methods ng-if="$root.inditex.iCountryCode !== 'CN'" template="payment-methods.tpl" payment-methods="itxCheckoutPaymentCtrl.paymentMethods" on-select-payment="itxCheckoutPaymentCtrl.selectPaymentMethod(paymentMethod, moreInfo)"> </itx-payment-methods> <!-- FIN seleccion metodo pago paises no CN --> <!-- metodos de pago para CN --> <itx-payment-methods ng-if="$root.inditex.iCountryCode === 'CN'" template="payment-methods-china.tpl" payment-methods="itxCheckoutPaymentCtrl.paymentMethods" on-select-payment="itxCheckoutPaymentCtrl.selectPaymentMethod(paymentMethod, moreInfo)"> </itx-payment-methods> <!-- FIN seleccion metodo pago CN --> <!-- Informacion de pago seleccionado --> <div class="selected-payment-info" ng-if="itxCheckoutPaymentCtrl.selectedPaymentMethod && !itxCheckoutPaymentCtrl.restarted"> <span> {{ ::("ItxCheckoutPayment.selectedPaymentMethod" | property) }} </span> <span class="payment-name" ng-bind-html="itxCheckoutPaymentCtrl.selectedPaymentMethod.name"></span> </div> <div class="bancontact-app-info" ng-if="itxCheckoutPaymentCtrl.selectedPaymentMethod && itxCheckoutPaymentCtrl.selectedPaymentMethod.kind.toLowerCase() === 'bancontact_app' && !itxCheckoutPaymentCtrl.restarted"> <span> {{ ::("ItxCheckoutPayment.bancontactApp.info" | property) }} </span> </div> <!-- FIN Informacion de pago seleccionado --> <!-- formulario del metodo de pago seleccionado --> <itx-payment-user-data ng-if="itxCheckoutPaymentCtrl.selectedPaymentMethod && !itxCheckoutPaymentCtrl.restarted" selected-payment-method="itxCheckoutPaymentCtrl.selectedPaymentMethod" payment-method-more-info="itxCheckoutPaymentCtrl.paymentMethodMoreInfo" payment-form-required="itxCheckoutPaymentCtrl.isPaymentFormRequired" confirm-payment-user-data="itxCheckoutPaymentCtrl.confirmPayment(cardInfo)" confirm-add-gift-card="itxCheckoutPaymentCtrl.confirmGiftCardPayment()"> </itx-payment-user-data> <!-- FIN formulario metodo de pago --> </div> <!-- FIN Metodo de pago no wallet --> </div> </div></script><script id="order-repayment.tpl" type="text/ng-template"><div class="row"> <div id="checkout-container" class="info-repayment col-xs-12 col-sm-8"> <div> <h2>ORDER PLACED</h2> <p>Thank you for placing your order. If you need assistance you can call our free customer service line: {{ $root.inditex.iStoreJSON.details.supportPhone}}</p> <p>Please proceed to pay the order. After 60 minutes without payment confirmation the order will expire.</p> <p>An email will be sent to you once we have received the payment confirmation.</p> <div class="payment-method-selected"> <h2>Payment method selected:</h2> <p>Order date: <span ng-bind="itxOrderRepaymentCtrl.order.date | date:itxOrderRepaymentCtrl.iXDateFormat"></span></p> <p>Order number: <span ng-bind="itxOrderRepaymentCtrl.orderId"></span></p> <p>Payment method: <img ng-src="{{ itxOrderRepaymentCtrl.selectedPaymentMethod.imgUrl }}" alt="{{ itxOrderRepaymentCtrl.selectedPaymentMethod.name }}" /></p> <p>Shipping method: <span class="order-shipping-name" ng-bind="itxOrderRepaymentCtrl.order.shipping.name"></span></p> </div> </div> <itx-button ng-if="!itxOrderRepaymentCtrl.showPaymentMethods" ng-click="itxOrderRepaymentCtrl.changePaymentMethod()" class="itx-button-black" button-type="'submit'" is-disabled="itxCheckoutCtrl.notReadyToFinish"> <span> CHANGE PAYMENT METHOD</span> </itx-button> <!-- metodos de pago para CN --> <itx-payment-methods ng-if="itxOrderRepaymentCtrl.isChina && itxOrderRepaymentCtrl.paymentMethods && itxOrderRepaymentCtrl.showPaymentMethods" template="payment-methods-china.tpl" payment-methods="itxOrderRepaymentCtrl.paymentMethods" preselected-method="itxOrderRepaymentCtrl.selectedPaymentMethod" on-select-payment="itxOrderRepaymentCtrl.selectPaymentMethod(paymentMethod, moreInfo)"> </itx-payment-methods> <!-- Informacion de pago seleccionado --> <div class="selected-payment-info" ng-if="itxOrderRepaymentCtrl.selectedPaymentMethod"> <span>You have selected the payment method: </span> <span class="payment-name" ng-bind-html="itxOrderRepaymentCtrl.selectedPaymentMethod.name"></span> </div> <!-- FIN Informacion de pago seleccionado --> </div> <!-- resumen pedido --> <div id="summary-container" class="col-xs-12 col-sm-4 col-md-3 col-md-push-1"> <div> <itx-order-summary-panel ng-if="itxOrderRepaymentCtrl.cart" cart="itxOrderRepaymentCtrl.cart" cart-items-size="itxOrderRepaymentCtrl.cartSize" virtual-card="itxOrderRepaymentCtrl.isVirtualOrder"> </itx-order-summary-panel> <div layout="row"> <itx-button ng-click="itxOrderRepaymentCtrl.repayOrder()" enable-progress="itxOrderRepaymentCtrl.loading" class="itx-button-black" button-type="'submit'" ng-cloak> <span>ORDER WITH PAYMENT COMMITMENT</span> </itx-button> </div> </div> </div> </div></script><script id="payment-methods.tpl" type="text/ng-template"><div class="payment-methods"> <div class="repay-method"> <ul class="methods-container"> <li class="payment-method-container" ng-class="{'selected' : paymentMethod.code === itxPaymentMethodsCtrl.selected.code, '{{::paymentMethod.name}}': true }" ng-repeat="paymentMethod in itxPaymentMethodsCtrl.paymentMethods | filter: { visible: 'true' }" ng-click="itxPaymentMethodsCtrl.selectPaymentMethod(paymentMethod)"> <img ng-src="{{ paymentMethod.imgUrl }}" ng-class="{'selected' : (paymentMethod.code === itxPaymentMethodsCtrl.selected.code && !itxPaymentMethodsCtrl.restarted)}" alt="{{ paymentMethod.name }}" /> <span class="payment-method-name" ng-bind-html="paymentMethod.name"></span> </li> </ul> </div></script><script id="payment-methods-china.tpl" type="text/ng-template"><div class="payment-methods china-payment-methods"> <div class="repay-method" ng-if="(itxPaymentMethodsCtrl.paymentMethods | filter:{ section: 1}).length > 0"> <p class="alipay-title">ALIPAY WALLET</p> <ul class="methods-container"> <li ng-class="{'selected' : paymentMethod.code === itxPaymentMethodsCtrl.selected.code, '{{::paymentMethod.name}}': true}" ng-repeat="paymentMethod in itxPaymentMethodsCtrl.paymentMethods | filter:{ section: 1, visible: 'true'}" ng-click="itxPaymentMethodsCtrl.selectPaymentMethod(paymentMethod)"> <img ng-src="{{paymentMethod.imgUrl}}" alt="{{paymentMethod.name}}" /> <span class="payment-method-name" ng-bind-html="paymentMethod.name"></span> </li> </ul> </div> <div class="repay-method" ng-if="(itxPaymentMethodsCtrl.paymentMethods | filter:{ section: 2}).length > 0"> <p class="alipay-title"><a ng-click="itxPaymentMethodsCtrl.banksMethods = !itxPaymentMethodsCtrl.banksMethods">BANKS<span ng-class="{'opened' : itxPaymentMethodsCtrl.banksMethods}" class="icon icon-arrow_down"></span></a></p> <ul class="methods-container" ng-show="itxPaymentMethodsCtrl.banksMethods"> <li ng-class="{'selected' : paymentMethod.code === itxPaymentMethodsCtrl.selected.code}" ng-repeat="paymentMethod in itxPaymentMethodsCtrl.paymentMethods | filter:{ section: 2, visible: 'true'}" ng-click="itxPaymentMethodsCtrl.selectPaymentMethod(paymentMethod)"> <img ng-src="{{paymentMethod.imgUrl}}" alt="{{paymentMethod.name}}" /> <span class="payment-method-name" ng-bind-html="paymentMethod.name"></span> </li> </ul> </div> <div class="repay-method" ng-if="(itxPaymentMethodsCtrl.paymentMethods | filter:{ section: 3}).length > 0"> <p class="alipay-title"><a ng-click="itxPaymentMethodsCtrl.cardsMethods = !itxPaymentMethodsCtrl.cardsMethods">INTERNATIONAL CREDIT CARDS<span ng-class="{'opened' : itxPaymentMethodsCtrl.cardsMethods}" class="icon icon-arrow_down"></span></a></p> <ul class="methods-container" ng-show="itxPaymentMethodsCtrl.cardsMethods"> <li ng-class="{'selected' : paymentMethod.code === itxPaymentMethodsCtrl.selected.code}" ng-repeat="paymentMethod in itxPaymentMethodsCtrl.paymentMethods | filter:{ section: 3, visible: 'true'}" ng-click="itxPaymentMethodsCtrl.selectPaymentMethod(paymentMethod)"> <img ng-src="{{paymentMethod.imgUrl}}" alt="{{paymentMethod.name}}" /> <span class="payment-method-name" ng-bind-html="paymentMethod.name"></span> </li> </ul> </div> <div class="repay-method" ng-if="(itxPaymentMethodsCtrl.paymentMethods | filter:{ section: 4}).length > 0"> <p class="alipay-title"><a ng-click="itxPaymentMethodsCtrl.othersMethods = !itxPaymentMethodsCtrl.othersMethods">OTHERS<span ng-class="{'opened' : itxPaymentMethodsCtrl.othersMethods}" class="icon icon-arrow_down"></span></a></p> <ul class="methods-container" ng-show="itxPaymentMethodsCtrl.othersMethods"> <li ng-class="{'selected' : paymentMethod.code === itxPaymentMethodsCtrl.selected.code}" ng-repeat="paymentMethod in itxPaymentMethodsCtrl.paymentMethods | filter:{ section: 4, visible: 'true'}" ng-click="itxPaymentMethodsCtrl.selectPaymentMethod(paymentMethod)"> <img ng-src="{{paymentMethod.imgUrl}}" alt="{{paymentMethod.name}}" /> <span class="payment-method-name" ng-bind-html="paymentMethod.name"></span> </li> </ul> </div> </div></script><script id="checkout-shipping.tpl" type="text/ng-template"><div class="checkout-shipping"> <div> <ng-form name="itxCheckoutShippingCtrl.shippingMethodsForm" method="post" novalidate> <!-- SHIPPING METHOD SELECTION --> <div class="col-md-12 shipping-method-selection" ng-if="itxCheckoutShippingCtrl.shippingMethods"> <h2 class="checkout-title"> Type of delivery </h2> <div class="col-md-12"> <ul class="shipping-list"> <li ng-repeat="shippingMethod in itxCheckoutShippingCtrl.shippingMethods" ng-click="itxCheckoutShippingCtrl.selectShippingMethod(shippingMethod)" ng-class="{'active' : shippingMethod.id == itxCheckoutShippingCtrl.selectedShippingMethod.id}"> <span class="check"></span> <div> <p> <b>{{ shippingMethod.name }}<span ng-if="shippingMethod.maxDayStr">:</span></b> <span ng-if="shippingMethod.isNewMethod" class="new-shipping-method">NEW </span> <span ng-if="shippingMethod.minDayStr && shippingMethod.maxDayStr && shippingMethod.minDayStr !== shippingMethod.maxDayStr"> {{ shippingMethod.minDayStr }} - {{ shippingMethod.maxDayStr }} </span> <span ng-if="shippingMethod.minDayStr && shippingMethod.maxDayStr && shippingMethod.minDayStr === shippingMethod.maxDayStr"> {{ shippingMethod.maxDayStr }} </span> </p> <p ng-if="!shippingMethod.maxDayStr"> {{ shippingMethod.description }} </p> </div> <div> <span class="price" ng-class="{'line-through' : shippingMethod.priceWithDiscounts != null && shippingMethod.price !== shippingMethod.priceWithDiscounts }" ng-bind-html='itxCheckoutShippingCtrl.ItxHelper.formatPrice(shippingMethod.price)'> </span> <span ng-if="shippingMethod.priceWithDiscounts != null && shippingMethod.price !== shippingMethod.priceWithDiscounts" ng-bind-html='itxCheckoutShippingCtrl.ItxHelper.formatPrice(shippingMethod.priceWithDiscounts)'> </span> </div> </li> </ul> </div> <div class="col-md-12" ng-if="itxCheckoutShippingCtrl.isRusia"> <a ng-if="itxCheckoutShippingCtrl.isDelivery" class="link-2" ng-click="itxCheckoutShippingCtrl.openRussiaMap()">Check the delivery cost details</a> </div> <div class="col-md-12" ng-if="itxCheckoutShippingCtrl.isChina"> <itx-spot type="ChinaAreas"></itx-spot> </div> </div> </ng-form> <itx-spot type="OrderShipping"></itx-spot> </div> </div></script><script id="defined-delivery-date.tpl" type="text/ng-template"><!-- DDD DELIVERY METHOD --> <div class="col-md-12"> <h2 class="checkout-title"> Select delivery date and time </h2> <div class="row"> <form name="itxDefinedDeliveryDateCtrl.deliveryDateForm" id="deliveryDateForm" method="post" novalidate> <div class="col-md-6"> <md-input-container> <md-select name="deliveryDay" placeholder="Day of delivery" ng-model="itxDefinedDeliveryDateCtrl.deliveryDate" ng-change="itxDefinedDeliveryDateCtrl.selectDate()" required> <md-option md-ink-ripple="false" ng-repeat="date in itxDefinedDeliveryDateCtrl.dates" ng-value="date.datetime"> {{date.formattedDate}} </md-option> </md-select> <div ng-messages="itxDefinedDeliveryDateCtrl.deliveryDateForm.deliveryDay.$error"> <div ng-message="required"> Please select a delivery day </div> </div> </md-input-container> </div> <div class="col-md-6"> <md-input-container> <md-select name="deliveryHour" ng-model="itxDefinedDeliveryDateCtrl.deliveryTimeRange" placeholder="Delivery time" ng-change="itxDefinedDeliveryDateCtrl.selectDate()" required> <md-option md-ink-ripple="false" ng-repeat="time in itxDefinedDeliveryDateCtrl.times" ng-value="time.idTimeRange"> {{time.description}} </md-option> </md-select> <div ng-messages="itxDefinedDeliveryDateCtrl.deliveryDateForm.deliveryHour.$error"> <div ng-message="required"> Please select a delivery period </div> </div> </md-input-container> </div> </form> </div> </div></script><script id="delivery-shipping-method.tpl" type="text/ng-template"><div class="delivery-shipping-method-row"> <!-- NOT GUEST USER NOR SEMIGUEST --> <div class="col-md-12"> <!-- STORED ADDRESSES --> <md-input-container layout="column" layout-align="left" class="saved-address-select no-marginTop" ng-if="itxDeliveryShippingMethodCtrl.shippingAddresses && itxDeliveryShippingMethodCtrl.shippingAddresses.length > 1"> <md-select name="selectedAddress" ng-change="itxDeliveryShippingMethodCtrl.setShippingAddress(itxDeliveryShippingMethodCtrl.selectedAddress, true)" ng-model="itxDeliveryShippingMethodCtrl.selectedAddress" ng-model-options="{trackBy: '$value.id'}"> <md-option md-ink-ripple="false" ng-repeat="template in itxDeliveryShippingMethodCtrl.shippingAddresses" ng-value="template"> {{ template.addressName.split('|')[0] }} </md-option> </md-select> </md-input-container> <!-- STORED ADDRESSES --> <!-- DETAIL SHIPPING ADDRESS --> <itx-address-detail ng-if="itxDeliveryShippingMethodCtrl.shippingAddresses && itxDeliveryShippingMethodCtrl.shippingAddresses.length > 0" address="itxDeliveryShippingMethodCtrl.selectedAddress" address-type="'shipping'" on-edit-address="itxDeliveryShippingMethodCtrl.editAddress(address, type)"> </itx-address-detail> <!-- DETAIL SHIPPING ADDRESS --> </div> <!-- NOT GUEST USER NOR SEMIGUEST --> <!-- NEW SHIPPING ADDRESS --> <div class="col-md-12"> <itx-button ng-click="itxDeliveryShippingMethodCtrl.newShippingAddress()"> {{ ::("address.newAddress" | property) }} </itx-button> </div> <!-- NEW SHIPPING ADDRESS --> </div></script><script id="droppoint-shipping-method.tpl" type="text/ng-template"><div class="checkout-shipping-droppointselection row"> <div class="col-md-12"> <h2 class="checkout-title no-marginTop"> Collection point </h2> <!-- DROPPOINTS SOLR --> <md-input-container ng-if="!itxDroppointShippingMethodCtrl.hideZipcodeField && !itxDroppointShippingMethodCtrl.$rootScope.isMobile"> <label>Please enter a Post Code, Address or City.</label> <input type="text" name="zipCode" ng-model-options="{ debounce: 500 }" ng-model="itxDroppointShippingMethodCtrl.zipcode" ng-change="itxDroppointShippingMethodCtrl.getClosestDroppoints()"> </md-input-container> <div class="col-md-12 mobile-pickup" ng-if="itxDroppointShippingMethodCtrl.$rootScope.isMobile"> <md-input-container class="col-xs-12"> <label>Please enter a Post Code, Address or City.</label> <input type="text" name="zipCode" ng-model-options="{ debounce: 500 }" ng-model="itxDroppointShippingMethodCtrl.zipcode"> </md-input-container> <md-input-container class="col-xs-12"> <itx-button class="itx-button-black confirm-order-summary" button-type="'submit'" is-disabled="!itxDroppointShippingMethodCtrl.zipcode" ng-click="itxDroppointShippingMethodCtrl.getClosestDroppoints()"> <span>???javascript.SEARCH???</span> </itx-button> </md-input-container> </div> <div class="col-md-12"> <ul class="shipping-list"> <li ng-repeat="droppoint in itxDroppointShippingMethodCtrl.droppoints | limitTo:5 | orderBy : droppoint.distanceValue" ng-click="itxDroppointShippingMethodCtrl.selectDroppoint(droppoint)" ng-class="{'active' : droppoint.id == itxDroppointShippingMethodCtrl.selectedDroppoint.id}"> <span class="check"></span> <div> <p>{{droppoint.street }} <span ng-if="droppoint.distance"><span class="icon icon-car-front"> </span> {{droppoint.distance}}</span> </p> <p>{{droppoint.zipCode}} - {{droppoint.city}} ({{droppoint.providerName}})</p> <p ng-if="droppoint.networkTypeDesc && droppoint.networkTypeDesc.toLowerCase() === 'citypaq'" ng-bind-html="droppoint.networkTypeDesc"></p> </div> </li> </ul> <p class="no-results" ng-if="!itxDroppointShippingMethodCtrl.droppoints && !itxDroppointShippingMethodCtrl.firstSearch || itxDroppointShippingMethodCtrl.droppoints.length < 1">No results found</p> </div> <!-- EXTRA PARAMS --> <div id="info-droppoints-solr" ng-if="itxDroppointShippingMethodCtrl.selectedDroppoint && itxDroppointShippingMethodCtrl.selectedDroppoint.extraParams"> <md-input-container ng-if="itxDroppointShippingMethodCtrl.selectedDroppoint.extraParams.DropPointCustomerId"> <label for="packstation-id">User ID</label> <input type="text" ng-model-options="{ debounce: 500 }" name="packstationid" ng-model="itxDroppointShippingMethodCtrl.selectedDroppoint.idDropPointUser" ng-change="itxDroppointShippingMethodCtrl.changeDroppointExtraParams()" ng-pattern="itxDroppointShippingMethodCtrl.selectedDroppoint.extraParams.DropPointCustomerId" required> </md-input-container> <md-input-container ng-if="itxDroppointShippingMethodCtrl.selectedDroppoint.extraParams.ExternalDestinationEmail"> <label for="packstation-id">E-mail</label> <input type="text" ng-model-options="{ debounce: 500 }" name="destinationPhone" ng-model="itxDroppointShippingMethodCtrl.selectedDroppoint.externalDestinationEmail" ng-change="itxDroppointShippingMethodCtrl.changeDroppointExtraParams()" ng-pattern="itxDroppointShippingMethodCtrl.selectedDroppoint.extraParams.ExternalDestinationEmail" required> </md-input-container> <md-input-container ng-if="itxDroppointShippingMethodCtrl.selectedDroppoint.extraParams.ExternalDestinationPhone"> <label for="packstation-id">Mobile phone</label> <input type="text" ng-model-options="{ debounce: 500 }" name="destinationPhone" ng-model="itxDroppointShippingMethodCtrl.selectedDroppoint.externalDestinationPhone" ng-change="itxDroppointShippingMethodCtrl.changeDroppointExtraParams()" ng-pattern="itxDroppointShippingMethodCtrl.selectedDroppoint.extraParams.ExternalDestinationPhone" required> </md-input-container> <md-input-container ng-if="itxDroppointShippingMethodCtrl.selectedDroppoint.extraParams.ExternalDestinationCode"> <label for="packstation-id">???javascript.FIELD.CODE???</label> <input type="text" ng-model-options="{ debounce: 500 }" name="destinationPhone" ng-model="itxDroppointShippingMethodCtrl.selectedDroppoint.externalDestinationCode" ng-change="itxDroppointShippingMethodCtrl.changeDroppointExtraParams()" ng-pattern="itxDroppointShippingMethodCtrl.selectedDroppoint.extraParams.ExternalDestinationCode" required> </md-input-container> </div> <div class="col-xs-12 col-sm-5 search-more-stores"> <itx-button id="select-other-droppoint" ng-if="!itxDroppointShippingMethodCtrl.firstSearch" ng-click="itxDroppointShippingMethodCtrl.viewMap()"> <span ng-if="itxDroppointShippingMethodCtrl.droppoints.length > 0">SELECT ANOTHER ONE</span> <span ng-if="!itxDroppointShippingMethodCtrl.droppoints || itxDroppointShippingMethodCtrl.droppoints.length < 1">Find on the map</span> </itx-button> </div> <div class="col-md-12"> <div ng-if="itxDroppointShippingMethodCtrl.selectedDroppoint !== undefined" class="col-xs-12 droppoint-info"> <!-- OPENING HOURS --> <div ng-if="itxDroppointShippingMethodCtrl.timeTableVisible && itxDroppointShippingMethodCtrl.selectedDroppoint.hoursAvailable" class="droppoint-opening-hours"> <div ng-if="itxDroppointShippingMethodCtrl.selectedDroppoint.openingHours.mondayTime.length > 0"> <span>Monday:</span> <span ng-bind-html="itxDroppointShippingMethodCtrl.selectedDroppoint.openingHours.mondayTime"></span> </div> <div ng-if="itxDroppointShippingMethodCtrl.selectedDroppoint.openingHours.tuesdayTime.length > 0"> <span>Tuesday:</span> <span ng-bind-html="itxDroppointShippingMethodCtrl.selectedDroppoint.openingHours.tuesdayTime"></span> </div> <div ng-if="itxDroppointShippingMethodCtrl.selectedDroppoint.openingHours.wednesdayTime.length > 0"> <span>Wednesday:</span> <span ng-bind-html="itxDroppointShippingMethodCtrl.selectedDroppoint.openingHours.wednesdayTime"></span> </div> <div ng-if="itxDroppointShippingMethodCtrl.selectedDroppoint.openingHours.thursdayTime.length > 0"> <span>Thursday:</span> <span ng-bind-html="itxDroppointShippingMethodCtrl.selectedDroppoint.openingHours.thursdayTime"></span> </div> <div ng-if="itxDroppointShippingMethodCtrl.selectedDroppoint.openingHours.fridayTime.length > 0"> <span>Friday:</span> <span ng-bind-html="itxDroppointShippingMethodCtrl.selectedDroppoint.openingHours.fridayTime"></span> </div> <div ng-if="itxDroppointShippingMethodCtrl.selectedDroppoint.openingHours.saturdayTime.length > 0"> <span>Saturday:</span> <span ng-bind-html="itxDroppointShippingMethodCtrl.selectedDroppoint.openingHours.saturdayTime"></span> </div> <div ng-if="itxDroppointShippingMethodCtrl.selectedDroppoint.openingHours.sundayTime.length > 0"> <span>Sunday:</span> <span ng-bind-html="itxDroppointShippingMethodCtrl.selectedDroppoint.openingHours.sundayTime"></span> </div> </div> <!-- OPENING HOURS --> </div> </div> </div> </div></script><script id="pickup-shipping-method.tpl" type="text/ng-template"><div class="checkout-shipping-droppointselection row"> <div class="col-md-12"> <h2 class="checkout-title no-marginTop"> Collection store </h2> <md-input-container ng-if="!itxPickupShippingMethodCtrl.hideZipcodeField && !itxPickupShippingMethodCtrl.$rootScope.isMobile"> <label ng-if="!itxPickupShippingMethodCtrl.isChina">Please enter a Post Code, Address or City.</label> <label ng-if="itxPickupShippingMethodCtrl.isChina">Please enter an Address or City.</label> <input type="text" name="zipCode" ng-model-options="{ debounce: 500 }" ng-model="itxPickupShippingMethodCtrl.zipcode" ng-change="itxPickupShippingMethodCtrl.getClosestStores()"> </md-input-container> <div class="col-md-12 mobile-pickup" ng-if="itxPickupShippingMethodCtrl.$rootScope.isMobile"> <md-input-container class="col-xs-12"> <label ng-if="!itxPickupShippingMethodCtrl.isChina">Please enter a Post Code, Address or City.</label> <label ng-if="itxPickupShippingMethodCtrl.isChina">Please enter an Address or City.</label> <input type="text" name="zipCode" ng-model-options="{ debounce: 500 }" ng-model="itxPickupShippingMethodCtrl.zipcode"> </md-input-container> <md-input-container class="col-xs-12"> <itx-button class="itx-button-black confirm-order-summary" button-type="'submit'" is-disabled="!itxPickupShippingMethodCtrl.zipcode" ng-click="itxPickupShippingMethodCtrl.getClosestStores()"> <span>Search</span> </itx-button> </md-input-container> </div> <div class="col-md-12"> <ul class="shipping-list"> <li ng-repeat="store in itxPickupShippingMethodCtrl.stores | limitTo:5 | orderBy : store.distanceValue" ng-click="itxPickupShippingMethodCtrl.selectStore(store)" ng-class="{'active' : store.id == itxPickupShippingMethodCtrl.selectedStore.id}"> <span class="check" ng-class="{'not-visible' : store.isBlocked || !store.isPickupAllowed }"></span> <div> <p>{{store.cityAndName }} <span ng-if="store.distance" class="store-distance"><span class="icon icon-car-front"> </span> {{store.distance}}</span> </p> <p>{{store.zipCode}} - {{store.city}}</p> <p ng-if="store.isBlocked || !store.isPickupAllowed" class="pickup-disabled-store">Temporarily unavailable for online order pick-up</p> </div> </li> </ul> <p class="no-results" ng-if="!itxPickupShippingMethodCtrl.stores && !itxPickupShippingMethodCtrl.firstSearch || itxPickupShippingMethodCtrl.stores.length < 1">No results found</p> </div> <div class="col-xs-12 col-sm-5 search-more-stores"> <itx-button id="select-other-store" ng-if="!itxPickupShippingMethodCtrl.firstSearch" ng-click="itxPickupShippingMethodCtrl.viewMap()"> <span ng-if="itxPickupShippingMethodCtrl.stores.length > 0">Select another store</span> <span ng-if="!itxPickupShippingMethodCtrl.stores || itxPickupShippingMethodCtrl.stores.length < 1">Find on the map</span> </itx-button> </div> </div> </div></script><script id="sameDay-warning-modal.tpl" type="text/ng-template"><md-dialog layout-padding flex="30"> <md-toolbar> <div layout="row" layout-align="end center"> <div> <md-icon class="icon-10 close-dialog" md-svg-src="/static/itxwebstandard/images/ic_cerrar.svg?t=2019041110311151db1176774530" ng-click="dialogCtrl.hide()" aria-label="Close dialog"></md-icon> </div> </div> </md-toolbar> <md-dialog-content> <md-content> <h2>WARNING</h2> <div class="contenido"> <p>The selected delivery method is not available for the postcode you have entered. Please choose another delivery method.</p> </div> </md-content> </md-dialog-content> </md-dialog></script><script id="address-detail.tpl" type="text/ng-template"><div class="ficha direccion"> <strong class="addressField" ng-bind="itxAddressDetailCtrl.ItxAddressBookFactory.getFullName(itxAddressDetailCtrl.address)"></strong><br> <span class="addressField" ng-bind="itxAddressDetailCtrl.ItxAddressBookFactory.getFullAddress(itxAddressDetailCtrl.address)"></span><br> <span ng-if="itxAddressDetailCtrl.countryCode !== 'AE'" class="addressField" ng-bind="itxAddressDetailCtrl.address.zipCode"></span> <span class="addressField" ng-bind="itxAddressDetailCtrl.ItxAddressBookFactory.removeHashFromAddressField(itxAddressDetailCtrl.address.city)"></span> <span class="addressField" ng-if="itxAddressDetailCtrl.address.colony && itxAddressDetailCtrl.address.colony !== '-'" ng-bind="itxAddressDetailCtrl.ItxAddressBookFactory.removeHashFromAddressField(itxAddressDetailCtrl.address.colony)"></span><br> <div ng-if="itxAddressDetailCtrl.showState"> <span id="state" class="addressField" ng-bind="itxAddressDetailCtrl.address.stateName"></span><br> </div> <div ng-if="itxAddressDetailCtrl.countryCode === 'TR'"> <span id="colony" class="addressField" ng-bind="itxAddressDetailCtrl.ItxAddressBookFactory.removeHashFromAddressField(itxAddressDetailCtrl.address.colony)"></span> <br> </div> <span id="country" class="addressField" ng-bind="itxAddressDetailCtrl.address.countryName"></span><br> <span id="phone" class="addressField" ng-if="itxAddressDetailCtrl.address.phones[0]" ng-bind="itxAddressDetailCtrl.address.phones[0].subscriberNumber"></span><br> <div class="pie"> <a class="link-2 mod-direccion" ng-click="itxAddressDetailCtrl.onEditAddress({address : itxAddressDetailCtrl.address, type : itxAddressDetailCtrl.addressType})"> <span class="icon icon-pencil-flip"></span> Change </a> </div> </div></script><script id="address.tpl" type="text/ng-template"><div class="form-direccion"> <form class="address-component-form" name="itxAddressCtrl.formAddress" class="new-address-block" method="post" novalidate> <div class="message-error address-error" ng-if="itxAddressCtrl.error"> <div class="container"> <span class="icon icon-warning icon-warning-gen"></span> <span ng-bind-html='itxAddressCtrl.error'></span> </div> </div> <div class="clearfix"> <md-input-container ng-if="itxAddressCtrl.isCompanyAllowed && !itxAddressCtrl.isShipping && !itxAddressCtrl.isBusinessAgent" class="particular-empresa"> <md-radio-group ng-model="itxAddressCtrl.address.isCompany" ng-model-options="{updateOn: 'default blur', debounce: { 'default': 300, 'blur': 0 }}" ng-change="itxAddressCtrl.resetCompany()" layout="horizontal" layout-align="left"> <md-radio-button id="isPerson{{itxAddressCtrl.address.id}}" ng-value="undefined"> {{ ::("FIELD.USER.PARTICULAR" | property) }} </md-radio-button> <md-radio-button id="isCompany{{itxAddressCtrl.address.id}}" ng-value="true"> {{ ::("FIELD.USER.COMPANY" | property) }} </md-radio-button> </md-radio-group> </md-input-container> <md-input-container ng-if="itxAddressCtrl.showAgrupationCountries"> <md-select placeholder="{{ ::('select.country' | property) }}" ng-model="itxAddressCtrl.selectedAgrupationCountry" ng-change="itxAddressCtrl.setAgrupationCountry()" name="country" required> <md-option md-ink-ripple="false" ng-repeat="country in itxAddressCtrl.agrupationCountries" ng-value="country"> {{ country.name }} </md-option> </md-select> <div ng-messages="formAddress.country.$error"> <div ng-message="required"> {{ ::("ItxUserAccountCommonErrors.paramNotFound.country" | property) }} </div> </div> </md-input-container> <!-- EMAIL --> <md-input-container ng-if="itxAddressCtrl.isGuest && (itxAddressCtrl.isBilling || (itxAddressCtrl.isShipping && itxAddressCtrl.billingValid === false))"> <!-- el === false es imprescindible para que solo se muestre el campo email cuando no hay direccion de facturacion guardada --> <label> {{ ::("FIELD.EMAIL" | property) }} </label> <input type="email" name="email" ng-model="itxAddressCtrl.address.email" ng-model-options="{updateOn: 'default blur', debounce: { 'default': 300, 'blur': 0, allowInvalid : true }}" ng-pattern="itxAddressCtrl.validations.email" watch-change="itxAddressCtrl.setNewAddress()" required itx-move-next-on-enter> <div ng-messages="itxAddressCtrl.formAddress.email.$error"> <div ng-message="required"> {{ ::("ItxOrderShippingPage.error.envio.pickup.info.mail" | property) }} </div> <div ng-message="pattern"> {{ ::("ItxOrderShippingPage.error.envio.pickup.info.mail" | property) }} </div> <div ng-message="email"> {{ ::("ItxOrderShippingPage.error.envio.pickup.info.mail" | property) }} </div> </div> </md-input-container> <!-- EMAIL HOTEL --> <md-input-container ng-if="itxAddressCtrl.isBusinessAgent && itxAddressCtrl.isBilling"> <label> {{ ::("FIELD.EMAIL.HOTEL" | property) }} </label> <input type="email" name="email" ng-model="itxAddressCtrl.address.email2" ng-model-options="{updateOn: 'default blur', debounce: { 'default': 300, 'blur': 0, allowInvalid : true }}" ng-pattern="itxAddressCtrl.validations.email" watch-change="itxAddressCtrl.setNewAddress()" required itx-move-next-on-enter> <div ng-messages="itxAddressCtrl.formAddress.email.$error"> <div ng-message="required"> {{ ::("ItxOrderShippingPage.error.envio.pickup.info.mail" | property) }} </div> <div ng-message="pattern"> {{ ::("ItxOrderShippingPage.error.envio.pickup.info.mail" | property) }} </div> <div ng-message="email"> {{ ::("ItxOrderShippingPage.error.envio.pickup.info.mail" | property) }} </div> </div> </md-input-container> <!-- NAME --> <md-input-container> <label> {{ ::("FIELD.NAME" | property) }} </label> <input type="text" name="firstName" ng-model="itxAddressCtrl.address.firstName" ng-model-options="{updateOn: 'default blur', debounce: { 'default': 300, 'blur': 0 }}" ng-minlength="itxAddressCtrl.nameMinLength" ng-maxlength="itxAddressCtrl.validations.firstname" md-maxlength="itxAddressCtrl.validations.firstname" watch-change="itxAddressCtrl.setNewAddress()" required itx-move-next-on-enter> <div ng-messages="itxAddressCtrl.formAddress.firstName.$error"> <div ng-message="required"> {{ ::("ItxOrderShippingPage.error.envio.pickup.info.name" | property) }} </div> <div ng-message="minlength"> {{ ::("ItxUserManagement.create.namePersonShort" | property) }} </div> <div ng-message="maxlength"> {{ ::("ItxMyAccountPersonalPage.helper.nameTooLong" | property) }} </div> </div> </md-input-container> <!-- MIDDLE NAME --> <md-input-container ng-if="itxAddressCtrl.showMiddleName"> <label> {{ ::("FIELD.MIDDLENAME" | property) }} </label> <input type="text" name="middlename" ng-model="itxAddressCtrl.address.middleName" ng-model-options="{updateOn: 'default blur', debounce: { 'default': 300, 'blur': 0 }}" ng-maxlength="itxAddressCtrl.validations.middlename" md-maxlength="itxAddressCtrl.validations.middlename" watch-change="itxAddressCtrl.setNewAddress()" required itx-move-next-on-enter> <div ng-messages="itxAddressCtrl.formAddress.middlename.$error"> <div ng-message="required"> {{ ::("ItxOrderShippingPage.error.envio.pickup.info.midname" | property) }} </div> <div ng-message="maxlength"> {{ ::("ItxOrderShippingPage.error.envio.pickup.info.midname" | property) }} </div> </div> </md-input-container> <!-- LAST NAME --> <md-input-container ng-if="itxAddressCtrl.countryCode !== 'KR' && itxAddressCtrl.countryCode !== 'CN'"> <label> {{ ::("FIELD.LASTNAME" | property) }} </label> <input type="text" name="lastname" ng-model="itxAddressCtrl.address.lastName" ng-model-options="{updateOn: 'default blur', debounce: { 'default': 300, 'blur': 0 }}" ng-maxlength="itxAddressCtrl.validations.lastname" md-maxlength="itxAddressCtrl.validations.lastname" watch-change="itxAddressCtrl.setNewAddress()" required itx-move-next-on-enter> <div ng-messages="itxAddressCtrl.formAddress.lastname.$error"> <div ng-message="required"> {{ ::("ItxOrderShippingPage.error.envio.pickup.info.surname" | property) }} </div> <div ng-message="maxlength"> {{ ::("ItxOrderShippingPage.error.envio.pickup.info.surname" | property) }} </div> </div> </md-input-container> <!-- VKN TURQUIA --> <md-input-container ng-if="itxAddressCtrl.address.isCompany && itxAddressCtrl.countryCode === 'TR' && !itxAddressCtrl.isShipping"> <label> {{ ::("ItxUserManagement.create.vkn" | property) }} </label> <input type="text" name="vknCompany" ng-model="itxAddressCtrl.address.company.vatin" ng-model-options="{updateOn: 'default blur', debounce: { 'default': 300, 'blur': 0 }}" ng-pattern="itxAddressCtrl.noValidateVatin ? '' : itxAddressCtrl.noValidateVatin ? '' : itxAddressCtrl.validations.companyVatin" watch-change="itxAddressCtrl.setNewAddress()" required itx-move-next-on-enter> <div ng-messages="itxAddressCtrl.formAddress.vknCompany.$error"> <div ng-message="required"> {{ ::("ItxUserManagement.create.vknCompanyError" | property) }} </div> <div ng-message="pattern"> {{ ::("ItxUserManagement.create.vknCompanyError" | property) }} </div> </div> </md-input-container> <!-- Fin VKN TURQUIA --> <!-- COMPANY TAXOFFICE TR --> <md-input-container ng-if="itxAddressCtrl.address.isCompany && itxAddressCtrl.countryCode === 'TR' && !itxAddressCtrl.isShipping"> <label> {{ ::("FIELD.TAXOFFICE" | property) }} </label> <input type="text" name="companyTaxOffice" ng-model="itxAddressCtrl.address.company.taxOffice" ng-model-options="{updateOn: 'default blur', debounce: { 'default': 300, 'blur': 0 }}" ng-maxlength="128" watch-change="itxAddressCtrl.setNewAddress()" required itx-move-next-on-enter> <div ng-messages="itxAddressCtrl.formAddress.companyTaxOffice.$error"> <div ng-message="required"> {{ ::("ItxMyAccountPersonalPage.helper.company.taxOffice" | property) }} </div> <div ng-message="maxlength"> {{ ::("ItxMyAccountPersonalPage.helper.company.taxOffice" | property) }} </div> </div> </md-input-container> <!-- COMPANY TAXOFFICE TR --> <!-- COMPANY NAME --> <md-input-container ng-if="itxAddressCtrl.address.isCompany && !itxAddressCtrl.isShipping"> <label> {{ ::("ItxOrderShippingPage.address.type.company.name" | property) }} </label> <input type="text" name="companyName" ng-model="itxAddressCtrl.address.company.name" ng-model-options="{updateOn: 'default blur', debounce: { 'default': 300, 'blur': 0 }}" ng-minlength="itxAddressCtrl.nameMinLength" ng-maxlength="itxAddressCtrl.validations.companyName" watch-change="itxAddressCtrl.setNewAddress()" required itx-move-next-on-enter> <div ng-messages="itxAddressCtrl.formAddress.companyName.$error"> <div ng-message="required"> {{ ::("ItxOrderShippingPage.error.address.type.company.name" | property) }} </div> <div ng-message="maxlength"> {{ ::("ItxOrderShippingPage.error.address.type.company.name" | property) }} </div> <div ng-message="minlength"> {{ ::("ItxUserManagement.create.namePersonShort" | property) }} </div> </div> </md-input-container> <!-- COMPANY NAME --> <!-- COMPANY REGISTRATION NUMBER (SOLO ESTONIA, LETONIA Y LITUANIA) --> <md-input-container ng-if="itxAddressCtrl.enabledRegistrationNumber && itxAddressCtrl.address.isCompany && !itxAddressCtrl.isShipping"> <label> {{ ::("ItxOrderShippingPage.address.type.company.registrationNumber" | property) }} </label> <input type="text" name="registrationNumber" ng-model="itxAddressCtrl.address.company.registrationNumber" ng-model-options="{updateOn: 'default blur', debounce: { 'default': 300, 'blur': 0 }}" ng-pattern="itxAddressCtrl.validations.companyRegistrationNumber" watch-change="itxAddressCtrl.setNewAddress()" required itx-move-next-on-enter> </md-input-container> <!-- COMPANY NAME --> <!-- CIF --> <md-input-container ng-if="itxAddressCtrl.showCIF && itxAddressCtrl.address.isCompany && !itxAddressCtrl.isShipping"> <label> {{ ::("FIELD.CIF" | property) }} </label> <input type="text" name="vatin" ng-model="itxAddressCtrl.address.company.vatin" ng-model-options="{updateOn: 'default blur', debounce: { 'default': 300, 'blur': 0 }}" ng-pattern="itxAddressCtrl.noValidateVatin ? '' : itxAddressCtrl.validations.companyVatin" watch-change="itxAddressCtrl.setNewAddress()" required itx-move-next-on-enter> <div ng-messages="itxAddressCtrl.formAddress.vatin.$error"> <div ng-message="required"> {{ ::("ItxOrderShippingPage.error.address.type.company.cif" | property) }} </div> <div ng-message="pattern"> {{ ::("ItxOrderShippingPage.error.address.type.company.cif" | property) }} </div> </div> </md-input-container> <!-- CIF --> <!-- NIF --> <md-input-container ng-if="itxAddressCtrl.showNIF && !itxAddressCtrl.address.isCompany && !itxAddressCtrl.isShipping"> <label> {{ ::("FIELD.NIF" | property) }} </label> <input type="text" name="vatin" ng-model="itxAddressCtrl.address.vatin" ng-model-options="{updateOn: 'default blur', debounce: { 'default': 300, 'blur': 0 }}" ng-pattern="itxAddressCtrl.noValidateVatin ? '' : itxAddressCtrl.validations.vatin" watch-change="itxAddressCtrl.setNewAddress()" itx-move-next-on-enter> <div ng-messages="itxAddressCtrl.formAddress.vatin.$error"> <div ng-message="pattern"> {{ ::("ItxOrderShippingPage.error.address.type.company.cif" | property) }} </div> </div> </md-input-container> <!-- NIF --> <!-- INICIO SDI Si es DIRECCION DE FACTURACION DE Italia, mostraremos los nuevos campos opcionales de facturacion, tanto para particulares como para empresas --> <md-input-container ng-if="itxAddressCtrl.enabledPecAndReceiverCode && $root.inditex.iCountryCode === 'IT' && $root.inditex.iCountryCode === itxAddressCtrl.countryCode && itxAddressCtrl.isBilling"> <label> {{ ::("FIELD.PEC" | property) }} </label> <input type="text" name="pec" ng-model="itxAddressCtrl.address.pec" ng-model-options="{updateOn: 'default blur', debounce: { 'default': 300, 'blur': 0 }}" ng-pattern="itxAddressCtrl.validations.email" watch-change="itxAddressCtrl.setNewAddress()" ng-pattern="itxAddressCtrl.gConstants.validations.email" itx-move-next-on-enter> <div ng-messages="itxAddressCtrl.formAddress.pec.$error"> <div ng-message="pattern"> {{ ::("DynamicError.field.invalidFormat" | property) }} </div> </div> </md-input-container> <md-input-container ng-if="itxAddressCtrl.enabledPecAndReceiverCode && $root.inditex.iCountryCode === 'IT' && $root.inditex.iCountryCode === itxAddressCtrl.countryCode && itxAddressCtrl.isBilling"> <label> {{ ::("FIELD.ReceiverCode" | property) }} </label> <input type="text" name="receiverCode" ng-model="itxAddressCtrl.address.receiverCode" ng-model-options="{updateOn: 'default blur', debounce: { 'default': 300, 'blur': 0 }}" ng-pattern="itxAddressCtrl.validations.receiverCode" watch-change="itxAddressCtrl.setNewAddress()" itx-move-next-on-enter> <div ng-messages="itxAddressCtrl.formAddress.receiverCode.$error"> <div ng-message="pattern"> {{ ::("DynamicError.field.invalidFormat" | property) }} </div> </div> </md-input-container> <!-- FIN SDI Italia --> <!-- PROVINCE Field for WW --> <md-input-container ng-if="$root.inditex.iCountryCode === 'WW'"> <label> {{ ::("select.province" | property) }} </label> <input type="text" name="provinceWW" ng-model="itxAddressCtrl.address.stateCode" ng-model-options="{updateOn: 'default blur', debounce: { 'default': 300, 'blur': 0 }}" watch-change="itxAddressCtrl.setNewAddress()" itx-move-next-on-enter> </md-input-container> <!-- PROVINCE not ['GB', 'JP', 'CN', 'TR', 'MX'] --> <md-input-container ng-if="!itxAddressCtrl.hideProvinceCombo && ['GB', 'JP', 'CN', 'TR', 'MX', 'KR', 'WW'].indexOf($root.inditex.iCountryCode) === -1"> <label> {{ ::("select.province" | property) }} </label> <md-select name="state" ng-model="itxAddressCtrl.selectedState" ng-change="itxAddressCtrl.setState()" required> <md-option md-ink-ripple="false" ng-repeat="template in itxAddressCtrl.states" ng-value="template.code"> {{template.name}} </md-option> </md-select> <div ng-messages="itxAddressCtrl.formAddress.state.$error"> <div ng-message="required"> {{ ::("HELPER.PROVINCE" | property) }} </div> </div> </md-input-container> <!-- CITY RU --> <md-input-container ng-if="itxAddressCtrl.countryCode === 'RU'"> <label> {{ ::("FIELD.CITY" | property) }} </label> <input type="text" name="city" ng-model="itxAddressCtrl.address.city" ng-model-options="{updateOn: 'default blur', debounce: { 'default': 300, 'blur': 0 }}" ng-maxlength="128" watch-change="itxAddressCtrl.setNewAddress()" required itx-move-next-on-enter> <div ng-messages="itxAddressCtrl.formAddress.city.$error"> <div ng-message="required"> {{ ::("ItxOrderShippingPage.error.address.city" | property) }} </div> <div ng-message="maxlength"> {{ ::("ItxOrderShippingPage.error.address.city" | property) }} </div> </div> </md-input-container> <!--REORDENACION DE CAMPOS PARA JP--> <!-- ZIP CODE JP--> <md-input-container ng-if="itxAddressCtrl.countryCode === 'JP'"> <label> {{ ::("FIELD.ZIPCODE.TXT" | property) }} </label> <input type="text" name="zipCode" ng-model="itxAddressCtrl.address.zipCode" ng-model-options="{updateOn: 'default blur', debounce: { 'default': 300, 'blur': 0 }}" placeholder="111-1111" watch-change="itxAddressCtrl.setNewAddress()" ng-focus="itxAddressCtrl.focusOnZipcode = true" ng-blur="itxAddressCtrl.focusOnZipcode = false" ng-pattern="itxAddressCtrl.validations.zipcode" zipcode-restricted="{{itxAddressCtrl.storeInfo}}" required itx-move-next-on-enter> <span ng-if="itxAddressCtrl.focusOnZipcode"> {{ ::("address.smallCharacters" | property) }} </span> <div ng-messages="itxAddressCtrl.formAddress.zipCode.$error"> <div ng-message="required"> {{ ::("ItxMyAccountPersonalPage.helper.zipCode" | property) }} </div> <div ng-message="pattern"> {{ ::("ItxMyAccountPersonalPage.helper.zipCode" | property) }} </div> <div ng-if="isRestricted && itxAddressCtrl.formAddress.zipCode.$invalid"> {{ ::("ItxMyAccountPersonalPage.helper.zipCode" | property) }} </div> </div> </md-input-container> <!-- PROVINCE JP--> <md-input-container ng-if="!itxAddressCtrl.hideProvinceCombo && itxAddressCtrl.countryCode === 'JP'"> <md-select name="state" ng-model="itxAddressCtrl.selectedState" ng-change="itxAddressCtrl.setState()" placeholder="{{ ::('select.province' | property) }}" required> <md-option md-ink-ripple="false" ng-repeat="template in itxAddressCtrl.states" ng-value="template.code"> {{template.name}} </md-option> </md-select> <div ng-messages="itxAddressCtrl.formAddress.state.$error"> <div ng-message="required"> {{ ::("HELPER.PROVINCE" | property) }} </div> </div> </md-input-container> <!-- PROVINCE JP--> <!-- CITY JP--> <md-input-container ng-if="itxAddressCtrl.countryCode === 'JP'"> <label>{{ ::("FIELD.CITY" | property) }}</label> <input type="text" name="city" ng-model="itxAddressCtrl.address.city" ng-model-options="{updateOn: 'default blur', debounce: { 'default': 300, 'blur': 0 }}" ng-maxlength="128" watch-change="itxAddressCtrl.setNewAddress()" required itx-move-next-on-enter> <div ng-messages="itxAddressCtrl.formAddress.city.$error"> <div ng-message="required"> {{ ::("ItxOrderShippingPage.error.address.city" | property) }} </div> <div ng-message="maxlength"> {{ ::("ItxOrderShippingPage.error.address.city" | property) }} </div> </div> </md-input-container> <!-- CITY JP--> <!--FIN REORDENACION DE CAMPOS PARA JP--> <!-- ADDRESS --> <md-input-container> <label ng-if="itxAddressCtrl.countryCode === 'JP'" for="addressLines"> {{ ::("ItxOrderShippingPage.address.street_JP" | property) }} </label> <label ng-if="itxAddressCtrl.countryCode !== 'JP'" for="addressLines"> {{ ::("FIELD.ADDRESS" | property) }} </label> <input type="text" name="addressLines" id="addressLines" ng-model="itxAddressCtrl.address.addressLines[0]" ng-model-options="{ updateOn: 'default blur', debounce: { 'default': 300, 'blur': 0 } }" md-maxlength="itxAddressCtrl.validations.address1" ng-change="itxAddressCtrl.initAutoComplete('addressLines')" autocomplete="off" maxlength="256" required itx-move-next-on-enter> <div ng-messages="itxAddressCtrl.formAddress.addressLines.$error"> <div ng-message="required"> {{ ::("ItxOrderShippingPage.error.address.street" | property) }} </div> <div ng-message="maxlength"> {{ ::("ItxOrderShippingPage.error.address.street" | property) }} </div> </div> </md-input-container> <!-- ADDRESS 2 --> <!-- Comprobamos !== NL para que no salga 2 veces el campo address2 en el formulario de Holanda. Se muestra una property diferente en holanda --> <md-input-container ng-if="!$root.hideAddressExtraField1"> <label ng-if="itxAddressCtrl.countryCode === 'NL'"> {{ "FIELD.ADDRESS.NUMBER" | property }} </label> <label ng-if="itxAddressCtrl.countryCode !== 'NL'"> {{ ::("ItxOrderShippingPage.address.complete.address" | property) }} </label> <input type="text" name="addressLines2" id="addressLines2" ng-model="itxAddressCtrl.address.addressLines[1]" ng-model-options="{updateOn: 'default blur', debounce: { 'default': 300, 'blur': 0 }}" ng-maxlength="itxAddressCtrl.validations.address2" md-maxlength="itxAddressCtrl.validations.address2" watch-change="itxAddressCtrl.setNewAddress()" itx-move-next-on-enter> <div ng-messages="itxAddressCtrl.formAddress.addressLines2.$error"> <div ng-message="maxlength"> {{ ::("ItxOrderShippingPage.error.address.street" | property) }} </div> </div> </md-input-container> <!-- ADDRESS 3--> <md-input-container ng-if="itxAddressCtrl.countryCode !== 'CN' && !$root.hideAddressExtraField2"> <label> {{ ::("address.floorDoor" | property) }} </label> <input type="text" name="addressLines3" id="addressLines3" ng-model="itxAddressCtrl.address.addressLines[2]" ng-model-options="{updateOn: 'default blur', debounce: { 'default': 300, 'blur': 0 }}" ng-maxlength="itxAddressCtrl.validations.address2" md-maxlength="itxAddressCtrl.validations.address2" watch-change="itxAddressCtrl.setNewAddress()" itx-move-next-on-enter> <div ng-messages="itxAddressCtrl.formAddress.addressLines3.$error"> <div ng-message="maxlength"> {{ ::("ItxOrderShippingPage.error.address.street" | property) }} </div> </div> </md-input-container> <!-- ZIPCODE not ['TR', 'AE', 'IE', 'JP']--> <md-input-container ng-if="['TR', 'AE', 'IE', 'JP', 'CN', 'WW'].indexOf($root.inditex.iCountryCode) === -1"> <label> {{ ::("FIELD.ZIPCODE.TXT" | property) }} </label> <input type="text" name="zipCode" ng-model="itxAddressCtrl.address.zipCode" ng-model-options="{updateOn: 'default blur', debounce: { 'default': 300, 'blur': 0 }}" watch-change="itxAddressCtrl.setNewAddress()" ng-focus="itxAddressCtrl.toggleZipcodeMsg()" ng-blur="itxAddressCtrl.toggleZipcodeMsg()" ng-pattern="itxAddressCtrl.validations.zipcode" zipcode-restricted="{{itxAddressCtrl.storeInfo}}" autocomplete="off" required itx-move-next-on-enter> <itx-daum ng-if="itxAddressCtrl.isKorea" on-selected-address="itxAddressCtrl.setDaumData(address)"></itx-daum> <div ng-if="itxAddressCtrl.showCPMsg && itxAddressCtrl.countryZipcodeExamples"> {{ ("examples" | property:[itxAddressCtrl.countryZipcodeExamples]) }} </div> <div ng-messages="itxAddressCtrl.formAddress.zipCode.$error"> <div ng-message="required"> {{ ("ItxOrderShippingPage.error.address.zip" | property) }} </div> <div ng-message="pattern" ng-if="itxAddressCtrl.countryCode !== 'IC'"> {{ ("ItxOrderShippingPage.error.address.zip" | property) }} </div> <div ng-message="pattern" ng-if="itxAddressCtrl.countryCode === 'IC'"> {{ ("ItxOrderShippingPage.error.address.zip.canarias" | property) }} </div> <div ng-message="zipCodeRestricted"> {{ ("ItxOrderShippingPage.zipcode.restricted" | property) }} </div> </div> </md-input-container> <!-- MUNICIPIO MX --> <md-input-container ng-if="itxAddressCtrl.countryCode === 'MX'"> <label> {{ ::("FIELD.MUNICIPIO" | property) }} </label> <input type="text" name="municipality" ng-model="itxAddressCtrl.address.municipality" ng-model-options="{updateOn: 'default blur', debounce: { 'default': 300, 'blur': 0 }}" ng-maxlength="128" watch-change="itxAddressCtrl.setNewAddress()" required itx-move-next-on-enter> <div ng-messages="itxAddressCtrl.formAddress.municipality.$error"> <div ng-message="required"> {{ ::("ItxOrderShippingPage.error.address.municipio" | property) }} </div> <div ng-message="maxlength"> {{ ::("ItxOrderShippingPage.error.address.municipio" | property) }} </div> </div> </md-input-container> <!-- COLONY MX --> <md-input-container ng-if="itxAddressCtrl.countryCode === 'MX'"> <label> {{ ::("FIELD.COLONY" | property) }} </label> <input type="text" name="colony" ng-model="itxAddressCtrl.address.colony" ng-model-options="{updateOn: 'default blur', debounce: { 'default': 300, 'blur': 0 }}" ng-maxlength="128" watch-change="itxAddressCtrl.setNewAddress()" required itx-move-next-on-enter> <div ng-messages="itxAddressCtrl.formAddress.colony.$error"> <div ng-message="required"> {{ ::("ItxOrderShippingPage.error.address.colonia" | property) }} </div> <div ng-message="maxlength"> {{ ::("ItxOrderShippingPage.error.address.colonia" | property) }} </div> </div> </md-input-container> <!-- CITY TR --> <md-input-container ng-if="itxAddressCtrl.countryCode === 'TR'"> <label> {{ ::("FIELD.CITY" | property) }} </label> <md-select name="city" ng-model="itxAddressCtrl.selectedCity" ng-change="itxAddressCtrl.setCity()" required> <md-option md-ink-ripple="false" ng-repeat="template in itxAddressCtrl.cities | orderBy: 'name'" ng-value="template.id"> {{template.name}} </md-option> </md-select> <div ng-messages="itxAddressCtrl.formAddress.city.$error"> <div ng-message="required"> {{ ::("ItxMyAccountPersonalPage.helper.city" | property) }} </div> </div> </md-input-container> <!-- DISTRICT TR --> <md-input-container ng-if="itxAddressCtrl.countryCode === 'TR'" ng-show="itxAddressCtrl.selectedCity"> <label> {{ ::("FIELD.COLONY" | property) }} </label> <md-select name="district" ng-change="itxAddressCtrl.setDistrict()" ng-model="itxAddressCtrl.selectedDistrict" required> <md-option md-ink-ripple="false" ng-repeat="template in itxAddressCtrl.districts | orderBy: 'name'" ng-value="template.id"> {{template.name}} </md-option> </md-select> <div ng-messages="itxAddressCtrl.formAddress.district.$error"> <div ng-message="required"> {{ ::("ItxMyAccountPersonalPage.helper.colonia" | property) }} </div> </div> </md-input-container> <!-- STATE MX --> <md-input-container ng-if="itxAddressCtrl.countryCode == 'MX' && !itxAddressCtrl.hideProvinceCombo"> <label> {{ ::("select.estado" | property) }} </label> <md-select name="state" ng-model="itxAddressCtrl.selectedState" ng-change="itxAddressCtrl.setState()" required> <md-option md-ink-ripple="false" ng-repeat="template in itxAddressCtrl.states" ng-value="template.code"> {{template.name}} </md-option> </md-select> </md-input-container> <!-- STATE CHINA --> <md-input-container ng-if="itxAddressCtrl.countryCode == 'CN' && itxAddressCtrl.enableDistrict"> <label> {{ ::("select.estado" | property) }} </label> <md-select name="state" ng-model="itxAddressCtrl.selectedState" ng-change="itxAddressCtrl.setState()" required> <md-option md-ink-ripple="false" ng-repeat="template in itxAddressCtrl.states" ng-value="template.code"> {{template.name}} </md-option> </md-select> <div ng-messages="itxAddressCtrl.formAddress.state.$error"> <div ng-message="required"> {{ ::("ItxMyAccountPersonalPage.helper.state" | property) }} </div> </div> </md-input-container> <!-- CITY CHINA --> <md-input-container ng-if="itxAddressCtrl.countryCode == 'CN' && itxAddressCtrl.enableDistrict"> <label> {{ ::("FIELD.CITY" | property) }} </label> <md-select name="city" ng-model="itxAddressCtrl.selectedCity" ng-change="itxAddressCtrl.setCity()" required> <md-option md-ink-ripple="false" ng-repeat="template in itxAddressCtrl.cities" ng-value="template.id"> {{template.name}} </md-option> </md-select> <div ng-messages="itxAddressCtrl.formAddress.city.$error"> <div ng-message="required"> {{ ::("ItxMyAccountPersonalPage.helper.city" | property) }} </div> </div> </md-input-container> <!-- DISTICT CHINA --> <md-input-container ng-if="itxAddressCtrl.countryCode == 'CN' && itxAddressCtrl.enableDistrict"> <label> {{ ::("FIELD.COLONY" | property) }} </label> <md-select name="district" ng-model="itxAddressCtrl.selectedDistrict" ng-change="itxAddressCtrl.setDistrict()" required> <md-option md-ink-ripple="false" ng-repeat="template in itxAddressCtrl.districts" ng-value="template.id"> {{template.name}} </md-option> </md-select> <div ng-messages="itxAddressCtrl.formAddress.district.$error"> <div ng-message="required"> {{ ::("ItxMyAccountPersonalPage.helper.colonia" | property) }} </div> </div> </md-input-container> <!-- CITY not ['TR', 'RU', 'CN', 'JP'] --> <md-input-container ng-if="itxAddressCtrl.enableDistrict == false && ['TR', 'RU', 'CN', 'JP'].indexOf(itxAddressCtrl.countryCode) === -1"> <label> {{ ::("FIELD.CITY" | property) }} </label> <input type="text" name="city" ng-model="itxAddressCtrl.address.city" ng-model-options="{updateOn: 'default blur', debounce: { 'default': 300, 'blur': 0 }}" ng-maxlength="128" watch-change="itxAddressCtrl.setNewAddress()" required itx-move-next-on-enter> <div ng-messages="itxAddressCtrl.formAddress.city.$error"> <div ng-message="required"> {{ ::("ItxOrderShippingPage.error.address.city" | property) }} </div> <div ng-message="maxlength"> {{ ::("ItxOrderShippingPage.error.address.city" | property) }} </div> </div> </md-input-container> <!-- PHONE --> <md-input-container class="phone-block"> <label> {{ ::("FIELD.PHONE" | property) }} </label> <span class="phone-prefix" ng-bind="itxAddressCtrl.phonePrefix"></span> <input type="text" name="phone" ng-model="itxAddressCtrl.address.phones[0].subscriberNumber" ng-model-options="{updateOn: 'default blur', debounce: { 'default': 300, 'blur': 0 }}" ng-maxlength="32" ng-style="{'padding-left' : itxAddressCtrl.phonePadding}" ng-pattern="itxAddressCtrl.validations.phone1" watch-change="itxAddressCtrl.setNewAddress()" ng-focus="itxAddressCtrl.focusOnPhone = true" ng-blur="itxAddressCtrl.focusOnPhone = false" required autocomplete="off" itx-move-next-on-enter> <span ng-if="itxAddressCtrl.countryCode === 'JP' && itxAddressCtrl.focusOnPhone"> {{ ::("address.smallCharacters" | property) }} </span> <div class="phone-field-error-messages" ng-messages="itxAddressCtrl.formAddress.phone.$error"> <div ng-message="required" ng-if="['HR', 'JP', 'MT', 'TR', 'DK', 'KR'].indexOf(itxAddressCtrl.countryCode) === -1"> {{ ("ItxMyAccountPersonalPage.helper.phone" | property:[itxAddressCtrl.phonePrefix]) }} </div> <div ng-message="required" ng-if="itxAddressCtrl.countryCode === 'JP'"> {{ ("ItxMyAccountPersonalPage.helper.phone.JP" | property:[itxAddressCtrl.phonePrefix]) }} </div> <div ng-message="required" ng-if="itxAddressCtrl.countryCode === 'MT'"> {{ ("ItxMyAccountPersonalPage.helper.phone.MT" | property:[itxAddressCtrl.phonePrefix]) }} </div> <div ng-message="required" ng-if="itxAddressCtrl.countryCode === 'TR'"> {{ ("ItxMyAccountPersonalPage.helper.phone.TR" | property:[itxAddressCtrl.phonePrefix]) }} </div> <div ng-message="required" ng-if="itxAddressCtrl.countryCode === 'HR'"> {{ ("ItxMyAccountPersonalPage.helper.phone.HR" | property:[itxAddressCtrl.phonePrefix]) }} </div> <div ng-message="required" ng-if="itxAddressCtrl.countryCode === 'DK'"> {{ ("ItxMyAccountPersonalPage.helper.phone.DK" | property:[itxAddressCtrl.phonePrefix]) }} </div> <div ng-message="required" ng-if="itxAddressCtrl.countryCode === 'KR'"> {{ ("ItxMyAccountPersonalPage.helper.phone.KR" | property:[itxAddressCtrl.phonePrefix]) }} </div> <div ng-message="pattern" ng-if="['HR', 'JP', 'MT', 'TR', 'DK', 'KR'].indexOf(itxAddressCtrl.countryCode) === -1"> {{ ("ItxMyAccountPersonalPage.helper.phone" | property:[itxAddressCtrl.phonePrefix]) }} </div> <div ng-message="pattern" ng-if="itxAddressCtrl.countryCode === 'JP'"> {{ ("ItxMyAccountPersonalPage.helper.phone.JP" | property:[itxAddressCtrl.phonePrefix]) }} </div> <div ng-message="pattern" ng-if="itxAddressCtrl.countryCode === 'MT'"> {{ ("ItxMyAccountPersonalPage.helper.phone.MT" | property:[itxAddressCtrl.phonePrefix]) }} </div> <div ng-message="pattern" ng-if="itxAddressCtrl.countryCode === 'TR'"> {{ ("ItxMyAccountPersonalPage.helper.phone.TR" | property:[itxAddressCtrl.phonePrefix]) }} </div> <div ng-message="pattern" ng-if="itxAddressCtrl.countryCode === 'HR'"> {{ ("ItxMyAccountPersonalPage.helper.phone.HR" | property:[itxAddressCtrl.phonePrefix]) }} </div> <div ng-message="pattern" ng-if="itxAddressCtrl.countryCode === 'DK'"> {{ ("ItxMyAccountPersonalPage.helper.phone.DK" | property:[itxAddressCtrl.phonePrefix]) }} </div> <div ng-message="pattern" ng-if="itxAddressCtrl.countryCode === 'KR'"> {{ ("ItxMyAccountPersonalPage.helper.phone.KR" | property:[itxAddressCtrl.phonePrefix]) }} </div> </div> </md-input-container> <!-- ZIP TR --> <md-input-container ng-if="['TR', 'IE', 'CN', 'WW'].indexOf($root.inditex.iCountryCode) !== -1"> <label> {{ ::("FIELD.ZIPCODE.TXT" | property) }} </label> <input type="text" name="zipCode" ng-model="itxAddressCtrl.address.zipCode" ng-model-options="{updateOn: 'default blur', debounce: { 'default': 300, 'blur': 0 }}" watch-change="itxAddressCtrl.setNewAddress()" ng-focus="itxAddressCtrl.toggleZipcodeMsg()" ng-blur="itxAddressCtrl.toggleZipcodeMsg()" ng-pattern="itxAddressCtrl.validations.zipcode" autocomplete="off" zipcode-restricted="{{itxAddressCtrl.storeInfo}}" itx-move-next-on-enter> <div ng-if="itxAddressCtrl.showCPMsg && itxAddressCtrl.countryZipcodeExamples"> {{ ("examples" | property:[itxAddressCtrl.countryZipcodeExamples]) }} </div> <div ng-messages="itxAddressCtrl.formAddress.zipCode.$error"> <div ng-message="pattern"> {{ ("ItxOrderShippingPage.error.address.zip" | property) }} </div> <div ng-message="zipCodeRestricted"> {{ ("ItxOrderShippingPage.zipcode.restricted" | property) }} </div> </div> </md-input-container> <!-- TCKN TURQUIA (OPCIONAL) --> <md-input-container ng-if="!itxAddressCtrl.userHasAddress && itxAddressCtrl.countryCode === 'TR' && !itxAddressCtrl.address.isCompany && !itxAddressCtrl.isShipping"> <label> {{ ::("ItxUserManagement.create.tckn" | property) }} </label> <input type="text" name="tcknCompany" ng-model="itxAddressCtrl.address.vatin" ng-model-options="{updateOn: 'default blur', debounce: { 'default': 300, 'blur': 0 }}" ng-pattern="itxAddressCtrl.noValidateVatin ? '' : itxAddressCtrl.validations.vatin" watch-change="itxAddressCtrl.setNewAddress()" itx-move-next-on-enter> <div ng-messages="itxAddressCtrl.formAddress.tcknCompany.$error"> <div ng-message="pattern"> {{ ::("ItxUserManagement.create.tcknCompanyError" | property) }} </div> </div> </md-input-container> <!-- ALIAS --> <md-input-container ng-if="!itxAddressCtrl.isBilling"> <label> {{ ::("FIELD.ADDRESS.ALIAS" | property) }} </label> <input type="text" name="alias" ng-model="itxAddressCtrl.address.addressName" ng-model-options="{updateOn: 'default blur', debounce: { 'default': 300, 'blur': 0 }}" ng-maxlength="254" watch-change="itxAddressCtrl.setNewAddress()" required itx-move-next-on-enter> <div ng-messages="itxAddressCtrl.formAddress.alias.$error"> <div ng-message="required"> {{ ::("ItxOrderShippingPage.error.address.alias" | property) }} </div> <div ng-message="maxlength"> {{ ::("ItxOrderShippingPage.error.address.alias" | property) }} </div> </div> <p> {{ ::("ItxAjaxUserRegistrationPage.helper.addressModAlias2" | property) }} </p> </md-input-container> <itx-button ng-if="!itxAddressCtrl.hideSubmitButton" button-type="'submit'" callback="itxAddressCtrl.formAddress.$valid && itxAddressCtrl.submitAddress();" enable-progress="itxAddressCtrl.ongoingAddressSubmit"> Accept </itx-button> </div> </form> </div></script><script id="daum.tpl" type="text/ng-template"><itx-button ng-click="itxDaumCtrl.openDaumSelector()" enable-progress="itxCheckoutCtrl.loading" class="itx-button-black" button-type="'submit'" ng-cloak> <span>Postcode lookup</span> </itx-button></script><script id="edit-address-modal.tpl" type="text/ng-template"><md-dialog class="edit-address-modal" flex="40" layout-padding> <md-toolbar> <div class="edit-address-modal-toolbar" layout="row" layout-align="end center"> <div> <md-icon class="icon-10 close-dialog" md-svg-src="/static/itxwebstandard/images/ic_cerrar.svg?t=2019041110311151db1176774530" ng-click="dialogCtrl.cancel()" aria-label="Close dialog"></md-icon> </div> </div> </md-toolbar> <md-dialog-content class="edit-address-modal-dialog"> <div ng-if="dialogCtrl.showFillBillingAddressMsg"> <span>You will need to complete your personal details in order to add a delivery address.</span> </div> <itx-address address="dialogCtrl.address" address-type="dialogCtrl.addressType" edit-address="true" billing-valid="dialogCtrl.billingValid" shipping-countries="dialogCtrl.shippingCountries" billing-countries="dialogCtrl.billingCountries" on-address-change="dialogCtrl.updateAddressModel(address, isValid)" on-address-submit="dialogCtrl.saveAddressAndResolve(dialogCtrl, dialogCtrl.address)" error="dialogCtrl.error"></itx-address> </md-dialog-content> </md-dialog></script><script id="phone-verification.tpl" type="text/ng-template"><div ng-if="$root.phoneRegistrationEnabled" class="user-phone"> <ng-form name="phoneVerificationForm" method="post"> <md-input-container class="no-margin-bottom col-md-4"> <label for="phoneVerificationForm_email">{{ ::("FIELD.EMAIL" | property) }}</label> <input id="email" type="text" name="email" ng-model="itxPhoneVerificationCtrl.user.email" ng-model-options="{ updateOn: 'blur' }" ng-pattern="itxPhoneVerificationCtrl.gConstants.validations.email" required itx-move-next-on-enter> <div ng-messages="phoneVerificationForm.email.$error"> <div ng-message="pattern">{{ ::("ItxUserManagement.generic.emailError" | property) }}</div> <div ng-message="required">{{ ::("ItxUserManagement.generic.emailError" | property) }}</div> </div> </md-input-container> <itx-phone-field class="col-md-4" pattern="$root.validations.phone1" model="itxPhoneVerificationCtrl.user.phone.subscriberNumber" field-name="'phone'" field="phoneVerificationForm.phone" field-required="true"> </itx-phone-field> <itx-button is-disabled="(phoneVerificationForm.email && phoneVerificationForm.email.$invalid && phoneVerificationForm.phone && phoneVerificationForm.phone.$invalid) || itxPhoneVerificationCtrl.verificationSent" class="col-md-4" ng-click="itxPhoneVerificationCtrl.sendPhoneValidation()"> <span ng-if="!itxPhoneVerificationCtrl.verificationSent">{{ ::("validatePhone" | property) }}</span> <span ng-if="itxPhoneVerificationCtrl.verificationSent">{{ ::("phoneRegistration.phoneVerificationSent" | property) }}</span> </itx-button> <div ng-if="itxPhoneVerificationCtrl.showVerificationCodeInput"> <md-input-container class="no-margin-bottom col-md-6"> <label for="verificationPhone">{{ ::("phoneRegistration.verificationCode" | property) }}</label> <input id="verificationPhone" type="text" name="verificationPhone" ng-model="itxPhoneVerificationCtrl.user.code" autocomplete="off" ng-change="itxPhoneVerificationCtrl.invalidVerificationCode = false" required itx-move-next-on-enter> <span class="message-error" ng-if="itxPhoneVerificationCtrl.invalidPhoneVerificationCode">{{ ::("phoneRegistration.invalidVerificationCode" | property) }}</span> <div ng-messages="phoneVerificationForm.verificationPhone.$error"> <div ng-message="required">{{ ::("validate_required" | property) }}</div> </div> </md-input-container> <itx-button is-disabled="!itxPhoneVerificationCtrl.user.code || itxPhoneVerificationCtrl.invalidVerificationCode" class="col-md-6" ng-click="itxPhoneVerificationCtrl.sendPhoneVerificationCode()"> <span>{{ ::("phoneRegistration.sendPhoneVerification" | property) }}</span> </itx-button> </div> </ng-form> </div></script><script id="business-contact.tpl" type="text/ng-template"><div class="business-container"> <div class="business-contact-header"> <itx-spot type="Business_Header"></itx-spot> </div> <form class="business-contact-form" name="itxBusinessContactCtrl.contactForm" method="post" novalidate> <div class="business-submit-messages" ng-if="itxBusinessContactCtrl.submitOk || itxBusinessContactCtrl.errors"> <p class="message-ok" ng-if="itxBusinessContactCtrl.submitOk"> {{ ::("ItxContactPage.sended" | property) }} </p> <p class="msg-error" ng-if="itxBusinessContactCtrl.errors" ng-bind-html="itxBusinessContactCtrl.errors" /> </div> <div class="contact-shopping-online-errors"> <div class="col-12 col-sm-6"> <md-input-container itx-ga-form-valid form-name="'contactForm'" form-field="itxBusinessContactCtrl.contactForm.firstName" cf="'ayuda'" event-category="'landing'"> <label for="name"> {{ ::("FIELD.NAME" | property) }} </label> <input type="text" name="firstName" id="firstName" ng-model="itxBusinessContactCtrl.contactData.firstName" ng-model-options="{ updateOn: 'blur' }" autocomplete="off" md-maxlength="128" ng-maxlength="128" required itx-move-next-on-enter> <div ng-messages="itxBusinessContactCtrl.contactForm.firstName.$error"> <div ng-message="required"> {{ ::("ItxContactPage.helper.name" | property) }} </div> </div> </md-input-container> <md-input-container ng-if="::itxBusinessContactCtrl.isMiddleName" itx-ga-form-valid form-name="'contactForm'" form-field="itxBusinessContactCtrl.contactForm.middlename" cf="'ayuda'" event-category="'landing'"> <label for="middlename"> {{ ::("FIELD.MIDDLENAME" | property) }} </label> <input type="text" name="middlename" id="middlename" ng-model="itxBusinessContactCtrl.contactData.middleName" ng-model-options="{ updateOn: 'blur' }" autocomplete="off" md-maxlength="128" ng-maxlength="128" required itx-move-next-on-enter> <div ng-messages="itxBusinessContactCtrl.contactForm.middlename.$error"> <div ng-message="required"> {{ ::("ItxContactPage.helper.middlename" | property) }} </div> </div> </md-input-container> <md-input-container itx-ga-form-valid form-name="'contactForm'" form-field="itxBusinessContactCtrl.contactForm.lastname" cf="'ayuda'" event-category="'landing'"> <label for="lastname"> {{ ::("FIELD.LASTNAME" | property) }} </label> <input type="text" name="lastname" id="lastname" ng-model="itxBusinessContactCtrl.contactData.lastName" ng-model-options="{ updateOn: 'blur' }" autocomplete="off" md-maxlength="128" ng-maxlength="128" required itx-move-next-on-enter> <div ng-messages="itxBusinessContactCtrl.contactForm.lastname.$error"> <div ng-message="required"> {{ ::("ItxContactPage.helper.surname" | property) }} </div> </div> </md-input-container> <!-- COMPANY NAME --> <md-input-container itx-ga-form-valid form-name="'contactForm'" form-field="itxBusinessContactCtrl.contactForm.companyName" cf="'ayuda'" event-category="'landing'"> <label> {{ ::("ItxOrderShippingPage.address.type.company.name" | property) }} </label> <input type="text" name="companyName" ng-model="itxBusinessContactCtrl.companyName" itx-move-next-on-enter> </md-input-container> <!-- COMPANY NAME --> <md-input-container itx-ga-form-valid form-name="'contactForm'" form-field="itxBusinessContactCtrl.contactForm.email" cf="'ayuda'" event-category="'landing'"> <label for="email"> {{ ::("FIELD.EMAIL" | property) }} </label> <input type="text" name="email" id="email" ng-model="itxBusinessContactCtrl.contactData.email" ng-model-options="{ updateOn: 'blur' }" ng-pattern="itxBusinessContactCtrl.gConstants.validations.email" required itx-move-next-on-enter> <div ng-messages="itxBusinessContactCtrl.contactForm.email.$error"> <div ng-message="pattern"> {{ ::("ItxUserManagement.generic.emailError" | property) }} </div> <div ng-message="required"> {{ ::("ItxContactPage.helper.mail" | property) }} </div> </div> </md-input-container> </div> <div class="col-12 col-sm-6"> <md-input-container itx-ga-form-valid form-name="'contactForm'" form-field="itxBusinessContactCtrl.contactForm.message" cf="'ayuda'" event-category="'landing'"> <label for="message"> {{ ::("FIELD.MESSAGE" | property) }} </label> <textarea name="message" id="message" class="business-contact-textarea" ng-model="itxBusinessContactCtrl.contactData.message" ng-model-options="{ updateOn: 'blur' }" required> </textarea> <div ng-messages="itxBusinessContactCtrl.contactForm.message.$error"> <div ng-message="required"> {{ ::("ItxContactPage.helper.message" | property) }} </div> </div> </md-input-container> <!-- DIV CHECKS MERCADOS NO COREA--> <div ng-if="::$root.inditex.iCountryCode !== 'KR'"> <!-- CHECK POLITICA PRIVACIDAD --> <md-input-container class="privacy-policy-accepted" itx-ga-form-valid form-name="'contactForm'" form-field="itxBusinessContactCtrl.contactForm.privacyPolicyAccepted" cf="'ayuda'" event-category="'landing'"> <md-checkbox id="privacyPolicyAccepted" name="privacyPolicyAccepted" ng-model="itxBusinessContactCtrl.contactData.privacyPolicyAccepted" required itx-move-next-on-enter> <!--INI Idiomas distintos al japonés--> <div ng-if="::($root.inditex.iLangId !== -10)"> <span ng-if="$root.rgpdTextEnabled"> {{ ::("rgpd.purchase.part1" | property) }} <a class="link-2 conditions" ng-click="itxBusinessContactCtrl.openPDF('PC', $event)"> {{ ::("ItxPaymentComponentDirective.pago.tos.conditions" | property) }} </a> {{ ::("rgpd.purchase.part2" | property) }} <a class="link-2 privacy" ng-click="itxBusinessContactCtrl.openPDF('PP', $event)"> {{ ::("ItxPaymentComponentDirective.pago.tos.politics" | property) }} </a> </span> <span ng-if="!$root.rgpdTextEnabled"> {{ ::("ItxPaymentComponentDirective.pago.tos.accept" | property) }} <a class="link-2 conditions" ng-click="itxBusinessContactCtrl.openPDF('PC', $event)"> {{ ::("ItxPaymentComponentDirective.pago.tos.conditions" | property) }} </a> {{ ::("ItxPaymentComponentDirective.pago.tos.and" | property) }} <a class="link-2 privacy" ng-click="itxBusinessContactCtrl.openPDF('PP', $event)"> {{ ::("ItxPaymentComponentDirective.pago.tos.politics" | property) }} </a> </span> </div> <!--FIN Idiomas distintos al japonés--> <div ng-messages="itxBusinessContactCtrl.contactForm.privacyPolicyAccepted.$error" ng-show="itxBusinessContactCtrl.contactForm.$submitted"> <div ng-message="required"> {{ ::("ItxContactPage.policy.error" | property) }} </div> </div> </md-checkbox> </md-input-container> <!-- FIN CHECK POLITICA PRIVACIDAD --> <!-- NEWSLETTER--> <md-input-container class="no-margin-top no-margin-bottom check-bottom"> <md-checkbox ng-if="!$root.noDobleOptInActive" name="notSubscribeToNewsletter" aria-label="Not subscribe to newsletter" ng-model="itxBusinessContactCtrl.desactivateNewsletter" itx-move-next-on-enter> <span ng-if="$root.rgpdTextEnabled"> {{ ::("rgpd.register.newsletter.subscription" | property) }}</span> <span ng-if="!$root.rgpdTextEnabled"> {{ ::("ItxUserManagement.create.notSubscribeToNewsletter" | property) }}</span> </md-checkbox> <md-checkbox ng-if="$root.noDobleOptInActive" name="notSubscribeToNewsletter" aria-label="Not subscribe to newsletter" ng-model="itxBusinessContactCtrl.noDobleOptNewsletterChecked" itx-move-next-on-enter> <span ng-if="$root.rgpdTextEnabled && $root.inditex.iCountryCode !=='RU'">{{ ::("rgpd.register.newsletter.subscription" | property) }} </span> <span ng-if="!$root.rgpdTextEnabled && $root.inditex.iCountryCode !=='RU'"> {{ ::("Newsletter.dobleopt.register" | property) }}</span> <span ng-if="$root.inditex.iCountryCode==='RU'"> {{ ::("privacy.ru.text" | property) }}</span> </md-checkbox> </md-input-container> <!-- FIN NEWSLETTER--> </div> <!-- FIN DIV CHECKS MERCADOS NO COREA--> <!-- DIV CHECKS COREA --> <div class="consents-kr" ng-if="::$root.inditex.iCountryCode === 'KR'"> <md-input-container> <md-checkbox ng-model="itxBusinessContactCtrl.checkAll" ng-change="itxBusinessContactCtrl.checkAllChanged()" itx-move-next-on-enter> <span>{{ ::("Korea.checkAllConsents" | property) }}</span> </md-checkbox> </md-input-container> <md-input-container> <md-checkbox id="checkConsentCollection" name="checkConsentCollection" ng-model="itxBusinessContactCtrl.consentCollection" ng-change="itxBusinessContactCtrl.checkKRAccepted()" required itx-move-next-on-enter> <span>{{ ::("Korea.checkConsentCollection" | property) }}</span> <a class="link-2 privacy" ng-click="$event.stopPropagation(); itxBusinessContactCtrl.readMoreKorea('personal-information')"> {{ ::("Korea.readMore" | property) }} </a> <div ng-messages="createForm.checkConsentCollection.$error" ng-show="createForm.$submitted"> <div ng-message="required">{{ ::("ItxContactPage.policy.error" | property) }}</div> </div> </md-checkbox> </md-input-container> <md-input-container> <md-checkbox id="checkTransferInfo" name="checkTransferInfo" ng-model="itxBusinessContactCtrl.consentTransferInfo" ng-change="itxBusinessContactCtrl.checkKRAccepted()" required itx-move-next-on-enter> <span>{{ ::("Korea.checkTransferInfo" | property) }}</span> <a class="link-2 privacy" ng-click="$event.stopPropagation(); itxBusinessContactCtrl.readMoreKorea('overseas')"> {{ ::("Korea.readMore" | property) }} </a> <div ng-messages="createForm.checkTransferInfo.$error" ng-show="createForm.$submitted"> <div ng-message="required">{{ ::("ItxContactPage.policy.error" | property) }}</div> </div> </md-checkbox> </md-input-container> <md-input-container> <md-checkbox id="checkConsentNewsletter" name="checkConsentNewsletter" ng-model="itxBusinessContactCtrl.consentNewsletter" itx-move-next-on-enter> <span>{{ ::("Korea.checkConsentNewsletter" | property) }}</span> <a class="link-2 privacy" ng-click="$event.stopPropagation(); itxBusinessContactCtrl.readMoreKorea('newsletter')"> {{ ::("Korea.readMore" | property) }} </a> </md-checkbox> </md-input-container> </div> <!-- FIN DIV CHECKS COREA --> <div layout="row" id="button-send-contact"> <itx-button ng-click="itxBusinessContactCtrl.contact()" enable-progress="dialogCtrl.self.ongoingPetition" button-type="'submit'"> {{ ::("ItxContactPage.send" | property) }} </itx-button> </div> </div> <div class="rgpd-contact-form" ng-if="$root.rgpdTextEnabled && itxBusinessContactCtrl.contactData.privacyPolicyAccepted && !$root.device.isMobileDevice && !$root.isDesktopMobile"> <itx-spot type="RGPD_ContactForm_11"></itx-spot> </div> </div> </form> </div></script><script id="country-selector.tpl" type="text/ng-template"><md-sidenav md-component-id="right" class="md-sidenav-right"> <md-toolbar> <h2>MARKET AND LANGUAGE</h2> <a class="close-sidenav" ng-click="itxCountrySelectorCtrl.closeSelector()"> <img src="/static/itxwebstandard/images/ico-close2.png?t=2019041110311151db1176774530"> </a> </md-toolbar> <itx-loader show="itxCountrySelectorCtrl.isLoading"></itx-loader> <div class="container" ng-if="itxCountrySelectorCtrl.stores.length > 0"> <h3>MARKETS WITH ONLINE STORE</h3> <md-content> <ul class="store-list"> <li ng-repeat="store in itxCountrySelectorCtrl.stores | filter:{ isOpenForSale : true}"> <a ng-bind="store.countryName" class="country-lang-name" ng-class="{ 'selected' : store.selected }" ng-click="itxCountrySelectorCtrl.selectLang(store.supportedLanguages[0],store,$event);itxCountrySelectorCtrl.trackRegion(store)" ng-if="store.supportedLanguages.length < 2"></a> <div ng-if="store.supportedLanguages.length > 1"> <a class="country-lang-name" ng-class="{ 'selected' : store.selected }" ng-click="itxCountrySelectorCtrl.trackRegion(store)" ng-bind-html="store.countryName"></a> <ul class="lang-list" ng-if="store.selected"> <li ng-repeat="lang in store.supportedLanguages"> <a class="country-lang-name" ng-click="itxCountrySelectorCtrl.selectLang(lang, store, $event)" ng-bind-html="lang.name"> </a> </li> </ul> </div> </li> </ul> </md-content> <h3>MARKETS WITH NO ONLINE STORE</h3> <md-content> <ul class="store-list"> <li ng-repeat="store in itxCountrySelectorCtrl.stores | filter:{ isOpenForSale : false}"> <a class="country-lang-name" ng-class="{ 'selected' : store.selected }" ng-bind="store.countryName" ng-click="itxCountrySelectorCtrl.selectLang(store.supportedLanguages[0],store,$event);itxCountrySelectorCtrl.trackRegion(store)" ng-if="store.supportedLanguages.length < 2"> </a> <div ng-if="store.supportedLanguages.length > 1"> <a class="country-lang-name" ng-class="{'selected' : store.selected }" ng-click="itxCountrySelectorCtrl.trackRegion(store)" ng-bind-html="store.countryName"></a> <ul class="lang-list" ng-if="store.selected"> <li ng-repeat="lang in store.supportedLanguages"> <a ng-click="itxCountrySelectorCtrl.selectLang(lang, store, $event)" ng-bind-html="lang.name"> </a> </li> </ul> </div> </li> </ul> </md-content> </div> </md-sidenav></script><script id="lang-selector.tpl" type="text/ng-template"><div class="lang-list-container container"> <md-content> <div ng-if="$root.inditex.iStoreJSON.supportedLanguages.length > 1"> <ul class="lang-list"> <li ng-repeat="lang in $root.inditex.iStoreJSON.supportedLanguages"> <a ng-click="itxCountrySelectorCtrl.selectLang(lang, $root.inditex.iStoreJSON, $event)" ng-bind-html="lang.name"> </a> </li> </ul> </div> </md-content> </div></script><script id="404-error.tpl" type="text/ng-template"><itx-spot type="404Error"></itx-spot></script><script id="generic-error.tpl" type="text/ng-template"><itx-spot type="GenericError"></itx-spot></script><script id="footer.tpl" type="text/ng-template"><div class="collapsable-buttons" ng-class="{'visible' : !itxFooterDisplayCtrl.hiddenFooter}" ng-if="itxFooterDisplayCtrl.isCheckout && $root.isMobile"> <a ng-if="itxFooterDisplayCtrl.hiddenFooter" ng-click="itxFooterDisplayCtrl.hiddenFooter = false">+</a> <a ng-if="!itxFooterDisplayCtrl.hiddenFooter" ng-click="itxFooterDisplayCtrl.hiddenFooter = true">-</a> </div> <md-content class="footer-component" ng-hide="itxFooterDisplayCtrl.isCheckout && $root.isMobile && itxFooterDisplayCtrl.hiddenFooter"> <!-- //// FOOTER \\\\ --> <div class="legal-info-kr" ng-if="itxFooterDisplayCtrl.countryCode === 'KR'"> <itx-spot type="Legal_info"></itx-spot> </div> <div class="footer-spot row"> <itx-spot type="Footer"></itx-spot> </div> <div class="footer-country-sel row"> <div class="china-legal" ng-if="itxFooterDisplayCtrl.isChina"> <ul> <li id="itc-police"> <span class="icon-sprite icon-itc-police"></span><a target="_blank" href="http://sh.cyberpolice.cn/infoCategoryListAction.do?act=initjpg" rel="nofollow">上海网警网络110</a></li> <li id="itc-license"> <span class="icon-sprite icon-itc-license"></span> <a target="_blank" href="https://www.sgs.gov.cn/lz/licenseLink.do?method=licenceView&entyId=dov73ne26zbqpvyq8k4819h3x5ia75vms1">上海工商</a> </li> <li id="itc-icp"> <a target="_blank" href="http://www.miitbeian.gov.cn">沪ICP备12030822号-8</a> </li> </ul> </div> <div class="country-lang-selector"> <itx-country-selector ng-if="itxFooterDisplayCtrl.isChina && itxFooterDisplayCtrl.openedCountrySelector" from="'footer'" close="itxFooterDisplayCtrl.closeCountrySelector()" itx-click-outside="itxFooterDisplayCtrl.closeCountrySelector()" outside-if-not="country-lang-selector"> </itx-country-selector> <a id="language" ng-click="itxFooterDisplayCtrl.openCountrySelector()" ng-cloak> <span class="icon icon-sphere"></span> {{ ::itxFooterDisplayCtrl.countryName }} / {{ ::itxFooterDisplayCtrl.currentLang }} </a> </div> </div> </md-content> <itx-country-selector ng-if="!itxFooterDisplayCtrl.isChina && itxFooterDisplayCtrl.openedCountrySelector" from="'footer'" close="itxFooterDisplayCtrl.closeCountrySelector()"></itx-country-selector></script><script type="text/ng-template" id="header.tpl"><div class="mainHeader-container" ng-mouseenter="itxHeaderCtrl.hideHamMenu()"> <div class="upper-container"> <div class="categoryName" ng-if="$root.inditex.iPage === 'ItxCategoryPage' && $root.isMobile"> <h1 ng-bind="$root.inditex.iCategoryJSON.name" class="header-categoryName"> </h1> </div> <div class="menu-wrapper" ng-if="!$root.activeMobileMenu" ng-mouseleave="itxHeaderCtrl.hideHamMenu()" ng-class="{'hamburguer-menu-wrapper': $root.showHamburguerMenu && !$root.activeMobileMenu}"> <h1 class="logo-header">Zara Home</h1> <a class="desktop-logo" ng-href="{{ ::itxHeaderCtrl.homeUrl }}" ng-if="$root.inditex.iPage !== 'ItxCategoryPage' || !$root.isMobile" ng-click="itxHeaderCtrl.trackGoToHome()"> <img ng-class="{'calogo' : itxHeaderCtrl.useCALogo, 'auxlogo' : itxHeaderCtrl.auxLogoName && !itxHeaderCtrl.useCALogo}" ng-src="{{::itxHeaderCtrl.logoSrc}}" alt="Zara Home" /> </a> <itx-menu class="menu-component" ng-if="$root.showMenu" on-navigate="itxHeaderCtrl.toggleMenuMobile(fromAccountMenu)" ng-class="{ 'no-menu': $root.noMenuCategory , 'has-transition' : $root.hasTransition}"> </itx-menu> </div> <div class="mobile-logo" ng-if="$root.activeMobileMenu"> <h1 class="logo-header">Zara Home</h1> <a ng-href="{{ ::itxHeaderCtrl.homeUrl }}" ng-if="$root.inditex.iPage !== 'ItxCategoryPage' || !$root.isMobile" ng-click="itxHeaderCtrl.trackGoToHome()"> <img ng-class="{'calogo' : itxHeaderCtrl.useCALogo, 'auxlogo' : itxHeaderCtrl.auxLogoName && !itxHeaderCtrl.useCALogo}" ng-src="{{::itxHeaderCtrl.logoSrc}}" alt="Zara Home" /> </a> </div> <div class="mobile-toggle" ng-if="$root.activeMobileMenu || $root.showHamburguerMenu"> <div ng-if="$root.showHamburguerMenu && !$root.activeMobileMenu" class="menu-mobile-open" id="mobileOpen" ng-mouseenter="itxHeaderCtrl.showHamMenu()"> <span class="icon icon-menu_toggle"></span> </div> <div ng-if="$root.activeMobileMenu" ng-class="{'hidden': !$root.showMenu && !$root.showHamburguerMenu}" class="menu-mobile-open" id="mobileOpen" ng-click="itxHeaderCtrl.toggleMenuMobile()"> <span class="icon icon-menu_toggle"></span> </div> <div ng-if="!$root.showHamburguerMenu || $root.activeMobileMenu" ng-class="{'hidden': !$root.showMenu && !$root.showHamburguerMenu }" class="menu-mobile-close" id="mobileClose" ng-click="itxHeaderCtrl.toggleMenuMobile()"> <span class="icon icon-plus-thin"></span> </div> </div> <div class="header-backBtn" ng-if="!itxHeaderCtrl.$stateParams.bc"> <a href="{{itxHeaderCtrl.previousPageURL}}" ng-if="!$root.categoryProductView" class="volver"> <span class="icon icon-arrow_left"></span> </a> <a ng-if="$root.categoryProductView" ng-click="itxHeaderCtrl.goToParentState()" class="volver"> <span class="icon icon-arrow_left"></span> </a> </div> <div class="header-backBtn" ng-if="itxHeaderCtrl.$stateParams.bc"> <a href="javascript:window.history.back()" class="volver"> <span class="icon icon-arrow_left"></span> </a> </div> <div class="search-link"> <a ui-sref="root.layout.search"> {{ ::("ItxHeaderDisplay.search" | property) }} <span class="line"></span> </a> </div> <div class="user-menu-container"> <div class="actions-container" ng-class="$root.activeMobileMenu ? 'actions-mobile' : 'actions'"> <itx-spot type="Header" ng-if="itxHeaderCtrl.headerSpot"></itx-spot> <itx-spot type="Header_NoSale" ng-if="itxHeaderCtrl.headerNoSaleSpot"></itx-spot> <a class="cart-link" ng-if="itxHeaderCtrl.isOpenForSale" ng-mouseover="itxHeaderCtrl.openMinicart()" ng-click="itxHeaderCtrl.goToShopCart()"> <span class="icon icon-basket" role="img" aria-label="View basket"> </span> <span class="text"> {{ ::("ItxHeaderDisplay.cart" | property) }}&nbsp; </span> <span class="text">(</span>{{ itxHeaderCtrl.cart ? itxHeaderCtrl.shopCartItems : 0 }}<span class="text">)</span> </a> <a class="wish-link" ng-click="itxHeaderCtrl.goToWishList()" ng-if="$root.inditex.iStoreJSON.details.wishListActivated == '1' && !itxHeaderCtrl.isGuestUser"> <span class="icon icon-heart-o" role="img" aria-label="wishlist"> </span> <span class="text">{{ ::("ItxHeaderDisplay.wishlist" | property) }}&nbsp;</span> </a> <div class="account-link" ng-if="!itxHeaderCtrl.isGuestUser && itxHeaderCtrl.isOpenForSale" ng-mouseenter="itxHeaderCtrl.toggleLogout(true)" ng-mouseleave="itxHeaderCtrl.toggleLogout(false)"> <a ng-click="itxHeaderCtrl.goToMyAccount()"> <span class="icon icon-account" role="img" aria-label="My account"> </span> <span class="text name" ng-if="itxHeaderCtrl.userName.length > 0 && itxHeaderCtrl.userName !== '-'"> {{ $root.inditex.iUserJSON.firstName }}</span> </a> <a class="logout" ng-if="!itxHeaderCtrl.isGuestUser && itxHeaderCtrl.isOpenForSale && itxHeaderCtrl.showLogout" ng-click="itxHeaderCtrl.logOut()"> <span class="icon icon-logout"></span> {{ ::("ITX_HEADER_DISPLAY_LOGOUT" | property) }} </a> </div> <a class="login-link" ng-if="itxHeaderCtrl.isGuestUser && itxHeaderCtrl.isOpenForSale" ng-click="itxHeaderCtrl.goToLogin()"> <span class="icon icon-header icon-account" ng-if="itxHeaderCtrl.isGuestUser" role="img" aria-label="Log In"> </span> <span class="text">{{ ::("ItxHeaderDisplay.login" | property) }} </span> </a> <div id="language" ng-if="!$root.activeMobileMenu && itxHeaderCtrl.showLangSelector" ng-mouseenter="itxHeaderCtrl.toggleLanguageLink(true)" ng-mouseleave="itxHeaderCtrl.toggleLanguageLink(false)"> <span class="icon icon-sphere"></span> <a class="lang-selector" ng-click="itxHeaderCtrl.openCountrySelector()" ng-if="itxHeaderCtrl.showLanguageLink"> <span class="text">{{ itxHeaderCtrl.countryName }} / {{ itxHeaderCtrl.currentLang }}</span> </a> </div> <div ng-if="::$root.enableStageInfo && !$root.activeMobileMenu" class="stage-info"> <a class="prices-check-link" ng-if="showStageInfo" ng-click="itxHeaderCtrl.viewSaleProducts()"><span class="icon icon-clipboard"></span> revisar precios</a> <a ng-if="showStageInfo" class="icon icon-info" ng-click="itxHeaderCtrl.showPopover = !itxHeaderCtrl.showPopover" /> <div class="popover" ng-if="itxHeaderCtrl.showPopover" itx-click-outside="itxHeaderCtrl.showPopover = !itxHeaderCtrl.showPopover"> <itx-stage-info-header></itx-stage-info-header> </div> <md-switch aria-label="stageInfo" ng-model="showStageInfo" ng-change="itxHeaderCtrl.toggleShowStageInfo(showStageInfo)"></md-switch> </div> <itx-country-selector ng-if="itxHeaderCtrl.openedCountrySelector" from="'header'" close="itxHeaderCtrl.closeCountrySelector()"></itx-country-selector> <a class="search-link-icon" ui-sref="root.layout.search"> <span class="icon icon-search3"></span> </a> <a class="home-link-icon" ng-href="{{ ::itxHeaderCtrl.homeUrl }}" ng-if="$root.inditex.iPage !== 'ItxHomePage' && $root.isMobile" ng-click="itxHeaderCtrl.trackGoToHome()"> <span class="icon icon-home4"></span> </a> </div> </div> </div> <itx-search-form class="headerSearchForm"></itx-search-form> <itx-mini-cart id="mini-cart" ng-if="itxHeaderCtrl.isOpenForSale && itxHeaderCtrl.cart && itxHeaderCtrl.cart.items.length > 0 && !$root.activeMobileMenu" cart="itxHeaderCtrl.cart" hide-minicart="itxHeaderCtrl.closeMinicart()" ng-class="{ 'on' : itxHeaderCtrl.showMinicart == true }" itx-click-outside="itxHeaderCtrl.closeMinicart()" outside-if-not="btnAddToCart"> </itx-mini-cart> <itx-menu class="menu-component menu-component-mobile" ng-if="$root.showMenu && $root.activeMobileMenu" on-navigate="itxHeaderCtrl.toggleMenuMobile(fromAccountMenu)" on-click-out="itxHeaderCtrl.hideMenuMobile()" ng-class="{ 'no-menu': $root.noMenuCategory , 'has-transition' : $root.hasTransition}"> </itx-menu> </div></script><script type="text/ng-template" id="mini-cart.tpl"><aside> <div class="products-container"> <div class="scroll-hide"> <article ng-repeat="shopCartItem in itxMiniCartCtrl.cart.items | orderBy: 'reference'" ng-if="::(shopCartItem.reference !== 'XGIFTSKU')" url-producto="{{::shopCartItem.url}}" precio="{{::shopCartItem.formatedPrice}}" precio-tachado="{{::shopCartItem.formatedOldPrice}}"> <div class="col-xs-3"> <a ng-click="itxMiniCartCtrl.selectProduct(shopCartItem, $event, $index)"> <itx-product-photo product="shopCartItem" stylism="::$root.storeStyle" from="'CHECKOUT'"> </itx-product-photo> </a> </div> <div class="col-xs-9"> <p><a ng-click="itxMiniCartCtrl.selectProduct(shopCartItem, $event, $index)">{{::shopCartItem.name}}</a></p> <p class="dimensions" ng-if="::(shopCartItem.size && shopCartItem.size !== null)">{{ ::shopCartItem.size.replace('[[E]]', '') }}</p> <p class="units-price">{{::shopCartItem.quantity}} x <span ng-bind-html='::itxMiniCartCtrl.ItxHelper.formatPrice(shopCartItem.unitPrice)'></span></p> </div> </div> </article> </div> <div class="message-row" ng-if="!itxMiniCartCtrl.freeShippingMessageExcluded"> <p class="calculo-gastos-envio" ng-if="itxMiniCartCtrl.showFreeShippingWarnMsg"> You still need <span ng-bind-html='itxMiniCartCtrl.ItxHelper.formatPrice($root.freeShippingAmmount - itxMiniCartCtrl.cart.totalProduct)'></span> to get free standard delivery! </p> <p class="free-shipping" ng-if="itxMiniCartCtrl.showFreeShippingPromoMsg"> <span class="icon icon-truck"></span>You will receive free standard delivery! </p> <p class="mensaje_tienda" ng-if="::itxMiniCartCtrl.hasPhysicalStores"> <span class="icon icon-location"></span> Free store delivery </p> <itx-spot type="mini_cesta_envio_custom"></itx-spot> </div> <div class="margin-top-10"> <a class="btn" ng-click="itxMiniCartCtrl.gotToCheckout()"> View basket </a> </div> </aside></script><script id="create-account.tpl" type="text/ng-template"><div class="create-account" layout-padding> <form class="create-account-form" name="createForm" method="post" novalidate> <h2 class="text-center"> <span class="floatLeft"> <a ng-click="itxCreateAccountCtrl.goBackButtonClick()"> <img src="/static/itxwebstandard/images/arrow-left.png?t=2019041110311151db1176774530" alt="Left arrow"> </a> </span> {{ ::("ItxUserManagement.create.header" | property) }} </h2> <div class="message-error" ng-if="itxCreateAccountCtrl.genericError"> <span class="icon icon-warning icon-warning-gen"></span> <span ng-bind-html='itxCreateAccountCtrl.genericError'></span> </div> <div class="create-account-radio-company-allowed" ng-if="itxCreateAccountCtrl.isCompanyAllowed"> <md-radio-group ng-model="itxCreateAccountCtrl.newUser.primaryAddress.isCompany" layout="row" layout-align="center center"> <md-radio-button ng-value="false">{{ ::("FIELD.USER.PARTICULAR" | property) }}</md-radio-button> <md-radio-button ng-value="true"> {{ ::("FIELD.USER.COMPANY" | property) }}</md-radio-button> </md-radio-group> </div> <md-input-container ng-if="itxCreateAccountCtrl.shippingCountries"> <md-select placeholder="{{ ::('select.country' | property) }}" ng-model="itxCreateAccountCtrl.newUser.primaryAddress.countryCode" ng-change="itxCreateAccountCtrl.setWWCountryCode()" name="country" required> <md-option md-ink-ripple="false" ng-repeat="country in itxCreateAccountCtrl.shippingCountries" ng-value="country.code"> {{ country.name }} </md-option> </md-select> <div class="md-errors-spacer"></div> <div ng-messages="formAddress.country.$error"> <div ng-message="required"> {{ ::("ItxUserAccountCommonErrors.paramNotFound.country" | property) }} </div> </div> </md-input-container> <div class="create-account-radio-company-check" ng-if="itxCreateAccountCtrl.newUser.primaryAddress.isCompany"> <div ng-if="itxCreateAccountCtrl.countryCode === 'TR'"> <md-input-container class="no-margin-bottom"> <label for="createForm_vknCompany">VKN</label> <input id="createForm_vknCompany" type="text" name="vknCompany" ng-model="itxCreateAccountCtrl.newUser.primaryAddress.company.vatin" ng-model-options="{ updateOn: 'blur' }" ng-pattern="itxCreateAccountCtrl.getVknValidation(true)" required itx-move-next-on-enter> <div ng-messages="createForm.nameCompany.$error"> <div ng-message="required">{{ ::("ItxUserManagement.create.vknCompanyError" | property) }} </div> <div ng-message="pattern">{{ ::("ItxUserManagement.create.vknCompanyError" | property) }} </div> </div> </md-input-container> <md-input-container class="no-margin-bottom"> <label for="createForm_taxOffice"> {{ ::("FIELD.TAXOFFICE" | property) }} </label> <input id="createForm_taxOffice" type="text" name="companyTaxOffice" ng-model="itxCreateAccountCtrl.newUser.primaryAddress.company.taxOffice" ng-model-options="{ updateOn: 'blur' }" ng-maxlength="128" md-maxlength="128" required itx-move-next-on-enter> <div ng-messages="createForm.nameCompany.$error"> <div ng-message="required">{{ ::("ItxMyAccountPersonalPage.helper.company.taxOffice" | property) }} </div> <div ng-message="maxlength">{{ ::("ItxMyAccountPersonalPage.helper.company.taxOffice" | property) }} </div> </div> </md-input-container> </div> <md-input-container class="no-margin-bottom"> <label for="createForm_nameCompany">{{ ::("ItxOrderShippingPage.address.type.company.name" | property) }} </label> <input id="createForm_nameCompany" type="text" name="nameCompany" ng-model="itxCreateAccountCtrl.newUser.primaryAddress.company.name" ng-model-options="{ updateOn: 'blur' }" autocomplete="off" ng-minlength="itxCreateAccountCtrl.nameMinLength" ng-maxlength="itxCreateAccountCtrl.nameMaxLength" required itx-move-next-on-enter> <div ng-messages="createForm.nameCompany.$error"> <div ng-message="required">{{ ::("ItxUserManagement.create.nameCompanyError" | property) }}</div> <div ng-message="minlength">{{ ::("ItxUserManagement.create.namePersonShort" | property) }}</div> <div ng-message="maxlength">{{ ::("ItxMyAccountPersonalPage.helper.nameTooLong" | property) }}</div> </div> </md-input-container> <div ng-if="itxCreateAccountCtrl.registrationNumberEnabled"> <md-input-container class="no-margin-bottom"> <label for="createForm_registrationNumberCompany"> {{ ::("ItxOrderShippingPage.address.type.company.registrationNumber" | property) }} </label> <input id="createForm_registrationNumberCompany" type="text" name="registrationNumberCompany" ng-model="itxCreateAccountCtrl.newUser.primaryAddress.company.registrationNumber" ng-model-options="{ updateOn: 'blur' }" autocomplete="off" ng-pattern="$root.validations.companyRegistrationNumber" required itx-move-next-on-enter> </md-input-container> </div> <md-input-container ng-if="['TR', 'RU'].indexOf(itxCreateAccountCtrl.countryCode) ===-1 && !inditex.iStoreJSON.details.requireCifDisabledFront && itxCreateAccountCtrl.showCIF === true" class="no-margin-bottom"> <label for="createForm_cifCompany">{{ ::("FIELD.CIF" | property) }}</label> <input id="createForm_cifCompany" type="text" name="cifCompany" ng-model="itxCreateAccountCtrl.newUser.primaryAddress.company.vatin" ng-pattern="$root.validations.companyVatin" ng-model-options="{ updateOn: 'blur' }" autocomplete="off" required itx-move-next-on-enter> <div ng-messages="createForm.cifCompany.$error"> <div ng-message="required">{{ ::("ItxOrderShippingPage.error.address.type.company.cif" | property) }}</div> <div ng-message="pattern">{{ ::("ItxOrderShippingPage.error.address.type.company.cif" | property) }}</div> </div> </md-input-container> <!-- INICIO SDI: Si es empresa, en italia, y esta activa la configuracion de back, mostramos los campos PEC y Receiver Code --> <md-input-container ng-if="itxCreateAccountCtrl.enabledPecAndReceiverCode && $root.inditex.iCountryCode === 'IT'"> <label> {{ ::("FIELD.PEC" | property) }} </label> <input type="text" name="pec" ng-model="itxCreateAccountCtrl.newUser.primaryAddress.pec" ng-model-options="{updateOn: 'default blur', debounce: { 'default': 300, 'blur': 0 }}" ng-pattern="itxCreateAccountCtrl.gConstants.validations.email" itx-move-next-on-enter> <div ng-messages="createForm.pec.$error"> <div ng-message="pattern"> {{ ::("DynamicError.field.invalidFormat" | property) }} </div> </div> </md-input-container> <md-input-container ng-if="itxCreateAccountCtrl.enabledPecAndReceiverCode && $root.inditex.iCountryCode === 'IT'"> <label> {{ ::("FIELD.ReceiverCode" | property) }} </label> <input type="text" name="receiverCode" ng-model="itxCreateAccountCtrl.newUser.primaryAddress.receiverCode" ng-model-options="{updateOn: 'default blur', debounce: { 'default': 300, 'blur': 0 }}" ng-pattern="$root.validations.receiverCode" itx-move-next-on-enter> <div ng-messages="createForm.receiverCode.$error"> <div ng-message="pattern"> {{ ::("DynamicError.field.invalidFormat" | property) }} </div> </div> </md-input-container> <!-- FIN SDI Italia --> <!-- Nombre persona (empresa) --> <md-input-container class="no-margin-bottom"> <label for="createForm_namePersonCompany">{{ ::("FIELD.NAME" | property) }}</label> <input id="createForm_namePersonCompany" type="text" name="namePersonCompany" ng-model="itxCreateAccountCtrl.newUser.primaryAddress.firstName" ng-model-options="{ updateOn: 'blur' }" autocomplete="off" ng-minlength="itxCreateAccountCtrl.nameMinLength" ng-maxlength="$root.validations.firstname" ng-disabled="itxCreateAccountCtrl.createFromOrder" required itx-move-next-on-enter> <div ng-messages="createForm.namePersonCompany.$error"> <div ng-message="required">{{ ::("ItxUserManagement.create.namePersonError" | property) }}</div> <div ng-message="minlength">{{ ::("ItxUserManagement.create.namePersonShort" | property) }}</div> <div ng-message="maxlength">{{ ::("ItxMyAccountPersonalPage.helper.nameTooLong" | property) }}</div> </div> </md-input-container> <md-input-container class="no-margin-bottom"> <label for="createForm_surnamePerson">{{ ::("FIELD.LASTNAME" | property) }}</label> <input id="createForm_surnamePerson" type="text" name="surnamePerson" ng-model="itxCreateAccountCtrl.newUser.primaryAddress.lastName" ng-model-options="{ updateOn: 'blur' }" autocomplete="off" ng-maxlength="$root.validations.lastname" md-maxlength="$root.validations.lastname" required itx-move-next-on-enter> <div ng-messages="createForm.surnamePerson.$error"> <div ng-message="required">{{ ::("ItxUserManagement.create.namePersonError" | property) }}</div> </div> </md-input-container> </div> <md-input-container ng-if="!itxCreateAccountCtrl.newUser.primaryAddress.isCompany" class="no-margin-bottom"> <label for="createForm_namePerson">{{ ::("FIELD.NAME" | property) }}</label> <input id="createForm_namePerson" type="text" name="namePerson" ng-model="itxCreateAccountCtrl.newUser.primaryAddress.firstName" ng-model-options="{ updateOn: 'blur' }" autocomplete="off" ng-minlength="itxCreateAccountCtrl.nameMinLength" ng-maxlength="$root.validations.firstname" md-maxlength="$root.validations.firstname" ng-disabled="itxCreateAccountCtrl.createFromOrder" required itx-move-next-on-enter> <div ng-messages="createForm.namePerson.$error"> <div ng-message="minlength">{{ ::("ItxUserManagement.create.namePersonShort" | property) }}</div> <div ng-message="required"> {{ ::("ItxUserManagement.create.namePersonError" | property) }}</div> </div> </md-input-container> <md-input-container class="no-margin-bottom"> <label for="createForm_email">{{ ::("FIELD.EMAIL" | property) }}</label> <input id="createForm_email" type="text" name="email" ng-change="itxCreateAccountCtrl.fillEmail()" ng-model="itxCreateAccountCtrl.newUser.email" ng-model-options="{ updateOn: 'blur' }" ng-pattern="itxCreateAccountCtrl.gConstants.validations.email" ng-disabled="itxCreateAccountCtrl.createFromOrder" required itx-move-next-on-enter> <div ng-messages="createForm.email.$error"> <div ng-message="pattern">{{ ::("ItxUserManagement.generic.emailError" | property) }}</div> <div ng-message="required">{{ ::("ItxUserManagement.generic.emailError" | property) }}</div> </div> </md-input-container> <div ng-if="$root.phoneRegistrationEnabled" class="user-phone"> <itx-phone-field class="col-sm-6" pattern="$root.validations.phone1" model="itxCreateAccountCtrl.newUser.phone.subscriberNumber" field-name="'phone'" field="createForm.phone" field-required="true"> </itx-phone-field> <itx-button is-disabled="(createForm.email && createForm.email.$invalid && createForm.phone && createForm.phone.$invalid) || itxCreateAccountCtrl.verificationSent" class="col-sm-6" ng-click="itxCreateAccountCtrl.sendPhoneValidation()"> <span ng-if="!itxCreateAccountCtrl.verificationSent">{{ ::("validatePhone" | property) }}</span> <span ng-if="itxCreateAccountCtrl.verificationSent">{{ ::("phoneRegistration.phoneVerificationSent" | property) }}</span> </itx-button> <div ng-if="itxCreateAccountCtrl.showVerificationCodeInput"> <md-input-container class="no-margin-bottom"> <label for="createForm_verificationPhone">{{ ::("phoneRegistration.verificationCode" | property) }}</label> <input id="createForm_verificationPhone" type="text" name="verificationPhone" ng-model="itxCreateAccountCtrl.newUser.code" autocomplete="off" ng-change="itxCreateAccountCtrl.invalidVerificationCode = false" ng-model-options="{updateOn: 'blur'}" required itx-move-next-on-enter> <span class="message-error" ng-if="itxCreateAccountCtrl.invalidPhoneVerificationCode">{{ ::("phoneRegistration.invalidVerificationCode" | property) }}</span> <div ng-messages="createForm.verificationPhone.$error"> <div ng-message="required">{{ ::("validate_required" | property) }}</div> </div> </md-input-container> </div> </div> <md-input-container class="no-margin-bottom"> <label for="createForm_password">{{ ::("FIELD.PASSWORD" | property) }}</label> <input id="createForm_password" type="{{ itxCreateAccountCtrl.passwordInputType }}" name="password" ng-model="itxCreateAccountCtrl.newUser.password" autocomplete="off" ng-pattern="itxCreateAccountCtrl.gConstants.validations.password" required itx-password-strength itx-valid-password itx-move-next-on-enter> <a ng-class="{'icon-password-hidden' : itxCreateAccountCtrl.passwordInputType==='password', 'icon-password-visible' : itxCreateAccountCtrl.passwordInputType==='text'}" ng-click="itxCreateAccountCtrl.togglePassword()"> </a> <div ng-messages="createForm.password.$error"> <div ng-message="pattern">{{ ::("ItxUserManagement.generic.passwordError" | property) }}</div> <div ng-message="validPassword">{{ ::("ItxUserManagement.generic.passwordError" | property) }}</div> <div ng-message="required">{{ ::("VALIDATION_ERROR_MESSAGE_REQUIRED" | property) }}</div> </div> </md-input-container> <md-input-container ng-if="!itxCreateAccountCtrl.newUser.primaryAddress.isCompany && itxCreateAccountCtrl.countryCode==='TR'" class="no-margin-bottom"> <label for="createForm_tcknCompany">{{ ::("ItxUserManagement.create.tckn" | property) }}</label> <input id="createForm_tcknCompany" type="text" name="createForm_tcknCompany" ng-model="itxCreateAccountCtrl.newUser.primaryAddress.company.vatin" ng-model-options="{ updateOn: 'blur' }" autocomplete="off" ng-pattern="itxCreateAccountCtrl.getVknValidation(false)" itx-move-next-on-enter> <div ng-messages="createForm.createForm_tcknCompany.$error"> <div ng-message="pattern">{{ ::("ItxUserManagement.create.tcknCompanyError" | property) }}</div> </div> </md-input-container> <div class="create-privacy-newsletter" ng-if="itxCreateAccountCtrl.countryCode !=='KR'"> <md-input-container class="no-margin-top no-margin-bottom check-bottom"> <md-checkbox id="createForm_privacyPolicyAccepted" name="privacyPolicyAccepted" ng-model="itxCreateAccountCtrl.newUser.privacyPolicyAccepted" aria-label="Accept privacy policy" required itx-move-next-on-enter> <div ng-if="$root.rgpdTextEnabled"> <span> {{ ::("rgpd.register.part1" | property) }} </span> <a class="link-2 privacy" ng-click="$event.stopPropagation(); trackLegal()"> {{ ::("ItxContactPage.policy.link" | property) }} </a> <span> {{ ::("rgpd.register.part2" | property) }}</span> </div> <div ng-if="!$root.rgpdTextEnabled"> <div ng-if="[-10, -43].indexOf($root.inditex.iLangId)===-1"> {{ ::("ItxUserManagement.create.privacyCheckboxLabel" | property) }} <a class="link-2 privacy" ng-click="$event.stopPropagation(); trackLegal()"> {{ ::("ItxUserManagement.create.privacyCheckboxLink" | property) }} </a> </div> <div ng-if="$root.inditex.iLangId===-43"> <a class="link-2 privacy" ng-click="$event.stopPropagation(); trackLegal()"> {{ ::("ItxUserManagement.create.privacyCheckboxLink" | property) }} </a> {{ ::("ItxUserManagement.create.privacyCheckboxLabel" | property) }} </div> <div ng-if="$root.inditex.iLangId === -10"> <a class="link-2 privacy" ng-click="$event.stopPropagation(); trackLegal()"> {{ ::("ItxUserManagement.create.privacyCheckboxLink" | property) }} </a> {{ ::("ItxUserManagement.create.privacyCheckboxLabel" | property) }} </div> </div> <div ng-messages="createForm.privacyPolicyAccepted.$error" ng-show="createForm.$submitted"> <div ng-message="required">{{ ::("ItxContactPage.policy.error" | property) }}</div> </div> </md-checkbox> </md-input-container> <md-input-container class="no-margin-top no-margin-bottom check-bottom"> <md-checkbox ng-if="!$root.noDobleOptInActive" name="notSubscribeToNewsletter" aria-label="Not subscribe to newsletter" ng-model="itxCreateAccountCtrl.desactivateNewsletter" itx-move-next-on-enter> <span ng-if="$root.rgpdTextEnabled"> {{ ::("rgpd.register.newsletter.subscription" | property) }}</span> <span ng-if="!$root.rgpdTextEnabled"> {{ ::("ItxUserManagement.create.notSubscribeToNewsletter" | property) }}</span> </md-checkbox> <md-checkbox ng-if="$root.noDobleOptInActive" name="notSubscribeToNewsletter" aria-label="Not subscribe to newsletter" ng-model="itxCreateAccountCtrl.noDobleOptNewsletterChecked" itx-move-next-on-enter> <span ng-if="$root.rgpdTextEnabled && $root.inditex.iCountryCode !=='RU'">{{ ::("rgpd.register.newsletter.subscription" | property) }} </span> <span ng-if="!$root.rgpdTextEnabled && $root.inditex.iCountryCode !=='RU'"> {{ ::("Newsletter.dobleopt.register" | property) }}</span> <span ng-if="$root.inditex.iCountryCode==='RU'"> {{ ::("privacy.ru.text" | property) }}</span> </md-checkbox> </md-input-container> </div> <div class="consents-kr" ng-if="itxCreateAccountCtrl.countryCode==='KR'"> <md-input-container> <md-checkbox ng-model="itxCreateAccountCtrl.checkAll" ng-change="itxCreateAccountCtrl.checkAllChanged()" itx-move-next-on-enter> <span>{{ ::("Korea.checkAllConsents" | property) }}</span> </md-checkbox> </md-input-container> <md-input-container> <md-checkbox id="checkConsentCollection" name="checkConsentCollection" ng-model="itxCreateAccountCtrl.consentCollection" ng-change="itxCreateAccountCtrl.checkKRAccepted()" required itx-move-next-on-enter> <span>{{ ::("Korea.checkConsentCollection" | property) }}</span> <a class="link-2 privacy" ng-click="$event.stopPropagation(); itxCreateAccountCtrl.readMoreKorea('personal-information')"> {{ ::("Korea.readMore" | property) }} </a> <div ng-messages="createForm.checkConsentCollection.$error" ng-show="createForm.$submitted"> <div ng-message="required">{{ ::("ItxContactPage.policy.error" | property) }}</div> </div> </md-checkbox> </md-input-container> <md-input-container> <md-checkbox id="checkTransferInfo" name="checkTransferInfo" ng-model="itxCreateAccountCtrl.consentTransferInfo" ng-change="itxCreateAccountCtrl.checkKRAccepted()" required itx-move-next-on-enter> <span>{{ ::("Korea.checkTransferInfo" | property) }}</span> <a class="link-2 privacy" ng-click="$event.stopPropagation(); itxCreateAccountCtrl.readMoreKorea('overseas')"> {{ ::("Korea.readMore" | property) }} </a> <div ng-messages="createForm.checkTransferInfo.$error" ng-show="createForm.$submitted"> <div ng-message="required">{{ ::("ItxContactPage.policy.error" | property) }}</div> </div> </md-checkbox> </md-input-container> <md-input-container> <md-checkbox id="checkConsentNewsletter" name="checkConsentNewsletter" ng-model="itxCreateAccountCtrl.consentNewsletter" itx-move-next-on-enter> <span>{{ ::("Korea.checkConsentNewsletter" | property) }}</span> <a class="link-2 privacy" ng-click="$event.stopPropagation(); itxCreateAccountCtrl.readMoreKorea('newsletter')"> {{ ::("Korea.readMore" | property) }} </a> </md-checkbox> </md-input-container> </div> <div layout="row" layout-align-gt-xs="center center"> <itx-button title="CREATE ACCOUNT" callback="itxCreateAccountCtrl.register()" button-type="'submit'" is-disabled="($root.phoneRegistrationEnabled && (!itxCreateAccountCtrl.verificationSent || !itxCreateAccountCtrl.newUser.code))" enable-progress="itxCreateAccountCtrl.ongoingPetition"> {{ ::("ItxUserManagement.create.createAccountButton" | property) }} </itx-button> </div> <div class="rgpd-register" ng-if="$root.rgpdTextEnabled && itxCreateAccountCtrl.newUser.privacyPolicyAccepted && !$root.isMobile"> <itx-spot type="RGPD_Registration_2"></itx-spot> </div> </form> </div></script><script id="login-modal.tpl" type="text/ng-template"><md-dialog layout-padding flex-gt-xs="80" flex-gt-sm="60" flex-gt-lg="40"> <md-toolbar> <div class="login-modal-toolbar" layout="row" layout-align="end center"> <div> <md-icon class="icon-10 close-dialog" md-svg-src="/static/itxwebstandard/images/ic_cerrar.svg?t=2019041110311151db1176774530" ng-click="dialogCtrl.closeLoginModal()" aria-label="Close dialog"></md-icon> </div> </div> </md-toolbar> <md-dialog-content> <md-content> <itx-login login-from-modal="true" last-pageview="dialogCtrl.lastPageview"></itx-login> </md-content> </md-dialog-content> </md-dialog></script><script id="login.tpl" type="text/ng-template"><md-content class="login-component" layout-margin > <div ng-switch="itxLoginCtrl.formToShow"> <!-- LOGIN FORM --> <div ng-switch-when="login" class="login-element-container" layout-gt-xs="row" layout-xs="column"> <div class="login-element" flex-gt-xs="50" layout="column" layout-margin> <h2>{{ ::("ItxUserManagement.login.title.registered" | property) }}</h2> <span class="login-info"> <itx-spot type="Login" ng-if="itxLoginCtrl.loginSpot"></itx-spot> </span> <div class="message-error" ng-if="itxLoginCtrl.genericError"> <span class="icon icon-warning icon-warning-gen"></span> <span ng-bind-html='itxLoginCtrl.genericError'></span> </div> <form id="login-pago" name="itxLoginCtrl.loginForm" method="post" novalidate> <md-input-container> <label for="loginForm_email">{{ ::("FIELD.EMAIL" | property) }}</label> <input type="email" id="loginForm_email" name="email" ng-model="itxLoginCtrl.userLogin.email" ng-disabled="itxLoginCtrl.createFromOrder" ng-pattern="itxLoginCtrl.gConstants.validations.email" required itx-move-next-on-enter> <div ng-messages="itxLoginCtrl.loginForm.email.$error"> <div ng-message="required">{{ ::("validate_required" | property) }}</div> <div ng-message="pattern">{{ ::("ItxUserManagement.generic.emailError" | property) }}</div> </div> </md-input-container> <md-input-container> <label for="loginForm_password">{{ ::("FIELD.PASSWORD" | property) }}</label> <input type="{{ itxLoginCtrl.passwordInputType }}" id="loginForm_password" name="password" class="password" autocomplete="off" ng-model="itxLoginCtrl.userLogin.password" required> <a ng-class="{ 'icon-password-hidden' : itxLoginCtrl.passwordInputType === 'password', 'icon-password-visible' : itxLoginCtrl.passwordInputType === 'text' }" ng-click="itxLoginCtrl.togglePassword()"> </a> <div ng-messages="itxLoginCtrl.loginForm.password.$error"> <div ng-message="required">{{ ::("validate_required" | property) }}</div> </div> </md-input-container> <a class="grey" ng-click="itxLoginCtrl.showPasswordRecovery()">{{ ::("ItxUserManagement.login.passForgotQuestion" | property) }}</a> <div class="login-phone-verification" ng-if="$root.phoneRegistrationEnabled && itxLoginCtrl.showPhoneValidation"> <itx-phone-field class="col-sm-6" pattern="$root.validations.phone1" model="itxLoginCtrl.userLogin.phone.subscriberNumber" field-name="'phone'" field="loginForm.phone" field-required="true"> </itx-phone-field> <itx-button is-disabled="(loginForm.email && loginForm.email.$invalid && loginForm.phone && loginForm.phone.$invalid) || itxLoginCtrl.verificationSent" class="col-sm-6" ng-click="itxLoginCtrl.sendPhoneValidation()"> <span ng-if="!itxLoginCtrl.verificationSent">{{ ::("phoneRegistration.sendPhoneVerification" | property) }} </span> <span ng-if="itxLoginCtrl.verificationSent">{{ ::("phoneRegistration.phoneVerificationSent" | property) }} </span> </itx-button> <div ng-if="itxLoginCtrl.showVerificationCodeInput"> <md-input-container class="no-margin-bottom"> <label for="loginForm_verificationPhone">{{ ::("phoneRegistration.verificationCode" | property) }} </label> <input id="loginForm_verificationPhone" type="text" name="verificationPhone" ng-model="itxLoginCtrl.userLogin.code" autocomplete="off" required itx-move-next-on-enter> <span class="message-error" ng-if="itxLoginCtrl.invalidPhoneVerificationCode">{{ ::("phoneRegistration.invalidVerificationCodeSSAGE_REQUIRED" | property) }} </span> <div ng-messages="loginForm.verificationPhone.$error"> <div ng-message="required">{{ ::("validate_required" | property) }} </div> </div> </md-input-container> </div> </div> <md-input-container> <md-checkbox id="aceptar_logincheckout" ng-model="itxLoginCtrl.userLogin.rememberMe" itx-move-next-on-enter> {{ ::("ItxAjaxLogonPage.rememberMe" | property) }} </md-checkbox> </md-input-container> <itx-button callback="itxLoginCtrl.login()" button-type="'submit'" enable-progress="itxLoginCtrl.ongoingPetition"> {{ ::("btn.login.upper.cased" | property) }} </itx-button> <itx-facebook-login ng-if="$root.facebookLoginEnabled" from-cart="itxLoginCtrl.comesFromCheckout" last-pageview="itxLoginCtrl.lastPageview"></itx-facebook-login> <itx-google-login ng-if="itxLoginCtrl.showGoogleButton" from-cart="itxLoginCtrl.comesFromCheckout" last-pageview="itxLoginCtrl.lastPageview"></itx-google-login> </form> </div> <div class="login-element" flex-gt-xs="50" layout="column" layout-align="start left" layout-margin> <h2>{{ ::("ItxUserManagement.login.newCustomers" | property) }}</h2> <itx-spot type="Register" ng-if="itxLoginCtrl.loginSpot"></itx-spot> <itx-button ng-if="itxLoginCtrl.guestCheckout" ng-click="itxLoginCtrl.goToCheckout()"> {{ ::("ItxShopCartHeader.logon" | property) }} </itx-button> <itx-button ng-click="itxLoginCtrl.showNewAccount()"> {{ ::("ItxUserManagement.login.newAccountButton" | property) }} </itx-button> </div> </div> <!-- PASSWORD RECOVERY FORM --> <div ng-switch-when="passwordRecovery" class="login-component-form-reset-password" layout="row" layout-margin > <ng-form class="login-form-reset-password" name="itxLoginCtrl.recoverPassForm" method="post" novalidate> <div class="message-error" ng-if="itxLoginCtrl.genericError"> <span class="icon icon-warning icon-warning-gen"></span> <span ng-bind-html='itxLoginCtrl.genericError'></span> </div> <h2 class="text-center"> <span class="floatLeft"> <a ng-click="itxLoginCtrl.showLoginForm()"> <img src="/static/itxwebstandard/images/arrow-left.png?t=2019041110311151db1176774530" alt="Left arrow"> </a> </span> &nbsp;{{ ::("ItxUserManagement.recoverPass.header" | property) }} </h2> <p>{{ ::("ItxUserManagement.recoverPass.msg" | property) }} </p> <md-input-container class="no-margin-bottom"> <label for="recoverPassForm_email">{{ ::("FIELD.EMAIL" | property) }}</label> <input type="text" id="recoverPassForm_email" name="recoverPassForm_email" ng-model="itxLoginCtrl.userLogin.email" ng-pattern="itxLoginCtrl.gConstants.validations.email" required itx-move-next-on-enter> <div ng-messages="itxLoginCtrl.recoverPassForm.recoverPassForm_email.$error"> <div ng-message="required">{{ ::("validate_required" | property) }}</div> <div ng-message="pattern">{{ ::("ItxUserManagement.generic.emailError" | property) }} </div> </div> </md-input-container> <md-input-container class="md-block"> <label for="captchaResponse">*{{ ::("ItxGiftCardActivatePage.tooltip.captcha" | property) }} </label> <input type="text" name="captchaResponse" id="captchaResponse" ng-model="itxLoginCtrl.userLogin.captchaResponse" ng-model-options="{ updateOn: 'blur' }" autocomplete="off" required itx-move-next-on-enter> <div ng-messages="itxLoginCtrl.recoverPassForm.captchaResponse.$error"> <div ng-message="required">{{ ::("ItxGiftCardActivatePage.tooltip.captcha" | property) }} </div> </div> <div layout="row" > <div id="captchaImg"> </div> <md-icon class="captcha-reload" md-svg-src="/static/itxwebstandard/images/reload.svg?t=2019041110311151db1176774530" ng-click="itxLoginCtrl.reloadCaptcha()" aria-label="Reload Captcha image"></md-icon> </div> </md-input-container> <div layout="row" layout-align-gt-xs="center center"> <itx-button id="btn-password-recovery-return" callback="itxLoginCtrl.recoverPassword()" enable-progress="itxLoginCtrl.ongoingPetition" button-type="'submit'"> {{ ::("ItxUserManagement.recoverPass.enterButton" | property) }} </itx-button> </div> </ng-form> </div> <!-- PASSWORD RECOVERY OK FORM --> <div class="text-center" ng-switch-when="passwordRecoveryOk"> <h2> {{ ::("ItxUserManagement.confirmRecoverPass.header" | property) }} </h2> <p> {{ ::("ItxUserManagement.confirmRecoverPass.msg" | property) }} </p> <a ng-if="!itxLoginCtrl.loginFromModal" ui-sref="root.layout.login({ lang : itxLoginCtrl.langEncoded })" ui-sref-opts="{ reload: true }"> <itx-button> {{ ::("OK" | property) }} </itx-button> </a> <a ng-if="itxLoginCtrl.loginFromModal"> <itx-button ng-click="itxLoginCtrl.showLoginForm()"> {{ ::("OK" | property) }} </itx-button> </a> </div> <div ng-switch-when="createAccount"> <itx-create-account last-pageview="itxLoginCtrl.sendLastPageView()" go-back="itxLoginCtrl.showLoginForm();" create-from-modal="true"><itx-create-account> </div> </div> </md-content></script><script id="lookbook-bundle-products.tpl" type="text/ng-template"><div ng-if="$root.activeLookbookId === itxLookbookBundleProducts.productId"> <itx-related-products class="lookbook-bundle-products-container" slides-per-view="itxLookbookBundleProducts.items" product-list="itxLookbookBundleProducts.bundle.bundleProductSummaries" from="'lookbook'" parent-product="itxLookbookBundleProducts.bundle"> </itx-related-products> <div></script><script id="lookbook-social-share.tpl" type="text/ng-template"><div class="social-share-container"> <a ng-href="{{itxLookbookSocialShareCtrl.socialLinks.facebook}}" target="_blank"><span class="icon icon-facebook"></span></a> <a ng-href="{{itxLookbookSocialShareCtrl.socialLinks.pinterest}}" target="_blank"><span class="icon icon-pinterest"></span></a> <a ng-href="{{itxLookbookSocialShareCtrl.socialLinks.twitter}}" target="_blank"><span class="icon icon-twitter"></span></a> <a ng-href="{{itxLookbookSocialShareCtrl.socialLinks.instagram}}" target="_blank"><span class="icon icon-instagram"></span></a> </div></script><script id="baidu-map-selector.tpl" type="text/ng-template"><md-content class="stock-finder-content" layout-padding> <a class="ico_close"><span class="sr-only">Cerrar Mapa</span></a> <!-- Contenedor de mapa --> <div id="selectionMapsContainer" class="col-xs-12 col-md-7"> </div> <!-- Bloque derecho --> <!-- //// SELECTOR DE TIENDAS \\\\ --> <div id="blk-tiendas-cercanas" class="col-xs-12 col-md-5" ng-cloak> <div ng-if="itxBaiduMapSelectorCtrl.type === 'droppoint'"> <h3>DELIVERY POINTS</h3> <p>Find the closest delivery point..</p> </div> <div ng-if="itxBaiduMapSelectorCtrl.isStore"> <h3>ZARA HOME STORES</h3> <p>Find your nearest Zara Home store.</p> </div> <form class="stock-finder-content-form" method="post"> <md-content layout="column"> <md-input-container> <md-input> <input type="text" placeholder="Please enter an Address or City." ng-model="itxBaiduMapSelectorCtrl.zipCode" ng-change="itxBaiduMapSelectorCtrl.getPoints()" ng-model-options="{ debounce: 500 }" name="busqueda"> </md-input> </md-input-container> </md-content> </form> <div ng-if="(!itxBaiduMapSelectorCtrl.points || itxBaiduMapSelectorCtrl.points.length === 0) && !itxBaiduMapSelectorCtrl.isFirstSearch"> <p>No results found</p> </div> <ul class="tiendas" ng-if="itxBaiduMapSelectorCtrl.points && itxBaiduMapSelectorCtrl.points.length > 0"> <li ng-repeat="point in itxBaiduMapSelectorCtrl.points"> <a ng-click="itxBaiduMapSelectorCtrl.trackAndFocusMark($event, point)" class="drop-store" itemprop="name"> {{point.name}} <span ng-if="point.distance">({{point.distance}})</span> </a> <a ng-if="!itxBaiduMapSelectorCtrl.isLocator" ng-click="itxBaiduMapSelectorCtrl.selectPoint(point)" ng-class="point.id === itxBaiduMapSelectorCtrl.initialMarker.id ? 'store-choose-btn on' : 'store-choose-btn'"> <span> Send here </span> </a> <md-icon md-svg-src="/static/itxwebstandard/images/location.svg?t=2019041110311151db1176774530" class="s18" aria-label="location"></md-icon> <a class="link-2" ng-if="itxBaiduMapSelectorCtrl.isLocator" ng-click="itxBaiduMapSelectorCtrl.centerPoint(point)">Map</a> <div class="details" ng-if="itxBaiduMapSelectorCtrl.type === 'droppoint'"> <div ng-if="point.providerName" class="droppoint-provider"> <span ng-bind-html="point.providerName"></span> </div> <div ng-if="point.name !== point.street" class="droppoint-stret"> <!-- en algunos dps el name y el street coinciden, asi que mostrarlo dos veces es un poco raro --> <span ng-bind-html="point.street"></span> </div> <div class="droppoint-city"> <span>{{ point.zipCode }} {{ point.city }}</span> </div> <div ng-if="point.telephone.length > 0" class="droppoint-phone"> <span ng-bind-html="point.telephone"></span> </div> <div ng-if="point.networkTypeDesc && point.networkTypeDesc.toLowerCase() === 'citypaq'"> <span ng-bind-html="point.networkTypeDesc"></span> </div> <div ng-if="point.distance"> <span class="icon icon-car-front"></span> <span ng-bind-html="point.distance"></span> </div> <div ng-if="point.hoursAvailable" class="link-timetable"> <a ng-click="itxBaiduMapSelectorCtrl.togglePointTimeTable()"> <span class="icon icon-plus" data-ng-class="{'icon-minus': itxBaiduMapSelectorCtrl.timeTableVisible == true}"></span> Timetable</a> </div> <!-- Horarios point semana --> <div ng-if="itxBaiduMapSelectorCtrl.timeTableVisible && point.hoursAvailable" class="droppoint-opening-hours"> <div ng-if="point.openingHours.mondayTime.length > 0"> <span>Monday:</span> <span ng-bind-html="point.openingHours.mondayTime"></span> </div> <div ng-if="point.openingHours.tuesdayTime.length > 0"> <span>Tuesday:</span> <span ng-bind-html="point.openingHours.tuesdayTime"></span> </div> <div ng-if="point.openingHours.wednesdayTime.length > 0"> <span>Wednesday:</span> <span ng-bind-html="point.openingHours.wednesdayTime"></span> </div> <div ng-if="point.openingHours.thursdayTime.length > 0"> <span>Thursday:</span> <span ng-bind-html="point.openingHours.thursdayTime"></span> </div> <div ng-if="point.openingHours.fridayTime.length > 0"> <span>Friday:</span> <span ng-bind-html="point.openingHours.fridayTime"></span> </div> <div ng-if="point.openingHours.saturdayTime.length > 0"> <span>Saturday:</span> <span ng-bind-html="point.openingHours.saturdayTime"></span> </div> <div ng-if="point.openingHours.sundayTime.length > 0"> <span>Sunday:</span> <span ng-bind-html="point.openingHours.sundayTime"></span> </div> </div> </div> <div class="details" ng-if="itxBaiduMapSelectorCtrl.isStore"> <address itemprop="address" itemscope itemtype="http://schema.org/PostalAddress"> <p ng-repeat="addressLine in point.addressLines">{{addressLine}}</p> <p><span itemprop="postalCode">{{point.zipCode}}</span>. <span itemprop="addressLocality">{{point.city}}</span>. <span itemprop="addressLocality">{{point.state}}</span></p> <p class="sr-only"><span itemprop="addressCountry">{{inditex.iStoreJSON.countryName}}</span></p> </address> <p class="tel" ng-repeat="phone in point.phones"> <span itemprop="telephone" content="{{phone}}">{{phone}}</span> </p> <p ng-if="point.distance" class="point-distance"><span class="icon icon-car-front"></span> {{ point.distance }}</p> <p> <a class="link-timetable" ng-if="point.hasTimetable && point.weekSchedule && point.weekSchedule.length > 0" ng-click="itxBaiduMapSelectorCtrl.togglePointTimeTable()"> <span class="icon icon-plus" data-ng-class="{'icon-minus': itxBaiduMapSelectorCtrl.timeTableVisible == true}"></span> Timetable </a> </p> <div ng-if="itxBaiduMapSelectorCtrl.timeTableVisible" class="store-timetable"> <div ng-if="itxBaiduMapSelectorCtrl.timeTableVisible" class="store-timetable"> <div ng-if="point.weekSchedule.length > 1"> <span>Monday:</span> <span ng-if="point.weekSchedule[1].opened" class="store-opened">{{point.weekSchedule[1].initHour}} - {{point.weekSchedule[1].endHour}}</span> <span ng-if="!point.weekSchedule[1].opened" class="store-closed">Closed</span> </div> <div ng-if="point.weekSchedule.length > 2"> <span>Tuesday:</span> <span ng-if="point.weekSchedule[2].opened" class="store-opened">{{point.weekSchedule[2].initHour}} - {{point.weekSchedule[2].endHour}}</span> <span ng-if="!point.weekSchedule[2].opened" class="store-closed">Closed</span> </div> <div ng-if="point.weekSchedule.length > 3"> <span>Wednesday:</span> <span ng-if="point.weekSchedule[3].opened" class="store-opened">{{point.weekSchedule[3].initHour}} - {{point.weekSchedule[3].endHour}}</span> <span ng-if="!point.weekSchedule[3].opened" class="store-closed">Closed</span> </div> <div ng-if="point.weekSchedule.length > 4"> <span>Thursday:</span> <span ng-if="point.weekSchedule[4].opened" class="store-opened">{{point.weekSchedule[4].initHour}} - {{point.weekSchedule[4].endHour}}</span> <span ng-if="!point.weekSchedule[4].opened" class="store-closed">Closed</span> </div> <div ng-if="point.weekSchedule.length > 5"> <span>Friday:</span> <span ng-if="point.weekSchedule[5].opened" class="store-opened">{{point.weekSchedule[5].initHour}} - {{point.weekSchedule[5].endHour}}</span> <span ng-if="!point.weekSchedule[5].opened" class="store-closed">Closed</span> </div> <div ng-if="point.weekSchedule.length > 6"> <span>Saturday:</span> <span ng-if="point.weekSchedule[6].opened" class="store-opened">{{point.weekSchedule[6].initHour}} - {{point.weekSchedule[6].endHour}}</span> <span ng-if="!point.weekSchedule[6].opened" class="store-closed">Closed</span> </div> <div ng-if="point.weekSchedule.length > 0"> <span>Sunday:</span> <span ng-if="point.weekSchedule[0].opened" class="store-opened">{{point.weekSchedule[0].initHour}} - {{point.weekSchedule[0].endHour}}</span> <span ng-if="!point.weekSchedule[0].opened" class="store-closed">Closed</span> </div> </div> </div> <div> <a class="map-link tel visible-xs" ng-if="point.phones.length > 0 && stockFinderCtrl.showOnly" ng-href="tel:{{point.phones[0]}}">Call </a> </div> </div> </li> </ul> </div> </md-content></script><script id="drop-store-box.tpl" type="text/ng-template"><ul class="tiendas" id="store-box"> <li id="store_{{point.id}}" ng-repeat="point in ItxDropStoreBoxCtrl.points" class="store" ng-class="{ 'on': point.selected }"> <a ng-click="ItxDropStoreBoxCtrl.trackAndFocusMarkStore($event, $index, point)" class="drop-store" ng-class="{ 'drop-store-clicked': point.selected }" itemprop="name"> <span class="col-xs-7 name">{{point.name}}</span> <span class="col-xs-5 point-distance no-padding" ng-if="point.distance"> <img ng-if="ItxDropStoreBoxCtrl.type === 'hybrid' && point.type === 'droppoint'" src="/static/itxwebstandard/images/droppoint-list.svg?t=2019041110311151db1176774530" /> <img ng-if="ItxDropStoreBoxCtrl.type === 'hybrid' && point.type === 'store'" src="/static/itxwebstandard/images/physicalStore-list.svg?t=2019041110311151db1176774530" /> ({{point.distance}}) </span> </a> <p ng-if="ItxDropStoreBoxCtrl.type === 'store' && (point.isBlocked || !point.isPickupAllowed) && $root.inditex.iStoreJSON.isOpenForSale" class="pickup-disabled-store"> {{ ::("ItxOrderShippingPage.store.locator.store.disabled" | property) }} </p> <div class="details" ng-if="ItxDropStoreBoxCtrl.type === 'droppoint' || point.type === 'droppoint'"> <div ng-if="point.providerName" class="droppoint-provider"> <span ng-bind-html="point.providerName"></span> </div> <div ng-if="point.name !== point.street" class="droppoint-stret"> <!-- en algunos dps el name y el street coinciden, asi que mostrarlo dos veces es un poco raro --> <span ng-bind-html="point.street"></span> </div> <div class="droppoint-city"> <span>{{ point.zipCode }} {{ point.city }}</span> </div> <div ng-if="point.telephone.length > 0" class="droppoint-phone"> <span ng-bind-html="point.telephone"></span> </div> <div ng-if="point.networkTypeDesc && point.networkTypeDesc.toLowerCase() === 'citypaq'"> <span ng-bind-html="point.networkTypeDesc"></span> </div> <div ng-if="point.hoursAvailable" class="link-timetable"> <a ng-click="ItxDropStoreBoxCtrl.togglePointTimeTable(point)"> <span class="icon icon-plus" data-ng-class="{'icon-minus': point.timeTableVisible == true}"></span> {{ ::("openingHours.title" | property) }} </a> </div> <!-- Horarios point semana --> <div ng-if="point.timeTableVisible && point.hoursAvailable" class="droppoint-opening-hours"> <div ng-if="point.openingHours.mondayTime.length > 0"> <span>{{ ::("date.monday" | property) }}:</span> <span ng-bind-html="point.openingHours.mondayTime"></span> </div> <div ng-if="point.openingHours.tuesdayTime.length > 0"> <span>{{ ::("date.tuesday" | property) }}:</span> <span ng-bind-html="point.openingHours.tuesdayTime"></span> </div> <div ng-if="point.openingHours.wednesdayTime.length > 0"> <span>{{ ::("date.wednesday" | property) }}:</span> <span ng-bind-html="point.openingHours.wednesdayTime"></span> </div> <div ng-if="point.openingHours.thursdayTime.length > 0"> <span>{{ ::("date.thursday" | property) }}:</span> <span ng-bind-html="point.openingHours.thursdayTime"></span> </div> <div ng-if="point.openingHours.fridayTime.length > 0"> <span>{{ ::("date.friday" | property) }}:</span> <span ng-bind-html="point.openingHours.fridayTime"></span> </div> <div ng-if="point.openingHours.saturdayTime.length > 0"> <span>{{ ::("date.saturday" | property) }}:</span> <span ng-bind-html="point.openingHours.saturdayTime"></span> </div> <div ng-if="point.openingHours.sundayTime.length > 0"> <span>{{ ::("date.sunday" | property) }}:</span> <span ng-bind-html="point.openingHours.sundayTime"></span> </div> <div ng-if="point.openingHours && point.openingHours.openHoliday"> <ul> <li ng-repeat="holiday in point.openingHours.openHoliday"> *<span>{{holiday.days[0] | date: $root.inditex.iXDateFormats[$root.inditex.iCountryCode]}}</span> {{holiday.timeStripList[0].initHour}} - {{holiday.timeStripList[0].endHour}} </li> </ul> </div> </div> </div> <div class="details" ng-if="ItxDropStoreBoxCtrl.type === 'store' || point.type === 'store'"> <address itemprop="address" itemscope itemtype="http://schema.org/PostalAddress"> <p ng-repeat="addressLine in point.addressLines">{{addressLine}}</p> <p> <span itemprop="postalCode">{{point.zipCode}}</span>. <span itemprop="addressLocality">{{point.city}}</span>. <span itemprop="addressLocality">{{point.state}}</span> </p> <p class="sr-only"><span itemprop="addressCountry">{{inditex.iStoreJSON.countryName}}</span></p> </address> <p class="tel" ng-repeat="phone in point.phones"> <span itemprop="telephone" content="{{phone}}">{{phone}}</span> </p> <p> <a class="link-timetable" ng-if="point.hasTimetable && point.weekSchedule && point.weekSchedule.length > 0" ng-click="ItxDropStoreBoxCtrl.togglePointTimeTable(point)"> <span class="icon icon-plus" data-ng-class="{'icon-minus': point.timeTableVisible == true}"></span> {{ ::("openingHours.title" | property) }} </a> </p> <div ng-if="point.timeTableVisible" class="store-timetable"> <div ng-if="point.weekSchedule.length > 1"> <span>{{ ::("date.monday" | property) }}</span> <span ng-if="point.weekSchedule[1].opened" class="store-opened">{{point.weekSchedule[1].initHour}} - {{point.weekSchedule[1].endHour}}</span> <span ng-if="!point.weekSchedule[1].opened" class="store-closed"> {{ ::("openingHours.closed" | property) }}</span> </div> <div ng-if="point.weekSchedule.length > 2"> <span>{{ ::("date.tuesday" | property) }}</span> <span ng-if="point.weekSchedule[2].opened" class="store-opened">{{point.weekSchedule[2].initHour}} - {{point.weekSchedule[2].endHour}}</span> <span ng-if="!point.weekSchedule[2].opened" class="store-closed">{{ ::("openingHours.closed" | property) }}</span> </div> <div ng-if="point.weekSchedule.length > 3"> <span>{{ ::("date.wednesday" | property) }}</span> <span ng-if="point.weekSchedule[3].opened" class="store-opened">{{point.weekSchedule[3].initHour}} - {{point.weekSchedule[3].endHour}}</span> <span ng-if="!point.weekSchedule[3].opened" class="store-closed">{{ ::("openingHours.closed" | property) }}</span> </div> <div ng-if="point.weekSchedule.length > 4"> <span>{{ ::("date.thursday" | property) }}</span> <span ng-if="point.weekSchedule[4].opened" class="store-opened">{{point.weekSchedule[4].initHour}} - {{point.weekSchedule[4].endHour}}</span> <span ng-if="!point.weekSchedule[4].opened" class="store-closed">{{ ::("openingHours.closed" | property) }}</span> </div> <div ng-if="point.weekSchedule.length > 5"> <span>{{ ::("date.friday" | property) }}</span> <span ng-if="point.weekSchedule[5].opened" class="store-opened">{{point.weekSchedule[5].initHour}} - {{point.weekSchedule[5].endHour}}</span> <span ng-if="!point.weekSchedule[5].opened" class="store-closed">{{ ::("openingHours.closed" | property) }}</span> </div> <div ng-if="point.weekSchedule.length > 6"> <span>{{ ::("date.saturday" | property) }} </span> <span ng-if="point.weekSchedule[6].opened" class="store-opened">{{point.weekSchedule[6].initHour}} - {{point.weekSchedule[6].endHour}}</span> <span ng-if="!point.weekSchedule[6].opened" class="store-closed">{{ ::("openingHours.closed" | property) }}</span> </div> <div ng-if="point.weekSchedule.length > 0"> <span>{{ ::("date.sunday" | property) }}</span> <span ng-if="point.weekSchedule[0].opened" class="store-opened">{{point.weekSchedule[0].initHour}} - {{point.weekSchedule[0].endHour}}</span> <span ng-if="!point.weekSchedule[0].opened" class="store-closed">{{ ::("openingHours.closed" | property) }}</span> </div> <div ng-if="point.openingHours && point.openingHours.openHoliday"> <ul> <li ng-repeat="holiday in point.openingHours.openHoliday"> *<span>{{holiday.days[0] | date: $root.inditex.iXDateFormats[$root.inditex.iCountryCode]}}</span> {{holiday.timeStripList[0].initHour}} - {{holiday.timeStripList[0].endHour}} </li> </ul> </div> </div> <div> <a class="map-link tel visible-xs" ng-if="point.phones.length > 0 && stockFinderCtrl.showOnly" ng-href="tel:{{point.phones[0]}}"> {{ ::(".btn.store.locator.call" | property) }} </a> </div> </div> <a ng-click="ItxDropStoreBoxCtrl.selectPointStore(point)" ng-class="point.id === ItxDropStoreBoxCtrl.initialMarker.id ? 'store-choose-btn on' : 'store-choose-btn'" ng-if="ItxDropStoreBoxCtrl.selectable && (ItxDropStoreBoxCtrl.type === 'droppoint' || (ItxDropStoreBoxCtrl.type === 'store' && !point.isBlocked && point.isPickupAllowed))"> <span> {{ ::("ItxOrderShippingPage.store.locator.send.here" | property) }} </span> </a> </li> </ul></script><script id="google-map-selector.tpl" type="text/ng-template"><md-content class="stock-finder-content" layout-padding> <!-- <a class="ico_close"><span class="sr-only">Cerrar Mapa</span></a> --> <!-- Contenedor de mapa --> <div id="selectionMapsContainer" class="col-xs-12 col-md-7"> </div> <!-- Bloque derecho --> <!-- //// SELECTOR DE TIENDAS \\\\ --> <div ng-if="!itxGoogleMapSelectorCtrl.showCityStores && !itxGoogleMapSelectorCtrl.showPhysicalStore" id="blk-tiendas-cercanas" class="col-xs-12 col-md-5" ng-cloak> <div> <h3 ng-if="itxGoogleMapSelectorCtrl.type === 'store'"> {{ ::("ItxMyAccountAddressBookPage.store.locator.reservable.header" | property) }} </h3> <p ng-if="itxGoogleMapSelectorCtrl.type === 'store'"> {{ ::("ItxMyAccountAddressBookPage.store.locator.no.reservable.header" | property) }} </p> <h3 ng-if="itxGoogleMapSelectorCtrl.type !== 'store'"> {{ ::("droppoint.locator.header" | property) }} </h3> <p ng-if="itxGoogleMapSelectorCtrl.type !== 'store'"> {{ ::("droppoint.locator.subtitle" | property) }} </p> <a class="select-market" ng-click="itxGoogleMapSelectorCtrl.toggleChangeMarket()" ng-if="itxGoogleMapSelectorCtrl.countrySelector"> <span ng-if="!itxGoogleMapSelectorCtrl.changeMarketVisible" class="icon icon-arrow_down"></span> <span ng-if="itxGoogleMapSelectorCtrl.changeMarketVisible" class="icon icon-arrow_up"></span> {{ ::("selectMarket" | property) }} </a> <div ng-if="itxGoogleMapSelectorCtrl.changeMarketVisible"> <md-input-container> <md-select name="country" md-ink-ripple="false" ng-model="itxGoogleMapSelectorCtrl.country" required> <md-option md-ink-ripple="false" ng-repeat="template in itxGoogleMapSelectorCtrl.countryList" ng-value="template"> {{template.countryName}} </md-option> </md-select> </md-input-container> </div> </div> <form class="stock-finder-content-form" method="post" novalidate> <md-content layout="column"> <md-input-container class="address-input-container"> <md-input> <input type="text" placeholder="Postcode, address or city" ng-change="itxGoogleMapSelectorCtrl.getPoints()" ng-model="itxGoogleMapSelectorCtrl.zipCode" ng-model-options="{ debounce: 500 }" required name="search"> </md-input> </md-input-container> </md-content> </form> <div ng-if="(!itxGoogleMapSelectorCtrl.points || itxGoogleMapSelectorCtrl.points.length === 0) && !itxGoogleMapSelectorCtrl.isFirstSearch"> <p>{{ ::("NO_RESULTS" | property) }}</p> </div> <div ng-if="itxGoogleMapSelectorCtrl.points && itxGoogleMapSelectorCtrl.points.length > 0"> <div ng-if="itxGoogleMapSelectorCtrl.showTabs"> <md-tabs class="drop-store-tabs" md-dynamic-height> <md-tab label="{{ ::('showAll' | property) }}"> <md-content class="md-padding"> <itx-drop-store-box type="itxGoogleMapSelectorCtrl.type" points="itxGoogleMapSelectorCtrl.hybridPoints" initial-marker="itxGoogleMapSelectorCtrl.initialMarker" select-point="itxGoogleMapSelectorCtrl.selectPoint(point)" track-and-focus-mark="itxGoogleMapSelectorCtrl.trackAndFocusMark(event, index, point)"> </itx-drop-store-box> </md-content> </md-tab> <md-tab label="{{ ::('moreinfo.shops' | property) }}"> <md-content class="md-padding"> <div ng-if="itxGoogleMapSelectorCtrl.storePoints.length === 0" class="no-results"> <p>{{ ::("NO_RESULTS" | property) }}</p> </div> <div ng-if="itxGoogleMapSelectorCtrl.storePoints.length > 0"> <itx-drop-store-box type="itxGoogleMapSelectorCtrl.type" points="itxGoogleMapSelectorCtrl.storePoints" initial-marker="itxGoogleMapSelectorCtrl.initialMarker" select-point="itxGoogleMapSelectorCtrl.selectPoint(point)" track-and-focus-mark="itxGoogleMapSelectorCtrl.trackAndFocusMarkFromFilteredList(event, index, point)"> </itx-drop-store-box> </div> </md-content> </md-tab> <md-tab label="{{ ::('droppoints' | property) }}"> <md-content class="md-padding"> <div ng-if="itxGoogleMapSelectorCtrl.droppoints.length === 0" class="no-results"> <p>{{ ::("NO_RESULTS" | property) }}</p> </div> <div ng-if="itxGoogleMapSelectorCtrl.droppoints.length > 0"> <itx-drop-store-box type="itxGoogleMapSelectorCtrl.type" points="itxGoogleMapSelectorCtrl.droppoints" initial-marker="itxGoogleMapSelectorCtrl.initialMarker" select-point="itxGoogleMapSelectorCtrl.selectPoint(point)" track-and-focus-mark="itxGoogleMapSelectorCtrl.trackAndFocusMarkFromFilteredList(event, index, point)"> </itx-drop-store-box> </div> </md-content> </md-tab> </md-tabs> </div> <div ng-if="!itxGoogleMapSelectorCtrl.showTabs"> <itx-drop-store-box type="itxGoogleMapSelectorCtrl.type" points="itxGoogleMapSelectorCtrl.points" initial-marker="itxGoogleMapSelectorCtrl.initialMarker" select-point="itxGoogleMapSelectorCtrl.selectPoint(point)" track-and-focus-mark="itxGoogleMapSelectorCtrl.trackAndFocusMark(event, index, point)"> </itx-drop-store-box> </div> </div> </div> <div id="city-stores-container" ng-if="itxGoogleMapSelectorCtrl.showCityStores" class="col-xs-12 col-md-5"> <div class="city-name row"> {{ ::("ItxMyAccountAddressBookPage.store.locator.reservable.header" | property) }} </div> <ul> <li class="city-store" ng-repeat="store in itxGoogleMapSelectorCtrl.cityStores" ng-class="{'expanded': store.showStoreInfo }"> <div class="store-title" ng-click="itxGoogleMapSelectorCtrl.toggleStoreInfo(store);"> <span class="icon" ng-class="{'icon-arrow_down': !store.showStoreInfo, 'icon-arrow_up': store.showStoreInfo}"></span> <span class="store-name">{{store.name}} </span> <span class="store-city"> {{store.city}}</span> </div> <div class="store-info" ng-class="{'hide': !store.showStoreInfo}"> <div class="phone" ng-if="store.phones && store.phones.length"> <span class="icon icon-phone"></span> <span class="phone underline" ng-repeat="phone in store.phones"> <a href="tel:{{phone}}">{{phone}}</a> </span> </div> <div class="schedule" ng-click="itxGoogleMapSelectorCtrl.goToPhysicalStorePage(store)"> <span class="icon icon-clock"></span> <span class="underline"><a>{{ ::("openingHours.title" | property) }}</a></span> </div> <div class="location"> <span class="icon icon-location"></span> <span class="address" ng-repeat="addressLine in store.addressLines"> {{addressLine}}</span> <span class="country">{{store.countryName}}</span> <span class="underline show-in-map" ng-click="itxGoogleMapSelectorCtrl.trackAndFocusMark($event, $index, store)"> <a>{{ ::("show.in.map" | property) }}</a></span> </div> </div> </li> </ul> </div> <div id="physical-store-container" ng-if="itxGoogleMapSelectorCtrl.showPhysicalStore" class="col-xs-12 col-md-5"> <div class="store-name row">{{itxGoogleMapSelectorCtrl.physicalStore.name}}</div> <div class="address section row" layout="row"> <div class="title col-xs-4"> <span class="icon icon-location"></span> <span> {{ ::("MA_ADDRESS" | property) }} </span> </div> <div class="content col-xs-8"> <div ng-repeat="addressLine in itxGoogleMapSelectorCtrl.physicalStore.addressLines"> {{addressLine}}</div> <div> {{itxGoogleMapSelectorCtrl.physicalStore.zipCode}} {{itxGoogleMapSelectorCtrl.physicalStore.city}}</div> <div>{{itxGoogleMapSelectorCtrl.physicalStore.countryName}}</div> </div> </div> <div class="phone section row" ng-if="itxGoogleMapSelectorCtrl.physicalStore.phones && itxGoogleMapSelectorCtrl.physicalStore.phones.length"> <div class="title col-xs-4"> <span class="icon icon-phone"></span> <span> {{ ::("FIELD.PHONE" | property) }} </span> </div> <div class="content col-xs-8"> <div ng-repeat="phone in itxGoogleMapSelectorCtrl.physicalStore.phones"> <a href="tel:{{phone}}">{{phone}}</a> </div> </div> </div> <div class="schedule section row" ng-if="itxGoogleMapSelectorCtrl.physicalStore.weekSchedule && itxGoogleMapSelectorCtrl.physicalStore.weekSchedule.length" > <div class="title col-xs-4"> <span class="icon icon-clock"></span> <span> {{ ::("droppoint.locator.horario" | property) }} </span> </div> <div class="content col-xs-8"> <div ng-if="itxGoogleMapSelectorCtrl.physicalStore.weekSchedule.length > 1"> <span>{{ ::("date.monday" | property) }}</span> <span ng-if="itxGoogleMapSelectorCtrl.physicalStore.weekSchedule[1].opened" class="store-opened">{{itxGoogleMapSelectorCtrl.physicalStore.weekSchedule[1].initHour}} - {{itxGoogleMapSelectorCtrl.physicalStore.weekSchedule[1].endHour}}</span> <span ng-if="!itxGoogleMapSelectorCtrl.physicalStore.weekSchedule[1].opened" class="store-closed">{{ ::("openingHours.closed" | property) }}</span> </div> <div ng-if="itxGoogleMapSelectorCtrl.physicalStore.weekSchedule.length > 2"> <span>{{ ::("date.tuesday" | property) }}</span> <span ng-if="itxGoogleMapSelectorCtrl.physicalStore.weekSchedule[2].opened" class="store-opened">{{itxGoogleMapSelectorCtrl.physicalStore.weekSchedule[2].initHour}} - {{itxGoogleMapSelectorCtrl.physicalStore.weekSchedule[2].endHour}}</span> <span ng-if="!itxGoogleMapSelectorCtrl.physicalStore.weekSchedule[2].opened" class="store-closed">{{ ::("openingHours.closed" | property) }}</span> </div> <div ng-if="itxGoogleMapSelectorCtrl.physicalStore.weekSchedule.length > 3"> <span>{{ ::("date.wednesday" | property) }}</span> <span ng-if="itxGoogleMapSelectorCtrl.physicalStore.weekSchedule[3].opened" class="store-opened">{{itxGoogleMapSelectorCtrl.physicalStore.weekSchedule[3].initHour}} - {{itxGoogleMapSelectorCtrl.physicalStore.weekSchedule[3].endHour}}</span> <span ng-if="!itxGoogleMapSelectorCtrl.physicalStore.weekSchedule[3].opened" class="store-closed">{{ ::("openingHours.closed" | property) }}</span> </div> <div ng-if="itxGoogleMapSelectorCtrl.physicalStore.weekSchedule.length > 4"> <span>{{ ::("date.thursday" | property) }}</span> <span ng-if="itxGoogleMapSelectorCtrl.physicalStore.weekSchedule[4].opened" class="store-opened">{{itxGoogleMapSelectorCtrl.physicalStore.weekSchedule[4].initHour}} - {{itxGoogleMapSelectorCtrl.physicalStore.weekSchedule[4].endHour}}</span> <span ng-if="!itxGoogleMapSelectorCtrl.physicalStore.weekSchedule[4].opened" class="store-closed">{{ ::("openingHours.closed" | property) }}</span> </div> <div ng-if="itxGoogleMapSelectorCtrl.physicalStore.weekSchedule.length > 5"> <span>{{ ::("date.friday" | property) }}</span> <span ng-if="itxGoogleMapSelectorCtrl.physicalStore.weekSchedule[5].opened" class="store-opened">{{itxGoogleMapSelectorCtrl.physicalStore.weekSchedule[5].initHour}} - {{itxGoogleMapSelectorCtrl.physicalStore.weekSchedule[5].endHour}}</span> <span ng-if="!itxGoogleMapSelectorCtrl.physicalStore.weekSchedule[5].opened" class="store-closed">{{ ::("openingHours.closed" | property) }}</span> </div> <div ng-if="itxGoogleMapSelectorCtrl.physicalStore.weekSchedule.length > 6"> <span>{{ ::("date.saturday" | property) }}</span> <span ng-if="itxGoogleMapSelectorCtrl.physicalStore.weekSchedule[6].opened" class="store-opened">{{itxGoogleMapSelectorCtrl.physicalStore.weekSchedule[6].initHour}} - {{itxGoogleMapSelectorCtrl.physicalStore.weekSchedule[6].endHour}}</span> <span ng-if="!itxGoogleMapSelectorCtrl.physicalStore.weekSchedule[6].opened" class="store-closed">{{ ::("openingHours.closed" | property) }}</span> </div> <div ng-if="itxGoogleMapSelectorCtrl.physicalStore.weekSchedule.length > 0"> <span>{{ ::("date.sunday" | property) }}</span> <span ng-if="itxGoogleMapSelectorCtrl.physicalStore.weekSchedule[0].opened" class="store-opened">{{itxGoogleMapSelectorCtrl.physicalStore.weekSchedule[0].initHour}} - {{itxGoogleMapSelectorCtrl.physicalStore.weekSchedule[0].endHour}}</span> <span ng-if="!itxGoogleMapSelectorCtrl.physicalStore.weekSchedule[0].opened" class="store-closed">{{ ::("openingHours.closed" | property) }}</span> </div> </div> </div> </div> </md-content></script><script id="map-dialog.tpl" type="text/ng-template"><md-dialog class="droppoint-selection-modal" flex-gt-xs="80"> <md-toolbar> <div class="droppoin-selection-modal-toolbar" layout="row" layout-align="end center"> <div layout-margin> <md-icon class="icon-10 close-dialog" md-svg-src="/static/itxwebstandard/images/ic_cerrar.svg?t=2019041110311151db1176774530" ng-click="dialogCtrl.hide()" aria-label="Close dialog"> </md-icon> </div> </div> </md-toolbar> <md-dialog-content class="droppoint-selection-modal-dialog-content"> <itx-google-map-selector ng-if="!dialogCtrl.parameters.isChina" initial-marker="dialogCtrl.parameters.initialMarker" zip-code="dialogCtrl.parameters.zipcode" type="dialogCtrl.parameters.mapType"> </itx-google-map-selector> <itx-baidu-map-selector ng-if="dialogCtrl.parameters.isChina && $root.inditex.iBaiduMapsKey" initial-marker="dialogCtrl.parameters.initialMarker" zip-code="dialogCtrl.parameters.zipcode" type="dialogCtrl.parameters.mapType"> </itx-baidu-map-selector> </md-dialog-content> </md-dialog></script><script id="menu-horizontal.tpl" type="text/ng-template"><div class="menu-container" itx-click-outside="itxMenuCmpCtrl.hideAllSubMenu()" ng-if="$root.showMenu && !$root.activeMobileMenu"> <div class="menu-categories-container" ng-class="{ 'menu-mobile': $root.activeMobileMenu}"> <!-- NIVEL 1 --> <ul> <li id="cat{{::c1.id}}" class="menu-category n1 item{{ c1.subcategories.length}}" ng-style="::{ 'background-color' : c1.colorBox }" ng-class="{ 'selected' : c1.active}" ng-repeat="c1 in ::itxMenuCmpCtrl.filteredCategories"> <a ng-mouseenter="itxMenuCmpCtrl.showSubMenu(c1, $event)" ng-style="::{ 'color' : c1.color }" href="{{::c1.stateHref}}" ng-click="itxMenuCmpCtrl.categoryAction(c1, $event)">{{::c1.name}}<span ng-style="::{ 'background' : c1.color }"></span></a> <span class="menu-label" ng-if="::c1.isCollection">COLLECTION</span> <span class="menu-label" ng-if="::(c1.isNew && !c1.isNovedades)">NEW</span> <span ng-if="c1.show" ng-click="itxMenuCmpCtrl.hideAllSubMenu()" class="backdrop"></span> <!-- NIVEL 2 --> <div class="submenu-container" ng-if="c1.show && c1.subcategories.length > 0" itx-center-submenu ng-class="{'fullHeight':itxMenuCmpCtrl.childrenActive(c1.subcategories) && c1.show}"> <div> <ul class="category-container l2" ng-repeat="column in itxMenuCmpCtrl.menuColumsSetUp(c1.subcategories)"> <li id="cat{{::c2.id}}" class="menu-category n2" ng-style="::{ 'background-color' : c2.colorBox }" ng-class="{'selected': c2.selected}" ng-repeat="c2 in ::c1.subcategories | limitTo:column | limitTo: itxMenuCmpCtrl.numItems($last, c1.subcategories)"> <a ng-style="::{ 'color' : c2.color }" href="{{::c2.stateHref}}" itx-tool-tip="{{::c2.name}}" itx-tool-tip-show ng-click="itxMenuCmpCtrl.categoryAction(c2, $event, c1.subcategories)">{{::c2.name}}<span ng-style="::{ 'background' : c1.color }"></span></a> <span class="menu-label" ng-if="::c2.isCollection">COLLECTION</span> <span class="menu-label" ng-if="::(c2.isNew && !c2.isNovedades)">NEW</span> <!-- NIVEL 3 --> <div ng-if="::c2.subcategories.length > 0" ng-show="c2.active || c2.alwaysActive"> <ul class="category-container l3"> <li id="cat{{::c3.id}}" ng-if="::!c3.noweb" class="menu-category n3" ng-styDle="::{ 'background-color' : c3.colorBox }" ng-class="{'selected': c3.selected}" ng-repeat="c3 in ::c2.subcategories"> <a class="cat-list" ng-bind-html="::c3.name" ng-style="::{ 'color' : c3.color }" href="{{::c3.stateHref}}" itx-tool-tip="{{::c3.name}}" itx-tool-tip-show ng-click="itxMenuCmpCtrl.categoryAction(c3, $event)"> </a> <span class="menu-label" ng-if="::c3.isCollection">COLLECTION</span> <span class="menu-label" ng-if="::(c3.isNew && !c3.isNovedades)">NEW</span> <!-- NIVEL 4 --> <div ng-if="::c3.subcategories.length > 0" ng-show="c3.active || c4.selected || c4.alwaysActive"> <ul class="category-container l4"> <li id="cat{{::c4.id}}" ng-if="::!c4.noweb" class="menu-category n4" ng-style="::{ 'background-color' : c4.colorBox }" ng-class="{'selected': c4.selected}" ng-repeat="c4 in ::c3.subcategories"> <a ng-bind-html="::c4.name" ng-style="::{ 'color' : c4.color }" href="{{::c4.stateHref}}" itx-tool-tip="{{::c4.name}}" itx-tool-tip-show ng-click="itxMenuCmpCtrl.categoryAction(c4, $event)"></a> <span class="menu-label" ng-if="::c4.isCollection">COLLECTION</span> <span class="menu-label" ng-if="::(c4.isNew && !c4.isNovedades)">NEW</span> </li> </ul> </div> </li> </ul> </div> </li> </ul> <itx-spot type="Menu_Info"></itx-spot> </div> </div> </li> </ul> </div> </div></script><script id="menu.tpl" type="text/ng-template"><div class="menu-container" itx-fixed-scroller itx-scroller-enabled="{{itxMenuCmpCtrl.enableScroller}}" ng-class="{ 'menu-mobile': $root.activeMobileMenu || $root.showHamburguerMenu}"> <div class="menu-categories-container" ng-if="!$root.accountMenuVisible || $root.showCategoriesMenu || !$root.activeMobileMenu" itx-click-outside="itxMenuCmpCtrl.onClickOut()" outside-if-not="mobileOpen, mobileClose, mainRebajasHome, appLike-link"> <!-- NIVEL 1 --> <ul> <li id="cat{{::c1.id}}" class="menu-category n1" ng-if="::(!c1.noweb)" ng-style="::{ 'background-color' : c1.colorBox }" ng-class="{ 'on' : c1.active, 'emptyCat' : c1.name.toLowerCase() === 'empty', 'giftcard-cat' : c1.giftCardUrl.length > 0, 'set3d-cat' : c1.set3dUrl.length > 0 }" ng-repeat="c1 in ::itxMenuCmpCtrl.categories"> <div ng-if="::(c1.name.toLowerCase() !== 'empty')"> <a ng-bind-html="::c1.name" ng-style="::{ 'color' : c1.color }" href="{{::c1.stateHref}}" ng-click="itxMenuCmpCtrl.categoryAction(c1, $event)"></a> <span class="menu-label" ng-if="::c1.isCollection"> {{ ::("ItxPropertyGeneral.category.collection" | property) }} </span> <span class="menu-label" ng-if="::(c1.isNew && !c1.isNovedades)"> {{ ::("ItxPropertyGeneral.category.new" | property) }} </span> <!-- NIVEL 2 --> <ul class="category-container" ng-if="c1.active"> <li id="cat{{::c2.id}}" ng-if="::(!c2.noweb)" class="menu-category n2" ng-style="::{ 'background-color' : c2.colorBox }" ng-class="{ 'on' : c1.active, 'selected': c2.selected, 'no-act' : !c1.alwaysActive, 'act' : c1.alwaysActive, 'emptyCat' : c2.name.toLowerCase() === 'empty', 'giftcard-subcat' : c2.giftCardUrl.length > 0 }" ng-repeat="c2 in ::c1.subcategories"> <div ng-if="::(c2.name.toLowerCase() !== 'empty')"> <a ng-bind-html="::c2.name" ng-style="::{ 'color' : c2.color }" href="{{::c2.stateHref}}" ng-click="itxMenuCmpCtrl.categoryAction(c2, $event)"></a> <span class="menu-label" ng-if="::c2.isCollection"> {{ ::("ItxPropertyGeneral.category.collection" | property) }} </span> <span class="menu-label" ng-if="::(c2.isNew && !c2.isNovedades)"> {{ ::("ItxPropertyGeneral.category.new" | property) }} </span> <!-- NIVEL 3 --> <ul class="category-container" ng-if="c2.active"> <li id="cat{{::c3.id}}" ng-if="::(!c3.noweb)" class="menu-category n3" ng-style="::{ 'background-color' : c3.colorBox }" ng-class="{ 'on' : c2.active, 'selected': c3.selected, 'no-act' : !c2.alwaysActive, 'act' : c2.alwaysActive, 'emptyCat': c3.name.toLowerCase() === 'empty' }" ng-repeat="c3 in ::c2.subcategories"> <div ng-if="::(c3.name.toLowerCase() !== 'empty')"> <a class="cat-list" ng-bind-html="::c3.name" ng-style="::{ 'color' : c3.color }" href="{{::c3.stateHref}}" ng-click="itxMenuCmpCtrl.categoryAction(c3, $event)"> </a> <span class="menu-label" ng-if="::c3.isCollection"> {{ ::("ItxPropertyGeneral.category.collection" | property) }} </span> <span class="menu-label" ng-if="::(c3.isNew && !c3.isNovedades)"> {{ ::("ItxPropertyGeneral.category.new" | property) }} </span> <ul class="category-container" ng-if="c3.active"> <li id="cat{{::c4.id}}" ng-if="::!c4.noweb" class="menu-category n4" ng-style="::{ 'background-color' : c4.colorBox }" ng-class="{ 'on' : c3.active, 'selected': c4.selected, 'no-act' : !c3.alwaysActive, 'act' : c3.alwaysActive, 'emptyCat' : c4.name.toLowerCase() === 'empty' }" ng-repeat="c4 in ::c3.subcategories"> <div ng-if="::(c4.name.toLowerCase() !== 'empty')"> <a ng-bind-html="::c4.name" ng-style="::{ 'color' : c4.color }" href="{{::c4.stateHref}}" ng-click="itxMenuCmpCtrl.categoryAction(c4, $event)"></a> <span class="menu-label" ng-if="::c4.isCollection"> {{ ::("ItxPropertyGeneral.category.collection" | property) }} </span> <span class="menu-label" ng-if="::(c4.isNew && !c4.isNovedades)"> {{ ::("ItxPropertyGeneral.category.new" | property) }} </span> </div> </li> </ul> </div> </li> </ul> </div> </li> </ul> </div> </li> </ul> <itx-spot type="Menu_Info"></itx-spot> </div> <div ng-show="$root.accountMenuVisible && $root.activeMobileMenu && !$root.showCategoriesMenu" itx-click-outside="itxMenuCmpCtrl.onClickOut()" outside-if-not="mobileOpen, mobileClose, mainRebajasHome, appLike-link" class="menu-account-container"> <div class="more-menu"><a ng-click="itxMenuCmpCtrl.hideAccountMenu()">+ MENU</a> </div> <itx-account-menu on-section-clicked="itxMenuCmpCtrl.onNavigate()"></itx-account-menu> </div> </div></script><script id="add-wishlist-to-cart-modal.tpl" type="text/ng-template"><md-dialog layout-padding flex="40"> <md-toolbar> <div layout="row" layout-align="end center"> <div> <md-icon class="icon-10 close-dialog" md-svg-src="/static/itxwebstandard/images/ic_cerrar.svg?t=2019041110311151db1176774530" ng-click="dialogCtrl.hide()" aria-label="Close dialog"> </md-icon> </div> </div> </md-toolbar> <md-dialog-content> <md-content> <h2> {{ ::("wishlist.add_to_cart_behaviour" | property) }} </h2> <div class="row text-center"> <itx-button ng-click="dialogCtrl.keepWishlist()" class="add-to-cart-wishlist-button"> {{ ::("wishlist.keep_items" | property) }} </itx-button> </div> <div class="row text-center add-to-cart-wishlist-button"> <itx-button ng-click="dialogCtrl.clearWishlist()" class="add-to-cart-wishlist-button"> {{ ::("wishlist.remove_items" | property) }} </itx-button> </div> <div class="row text-center add-to-cart-wishlist-button"> <itx-button ng-click="dialogCtrl.deleteWishlist()" class="itx-button-red add-to-cart-wishlist-button"> {{ ::("wishlist.remove_wishlist" | property) }} </itx-button> </div> </md-content> </md-dialog-content> </md-dialog></script><script id="address-suggestion.tpl" type="text/ng-template"><md-dialog layout-padding> <md-toolbar> <div layout="row" layout-align="end center"> <div> <md-icon class="icon-10 close-dialog" md-svg-src="/static/itxwebstandard/images/ic_cerrar.svg?t=2019041110311151db1176774530" ng-click="dialogCtrl.cancel()" aria-label="Close dialog"> </md-icon> </div> </div> </md-toolbar> <md-dialog-content class="suggestion-modal"> <md-content> <h2 class="title">Confirm the address</h2> <div class="contenido"> <p class="message">We have found suggestions for the addresses entered. Our recommendations are highlighted in red below. Choose or edit the version of the address you wish to use.</p> <h3 ng-if="::((dialogCtrl.billing && dialogCtrl.shipping && dialogCtrl.billing.show) || dialogCtrl.shippingMethod == 'droppoint' || dialogCtrl.shippingMethod == 'pickup')">Billing address</h3> <h3 ng-if="::(dialogCtrl.billing && !dialogCtrl.shipping && dialogCtrl.billing.show && dialogCtrl.shippingMethod != 'droppoint' && dialogCtrl.shippingMethod != 'pickup')">Delivery address</h3> <ul class="address-promt" ng-if="::(dialogCtrl.billing && dialogCtrl.billing.show)" ng-init="dialogCtrl.billing.selected = dialogCtrl.billing.suggested"> <li class="original-address" ng-click="dialogCtrl.billing.selected = undefined" ng-class="{'active' : dialogCtrl.billing.selected === undefined}"> <span class="check"></span> <div> <p class="addressType">Original address</p> <p> <span ng-bind="::(dialogCtrl.billing.original.addressLines[0] + ' ' + dialogCtrl.billing.original.addressLines[1]+', ')"></span> <span ng-if="::(dialogCtrl.billing.original.addressLines[2])" ng-bind="::(dialogCtrl.billing.original.addressLines[2]+', ')"></span> <span ng-if="::(dialogCtrl.billing.original.city)" ng-bind="::(dialogCtrl.billing.original.city+', ')"></span> <span ng-if="::(dialogCtrl.billing.original.zipCode)" ng-bind="::(dialogCtrl.billing.original.zipCode)"></span> </p> </div> <a ng-if="dialogCtrl.billing.selected === undefined" ng-click="dialogCtrl.resolve({billing : dialogCtrl.billing, edit : false})">Edit this address</a> </li> <li class="suggested-address" ng-class="{'active' : dialogCtrl.billing.selected !== undefined}" ng-click="dialogCtrl.billing.selected = dialogCtrl.billing.suggested"> <span class="check"></span> <div> <p class="addressType">Suggested address</p> <p> <!-- address --> <span ng-class="{'diff' : dialogCtrl.billing.diff.streetName}" ng-bind="::(dialogCtrl.billing.suggested.streetName + ' ' + dialogCtrl.billing.suggested.streetNumber)"></span>, <!-- address --> <span ng-if="::dialogCtrl.billing.original.addressLines[2]" ng-bind="::(dialogCtrl.billing.original.addressLines[2]+', ')"></span> <!-- city --> <span ng-if="::dialogCtrl.billing.suggested.city" ng-class="{'diff' : dialogCtrl.billing.diff.city}" ng-bind="::dialogCtrl.billing.suggested.city"></span> <span ng-if="::!dialogCtrl.billing.suggested.city" ng-bind="::dialogCtrl.billing.original.city"></span>, <!-- city --> <!-- zipcode --> <span ng-if="::dialogCtrl.billing.suggested.zipCode" ng-class="{'diff' : dialogCtrl.billing.diff.zipCode}" ng-bind="::dialogCtrl.billing.suggested.zipCode"></span> <span ng-if="::!dialogCtrl.billing.suggested.zipCode" ng-bind="::dialogCtrl.billing.original.zipCode"></span> <!-- zipcode --> </p> </div> <a ng-if="dialogCtrl.billing.selected !== undefined" ng-click="dialogCtrl.resolve({billing : dialogCtrl.billing, edit: true})">Edit this address</a> </li> </ul> <h3 ng-if="::(dialogCtrl.shipping && dialogCtrl.shipping.show)">Delivery address</h3> <ul class="address-promt" ng-if="::(dialogCtrl.shipping && dialogCtrl.shipping.show)" ng-init="dialogCtrl.shipping.selected = dialogCtrl.shipping.suggested"> <li class="original-address" ng-click="dialogCtrl.shipping.selected = undefined" ng-class="{'active' : dialogCtrl.shipping.selected === undefined}"> <span class="check"></span> <div> <p class="addressType">Original address</p> <p> <span ng-bind="::(dialogCtrl.shipping.original.addressLines[0] +' '+ dialogCtrl.shipping.original.addressLines[1]+', ')"></span> <span ng-if="::dialogCtrl.shipping.original.addressLines[2]" ng-bind="::(dialogCtrl.shipping.original.addressLines[2]+', ')"></span> <span ng-if="::dialogCtrl.shipping.original.city" ng-bind="::(dialogCtrl.shipping.original.city+', ')"></span> <span ng-if="::dialogCtrl.shipping.original.zipCode" ng-bind="::dialogCtrl.shipping.original.zipCode"></span> </p> </div> <a ng-if="dialogCtrl.shipping.selected === undefined" ng-click="dialogCtrl.resolve({shipping : dialogCtrl.shipping, edit : false})">Edit this address</a> </li> <li class="suggested-address" ng-class="{'active' : dialogCtrl.shipping.selected !== undefined}" ng-click="dialogCtrl.shipping.selected = dialogCtrl.shipping.suggested"> <span class="check"></span> <div> <p class="addressType">Suggested address</p> <p> <!-- address --> <span ng-class="{'diff' : dialogCtrl.shipping.diff.streetName}" ng-bind="::(dialogCtrl.shipping.suggested.streetName + ' ' + dialogCtrl.shipping.suggested.streetNumber)"></span>, <!-- address --> <span ng-if="::dialogCtrl.shipping.original.addressLines[2]" ng-bind="::(dialogCtrl.shipping.original.addressLines[2]+', ')"></span> <!-- city --> <span ng-if="::dialogCtrl.shipping.suggested.city" ng-class="{'diff' : dialogCtrl.shipping.diff.city}" ng-bind="::dialogCtrl.shipping.suggested.city"></span> <span ng-if="::!dialogCtrl.shipping.suggested.city" ng-bind="::dialogCtrl.shipping.original.city"></span>, <!-- city --> <!-- zipcode --> <span ng-if="::dialogCtrl.shipping.suggested.zipCode" ng-class="{'diff' : dialogCtrl.shipping.diff.zipCode}" ng-bind="::dialogCtrl.shipping.suggested.zipCode"></span> <span ng-if="::!dialogCtrl.shipping.suggested.zipCode" ng-bind="::dialogCtrl.shipping.original.zipCode"></span> <!-- zipcode --> </p> </div> <a ng-if="dialogCtrl.shipping.selected !== undefined" ng-click="dialogCtrl.resolve({shipping : dialogCtrl.shipping, edit: true})">Edit this address</a> </li> </ul> <div class="m-t-20 text-center"> <itx-button ng-click="dialogCtrl.resolve({billing : dialogCtrl.billing, shipping: dialogCtrl.shipping, change : true})"> <span>Save address</span> </itx-button> </div> </div> </md-content> </md-dialog-content> </md-dialog> </div></script><script id="bundle-detail-modal.tpl" type="text/ng-template"><md-dialog layout-padding flex="80"> <md-toolbar> <div layout="row" layout-align="end center"> <div> <md-icon class="icon-10 close-dialog" md-svg-src="/static/itxwebstandard/images/ic_cerrar.svg?t=2019041110311151db1176774530" ng-click="dialogCtrl.hide()" aria-label="Close dialog"> </md-icon> </div> </div> </md-toolbar> <md-dialog-content> <md-content> <div class="contenido"> <itx-bundle-detail-modal class="modal-bundle-container" product-id="::dialogCtrl.productId" is-lookbook="dialogCtrl.isLookbook" ng-class="dialogCtrl.className"> </itx-bundle-detail-modal> </div> </md-content> </md-dialog-content> </md-dialog></script><script id="buy-products-modal.tpl" type="text/ng-template"><md-dialog layout-padding flex="60" class="buy-products-modal"> <md-toolbar> <div layout="row" layout-align="end center"> <div> <md-icon class="icon-10 close-dialog" md-svg-src="/static/itxwebstandard/images/ic_cerrar.svg?t=2019041110311151db1176774530" ng-click="dialogCtrl.hide()" aria-label="Close dialog"> </md-icon> </div> </div> </md-toolbar> <md-dialog-content> <itx-loader class="dialog-loader" show="dialogCtrl.itxBuyProductsModalCtrl.loading"></itx-loader> <md-content> <h2> Review the items in this set </h2> <div class="contenido"> <div ng-repeat="product in dialogCtrl.itxBuyProductsModalCtrl.selectedProducts track by $index" class="shopcart-related-item row" ng-if="product"> <itx-shopcart-item product="product" is-selectable="true" show-sizes-error="dialogCtrl.itxBuyProductsModalCtrl.showFormError" on-select-product="dialogCtrl.itxBuyProductsModalCtrl.addProduct(product, selected)" related-index="$index"> </itx-shopcart-item> </div> </div> <div class="btn-container"> <span ng-if="dialogCtrl.itxBuyProductsModalCtrl.showFormError" class="error">You must choose a size for all the selected items</span> <itx-button ng-click="dialogCtrl.itxBuyProductsModalCtrl.addToCart()"> <span>ADD TO BASKET</span> <span ng-if="dialogCtrl.itxBuyProductsModalCtrl.totalPrice" ng-bind-html="dialogCtrl.itxBuyProductsModalCtrl.totalPrice"></span> </itx-button> </div> </md-content> </md-dialog-content> </md-dialog></script><script id="buyset-modal.tpl" type="text/ng-template"><md-dialog layout-padding flex="60" class="buyset-modal"> <md-toolbar> <div layout="row" layout-align="end center"> <div> <md-icon class="icon-10 close-dialog" md-svg-src="/static/itxwebstandard/images/ic_cerrar.svg?t=2019041110311151db1176774530" ng-click="dialogCtrl.hide()" aria-label="Close"> </md-icon> </div> </div> </md-toolbar> <md-toolbar> <div layout="row" layout-align="end center"> <div> <md-icon class="icon-10 close-dialog" md-svg-src="/static/itxwebstandard/images/ic_cerrar.svg?t=2019041110311151db1176774530" ng-click="dialogCtrl.hide()" aria-label="Close"></md-icon> </div> </div> </md-toolbar> <md-dialog-content> <md-content> <h2> <span ng-if="!dialogCtrl.productCtrl.confirmationStep"> {{ ::("bundle.buy.set.question" | property) }} </span> <span ng-if="dialogCtrl.productCtrl.confirmationStep"> {{ ::("bundle.buy.set.confirmation" | property) }} </span> </h2> <div class="contenido"> <div ng-if="!dialogCtrl.productCtrl.confirmationStep" class="buy-set-quantity"> <itx-product-quantity-selector is-required="true" initial-units="dialogCtrl.productCtrl.buySetQuantity" on-quantity-change="dialogCtrl.productCtrl.quantityChange(units)"> </itx-product-quantity-selector> </div> <!-- product list to add --> <div class="buyset-items"> <itx-buy-set-item ng-repeat="product in dialogCtrl.productCtrl.componentsInSet" product="product" selectionable="!dialogCtrl.productCtrl.confirmationStep" qty="dialogCtrl.productCtrl.buySetQuantity" on-select="dialogCtrl.productCtrl.selectProduct(product)"> </itx-buy-set-item> </div> <div ng-if="dialogCtrl.productCtrl.numBoxes > 0 && dialogCtrl.productCtrl.showBox" class="modal-box-container" ng-class="{'confirmation': dialogCtrl.productCtrl.confirmationStep}"> <article> <div class="image" ng-if="dialogCtrl.productCtrl.boxImage"> <img ng-if="dialogCtrl.productCtrl.boxImage.url" ng-src="{{::dialogCtrl.productCtrl.boxImage.url}}"> <img ng-if="!dialogCtrl.productCtrl.boxImage.url && dialogCtrl.productCtrl.boxImage.detail" ng-src="{{::dialogCtrl.productCtrl.boxImage.detail}}"> </div> <div class="box-info"> <p class="name" ng-bind="::dialogCtrl.productCtrl.boxProduct.name"></p> <p ng-bind="::dialogCtrl.productCtrl.boxText.message_reached"></p> </div> <div class="units"> <p ng-bind="dialogCtrl.productCtrl.numBoxes"></p> </div> </article> </div> <div> <div ng-if="dialogCtrl.productCtrl.showNoProductsSelectedMsg"> <span class="message-error"> <span class="icon icon-warning"></span>{{ ::("bundle.buy.set.NOPRODUCTS" | property) }} </span> </div> <div ng-if="dialogCtrl.productCtrl.productSetAddToCartError"> <span class="message-error"> <span class="icon icon-warning"></span>{{ ::("bundle.buy.set.ADD2Cart.error" | property) }} </span> </div> <div ng-if="dialogCtrl.productCtrl.maxItemsError"> <span class="message-error"> <span class="icon icon-warning"></span>{{ ::dialogCtrl.productCtrl.maxItemsError }} </span> </div> <div class="btn-buy-set"> <!-- go back first step --> <itx-button ng-if="dialogCtrl.productCtrl.confirmationStep" ng-click="dialogCtrl.productCtrl.backToSetSelection()"> <span class="icon icon-pencil-flip"></span> <span> {{ ::("btn.modify" | property) }} </span> </itx-button> <!-- select products --> <itx-button ng-click="dialogCtrl.productCtrl.goToConfirmation()" is-disabled="dialogCtrl.productCtrl.maxItemsError" ng-if="!dialogCtrl.productCtrl.confirmationStep"> <span> {{ ::("ItxOrderShippingPage.btn.continue" | property) }} </span> </itx-button> <!-- Add to cart --> <itx-button ng-click="dialogCtrl.productCtrl.addSetToCart()" ng-if="dialogCtrl.productCtrl.confirmationStep"> <span> {{ ::("ItxProductPage.shopcart.add" | property) }} </span> </itx-button> </div> </div> </div> </md-content> </md-dialog-content> </md-dialog></script><script id="certificate-modal.tpl" type="text/ng-template"><md-dialog layout-padding flex="20" class="certificate-message-modal"> <md-toolbar> <div layout="row" layout-align="end center"> <div> <md-icon class="icon-10 close-dialog" md-svg-src="/static/itxwebstandard/images/ic_cerrar.svg?t=2019041110311151db1176774530" ng-click="dialogCtrl.hide()" aria-label="Close dialog"> </md-icon> </div> </div> </md-toolbar> <md-dialog-content> <md-content> <div class="contenido"> <div ng-bind-html="::dialogCtrl.parameters.content"></div> </div> </md-content> </md-dialog-content> </md-dialog> </div></script><script id="download-invoice-modal.tpl" type="text/ng-template"><md-dialog layout-padding flex="30" class="download-invoice-modal"> <md-toolbar> <div layout="row" layout-align="end center"> <div> <md-icon class="icon-10 close-dialog" md-svg-src="/static/itxwebstandard/images/ic_cerrar.svg?t=2019041110311151db1176774530" ng-click="dialogCtrl.hide()" aria-label="Close dialog"> </md-icon> </div> </div> </md-toolbar> <md-dialog-content> <md-content> <div class="invoice-content" ng-repeat="invoice in dialogCtrl.selectedOrder.invoicesInfo | orderBy: ['date']"> <a ng-click="dialogCtrl.downloadInvoiceFromOrder(invoice)" class="invoice-link"> <span>Invoice</span> <span ng-if="invoice.rmaId">Returns</span> <span ng-if="!invoice.rmaId">ORDER</span> <span>{{ invoice.date | date:$root.inditex.iXDateFormat }}</span> </a> </div> </md-content> </md-dialog-content> </md-dialog> </div></script><script id="error-message.tpl" type="text/ng-template"><md-dialog layout-padding flex="40" class="error-message-modal"> <md-toolbar> <div layout="row" layout-align="end center"> <div> <md-icon class="icon-10 close-dialog" md-svg-src="/static/itxwebstandard/images/ic_cerrar.svg?t=2019041110311151db1176774530" ng-click="dialogCtrl.hide()" aria-label="Close dialog"> </md-icon> </div> </div> </md-toolbar> <md-dialog-content> <md-content> <h1 class="title" ng-if="dialogCtrl.title" ng-bind="::dialogCtrl.title"></h1> <div class="contenido"> <p class="message" ng-bind-html="::dialogCtrl.message"></p> <div class="m-t-20"> <itx-button ng-click="dialogCtrl.hide()"> <span ng-bind="::dialogCtrl.getButtonText()"></span> </itx-button> </div> </div> </md-content> </md-dialog-content> </md-dialog> </div></script><script id="giftcard-message-modal.tpl" type="text/ng-template"><md-dialog class="modal-gift-card-message" flex="50" flex-gt-xs="50"> <md-toolbar layout-padding> <div layout="row" layout-align="end center"> <div> <md-icon class="icon-10 close-dialog" md-svg-src="/static/itxwebstandard/images/ic_cerrar.svg?t=2019041110311151db1176774530" ng-click="dialogCtrl.hide()" aria-label="Close dialog"></md-icon> </div> </div> </md-toolbar> <md-dialog-content> <div class="modal-gift-card-message-content" layout="column" layout-align="center center" layout-padding> <h2>Personalised message</h2> <md-input-container flex="90"> <label for="gift-card-message">Write your message here</label> <textarea name="gift-card-message" ng-model="dialogCtrl.message" maxlength="255" md-maxlength="255"> </textarea> </md-input-container> <itx-button ng-click="dialogCtrl.resolve(dialogCtrl.message)" layout="center center"> ADD COMMENT </itx-button> </div> </md-dialog-content> </md-dialog></script><script id="/giftpacking-bysku-modal.tpl" type="text/ng-template"><md-dialog layout-padding class="modal-giftpacking-bysku" layout-align="center center" flex-gt-sm="40"> <md-toolbar> <div layout="row" layout-align="end center"> <div> <md-icon class="icon-10 close-dialog" md-svg-src="/static/itxwebstandard/images/ic_cerrar.svg?t=2019041110311151db1176774530" ng-click="dialogCtrl.cancel()" aria-label="Close dialog"></md-icon> </div> </div> </md-toolbar> <md-dialog-content> <div class="giftpacking-bysku-header"> <span>Select the items you wish to have gift-wrapped</span> </div> <div class="giftpacking-bysku-body"> <div class="giftpacking-bysku-products row" ng-repeat="item in dialogCtrl.cart.items"> <div class="col-xs-1 giftpacking-product-check"> <md-checkbox ng-model="item.giftPacking" ng-change="dialogCtrl.giftPackingSkuChange(item, dialogCtrl.skusGiftPack)" aria-label="check"> </md-checkbox> </div> <div class="col-xs-2 giftpacking-product-photo"> <!-- img --> <itx-product-photo product="item"></itx-product-photo> </div> <div class="col-xs-9 giftpacking-product-details"> <!-- product name --> <div class="giftpacking-product-name"> <span ng-bind-html="::item.name"></span> </div> <div class="shopcart-item-ref"> <span class="reference">ref. {{::(item.reference.substr(0, item.reference.indexOf('-')))}}</span> </div> <div class="dimensions"> <span ng-bind-html="::item.size"></span> </div> </div> </div> <div class="row giftpacking-bysku-accept"> <itx-button ng-click="dialogCtrl.confirmGiftPacking( dialogCtrl.skusGiftPack)"> Confirm </itx-button> </div> </div> </md-dialog-content> </md-dialog></script><script id="image-zoom-modal.tpl" type="text/ng-template"><md-dialog> <md-toolbar> <div> <div> <md-icon class="icon-10 close-dialog" md-svg-src="/static/itxwebstandard/images/ic_cerrar.svg?t=2019041110311151db1176774530" ng-click="dialogCtrl.hide()" aria-label="Close dialog"> </md-icon> </div> </div> </md-toolbar> <md-dialog-content> <md-content> <div class="contenido"> <div class="image-zoom-container"> <itx-photo-swipe images="::dialogCtrl.itxImageZoomCtrl.photos" index="dialogCtrl.itxImageZoomCtrl.imageIndex" ratio="'1920x2379'" on-slide-change="dialogCtrl.itxImageZoomCtrl.imageZoomSlideChange(index)"> </itx-photo-swipe> </div> </div> </md-content> </md-dialog-content> </md-dialog> <md-dialog-container></script><script id="new-address-modal.tpl" type="text/ng-template"><md-dialog layout-padding flex="60" class="new-address-modal"> <md-toolbar> <div layout="row" layout-align="end center"> <div> <md-icon class="icon-10 close-dialog" md-svg-src="/static/itxwebstandard/images/ic_cerrar.svg?t=2019041110311151db1176774530" ng-click="dialogCtrl.resolve({address: dialogCtrl.address, fromClose : true})" aria-label="Close dialog"> </md-icon> </div> </div> </md-toolbar> <md-dialog-content> <div class="input-wishlist-name-container"> <itx-address address="dialogCtrl.address" address-type="'billing'" edit-address="true" no-validate-vatin="true" on-address-change="dialogCtrl.addressChange(address, isValid)" on-address-submit="dialogCtrl.resolve({address: dialogCtrl.address})"></itx-address> </div> </md-dialog-content> </md-dialog></script><script id="product-detail-modal.tpl" type="text/ng-template"><md-dialog layout-padding flex="60" class="product-detail-modal"> <md-toolbar> <div layout="row" layout-align="end center"> <div> <md-icon class="icon-10 close-dialog" md-svg-src="/static/itxwebstandard/images/ic_cerrar.svg?t=2019041110311151db1176774530" ng-click="dialogCtrl.hide()" aria-label="Close dialog"> </md-icon> </div> </div> </md-toolbar> <md-dialog-content> <itx-loader class="dialog-loader" show="dialogCtrl.itxProductDetailModalCtrl.loading"></itx-loader> <md-content> <div class="contenido" ng-if="!dialogCtrl.itxProductDetailModalCtrl.loading"> <itx-product-detail ng-if="::(dialogCtrl.itxProductDetailModalCtrl.productDetail.type === 'ProductBean')" product="::dialogCtrl.itxProductDetailModalCtrl.productDetail" is-modal="true"> </itx-product-detail> </div> </md-content> </md-dialog-content> </md-dialog></script><script id="product-info-modal.tpl" type="text/ng-template"><md-dialog class="product-sideNav"> <md-dialog-content> <md-toolbar class="accordion-toolbar"> <div class="product-detail-modal-toolbar" layout="row" layout-align="end center"> <div layout-margin class="close-button"> <md-icon class="icon-10 close-dialog" md-svg-src="/static/itxwebstandard/images/ic_cerrar.svg?t=2019041110311151db1176774530" ng-click="dialogCtrl.hide()" aria-label="Close dialog"> </md-icon> </div> </div> </md-toolbar> <md-tabs md-dynamic-height md-stretch-tabs="never" md-no-ink="true" md-center-tabs="true" md-swipe-content="true" md-border-bottom> <md-tab label="DESCRIPTION" ng-if="dialogCtrl.info.product.type === 'BundleBean' && ((dialogCtrl.info.product.detail.longDescription && dialogCtrl.info.product.detail.longDescription.length > 0) || (dialogCtrl.info.product.detail.description && dialogCtrl.info.product.detail.description.length > 0))"> <md-content layout-padding class="modal-description"> <p ng-if="dialogCtrl.info.product.detail.longDescription && dialogCtrl.info.product.detail.longDescription.length > 0"> <span ng-bind-html='dialogCtrl.info.ItxProductFactory.getDescription(dialogCtrl.info.product)' /> </p> <p ng-if="dialogCtrl.info.product.detail.description && dialogCtrl.info.product.detail.description.length > 0"> <span ng-bind-html="'dialogCtrl.info.ItxProductFactory.getDescription(dialogCtrl.info.producto.detail.description)" /> </p> </md-content> </md-tab> <md-tab label="COMPOSITION / CARE" ng-if="dialogCtrl.info.product.detail.composition.length > 0 || (dialogCtrl.info.product.detail.compositionByZone.length > 0 && dialogCtrl.info.product.detail.compositionByZone[0].part !== null) || (dialogCtrl.info.product.detail.care.length > 0) || (dialogCtrl.info.product.detail.ingredients && dialogCtrl.info.product.detail.ingredients.length > 0) || (dialogCtrl.info.product.detail.warnings && dialogCtrl.info.product.detail.warnings.length > 0) || dialogCtrl.info.product.detail.joinLife"> <md-content layout-padding class="modal-composition"> <p class="composition-header" ng-if="dialogCtrl.info.product.detail.composition.length > 0 || (dialogCtrl.info.product.detail.compositionByZone.length > 0 && dialogCtrl.info.product.detail.compositionByZone[0].part !== null)"> COMPOSITION </p> <div ng-repeat="(key, compositionPart) in dialogCtrl.info.composition" ng-if="(dialogCtrl.info.product.detail.compositionByZone.length === 0 || dialogCtrl.info.product.detail.compositionByZone[0].part === null) && compositionPart.length" class="bundle-compo"> <strong class="tit-comp" ng-bind-html="$root.inditex.text('ItxProductPage.moreInfo.composition.part' + key)"></strong> <ul class="ul"> <li class="compo" ng-repeat="component in compositionPart"> {{component.percentage}}% {{component.name}} </li> </ul> </div> <div ng-repeat="(keyCompositionPart, compositionPart) in dialogCtrl.info.compositionByZone" ng-if="dialogCtrl.info.product.detail.compositionByZone.length > 0 && dialogCtrl.info.product.detail.compositionByZone[0] !== null && keyCompositionPart !== 'null'" class="bundle-comp"> <strong class="tit-comp" ng-bind-html="$root.inditex.text('ItxProductPage.moreInfo.composition.part' + keyCompositionPart)"></strong> <div class="composition-zone" ng-repeat="compositionZone in compositionPart"> <div ng-repeat="compositionItem in compositionZone"> <span ng-bind-html="compositionItem.zoneName" ng-if="$first"></span> <ul class="ul"> <li class="compo" ng-repeat="component in compositionItem.composition"> {{component.percentage}}% {{component.name}} </li> </ul> </div> </div> </div> <div id="care-block" ng-if="dialogCtrl.info.product.detail.care.length > 0"> <p class="care-header"> CARE </p> <ul class="ul"> <li ng-repeat="care in dialogCtrl.info.product.detail.care"><span class="icon-cares-{{care.name}}{{dialogCtrl.info.caresSuffix}}"></span>{{care.description}}</li> </ul> <div ng-if='dialogCtrl.info.showCarePdf(dialogCtrl.info.product)'> <a class="care-link" href="{{ dialogCtrl.info.getProductCarePdfUrl() }}" target="_blank"> Further information </a> </div> </div> <div class="ingredients-block" ng-if="dialogCtrl.info.product.detail.ingredients && dialogCtrl.info.product.detail.ingredients.length > 0"> <p class="ingredients-header">Ingredients </p> <ul class="ul"> <li ng-repeat="ingredient in dialogCtrl.info.product.detail.ingredients"> <span ng-bind-html="ingredient.description"></span> </li> </ul> </div> <div class="joinLife-block" ng-if="dialogCtrl.info.product.detail.joinLife"> <p class="care-header">Join Life</p> <p ng-bind="dialogCtrl.info.product.detail.joinLife"></p> </div> <div class="warnings-block" ng-if="dialogCtrl.info.product.detail.warnings && dialogCtrl.info.product.detail.warnings.length > 0"> <p class="warnings-header">Warnings </p> <ul class="ul"> <li ng-repeat="warning in dialogCtrl.info.product.detail.warnings"> <span ng-bind-html="warning.description"></span> </li> </ul> </div> </md-content> </md-tab> <md-tab label="DELIVERY / RETURNS" ng-if="$root.inditex.iStoreJSON.isOpenForSale"> <md-content layout-padding class="modal-delivery"> <div class="delivery-block"> <p class="delivery-header">DELIVERY </p> <div class="content-ficha-envio"> <div ng-repeat="method in dialogCtrl.info.defaultShippingMethods" ng-if="method.dbcode !== 'StandardSpecial'"> <strong ng-if="method.price !== 0">{{method.name}} : <span ng-bind-html="dialogCtrl.info.ItxHelper.formatPrice(method.price)"><span> </strong> <strong ng-if="method.price === 0">{{method.name}} : <span>Free<span> </strong> <p ng-bind="method.description"></p> </div> </div> </div> <div class="returns-block"> <p class="returns-header">RETURNS </p> <itx-spot type="Ficha_Devolucion"></itx-spot> </div> </md-content> </md-tab> <md-tab label="PAYMENT" ng-if="$root.inditex.iCountryCode ==='NL' && $root.inditex.iStoreJSON.isOpenForSale"> <md-content layout-padding class="modal-pago"> <itx-spot type="Ficha_Pago"></itx-spot> </md-content> </md-tab> <md-tab label="Warranty" ng-if="$root.inditex.iCountryCode ==='NL' && $root.inditex.iStoreJSON.isOpenForSale"> <md-content layout-padding class="modal-garantia"> <itx-spot type="Ficha_Garantia"></itx-spot> </md-content> </md-tab> </md-tabs> </md-dialog-content> </md-dialog></script><script id="product-info-modal-mobile.tpl" type="text/ng-template"><md-dialog class="product-sideNav"> <md-dialog-content> <md-toolbar> <div class="login-modal-toolbar" layout="row" layout-align="end center"> <div> <md-icon class="icon-10 close-dialog" md-svg-src="/static/itxwebstandard/images/ic_cerrar.svg?t=2019041110311151db1176774530" ng-click="dialogCtrl.hide()" aria-label="Close dialog"></md-icon> </div> </div> </md-toolbar> <md-subheader class="accordion-subheader"> <span class="ref">ref. {{$root.inditex.iProductJSON.detail.displayReference}}</span> </md-subheader> <md-content layout-padding class="modal-description"> <p ng-if="dialogCtrl.info.product.detail.longDescription && dialogCtrl.info.product.detail.longDescription.length > 0"> <span ng-bind-html='dialogCtrl.info.ItxProductFactory.getDescription(dialogCtrl.info.product)' /> </p> <p ng-if="dialogCtrl.info.product.detail.description && dialogCtrl.info.product.detail.description.length > 0"> <span ng-bind-html="'dialogCtrl.info.ItxProductFactory.getDescription(dialogCtrl.info.product.detail.description)" /> </p> <div class="row triman-container" ng-if="::dialogCtrl.info.isTriman"> <img width="31" height="34" src="/static/itxwebstandard/images/triman.png?t=2019041110311151db1176774530" alt="Triman"> <span class="triman-text">???javascript.ItxProductPage.attribute.triman???</span> </div> </md-content> <div ng-if="::($root.inditex.iStoreJSON.details.hasPhisicalStores && $root.inditex.iStoreJSON.details.availabilityStockStore)" class="accordion-stock-locator"> <itx-product-store-stock-finder product="::dialogCtrl.info.product" selected-color="dialogCtrl.info.selectedColor" parent-product="dialogCtrl.info.parentProduct"> </itx-product-store-stock-finder> </div> <md-accordion> <md-accordion-group ng-if="dialogCtrl.info.product.detail.composition.length > 0 || (dialogCtrl.info.product.detail.compositionByZone.length > 0 && dialogCtrl.info.product.detail.compositionByZone[0].part !== null) || (dialogCtrl.info.product.detail.ingredients && dialogCtrl.info.product.detail.ingredients.length > 0) || (dialogCtrl.info.product.detail.warnings && dialogCtrl.info.product.detail.warnings.length > 0) || dialogCtrl.info.product.detail.joinLife"> <md-accordion-content md-heading="COMPOSITION" md-arrow="true"> <md-content layout-padding class="modal-composition"> <div ng-repeat="(key, compositionPart) in dialogCtrl.info.composition" ng-if="(dialogCtrl.info.product.detail.compositionByZone.length === 0 || dialogCtrl.info.product.detail.compositionByZone[0].part === null) && compositionPart.length" class="bundle-compo"> <strong class="tit-comp" ng-bind-html="$root.inditex.text('ItxProductPage.moreInfo.composition.part' + key)"></strong> <ul class="ul"> <li class="compo" ng-repeat="component in compositionPart"> {{component.percentage}}% {{component.name}} </li> </ul> </div> <div ng-repeat="(keyCompositionPart, compositionPart) in dialogCtrl.info.compositionByZone" ng-if="dialogCtrl.info.product.detail.compositionByZone.length > 0 && dialogCtrl.info.product.detail.compositionByZone[0] !== null && keyCompositionPart !== 'null'" class="bundle-comp"> <strong class="tit-comp" ng-bind-html="$root.inditex.text('ItxProductPage.moreInfo.composition.part' + keyCompositionPart)"></strong> <div class="composition-zone" ng-repeat="compositionZone in compositionPart"> <div ng-repeat="compositionItem in compositionZone"> <span ng-bind-html="compositionItem.zoneName" ng-if="$first"></span> <ul class="ul"> <li class="compo" ng-repeat="component in compositionItem.composition"> {{component.percentage}}% {{component.name}} </li> </ul> </div> </div> </div> <div ng-if="::(dialogCtrl.info.majorCompositionName)"> <itx-spot product-composition-name="{{::dialogCtrl.info.majorCompositionName}}"></itx-spot> </div> <div class="ingredients-block" ng-if="dialogCtrl.info.product.detail.ingredients && dialogCtrl.info.product.detail.ingredients.length > 0"> <strong class="tit-comp">Ingredients</strong> <ul class="ul"> <li ng-repeat="ingredient in dialogCtrl.info.product.detail.ingredients"> <span ng-bind-html="ingredient.description"></span> </li> </ul> </div> <div class="joinLife-block" ng-if="dialogCtrl.info.product.detail.joinLife"> <strong class="tit-comp">Join Life</strong> <p ng-bind="dialogCtrl.info.product.detail.joinLife"></p> </div> <div class="warnings-block" ng-if="dialogCtrl.info.product.detail.warnings && dialogCtrl.info.product.detail.warnings.length > 0"> <strong class="tit-comp">Warnings</strong> <ul class="ul"> <li ng-repeat="warning in dialogCtrl.info.product.detail.warnings"> <span ng-bind-html="warning.description"></span> </li> </ul> </div> </md-content> </md-accordion-content> </md-accordion-group> <md-accordion-group ng-if="dialogCtrl.info.product.detail.care.length > 0"> <md-accordion-content md-heading="CARE" md-arrow="true"> <md-content layout-padding class="modal-care"> <div id="care-block"> <div> <ul class="ul"> <li ng-repeat="care in dialogCtrl.info.product.detail.care"><span class="icon-cares-{{care.name}}{{dialogCtrl.info.caresSuffix}}"></span>{{care.description}}</li> </ul> <div ng-if='dialogCtrl.info.showCarePdf(dialogCtrl.info.product)'> <a class="care-link" href="{{ dialogCtrl.info.getProductCarePdfUrl() }}" target="_blank"> Further information </a> </div> </div> </div> </md-content> </md-accordion-content> </md-accordion-group> <md-accordion-group ng-if="dialogCtrl.info.product.detail.joinLife && dialogCtrl.info.product.detail.joinLife != ''"> <md-accordion-content md-heading="Join Life" md-arrow="true"> <md-content layout-padding class="modal-care"> <p ng-bind="dialogCtrl.info.product.detail.joinLife"></p> </md-content> </md-accordion-content> </md-accordion-group> <md-accordion-group ng-if="dialogCtrl.info.hasSizeGuide()" ng-click="dialogCtrl.info.loadSizeGuide()"> <md-accordion-content md-heading="Size guide" md-arrow="true"> <md-content layout-padding class="modal-garantia"> <div ng-bind-html="dialogCtrl.info.sizeGuideContent"></div> </md-content> </md-accordion-content> </md-accordion-group> <md-accordion-group ng-if="$root.inditex.iStoreJSON.isOpenForSale"> <md-accordion-content md-heading="DELIVERY" md-arrow="true"> <md-content layout-padding class="modal-delivery"> <div class="content-ficha-envio"> <div ng-repeat="method in ::dialogCtrl.info.defaultShippingMethods" ng-if="method.dbcode !== 'StandardSpecial'"> <strong ng-if="method.price !== 0">{{method.name}} : <span ng-bind-html="dialogCtrl.info.ItxHelper.formatPrice(method.price)"><span> </strong> <strong ng-if="method.price === 0">{{method.name}} : <span>Free<span> </strong> <p ng-bind="method.description"></p> </div> </div> </md-content> </md-accordion-content> </md-accordion-group> <md-accordion-group ng-if="$root.inditex.iStoreJSON.isOpenForSale"> <md-accordion-content md-heading="RETURNS" md-arrow="true"> <md-content layout-padding class="modal-returns"> <itx-spot type="Ficha_Devolucion"></itx-spot> </md-content> </md-accordion-content> </md-accordion-group> <md-accordion-group ng-if="$root.inditex.iCountryCode ==='NL' && $root.inditex.iStoreJSON.isOpenForSale"> <md-accordion-content md-heading="PAYMENT" md-arrow="true"> <md-content layout-padding class="modal-pago"> <itx-spot type="Ficha_Pago"></itx-spot> </md-content> </md-accordion-content> </md-accordion-group> <md-accordion-group ng-if="$root.inditex.iCountryCode ==='NL' && $root.inditex.iStoreJSON.isOpenForSale"> <md-accordion-content md-heading="Warranty" md-arrow="true"> <md-content layout-padding class="modal-garantia"> <itx-spot type="Ficha_Garantia"></itx-spot> </md-content> </md-accordion-content> </md-accordion-group> </md-accordion> <div ng-if="$root.chatEnabledConfig"> <itx-chat class="chat-main-container"></itx-chat> </div> </md-dialog-content> </md-dialog></script><script id="product-info-modal-tablet.tpl" type="text/ng-template"><md-dialog class="modal-60"> <md-toolbar> <div class="login-modal-toolbar" layout="row" layout-align="end center"> <div> <md-icon class="icon-10 close-dialog" md-svg-src="/static/itxwebstandard/images/ic_cerrar.svg?t=2019041110311151db1176774530" ng-click="dialogCtrl.hide()" aria-label="Close dialog"></md-icon> </div> </div> </md-toolbar> <md-dialog-content> <md-content layout-padding class="product-info-modal"> <h2 ng-bind="dialogCtrl.info.product.name"></h2> <span class="ref">ref. {{dialogCtrl.info.product.detail.displayReference}}</span> <div class="description"> <p ng-if="dialogCtrl.info.product.detail.longDescription && dialogCtrl.info.product.detail.longDescription.length > 0" ng-bind-html='dialogCtrl.info.ItxProductFactory.getDescription(dialogCtrl.info.product)'> </p> <p ng-if="dialogCtrl.info.product.detail.description && dialogCtrl.info.product.detail.description.length > 0" ng-bind-html="'dialogCtrl.info.ItxProductFactory.getDescription(dialogCtrl.info.product.detail.description)"> </p> <div class="row triman-container" ng-if="::dialogCtrl.info.isTriman"> <img width="31" height="34" src="/static/itxwebstandard/images/triman.png?t=2019041110311151db1176774530" alt="Triman"> <span class="triman-text">???javascript.ItxProductPage.attribute.triman???</span> </div> </div> <div ng-if="::($root.inditex.iStoreJSON.details.hasPhisicalStores && $root.inditex.iStoreJSON.details.availabilityStockStore)" class="accordion-stock-locator"> <itx-product-store-stock-finder product="::dialogCtrl.info.product" selected-color="dialogCtrl.info.selectedColor" parent-product="dialogCtrl.info.parentProduct"> </itx-product-store-stock-finder> </div> <md-accordion> <md-accordion-group ng-if="dialogCtrl.info.product.detail.composition.length > 0 || (dialogCtrl.info.product.detail.compositionByZone.length > 0 && dialogCtrl.info.product.detail.compositionByZone[0].part !== null) || (dialogCtrl.info.product.detail.ingredients && dialogCtrl.info.product.detail.ingredients.length > 0) || (dialogCtrl.info.product.detail.warnings && dialogCtrl.info.product.detail.warnings.length > 0) || dialogCtrl.info.product.detail.joinLife"> <md-accordion-content md-heading="COMPOSITION" md-arrow="true"> <md-content layout-padding class="modal-composition"> <div ng-repeat="(key, compositionPart) in dialogCtrl.info.composition" ng-if="(dialogCtrl.info.product.detail.compositionByZone.length === 0 || dialogCtrl.info.product.detail.compositionByZone[0].part === null) && compositionPart.length" class="bundle-compo"> <strong class="tit-comp" ng-bind-html="$root.inditex.text('ItxProductPage.moreInfo.composition.part' + key)"></strong> <ul class="ul"> <li class="compo" ng-repeat="component in compositionPart"> {{component.percentage}}% {{component.name}} </li> </ul> </div> <div ng-repeat="(keyCompositionPart, compositionPart) in dialogCtrl.info.compositionByZone" ng-if="dialogCtrl.info.product.detail.compositionByZone.length > 0 && dialogCtrl.info.product.detail.compositionByZone[0] !== null && keyCompositionPart !== 'null'" class="bundle-comp"> <strong class="tit-comp" ng-bind-html="$root.inditex.text('ItxProductPage.moreInfo.composition.part' + keyCompositionPart)"></strong> <div class="composition-zone" ng-repeat="compositionZone in compositionPart"> <div ng-repeat="compositionItem in compositionZone"> <span ng-bind-html="compositionItem.zoneName" ng-if="$first"></span> <ul class="ul"> <li class="compo" ng-repeat="component in compositionItem.composition"> {{component.percentage}}% {{component.name}} </li> </ul> </div> </div> </div> <div class="ingredients-block" ng-if="dialogCtrl.info.product.detail.ingredients && dialogCtrl.info.product.detail.ingredients.length > 0"> <strong class="tit-comp">Ingredients</strong> <ul class="ul"> <li ng-repeat="ingredient in dialogCtrl.info.product.detail.ingredients"> <span ng-bind-html="ingredient.description"></span> </li> </ul> </div> <div class="joinLife-block" ng-if="dialogCtrl.info.product.detail.joinLife"> <strong class="tit-comp">Join Life</strong> <p ng-bind="dialogCtrl.info.product.detail.joinLife"></p> </div> <div class="warnings-block" ng-if="dialogCtrl.info.product.detail.warnings && dialogCtrl.info.product.detail.warnings.length > 0"> <strong class="tit-comp">Warnings</strong> <ul class="ul"> <li ng-repeat="warning in dialogCtrl.info.product.detail.warnings"> <span ng-bind-html="warning.description"></span> </li> </ul> </div> </md-content> </md-accordion-content> </md-accordion-group> <md-accordion-group ng-if="dialogCtrl.info.product.detail.care.length > 0"> <md-accordion-content md-heading="CARE" md-arrow="true"> <md-content layout-padding class="modal-care"> <div id="care-block"> <div> <ul class="ul"> <li ng-repeat="care in dialogCtrl.info.product.detail.care"><span class="icon-cares-{{care.name}}{{dialogCtrl.info.caresSuffix}}"></span>{{care.description}}</li> </ul> <div ng-if='dialogCtrl.info.showCarePdf(dialogCtrl.info.product)'> <a class="care-link" href="{{ dialogCtrl.info.getProductCarePdfUrl() }}" target="_blank"> Further information </a> </div> </div> </div> </md-content> </md-accordion-content> </md-accordion-group> <md-accordion-group ng-if="dialogCtrl.info.product.detail.joinLife && dialogCtrl.info.product.detail.joinLife != ''"> <md-accordion-content md-heading="Join Life" md-arrow="true"> <md-content layout-padding class="modal-care"> <p ng-bind="dialogCtrl.info.product.detail.joinLife"></p> </md-content> </md-accordion-content> </md-accordion-group> <md-accordion-group ng-if="dialogCtrl.info.hasSizeGuide()" ng-click="dialogCtrl.info.loadSizeGuide()"> <md-accordion-content md-heading="Size guide" md-arrow="true"> <md-content layout-padding class="modal-garantia"> <div ng-bind-html="dialogCtrl.info.sizeGuideContent"></div> </md-content> </md-accordion-content> </md-accordion-group> <md-accordion-group ng-if="$root.inditex.iStoreJSON.isOpenForSale"> <md-accordion-content md-heading="DELIVERY" md-arrow="true"> <md-content layout-padding class="modal-delivery"> <div class="content-ficha-envio"> <div ng-repeat="method in ::dialogCtrl.info.defaultShippingMethods" ng-if="method.dbcode !== 'StandardSpecial'"> <strong ng-if="method.price !== 0">{{method.name}} : <span ng-bind-html="dialogCtrl.info.ItxHelper.formatPrice(method.price)"><span> </strong> <strong ng-if="method.price === 0">{{method.name}} : <span>Free<span> </strong> <p ng-bind="method.description"></p> </div> </div> </md-content> </md-accordion-content> </md-accordion-group> <md-accordion-group ng-if="$root.inditex.iStoreJSON.isOpenForSale"> <md-accordion-content md-heading="RETURNS" md-arrow="true"> <md-content layout-padding class="modal-returns"> <itx-spot type="Ficha_Devolucion"></itx-spot> </md-content> </md-accordion-content> </md-accordion-group> <md-accordion-group ng-if="$root.inditex.iCountryCode ==='NL' && $root.inditex.iStoreJSON.isOpenForSale"> <md-accordion-content md-heading="PAYMENT" md-arrow="true"> <md-content layout-padding class="modal-pago"> <itx-spot type="Ficha_Pago"></itx-spot> </md-content> </md-accordion-content> </md-accordion-group> <md-accordion-group ng-if="$root.inditex.iCountryCode ==='NL' && $root.inditex.iStoreJSON.isOpenForSale"> <md-accordion-content md-heading="Warranty" md-arrow="true"> <md-content layout-padding class="modal-garantia"> <itx-spot type="Ficha_Garantia"></itx-spot> </md-content> </md-accordion-content> </md-accordion-group> </md-accordion> <div ng-if="$root.chatEnabledConfig"> <itx-chat class="chat-main-container"></itx-chat> </div> </md-content> </md-dialog-content> </md-dialog></script><script id="product-size-unit-selector.tpl" type="text/ng-template"><md-bottom-sheet class="product-add-selector-bottomSheet"> <form class="bottomSheetForm" method="post" name="itxProductAddCtrl.sizeUnitForm"> <p class="sizes-warning" ng-if="itxProductAddCtrl.showAddSizeWarning">Remember that you must choose a size</p> <header ng-if="!itxProductAddCtrl.isAudio"> <span>Choose a size</span> <itx-product-size-guide product="::itxProductAddCtrl.product"> </itx-product-size-guide> </header> <ul ng-class="[{'audio-list': itxProductAddCtrl.isAudio, 'wish-list' : itxProductAddCtrl.type === 'wish'}, 'sizes-list']"> <li ng-repeat="size in ::itxProductAddCtrl.productSizes" ng-class="{ 'active' : itxProductAddCtrl.unitsIndex == $index}"> <a ng-click="itxProductAddCtrl.selectSize(size, $index, true)" ng-class="{'sold-out' : size.visibility === 'sold_out' && itxProductAddCtrl.type === 'cart' }"> <section class="description"> <p ng-if="::!itxProductAddCtrl.isAudio"> <span class="size-description" ng-if="::size.description" ng-bind="::size.description"></span> <span class="size-name" ng-if="::size.name" ng-bind="::size.name"></span> <span ng-if="::size.showDetail" ng-click="itxProductAddCtrl.showSizeImage(size.showDetail)" class="icon icon-password-hidden"></span> </p> <p ng-if="::itxProductAddCtrl.isAudio"><span class="audio-qty">???javascript.QTY???</span></p> </section> <span ng-if="::(itxProductAddCtrl.setVisilibilty(size) || itxProductAddCtrl.type === 'wish')" class="price" ng-bind-html="::(itxProductAddCtrl.formatPrice(size.price))"> </span> <span ng-if="['back_soon', 'coming_soon'].indexOf(size.visibility) !== -1 && itxProductAddCtrl.type === 'cart'" class="coming-soon"> <img ng-src="/static/itxwebstandard/images/ico-envelope.svg?t=2019041110311151db1176774530"></img> <i>Coming Soon</i> </span> </a> <div class="units-container" ng-if="itxProductAddCtrl.unitsIndex == $index && itxProductAddCtrl.setVisilibilty(size) && itxProductAddCtrl.type === 'cart'"> <itx-input-number class="units-selector" ng-model="itxProductAddCtrl.units"> </itx-input-number> </div> </li> </ul> <itx-product-add-to-cart ng-if="::itxProductAddCtrl.type === 'cart'" ng-class="{'inactive' : !itxProductAddCtrl.selectedSize}" product="::itxProductAddCtrl.product" selected-size="itxProductAddCtrl.selectedSize" selected-color="::itxProductAddCtrl.selectedColor" units="itxProductAddCtrl.units" show-price="true" cart-state="itxProductAddCtrl.addToShopCartState" on-product-added="itxProductAddCtrl.add(product)"> </itx-product-add-to-cart> <a ng-class="[{'inactive' : !itxProductAddCtrl.selectedSize}, 'primary-btn',' addToWish-btn']" ng-if="::(itxProductAddCtrl.type === 'wish')" ng-click="itxProductAddCtrl.addToWishList(itxProductAddCtrl.product)"> Add to wish list </a> </form> </md-bottom-sheet></script><script id="qr-payment-modal.tpl" type="text/ng-template"><md-dialog layout-padding flex="20" class="qr-modal"> <md-toolbar> <div layout="row" layout-align="end center"> <div> <md-icon class="icon-10 close-dialog" md-svg-src="/static/itxwebstandard/images/ic_cerrar.svg?t=2019041110311151db1176774530" ng-click="dialogCtrl.hide()" aria-label="Close dialog"> </md-icon> </div> </div> </md-toolbar> <md-dialog-content> <md-content layout-padding> <div class="qr-payment-price"> <span class="price-label">PRICE: </span> <span class="qr-order-amount" ng-bind-html="dialogCtrl.params.formattedOrderPrice"></span> </div> <div class="qrcode-container"> <qrcode data="{{ dialogCtrl.params.qrcode }}"></qrcode> </div> </md-content> </md-dialog-content> </md-dialog> </div></script><script id="remove-wishlist-modal.tpl" type="text/ng-template"><md-dialog layout-padding class="remove-wishlist-modal delete-item-modal"> <md-toolbar> <div layout="row" layout-align="end center"> <div> <md-icon class="icon-10 close-dialog" md-svg-src="/static/itxwebstandard/images/ic_cerrar.svg?t=2019041110311151db1176774530" ng-click="dialogCtrl.cancel()" aria-label="Close dialog"> </md-icon> </div> </div> </md-toolbar> <md-dialog-content> <md-content> <div class="cabecera" layout-padding> <h1> Would you like to delete the wish list {{ dialogCtrl.wishlistName }}? </h1> </div> <div class="contenido"> <div layout="row" layout-align="center center"> <itx-button ng-click="dialogCtrl.resolve(true)" button-type="submit" class="itx-button-red col-md-6"> <span>Delete</span> </itx-button> <itx-button ng-click="dialogCtrl.cancel()" button-type="submit" class="col-md-6"> Cancel </itx-button> </div> </div> </md-content> </md-dialog-content> </md-dialog></script><script id="select-default-market.tpl" type="text/ng-template"><md-dialog class="select-default-market" layout-padding> <md-dialog-content> <md-toolbar> <div layout="row" layout-align="end center"> <md-icon class="icon-10 close-dialog" md-svg-src="/static/itxwebstandard/images/ic_cerrar.svg?t=2019041110311151db1176774530" ng-click="dialogCtrl.hide()" aria-label="Close dialog"></md-icon> </div> </md-toolbar> <md-content> <div class="md-content-wrap select-default-market-content"> <div class="md-content"> <div class="cabecera"> <h2> {{ 'select.market.question.' + dialogCtrl.lang | property:[dialogCtrl.storeName] }} </h2> </div> <div class="contenido"> <itx-button ng-click="dialogCtrl.resolve()"> <span> {{ 'select.market.accept.' + dialogCtrl.lang | property }} </span> </itx-button> <itx-button ng-click="dialogCtrl.cancel()"> <span> {{ 'select.market.cancel.' + dialogCtrl.lang | property }} </span> </itx-button> </div> </div> </div> </md-content> </md-dialog-content> </md-dialog></script><script id="select-wishlist-modal.tpl" type="text/ng-template"><md-dialog layout-padding flex="20" class="select-wishlist-modal"> <md-toolbar> <div layout="row" layout-align="end center"> <div> <md-icon class="icon-10 close-dialog" md-svg-src="/static/itxwebstandard/images/ic_cerrar.svg?t=2019041110311151db1176774530" ng-click="dialogCtrl.hide()" aria-label="Close dialog"> </md-icon> </div> </div> </md-toolbar> <md-dialog-content> <ng-form name="wishlistNameForm" method="post"> <div ng-if="dialogCtrl.showSizeSelector && dialogCtrl.productSizes.length > 1"> <itx-product-size-selector class="product-size-container" product-sizes="dialogCtrl.productSizes" on-size-select="dialogCtrl.sizeChange(sku,eventName, isInit)" show-error="dialogCtrl.showFormError"> </itx-product-size-selector> <itx-button ng-click="dialogCtrl.selectProductSize()" button-type="'submit'"> {{ ::("NEXT" | property) }} </itx-button> </div> <div ng-if="!dialogCtrl.showSizeSelector && !dialogCtrl.wishlistSelected"> <h1>{{ ::("wishlist.modal.header" | property) }}</h1> <ul class="wishlist-product-container"> <li ng-repeat="wishlist in dialogCtrl.wishlists"> <a class="user-wishlist"> <span> {{ wishlist.name }} <span ng-if="wishlist && wishlist.items && wishlist.items.length">({{wishlist.items.length}})</span> </span> <span class="icon" ng-class="{'icon-heart-o': !wishlist.wishlistIconEnabled, 'icon-heart': wishlist.wishlistIconEnabled}" ng-click="dialogCtrl.changeWishlistItem(wishlist, $index)"> </span> </a> </li> <div class="new-wishlist"> <a ng-click="dialogCtrl.showNewWishlistInput = true" ng-if="!dialogCtrl.showNewWishlistInput"> <span class="icon icon-plus-thin"></span> New Wish List </a> </div> </ul> </div> <div class="input-wishlist-name-container" ng-if="dialogCtrl.showNewWishlistInput"> <md-input-container class="input-wishlist-name"> <label>{{ ::("wishlist.name" | property) }}</label> <input type="text" name="wishlistName" id="wishlistName" ng-maxlength="32" md-maxlength="32" ng-model="dialogCtrl.wishlistName" ng-required="true" md-autofocus> <div ng-messages="wishlistNameForm.wishlistName.$error"> <div ng-message="required"> {{ ::("wishlist.name.error" | property) }} </div> <div ng-message="maxlength"> {{ ::("ItxMyAccountPersonalPage.helper.nameTooLong" | property) }} </div> </div> </md-input-container> <md-input-container class="wishlist-public-check" ng-if="::dialogCtrl.showPublicWishlistCheck"> <md-checkbox name="wishlistPublic" id="wishlistPublic" ng-model="dialogCtrl.wishlistPublic"> <span> {{ ::("FIELD.publicWishlist" | property) }} </span> </md-checkbox> </md-input-container> <itx-button ng-click="dialogCtrl.wishlistName && dialogCtrl.createNewWishlistAndAddItem(dialogCtrl.wishlistName, dialogCtrl.wishlistPublic)"> {{ ::("ACCEPT_BUTTON" | property) }} </itx-button> </div> </ng-form> </md-dialog-content> </md-dialog></script><script id="share-wishlist-link-by-email.tpl" type="text/ng-template"><md-dialog layout-padding flex-gt-xs="40" class="share-wishlist-link-by-email-modal"> <md-toolbar> <div layout="row" layout-align="end center"> <div> <md-icon class="icon-10 close-dialog" md-svg-src="/static/itxwebstandard/images/ic_cerrar.svg?t=2019041110311151db1176774530" ng-click="dialogCtrl.cancel()" aria-label="Close dialog"> </md-icon> </div> </div> </md-toolbar> <md-dialog-content> <md-content> <ng-form name="wishlistEmailForm" method="post"> <md-input-container> <label> {{ ::("ItxSendWishList.holder.theirMail" | property) }} </label> <input type="text" name="receptorEmail" id="receptorEmail" ng-model="receptorEmail" ng-model-options="{ updateOn: 'blur' }" ng-required="true" md-autofocus ng-pattern="dialogCtrl.validations.email"> <div ng-messages="wishlistEmailForm.receptorEmail.$error"> <div ng-message="required">{{ ::("validate_required" | property) }}</div> <div ng-message="pattern">{{ ::("ItxUserManagement.generic.emailError" | property) }} </div> </div> </md-input-container> <itx-button ng-click="receptorEmail && dialogCtrl.resolve(receptorEmail)"> {{ ::("ItxSendWishList.sendMail" | property) }} </itx-button> </ng-form> </md-content> </md-dialog-content> </md-dialog> </div></script><script id="simple-login-modal.tpl" type="text/ng-template"><md-dialog layout-padding> <md-dialog-content> <md-content> <h2 class="text-center">Log in</h2> <div class="contenido"> <div class="message-error" ng-if="dialogCtrl.genericError"> <span class="icon icon-warning icon-warning-gen"></span> <span ng-bind-html='dialogCtrl.genericError'></span> </div> <form id="login-pago" name="loginForm" method="post" novalidate> <md-input-container class="no-margin-bottom"> <label for="email">E-mail</label> <input type="text" id="loginForm_email" name="email" ng-model="dialogCtrl.userLogin.email" ng-pattern="dialogCtrl.validationPatterns.email" required> <div ng-messages="loginForm.email.$error"> <div ng-message="required">This field is required</div> <div ng-message="pattern">Please enter a valid email address</div> </div> </md-input-container> <md-input-container class="no-margin-bottom"> <label for="password">Password</label> <input type="password" id="loginForm_password" class="password" autocomplete="off" name="password" ng-model="dialogCtrl.userLogin.password" autocomplete="off" required> <div ng-messages="loginForm.password.$error"> <div ng-message="required">This field is required</div> </div> </md-input-container> <div layout="row" layout-align-gt-xs="left left"> <itx-button ng-click="dialogCtrl.login(dialogCtrl.userLogin, dialogCtrl)" is-disabled="loginForm.$invalid" button-type="'submit'" enable-progress="dialogCtrl.ongoingPetition"> ENTER </itx-button> </div> </form> </div> </md-content> </md-dialog-content> </md-dialog></script><script id="update-phone-verification-modal.tpl" type="text/ng-template"><md-dialog layout-padding flex="40" class="update-phone-verification-modal"> <md-toolbar> <div layout="row" layout-align="end center"> <div> <md-icon class="icon-10 close-dialog" md-svg-src="/static/itxwebstandard/images/ic_cerrar.svg?t=2019041110311151db1176774530" ng-click="dialogCtrl.resolve()" aria-label="Close dialog"> </md-icon> </div> </div> </md-toolbar> <md-dialog-content> <div class="update-phone-verification-container"> <form class="update-phone-form" name="updateForm" method="post" novalidate> <itx-phone-field pattern="$root.validations.phone1" model="dialogCtrl.phone" field-name="'phone'" field="updateForm.phone" field-required="true"> </itx-phone-field> <itx-button is-disabled="updateForm.phone.$invalid" ng-click="dialogCtrl.updateVerificatedPhone(dialogCtrl.resolve)"> Accept </itx-button> </form> </div> </md-dialog-content> </md-dialog></script><script id="wechat-qr.tpl" type="text/ng-template"><md-dialog layout-padding flex="20" class="wechat-qr-modal"> <md-toolbar> <div layout="row" layout-align="end center"> <div> <md-icon class="icon-10 close-dialog" md-svg-src="/static/itxwebstandard/images/ic_cerrar.svg?t=2019041110311151db1176774530" ng-click="dialogCtrl.hide()" aria-label="Close dialog"> </md-icon> </div> </div> </md-toolbar> <md-dialog-content> <md-content layout-padding> <div class="weChat-qr-modal"> <div class="weChat-logo"> <img class="logo" ng-src="{{ dialogCtrl.params.weChatInfo.weChatLogo }}" /><img class="recommended" ng-src="{{ dialogCtrl.params.weChatInfo.weChatRecommended }}" /> <span class="wechat-order-amount" ng-bind-html="dialogCtrl.params.formattedOrderPrice"></span> </div> <div class="weChat-qr"> <qrcode data="{{ dialogCtrl.params.weChatInfo.qrLink }}"></qrcode> </div> <div class="weChat-scanqr"> <img ng-src="{{ dialogCtrl.params.weChatInfo.weChatScanQR }}" /> </div> </div> </md-content> </md-dialog-content> </md-dialog> </div></script><script id="wishlist-name-modal.tpl" type="text/ng-template"><md-dialog layout-padding flex="20" class="wishlist-name-modal"> <md-toolbar> <div layout="row" layout-align="end center"> <div> <md-icon class="icon-10 close-dialog" md-svg-src="/static/itxwebstandard/images/ic_cerrar.svg?t=2019041110311151db1176774530" ng-click="dialogCtrl.hide()" aria-label="Close dialog"> </md-icon> </div> </div> </md-toolbar> <md-dialog-content> <ng-form name="wishlistNameForm" method="post"> <div class="input-wishlist-name-container"> <md-input-container class="input-wishlist-name"> <label> {{ ::("wishlist.name" | property) }} </label> <input type="text" name="wishlistName" id="wishlistName" ng-maxlength="32" md-maxlength="32" ng-model="dialogCtrl.wishlistName" ng-required="true" md-autofocus> <div ng-messages="wishlistNameForm.wishlistName.$error"> <div ng-message="required"> {{ ::("wishlist.name.error" | property) }} </div> <div ng-message="maxlength"> {{ ::("ItxMyAccountPersonalPage.helper.nameTooLong" | property) }} </div> </div> </md-input-container> <md-input-container class="wishlist-public-check" ng-if="::dialogCtrl.showPublicWishlistCheck"> <md-checkbox name="wishlistPublic" id="wishlistPublic" ng-model="dialogCtrl.wishlistPublic"> <span> {{ ::("FIELD.publicWishlist" | property) }} </span> </md-checkbox> </md-input-container> <itx-button ng-click="dialogCtrl.wishlistName && dialogCtrl.resolve({ wishlistName: dialogCtrl.wishlistName, wishlistPublic: dialogCtrl.wishlistPublic })"> {{ ::("ACCEPT_BUTTON" | property) }} </itx-button> </div> </ng-form> </md-dialog-content> </md-dialog></script><script id="newsletter-advice.tpl" type="text/ng-template"><div class="nl-advice-container" ng-if="itxNewsletterAdviceCtrl.showAdvice"> <div class="nl-icon"> <md-icon class="icon-10 close-dialog" md-svg-src="/static/itxwebstandard/images/ic_cerrar.svg?t=2019041110311151db1176774530" ng-click="itxNewsletterAdviceCtrl.closeNewsletterAdvice()" aria-label="Close dialog"> </md-icon> </div> <div> <a class="nl-advice-msg" ng-click="itxNewsletterAdviceCtrl.goToNewsletterSection()"> <itx-spot type="Newsletter_Popup_Header"></itx-spot> <itx-spot type="Newsletter_Popup"></itx-spot> </a> </div> </div></script><script id="order-summary-panel.tpl" type="text/ng-template"><div id="order-resume" class="order-resume-panel" ng-cloak> <div class="order-resume-header"> <div class="row"> <div class="order-resume-title col-xs-6 col-sm-12"> <h2> {{ ::("order.summary" | property) }} </h2> </div> </div> <div class="order-resume-count"> <span> ({{ itxOrderSummaryPanelCtrl.cartItemsSize > 1 ? itxOrderSummaryPanelCtrl.cartItemsSize + ' items' : itxOrderSummaryPanelCtrl.cartItemsSize + ' item' }}) </span> </div> </div> <div class="order-resume-body" ng-cloak> <!-- SHOPCART ORDER RESUME --> <div class="order-summary"> <div id="cart-total-products"> <div class="total-articles row"> <div class="col-xs-8"> <span> {{ ::("TOTAL_PRODUCTS_PRICE" | property) }}: </span> <span class="reference" ng-if="itxOrderSummaryPanelCtrl.taxIncluded && $root.inditex.iCountryCode !== 'AE' && $root.inditex.iCountryCode !== 'ES' && $root.inditex.iCountryCode !== 'IC'"> {{ ::("ItxShopCartPage.resume.taxIncluded" | property) }} </span> <span class="reference" ng-if="itxOrderSummaryPanelCtrl.taxIncluded && ($root.inditex.iCountryCode === 'ES' || $root.inditex.iCountryCode === 'IC')"> {{ ::("ItxShopCartPage.resume.taxIncluded" | property) }} <b ng-click="itxOrderSummaryPanelCtrl.openTermsWindow()">*</b> </span> </div> <div class="col-xs-4 total-products"> <span ng-bind-html='itxOrderSummaryPanelCtrl.formatPrice(itxOrderSummaryPanelCtrl.cart.totalProduct)'></span> </div> </div> </div> <div id="cart-shipping-price" class="row" ng-if="!itxOrderSummaryPanelCtrl.virtualCard && !itxOrderSummaryPanelCtrl.isShopcart"> <div class="col-xs-8"> <span> {{ ::("ItxOrderDetailDisplay.shipping.prices" | property) }}: </span> </div> <div class="col-xs-4 cart-shipping-price"> <span ng-if="itxOrderSummaryPanelCtrl.cart.shipping.priceWithDiscounts !== undefined && itxOrderSummaryPanelCtrl.cart.shipping.priceWithDiscounts !== null" ng-bind-html='itxOrderSummaryPanelCtrl.formatPrice(itxOrderSummaryPanelCtrl.cart.shipping.priceWithDiscounts)'></span> <span ng-if="(itxOrderSummaryPanelCtrl.cart.shipping.priceWithDiscounts === undefined || itxOrderSummaryPanelCtrl.cart.shipping.priceWithDiscounts === null) && $root.inditex.iPage !== 'ItxOrderRepaymentPage'" ng-bind-html='itxOrderSummaryPanelCtrl.formatPrice(itxOrderSummaryPanelCtrl.cart.shipping.price)'></span> <span ng-if="$root.inditex.iPage === 'ItxOrderRepaymentPage'" ng-bind-html='itxOrderSummaryPanelCtrl.formatPrice(itxOrderSummaryPanelCtrl.cart.shippingPrice)'></span> </div> </div> <!-- DESCUENTOS --> <div id="cart-discount"> <div ng-repeat="adjustment in itxOrderSummaryPanelCtrl.cart.adjustment" ng-if="!adjustment.isShipping" class="row"> <div class="col-xs-8"> <span class=""> {{adjustment.description}}: </span> </div> <div class="col-xs-4 cart-adjustment"> <span class="number" ng-bind-html='itxOrderSummaryPanelCtrl.formatPrice(adjustment.amount)'></span> </div> </div> </div> <div class="card-discount"> <div ng-repeat="adjustment in itxOrderSummaryPanelCtrl.cardAdjustments" ng-if="adjustment" class="row"> <div class="col-xs-8"> <span class=""> {{ ::("EMPLOYEE_CARD_BALANCE" | property) }}: </span> </div> <div class="col-xs-4 cart-adjustment"> -<span class="number" ng-bind-html='itxOrderSummaryPanelCtrl.formatPrice(adjustment.amount)'></span> </div> </div> </div> </div> <div ng-if="$root.inditex.iCountryCode === 'WW' && itxOrderSummaryPanelCtrl.cart.tax === null"> <div class="col-xs-12"> * {{ ::("importCostNotIncluded" | property) }} </div> </div> <div id="cart-tax" ng-if="!itxOrderSummaryPanelCtrl.isShopcart && itxOrderSummaryPanelCtrl.cart.tax > 0 && itxOrderSummaryPanelCtrl.cart.isNoNexus !== '1'"> <div class="col-xs-8"> <span ng-if="$root.inditex.iCountryCode !== 'WW'"> {{ ::("ItxOrderDetailDisplay.tax" | property) }}: </span> <span ng-if="$root.inditex.iCountryCode === 'WW'"> {{ ::("ItxOrderDetailDisplay.importCost" | property) }}: </span> </div> <div class="col-xs-4 text-right"> <span ng-bind-html='itxOrderSummaryPanelCtrl.formatPrice(itxOrderSummaryPanelCtrl.cart.tax)'></span> </div> </div> <!-- ECO TASA --> <div id="cart-eco-tax" class="row" ng-repeat="itemTax in itxOrderSummaryPanelCtrl.cart.itemTaxes" ng-if="!itxOrderSummaryPanelCtrl.isShopcart && itxOrderSummaryPanelCtrl.cart.itemTaxes.length > 0 && itxOrderSummaryPanelCtrl.cart.isNoNexus!='1'"> <div ng-if="itemTax.name === 'eco_tax'"> <div ng-if="$first" class=""> <span class="reference"> {{ ::("ItxShopCartPage.eco.tasa" | property) }}: </span> </div> <div class=""> <span class="reference"> {{itemTax.reference}} </span> </div> <div class=""> <span ng-bind-html='itxOrderSummaryPanelCtrl.formatPrice(itemTax.price)' class="reference"></span> </div> </div> </div> <div class="cart-total-separator row"></div> <!-- SHOPCART TOTAL --> <div id="cart-total" class="row" ng-if="itxOrderSummaryPanelCtrl.cart.items.length > 0"> <div class="col-xs-8 total-title"> <span> {{ ::("order.total" | property) }} </span> </div> <div class="col-xs-4 total-price"> <span ng-if="!itxOrderSummaryPanelCtrl.isShopcart && $root.inditex.iPage !== 'ItxOrderRepaymentPage'" ng-bind-html="itxOrderSummaryPanelCtrl.formatPrice(itxOrderSummaryPanelCtrl.totalPrice - itxOrderSummaryPanelCtrl.cardAdjustmentsTotalAmount + itxOrderSummaryPanelCtrl.cart.tax)"></span> <span ng-if="$root.inditex.iPage === 'ItxOrderRepaymentPage'" ng-bind-html="itxOrderSummaryPanelCtrl.formatPrice(itxOrderSummaryPanelCtrl.cart.totalOrder)"></span> <span ng-if="itxOrderSummaryPanelCtrl.isShopcart" ng-bind-html="itxOrderSummaryPanelCtrl.formatPrice(itxOrderSummaryPanelCtrl.totalPrice)+'*'" itx-tool-tip="the total amount may change depending on the delivery method selected"></span> </div> </div> </div> <!-- SHOPCART EXTRAS --> <div class="shopcart-extras"> <div ng-if="itxOrderSummaryPanelCtrl.isShopcart"> <!--Ticket regalo--> <md-input-container ng-if="itxOrderSummaryPanelCtrl.canGiftTicket && !itxOrderSummaryPanelCtrl.virtualCard"> <md-checkbox ng-model="itxOrderSummaryPanelCtrl.hasGiftTicket" ng-click="itxOrderSummaryPanelCtrl.toggleGiftTicket()" aria-label="Gift receipt"> {{ ::("ItxShopCartPage.gift.ticket" | property) }} </md-checkbox> </md-input-container> <!-- regalo --> <md-input-container ng-if="itxOrderSummaryPanelCtrl.canGiftPacking && !itxOrderSummaryPanelCtrl.virtualCard"> <md-checkbox ng-model="itxOrderSummaryPanelCtrl.giftPacking" ng-click="itxOrderSummaryPanelCtrl.toggleGiftPacking()" aria-label="Gift wrap"> {{ ::("general.envoltorioRegalo" | property) }} </md-checkbox> <a ng-if="itxOrderSummaryPanelCtrl.enabledGiftPackingBySku && itxOrderSummaryPanelCtrl.canGiftPacking && itxOrderSummaryPanelCtrl.cart.giftPacking" ng-click="itxOrderSummaryPanelCtrl.openGiftPackingBySkuModal()">- {{ ::("btn.modify" | property) }}</a> </md-input-container> <a class="order-custom-message" ng-if="itxOrderSummaryPanelCtrl.canGiftPacking && itxOrderSummaryPanelCtrl.cart.giftPacking && itxOrderSummaryPanelCtrl.allProductsGiftWrapped" ng-click="itxOrderSummaryPanelCtrl.showPrompt()"> {{ ::("ItxShopcartPage.personalisedMessage" | property) }} </a> </div> <div class="resume-options-checked" ng-if="!itxOrderSummaryPanelCtrl.isShopcart"> <!-- Si no es la cesta, mostramos ticket regalo, envoltorio regalo, mensaje personalizado con el check y fijados para informar --> <div> <md-checkbox ng-if="itxOrderSummaryPanelCtrl.hasGiftTicket" ng-checked="true" ng-disabled="true"> {{ ::("ItxShopCartPage.gift.ticket" | property) }} </md-checkbox> </div> <div> <md-checkbox ng-if="itxOrderSummaryPanelCtrl.cart.giftPacking" ng-checked="true" ng-disabled="true"> {{ ::("general.envoltorioRegalo" | property) }} </md-checkbox> </div> <div> <md-checkbox ng-if="itxOrderSummaryPanelCtrl.cart.message && itxOrderSummaryPanelCtrl.cart.message.length > 0" ng-checked="true" ng-disabled="true"> {{ ::("ItxShopcartPage.personalisedMessage" | property) }} </md-checkbox> </div> </div> </div> <div class="promocode-container"> <!-- PROMOTIONAL CODE --> <div ng-if="itxOrderSummaryPanelCtrl.showPromoCode" class="extra-option"> <div class="message-error" ng-if="itxOrderSummaryPanelCtrl.promoCodeError"> <span class="icon icon-warning icon-warning-gen"></span> <span ng-bind-html="itxOrderSummaryPanelCtrl.promoCodeErrorDescription"></span> </div> <p> <a class="link-1" ng-if="itxOrderSummaryPanelCtrl.showPromoLink" ng-click="itxOrderSummaryPanelCtrl.toggleShowPromoForm()"> {{ ::("ItxShopCartPage.has.promo.code.message" | property) }} </a> </p> <div class="codigos-usar row" ng-if="itxOrderSummaryPanelCtrl.cart.promotion && itxOrderSummaryPanelCtrl.cart.promotion.length > 0"> <div> <p> {{ ::("ItxShopCartPage.codes.added" | property) }}: </p> </div> <div> <p class="code" ng-repeat="promotion in itxOrderSummaryPanelCtrl.cart.promotion"> <a ng-click="itxOrderSummaryPanelCtrl.removePromoCode(promotion.code)" title="Delete product from trolley"> <span class="icon icon-close"></span> </a> {{ promotion.code }} </p> </div> </div> <div ng-if="itxOrderSummaryPanelCtrl.showPromoForm && itxOrderSummaryPanelCtrl.showPromoLink" class="show-promo-code"> <ng-form name="formPromoCode" method="post" novalidate> <md-input-container> <input type="text" name="promotional-code" id="promotional-code" ng-model="itxOrderSummaryPanelCtrl.newPromoCode" required> </md-input-container> <itx-button class="itx-button-black" ng-click="itxOrderSummaryPanelCtrl.addPromoCode()" button-type="'submit'" enable-progress="itxOrderSummaryPanelCtrl.ongoingPetition"> {{ ::("ItxShopCartPage.add.code" | property) }} </itx-button> </ng-form> </div> </div> <!-- END PROMOTIONAL CODE --> <p ng-if="!itxOrderSummaryPanelCtrl.showPromoLink" class="promocode-warning"> {{ ::("checkout.promoCodewarning" | property) }} </p> </div> <div ng-if="itxOrderSummaryPanelCtrl.phoneAssistedMessageEnabled" class="phone-assist-message"> <p> <span> {{ ::("checkout.phoneAssistedMessage.line1" | property) }} </span><br/> <span> {{ ::("checkout.phoneAssistedMessage.line2" | property:[$root.inditex.iStoreJSON.details.supportPhone]) }} </p> </div> </div></script><script id="add-product-wishlist.tpl" type="text/ng-template"><div class="wishlist-button"> <a ng-if="$root.device.isDesktopDevice && !$root.isDesktopMobile && !$root.isDesktopTablet" id="toWishlist_{{::itxAddProductWishlistCtrl.product.id}}_mobile" ng-class="{'on': itxAddProductWishlistCtrl.iconEnabled}" ng-click="itxAddProductWishlistCtrl.openWishlistList()"> <span class="icon" ng-class="{'icon-heart-o': !itxAddProductWishlistCtrl.iconEnabled, 'icon-heart': itxAddProductWishlistCtrl.iconEnabled}"> </a> <a ng-if="!$root.device.isDesktopDevice || $root.isDesktopMobile || $root.isDesktopTablet" ng-class="{'on': itxAddProductWishlistCtrl.iconEnabled}" ng-click="itxAddProductWishlistCtrl.openSelector()"> <span class="icon" ng-class="{'icon-heart-o': !itxAddProductWishlistCtrl.iconEnabled, 'icon-heart': itxAddProductWishlistCtrl.iconEnabled}"> </a> </div></script><script id="bundle-buy-set.tpl" type="text/ng-template"><div class="btn-open-buy-set" ng-class="{'showBox': itxBundleBuySetCtrl.showBox && itxBundleBuySetCtrl.boxImage}"> <itx-button ng-click="itxBundleBuySetCtrl.openBuySet()" class="btn-container"> <div class="box-img-container" ng-if="itxBundleBuySetCtrl.showBox && itxBundleBuySetCtrl.boxImage && $root.device.isDesktopDevice && !$root.isDesktopMobile && !$root.isDesktopTablet"> <img class="image" ng-src="{{itxBundleBuySetCtrl.boxImage.url}}"> </div> PURCHASE BY SET </itx-button> </div> <p class="box-text" ng-if="itxBundleBuySetCtrl.$rootScope.boxActive && itxBundleBuySetCtrl.showBox">{{itxBundleBuySetCtrl.boxText.message_left}} <a ng-click="itxBundleBuySetCtrl.openExample()">See example</a></p></script><script id="bundle-detail-mobile.tpl" type="text/ng-template"><div class="detail-container bundle-detail-container"> <article> <div class="image-block bundle-image-block" itx-square-height="1.239"> <itx-product-image-slider class="detail-slider-image-container" product="itxBundleDetailCtrl.bundle" photos="itxBundleDetailCtrl.bundleColorImages" xmedia-photos="itxBundleDetailCtrl.isXmediaProduct"> </itx-product-image-slider> </div> <div class="product-actions" ng-class="{'no-colors' : itxBundleDetailCtrl.bundleVisibleColors.length < 2 }"> <div class="color-container" ng-if="itxBundleDetailCtrl.bundleVisibleColors.length > 1"> <itx-product-color-selector class="color-selector-mobile" ng-class="{overflowed : itxBundleDetailCtrl.bundleVisibleColors.length > 4}" product-colors="itxBundleDetailCtrl.bundleVisibleColors" selected-color="itxBundleDetailCtrl.bundleCurrentVisibleColor" on-set-product-current-color="itxBundleDetailCtrl.setBundleCurrentColor(color)" template="product-color-selector-mobile.tpl"> </itx-product-color-selector> </div> <itx-bundle-buy-set ng-if="::itxBundleDetailCtrl.buySetVisible" class="add-product-container" bundle="itxBundleDetailCtrl.bundle" buy-set-box-info="::itxBundleDetailCtrl.buySetBoxInfo" components-in-set="itxBundleDetailCtrl.componentsInSet"> </itx-bundle-buy-set> </div> <h2 class="product-name" ng-bind="itxBundleDetailCtrl.bundle.name"></h2> <div class="price-container"> <itx-product-price class="price-display" product="itxBundleDetailCtrl.bundle" selected-color="itxBundleDetailCtrl.selectedColor" show-measures="true"> </itx-product-price> </div> </article> </div></script><script id="bundle-detail-modal-cmp.tpl" type="text/ng-template"><itx-loader class="dialog-loader" show="itxBundleDetailModalCtrl.loading"></itx-loader> <itx-product-navbar class="navbar" ng-if="($root.inditex.iCategoryJSON && $root.inditex.iCategoryKey.indexOf('NOWEB') === -1 && !itxBundleDetailModalCtrl.loading && itxBundleDetailModalCtrl.isLookbook )" category-detail="::$root.inditex.iCategoryJSON" prev-product="itxBundleDetailModalCtrl.prevProduct.productJSON" next-product="itxBundleDetailModalCtrl.nextProduct.productJSON" to-prev-product="itxBundleDetailModalCtrl.prevBundle()" to-next-product="itxBundleDetailModalCtrl.nextBundle()"> </itx-product-navbar> <section ng-if="!itxBundleDetailModalCtrl.loading"> <div class="image-container"> <itx-product-image-slider product="itxBundleDetailModalCtrl.bundle" photos="itxBundleDetailModalCtrl.bundleColorImages" xmedia-photos="itxBundleDetailModalCtrl.isXmediaProduct" template="product-bundle-slider.tpl"> </itx-product-image-slider> </div> <div class="products-container"> <h2 ng-if="!itxBundleDetailModalCtrl.isLookbook" ng-bind="::itxBundleDetailModalCtrl.bundle.name"></h2> <h2 ng-if="itxBundleDetailModalCtrl.isLookbook" ng-bind="::$root.inditex.iCategoryJSON.name"></h2> <div class="products"> <article ng-repeat="product in itxBundleDetailModalCtrl.bundle.bundleProductSummaries" ng-if="['hidden', 'sold_out'].indexOf(product.visibility) === -1 && !product.hidden" class="row producto bundle-producto"> <itx-product-detail product="::product" product-images="::product.productImages" is-xmedia="::product.isXmedia" single-image="true" parent-product="::itxBundleDetailModalCtrl.bundle" bundle-component="true" is-lookbook="true" product-type="::itxBundleDetailModalCtrl.bundle.type" product-index="$index" is-modal="true"> </itx-product-detail> </article> </div> </div> </section></script><script id="bundle-detail-tablet.tpl" type="text/ng-template"><div class="detail-container bundle-detail-container"> <article> <div class="image-block bundle-image-block"> <itx-product-image-slider class="bundle-image-container" product="itxBundleDetailCtrl.bundle" photos="itxBundleDetailCtrl.bundleColorImages" xmedia-photos="itxBundleDetailCtrl.isXmediaProduct" disable-slider="itxBundleDetailCtrl.disableSlider"> </itx-product-image-slider> </div> <div class="product-info-block"> <div class="scrollbar-hide"> <div class="content-box"> <div class="header" ng-style="::{'margin-bottom' : (itxBundleDetailCtrl.bundleVisibleColors.length < 2) ? '73px' : '15px' }"> <h2 class="product-name" ng-bind="::itxBundleDetailCtrl.bundle.name"></h2> <p class="referencia">ref. {{::itxBundleDetailCtrl.bundle.detail.displayReference}}</p> <itx-product-price class="product-price-container" product="itxBundleDetailCtrl.bundle" selected-color="itxBundleDetailCtrl.selectedColor"> </itx-product-price> </div> <itx-product-color-selector class="select-color-container" ng-if="itxBundleDetailCtrl.bundleVisibleColors.length > 1" product-colors="::itxBundleDetailCtrl.bundleVisibleColors" selected-color="itxBundleDetailCtrl.bundleCurrentVisibleColor" on-set-product-current-color="itxBundleDetailCtrl.setBundleCurrentColor(color)"> </itx-product-color-selector> <div class="actions-block"> <div ng-if="itxBundleDetailCtrl.enableOrderButton && $root.inditex.iCountryCode !== 'CN'" id="btn-tramitar"> <a ng-click="itxBundleDetailCtrl.goToShopCart()" class="tramitar"> <itx-button class="itx-button-black"> Process order </itx-button> </a> </div> <itx-bundle-buy-set ng-if="::itxBundleDetailCtrl.buySetVisible" class="add-product-container" bundle="itxBundleDetailCtrl.bundle" buy-set-box-info="::itxBundleDetailCtrl.buySetBoxInfo" buy-set-added="itxBundleDetailCtrl.buySetAdded()" components-in-set="itxBundleDetailCtrl.componentsInSet"> </itx-bundle-buy-set> <div class="description-container" ng-if="itxBundleDetailCtrl.bundle.detail.longDescription"> <div id="product-description" itx-collapse-element="48"> <p ng-bind-html="itxBundleDetailCtrl.bundle.detail.longDescription"> </p> </div> </div> </div> <itx-product-info product="::itxBundleDetailCtrl.bundle" selected-color="itxBundleDetailCtrl.bundleCurrentVisibleColor" parent-product="itxBundleDetailCtrl.bundle"> </itx-product-info> <div class="relatedProducts-container"> <div ng-if="itxBundleDetailCtrl.bundle.bundleProductSummaries && itxBundleDetailCtrl.bundle.bundleProductSummaries.length"> <itx-related-products class="bundle-product-components" product-list="itxBundleDetailCtrl.bundle.bundleProductSummaries" heading-text="'ItxProductPage.relatedMobileHeading'" slides-per-view="2" from="'bundle_components'" parent-product="itxBundleDetailCtrl.bundle"> </itx-related-products> </div> <div ng-if="itxBundleDetailCtrl.relatedProducts && itxBundleDetailCtrl.relatedProducts.length"> <itx-related-products class="look-meccano-relateds" product-list="itxBundleDetailCtrl.relatedProducts" heading-text="'ItxProductPage.complete.the.look'" slides-per-view="2" from="'productos_relacionados'" parent-product="itxBundleDetailCtrl.bundle"> </itx-related-products> </div> </div> </div> </div> </div> </article> </div></script><script id="bundle-detail.tpl" type="text/ng-template"><article class="row bundle-detail fade"> <div class="bundle-content-container row" itx-all-images-loaded=".detail-image" itx-all-images-loaded-event="loaded:bundleImages"> <div class="image-block bundle-image-block col-sm-6 col-lg-6"> <itx-product-image-slider product="itxBundleDetailCtrl.bundle" photos="itxBundleDetailCtrl.bundleColorImages" xmedia-photos="itxBundleDetailCtrl.isXmediaProduct" class="detail-slider-image-container" template="product-bundle-slider.tpl"> </itx-product-image-slider> </div> <div class="bundle-component-container col-sm-6 col-lg-6"> <div class="bundle-article-container"> <div class="row"> <div ng-if="itxBundleDetailCtrl.showBundleHeader" class="bundle-header"> <h2 id="bundle-title" ng-bind="itxBundleDetailCtrl.bundle.name"></h2> <h3 id="bundle-description" ng-if="itxBundleDetailCtrl.bundle && itxBundleDetailCtrl.bundle.detail && itxBundleDetailCtrl.bundle.detail.longDescription" ng-bind-html="itxBundleDetailCtrl.bundle.detail.longDescription"> </h3> <itx-product-price product="itxBundleDetailCtrl.bundle" show-measures="true"> </itx-product-price> <itx-product-color-selector ng-if="itxBundleDetailCtrl.bundleVisibleColors.length > 1" product-colors="itxBundleDetailCtrl.bundleVisibleColors" selected-color="itxBundleDetailCtrl.bundleCurrentVisibleColor" on-set-product-current-color="itxBundleDetailCtrl.setBundleCurrentColor(color)"> </itx-product-color-selector> <itx-bundle-buy-set class="buyset-bundle" ng-if="::itxBundleDetailCtrl.buySetVisible" bundle="itxBundleDetailCtrl.bundle" buy-set-box-info="::itxBundleDetailCtrl.buySetBoxInfo" buy-set-closed="itxBundleDetailCtrl.buySetClosed()" components-in-set="itxBundleDetailCtrl.componentsInSet"> </itx-bundle-buy-set> </div> </div> <article ng-repeat="product in itxBundleDetailCtrl.bundle.bundleProductSummaries" ng-if="['hidden', 'sold_out'].indexOf(product.visibility) === -1 && !product.hidden" class="row producto bundle-producto"> <itx-product-detail product="::product" product-images="::product.productImages" is-xmedia="::product.isXmedia" single-image="true" parent-product="::itxBundleDetailCtrl.bundle" bundle-component="true" product-type="::itxBundleDetailCtrl.bundle.type"> </itx-product-detail> </article> </div> </div> </div> </article></script><script id="buyset-item.tpl" type="text/ng-template"><article ng-class="{'no-selected' : !itxBuySetItemCtrl.product.isSelected}" ng-if="itxBuySetItemCtrl.selectionable || (!itxBuySetItemCtrl.selectionable && itxBuySetItemCtrl.product.isSelected)"> <div class="buyset-check" ng-if="itxBuySetItemCtrl.selectionable"> <md-checkbox ng-change="itxBuySetItemCtrl.selectProduct()" ng-model="itxBuySetItemCtrl.product.isSelected"> </md-checkbox> </div> <!-- img --> <div class="buyset-image"> <img ng-src="{{ itxBuySetItemCtrl.product.imageInfo.url }}" /> </div> <!-- product name --> <div class="buyset-product-name"> <span ng-bind-html="itxBuySetItemCtrl.product.name"></span> </div> <div class="buyset-separator"></div> <!-- product price --> <div class="product-set-prices"> <div ng-if="(itxBuySetItemCtrl.product.priceRanges.priceNotAvailable || !itxBuySetItemCtrl.product.oldAndCurrentPricesAreDifferent || !itxBuySetItemCtrl.product.priceRanges.someOldPricesWereDefined)"> <b ng-if="itxBuySetItemCtrl.product.priceRanges.priceNotAvailable"> {{ ::("product.no_price" | property) }} </b> <b ng-if="!itxBuySetItemCtrl.product.priceRanges.priceNotAvailable" ng-bind-html='itxBuySetItemCtrl.formatPriceRange(itxBuySetItemCtrl.product.priceRanges.current)'></b> </div> <div class="rebajado" ng-if="itxBuySetItemCtrl.product.oldAndCurrentPricesAreDifferent && itxBuySetItemCtrl.product.priceRanges.someOldPricesWereDefined && !itxBuySetItemCtrl.product.priceRanges.priceNotAvailable"> <b ng-bind-html='itxBuySetItemCtrl.formatPriceRange(itxBuySetItemCtrl.product.priceRanges.current)'></b> </div> <div class="tachado" ng-if="itxBuySetItemCtrl.product.oldAndCurrentPricesAreDifferent && itxBuySetItemCtrl.product.priceRanges.someOldPricesWereDefined && !itxBuySetItemCtrl.product.priceRanges.priceNotAvailable"> <span ng-bind-html='itxBuySetItemCtrl.formatPriceRange(itxBuySetItemCtrl.product.priceRanges.old)' /> </div> </div> <!-- product quantity --> <div class="buyset-product-quantity"> <div> <span ng-if="itxBuySetItemCtrl.product.productOfSet" ng-bind-html="itxBuySetItemCtrl.qty"></span> <itx-product-quantity-selector ng-if="!itxBuySetItemCtrl.product.productOfSet" is-required="true" on-quantity-change="itxBuySetItemCtrl.quantityChange(units)"> </itx-product-quantity-selector> </div> </div> <!-- product total --> <div class="buyset-product-total"> <div ng-if="itxBuySetItemCtrl.product.buySetSizeSelected"> <b ng-if="itxBuySetItemCtrl.product.productOfSet" ng-bind-html="itxBuySetItemCtrl.ItxHelper.formatPrice(itxBuySetItemCtrl.product.buySetSizeSelected.price * itxBuySetItemCtrl.qty)"></b> <b ng-if="!itxBuySetItemCtrl.product.productOfSet" ng-bind-html="itxBuySetItemCtrl.ItxHelper.formatPrice(itxBuySetItemCtrl.product.buySetSizeSelected.price * itxBuySetItemCtrl.product.quantityToAdd)"></b> </div> </div> </article></script><script id="photo-swipe.tpl" type="text/ng-template"><div class="pswp" tabindex="-1" role="dialog" aria-hidden="true"> <div class="pswp__bg"></div> <div class="pswp__scroll-wrap"> <div class="pswp__container"> <div class="pswp__item"></div> <div class="pswp__item"></div> <div class="pswp__item"></div> </div> <div class="pswp__ui pswp__ui--hidden"> <div class="pswp__top-bar"> <div class="pswp__counter"></div> <button ng-if="itxPhotoSwipeCtrl.showClose" class="pswp__button pswp__button--close" title="Close (Esc)"></button> <div class="pswp__preloader"> <div class="pswp__preloader__icn"> <div class="pswp__preloader__cut"> <div class="pswp__preloader__donut"></div> </div> </div> </div> </div> <div class="pswp__share-modal pswp__share-modal--hidden pswp__single-tap"> <div class="pswp__share-tooltip"></div> </div> <button class="pswp__button pswp__button--arrow--left" title="Previous (arrow left)"> </button> <button class="pswp__button pswp__button--arrow--right" title="Next (arrow right)"> </button> <div class="pswp__caption"> <div class="pswp__caption__center"></div> </div> </div> </div> </div></script><script id="product-add-selector.tpl" type="text/ng-template"><div class="addProduct-container"> <a class="primary-btn" ng-click="itxProductAddCtrl.openSelector()"> <span ng-if="itxProductAddCtrl.cartState ==='addible'">Add</span> <span ng-if="itxProductAddCtrl.cartState ==='added'">ADDED</span> </a> </div></script><script id="product-add-to-cart.tpl" type="text/ng-template"><itx-button id="btnAddToCart" class="btn-add-to-cart" ng-click="itxProductAddToCartCtrl.onAddToShopCartSelection()" progress-ok="itxProductAddToCartCtrl.cartState ==='added'" enable-progress="itxProductAddToCartCtrl.cartState === 'adding'" button-type="'submit'"> <span ng-if="(itxProductAddToCartCtrl.cartState ==='addible')">ADD TO BASKET</span> <span ng-if="(itxProductAddToCartCtrl.cartState ==='adding')">ADDING...</span> <span class="added" ng-if="(itxProductAddToCartCtrl.cartState ==='added')">ADDED</span> <span ng-if="itxProductAddToCartCtrl.showPrice && itxProductAddToCartCtrl.selectedSize.price" ng-bind-html="itxProductAddToCartCtrl.ItxHelper.formatPrice(itxProductAddToCartCtrl.units * itxProductAddToCartCtrl.selectedSize.price)"></span> </itx-button></script><script id="product-color-selector.tpl" type="text/ng-template"><ul itx-get-element-line="{{itxProductColorSelectorCtrl.productColors.length > 5}}" class="selecc-colores clearfix" aria-label="Choose a colour"> <li ng-repeat="colorObject in ::itxProductColorSelectorCtrl.productColors" ng-class="{'on': (colorObject.id === itxProductColorSelectorCtrl.selectedColor.id)}" ng-mouseenter="itxProductColorSelectorCtrl.colorMouseEnter(colorObject)" ng-mouseleave="itxProductColorSelectorCtrl.colorMouseLeave(colorObject)"> <span ng-if="itxProductColorSelectorCtrl.showColorName && colorObject.id === itxProductColorSelectorCtrl.selectedColor.id" class="selectedName" ng-bind="itxProductColorSelectorCtrl.selectedColor.name"></span> <a ng-click="itxProductColorSelectorCtrl.changeColor(colorObject, 'ficha_producto', false)"> <img ng-if="::(!$root.isXmediaEnabled || !colorObject.imageInfo)" ng-src="{{itxProductColorSelectorCtrl.ItxProductFactory.getProductImage(colorObject.image, 3, '5')}}" alt="{{ ::colorObject.name }}" title="{{ ::colorObject.name }}" itx-image-onload="itxProductColorSelectorCtrl.imageLoad()"> <img ng-if="::($root.isXmediaEnabled && colorObject.imageInfo)" ng-src="{{::colorObject.imageInfo.url}}" alt="{{ ::colorObject.name }}" title="{{ ::colorObject.name }}" itx-image-onload="itxProductColorSelectorCtrl.imageLoad()"> </a> <div class="colortip" ng-if="colorObject.displayColorName && !itxProductColorSelectorCtrl.$rootScope.isMobile"> <span ng-bind-html="::colorObject.name"></span> </div> </li> </ul></script><script id="product-color-selector-mobile.tpl" type="text/ng-template"><div itx-auto-scroll-on-cursor-position> <div class="selected-color-name"> <span ng-if="itxProductColorSelectorCtrl.showColorName && itxProductColorSelectorCtrl.showColorTip" ng-bind="itxProductColorSelectorCtrl.selectedColor.name"></span> </div> <itx-swiper nested="true" slides-per-view="{{ $root.isMobile ? 5 : ($root.device.isTabletDevice || $root.isDesktopTablet) ? 7 : $root.grid === 'grid2' ? 9 : 5}}" space-between="2%" instance="itxProductColorSelectorCtrl.colorSlider" initial-slide="{{itxProductColorSelectorCtrl.initialColorIndex}}" on-slider-move="itxProductColorSelectorCtrl.disableParentSlide" on-touch-end="itxProductColorSelectorCtrl.enableParentSlide"> <itx-slides> <itx-slide ng-repeat="colorObject in ::itxProductColorSelectorCtrl.productColors" ng-class="{'on': (colorObject.id === itxProductColorSelectorCtrl.selectedColor.id)}"> <a ng-click="itxProductColorSelectorCtrl.changeColor(colorObject, 'ficha_producto', false)"> <img ng-if="::(!$root.isXmediaEnabled || !colorObject.imageInfo)" ng-src="{{itxProductColorSelectorCtrl.ItxProductFactory.getProductImage(colorObject.image, 3, '5')}}" alt="{{ ::colorObject.name }}" title="{{ ::colorObject.name }}"> <img ng-if="::($root.isXmediaEnabled && colorObject.imageInfo)" ng-src="{{::colorObject.imageInfo.url}}" alt="{{ ::colorObject.name }}" title="{{ ::colorObject.name }}"> </a> </itx-slide> </itx-slides> </itx-swiper> </div></script><script id="product-detail-mobile.tpl" type="text/ng-template"><div class="detail-container"> <article class="row"> <div class="image-block" itx-square-height="1.239"> <itx-product-image-slider ng-if="itxProductDetailCtrl.productColorImages" class="detail-slider-image-container" product="::itxProductDetailCtrl.product" photos="itxProductDetailCtrl.productColorImages" xmedia-photos="::itxProductDetailCtrl.isXmediaProduct" single-image="::itxProductDetailCtrl.singleImage" slide-to="itxProductDetailCtrl.slideTo"> </itx-product-image-slider> <itx-product-info product="::itxProductDetailCtrl.product" selected-color="itxProductDetailCtrl.selectedColor" parent-product="::itxProductDetailCtrl.parentProduct" compositions="::itxProductDetailCtrl.compositions"> </itx-product-info> <itx-add-product-wishlist ng-if="$root.inditex.iUserJSON.userType !== 'G' && $root.inditex.iStoreJSON.details.wishListActivated == '1'" product="::itxProductDetailCtrl.product" product-sizes="itxProductDetailCtrl.productSizes" icon-enabled="itxProductDetailCtrl.wishlistIconEnabled" on-update-wishlist="itxProductDetailCtrl.updateWishlist(sku)"> </itx-add-product-wishlist> </div> <div class="product-actions" ng-class="::{'no-colors' : itxProductDetailCtrl.productVisibleColors.length < 2 }"> <div class="color-container" ng-if="::(itxProductDetailCtrl.productVisibleColors.length > 1)"> <itx-product-color-selector class="color-selector-mobile" ng-class="::{overflowed : itxProductDetailCtrl.productVisibleColors.length > 4}" product-colors="::itxProductDetailCtrl.productVisibleColors" selected-color="itxProductDetailCtrl.selectedColor" show-color-name="true" on-set-product-current-color="itxProductDetailCtrl.setProductCurrentColor(color)" template="product-color-selector-mobile.tpl"> </itx-product-color-selector> </div> <itx-product-add-selector class="add-product-container" ng-if="::itxProductDetailCtrl.isOpenForSale" product="::itxProductDetailCtrl.product" product-sizes="itxProductDetailCtrl.productSizes" selected-color="itxProductDetailCtrl.selectedColor" show-units="::itxProductDetailCtrl.canBeAddedToCart" on-select-product="itxProductDetailCtrl.mobileProductChange(product, size, units)"> </itx-product-add-selector> </div> <div ng-if="itxProductDetailCtrl.enableOrderButton && $root.inditex.iCountryCode !== 'CN'" class="goToCart-container"> <a ng-click="itxProductDetailCtrl.goToShopCart()" class="tramitar"> <itx-button class="itx-button-black"> {{ ::("btn.continue.checkout" | property) }} </itx-button> </a> </div> <h2 class="product-name" ng-bind="::itxProductDetailCtrl.product.name"></h2> <div class="price-container"> <itx-product-price class="price-display" product="::itxProductDetailCtrl.product" selected-color="itxProductDetailCtrl.selectedColor" selected-sku="itxProductDetailCtrl.selectedSku" hide-legal-spot="::itxProductDetailCtrl.hideLegalSpot" show-measures="true"> </itx-product-price> </div> <itx-product-audio ng-if="::(itxProductDetailCtrl.isAudio && itxProductDetailCtrl.product)" product="::itxProductDetailCtrl.product"> </itx-product-audio> </article> </div></script><script id="product-detail-tablet.tpl" type="text/ng-template"><!-- Bloque central de contenido--> <div class="detail-container product-detail-container"> <article> <!-- Bloque de imágenes --> <div class="image-block" itx-square-height="1.239"> <itx-product-image-slider ng-if="itxProductDetailCtrl.productColorImages && itxProductDetailCtrl.productType != 'BundleBean'" class="detail-slider-image-container" product="::itxProductDetailCtrl.product" photos="itxProductDetailCtrl.productColorImages" xmedia-photos="itxProductDetailCtrl.isXmediaProduct" single-image="::itxProductDetailCtrl.singleImage" slide-to="itxProductDetailCtrl.slideTo" disable-slider="itxProductDetailCtrl.disableSlider"> </itx-product-image-slider> <itx-add-product-wishlist ng-if="$root.inditex.iUserJSON.userType !== 'G' && $root.inditex.iStoreJSON.details.wishListActivated == '1'" ng-if="::itxProductDetailCtrl.isOpenForSale" product="::itxProductDetailCtrl.product" product-sizes="itxProductDetailCtrl.productSizes" icon-enabled="itxProductDetailCtrl.wishlistIconEnabled" on-update-wishlist="itxProductDetailCtrl.updateWishlist(sku)"> </itx-add-product-wishlist> </div> <div class="product-info-block"> <div class="scrollbar-hide"> <div class="content-box"> <div class="header" ng-style="::{'margin-bottom' : (itxProductDetailCtrl.productVisibleColors.length < 2) ? '73px' : '15px' }"> <h2 ng-bind="::itxProductDetailCtrl.product.name"> </h2> <p class="referencia">ref. {{::itxProductDetailCtrl.subfilteredReference}}</p> <itx-product-price class="product-price-container" product="::itxProductDetailCtrl.product" selected-color="itxProductDetailCtrl.selectedColor" selected-sku="itxProductDetailCtrl.selectedSku" hide-legal-spot="itxProductDetailCtrl.hideLegalSpot" show-measures="true"> </itx-product-price> </div> <itx-product-color-selector class="select-color-container" ng-if="::(itxProductDetailCtrl.productVisibleColors.length > 1)" product-colors="::itxProductDetailCtrl.productVisibleColors" selected-color="itxProductDetailCtrl.selectedColor" show-color-name="true" on-set-product-current-color="itxProductDetailCtrl.setProductCurrentColor(color)" template="product-color-selector-mobile.tpl"> </itx-product-color-selector> <div class="actions-block"> <itx-product-add-selector class="add-product-container" ng-if="::itxProductDetailCtrl.isOpenForSale" product="::itxProductDetailCtrl.product" product-sizes="itxProductDetailCtrl.productSizes" selected-color="itxProductDetailCtrl.selectedColor" show-units="::itxProductDetailCtrl.canBeAddedToCart" on-select-product="itxProductDetailCtrl.mobileProductChange(product, size, units)"> </itx-product-add-selector> <div ng-if="itxProductDetailCtrl.enableOrderButton && $root.inditex.iCountryCode !== 'CN'" id="btn-tramitar"> <a ng-click="itxProductDetailCtrl.goToShopCart()" class="tramitar"> <itx-button class="itx-button-black"> Process order </itx-button> </a> </div> <div class="size-description" ng-if="itxProductDetailCtrl.productSizes.length == 1"> <p ng-bind="itxProductDetailCtrl.productSizes[0].description"></p> </div> <div class="description-container"> <div id="product-description" itx-collapse-element="48"> <div id="product-description-paragraphs"> <p ng-if="::(itxProductDetailCtrl.product.detail.longDescription && itxProductDetailCtrl.product.detail.longDescription.length > 0)"> <span ng-bind-html="::(itxProductDetailCtrl.ItxProductFactory.getDescription(itxProductDetailCtrl.product))" /> </p> <p ng-if="::(itxProductDetailCtrl.product.detail.description && itxProductDetailCtrl.product.detail.description.length > 0)"> <span ng-bind-html="::(itxProductDetailCtrl.ItxProductFactory.getDescription(itxProductDetailCtrl.producto.detail.description))" /> </p> </div> </div> </div> <div class="description-container" ng-if="itxProductDetailCtrl.majorCompositionName"> <itx-spot product-composition-name="{{::itxProductDetailCtrl.majorCompositionName}}"></itx-spot> </div> <div ng-if="::(itxProductDetailCtrl.isAudio && itxProductDetailCtrl.product)"> <itx-product-audio product="::itxProductDetailCtrl.product"> </itx-product-audio> </div> </div> <itx-product-info product="::itxProductDetailCtrl.product" selected-color="itxProductDetailCtrl.selectedColor" parent-product="itxProductDetailCtrl.parentProduct" compositions="itxProductDetailCtrl.compositions"> </itx-product-info> <div class="relatedProducts-container"> <div ng-if="itxProductDetailCtrl.lookProducts && itxProductDetailCtrl.lookProducts.length"> <itx-related-products class="look-meccano-relateds" product-list="itxProductDetailCtrl.lookProducts" heading-text="'ItxProductPage.complete.the.look'" slides-per-view="2" from="'productos_relacionados'" meccano-recommendation-id="itxProductDetailCtrl.meccanoRelateds.lookType.recommendationId" parent-product="itxProductDetailCtrl.product"> </itx-related-products> </div> <div ng-if="itxProductDetailCtrl.relatedProducts && itxProductDetailCtrl.relatedProducts.length"> <itx-related-products class="related-meccano-relateds" product-list="itxProductDetailCtrl.relatedProducts" heading-text="'ItxProductPage.related.product'" slides-per-view="2" from="'productos_relacionados'" meccano-recommendation-id="itxProductDetailCtrl.meccanoRelateds.relatedType.recommendationId" parent-product="itxProductDetailCtrl.product"> </itx-related-products> </div> </div> </div> </div> </div> </article> </div></script><script id="product-detail.tpl" type="text/ng-template"><div class="detail-container product-detail-container" ng-mouseleave="itxProductDetailCtrl.toggleAddToCart(false)" ng-mouseenter="itxProductDetailCtrl.toggleAddToCart(true)"> <div style="{width:0; height:0, display:none;}" ng-if="itxProductDetailCtrl.productColorImages && itxProductDetailCtrl.productType != 'BundleBean'" itx-product-info-position="{{itxProductDetailCtrl.productType}}"> </div> <article class="row"> <div class="image-block"> <itx-product-image-slider ng-if="itxProductDetailCtrl.productColorImages && itxProductDetailCtrl.productType == 'BundleBean'" product="::itxProductDetailCtrl.product" photos="itxProductDetailCtrl.productColorImages" xmedia-photos="::itxProductDetailCtrl.isXmediaProduct" single-image="::itxProductDetailCtrl.singleImage" slide-to="itxProductDetailCtrl.slideTo"> </itx-product-image-slider> <itx-product-image-slider ng-if="itxProductDetailCtrl.productColorImages && itxProductDetailCtrl.productType != 'BundleBean'" class="detail-slider-image-container" product="::itxProductDetailCtrl.product" photos="itxProductDetailCtrl.productColorImages" xmedia-photos="::itxProductDetailCtrl.isXmediaProduct" single-image="::itxProductDetailCtrl.singleImage" slide-to="itxProductDetailCtrl.slideTo" disable-slider="itxProductDetailCtrl.disableSlider" itx-all-images-loaded=".detail-image" itx-all-images-loaded-event="loaded:sliderImages"> </itx-product-image-slider> </div> <div id="add-to-cart-container"> <div id="p{{::itxProductDetailCtrl.product.id}}" class="add-to-cart-block"> <div class="add-to-cart-detail-product-bean"> <div class="header"> <h2> <b ng-if="::!itxProductDetailCtrl.parentProduct" ng-bind="::itxProductDetailCtrl.product.name"></b> <a ng-if="::itxProductDetailCtrl.parentProduct" ng-mousedown="itxProductDetailCtrl.toBundleComponent($event)" ng-href="{{ ::itxProductDetailCtrl.stateHref }}" ng-bind="::itxProductDetailCtrl.product.name"> </a> </h2> <div ng-if="::itxProductDetailCtrl.isLookbook"> <itx-add-product-wishlist ng-if="$root.inditex.iUserJSON.userType !== 'G' && $root.inditex.iStoreJSON.details.wishListActivated == '1'" product="::itxProductDetailCtrl.product" product-sizes="itxProductDetailCtrl.productSizes" icon-enabled="itxProductDetailCtrl.wishlistIconEnabled" on-update-wishlist="itxProductDetailCtrl.updateWishlist(sku)"> </itx-add-product-wishlist> </div> <itx-product-price class="product-price-container" product="::itxProductDetailCtrl.product" selected-color="itxProductDetailCtrl.selectedColor" selected-sku="itxProductDetailCtrl.selectedSku" show-measures="true" hide-legal-spot="::itxProductDetailCtrl.hideLegalSpot"> </itx-product-price> <p class="referencia" ng-class="::{'noColorSelector' : itxProductDetailCtrl.productVisibleColors.length < 2 }"> {{ ::("ItxProductPage.ref" | property) }} {{::itxProductDetailCtrl.subfilteredReference}} </p> </div> <itx-product-color-selector class="select-color-container" ng-if="::(itxProductDetailCtrl.productVisibleColors.length > 1)" product-colors="::itxProductDetailCtrl.productVisibleColors" selected-color="itxProductDetailCtrl.selectedColor" show-color-name="true" on-set-product-current-color="itxProductDetailCtrl.setProductCurrentColor(color)"> </itx-product-color-selector> <div class="actions-block" ng-class="{'size-no-sale': !itxProductDetailCtrl.isOpenForSale, 'lookBlock' : itxProductDetailCtrl.isLookbook , 'showBlock' : itxProductDetailCtrl.showAddToCart }"> <ng-form name="addToBasketForm" method="post"> <itx-product-size-selector class="product-size-container col-xs-9 no-padding" ng-class="::{'no-quantity-selector': !itxProductDetailCtrl.canBeAddedToCart, 'single-size' : itxProductDetailCtrl.productSizes.length === 1}" ng-if="itxProductDetailCtrl.productSizes" product="::itxProductDetailCtrl.product" product-sizes="itxProductDetailCtrl.productSizes" event-name="'ficha_producto'" show-error="itxProductDetailCtrl.showFormError" on-size-select="itxProductDetailCtrl.sizeChange(sku,eventName, isInit)" on-show-detail="itxProductDetailCtrl.slideChange(slideTo)" on-backsoon-size="itxProductDetailCtrl.showBackSoonPrompt(sku)"> </itx-product-size-selector> <itx-product-quantity-selector class="product-quantity-container col-xs-3" ng-if="::itxProductDetailCtrl.canBeAddedToCart" is-required="true" on-quantity-change="itxProductDetailCtrl.quantityChange(units)"> </itx-product-quantity-selector> <itx-product-size-guide product="::itxProductDetailCtrl.product"> </itx-product-size-guide> <itx-product-add-to-cart class="addToCart-container" ng-if="::itxProductDetailCtrl.canBeAddedToCart" product="::itxProductDetailCtrl.product" selected-size="itxProductDetailCtrl.selectedSize" selected-color="itxProductDetailCtrl.selectedColor" units="itxProductDetailCtrl.units" cart-state="itxProductDetailCtrl.addToShopCartState" on-product-added="itxProductDetailCtrl.addToCart(product, enableProcessOrder, showBackSoonModal)"> </itx-product-add-to-cart> </ng-form> <div ng-if="itxProductDetailCtrl.enableOrderButton && $root.inditex.iCountryCode !== 'CN'" id="btn-tramitar"> <a ng-click="itxProductDetailCtrl.goToShopCart()" class="tramitar"> <itx-button class="itx-button-black"> {{ ::("btn.continue.checkout" | property) }} </itx-button> </a> </div> <div class="info-buttons-container" ng-if="::!itxProductDetailCtrl.isLookbook"> <itx-add-product-wishlist class="button-cmp" ng-if="$root.inditex.iUserJSON.userType !== 'G' && $root.inditex.iStoreJSON.details.wishListActivated == '1' && itxProductDetailCtrl.isOpenForSale" product="::itxProductDetailCtrl.product" product-sizes="itxProductDetailCtrl.productSizes" icon-enabled="itxProductDetailCtrl.wishlistIconEnabled" on-update-wishlist="itxProductDetailCtrl.updateWishlist(sku)"> </itx-add-product-wishlist> <itx-product-store-stock-finder class="button-cmp" ng-if="::($root.inditex.iStoreJSON.details.hasPhisicalStores && $root.inditex.iStoreJSON.details.availabilityStockStore && !itxProductDetailCtrl.isModal)" product="::itxProductDetailCtrl.product" selected-color="itxProductDetailCtrl.selectedColor" parent-product="::itxProductDetailCtrl.parentProduct"> </itx-product-store-stock-finder> <itx-product-info class="product-info-container" product="::itxProductDetailCtrl.product" selected-color="itxProductDetailCtrl.selectedColor" parent-product="::itxProductDetailCtrl.parentProduct" compositions="::itxProductDetailCtrl.compositions"> </itx-product-info> </div> <div class="description-container" ng-if="::(itxProductDetailCtrl.showDescriptions && !itxProductDetailCtrl.isModal)"> <div id="product-description" itx-collapse-element> <div id="product-description-paragraphs"> <p ng-if="::(itxProductDetailCtrl.product.detail.longDescription && itxProductDetailCtrl.product.detail.longDescription.length > 0)"> <span ng-bind-html="::(itxProductDetailCtrl.ItxProductFactory.getDescription(itxProductDetailCtrl.product))" /> </p> <p ng-if="::(itxProductDetailCtrl.product.detail.description && itxProductDetailCtrl.product.detail.description.length > 0)"> <span ng-bind-html="::(itxProductDetailCtrl.ItxProductFactory.getDescription(itxProductDetailCtrl.producto.detail.description))" /> </p> </div> </div> </div> <div ng-if="::(itxProductDetailCtrl.majorCompositionName && !itxProductDetailCtrl.isModal && !itxProductDetailCtrl.isLookbook)"> <itx-spot product-composition-name="{{::itxProductDetailCtrl.majorCompositionName}}"></itx-spot> </div> <div> <itx-product-audio ng-if="::(itxProductDetailCtrl.isAudio && itxProductDetailCtrl.product)" product="::itxProductDetailCtrl.product"> </itx-product-audio> </div> </div> <div class="row triman-container" ng-if="::itxProductDetailCtrl.isTriman"> <img width="31" height="34" src="/static/itxwebstandard/images/triman.png?t=2019041110311151db1176774530" alt="Triman"> <span class="triman-text"> {{ ::("ItxProductPage.attribute.triman" | property) }} </span> </div> <div class="relatedProducts-container"> <div ng-if="itxProductDetailCtrl.lookProducts && itxProductDetailCtrl.lookProducts.length"> <itx-related-products class="look-meccano-relateds" product-list="itxProductDetailCtrl.lookProducts" heading-text="'ItxProductPage.complete.the.look'" show-arrows="true" slides-per-view="2" from="'productos_relacionados'" meccano-recommendation-id="itxProductDetailCtrl.meccanoRelateds.lookType.recommendationId" parent-product="itxProductDetailCtrl.product"> </itx-related-products> </div> <div ng-if="itxProductDetailCtrl.relatedProducts && itxProductDetailCtrl.relatedProducts.length"> <itx-related-products class="related-meccano-relateds" product-list="itxProductDetailCtrl.relatedProducts" heading-text="'ItxProductPage.related.product'" slides-per-view="2" show-arrows="true" from="'productos_relacionados'" meccano-recommendation-id="itxProductDetailCtrl.meccanoRelateds.relatedType.recommendationId" parent-product="itxProductDetailCtrl.product"> </itx-related-products> </div> <div ng-if="itxProductDetailCtrl.lastseenProducts.length > 2 && (!itxProductDetailCtrl.lookProducts || !itxProductDetailCtrl.relatedProducts || itxProductDetailCtrl.lookProducts.length === 0 || itxProductDetailCtrl.relatedProducts.length === 0)"> <itx-related-products class="related-meccano-relateds" product-list="itxProductDetailCtrl.lastseenProducts" heading-text="'lastSeenProductList.upper.cased'" slides-per-view="2" from="'productos_relacionados'" parent-product="itxProductDetailCtrl.product"> </itx-related-products> </div> </div> </div> </div> </div> </article> </div></script><script id="product-bundle-slider.tpl" type="text/ng-template"><div class="gesture-container detail-images-container"> <a class="disabled-slider show-zoom" ng-repeat="image in itxProductImageSliderCtrl.photos" ng-href="{{image.zoom}}" data-size="1920x2379"> <span class="zoom-detail roundBtn">+</span> <img ng-src="{{image.url}}" alt="{{itxProductImageSliderCtrl.product.name}}" title="{{itxProductImageSliderCtrl.product.name}}" class="detail-image"> </a> </div></script><script id="product-image-slider.tpl" type="text/ng-template"><div class="product-image-slider detail-images-container" id="template-container" ng-if="!itxProductImageSliderCtrl.singleImage && !itxProductImageSliderCtrl.disableSlider" ng-mouseenter="itxProductImageSliderCtrl.imageMouseEntered()"> <itx-loader show="itxProductImageSliderCtrl.loading"></itx-loader> <div class="carousel-wrapper gesture-container"> <div class="retouched-photos-container" ng-if="itxProductImageSliderCtrl.photosRetouched"> <span class="retouched-text">Retouched photo</span> </div> <itx-swiper nested="true" instance="itxProductImageSliderCtrl.slider" on-init="itxProductImageSliderCtrl.setSwiperInstance" grab-cursor="true" loop="{{::itxProductImageSliderCtrl.loop}}" mousewheel="true" speed="600" ng-if="!itxProductImageSliderCtrl.isUpdating" direction="{{itxProductImageSliderCtrl.sliderDirection}}" on-slide-change-transition-start="itxProductImageSliderCtrl.lockSlideChange" on-slide-change-transition-end="itxProductImageSliderCtrl.setActiveSlide" space-between="{{itxProductImageSliderCtrl.slideMargin}}"> <itx-slides class="photo-container" ng-class="{'hidden' : itxProductImageSliderCtrl.loading}"> <itx-slide class="photo" ng-repeat="image in itxProductImageSliderCtrl.photos track by $index" data-swiper-slide-index="{{$index}}"> <a data-size="1920x2379" href="{{image.zoom}}" ng-click="itxProductImageSliderCtrl.openImageZoom($event, $index)" class="show-zoom"> <span class="zoom-detail roundBtn">+</span> <!-- imagen si es un producto con xmedia config --> <img class="image detail-image" ng-src="{{image.url}}" index="{{ $index }}" alt="Image {{ $index + 1 }} of the product {{itxProductImageSliderCtrl.product.name}}" title="Image {{ $index + 1 }} of the product {{itxProductImageSliderCtrl.product.name}}"> <!-- imagen si es un producto sin xmedia config o si no esta configurado para la tienda --> </a> </itx-slide> </itx-slides> </itx-swiper> <div class="image-slider-pagination" ng-if="itxProductImageSliderCtrl.photos.length > 1"> <a ng-repeat="dot in itxProductImageSliderCtrl.photos track by $index" ng-click="itxProductImageSliderCtrl.sliderTo($index - 1)" data-index="{{$index}}" ng-class="{'active': $index == itxProductImageSliderCtrl.realIndex}"> </a> </div> </div> </div> <div class="img-container detail-images-container" ng-if="itxProductImageSliderCtrl.singleImage && !itxProductImageSliderCtrl.disableSlider"> <a href="{{itxProductImageSliderCtrl.photos[0].zoom}}" data-size="1920x2379" ng-click="itxProductImageSliderCtrl.openImageZoom($event, 0)" class="show-zoom"> <span class="zoom-detail roundBtn">+</span> <img ng-src="{{itxProductImageSliderCtrl.photos[0].url}}" title="{{itxProductImageSliderCtrl.product.name}}" alt="{{itxProductImageSliderCtrl.product.name}}" class="detail-image"> </a> </div> <div class="gesture-container detail-images-container" ng-if="itxProductImageSliderCtrl.disableSlider"> <a class="show-zoom disabled-slider" ng-repeat="image in itxProductImageSliderCtrl.photos" ng-href="{{image.zoom}}" ng-click="itxProductImageSliderCtrl.openImageZoom($event, $index)" data-size="1920x2379"> <span class="zoom-detail roundBtn">+</span> <img ng-src="{{image.url}}" alt="{{itxProductImageSliderCtrl.product.name}}" title="{{itxProductImageSliderCtrl.product.name}}" class="detail-image"> </a> </div></script><script id="product-info.tpl" type="text/ng-template"><div class="mas-info row" ng-if="!itxProductInfoCtrl.isLookbook"> <div class="buttons-container"> <div class="button-mas-info"> <span ng-if="!$root.device.isTabletDevice && !$roo