PNG  IHDRQgAMA a cHRMz&u0`:pQ<bKGDgmIDATxwUﹻ& ^CX(J I@ "% (** BX +*i"]j(IH{~R)[~>h{}gy)I$Ij .I$I$ʊy@}x.: $I$Ii}VZPC)I$IF ^0ʐJ$I$Q^}{"r=OzI$gRZeC.IOvH eKX $IMpxsk.쒷/&r[޳<v| .I~)@$updYRa$I |M.e JaֶpSYR6j>h%IRز if&uJ)M$I vLi=H;7UJ,],X$I1AҒJ$ XY XzI@GNҥRT)E@;]K*Mw;#5_wOn~\ DC&$(A5 RRFkvIR}l!RytRl;~^ǷJj اy뷦BZJr&ӥ8Pjw~vnv X^(I;4R=P[3]J,]ȏ~:3?[ a&e)`e*P[4]T=Cq6R[ ~ޤrXR Հg(t_HZ-Hg M$ãmL5R uk*`%C-E6/%[t X.{8P9Z.vkXŐKjgKZHg(aK9ڦmKjѺm_ \#$5,)-  61eJ,5m| r'= &ڡd%-]J on Xm|{ RҞe $eڧY XYrԮ-a7RK6h>n$5AVڴi*ֆK)mѦtmr1p| q:흺,)Oi*ֺK)ܬ֦K-5r3>0ԔHjJئEZj,%re~/z%jVMڸmrt)3]J,T K֦OvԒgii*bKiNO~%PW0=dii2tJ9Jݕ{7"I P9JKTbu,%r"6RKU}Ij2HKZXJ,妝 XYrP ެ24c%i^IK|.H,%rb:XRl1X4Pe/`x&P8Pj28Mzsx2r\zRPz4J}yP[g=L) .Q[6RjWgp FIH*-`IMRaK9TXcq*I y[jE>cw%gLRԕiFCj-ďa`#e~I j,%r,)?[gp FI˨mnWX#>mʔ XA DZf9,nKҲzIZXJ,L#kiPz4JZF,I,`61%2s $,VOϚ2/UFJfy7K> X+6 STXIeJILzMfKm LRaK9%|4p9LwJI!`NsiazĔ)%- XMq>pk$-$Q2x#N ؎-QR}ᶦHZډ)J,l#i@yn3LN`;nڔ XuX5pF)m|^0(>BHF9(cզEerJI rg7 4I@z0\JIi䵙RR0s;$s6eJ,`n 䂦0a)S)A 1eJ,堌#635RIgpNHuTH_SԕqVe ` &S)>p;S$魁eKIuX`I4춒o}`m$1":PI<[v9^\pTJjriRŭ P{#{R2,`)e-`mgj~1ϣLKam7&U\j/3mJ,`F;M'䱀 .KR#)yhTq;pcK9(q!w?uRR,n.yw*UXj#\]ɱ(qv2=RqfB#iJmmL<]Y͙#$5 uTU7ӦXR+q,`I}qL'`6Kͷ6r,]0S$- [RKR3oiRE|nӦXR.(i:LDLTJjY%o:)6rxzҒqTJjh㞦I.$YR.ʼnGZ\ֿf:%55 I˼!6dKxm4E"mG_ s? .e*?LRfK9%q#uh$)i3ULRfK9yxm܌bj84$i1U^@Wbm4uJ,ҪA>_Ij?1v32[gLRD96oTaR׿N7%L2 NT,`)7&ƝL*꽙yp_$M2#AS,`)7$rkTA29_Iye"|/0t)$n XT2`YJ;6Jx".e<`$) PI$5V4]29SRI>~=@j]lp2`K9Jaai^" Ԋ29ORI%:XV5]JmN9]H;1UC39NI%Xe78t)a;Oi Ҙ>Xt"~G>_mn:%|~ޅ_+]$o)@ǀ{hgN;IK6G&rp)T2i୦KJuv*T=TOSV>(~D>dm,I*Ɛ:R#ۙNI%D>G.n$o;+#RR!.eU˽TRI28t)1LWϚ>IJa3oFbu&:tJ*(F7y0ZR ^p'Ii L24x| XRI%ۄ>S1]Jy[zL$adB7.eh4%%누>WETf+3IR:I3Xה)3אOۦSRO'ٺ)S}"qOr[B7ϙ.edG)^ETR"RtRݜh0}LFVӦDB^k_JDj\=LS(Iv─aTeZ%eUAM-0;~˃@i|l @S4y72>sX-vA}ϛBI!ݎߨWl*)3{'Y|iSlEڻ(5KtSI$Uv02,~ԩ~x;P4ցCrO%tyn425:KMlD ^4JRxSهF_}شJTS6uj+ﷸk$eZO%G*^V2u3EMj3k%)okI]dT)URKDS 7~m@TJR~荪fT"֛L \sM -0T KfJz+nإKr L&j()[E&I ߴ>e FW_kJR|!O:5/2跌3T-'|zX ryp0JS ~^F>-2< `*%ZFP)bSn"L :)+pʷf(pO3TMW$~>@~ū:TAIsV1}S2<%ޟM?@iT ,Eūoz%i~g|`wS(]oȤ8)$ ntu`өe`6yPl IzMI{ʣzʨ )IZ2= ld:5+請M$-ї;U>_gsY$ÁN5WzWfIZ)-yuXIfp~S*IZdt;t>KūKR|$#LcԀ+2\;kJ`]YǔM1B)UbG"IRߊ<xܾӔJ0Z='Y嵤 Leveg)$znV-º^3Ւof#0Tfk^Zs[*I꯳3{)ˬW4Ւ4 OdpbZRS|*I 55#"&-IvT&/윚Ye:i$ 9{LkuRe[I~_\ؠ%>GL$iY8 9ܕ"S`kS.IlC;Ҏ4x&>u_0JLr<J2(^$5L s=MgV ~,Iju> 7r2)^=G$1:3G< `J3~&IR% 6Tx/rIj3O< ʔ&#f_yXJiގNSz; Tx(i8%#4 ~AS+IjerIUrIj362v885+IjAhK__5X%nV%Iͳ-y|7XV2v4fzo_68"S/I-qbf; LkF)KSM$ Ms>K WNV}^`-큧32ŒVؙGdu,^^m%6~Nn&͓3ŒVZMsRpfEW%IwdǀLm[7W&bIRL@Q|)* i ImsIMmKmyV`i$G+R 0tV'!V)֏28vU7͒vHꦼtxꗞT ;S}7Mf+fIRHNZUkUx5SAJㄌ9MqμAIRi|j5)o*^'<$TwI1hEU^c_j?Е$%d`z cyf,XO IJnTgA UXRD }{H}^S,P5V2\Xx`pZ|Yk:$e ~ @nWL.j+ϝYb퇪bZ BVu)u/IJ_ 1[p.p60bC >|X91P:N\!5qUB}5a5ja `ubcVxYt1N0Zzl4]7­gKj]?4ϻ *[bg$)+À*x쳀ogO$~,5 زUS9 lq3+5mgw@np1sso Ӻ=|N6 /g(Wv7U;zωM=wk,0uTg_`_P`uz?2yI!b`kĸSo+Qx%!\οe|އԁKS-s6pu_(ֿ$i++T8=eY; צP+phxWQv*|p1. ά. XRkIQYP,drZ | B%wP|S5`~́@i޾ E;Չaw{o'Q?%iL{u D?N1BD!owPHReFZ* k_-~{E9b-~P`fE{AܶBJAFO wx6Rox5 K5=WwehS8 (JClJ~ p+Fi;ŗo+:bD#g(C"wA^ r.F8L;dzdIHUX݆ϞXg )IFqem%I4dj&ppT{'{HOx( Rk6^C٫O.)3:s(۳(Z?~ٻ89zmT"PLtw䥈5&b<8GZ-Y&K?e8,`I6e(֍xb83 `rzXj)F=l($Ij 2*(F?h(/9ik:I`m#p3MgLaKjc/U#n5S# m(^)=y=đx8ŬI[U]~SцA4p$-F i(R,7Cx;X=cI>{Km\ o(Tv2vx2qiiDJN,Ҏ!1f 5quBj1!8 rDFd(!WQl,gSkL1Bxg''՞^ǘ;pQ P(c_ IRujg(Wz bs#P­rz> k c&nB=q+ؔXn#r5)co*Ũ+G?7< |PQӣ'G`uOd>%Mctz# Ԫڞ&7CaQ~N'-P.W`Oedp03C!IZcIAMPUۀ5J<\u~+{9(FbbyAeBhOSܳ1 bÈT#ŠyDžs,`5}DC-`̞%r&ڙa87QWWp6e7 Rϫ/oY ꇅ Nܶըtc!LA T7V4Jsū I-0Pxz7QNF_iZgúWkG83 0eWr9 X]㾮݁#Jˢ C}0=3ݱtBi]_ &{{[/o[~ \q鯜00٩|cD3=4B_b RYb$óBRsf&lLX#M*C_L܄:gx)WΘsGSbuL rF$9';\4Ɍq'n[%p.Q`u hNb`eCQyQ|l_C>Lb꟟3hSb #xNxSs^ 88|Mz)}:](vbۢamŖ࿥ 0)Q7@0=?^k(*J}3ibkFn HjB׻NO z x}7p 0tfDX.lwgȔhԾŲ }6g E |LkLZteu+=q\Iv0쮑)QٵpH8/2?Σo>Jvppho~f>%bMM}\//":PTc(v9v!gոQ )UfVG+! 35{=x\2+ki,y$~A1iC6#)vC5^>+gǵ@1Hy٪7u;p psϰu/S <aʸGu'tD1ԝI<pg|6j'p:tպhX{o(7v],*}6a_ wXRk,O]Lܳ~Vo45rp"N5k;m{rZbΦ${#)`(Ŵg,;j%6j.pyYT?}-kBDc3qA`NWQū20/^AZW%NQ MI.X#P#,^Ebc&?XR tAV|Y.1!؅⨉ccww>ivl(JT~ u`ٵDm q)+Ri x/x8cyFO!/*!/&,7<.N,YDŽ&ܑQF1Bz)FPʛ?5d 6`kQձ λc؎%582Y&nD_$Je4>a?! ͨ|ȎWZSsv8 j(I&yj Jb5m?HWp=g}G3#|I,5v珿] H~R3@B[☉9Ox~oMy=J;xUVoj bUsl_35t-(ՃɼRB7U!qc+x4H_Qo֮$[GO<4`&č\GOc[.[*Af%mG/ ňM/r W/Nw~B1U3J?P&Y )`ѓZ1p]^l“W#)lWZilUQu`-m|xĐ,_ƪ|9i:_{*(3Gѧ}UoD+>m_?VPۅ15&}2|/pIOʵ> GZ9cmíتmnz)yߐbD >e}:) r|@R5qVSA10C%E_'^8cR7O;6[eKePGϦX7jb}OTGO^jn*媓7nGMC t,k31Rb (vyܴʭ!iTh8~ZYZp(qsRL ?b}cŨʊGO^!rPJO15MJ[c&~Z`"ѓޔH1C&^|Ш|rʼ,AwĴ?b5)tLU)F| &g٣O]oqSUjy(x<Ϳ3 .FSkoYg2 \_#wj{u'rQ>o;%n|F*O_L"e9umDds?.fuuQbIWz |4\0 sb;OvxOSs; G%T4gFRurj(֍ڑb uԖKDu1MK{1^ q; C=6\8FR艇!%\YÔU| 88m)֓NcLve C6z;o&X x59:q61Z(T7>C?gcļxѐ Z oo-08jہ x,`' ҔOcRlf~`jj".Nv+sM_]Zk g( UOPyεx%pUh2(@il0ݽQXxppx-NS( WO+轾 nFߢ3M<;z)FBZjciu/QoF 7R¥ ZFLF~#ȣߨ^<쩡ݛкvџ))ME>ώx4m#!-m!L;vv#~Y[đKmx9.[,UFS CVkZ +ߟrY٧IZd/ioi$%͝ب_ֶX3ܫhNU ZZgk=]=bbJS[wjU()*I =ώ:}-蹞lUj:1}MWm=̛ _ ¾,8{__m{_PVK^n3esw5ӫh#$-q=A̟> ,^I}P^J$qY~Q[ Xq9{#&T.^GVj__RKpn,b=`żY@^՝;z{paVKkQXj/)y TIc&F;FBG7wg ZZDG!x r_tƢ!}i/V=M/#nB8 XxЫ ^@CR<{䤭YCN)eKOSƟa $&g[i3.C6xrOc8TI;o hH6P&L{@q6[ Gzp^71j(l`J}]e6X☉#͕ ׈$AB1Vjh㭦IRsqFBjwQ_7Xk>y"N=MB0 ,C #o6MRc0|$)ف"1!ixY<B9mx `,tA>)5ػQ?jQ?cn>YZe Tisvh# GMމȇp:ԴVuږ8ɼH]C.5C!UV;F`mbBk LTMvPʍϤj?ԯ/Qr1NB`9s"s TYsz &9S%U԰> {<ؿSMxB|H\3@!U| k']$U+> |HHMLޢ?V9iD!-@x TIî%6Z*9X@HMW#?nN ,oe6?tQwڱ.]-y':mW0#!J82qFjH -`ѓ&M0u Uγmxϵ^-_\])@0Rt.8/?ٰCY]x}=sD3ojަЫNuS%U}ԤwHH>ڗjܷ_3gN q7[q2la*ArǓԖ+p8/RGM ]jacd(JhWko6ڎbj]i5Bj3+3!\j1UZLsLTv8HHmup<>gKMJj0@H%,W΃7R) ">c, xixј^ aܖ>H[i.UIHc U1=yW\=S*GR~)AF=`&2h`DzT󑓶J+?W+}C%P:|0H܆}-<;OC[~o.$~i}~HQ TvXΈr=b}$vizL4:ȰT|4~*!oXQR6Lk+#t/g lԁߖ[Jڶ_N$k*". xsxX7jRVbAAʯKҎU3)zSNN _'s?f)6X!%ssAkʱ>qƷb hg %n ~p1REGMHH=BJiy[<5 ǁJҖgKR*倳e~HUy)Ag,K)`Vw6bRR:qL#\rclK/$sh*$ 6덤 KԖc 3Z9=Ɣ=o>X Ώ"1 )a`SJJ6k(<c e{%kϊP+SL'TcMJWRm ŏ"w)qc ef꒵i?b7b('"2r%~HUS1\<(`1Wx9=8HY9m:X18bgD1u ~|H;K-Uep,, C1 RV.MR5άh,tWO8WC$ XRVsQS]3GJ|12 [vM :k#~tH30Rf-HYݺ-`I9%lIDTm\ S{]9gOڒMNCV\G*2JRŨ;Rҏ^ڽ̱mq1Eu?To3I)y^#jJw^Ńj^vvlB_⋌P4x>0$c>K†Aļ9s_VjTt0l#m>E-,,x,-W)سo&96RE XR.6bXw+)GAEvL)͞K4$p=Ũi_ѱOjb HY/+@θH9޼]Nԥ%n{ &zjT? Ty) s^ULlb,PiTf^<À] 62R^V7)S!nllS6~͝V}-=%* ʻ>G DnK<y&>LPy7'r=Hj 9V`[c"*^8HpcO8bnU`4JȪAƋ#1_\ XϘHPRgik(~G~0DAA_2p|J묭a2\NCr]M_0 ^T%e#vD^%xy-n}-E\3aS%yN!r_{ )sAw ڼp1pEAk~v<:`'ӭ^5 ArXOI驻T (dk)_\ PuA*BY]yB"l\ey hH*tbK)3 IKZ򹞋XjN n *n>k]X_d!ryBH ]*R 0(#'7 %es9??ښFC,ՁQPjARJ\Ρw K#jahgw;2$l*) %Xq5!U᢯6Re] |0[__64ch&_}iL8KEgҎ7 M/\`|.p,~`a=BR?xܐrQ8K XR2M8f ?`sgWS%" Ԉ 7R%$ N}?QL1|-эټwIZ%pvL3Hk>,ImgW7{E xPHx73RA @RS CC !\ȟ5IXR^ZxHл$Q[ŝ40 (>+ _C >BRt<,TrT {O/H+˟Pl6 I B)/VC<6a2~(XwV4gnXR ϱ5ǀHٻ?tw똤Eyxp{#WK qG%5],(0ӈH HZ])ג=K1j&G(FbM@)%I` XRg ʔ KZG(vP,<`[ Kn^ SJRsAʠ5xՅF`0&RbV tx:EaUE/{fi2;.IAwW8/tTxAGOoN?G}l L(n`Zv?pB8K_gI+ܗ #i?ޙ.) p$utc ~DžfՈEo3l/)I-U?aԅ^jxArA ΧX}DmZ@QLےbTXGd.^|xKHR{|ΕW_h] IJ`[G9{).y) 0X YA1]qp?p_k+J*Y@HI>^?gt.06Rn ,` ?);p pSF9ZXLBJPWjgQ|&)7! HjQt<| ؅W5 x W HIzYoVMGP Hjn`+\(dNW)F+IrS[|/a`K|ͻ0Hj{R,Q=\ (F}\WR)AgSG`IsnAR=|8$}G(vC$)s FBJ?]_u XRvύ6z ŨG[36-T9HzpW̞ú Xg큽=7CufzI$)ki^qk-) 0H*N` QZkk]/tnnsI^Gu't=7$ Z;{8^jB% IItRQS7[ϭ3 $_OQJ`7!]W"W,)Iy W AJA;KWG`IY{8k$I$^%9.^(`N|LJ%@$I}ֽp=FB*xN=gI?Q{٥4B)mw $Igc~dZ@G9K X?7)aK%݅K$IZ-`IpC U6$I\0>!9k} Xa IIS0H$I H ?1R.Чj:4~Rw@p$IrA*u}WjWFPJ$I➓/6#! LӾ+ X36x8J |+L;v$Io4301R20M I$-E}@,pS^ޟR[/s¹'0H$IKyfŸfVOπFT*a$I>He~VY/3R/)>d$I>28`Cjw,n@FU*9ttf$I~<;=/4RD~@ X-ѕzἱI$: ԍR a@b X{+Qxuq$IЛzo /~3\8ڒ4BN7$IҀj V]n18H$IYFBj3̵̚ja pp $Is/3R Ӻ-Yj+L;.0ŔI$Av? #!5"aʄj}UKmɽH$IjCYs?h$IDl843.v}m7UiI=&=0Lg0$I4: embe` eQbm0u? $IT!Sƍ'-sv)s#C0:XB2a w I$zbww{."pPzO =Ɔ\[ o($Iaw]`E).Kvi:L*#gР7[$IyGPI=@R 4yR~̮´cg I$I/<tPͽ hDgo 94Z^k盇΄8I56^W$I^0̜N?4*H`237}g+hxoq)SJ@p|` $I%>-hO0eO>\ԣNߌZD6R=K ~n($I$y3D>o4b#px2$yڪtzW~a $I~?x'BwwpH$IZݑnC㧄Pc_9sO gwJ=l1:mKB>Ab<4Lp$Ib o1ZQ@85b̍ S'F,Fe,^I$IjEdù{l4 8Ys_s Z8.x m"+{~?q,Z D!I$ϻ'|XhB)=…']M>5 rgotԎ 獽PH$IjIPhh)n#cÔqA'ug5qwU&rF|1E%I$%]!'3AFD/;Ck_`9 v!ٴtPV;x`'*bQa w I$Ix5 FC3D_~A_#O݆DvV?<qw+I$I{=Z8".#RIYyjǪ=fDl9%M,a8$I$Ywi[7ݍFe$s1ՋBVA?`]#!oz4zjLJo8$I$%@3jAa4(o ;p,,dya=F9ً[LSPH$IJYЉ+3> 5"39aZ<ñh!{TpBGkj}Sp $IlvF.F$I z< '\K*qq.f<2Y!S"-\I$IYwčjF$ w9 \ߪB.1v!Ʊ?+r:^!I$BϹB H"B;L'G[ 4U#5>੐)|#o0aڱ$I>}k&1`U#V?YsV x>{t1[I~D&(I$I/{H0fw"q"y%4 IXyE~M3 8XψL}qE$I[> nD?~sf ]o΁ cT6"?'_Ἣ $I>~.f|'!N?⟩0G KkXZE]ޡ;/&?k OۘH$IRۀwXӨ<7@PnS04aӶp.:@\IWQJ6sS%I$e5ڑv`3:x';wq_vpgHyXZ 3gЂ7{{EuԹn±}$I$8t;b|591nءQ"P6O5i }iR̈́%Q̄p!I䮢]O{H$IRϻ9s֧ a=`- aB\X0"+5"C1Hb?߮3x3&gşggl_hZ^,`5?ߎvĸ%̀M!OZC2#0x LJ0 Gw$I$I}<{Eb+y;iI,`ܚF:5ܛA8-O-|8K7s|#Z8a&><a&/VtbtLʌI$I$I$I$I$I$IRjDD%tEXtdate:create2022-05-31T04:40:26+00:00!Î%tEXtdate:modify2022-05-31T04:40:26+00:00|{2IENDB`Mini Shell

HOME


Mini Shell 1.0
DIR:/home/oysterpublicschool.com/www/wp-content/plugins/photo-gallery/js/
Upload File :
Current File : //home/oysterpublicschool.com/www/wp-content/plugins/photo-gallery/js/bwg.js
jQuery(document).ready(function () {
  /* press ESC hide loading. */
  jQuery(document).keyup(function(e) {
     if ( e.keyCode == 27 ) {
        jQuery('#loading_div').hide();
    }
  });
  /* Galleries form. */
  if ( jQuery("form").hasClass("bwg_galleries") ) {
	if ( jQuery("#tbody_arr").hasClass("bwg-ordering") ) {
		wd_showhide_weights();
	}
    wd_pagination();
	if ( jQuery("#bwg-table-sortable").hasClass("bwg-ordering") ) {
		bwg_galleries_ordering();
	}
  }

  jQuery("#check_all").on("click", function () {
    spider_check_all("#check_all");
  });

  /* Add tooltip to elements with "wd-info" class. */
  if ( typeof jQuery(document).tooltip != "undefined" ) {
    jQuery(document).tooltip({
      show: null,
      items: ".wd-info",
      content: function () {
        var element = jQuery(this);
        if (element.is(".wd-info")) {
          var html = jQuery('#' + jQuery(this).data("id")).html();
          return html;
        }
      },
      open: function (event, ui) {
        if (typeof(event.originalEvent) === 'undefined') {
          return false;
        }
        var $id = jQuery(ui.tooltip).attr('id');
        /* close any lingering tooltips. */
        jQuery('div.ui-tooltip').not('#' + $id).remove();
      },
      close: function (event, ui) {
        ui.tooltip.hover(function () {
            jQuery(this).stop(true).fadeTo(400, 1);
          },
          function () {
            jQuery(this).fadeOut('400', function () {
              jQuery(this).remove();
            });
          });
      },
      position: {
        my: "center top+30",
        at: "center top",
        using: function (position, feedback) {
          jQuery(this).css(position);
          jQuery("<div>")
            .addClass("tooltip-arrow")
            .addClass(feedback.vertical)
            .addClass(feedback.horizontal)
            .appendTo(this);
        }
      }
    });
  }

	bwg_change_theme_tab_item();
	bwg_filters();
	bwg_toggle_postbox();

  jQuery(".bwg_requried").on("keypress", function () {
    jQuery(".bwg_requried").removeAttr("style");
  });

  jQuery(".wd-filter").on("change", function () {
    var form = jQuery(this).parents("form");

    var action = form.attr("action");
    action += "&paged=1";
    action += "&s=" + jQuery("input[name='s']").val();
    action += "&filter-by-gallery=" + jQuery("select[name='filter[filter-by-gallery]']").val();
    action += "&filter-by-image=" + jQuery("select[name='filter[filter-by-image]']").val();
    form.attr("action", action);

    form.submit();
  });

  /* Options form. */
  if (jQuery("form#bwg_options_form").length > 0) {
    jQuery(".bwg_tabs").each(function () {
      jQuery(this).tabs({
        active: jQuery('#active_tab').val(),
        activate: function( event, ui ) {
          jQuery('#active_tab').val(ui.newTab.index());
          if ( ui.newTab.index() == 1 ) {
            bwg_gallery_type_options();
          }
          else if ( ui.newTab.index() == 2 ) {
            bwg_album_type_options();
          }
        }
      });
    });
    bwg_gallery_type_options();
    bwg_album_type_options();
  }

  /* Changing label Number of image rows to columns in masonry view. */
  jQuery('input[name=masonry]').on('click', function(){
    if(jQuery(this).val() == 'horizontal') {
      jQuery('.masonry_col_num').hide();
      jQuery('.masonry_row_num').show();
    } else {
      jQuery('.masonry_row_num').hide();
      jQuery('.masonry_col_num').show();
    }
  });

  jQuery( '#bwg_image_editor_notice .notice-dismiss' ).on( 'click', function() {
    var dismiss_url = bwg_ajax_url + '=' + jQuery('#bwg_image_editor_notice').data('action');
    jQuery.ajax({
      method: "POST",
      url: dismiss_url,
    });
  });

  /* Change the popup dimensions. */
  bwg_tb_window();

  /* Hide loading */
  jQuery('#loading_div.bwg_show').hide();

  bwg_lazy_load_gallery();

  /* Albums form. */
  if (jQuery("form").hasClass("bwg_albums")) {
    jQuery("#bwg_tabs").sortable({
      items: ".connectedSortable",
      update: function (event, tr) {
        bwg_albums_galleries();
      }
    });
    bwg_albums_galleries();
  }
});

/* Load gallery images */
function bwg_lazy_load_gallery() {
  jQuery(".gallery_image_thumb").each(function () {
    var currImg = jQuery(this);
    var src = currImg.attr("data-src");
    if( typeof src != "undefined" && src.length > 0) {
      currImg.attr("src", src);
      currImg.removeAttr("data-src");
      currImg.load(function() {
        currImg.removeClass("bwg_no_border");
      });
    }
  });
}

function bwg_albums_galleries() {
  var str = '';
  jQuery("#bwg_tabs>.connectedSortable").each(function () {
    str += jQuery(this).data('id') + ':' + jQuery(this).data('is-album') + ',';
  });
  jQuery("#albums_galleries").val(str);
}

function bwg_remove_album_gallery(obj) {
  jQuery(obj).closest(".connectedSortable").remove();
  bwg_albums_galleries();
}

function bwg_add_album_gallery(alb_gal_id, is_album, preview_image, name, status, tb_remove) {
  var html = jQuery('#bwg_template').html()
	  .replace(/%%alb_gal_id%%/g, alb_gal_id)
	  .replace(/%%is_album%%/g, is_album)
	  .replace(/%%preview_image%%=""/g, 'style="background-image:url(&quot;' + preview_image + '&quot;)"')
	  .replace(/%%name%%/g, name)
	  .replace(/%%status%%/g, status);
  jQuery('#bwg_tabs').children('#bwg_template').last().before(html);
  bwg_albums_galleries();
  if (tb_remove != false) {
    window.parent.tb_remove();
  }
}

function spider_get_items() {
  jQuery('#tbody_albums_galleries input[type=checkbox]').each(function () {
    obj = jQuery(this);
    if (obj.attr('checked')) {
      window.parent.bwg_add_album_gallery(obj.attr('data-id'), obj.attr('data-is-album'), obj.attr('data-preview-image'), obj.attr('data-name'), obj.attr('data-status'), false);
    }
  });
  window.parent.tb_remove();
}

function addPricelist(pricelist) {
  jQuery('#image_pricelist_id', window.parent.document).val(pricelist.id);
  window.parent.spider_set_input_value('ajax_task', 'set_image_pricelist');
  window.parent.spider_ajax_save('bwg_gallery');
  window.parent.tb_remove();
}

function bwg_remove_pricelist(obj) {
  jQuery("#remove_pricelist").val(jQuery(obj).attr("data-image-id"));
  jQuery("#pricelist_id_" + jQuery(obj).attr("data-pricelist-id") ).val("");
  spider_set_input_value('ajax_task', 'remove_image_pricelist');
  spider_ajax_save('bwg_gallery');
}

var bwg_save_count = 50;
/**
 * Save gallery and images.
 *
 * @param form_id
 * @param tr_group Save counter.
 * @returns {boolean}
 */
function spider_ajax_save(form_id, tr_group) {
  if (spider_check_required('name', 'Name')) {
    return false;
  }
  var post_data = {};
  post_data["task"] = "save";
  var ajax_task = jQuery("#ajax_task").val();/* Images list action task.*/
  post_data["current_id"] = jQuery("#current_id").val();/* Current gallery id.*/
  post_data["image_current_id"] = jQuery("#image_current_id").val();/* Current image id.*/
  var ids_string = jQuery("#ids_string").val();/* Images ids separated by comma.*/
  ids_string = ids_string.replace(/,\s*$/, "");;
  post_data["image_bulk_action"] = jQuery("[name=image_bulk_action]").val(); /* Bulk action for images.*/
  post_data["order_by"] = jQuery("select[name='order_by']").val();/* Images sorting.*/
  post_data["s"] = jQuery("input[name='s']").val();/* Images filter.*/
  post_data["paged"] = jQuery("#paged").val();/* Images page number.*/
  post_data["bwg_nonce"] = jQuery("#bwg_nonce").val();/* Nonce*/
  post_data["image_pricelist_id"] = jQuery("#image_pricelist_id").val();
  post_data["remove_pricelist"] = jQuery("#remove_pricelist").val();

  /* Images ids array. */
  var ids_array = ids_string.split(",");
  /* Images count on page. */
  var tr_count = ids_array.length;

  if (!tr_group) {
    var tr_group = 1;
  }

  /* Selected images count for message.*/
  post_data["checked_items_count"] = jQuery("[name^=check]:not([id=check_all_items]):checked").length;
  /* Select all.*/
  post_data["check_all_items"] = jQuery("[name=check_all_items]").is(":checked") ? 1 : 0;
  var limit = (ajax_task == 'image_set_watermark' || ajax_task == 'image_reset') && (post_data["check_all_items"] || tr_count > bwg_save_count) ? bwg_save_count * (tr_group - 1) : false;
  post_data["limit"] = limit;
  /* Gallery paramters. */
  post_data["name"] = jQuery("#name").val();
  post_data["slug"] = jQuery("#slug").val();
  post_data["old_slug"] = jQuery("#old_slug").val();
  post_data["preview_image"] = jQuery("#preview_image").val();
  post_data["published"] = jQuery("input[name=published]:checked").val();
  if ( (typeof tinyMCE != "undefined")
    && tinyMCE.activeEditor
    && !tinyMCE.activeEditor.isHidden()
    && tinyMCE.activeEditor.getContent ) {
    post_data["description"] = tinyMCE.activeEditor.getContent();
  }
  else {
    post_data["description"] = jQuery("#description").val();
  }
  var gallery_type_input = jQuery("#gallery_type").val();
  post_data["gallery_source"] = (gallery_type_input == 'facebook') ? jQuery("#facebook_gallery_source").val() : jQuery("#gallery_source").val();
  post_data["autogallery_image_number"] = (gallery_type_input == 'facebook') ? jQuery("#facebook_gallery_image_limit").val() : jQuery("#autogallery_image_number").val();
  post_data["update_flag"] = (gallery_type_input == 'facebook') ? jQuery("input[name=facebook_update]:checked").val() : jQuery("input[name=update_flag]:checked").val();
  var gallery_content_type = (gallery_type_input == 'facebook') ? jQuery("input[name=facebook_content_type]:checked").val() : jQuery("input[name=instagram_post_gallery]:checked").val();
  post_data["gallery_type"] = gallery_type_input + (gallery_content_type == 1 ? "_post" : "");
  post_data["gallery_type_old"] = jQuery("#gallery_type_old").val();
  post_data["instagram_post_gallery"] = gallery_content_type;
  post_data["modified_date"] = jQuery("#modified_date").val();

  /* Remove images ids from begin and end of array. */
  if (tr_count > bwg_save_count) {
    ids_array.splice(tr_group * bwg_save_count, ids_array.length);
    ids_array.splice(0, (tr_group - 1) * bwg_save_count);
    ids_string = ids_array.join(",");
  }

  post_data["ajax_task"] = ajax_task;
  post_data["ids_string"] = ids_string;

  /* Images dimensions to resize. */
  post_data["image_width"] = jQuery("#image_width").val();
  post_data["image_height"] = jQuery("#image_height").val();
  /* Images bulk edit values. */
  post_data["title"] = jQuery("#title").val();
  post_data["desc"] = jQuery("#desc").val();
  post_data["redirecturl"] = jQuery("#redirecturl").val();
  /* Images bulk add tags ids. */
  post_data["added_tags_id"] = jQuery("#added_tags_id").val();

  /* Images data. */
  for (var i in ids_array) {
    if (ids_array.hasOwnProperty(i) && ids_array[i]) {
      if ( jQuery("#check_" + ids_array[i]).attr('checked') == 'checked' ) {
        post_data["check_" + ids_array[i]] = true; /* jQuery("#check_" + ids_array[i]).val(); */
      }
      post_data["input_filename_" + ids_array[i]] = jQuery("#input_filename_" + ids_array[i]).val();
      post_data["image_url_" + ids_array[i]] = decodeURIComponent(jQuery("#image_url_" + ids_array[i]).val());
      post_data["thumb_url_" + ids_array[i]] = decodeURIComponent(jQuery("#thumb_url_" + ids_array[i]).val());
	    post_data["image_description_" + ids_array[i]] = ( typeof jQuery("#image_description_" + ids_array[i]).val() !== 'undefined' && jQuery("#image_description_" + ids_array[i]).val() ) ? jQuery("#image_description_" + ids_array[i]).val() : '';
      post_data["image_alt_text_" + ids_array[i]] = ( typeof jQuery("#image_alt_text_" + ids_array[i]).val() !== 'undefined' && jQuery("#image_alt_text_" + ids_array[i]).val() ) ? jQuery("#image_alt_text_" + ids_array[i]).val() : '';
      post_data["redirect_url_" + ids_array[i]] = jQuery("#redirect_url_" + ids_array[i]).val();
      post_data["input_date_modified_" + ids_array[i]] = jQuery("#input_date_modified_" + ids_array[i]).val();
      post_data["input_size_" + ids_array[i]] = jQuery("#input_size_" + ids_array[i]).val();
      post_data["input_filetype_" + ids_array[i]] = jQuery("#input_filetype_" + ids_array[i]).val();
      post_data["input_resolution_" + ids_array[i]] = jQuery("#input_resolution_" + ids_array[i]).val();
      post_data["input_crop_" + ids_array[i]] = jQuery("#input_crop_" + ids_array[i]).val();
      post_data["order_input_" + ids_array[i]] = jQuery("#order_input_" + ids_array[i]).val();
      post_data["tags_" + ids_array[i]] = jQuery("#tags_" + ids_array[i]).val();
    }
  }

  /* Loading. */
  jQuery("#loading_div").show();

  jQuery.post(
    jQuery('#' + form_id).attr('action'),
    post_data,
    function (data) {
      var str = jQuery(data).find("#current_id").val();
      if ( typeof str != "undefined" ) {
        jQuery("#current_id").val(str);
      }
    }
  ).success(function (data, textStatus, errorThrown) {
    if ( tr_count > bwg_save_count * tr_group || (limit !== false && limit < jQuery("#total").val() ) ) {
      spider_ajax_save(form_id, ++tr_group);

      return;
    }
    else {
      var form_action = jQuery(data).find('#bwg_gallery').attr("action");
      /* Something went wrong.*/
      if ( typeof form_action == "undefined" ) {
        jQuery("#loading_div").hide();
        return;
      }
      jQuery('#bwg_gallery').attr("action", form_action);
      /*
      var str = jQuery(data).find('#bwg_gallery').html();
      jQuery('#bwg_gallery').html(str);
      var current_id = jQuery(data).find("#current_id").val();
      window.history.pushState(null, null, window.location.href + '&current_id=' + current_id);
      */
      var str = jQuery(data).find('.bwg-page-header').html();
      jQuery('.bwg-page-header').html(str);
      var str = jQuery(data).find('.ajax-msg').html();
      jQuery('.ajax-msg').html(str);
      jQuery(".ajax-msg").addClass("wd-hide");
      var str = jQuery(data).find('.gal-msg').html();
      jQuery('.gal-msg').html(str);
      var str = jQuery(data).find('.tablenav.top').html();
      jQuery('.tablenav.top').html(str);
      var str = jQuery(data).find('#images_table').html();
      jQuery('#images_table').html(str);
      var str = jQuery(data).find('.tablenav.bottom').html();
      jQuery('.tablenav.bottom').html(str);
      var str = jQuery(data).find('.wd-hidden-values').html();
      jQuery('.wd-hidden-values').html(str);
      var str = jQuery(data).find('#task').html();
      jQuery('#task').html(str);
      var str = jQuery(data).find('#current_id').html();
      jQuery('#current_id').html(str);

      if ( ajax_task != '' ) {
        jQuery(".ajax-msg").removeClass("wd-hide");
      }
      jQuery(".gal-msg").removeClass("wd-hide");

      jQuery(".unsaved-msg").addClass("wd-hide");
      if ( jQuery("#tbody_arr").hasClass("bwg-ordering") ) {
        wd_showhide_weights();
      }
      wd_pagination();
      /* bwg_toggle_postbox();*/

      jQuery("#check_all").on("click", function () {
        spider_check_all("#check_all");
      });
      jQuery("#loading_div").hide();
      bwg_lazy_load_gallery();
      wd_howto_src_change();

      /* Add click event to toggle button to expand columns.*/
      jQuery( "tbody" ).on( "click", ".toggle-row", function() {
        jQuery( this ).closest( "tr" ).toggleClass( "is-expanded" );
      });

      /* Change the popup dimensions. */
      bwg_tb_window("#images_table");
    }
  });

  return false;
}

function bwg_sort_images(sorting) {
  var msg = jQuery('.sorting-msg');
  if (sorting != 'order_asc') {
    msg.removeClass('wd-hide');
  }
  else {
    msg.addClass('wd-hide');
  }
  spider_set_input_value('task', 'save');
  spider_ajax_save('bwg_gallery');
}

/* Set value by id. */
function spider_set_input_value(input_id, input_value) {
  if (document.getElementById(input_id)) {
    document.getElementById(input_id).value = input_value;
  }
}

/* Submit form by id. */
function spider_form_submit(event, form_id) {
  if (document.getElementById(form_id)) {
    document.getElementById(form_id).submit();
  }
  if (event.preventDefault) {
    event.preventDefault();
  }
  else {
    event.returnValue = false;
  }
}

/* Check if required field is empty. */
function spider_check_required(id, name) {
  if (jQuery('#' + id).val() == '') {
    alert(name + ' ' + bwg_objectL10B.bwg_field_required);
    jQuery('#' + id).attr('style', 'border-color: #FF0000;');
    jQuery('#' + id).focus();
    jQuery('html, body').animate({
      scrollTop:jQuery('#' + id).offset().top - 200
    }, 500);
    return true;
  }
  else {
    return false;
  }
}

/**
 * Show/hide order inputs/drag and drop columns.
 *
 * @param click
 */
function wd_showhide_weights(click) {
  if ( typeof click == "undefined" ) {
    var click = false;
  }
  if (jQuery("select[name='order_by']").val() == 'order_asc') {
    if ( click ) {
      jQuery( ".wd-order" ).toggleClass( "wd-hide" );
      jQuery( ".wd-drag" ).toggleClass( "wd-hide" );
    }
  }
  else {
    jQuery( ".wd-order" ).removeClass( "wd-hide" );
    jQuery( ".wd-drag" ).addClass( "wd-hide" );
  }

  if ( !jQuery(".wd-drag").hasClass("wd-hide") ) { /* Drag and drop. */
    jQuery(".wd-order-thead").attr("title", bwg_objectL10B.bwg_show_order);
    jQuery("#tbody_arr").sortable({
      handle: ".connectedSortable",
      connectWith: ".connectedSortable",
      update: function (event, tr) {
        jQuery(".unsaved-msg").removeClass("wd-hide");
        jQuery(".ajax-msg").addClass("wd-hide");
        var i = jQuery("td.col_drag").data("page-number");
        jQuery(".wd-order").each(function () {
          jQuery(this).val(++i);
        });
      }
    });
  }
  else { /* Order inputs. */
    jQuery(".wd-order-thead").attr("title", bwg_objectL10B.bwg_hide_order);
  }
}

/*jQuery(".wd-check-all").on("click", function () {
  jQuery("#check_all").trigger("click");
  var checkbox = jQuery("#check_all_items");
  if (checkbox.is(":checked")) {
    checkbox.attr("checked", false);
  }
  else {
    checkbox.attr("checked", true);
  }
});*/

/* Check all items. */
function spider_check_all_items(event) {
  if (jQuery("#check_all_items").is(':checked')) {
    jQuery("#check_all_items").prop('checked', false);
  }
  else {
    jQuery("#check_all_items").prop('checked', true);
  }
  spider_check_all_items_checkbox(event);
}

function spider_check_all_items_checkbox(event) {
  if (jQuery("#check_all_items").is(':checked')) {
    /* Generate message about how many images are selected. */
    var saved_items = (parseInt(jQuery(".displaying-num").html()) ? parseInt(jQuery(".displaying-num").html()) : 0);
    var added_items = (jQuery('input[id^="check_pr_"]').length ? parseInt(jQuery('input[id^="check_pr_"]').length) : 0);
    var items_count = added_items + saved_items;
    if ( items_count ) {
      jQuery(".ajax-msg")
        .html("<div class='notice notice-warning'><p><strong>" + (items_count == 1 ? bwg_objectL10B.selected_item : bwg_objectL10B.selected_items).replace("%d", items_count) + "</strong></p></div>")
        .removeClass("wd-hide");
    }

    if (!jQuery("#check_all").is(':checked')) {
      jQuery('#check_all').trigger('click');
    }
  }
  else {
    if (jQuery("#check_all").is(':checked')) {
      jQuery('#check_all').trigger('click');
    }
  }
  event.stopPropagation();
}

function spider_check_all(current) {
  if (!jQuery(current).is(':checked')) {
    jQuery('#check_all_items').attr('checked', false);
    jQuery(".ajax-msg").addClass("wd-hide");
  }
}

/* Set uploader to button class. */
function spider_uploader(button_id, input_id, delete_id, img_id) {
  if (typeof img_id == 'undefined') {
    img_id = '';
  }
  jQuery(function () {
    var formfield = null;
    window.original_send_to_editor = window.send_to_editor;
    window.send_to_editor = function (html) {
      if (formfield) {
        var fileurl = jQuery('img', html).attr('src');
        if (!fileurl) {
          var exploded_html;
          var exploded_html_askofen;
          exploded_html = html.split('"');
          for (i = 0; i < exploded_html.length; i++) {
            exploded_html_askofen = exploded_html[i].split("'");
          }
          for (i = 0; i < exploded_html.length; i++) {
            for (j = 0; j < exploded_html_askofen.length; j++) {
              if (exploded_html_askofen[j].search("href")) {
                fileurl = exploded_html_askofen[i + 1];
                break;
              }
            }
          }
          if (img_id != '') {
            alert(bwg_objectL10B.bwg_select_image);
            tb_remove();
            return;
          }
          window.parent.document.getElementById(input_id).value = fileurl;
          window.parent.document.getElementById(button_id).style.display = "none";
          window.parent.document.getElementById(input_id).style.display = "inline-block";
          window.parent.document.getElementById(delete_id).style.display = "inline-block";
        }
        else {
          if (img_id == '') {
            alert(bwg_objectL10B.bwg_field_required);
            tb_remove();
            return;
          }
          window.parent.document.getElementById(input_id).value = fileurl;
          window.parent.document.getElementById(button_id).style.display = "none";
          window.parent.document.getElementById(delete_id).style.display = "inline-block";
          if ((img_id != '') && window.parent.document.getElementById(img_id)) {
            window.parent.document.getElementById(img_id).src = fileurl;
            window.parent.document.getElementById(img_id).style.display = "inline-block";
          }
        }
        formfield.val(fileurl);
        tb_remove();
      }
      else {
        window.original_send_to_editor(html);
      }
      formfield = null;
    };
    formfield = jQuery(this).parent().parent().find(".url_input");
    tb_show('', 'media-upload.php?type=image&TB_iframe=true');
    jQuery('#TB_overlay,#TB_closeWindowButton').bind("click", function () {
      formfield = null;
    });
    return false;
  });
}

/* Remove uploaded file. */
function spider_remove_url(button_id, input_id, delete_id, img_id) {
  if (typeof img_id == 'undefined') {
    img_id = '';
  }
  if (document.getElementById(button_id)) {
    document.getElementById(button_id).style.display = '';
  }
  if (document.getElementById(input_id)) {
    document.getElementById(input_id).value = '';
    document.getElementById(input_id).style.display = 'none';
  }
  if (document.getElementById(delete_id)) {
    document.getElementById(delete_id).style.display = 'none';
  }
  if ((img_id != '') && window.parent.document.getElementById(img_id)) {
    document.getElementById(img_id).src = '';
    document.getElementById(img_id).style.display = 'none';
  }
}

/* Add album preview image. */
function bwg_add_preview_image(files) {
  document.getElementById("preview_image").value = files[0]['thumb_url'];
  document.getElementById("button_preview_image").style.display = "none";
  document.getElementById("delete_preview_image").style.display = "inline-block";
  if (document.getElementById("img_preview_image")) {
    document.getElementById("img_preview_image").src = files[0]['reliative_url'];
    document.getElementById("img_preview_image").style.display = "inline-block";
  }
}

function spider_reorder_items(tbody_id) {
  jQuery("#" + tbody_id).sortable({
    handle:".connectedSortable",
    connectWith:".connectedSortable",
    update:function (event, tr) {
      spider_sortt(tbody_id);
    }
  });
}

function spider_sortt(tbody_id) {
  var str = "";
  var counter = 0;
  jQuery("#" + tbody_id).children().each(function () {
    str += ((jQuery(this).attr("id")).substr(3) + ",");
    counter++;
  });
  jQuery("#albums_galleries").val(str);
  if (!counter) {
    document.getElementById("table_albums_galleries").style.display = "none";
  }
}

function spider_remove_row(tbody_id, event, obj) {
  var span = obj;
  var tr = jQuery(span).closest("tr");
  jQuery(tr).remove();
  spider_sortt(tbody_id);
}

function spider_jslider(idtaginp) {
  jQuery(function () {
    var inpvalue = jQuery("#" + idtaginp).val();
    if (inpvalue == "") {
      inpvalue = 50;
    }
    jQuery("#slider-" + idtaginp).slider({
      range:"min",
      value:inpvalue,
      min:1,
      max:100,
      slide:function (event, ui) {
        jQuery("#" + idtaginp).val("" + ui.value);
      }
    });
    jQuery("#" + idtaginp).val("" + jQuery("#slider-" + idtaginp).slider("value"));
  });
}

/**
 * Bulk add selected tags to images.
 *
 * @param image_id
 */
function bwg_bulk_add_tags(tag_id) {
  var tagIds = "";
  if ( typeof tag_id == "undefined" ) {
    jQuery(".tags:checked").each(function () {
      tagIds += jQuery(this).data("id").toString() + ",";
    });
  }
  else {
    tagIds = tag_id;
  }
  jQuery('#added_tags_id', window.parent.document).val(tagIds);
  window.parent.spider_set_input_value('ajax_task', 'image_add_tag');
  window.parent.spider_ajax_save('bwg_gallery');
  window.parent.tb_remove();
}

/**
 * Add selected tags to image.
 *
 * @param image_id
 */
function bwg_add_tags(image_id) {
  var tagIds = [];
  var titles = [];
  jQuery(".tags:checked").each(function () {
    tagIds.push(jQuery(this).data("id").toString());
    titles.push(jQuery(this).data("name"));
  });
  window.parent.bwg_add_tag(image_id, tagIds, titles);
}

/**
 * Add tag to image.
 *
 * @param image_id
 * @param tagIds
 * @param titles
 */
function bwg_add_tag(image_id, tagIds, titles) {
  window.parent.bwg_create_loading_block();
 /* Images ids array. */
  var ids_array;
  if (image_id == '0') {
    var flag = false;
    var ids_string = jQuery("#ids_string").val();
    ids_array = ids_string.split(",");
    if (jQuery("#check_all_items").attr("checked")) {
      var added_tags = '';
      for (i = 0; i < tagIds.length; i++) {
        added_tags = added_tags + tagIds[i] + ',';
      }
      jQuery("#added_tags_id").val(added_tags);
    }
  }
  else {
    image_id = image_id + ',';

    ids_array = image_id.split(",");
    var flag = true;
  }
  for (var i in ids_array) {
    if (ids_array.hasOwnProperty(i) && ids_array[i]) {
      if (jQuery("#check_" + ids_array[i]).attr('checked') == 'checked' || flag) {
        image_id = ids_array[i];
        var tag_ids = document.getElementById('tags_' + image_id).value;
        tags_array = tag_ids.split(',');
        var counter = 0;
        for (i = 0; i < tagIds.length; i++) {
          if (tags_array.indexOf(tagIds[i]) == -1) { /* To prevent add same tag multiple times. */
            tag_ids = tag_ids + tagIds[i] + ',';
            var html = jQuery("#" + image_id + "_tag_temptagid").clone().html();
            /* Remove white spaces from keywords to set as id and remove prefix.*/
            var id = tagIds[i].replace(/\s+/g, '_').replace('bwg_', '').replace(/&amp;/g, "").replace(/&/g, "").replace(/'/g, "39").replace(/"/g, "34");
            html = html.replace(/temptagid/g, id)
                       .replace(/temptagname/g, titles[i]);
            jQuery("#tags_div_" + image_id).append("<div class='tag_div' id='" + image_id + "_tag_" + id + "'>");
            jQuery("#" + image_id + "_tag_" + id).html(html);

            counter++;
          }
        }
        document.getElementById('tags_' + image_id).value = tag_ids;
        if (counter) {
          jQuery("#tags_div_" + image_id).removeClass("wd-hide");
        }
      }
	}
  }
  jQuery(".unsaved-msg", window.parent.document).removeClass("wd-hide");
  jQuery(".ajax-msg", window.parent.document).addClass("wd-hide");
  tb_remove();
  window.parent.bwg_remove_loading_block();
}

function bwg_remove_tag(tag_id, image_id) {
  if (jQuery('#' + image_id + '_tag_' + tag_id)) {
    jQuery('#' + image_id + '_tag_' + tag_id).remove();
    var tag_ids_string = jQuery("#tags_" + image_id).val();
    tag_ids_string = tag_ids_string.replace(tag_id + ',', '');
    jQuery("#tags_" + image_id).val(tag_ids_string);
    if (jQuery("#tags_" + image_id).val() == '') {
      jQuery("#tags_div_" + image_id).addClass("wd-hide");
    }
    jQuery(".unsaved-msg").removeClass("wd-hide");
    jQuery(".ajax-msg").addClass("wd-hide");
  }
}

function preview_watermark() {
  setTimeout(function() {
    watermark_type = window.parent.document.getElementById('watermark_type_text').checked;
    if (watermark_type) {
      watermark_text = document.getElementById('watermark_text').value;
      watermark_link = document.getElementById('watermark_link').value;
      watermark_font_size = document.getElementById('watermark_font_size').value;
      watermark_font = document.getElementById('watermark_font').value;
      watermark_color = document.getElementById('watermark_color').value;
      watermark_opacity = document.getElementById('watermark_opacity').value;
      watermark_position = jQuery("input[name=watermark_position]:checked").val().split('-');
      document.getElementById("preview_watermark").style.verticalAlign = watermark_position[0];
      document.getElementById("preview_watermark").style.textAlign = watermark_position[1];
      stringHTML = (watermark_link ? '<a href="' + watermark_link + '" target="_blank" style="text-decoration: none;' : '<span style="cursor:default;') + 'margin:4px;font-size:' + watermark_font_size + 'px;font-family:' + watermark_font + ';color:#' + watermark_color + ';opacity:' + (watermark_opacity / 100) + ';" class="non_selectable">' + watermark_text + (watermark_link ? '</a>' : '</span>');
      document.getElementById("preview_watermark").innerHTML = stringHTML;
    }
    watermark_type = window.parent.document.getElementById('watermark_type_image').checked;
    if (watermark_type) {
      watermark_url = document.getElementById('watermark_url').value;
      watermark_link = document.getElementById('watermark_link').value;
      watermark_width = document.getElementById('watermark_width').value;
      watermark_height = document.getElementById('watermark_height').value;
      watermark_opacity = document.getElementById('watermark_opacity').value;
      watermark_position = jQuery("input[name=watermark_position]:checked").val().split('-');
      document.getElementById("preview_watermark").style.verticalAlign = watermark_position[0];
      document.getElementById("preview_watermark").style.textAlign = watermark_position[1];
      stringHTML = (watermark_link ? '<a href="' + watermark_link + '" target="_blank">' : '') + '<img class="non_selectable" src="' + watermark_url + '" style="margin:0 4px 0 4px;max-width:' + watermark_width + 'px;max-height:' + watermark_height + 'px;opacity:' + (watermark_opacity / 100) + ';" />' + (watermark_link ? '</a>' : '');
      document.getElementById("preview_watermark").innerHTML = stringHTML;
    }
  }, 50);
}

function preview_built_in_watermark() {
  setTimeout(function(){
  watermark_type = window.parent.document.getElementById('built_in_watermark_type_text').checked;
  if (watermark_type) {
    watermark_text = document.getElementById('built_in_watermark_text').value;
    watermark_font_size = document.getElementById('built_in_watermark_font_size').value * 400 / 500;
    watermark_font = 'bwg_' + document.getElementById('built_in_watermark_font').value.replace('.TTF', '').replace('.ttf', '');
    watermark_color = document.getElementById('built_in_watermark_color').value;
    watermark_opacity = document.getElementById('built_in_watermark_opacity').value;
    watermark_position = jQuery("input[name=built_in_watermark_position]:checked").val().split('-');
    document.getElementById("preview_built_in_watermark").style.verticalAlign = watermark_position[0];
    document.getElementById("preview_built_in_watermark").style.textAlign = watermark_position[1];
    stringHTML = '<span style="cursor:default;margin:4px;font-size:' + watermark_font_size + 'px;font-family:' + watermark_font + ';color:#' + watermark_color + ';opacity:' + (watermark_opacity / 100) + ';" class="non_selectable">' + watermark_text + '</span>';
    document.getElementById("preview_built_in_watermark").innerHTML = stringHTML;
  }
  watermark_type = window.parent.document.getElementById('built_in_watermark_type_image').checked;
  if (watermark_type) {
    watermark_url = document.getElementById('built_in_watermark_url').value;
    watermark_size = document.getElementById('built_in_watermark_size').value;
    watermark_position = jQuery("input[name=built_in_watermark_position]:checked").val().split('-');
    document.getElementById("preview_built_in_watermark").style.verticalAlign = watermark_position[0];
    document.getElementById("preview_built_in_watermark").style.textAlign = watermark_position[1];
    stringHTML = '<img class="non_selectable" src="' + watermark_url + '" style="margin:0 4px 0 4px;max-width:95%;width:' + watermark_size + '%;" />';
    document.getElementById("preview_built_in_watermark").innerHTML = stringHTML;
  }
  }, 50);
}

function bwg_watermark(watermark_type) {
  jQuery("#" + watermark_type).attr('checked', 'checked');
  jQuery("#tr_watermark_url").css('display', 'none');
  jQuery("#tr_watermark_width_height").css('display', 'none');
  jQuery("#tr_watermark_opacity").css('display', 'none');
  jQuery("#tr_watermark_text").css('display', 'none');
  jQuery("#tr_watermark_link").css('display', 'none');
  jQuery("#tr_watermark_font_size").css('display', 'none');
  jQuery("#tr_watermark_font").css('display', 'none');
  jQuery("#tr_watermark_color").css('display', 'none');
  jQuery("#tr_watermark_position").css('display', 'none');
  jQuery("#tr_watermark_preview").css('display', 'none');
  jQuery("#preview_watermark").css('display', 'none');
  switch (watermark_type) {
    case 'watermark_type_text':
    {
      jQuery("#tr_watermark_opacity").css('display', '');
      jQuery("#tr_watermark_text").css('display', '');
      jQuery("#tr_watermark_link").css('display', '');
      jQuery("#tr_watermark_font_size").css('display', '');
      jQuery("#tr_watermark_font").css('display', '');
      jQuery("#tr_watermark_color").css('display', '');
      jQuery("#tr_watermark_position").css('display', '');
      jQuery("#tr_watermark_preview").css('display', '');
      jQuery("#preview_watermark").css('display', 'table-cell');
      break;
    }
    case 'watermark_type_image':
    {
      jQuery("#tr_watermark_url").css('display', '');
      jQuery("#tr_watermark_link").css('display', '');
      jQuery("#tr_watermark_width_height").css('display', '');
      jQuery("#tr_watermark_opacity").css('display', '');
      jQuery("#tr_watermark_position").css('display', '');
      jQuery("#tr_watermark_preview").css('display', '');
      jQuery("#preview_watermark").css('display', 'table-cell');
      break;
    }
  }
}

function bwg_built_in_watermark(watermark_type) {
  jQuery("#built_in_" + watermark_type).attr('checked', 'checked');
  jQuery("#tr_built_in_watermark_url").css('display', 'none');
  jQuery("#tr_built_in_watermark_size").css('display', 'none');
  jQuery("#tr_built_in_watermark_opacity").css('display', 'none');
  jQuery("#tr_built_in_watermark_text").css('display', 'none');
  jQuery("#tr_built_in_watermark_font_size").css('display', 'none');
  jQuery("#tr_built_in_watermark_font").css('display', 'none');
  jQuery("#tr_built_in_watermark_color").css('display', 'none');
  jQuery("#tr_built_in_watermark_position").css('display', 'none');
  jQuery("#tr_built_in_watermark_preview").css('display', 'none');
  jQuery("#preview_built_in_watermark").css('display', 'none');
  switch (watermark_type) {
    case 'watermark_type_text':
    {
      jQuery("#tr_built_in_watermark_opacity").css('display', '');
      jQuery("#tr_built_in_watermark_text").css('display', '');
      jQuery("#tr_built_in_watermark_font_size").css('display', '');
      jQuery("#tr_built_in_watermark_font").css('display', '');
      jQuery("#tr_built_in_watermark_color").css('display', '');
      jQuery("#tr_built_in_watermark_position").css('display', '');
      jQuery("#tr_built_in_watermark_preview").css('display', '');
      jQuery("#preview_built_in_watermark").css('display', 'table-cell');
      break;
    }
    case 'watermark_type_image':
    {
      jQuery("#tr_built_in_watermark_url").css('display', '');
      jQuery("#tr_built_in_watermark_size").css('display', '');
      jQuery("#tr_built_in_watermark_position").css('display', '');
      jQuery("#tr_built_in_watermark_preview").css('display', '');
      jQuery("#preview_built_in_watermark").css('display', 'table-cell');
      break;
    }
  }
}

function bwg_inputs() {
  jQuery(".spider_int_input").keypress(function (event) {
    var chCode1 = event.which || event.paramlist_keyCode;
    if (chCode1 > 31 && (chCode1 < 48 || chCode1 > 57) && (chCode1 != 46) && (chCode1 != 45)) {
      return false;
    }
    return true;
  });
}

function bwg_show_hide_roles() {
  if(jQuery("select[name='permissions']").val() == "Administrator"){
    jQuery(".bwg_roles").hide();
  }
  else{
    jQuery(".bwg_roles").show();
  }
}

function bwg_enable_disable(display, id, current) {
  jQuery("#" + current).attr('checked', 'checked');
  jQuery("#" + id).css('display', display);
  if(id == 'tr_slideshow_title_position') {
    jQuery("#tr_slideshow_full_width_title").css('display', display);
  }
}

function bwg_change_album_view_type(type) {
  if (type == 'thumbnail') {
    jQuery("#album_thumb_dimensions").html('Album thumb dimensions: ');
	jQuery("#album_thumb_dimensions_x").css('display', '');
	jQuery("#album_thumb_height").css('display', '');
  }
  else {
    jQuery("#album_thumb_dimensions").html('Album thumb width: ');
    jQuery("#album_thumb_dimensions_x").css('display', 'none');
	jQuery("#album_thumb_height").css('display', 'none');
  }
}

function spider_check_isnum(e) {
  var chCode1 = e.which || e.paramlist_keyCode;
  if (chCode1 > 31 && (chCode1 < 48 || chCode1 > 57) && (chCode1 != 46) && (chCode1 != 45)) {
    return false;
  }
  return true;
}

function bwg_gallery_type(instagram_client_id) {
  var response = true;
  var value = jQuery('#gallery_type').val();
  response = bwg_change_gallery_type(value, 'change', instagram_client_id);
  return response;
}
function bwg_gallery_update_flag(){
  var update_flag = jQuery('#tr_update_flag input[name=update_flag]:checked').val();
  if(update_flag == ''){
    jQuery('.spider_delete_button').show();
    /*
    jQuery("[id^=image_alt_text_]").prop("readonly",false);
    jQuery("[id^=image_description_]").prop("readonly",false);
    jQuery("[id^=redirect_url_]").prop("readonly",false);
    */
  }
  else{
    jQuery('.spider_delete_button').hide();
    /*
    jQuery("[id^=image_alt_text_]").prop("readonly", true);
    jQuery("[id^=image_description_]").prop("readonly", true);
    jQuery("[id^=redirect_url_]").prop("readonly", true);
    */
  }
}

bwg_gallery_change_update_flag = jQuery(function () {
    jQuery('#tr_update_flag input[name=update_flag]').change(function(){
      bwg_gallery_update_flag();
      /*var update_flag = jQuery(this).val(); */
    });
});

/*returns false if user cancels or impossible to do.*/
/*
   type_to_set:'' or 'instagram'
*/
function bwg_change_gallery_type(type_to_set, warning_type, instagram_client_id) {
  warning_type = (typeof warning_type === "undefined") ? "default" : warning_type;

  if (type_to_set == 'instagram') {
    if (instagram_client_id == '') {
        alert(bwg_objectL10B.bwg_access_token);
        jQuery('#gallery_type').val('');
        return false;
    }
    if (!bwg_check_gallery_empty(true, true)) {
      return false;
    }

    jQuery("#add_facebook_gallery").hide();
    jQuery("#add_instagram_gallery").show();

    jQuery('#gallery_type').val('instagram');
    jQuery('#tr_instagram_post_gallery').show();

    /*hide features of only mixed gallery*/
    jQuery('.spider_delete_button').hide();
    jQuery('#spider_resize_button').hide();
    jQuery('#content-add_media').hide();
    jQuery('#show_add_embed').hide();
    jQuery('#show_bulk_embed').hide();
  }
  else if(type_to_set == 'facebook') {
    if (!bwg_check_gallery_empty(true, true)) {
      return false;
    }
    jQuery('#add_facebook_gallery').show();
    jQuery("#add_instagram_gallery").hide();

    jQuery('#gallery_type').val('facebook');
    jQuery('#tr_instagram_post_gallery').hide();

    /*hide features of only mixed gallery*/
    jQuery('.spider_delete_button').hide();
    jQuery('#spider_resize_button').hide();
    jQuery('#content-add_media').hide();
    jQuery('#show_add_embed').hide();
    jQuery('#show_bulk_embed').hide();

    /*reset update_flag radio button*/
    jQuery("#update_flag_0").attr('checked', 'checked');
    bwg_gallery_update_flag();
    jQuery('#tr_update_flag').hide();
    jQuery('#tr_autogallery_image_number').hide();
    jQuery('#tr_instagram_gallery_add_button').hide();
    /* default limit 20 */
    jQuery("#facebook_gallery_image_limit").val(20);
  }
  else {
    var ids_string = jQuery("#ids_string").val();
    ids_array = ids_string.split(",");
    var tr_count = ids_array[0]=='' ? 0: ids_array.length;
    if(tr_count != 0){
      switch(warning_type) {
        case 'default':
          var allowed = confirm(bwg_objectL10B.default_warning);
          break;
        case 'change':
          var allowed = confirm(bwg_objectL10B.change_warning);
          break;
        default:
          var allowed = confirm(bwg_objectL10B.other_warning);
      }

      if (allowed == false) {
        jQuery('#gallery_type').val('instagram');
        return false;
      }
    }

    jQuery('#gallery_type').val('');
    jQuery('#tr_instagram_post_gallery').hide();

    /*reset update_flag radio button*/
    jQuery("#update_flag_0").attr('checked', 'checked');
    bwg_gallery_update_flag();

    /*show features of only mixed gallery*/
    jQuery('.spider_delete_button').show();
    jQuery('#spider_resize_button').show();
    jQuery('#content-add_media').show();
    jQuery('#show_add_embed').show();
    jQuery('#show_bulk_embed').show();

    jQuery('#add_facebook_gallery').hide();
    jQuery("#add_instagram_gallery").hide();
  }
  return true;
}

/*bulk embed handling*/
function bwg_bulk_embed(from, key){
    switch (from) {
        case 'instagram' : {
            bwg_add_instagram_gallery(key, true);
            break;
        }
        case 'facebook' : {
            var appkey = key.split('|');
            bwg_add_facebook_gallery(true, appkey[0], appkey[1]);
            break;
        }
    }
    return "";
}

function bwg_check_instagram_gallery_input(instagram_client_id, from_popup){
  from_popup = typeof from_popup !== 'undefined' ? from_popup : false;
  var is_error = false;
  if(from_popup){
    if(instagram_client_id == ''){
      alert(bwg_objectL10B.bwg_access_token);
      is_error = true;
    }
    if( spider_check_required('popup_instagram_gallery_source', 'Instagram user URL')){
      is_error = true;
    }
    if (jQuery('#popup_instagram_image_number').val() > 33 ||jQuery('#popup_instagram_image_number').val() < 1 ) {
      alert(bwg_objectL10B.bwg_post_number);
      jQuery('#popup_instagram_image_number').attr('style', 'border-color: #FF0000;');
      jQuery('#popup_instagram_image_number').focus();
      jQuery('html, body').animate({
        scrollTop:jQuery('#popup_instagram_image_number').offset().top - 200
      }, 500);
      is_error = true;
    }
  }
  else{
	  if (bwg_is_instagram_gallery()){
	    if(instagram_client_id == ''){
	      alert(bwg_objectL10B.bwg_access_token);
	      is_error = true;
	    }

      if(jQuery('#autogallery_image_number').val() > 33 || jQuery('#autogallery_image_number').val() < 1 ){

        alert(bwg_objectL10B.bwg_post_number);
        jQuery('#autogallery_image_number').attr('style', 'border-color: #FF0000;');
        jQuery('#autogallery_image_number').focus();
        jQuery('html, body').animate({
          scrollTop:jQuery('#autogallery_image_number').offset().top - 200
        }, 500);
        is_error = true;
      }
	}
  }
  return is_error;
}

function bwg_is_instagram_gallery() {
  var value = jQuery('#gallery_type').val();
  if(value == 'instagram'){
    return true;
  }
  else{
    return false;
  }
}

/**
 *
 *  @param reset:bool true if reset to mixed in case of not empty
 *  @param message:bool true if to alert that not empty
 *  @return true if empty, false if not empty
 */
function bwg_check_gallery_empty(reset, message) {
  var ids_string = jQuery("#ids_string").val();
  var ids_array = ids_string.split(",");
  var tr_count = ids_array[0]=='' ? 0: ids_array.length;
  if(tr_count != 0){
    if(reset){
      if(message){
        alert(bwg_objectL10B.bwg_not_empty);
      }
      jQuery('#gallery_type').val('');
      jQuery('#tr_instagram_post_gallery').hide();
      jQuery('#tr_gallery_source').hide();
      jQuery('#tr_update_flag').hide();
      jQuery('#tr_autogallery_image_number').hide();
      jQuery('#tr_instagram_gallery_add_button').hide();
    }
    else{
      if(message) {
        alert(bwg_objectL10B.bwg_not_empty);
      }
    }
    return false;
  }
  else {
    return true;
  }
}

function bwg_convert_seconds(seconds) {
  var sec_num = parseInt(seconds, 10);
  var hours   = Math.floor(sec_num / 3600);
  var minutes = Math.floor((sec_num - (hours * 3600)) / 60);
  var seconds = sec_num - (hours * 3600) - (minutes * 60);

  if (minutes < 10 && hours != 0) {minutes = "0" + minutes;}
  if (seconds < 10) {seconds = "0" + seconds;}
  var time    = (hours != 0 ? hours + ':' : '') + minutes + ':' + seconds;
  return time;
}

function bwg_convert_date(date, separator) {
  var m_names = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
  date = date.split(separator);
  var dateArray = date[0].split("-");
  return dateArray[2] + " " + m_names[dateArray[1] - 1] + " " + dateArray[0] + ", " + date[1].substring(0, 5);
}

/* EMBED handling */
function bwg_get_embed_info(input_id) {
  jQuery('#loading_div').show();
  var url = encodeURI(jQuery("#" + input_id).val());
  if ( !url ) {
    alert(bwg_objectL10B.bwg_enter_url);
    jQuery('#loading_div').hide();
    return '';
  }
  var filesValid = [];
  var data = {
    'action': 'addEmbed',
    'URL_to_embed': url,
    'async':true
  };
   /* get from the server data for the url. Here we use the server as a proxy, since Cross-Origin Resource Sharing AJAX is forbidden. */
  jQuery.post(ajax_url, data, function(response) {
    if(response == false){
      alert(bwg_objectL10B.bwg_cannot_response);
      jQuery('#loading_div').hide();
      return '';
    }
    else {
      var index_start = response.indexOf("WD_delimiter_start");
      var index_end = response.indexOf("WD_delimiter_end");
      if(index_start == -1 || index_end == -1){
        alert(bwg_objectL10B.bwg_something_wrong);
        jQuery('#loading_div').hide();
        return '';
      }

      /*filter out other echoed characters*/
      /*18 is the length of "wd_delimiter_start"*/
      response = response.substring(index_start+18,index_end);

      response_JSON = jQuery.parseJSON(response);
        /*if indexed array, it means there is error*/
      if(typeof response_JSON[0] !== 'undefined'){
        alert( jQuery.parseJSON(response)[1] );
        jQuery('#loading_div').hide();
        return '';
      }
      else{
        fileData = response_JSON;
        filesValid.push(fileData);
        bwg_add_image(filesValid);
        document.getElementById(input_id).value = '';
        jQuery('#loading_div').hide();
        return 'ok';
      }
    }
    return '';
  });
  return 'ok';
}

function bwg_change_fonts(cont, google_fonts) {
  var fonts;
  if (jQuery("#" + google_fonts).is(":checked") == true) {
    fonts = bwg.google_fonts;
  }
  else {
    fonts = {'arial' : 'Arial', 'lucida grande' : 'Lucida grande', 'segoe ui' : 'Segoe ui', 'tahoma' : 'Tahoma', 'trebuchet ms' : 'Trebuchet ms', 'verdana' : 'Verdana', 'cursive' : 'Cursive', 'fantasy' : 'Fantasy', 'monospace' : 'Monospace', 'serif' : 'Serif'};
  }
  var fonts_option = "";
  for (var i in fonts) {
    fonts_option += '<option value="' + i + '">' + fonts[i] + '</option>';
  }
  jQuery("#" + cont).html(fonts_option);
}

/**
 * Open Wordpress media uploader.
 *
 * @param e
 * @param multiple
 */
function spider_media_uploader(e, multiple) {
  if ( typeof multiple == "undefined" ) {
    var multiple = false;
  }
  var custom_uploader;
  e.preventDefault();
  /* If the uploader object has already been created, reopen the dialog. */
  if ( custom_uploader ) {
    custom_uploader.open();
  }

  custom_uploader = wp.media.frames.file_frame = wp.media( {
    title: bwg_objectL10B.choose_images,
    library: { type: 'image' },
    button: { text: bwg_objectL10B.insert },
    multiple: multiple
  } );
  /* When a file is selected, grab the URL and set it as the text field's value */
  custom_uploader.on( 'select', function () {
    if ( multiple == false ) {
      attachment = custom_uploader.state().get( 'selection' ).first().toJSON();
    }
    else {
      attachment = custom_uploader.state().get( 'selection' ).toJSON();
    }

    var filesSelectedML = [];
    for ( var image in attachment ) {
      var image_url = attachment[image].url;
      image_url = image_url.replace( bwg_objectL10B.wp_upload_dir.baseurl + '/', '' );
      filesSelectedML.push( image_url );
    }
    jQuery( '#loading_div' ).show();

    postImageUrls(filesSelectedML, function (success, result) {
      jQuery( '#loading_div' ).hide();
      if (success) {
        jQuery(".bwg-type-allowed").remove();
        for ( var i in result ) {
          if ( result[i].error ) {
            add_ajax_msg( bwg_objectL10B.only_the_following_types_are_allowed, 'error' );
          }
          result[i].alt = attachment[i].alt ? attachment[i].alt : attachment[i].title;
          result[i].description = attachment[i].description;
        }
        bwg_add_image( result );
      }
      else {
        alert( bwg_objectL10B.import_failed );
      }
    });

    function postImageUrls(imageUrls, callback, index, results) {
      var imagesChunkLength = 50;

      if (!index) {
        index = 0;
      }
      if (!results) {
        results = [];
      }

      var imageUrlsChunk = imageUrls.slice(index, index + imagesChunkLength);
      index += imagesChunkLength;
      jQuery.ajax( {
        url: bwg_objectL10B.ajax_url,
        type: "POST",
        dataType: "json",
        data: {
          action: "bwg_UploadHandler",
          file_namesML: JSON.stringify(imageUrlsChunk),
          import: 1
        },
        success: function ( result ) {
          results = results.concat(result);

          if (index < imageUrls.length) {
            postImageUrls(imageUrls, callback, index, results);
          }
          else {
            callback(true, results);
          }
        },
        error: function ( xhr ) {
          callback(false);
        }
      } );
    }
  } );

  /* Open the uploader dialog. */
  custom_uploader.open();
}

function add_ajax_msg( msg, status ) {
	if ( !jQuery('.ajax-msg').hasClass('bwg-type-allowed') ) {
		var html = '<div class="ajax-msg bwg-type-allowed">' +
					'<div class="' + status + ' inline">' +
					'<p><strong>' + msg + '</strong></p>' +
				  '</div>' +
			   '</div>';
		jQuery( html ).insertAfter( "#add_desc" );
	}
}

/**
 * Search.
 *
 * @param that
 */
function search(that) {
  var form = jQuery(that).parents("form");

  if ( form.attr("id") == "bwg_gallery" ) { /* Gallery edit page. */
    jQuery("#paged").val(1);
    jQuery("#ajax_task").val('ajax_apply');
    spider_ajax_save(form.attr("id"));
  }
  else {
    var action = form.attr("action");
    form.attr("action", action + "&paged=1&s=" + jQuery("input[name='s']").val());
    form.submit();
  }
}

/**
 * Search on input enter.
 *
 * @param e
 * @param that
 * @returns {boolean}
 */
function input_search(e, that) {
  var key_code = (e.keyCode ? e.keyCode : e.which);
  if (key_code == 13) { /*Enter keycode*/
    search(that);
    return false;
  }
}

/**
 * Change page on input enter.
 *
 * @param e
 * @param that
 * @returns {boolean}
 */
function input_pagination(e, that) {
  var key_code = (e.keyCode ? e.keyCode : e.which);
  if (key_code == 13) { /*Enter keycode*/
    var to_page = jQuery(that).val();
    var pages_count = jQuery(that).parents(".pagination-links").data("pages-count");
    var form = jQuery(that).parents("form");
    if ( form.attr("id") == "bwg_gallery" ) { /* Gallery edit page. */
      if (to_page > pages_count) {
        to_page = 1;
      }
      jQuery("#paged").val(to_page);
      jQuery("#ajax_task").val('ajax_apply');
      spider_ajax_save(form.attr("id"));
      return false;
    }
    else {
      if ( to_page > 0 && to_page <= pages_count ) {
        var search = jQuery("input[name='s']").val() ? ("&s=" + jQuery("input[name='s']").val()) : "";
        var action = form.attr("action");
        form.attr("action", action + "&paged=" + to_page + search);
      }
     form.submit();
    }
  }
  return true;
}

/**
 * Bulk actions.
 *
 * @param that
 */
function wd_bulk_action(that) {
  var form = jQuery(that).parents("form");
  var action = jQuery("select[name='" + ( form.attr("id") == "bwg_gallery" ? 'image_' : '' ) + "bulk_action']").val();

  if (action != -1) {
    if (!jQuery("input[name^='check']").is(':checked')) {
      alert(bwg.select_at_least_one_item);
      return;
    }
    if (action == 'delete') {
      if (!confirm(bwg.delete_confirmation)) {
        return false;
      }
    }
    else if (action == 'image_resize') {
      jQuery(".opacity_resize_image").show();
      return false;
    }
    else if (action == 'image_edit') {
      jQuery(".opacity_image_desc").show();
      return false;
    }
    else if (action == 'image_add_tag') {
      jQuery(".wd-add-tags").trigger("click");
      return;
    }
    else if (action == 'set_image_pricelist') {
      jQuery(".wd-add-pricelist").trigger("click");
      return;
    }
    else if (action == 'remove_pricelist_all') {
      if (!confirm(bwg.remove_pricelist_confirmation)) {
        return false;
      }
    }
    if ( form.attr("id") == "bwg_gallery" ) { /* Gallery edit page. */
      jQuery("input[name='task']").val("save");
      jQuery("input[name='ajax_task']").val(action);
      spider_ajax_save(form.attr("id"));
    }
    else {
      jQuery("input[name='task']").val(action);
      form.submit();
    }
  }
}

function bwg_change_theme_tab_item() {
	var id = jQuery('.bwg-tabs .bwg-tab-item.active').attr('data-id');
	jQuery('fieldset#'+ id).show();

	jQuery(document).on('click', '.bwg-tabs .bwg-tab-item', function () {
		jQuery('.bwg-tabs .bwg-tab-item').removeClass('active');
		jQuery(this).addClass('active');
		var id = jQuery(this).attr('data-id');
		jQuery('.spider_type_fieldset').hide();
		jQuery('#'+ id ).show();
		jQuery('#active_tab').val(jQuery(this).attr('data-id'));
	});
}

function bwg_filters() {
	jQuery(document).on('change','select[id^=filter-by]', function(){
		var val = jQuery(this).val();
		var id  = jQuery(this).attr('id');
		window.location.href = bwg_updateQueryStringParameter(window.location.href, id, val);
	});
}

function bwg_updateQueryStringParameter(uri, key, value) {
  var re = new RegExp("([?&])" + key + "=.*?(&|$)", "i");
  var separator = uri.indexOf('?') !== -1 ? "&" : "?";
  if (uri.match(re)) {
    return uri.replace(re, '$1' + key + "=" + value + '$2');
  }
  else {
    return uri + separator + key + "=" + value;
  }
}

/* Open/close section container on its header click. */
function bwg_toggle_postbox() {
	jQuery(".hndle, .handlediv").each(function () {
		jQuery(this).on("click", function () {
		  jQuery(this).parent(".postbox").toggleClass("closed");
		});
	});
}

function spider_select_value(obj) {
  obj.focus();
  obj.select();
}

var j_int = 0;
var bwg_j = 'pr_' + j_int;

/**
 * Add image to images list.
 *
 * @param files
 */
function bwg_add_image(files) {
  jQuery('#check_all_items, #check_all').attr('checked', false);
  for ( var i in files ) {
    if ( files[i]['error'] == true ) {
      continue;
    }
    var is_embed = files[i]['filetype'].indexOf("EMBED_") > -1 ? true : false;
    var is_direct_url = files[i]['filetype'].indexOf("DIRECT_URL_") > -1 ? true : false;
    var is_facebook_post = files[i]['filetype'].indexOf("_FACEBOOK_POST") > -1 ? 1 : 0;
    var fb_post_url = (is_facebook_post) ? files[i]['filename'] : '';
    var instagram_post_width  = files[i]['resolution'].split(' x ')[0];
    var instagram_post_height = files[i]['resolution'].split(' x ')[1].split(' ')[0];

    var html = jQuery(".wd-template").clone().html();
    html = html.replace(/tempid/g, bwg_j)
        .replace(/tempnum/g, 1)
        .replace(/tempimage_url/g, encodeURIComponent(files[i]['url']))
        .replace(/tempthumb_url/g, encodeURIComponent(files[i]['thumb_url']))
        .replace(/tempthumb_src=""/g, 'src="' + files[i]['thumb'] + '"')
        .replace(/tempfilename/g, files[i]['filename'])
        .replace(/tempdate/g, files[i]['date_modified'])
        .replace(/tempresolution/g, files[i]['resolution'])
        .replace(/temp_instagram_post_width/g, instagram_post_width)
        .replace(/temp_instagram_post_height/g, instagram_post_height)
        .replace(/tempsize/g, files[i]['size'])
        .replace(/tempfiletype/g, files[i]['filetype'])
        .replace(/tempis_facebook_post/g, (is_facebook_post ? files[i]['is_facebook_post'] : 0))
        .replace(/tempfb_post_url/g, (is_facebook_post ? files[i]['fb_post_url'] : 0));
    if ( is_embed ) {
      html = html.replace(/tempalt/g, files[i]['name']);
      html = html.replace(/wd-image-actions/g, 'wd-image-actions wd-hide');
    }
    else {
      html = html.replace(/tempalt/g, files[i]['alt']);
    }
    var description = files[i]['description'] ? files[i]['description'] : '';
    if ( jQuery("#tbody_arr").data("meta") == 1 && !is_embed ) {
      description += files[i]['description'] ? '\n' : '';
      description += files[i]['credit'] ? 'Author: ' + files[i]['credit'] + '\n' : '';
      description += ((files[i]['aperture'] != 0 && files[i]['aperture'] != '') ? 'Aperture: ' + files[i]['aperture'] + '\n' : '');
      description += ((files[i]['camera'] != 0 && files[i]['camera'] != '') ? 'Camera: ' + files[i]['camera'] + '\n' : '');
      description += ((files[i]['caption'] != 0 && files[i]['caption'] != '') ? 'Caption: ' + files[i]['caption'] + '\n' : '');
      description += ((files[i]['iso'] != 0 && files[i]['iso'] != '') ? 'Iso: ' + files[i]['iso'] + '\n' : '');
      description += ((files[i]['copyright'] != 0 && files[i]['copyright'] != '') ? 'Copyright: ' + files[i]['copyright'] + '\n' : '');
      description += ((files[i]['orientation'] != 0 && files[i]['orientation'] != '') ? 'Orientation: ' + files[i]['orientation'] + '\n' : '');
    }
    html = html.replace(/tempdescription/g, description);

    jQuery("#tbody_arr").prepend("<tr id='tr_" + bwg_j + "'>");
    jQuery("#tr_" + bwg_j).html(html);

    /* Change the popup dimensions. */
    bwg_tb_window("#tr_" + bwg_j);

    jQuery("#ids_string").val(jQuery("#ids_string").val() + bwg_j + ',');
    if ( jQuery("#tbody_arr").data("meta") == 1 && files[i]['tags'] ) {
      /* If tags added to image from image file meta keywords.*/
      var tagsTitles = jQuery.parseJSON(files[i]['tags']);
      /* Add prefix to keywords to differ from other tags on save.*/
      var tagsIds = [];
      for ( var i in tagsTitles ) {
        tagsIds[i] = 'bwg_' + tagsTitles[i];
      }
      /* Add titles instead of ids.*/
      bwg_add_tag(bwg_j, tagsIds, tagsTitles);
    }

    j_int++;
    bwg_j = 'pr_' + j_int;
  }
  /* Add drag and drop to new rows. */
  wd_showhide_weights();
  /* Set order input values after adding rows. */
  var i = jQuery("td.col_drag").data("page-number");
  jQuery(".wd-order").each(function () {
    jQuery(this).val(++i);
  });
  /* Set number column values after adding rows. */
  var i = 0;
  jQuery("#tbody_arr .col_num").each(function () {
    jQuery(this).html(++i);
  });
  window.parent.jQuery(".no-items").remove();
  jQuery(".unsaved-msg", window.parent.document).removeClass("wd-hide");
  jQuery(".ajax-msg", window.parent.document).addClass("wd-hide");
  jQuery(".bwg-type-allowed", window.parent.document).removeClass("wd-hide");
}

/**
 * Change pagination to ajax pagination.
 */
function wd_pagination() {
  jQuery("#bwg_gallery a.wd-page ").each(function () {
    jQuery(this).removeAttr("href");
    jQuery(this).on("click", function() {
      var paged = jQuery(this).data("paged");
      jQuery("#paged").val(paged);
      jQuery("#ajax_task").val('ajax_apply');
      spider_ajax_save('bwg_gallery');
    });
  });
}

function bwg_tb_window(cont_id) {
  if (typeof cont_id === 'undefined') {
    var cont_id = '';
  }
  var thickDims, tbWidth, tbHeight;
  thickDims = function () {
    var tbWindow = jQuery('#TB_window'), H = jQuery(window).height(), W = jQuery(window).width(), w, h;
    w = (tbWidth && tbWidth < W - 90) ? tbWidth : W - 40;
    h = (tbHeight && tbHeight < H - 60) ? tbHeight : H - 40;
    if (tbWindow.size()) {
      tbWindow.width(w).height(h);
      jQuery('#TB_iframeContent').width(w).height(h - 30);
      tbWindow.css({'margin-left': '-' + parseInt((w / 2), 10) + 'px'});
      if (typeof document.body.style.maxWidth != 'undefined') {
        tbWindow.css({'top': (H - h) / 2, 'margin-top': '0'});
      }
    }
  };
  thickDims();
  jQuery(window).resize(function () {
    thickDims()
  });
  jQuery(cont_id + ' a.thickbox-preview').click(function () {
    tb_click.call(this);
    var alink = jQuery(this).parents('.available-theme').find('.activatelink'), link = '', href = jQuery(this).attr('href'), url, text;
    if (tbWidth = href.match(/&bwg_width=[0-9]+/)) {
      tbWidth = parseInt(tbWidth[0].replace(/[^0-9]+/g, ''), 10);
    }
    else {
      tbWidth = jQuery(window).width() - 120;
    }

    if (tbHeight = href.match(/&bwg_height=[0-9]+/)) {
      tbHeight = parseInt(tbHeight[0].replace(/[^0-9]+/g, ''), 10);
    }
    else {
      tbHeight = jQuery(window).height() - 120;
    }
    if (alink.length) {
      url = alink.attr('href') || '';
      text = alink.attr('title') || '';
      link = '&nbsp; <a href="' + url + '" target="_top" class="tb-theme-preview-link">' + text + '</a>';
    }
    else {
      text = jQuery(this).attr('title') || '';
      link = '&nbsp; <span class="tb-theme-preview-link">' + text + '</span>';
    }
    /* jQuery('#TB_title').css({'background-color': '#222', 'color': '#dfdfdf'}); */
    jQuery('#TB_closeAjaxWindow').css({'float': 'right'});
    jQuery('#TB_ajaxWindowTitle').css({'float': 'left'}).html(link);
    jQuery('#TB_iframeContent').width('100%');
    thickDims();
    return false;
  });
  /* Theme details*/
  jQuery('.theme-detail').click(function () {
    jQuery(this).siblings('.themedetaildiv').toggle();
    return false;
  });
}

/* Prevent new line. */
function prevent_new_line(e) {
  if ( e.keyCode == 13 ) {
    e.preventDefault();
    return false;
  }
}

function bwg_gallery_type_options(gallery_type) {
  if (gallery_type === undefined) {
    gallery_type = jQuery('#gallery_type').val();
  }
  jQuery('.gallery_options').hide();
  jQuery('#' + gallery_type + '_options').show();
  jQuery('#gallery_type').val(gallery_type);
  if ( jQuery(".wd-free-msg").length != 0 ) {
    jQuery(".wd-free-msg").hide();
    jQuery(".bwg-pro-views").hide();
    if (jQuery('#' + gallery_type + '_options').hasClass("bwg-pro-views")) {
      jQuery(".wd-free-msg").show();
    }
  }
  jQuery('#bwg_tab_galleries_content .gallery_type').removeClass('gallery_type_active');
  jQuery('input[name=gallery_type][id=' + gallery_type + ']').attr('checked', 'checked').closest('.gallery_type').addClass('gallery_type_active');
}

function bwg_album_type_options(album_type) {
  if (album_type === undefined) {
    album_type = jQuery('#album_type').val();
  }
  jQuery('.album_options').hide();
  jQuery('#' + album_type + '_options').show();
  jQuery('#album_type').val(album_type);
  if ( jQuery(".wd-free-msg").length != 0 ) {
    jQuery(".wd-free-msg").hide();
    jQuery(".bwg-pro-views").hide();
    if (jQuery('#' + album_type + '_options').hasClass("bwg-pro-views")) {
      jQuery(".wd-free-msg").show();
    }
  }
  jQuery('#bwg_tab_albums_content .gallery_type').removeClass('gallery_type_active');
  jQuery('input[name=album_type][id=' + album_type + ']').attr('checked', 'checked').closest('.gallery_type').addClass('gallery_type_active');
}

function bwg_pagination_description(that) {
  obj = jQuery(that);
  obj.closest('.wd-group').find('.description').hide();
  jQuery('#' + obj.attr('name') + '_' + obj.val() + '_description').show();
}

function bwg_thumb_click_action(  ) {
  if (jQuery("#thumb_click_action_2").is(':checked')) {
    jQuery('.bwg-lightbox-redirect').show();
  }
  else {
    jQuery('.bwg-lightbox-redirect').hide();
  }
}

/**
 * Recreate thumbs part by part limit 50.
 *
 * @param limit
 * @returns {boolean}
 */
function bwg_recreate_thumb( limit ) {
  var img_option_width = jQuery("#upload_thumb_width").val();
  var img_option_height = jQuery("#upload_thumb_height").val();

  var imgcount = jQuery('#bwg_imgcount').val();
  var post_data = {
    'task': 'resize_image_thumb',
    'img_option_width': img_option_width,
    'img_option_height': img_option_height,
    'limitstart': limit,
  };

  if( limit == 0 ) {
    jQuery( '#loading_div' ).show();
    jQuery( '.updated' ).remove();
  }
  jQuery.ajax({
    type: "POST",
    url: bwg_options_url_ajax,
    data: post_data,
    success: function () {
        if ( limit < imgcount ) {
            limit += 50;
            bwg_recreate_thumb( limit );
        }
        else {
          jQuery( '#loading_div' ).hide();
          jQuery( "<div class=\"updated inline\">\n" +
            "      <p><strong>"+bwg_objectL10B.recreate_success+"</strong></p>" +
            "      </div>" ).insertBefore( jQuery("#bwg_options_form").parent() );
        }
    }
  });
  return false;
}

/**
 * Set watermark on images part by part limit 50.
 *
 * @param limit
 * @returns {boolean}
 */
function bwg_set_watermark( limit ){
  var built_in_watermark_type = jQuery('input[name=built_in_watermark_type]:checked').val();
  var imgcount = jQuery('#bwg_imgcount').val();
  var post_data = {
	  'task': 'image_set_watermark',
    'built_in_watermark_type': built_in_watermark_type,
    'built_in_watermark_position': jQuery('input[name=built_in_watermark_position]:checked').val(),
	  'limitstart': limit
  };
  if ( built_in_watermark_type == 'text' ) {
		post_data.built_in_watermark_text = jQuery('#built_in_watermark_text').val();
		post_data.built_in_watermark_font_size = jQuery('#built_in_watermark_font_size').val();
		post_data.built_in_watermark_font = jQuery('#built_in_watermark_font').val();
		post_data.built_in_watermark_color = jQuery('#built_in_watermark_color').val();
  }
  else {
		post_data.built_in_watermark_size = jQuery('#built_in_watermark_size').val();
		post_data.built_in_watermark_url = jQuery('#built_in_watermark_url').val();
  }

  if ( limit == 0 ) {
    jQuery('#loading_div').show();
    jQuery('.updated').remove();
  }
  jQuery.ajax({
    type: "POST",
    url: bwg_options_url_ajax,
    data: post_data,
    dataType: 'json',
    success: function ( response ) {
      if ( limit < imgcount && response.error === false ) {
        limit += 50;
        bwg_set_watermark( limit );
      }
      else {
        jQuery('#loading_div').hide();
        jQuery('.bwg_error').remove();
        jQuery('<div class="bwg_error">' + response.message + '</div>' ).insertBefore( jQuery("#bwg_options_form").parent() );
      }
    }
  });

  return false;
}

/**
 * Reset watermarks from images part by part limit 50.
 *
 * @param limit
 * @returns {boolean}
 */
function bwg_reset_watermark_all( limit ) {
  var imgcount = jQuery('#bwg_imgcount').val();
  var post_data = {
    'task': 'image_recover_all',
    'limitstart': limit,
  };
  if ( limit == 0 ) {
    jQuery( '#loading_div' ).show();
    jQuery( '.updated' ).remove();
  }
  jQuery.ajax({
    type: "POST",
    url: bwg_options_url_ajax,
    data: post_data,
    success: function () {
      if ( limit < imgcount ) {
        limit += 50;
        bwg_reset_watermark_all( limit );
      }
      else {
        jQuery( '#loading_div' ).hide();
        jQuery( "<div class=\"updated inline\">\n" +
          "      <p><strong>"+bwg_objectL10B.watermark_option_reset+"</strong></p>" +
          "      </div>" ).insertBefore( jQuery("#bwg_options_form").parent() );
      }
    }
  });

  return false;
}

/*galleries sortable */
function bwg_galleries_ordering () {
	jQuery("#bwg-table-sortable").sortable({
		handle: ".connectedSortable",
		connectWith: ".connectedSortable",
		update: function () {
			var ids = [];
			var ordering_ajax_url = jQuery("td.col_drag").data("ordering-url");
			jQuery(".wd-id").each(function () {
				ids.push( jQuery(this).val() );
			});
			jQuery.ajax({
				type: "POST",
				dataType: "json",
				url: ordering_ajax_url,
				data: { 'orders': ids },
				success: function ( response ) {
					jQuery(".ajax-msg").remove();
					if ( response.message ) {
					  jQuery('<div class="ajax-msg">' + response.message + '</div>').insertAfter('.wrap .bwg-head-notice');
					}
				}
			});
		}
	});
}