window.planType = ""; window.planPrice = ""; window.planName = getCoursePlanNameByTypeOrPrice(window.planType, window.planPrice); window.planCourseId = ""; window.planPackageId = ""; window.planPackageId = "6880e67936aad323a0971c5f"; window.isPackage = true; window.walletStatus="false"; window.category="Software & Technology"; window.multiplePricingPlansExist = window.isMultiplePlansAvailable('',{"_id":"6880e67936aad323a0971c5f","spayee:resource":{"spayee:title":"[Pelisflix] Ver Β» Shadow Force pelicula completa en espanol","spayee:published":true,"spayee:courseUrl":"Pelisflix-Ver--Shadow-Force-pelicula-completa-en-espanol","spayee:seoTitle":"[Pelisflix] Ver Β» Shadow Force pelicula completa en espanol","spayee:courseType":"package","spayee:description":"
Cuevana - Ver Shadow Force Película Completa en Español y latino - Repelis - PelisFlix - Ver PELÍCULA Shadow Force 2025 COMPLETA Online Gratis en castellano<\/p>\n","spayee:hidePackageRibbon":false,"spayee:language":"Ver Shadow Force PelΓcula Completa en EspaΓ±ol y latinos","spayee:shortDescription":"
BRRip - π ππ Shadow Force ππππππ πππíππππ ππππππππ ππ ππππñππ Repelis-HD! π ππ Shadow Force 2025 Streaming de peliculas completas, π²ππππππ Shadow Force (2025) πππíππππ ππππππππ ππ ππππñππ ππππππ ππππππ, Shadow Force pelicula completa en chile, Ver Shadow Force pelicula completa en espanol<\/p>\n\n
<\/p>\n\n
<\/p>\n\n
<\/p>\n\n
<\/p>\n\n
<\/p>\n\n
Overview : Con una recompensa por sus cabezas, la pareja formada por Omar Sy y Kerry Washington, huye con su hijo para escapar de su antigua organización: una unidad de operaciones en la sombra que ha sido enviada para liquidarlos.<\/p>\n\n
π ππ Shadow Force π²ππππππ (2025) πΎπππππ, πΏππíππππ ππππππππ ππ ππππñππ ππππππ. π²πππππππΈ Shadow Force ππππππ ππππππ ππππππ | Shadow Force ππ ππππñππ ππππππ π΄πππππππ | πΏπππππππππ | πΏππππππππ | πΆππππ | πππππππππππ | πππππππ | πΏππππ | πΏππππππππ| π²πππ | π²πππππ | π²ππππππ | πΌππππ | π²ππππ | πππππππππ‘<\/p>\n\n
πππíππππ ππ 2025 ¡πΏπ΄π»πΈπ! Shadow Force πΏππππππ πΎπππππ π»πππππ π·π³,ππππππππππ π πππππππππππ ππππñππ. ππ ππ πππππ πππ ππππππ ππ πππíππππ Shadow Force, π ππ Shadow Force πΏππíππππ π²πππππππ π΄π π΄πππñππ π»πππππ 2025, Shadow Force πππ ππππñππ | π ππ π’ π³ππππππππ πΏππíπππππ πΎπππππ πΆπππππ ππ π΄πππñππ, Shadow Force ππππππ ππππñππ.<\/p>\n\n
Title original : Shadow Force ,<\/p>\n\n
Runtime : 103 min ,<\/p>\n\n
Status : Released,<\/p>\n\n
Release Date : 01 May 2025,<\/p>\n\n
Tagline : ,<\/p>\n\n
Genres : Acción | Drama | Suspense |<\/p>\n\n
Production Companies : Lionsgate Made With Love Media Media Capital Technologies Indian Meadows Productions Simpson Street<\/p>\n\n
Production Countries: United States of America | <\/p>\n\n
# Shadow Force 2025 ππππππ ππ ππππñππ π’ ππππππ<\/p>\n\n
πΏπππππππππ ππ πππ πππ&ππππππ;πππππ: πππ ππππππ&ππππππ;π ππππππππππ&ππππππ;ππππ ππππππππ&ππππ;<ππ /> π»ππ πππ&ππππππ;πππππ, ππ ππ&ππππππ;ππππ ππ ππ πππππππ&ππππππ;π πππππππ, πππππíπ πππ πππóπππππ πππππππππ&ππππππ;π ππ ππππππ ππππππππππ πππ ππ ππππππππ ππππ ππππππππ πππ ππππππππ π&ππππππ;ππππ. π³ππππ πππ ππππππππππππ ππππππ πππππππ πππ ππππππππππππππ ππ&ππππππ;πππππ π’ πππ ππππππππππ πππππ&ππππππ;ππ, ππππ πππππππ πππππ ππ πππππ πππππππ ππ ππ ππππππ&ππππππ;π ππ ππ ππππ’ππππ ππππππππππ&ππππππ;ππππ πππππππ.&ππππ;<\/p>\n\n
π³πππππππ&ππππππ;π ππ πππππππππ: ππ ππππππππ ππ πππππππ ππ πππ πππππππππππππ, ππππππππππππ ππ&ππππππ; πππππππππ’ππ πππ ππππππππππ ππ πππ πππ&ππππππ;ππππ. π΄ππππ πππππíπ πππ ππππππππππ π&ππππππ;πππππ πππ πππ πππππππππ ππππππ£ππ ππππ ππππππ ππ πππππππππ, ππππππππππ π ππ πππππ π’ πππππππππ πππππππππ.&ππππ;<\/p>\n\n
π°πππππ ππ πππππππ πππ ππππππππππ ππ ππ πππ&ππππππ;ππππ: &ππππππ;πΏππ ππ&ππππππ; ππ ππππíππππ πππππππ πππππ ππππππππππ? π»π πππππππππ πππ&ππππππ; ππ ππ πππππ ππ πππππ ππ πππππππππ ππππ&ππππππ;π ππ ππ ππππππππ. π²πππππ ππππππππ πππ πππππππ ππ ππ πππππππ&ππππππ;π, ππ πππππππππ&ππππππ;π ππππππ, ππ ππππ&ππππππ;π ππ πππππππ π’ πππππ πππππππππ, πππππππ ππππππππ ππ ππππππ πππ&ππππππ;πππππ ππππππππππ ππ ππππ πππππ.&ππππ;<\/p>\n\n
πΆππππ ππ ππ ππππππππππóπ πππππππππ&ππππ;<\/p>\n\n
: ππ ππ πππππ£&ππππππ;π ππ ππππ ππππ πππ&ππππππ;ππππ πππ’ πππ ππππππππππóπ ππππíπππππ. π½π ππ ππππ‘ππππππππ π&ππππππ;ππ ππ ππ πππ ππππππ ππππ ππ π&ππππππ;ππ ππ ππππππππππ, πππππππππππ ππ π&ππππππ;πππππ ππ ππππππ ππ πππ ππππππππ.&ππππ;<\/p>\n\n
π°ππππ ππ ππππππππππ: πππ ππππππππππ πππ πππππíπ π πππ πππππππππππππππ. ππ ππππππππππ, ππππππ π’ ππππππππ πππππíπ πππππππππππππ ππππ ππππππππ πππ πππππ‘π&ππππππ;π πππ πππ ππππππππππππ.&ππππ;<\/p>\n\n
π΄ππππππππ&ππππππ;π ππ ππ&ππππππ;πππππ: πππ ππππππππ ππππππππππππ πππππíπ π&ππππππ;π πππ π&ππππππ;ππππ; πππππíπ ππ ππππ ππ ππ πππππíπππππ. π²πππππππ ππ&ππππππ;πππππ πππ ππππππππ ππ πππ ππππππ ππ πππππππππ ππ π&ππππππ; πππππ.&ππππ;<\/p>\n\n
π²πππππππππππ&ππππππ;π ππ πππππππππ&ππππππ;π ππππππ&ππππ;<\/p>\n\n
: ππ ππππππ π ππππ&ππππππ;π ππ ππ ππππ πππππ ππ ππππππππ, ππ ππππππππππππ&ππππππ;π ππ ππππππ π πππππππ ππππππππ&ππππππ;π óπππππ. π³ππππ πππππππ ππππππππ πππππππ &ππππππ;ππππππ ππππππππ ππππππ, ππππ πππππ£π πππ&ππππππ; πππππππππππππππ πππππππππ.&ππππ;<\/p>\n\n
π&ππππππ;ππππππ ππ πππππππππ&ππππππ;π: ππ πππππππππ&ππππππ;π πππππππππ ππ πππππππóπ π’ ππ ππππ ππ πππ πππππππππ. ππ πππ ππ πππππ πππππππππ ππ ππ ππππππππππ π ππ ππππππ πππππππππππππ πππ πππππππ, ππ&ππππππ;π πππππππ πππππππππ πππππππππ.&ππππ;<\/p>\n\n
π³πππ&ππππππ;π ππ πππππππππ: ππ ππππππóπ πππππππ πππ πππóπππππ ππ πππ πππππππ ππππ πππ ππππππππππ. π»π ππππππππππ ππππππππππ&ππππππ;π πππ ππππππππππ π ππππππππππ &ππππππ;πππππ π’ ππππππ.&ππππ;<\/p>\n\n
π»π ππππππππ πππ πππππππ ππ ππ ππππ&ππππππ;π ππ ππππππ&ππππ;<\/p>\n\n
: π ππππππ πππππππππππ, ππ πππππππ ππ πππ ππππππππ πππππππππππ ππππ ππππππ πππππππππ. π°ππππππ πππ πππππππππ, ππππππ πππππ&ππππππ;π π’ πππ πππππππ ππ ππ πππππ ππππππππππ&ππππππ;ππππ.&ππππ;<\/p>\n\n
πΏππππππππ πππππππ: ππ πππππππππ πππππππ ππ ππ πππππππóπ πππ πππππ£&ππππππ;π ππ πππ πππ&ππππππ;ππππ. πΏππππ πππππ πππ πππππππππ ππ πππππππππππ π ππ‘ππππππππππππ, πππππππ πππ ππππππ ππππππππππ ππ πππππππ ππππππóπ.&ππππ;<\/p>\n\n
π°πππππππóπ π΅ππππ’: ππππ ππππ, ππππππππ π’ ππππππππ πππ&ππππππ; πππ ππππππóπ ππππππππ π ππππ&ππππππ;π πππ πππππππππ π΅ππππ’, πππππππππ πππ ππππóπ ππ ππππππππππππ πππ ππππππππππππππππ ππ ππππππππ óπππππ.&ππππ;<\/p>\n\n
πππππ π’ πππππ ππ πππππ&ππππππ;π&ππππ;<\/p>\n\n
: ππ πππππ&ππππππ;π ππ ππ πππππππóπ πππ πππππ£&ππππππ;π ππ πππ πππ&ππππππ;ππππ, ππππππππ ππ πππππ π’ πππππ. π³ππππππππ ππ πππππππ£ πππ ππ πππ ππ ππππππππππ ππ πππππππππππππππ.&ππππ;<\/p>\n\n
π&ππππππ;ππππππ ππ πππππππ: ππ πππππππ, ππ ππππππππ£π ππππππππππ&ππππππ;ππππ ππ π&ππππππ; πππππ, ππππππππ ππ ππππ£π π’ ππ πππππππ, ππππππππππππππ πππ πππππππ &ππππππ;ππππ ππ ππ πππππíπππππ.<\/p>\n\n
ππππππππππππ πππππππππ: πππ ππππππππππππ ππππππ πππππ πππππππ πππππíπ πππ πππππ ππππππππππ πππ ππππ ππ ππππππππ, ππ πππ ππππππππ£π πππ ππππππππ ππππππ π’ πππππππππ.&ππππ;<\/p>\n\n
πΏπππππππππ πππππ&ππππππ;πππππ ππ ππππ π&ππππππ;ππππ&ππππ;<\/p>\n\n
π²πππππππ&ππππππ;ππππππ &ππππππ;πππππ ππ πππ π&ππππππ;πππππ: πππ πππππππππ π&ππππππ;πππππ ππππππ πππππππππ ππππππππππ πππ πππ πππππππ. π³ππππ ππ πππππππππ ππ πππ πππππππππ πππππππ ππ ππππππ&ππππππ;π ππ πππ ππππππππ, ππππ πππ πππππ ππ πππππππ πππππππ ππ ππππππ.&ππππ;<\/p>\n\n
πππππππ£π ππ ππ πππππππππππ&ππππππ;π ππ ππ πππππππππ: πππππππ πππ ππππππππππ πππππ&ππππππ;πππππ ππ ππππ π&ππππππ;ππππ ππππππππππππππππ ππ πππππππππππ&ππππππ;π ππ ππ πππππππππ, πππππππππππππ πππ πππππ£πππππ π’, ππ πππππππππ, ππππππππ&ππππππ;ππππππ ππππ πππππ ππ πππππ&ππππππ;π.&ππππ;<\/p>\n\n
π°ππππππ ππππππ&ππππππ;πππππ&ππππ;<\/p>\n\n
π²πΆπΈ π’ ππππππ ππππππππππ: πππ πππππππ ππ ππ ππππππππ&ππππππ;π πππ πππππππππππππ ππ ππππ, πππππ πππππíπ π ππππππ π’ πππππππππ ππππ&ππππππ;ππππππ π ππππ&ππππππ;π ππ π²πΆπΈ π’ ππππππ ππππππππππ.&ππππ;<\/p>\n\n
ππππππππππ ππππππππ π’ πππππππππ: ππ πππππππππ&ππππππ;π ππ ππ ππππππππππ ππππππππ π’ πππππππππ ππππ ππππππ πππππππππππ, πππππππππππ π πππ ππππππππππππ ππππππππ ππ ππ πππππππππππππππ ππππ πππππ ππ ππππππππ.&ππππ;<\/p>\n\n
π·ππππ ππ ππ ππππππ£πππ&ππππππ;π ππππππππππ&ππππππ;ππππ: ππ ππππππππ&ππππππ;π ππ ππππππ£π ππππππππππππππππ ππ πππππππ&ππππππ;π, ππππ πππ πππππ&ππππππ;π ππππππ’π ππ ππ ππππππ ππ πππ πππ πππππππππ πππππππ ππ ππππππ, πππππππππ πππ π&ππππππ;πππππ ππ ππ πππππππππππ.&ππππ;<\/p>\n\n
π΄ππππππ ππππππππππ&ππππ;<\/p>\n\n
ππππππ‘π&ππππππ;π ππππππ: πππ πππ&ππππππ;πππππ π ππππππ ππππππππ πππππππ, ππππππ π’ πππππ&ππππππ;ππ ππππππππ, ππππππππππ πππ ππππππ‘π&ππππππ;π πππ ππππππ πππππππππππ&ππππππ;π π’ ππππππππππ&ππππππ;π.&ππππ;<\/p>\n\n
πΌππππππππππππ ππ ππ πππππππ: ππ ππππππππ π ππ ππππππππππππππ ππ ππ πππππππ ππππππππ£π πππ πππ πππππππππ πππππππππππ ππ πππππππ πππππππππππ ππ ππ‘ππππππππππ, ππππππππππ ππ πππππππ&ππππππ;π π’ ππ πππππππππ&ππππππ;π.&ππππ;<\/p>\n\n
π΄ππππππππ ππππππ: πππ πππππππ ππππππππππ ππππππ πππππππ, ππ ππππππππ ππ ππππ πππππππππ ππ πππ πππππππππ πππππππππππππ ππππππππππ ππππππππππ πππ πππππππππ π’ ππππ ππ ππππππππ£π ππππππππππ&ππππππ;ππππ ππππππππ.&ππππ;<\/p>\n\n
πππππππ£π ππ ππ ππππππππ&ππππ;<\/p>\n\n
πππ ππππππ πππ ππππππππππππ: πππ πππ&ππππππ;πππππ ππππππ ππ ππππππππππππ ππ πππππππ πππ ππππππππππππ ππππππππ, ππππππ£ππ πππ ππππππ π’ ππππ£ππ ππ πππππ&ππππππ;π ππ πππππππππ ππππππππ ππ‘ππππππππππ.&ππππ;<\/p>\n\n
πΌππππππππππ ππππππππππ: πππ πππ&ππππππ;πππππ ππ&ππππππ;πππππ π ππππππ ππππππππππππ πππππππππππ ππππππππππ πππ ππππππ’ππ ππ ππ ππππ, ππ ππππππππ£π π πππππéπ ππ πππππππππóπ πππ&ππππππ;ππππ.&ππππ;<\/p>\n\n
π·ππππ ππ ππ πππππππππ πππππππ: πππππ πππ&ππππππ;πππππ πππππππ πππππππ ππ&ππππππ;πππππ, πππ πππ&ππππππ;πππππ ππ ππππππππ ππ ππ πππππππππ πππππππ, πππππππ ππ πππππππ£π πππππππ πππ ππππππππππ ππ ππππ£π.&ππππ;<\/p>\n\n
ππππππππππ πππππππ&ππππ;<\/p>\n\n
ππππππππ&ππππππ;ππ ππππππππππ: ππ ππππππ πππ ππππ πππ&ππππππ; ππππππππ£πππ πππ ππππππππ&ππππππ;ππ ππππππππππ ππππ ππ πππππππ πππππππππ π’ πππ ππ‘ππππππππππ ππππππππππ, πππ ππππππππ πππ πππππππ&ππππππ;π ππππππππππ.&ππππ;<\/p>\n\n
πΏππππππ ππ πππππππππππ ππππππππππ: ππ πππππππ&ππππππ;π ππ πππ π&ππππππ;ππππππ ππ πππππππ&ππππππ;π, ππππ πππ ππππππππππ ππ ππππππππ, πππππ&ππππππ;π πππ πππππππππππ πππππππππππππ π’ ππππππππ πππ&ππππππ;ππππ ππ ππππππ ππ πππππππππ.&ππππ;<\/p>\n\n
πΈππππππππ&ππππππ;π πππ ππ π&ππππππ;πππππ: π ππππππ πππ ππ ππππππππ&ππππππ;π ππππππππππ, ππ πππππππππ&ππππππ;π πππ π&ππππππ;πππππ πππ πππ πππ&ππππππ;πππππ πππππ ππ‘ππππ’ππππ π&ππππππ;π πππ&ππππππ; ππ ππ ππππππππ, πππππππ ππππππ πππππππ ππππ ππ‘ππππππππππ ππππππππππ π’ ππππππππππππππ.<\/p>\n\n
π²πππππππ&ππππππ;π: ππ ππ ππππ πππππππππππ ππ ππ ππππππ£πππ&ππππππ;π ππππππππππ&ππππππ;ππππ, ππππ πππππππππ’ππππ ππ ππππππππ£π ππππ πππ ππ πππππππππ, πππππππ πππ ππππππππ ππππππππππ&ππππππ;ππππ πππππππππππ. π³ππππ πππ πππππππππππππ ππππππππππ πππππππ ππ ππππππ&ππππππ;πππππππππ óπππππ π’ πππ ππππππππ πππππππ ππππππππππ, πππ πππ&ππππππ;πππππ πππππíπ πππ ππππππ&ππππππ;π πππ πππππππ πππ ππππππππ πππππππππ π’ πππππ&ππππππ;π ππππππππ ππππππππππππ.<\/p>\n\n
ππππππππ Shadow Force 2025 ππππππ ππ πππππ πππππππ<\/p>\n\n
πππ Shadow Force ππππππ ππππππππ π°ππππ π»πππππ ππππππππππ<\/p>\n\n
Shadow Force 2025 ππππππππ ππππππππ πππππππππππ ππ πππππππ<\/p>\n\n
Shadow Force 2025 πππππππ ππππππ ππππππ<\/p>\n\n
Shadow Force 2025 πππíπππππ πππππππ ππππliπ‘<\/p>\n\n
πππ Shadow Force 2025 πππππππππ ππππππ<\/p>\n\n
π ππ π’ π³ππππππππ Shadow Force 2025 πΆπππππ<\/p>\n\n
π ππ Shadow Force ππππππππ π²πππππππ ππ π²ππππ<\/p>\n\n
Shadow Force ππππππ ππππππππ ππππππππ<\/p>\n\n
Shadow Force ππππππππ ππππππππ ππππñππ ππππππ ππππππ<\/p>\n\n
Shadow Force πππ ππππñππ ππππππππ ππππππππ ππππππ<\/p>\n\n
Shadow Force (2025) πππππππ ππππππ ππππππππ ππππππππ ππππππππ<\/p>\n\n
Shadow Force (2025) πππ ππππππ πππππππππ ππππππππ ππππππππ<\/p>\n\n
Shadow Force ππππππ (2025) ππππππππ ππππππππ<\/p>\n\n
Shadow Force ππππππ ππππñππ ππππππππ ππππππππ<\/p>\n\n
πππ Shadow Force ππππππ ππππππππ ππππππππ<\/p>\n","spayee:showDescriptionInternalCourses":false,"spayee:showLearners":false,"spayee:courseCanonicalUrl":"","spayee:keywords":"Shadow Force PelΓcula Completa","spayee:seoCategory":"","spayee:seoDescription":"Cuevana - Ver Shadow Force PelΓcula Completa en EspaΓ±ol y latino - Repelis - PelisFlix - Ver PELΓCULA Shadow Force 2025 COMPLETA Online Gratis en castellano","spayee:availableForAndroid":true,"spayee:availableForIOS":true,"spayee:availableForMarket":"true","spayee:availableForMembership":false,"spayee:availableForPrivate":false,"spayee:filter1":["Software & Technology"],"spayee:filter2":"","spayee:filter3":"","spayee:productVariants":[]},"from":{"createdBy":["6880dc4e3d44d50212e04b9f"],"org-courses":["6880dc4d3d44d50212e04b9e"]},"aiGeneratedSections":[],"resetUsersCount":false,"courses":[]});
store.getRelatedContent();
store.bindEvents();
var contentTitle = decodeHtmlEntities('[Pelisflix] Ver Β» Shadow Force pelicula completa en espanol'), content_category = '';
var fbprice = 0;
var gaprice = parseFloat(fbprice);
if(typeof ga !== "undefined") {
ga('require', 'ec');
ga('set', 'currencyCode', $("#orgCurrencyCode").val());
ga('ec:addImpression', {
'id': '6880e67936aad323a0971c5f',
'name': contentTitle,
'category': content_category,
'list': 'Related Products',
'price': fbprice
});
ga('send', 'pageview');
}
if(typeof gtag !== "undefined") {
var item = {
price: fbprice,
currency: $("#orgCurrencyCode").val(),
quantity: 1
};
if(gaType === "ga4") {
item.item_id = "6880e67936aad323a0971c5f";
item.item_name = contentTitle;
item.item_category = "Software & Technology";
}else {
item.id = "6880e67936aad323a0971c5f";
item.name = contentTitle;
item.category = "Software & Technology";
}
gtag('event', 'view_item', {
currency: $("#orgCurrencyCode").val(),
items: [item],
value: fbprice
});
}
if (typeof dataLayer !== "undefined") {
var item = {
price: fbprice,
currency: $("#orgCurrencyCode").val(),
quantity: 1
};
dataLayer.push({
Β event: "view_item",
Β ecommerce: {
currency: $("#orgCurrencyCode").val(),
value: fbprice,
Β Β items: [item]
Β }
});
}
var setPHash = true, setVHash = true;
$("#productVariants").on("change", function(e) {
var validityCont = $(".validityTypes").find(".validityVariants").hide().siblings("."+$(this).val()).show();
if(validityCont.find("select").length > 0) {
validityCont.find("select")[0].selectedIndex = 0;
}
$(".productPricing").find(".vvpricing").hide();
var price = $(".productPricing").find("."+$(this).val()+":eq(0)").show().data("price");
var buttonLabel = $(".productPricing").find("."+$(this).val()+":eq(0)").data("buybuttonlabel");
window.recurSubscriptionSelected = validityCont.data("type") == "RECURRING";
showHideCartBtns(price, buttonLabel)
$(".buyBtn, .addToLibrary, a[href^='#purchasebutton']").data("pid", $(this).val()).removeData("vid");
if(setPHash) {
setHashParam("product", $(this).val());
}else {
setPHash = true;
}
});
$(".validityVariants select").on("change", function(e) {
var price = $(".productPricing").find(".vvpricing").hide().siblings("."+$(this).val().replace(/[.]/g, "-")+"."+$(this).data("pid")+":eq(0)").show().data("price");
var buttonLabel = $(".productPricing").find("."+$(this).val()+":eq(0)").data("buybuttonlabel");
showHideCartBtns(price, buttonLabel);
$(".buyBtn, .addToLibrary, a[href^='#purchasebutton']").data("vid", $(this).val());
if(setVHash) {
setHashParam("variant", $(this).val());
}else {
setVHash = true;
}
});
function showHideCartBtns(price, newButtonLabel) {
var buyButtonLabel;
if(price === 0){
buyButtonLabel = "Buy now for FREE";
if(newButtonLabel){
buyButtonLabel = newButtonLabel;
}
}else{
buyButtonLabel = "Buy now for "+"β¬"+price;
var final_price = "β¬"+price;
if(newButtonLabel){
buyButtonLabel = newButtonLabel;
}
buyButtonLabel = buyButtonLabel.replace('{{final_price}}',final_price);
}
if(price === 0) {
$(".previewBtn, #previewBtn").hide();
$(".buyBtn").addClass("addToLibrary").removeClass("buyBtn").each(function() {
var btn = $(this), btnTxt = $.trim(btn.text()).toLowerCase();
if(["buy now", "add to cart"].indexOf(btnTxt) > -1) {
if(!buyButtonLabel){
btn.text("Free").removeClass("btn-primary").addClass("btn-success");
}else{
btn.text(buyButtonLabel).removeClass("btn-primary").addClass("btn-success");
}
}
if(buyButtonLabel){
btn.text(buyButtonLabel);
}
});
$(".addToLibrary").each(function() {
var btn = $(this);
if(buyButtonLabel){
btn.text(buyButtonLabel);
}
});
$("a[href=#purchasebutton]").attr("href", "#freebutton");
}else {
$(".previewBtn, #previewBtn").show();
$(".addToLibrary").addClass("buyBtn").removeClass("addToLibrary").each(function() {
var btn = $(this), btnTxt = $.trim(btn.text()).toLowerCase();
if(["free"].indexOf(btnTxt) > -1) {
if(btn.data("purchasetype") === "singlecheckout") {
if(!buyButtonLabel){
btn.text("Buy Now");
}else{
btn.text(buyButtonLabel);
}
}else {
if(!buyButtonLabel){
btn.text("Buy Now");
}else{
btn.text(buyButtonLabel);
}
}
btn.removeClass("btn-success").addClass("btn-primary");
}
});
if(window.recurSubscriptionSelected){
$(".buyBtn").each(function() {
var btn = $(this), btnTxt = $.trim(btn.text()).toLowerCase();
if(!buyButtonLabel){
btn.text("Buy Now");
}else{
btn.text(buyButtonLabel);
}
});
} else {
$(".buyBtn").each(function() {
var btn = $(this), btnTxt = $.trim(btn.text()).toLowerCase();
if(!buyButtonLabel){
btn.text("Add to Cart");
}else{
btn.text(buyButtonLabel);
}
});
}
$("a[href=#freebutton]").attr("href", "#purchasebutton");
}
}
function setHashParam(key, value) {
var fakeUrl = new URL('https://test.com');
fakeUrl.search = new URL(location.href).hash.substring(1);
fakeUrl.searchParams.set(key, value);
if(key === "product") {
fakeUrl.searchParams.delete("variant");
}
location.hash = fakeUrl.searchParams;
}
function getHashParam(key) {
var fakeUrl = new URL('https://test.com');
fakeUrl.search = new URL(location.href).hash.substring(1);
return fakeUrl.searchParams.get(key);
}
window.recurSubscriptionSelected = false;
var product = getHashParam("product"), variant = getHashParam("variant");
if(product !== null && product !== "") {
setPHash = false;
$("#productVariants").val(product).trigger("change");
if(variant !== null && variant !== "") {
setVHash = false;
$(".validityTypes").find(".validityVariants").hide().siblings("."+product).show().find("select").val(variant).trigger("change");
}
}else if(variant !== null && variant !== "") {
setVHash = false;
$(".validityVariants:eq(0) select").val(variant).trigger("change");
}
$(".tab a[href^=#]").on(
"click",
function(e) {
e.preventDefault();
$(this).closest("li").addClass("active")
.siblings(".active").removeClass("active");
var hash = $(this).attr("href").split("#")[1];
location.hash = hash;
$("#tabs").find(".tab-content").hide().filter(function() {
return $(this).data("id") === hash;
}).show();
return false;
});
$(".courseItemIcon").each(function() {
if($(this).data('type') == 'code'){
$(this).append('');
} else {
$(this).text(getCourseAssetIcon($(this).data("type")));
}
});
$('.rating').addRating({
max: 5,
selectedRatings: 0
});
var reviews = (function() {
var isContentLoading = false, cont = null, skip = 0, template = _.template($("#reviewTemplate").html());
function init() {
cont = $("#reviewsCont");
if(cont.length > 0) {
loadNewData();
$(".loadMoreReviewsBtn").on("click", function(e) {
$(this).addClass("loading");
loadNewData();
});
}
}
function loadNewData() {
if(isContentLoading) {
return false;
}
getNewData();
}
function getNewData() {
isContentLoading = true;
var packet = {
url: ctx + "/store/courses/6880e67936aad323a0971c5f/description/reviews/get",
data: {limit: 5, skip: skip},
success: function(data, params) {
var html = "", items = data.data;
if(data.userReview !== undefined) {
html = html + template( {item: data.userReview});
$("#createReview").hide();
}else if(skip === 0) {
$("#createReview").show();
}
for(var i = 0;i < items.length; i++){
html = html + template( {item:items[i]});
}
skip = skip + items.length;
cont.children(".loading").before(html);
if(data.total === 0 || data.total === skip) {
$(".loadMoreReviewsBtn").hide();
}
if(cont.find(".review").length === 0) {
$("#createReview").find("textarea").attr("placeholder", "No Reviews yet. Be the first one to review this course.");
}
cont.find("time.timeago").timeago();
cont.children(".loading").removeClass("loading");
isContentLoading = false;
}
};
getData(packet, {});
}
return {
init: init
};
})();
reviews.init();
$(".createReviewBtn").on("click", function(e) {
e.preventDefault();
if(typeof SPUSER === "undefined") {
$(".loginBtn:eq(0)").trigger("click");
return;
}
var rating = parseInt($("#rating").val()), rtext = $("#createReview").find("textarea").val(), packet;
if(rating < 1 || rating > 5) {
showAlert("red", "Please choose a rating !!!");
return false;
}
packet = {
url: ctx + "/courses/6880e67936aad323a0971c5f/review/add",
data: {rating: rating, text: rtext},
success: function(data, params) {
var template = _.template($("#reviewTemplate").html());
$("#reviewsCont").prepend(template({item: {_id: data.id, rating: rating, reviewtext: rtext, userName: '', userId: "", createdDate: {"$date": (new Date()).getTime()}}}));
$("#reviewsCont").find(".review:eq(0)").find("time.timeago").timeago();
$("#reviewsCont").find(".statusMsg").remove();
$("#createReview").hide();
}
};
postData(packet, {btn: $(this)});
return false;
});
$(document).on("click", ".deleteMyReviewBtn", function(e) {
e.preventDefault();
if(!confirm("Are you sure?")) {
return false;
}
var packet = {
url: ctx + "/courses/6880e67936aad323a0971c5f/review/"+$(this).data('id')+"/delete",
data: {},
success: function(data, params) {
var template = _.template($("#reviewTemplate").html());
params.btn.closest(".review").remove();
if($("#reviewsCont").find(".review").length === 0) {
$("#reviewsCont").prepend("