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` sh-3ll

HOME


sh-3ll 1.0
DIR:/home/ami/public_html/wp-content/plugins/kingcomposer/assets/js/
Upload File :
Current File : /home/ami/public_html/wp-content/plugins/kingcomposer/assets/js/kc.tools.js
/*
 * KingComposer Page Builder
 *
 * (c) Copyright king-theme.com
 *
 *
 * kc.tools.js
 *
*/

( function($){
	
	if( typeof( kc ) == 'undefined' )
		window.kc = {};
		
	$().extend( kc.tools, {
		
		esc_slug : function (str){
			
			if( str === undefined )
				return 'king-composer';
			str = str.replace(/^\s+|\s+$/g, '');
			str = str.toLowerCase();
			
			var from = "àáäâèéëêìíïîòóöôùúüûñç·/,:;";
			var to   = "aaaaeeeeiiiioooouuuunc-----";
		
			for (var i=0, l=from.length ; i<l ; i++)
			{
				str = str.replace(new RegExp(from.charAt(i), 'g'), to.charAt(i));
			}
		
			str = str.replace(/[^a-z0-9 -\_]/g, '')
				.replace(/\s+/g, '-')
				.replace(/-+/g, '-');
		
			return str;
			
		},
		
		esc_attr : function( str ) {
			if( !str ){
				return '';
			}
		    return str.toString()
		    		  .replace(/</g, ':lt:')
		    		  .replace(/>/g, ':gt:')
		    		  .replace(/\[/g, ':lsqb:')
		    		  .replace(/\]/g, ':rsqb:')
		    		  .replace(/"/g, ':quot:')
		    		  .replace(/'/g, ':apos:');
		},
		
		unesc_attr : function( str ) {
			if( !str ){
				return '';
			}
		    return str.toString()
		 		      .replace(/:lt:/g, '<')
		    		  .replace(/:gt:/g, '>')
		    		  .replace(/:lsqb:/g, '[')
		    		  .replace(/:rsqb:/g, ']')
		    		  .replace(/:quot:/g, '"')
		    		  .replace(/:apos:/g, '\'');
		},

		esc : function( str ) {
			if( !str ){
				return '';
			}
		    return str.toString().replace(/&/g, '&amp;')
		    		  .replace(/</g, '&lt;')
		    		  .replace(/>/g, '&gt;')
		    		  .replace(/"/g, '&quot;')
		    		  .replace(/'/g, '&apos;');
		},
		
		unesc : function(str) {
			if( str == undefined ){
				return '';
			}
		    return str.toString().replace(/&amp;/g, '&')
		    		  .replace(/&lt;/g, '<')
		    		  .replace(/&gt;/g, '>')
		    		  .replace(/&quot;/g, '"')
		    		  .replace(/&apos;/g, '\'');
		},
		
		rawdecode : function( input ){
			return decodeURIComponent( input+'' );
		},
		
		rawencode : function( input ){
			input = (input+'').toString();
			return encodeURIComponent( input ).
				   replace(/!/g,'%21').
				   replace(/'/g,'%27').
				   replace(/\(/g,'%28').
				   replace(/\)/g,'%29').
				   replace(/\*/g,'%2A');
		},
		
		decode_css : function( css ){
			
			var css_code = '';
			
			css = css.replace( /\s+/g, ' ' )
				 .replace(/\/\*[^\/\*]+\*\//g,'')
				 .replace(/\"/g, "'")
				 .replace(/[^a-zA-Z0-9\-\_\. \:\(\)\%\+\~\;\#\'\!\{\}\@\/]+/g,'')
				 .trim().split( '{' );
			
			for( var n in css  ){
				
				if( css[n].indexOf('}') > -1 )
				{
					css[n] = css[n].split('}');
					css[n][0] = css[n][0].split(';');
					for( var m in css[n][0] )
					{
						if( css[n][0][m].trim() != '' )
							css_code += "	"+css[n][0][m]+";\n";
					}
					if( css[n][1].trim() != '' )
						css_code += "}\n"+css[n][1]+"{\n";
					else 
						css_code += "}\n";	
					if( css[n][2] != undefined )	
						css_code += "}\n";	
				}
				else if( css[n].trim() != '' )
				{
					css_code += css[n]+"{\n"
				}
				
			}
			
			return css_code;

		},
		
		encode_css : function( css ){
			
			if( css == undefined )
				css = '';
			css = css.replace(/\/\*[^\/\*]+\*\//g,'')
					 .replace( /\ \ /g, '' )
					 .replace(/[^a-zA-Z0-9\-\_\. \:\(\)\%\+\~\;\!\#\'\{\}\@\/]+/g,'').trim();
					 
			return css;
				
		},
		
		nfloat : function( n, m ){
			
			n = n.toString();
			if( m === undefined )
				m = 2;
				
			if( n.indexOf('.') > -1 ){
				
				return parseFloat( n.substr( 0, n.indexOf('.')+m+1 ) );
				
			}else return parseFloat( n );
			
		},
		
		getFormData : function( pop ){
			
			/*
			*	correct data type before export
			*/
			
		    var form = pop.find('form.fields-edit-form').get(0),
		    	encodes = [],
		    	unindexed = pop.find('form.fields-edit-form .kc-param').serializeArray();

			pop.find('form.fields-edit-form [data-encode="base64"]').each(function(){
				encodes.push( this.name );
			});

			return this.reIndexForm( unindexed, encodes );
		    
		},
		
		reIndexForm : function( unindexed, encodes ){
			
			var indexed = {}, avoidRepeat = {}, name, obs, j, k;
			
		    $.map( unindexed, function( n, i ){
			    
			    if( encodes.indexOf( n['name'] ) > -1 )
				    n['value'] = kc.tools.base64.encode(n['value']);
			    
			    if( n['name'].indexOf('[') == -1 ){
				    
				    if( n['value'] != '' ){
					    if( indexed[ n['name'] ] == undefined || indexed[ n['name'] ] == '__empty__' )
							indexed[ n['name'] ] = n['value'];
						else
							indexed[ n['name'] ] += ','+n['value'];
				    }else if( indexed[ n['name'] ] === undefined ){
						indexed[ n['name'] ] = '';
				    }
			    	
			    }else{
				    
				    n['name'] = "["+n['name'].replace('[','][');
				    name = n['name'].replace( /\[/g, "['" ).replace( /\]/g, "']" );
		        
			        obs = [];
			       
			        [].forEach.call( n['name'].split(']['), function( sp ){
				        sp = sp.replace( /\[/g, '' ).replace( /\]/g, '' ).trim();
				        obs[ obs.length ] = sp;
			        });
			        
			        if( obs.length > 0 ){
				        k = '';
				        for( j=0; j<obs.length; j++){
					        k += "['"+obs[j]+"']";
					        eval("if( indexed"+k+"==undefined )indexed"+k+"={};");
				        }
			        }
			        
			        var query = "if( typeof(indexed"+name+") != 'string' )indexed"+name+"=n['value'];else if(n['value']!=='') indexed"+name+"+=','+n['value'];";
				    eval( query );
			    
			    }
		        
		    });
			
			delete avoidRepeat, name, obs, j, k;
			
		    return indexed;

		},
		
		basename : function( str ){
			
			var base = str.split(/[\\/]/).pop();
				
		    if( base.lastIndexOf(".") != -1 )       
		        base = base.substring( 0, base.lastIndexOf(".") );
		        
			return base;
		       	
		},
		
		toClipboard : function( str ) {
			
			if (window.clipboardData) {
                window.clipboardData.setData ("Text");
            }else {
	   			
	   			document.oncopy = function(event) {
					event.clipboardData.setData('text', str);
					event.preventDefault();
				};
				
				document.execCommand("Copy", false, null);
				
				document.oncopy = null;
				
			}
		},
		
		rgb2hex : function( rgb ) {
	
			if( rgb.indexOf('rgb') === -1 || rgb.indexOf('(') === -1 || rgb.indexOf(')') === -1 )
				return rgb;
				
			rgb = rgb.split('(')[1].split(')')[0].split(',');
			
			function hex(x) {
				return ("0" + parseInt(x.trim()).toString(16)).slice(-2);
			}
			
			return "#" + hex(rgb[0]) + hex(rgb[1]) + hex(rgb[2]);

		},
		
		hex2rgb : function(hex) {

		    r = hex.match(/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i);
		    if (r) {
		            return r.slice(1,4).map(function(x) { return parseInt(x, 16); });
		    }
		    // short version
		    r = hex.match(/^#([0-9a-f])([0-9a-f])([0-9a-f])$/i);
		    if (r) {
		            return r.slice(1,4).map(function(x) { return 0x11 * parseInt(x, 16); });
		    }
		    return hex;
		},
		
		base64 : {
		
		    encode : function (input){
			    
			    if( input === undefined || input === '' ){
					return '';
				}
				
				try
			    {
				    return window.btoa(unescape(encodeURIComponent( input )));
				}
				catch (ex){return input;}

		    },
		
		    decode : function (input){

			    if( input === undefined || input === '' ){
					return '';
				}
			    
			    try
			    {
				    return decodeURIComponent(escape(window.atob( input )));
				}
				catch (ex){return input;}
	
		    },

		},
		
		media : {
			
			el : null,
			
			callback : null,
			
			uploader : null,
			
			open : function( e ){

				if( typeof e.preventDefault == 'function' )
					e.preventDefault();


				atts = $().extend(
							{ frame: 'select', multiple: false, title: 'Choose Image', button: 'Choose Image', type: 'image' },
							e.data.atts );

				kc.tools.media.el = this;
				
				if( typeof e.data.callback == 'function' )
					kc.tools.media.callback = e.data.callback;
				else kc.tools.media.callback = null;
				
		        if ( kc.tools.media.uploader ) {
		           return kc.tools.media.uploader.open();
		        }

				var insertImage = wp.media.controller.Library.extend({
				    defaults :  _.defaults({
			            id: 'insert-image',
			            title: atts.title,
			            button: {
			                text: atts.button
			            },
			            multiple: false,
						editing:   true,
						allowLocalEdits: true,
			            displaySettings: true,
			            displayUserSettings: true,    
			            type : atts.type
				      }, wp.media.controller.Library.prototype.defaults )
				});

		        //Extend the wp.media object
		        kc.tools.media.uploader = wp.media.frames.file_frame = wp.media({         
		            frame: atts.frame,
		            state : 'insert-image',
				    states : [ new insertImage() ]
		        });
				
		        kc.tools.media.uploader.on('select', function( e ) {

			        var currentSize = $('.attachment-display-settings .size').val()
		        	var state = kc.tools.media.uploader.state('insert-image');
		            var attachments = state.get('selection');

		            if( attachments.length === 0 ){

			            if( $('#embed-url-field').get(0) && $('#embed-url-field').val() != null ){
				            if( typeof kc.tools.media.callback == 'function' )
					     	 	kc.tools.media.callback( { 
						     	 		url: $('#embed-url-field').val(), sizes: {} }, 
						     	 		$(kc.tools.media.el) 
						     	 	);
			            }
			            
		            }else{

			            attachments.map( function( attachment ) {
				            
					     	 var attachment = attachment.toJSON();
					     	 attachment.size = currentSize;
					     	 if( typeof kc.tools.media.callback == 'function' )
					     	 	kc.tools.media.callback( attachment, $(kc.tools.media.el) );
					    });
				    
				    }
		
		        });
				
				kc.tools.media.uploader.on('open', function( e ) {
					 	
				 	var ids = $(kc.tools.media.el).parent().find('.kc-param').val();
				 	if( ids === undefined || ids == null || ids == '' || ids == 'undefined')
				 		return;
				 		
				 	ids = ids.split(',');
			 	
				 	var selection = kc.tools.media.uploader.state().get('selection');
				 	var attachments = [];
				 	
				 	ids.forEach(function( id ){
						attachments[ attachments.length ] = wp.media.attachment( id );
					});
					
					selection.add( attachments );

				 						
				});
				
		        //Open the uploader dialog
		       return kc.tools.media.uploader.open();
			   
		    },		
		    
		    els : null,
			
			callbacks : null,
			
			uploaders : null,
			
			opens : function( e ){
				
				if( typeof e.preventDefault == 'function' )
					e.preventDefault();
				
				kc.tools.media.els = this;
				
				if( typeof e.data == 'function' )
					kc.tools.media.callbacks = e.data;	
				else kc.tools.media.callbacks = null;
				
		        if ( kc.tools.media.uploaders ) {
		           kc.tools.media.uploaders.open();
		           return false;
		        }
				
		        //Extend the wp.media object
		        kc.tools.media.uploaders = wp.media.frames.file_frame = wp.media({
		            title: kc.__.i46,
		            button: {
		                text: kc.__.i46
		            },
		            multiple: true,
					editing:   true,
					allowLocalEdits: true,
		            displaySettings: true,
		            displayUserSettings: true,
		            
		        });
		 
		        kc.tools.media.uploaders.on('select', function( e ) {
		
		            var attachments = kc.tools.media.uploaders.state().get('selection');
		            attachments.map( function( attachment ) {
				     	 var attachment = attachment.toJSON();
				     	 if( typeof kc.tools.media.callbacks == 'function' )
				     	 	kc.tools.media.callbacks( attachment, $(kc.tools.media.els) );
				    });
		
		        });
		        
		        kc.tools.media.uploaders.on('open', function( e ) {
					
					// Maybe we dont need to active selected images
					return false;
					 	
				 	var ids = $(kc.tools.media.els).parent().find('.kc-param').val();
				 	if( ids === undefined || ids == null || ids == '' )
				 		return;
				 		
				 	ids = ids.split(',');
			 	
				 	var selection = kc.tools.media.uploaders.state().get('selection');
				 	var attachments = [];
				 	
				 	ids.forEach(function( id ){
						attachments[ attachments.length ] = wp.media.attachment( id );
					});
					
					selection.add( attachments );
				 						
				});
		        
		        //Open the uploader dialog
				kc.tools.media.uploaders.open();
			   
			   return false;
			   
		    }
	
		},
		
		popup : new kc.backbone.views( 'no-model' ).extend({
			
			margin_top : $('html').get(0).offsetTop,
			
			no_close : false,
			
			render : function( el, atts ){
				
				var keepCurrent = false;
				if( atts != undefined ){
					if( atts.keepCurrentPopups == true ){
						keepCurrent = true;
					}
				}
				
				if( keepCurrent == false )
					$('.kc-params-popup .sl-close.sl-func').trigger('click');
				
				$('.sys-colorPicker').remove();
				$('.kc-controls .more.active').removeClass('active');
				
				var pop_width = 580;
				if( atts.width != undefined )
					pop_width = atts.width;
				var coor = this.coordinates( el, pop_width, keepCurrent );
				
				var atts = $().extend({ 
						top: coor[0], 
						left: coor[1],
						pos: coor[2],
						bottom: coor[3],
						tip: coor[4],
						width: pop_width,
						class: '',
						float: false,
						drag: true,
						content: '', 
						title: 'Settings',
						help: '',
						footer: true,
						footer_ext: '',
						scrollTo: true,
						save_text: kc.__.save,
						cancel_text: kc.__.cancel
					}, atts );
				
				if( atts.footer === false && atts.class.indexOf('no-footer') == -1 )
					atts.class += ' no-footer';	
				
				if( atts.float === true ){
					atts.drag = false;
					atts.class += ' kc-popup-float';
					atts.scrollTo = false;
				}
						
				this.el = $( kc.template( 'popup', atts ) );
				this.el.data({ 'button' : el, 'keepCurrentPopups' : keepCurrent, 'tab_active' : 0 });
				
				if( atts.float === true ){
					this.el.on('click', function(e){
						if( e.target === this )
							$(this).find('button.cancel').trigger('click');
					});
					$('html').css({'overflow': 'hidden'});
				}
				
				if( atts.tip != 0 )
					this.el.find( '.wp-pointer-arrow' ).css({marginRight: -atts.tip+'px'});
								
				if( atts.scrollBack == true )
					this.el.data({ 'scrolltop' : $(window).scrollTop() });
				
				$('body').append( this.el  );
				
				if( atts.drag == true ){
					kc.ui.draggable( this.el.get(0), 'h3.m-p-header' );
					this.el.find('h3.m-p-header').addClass('kc-ui-draggable');
				}
				
				$( this.el ).css({opacity: 1});
				
				if( atts.scrollTo === true ){
					
					setTimeout( function( pop, atts ){
						
						var wsct = $(window).scrollTop(), wh = $(window).height(),
							wheight = wsct+(wh*0.1);
						
						if( wh > 800 )
							pop.find('.m-p-body').css({ 'max-height': (wh - 250)+'px' });
							
						var pop_rect = pop.get(0).getBoundingClientRect();
							
						if( atts.top > wheight && atts.bottom === 0 ){
							
							if( pop_rect.height < wh - 50 ){
								kc.ui.scrollAssistive( atts.top - ((wh-pop_rect.height)/2) , true );
							}else kc.ui.scrollAssistive( (atts.top - 50), true );
							
						}else if( pop_rect.top < 0 )
							kc.ui.scrollAssistive( (wsct+pop_rect.top) - 50, true );
						
					}, 1, this.el, atts );
					
				}
				
				return this.el;
				
			},
			
			coordinates : function( el, pop_width, keepCurrent ){
				
				var grids;
				if( $(el).closest('#kc-container').get(0) )
					grids = document.getElementById('kc-container').getBoundingClientRect();
				else if( document.getElementById('wpbody-content') !== null )
					grids = document.getElementById('wpbody-content').getBoundingClientRect();	
				else if( document.getElementById('content') !== null )
					grids = document.getElementById('content').getBoundingClientRect();
				else grids = document.getElementsByTagName('body')[0].getBoundingClientRect();
				
				if( el === undefined )
					return [0,0,0,0];
						
				var coor = el.getBoundingClientRect(),
					swidth = (grids.width/3),
					sleft = coor.left-grids.left,
					top = coor.top+$(window).scrollTop()+coor.height-this.margin_top,
					bottom = 0,
					left = coor.left+$(window).scrollLeft()+(coor.width/2),
					tip = 0,
					pos = '',
					wheight = $(document).height(),
					wwidth = $(document).width();
					
				if( sleft < swidth ){
					pos = 'left';
					left -= 63;
				}else if( sleft > swidth && sleft < swidth*2 ){
					pos = 'center';
					left -= (pop_width/2);
				}else if( sleft > swidth*2 && sleft < swidth*3 ){
					pos = 'right';
					left -= (pop_width-63);
				}
				
				if( wheight - top < 200 && $(window).scrollTop() > 0 ){
					
					bottom = wheight-top+(coor.height/2);
					$('html').height( wheight - parseInt( $('html').css('padding-top') ) );
				
				}else if( keepCurrent !== true ){
					$('html').height('');
				}
				
				if( left < 50 ){
					tip = left - 50;
					left = 50;
				}
				
				if(  left+swidth > wwidth ){
					left -= ( (left+swidth) - wwidth ) + 50;
				}
				return [ top, left, pos, bottom, tip ];
				
			},
			
			events : {
				'.m-p-controls>li>.cancel,.m-p-header .sl-close:click' : 'cancel',
				'.m-p-header .m-p-toggle:click' : 'toggle',
				'.m-p-controls>li>.save,.m-p-header .sl-check:click' : 'save'
			},
			
			cancel : function( e ){
				
				$('html').css({'overflow': ''});
				kc.do_action( 'before_cancel_popup', this );
				
				// We will dont close the popup when in instant saving
				if( $('#kc-preload').length > 0 || kc.tools.popup.no_close === true ){
					kc.tools.popup.no_close = false;
					return;
				}

				if( e.target.tagName == 'INPUT' )
					return;
				
				var el = $(this).closest('.kc-params-popup'), 
					keepCurrent = el.data('keepCurrentPopups'),
					beforecalb, calb, aftercalb, i, prevent = false;
				
				if( typeof el.data('before_cancel') !==  undefined ){
					beforecalb = el.data('before_cancel');
					if( typeof beforecalb == 'function' ){
						if( beforecalb( el, e ) == 'prevent' )
							prevent = true;
					}else if( beforecalb !== undefined && beforecalb.length > 0 ){
						for( i = 0; i< beforecalb.length; i++ ){
							if( typeof beforecalb[i] == 'function' ){
								if( beforecalb[i]( el, e ) == 'prevent' )
									prevent = true;
							}
						}
					}
				}
				
				if( prevent === true )
					return;
					
				if( typeof el.data('cancel') !==  undefined ){
					calb = el.data('cancel');
					if( typeof calb == 'function' ){
						calb( el );
					}else if( calb !== undefined && calb.length > 0 ){
						for( i = 0; i< calb.length; i++ ){
							if( typeof calb[i] == 'function' && calb[i]( el ) == 'prevent' )
								prevent = true;
						}
					}
				}
				
				if( prevent === true )
					return;
					
				if( typeof el.data('after_cancel') !==  undefined ){
					aftercalb = el.data('after_cancel');
					if( typeof aftercalb == 'function' ){
						aftercalb( el );
					}else if( aftercalb !== undefined && aftercalb.length > 0 ){
						for( i = 0; i< aftercalb.length; i++ ){
							if( typeof aftercalb[i] == 'function' && aftercalb[i]( el ) == 'prevent' )
								prevent = true;
						}
					}
				}
				
				if( prevent === true )
					return;
				
				if( el.data('scrolltop') != undefined )
					e.data.scrollback( el.data('scrolltop'), el.data('button') );
					
				if( el.data('keepCurrentPopups') !== true )
					$('html').height('');
					
				el.remove();
				$('.sys-colorPicker').remove();
				// remove date picker
				$('.pika-single').remove();
				
				if( keepCurrent == false )
					$('.kc-params-popup .sl-close.sl-func').trigger('click');
				
				kc.do_action( 'after_cancel_popup', this );
				
			},
			
			save : function( e ){
				
				kc.do_action( 'before_save_popup', this );
				
				var el = $(this).closest('.kc-params-popup'), 
					keepCurrent = el.data('keepCurrentPopups'), 
					beforecalb, calb, aftercalb, i;
				
				e.data.el = el;
				
				if( typeof el.data('before_callback') !==  undefined ){
					beforecalb = el.data('before_callback');
					if( typeof beforecalb == 'function' ){
						beforecalb( el );
					}else if(  beforecalb !== undefined && beforecalb.length > 0 ){
						for( i = 0; i< beforecalb.length; i++ ){
							if( typeof beforecalb[i] == 'function' )
								beforecalb[i]( el );	
						}
					}
				}
				
				if( typeof el.data('callback') !==  undefined ){
					calb = el.data('callback');
					if( typeof calb == 'function' ){
						calb( el );
					}else if( calb !== undefined && calb.length > 0 ){
						for( i = 0; i< calb.length; i++ ){
							if( typeof calb[i] == 'function' )
								calb[i]( el );	
						}
					}
				}
				
				if( typeof el.data('after_callback') !==  undefined ){
					aftercalb = el.data('after_callback');
					if( typeof aftercalb == 'function' ){
						aftercalb( el );
					}else if( aftercalb !== undefined && aftercalb.length > 0 ){
						for( i = 0; i< aftercalb.length; i++ ){
							if( typeof aftercalb[i] == 'function' )
								aftercalb[i]( el );	
						}
					}
				}
				
				// We will dont close the popup when in instant saving
				if( $('#kc-preload').length > 0 || kc.tools.popup.no_close === true ){
					kc.tools.popup.no_close = false;
					return;
				}
					
				if( el.data('scrolltop') != undefined )
					e.data.scrollback( el.data('scrolltop'), el.data('button') );
				
				//el.remove();
				el.find('.sl-close.sl-func').trigger('click');
				
				if( keepCurrent == false ){
					$('.kc-params-popup .sl-close.sl-func').trigger('click');
					$('html').height('');
				}
				
				kc.do_action( 'after_save_popup', this );
				
			},
			
			toggle : function( e ){
				
				var pop = $(this).closest('.kc-params-popup');
				if( pop.hasClass('kc-popup-collapse') )
					pop.removeClass('kc-popup-collapse')
				else pop.addClass('kc-popup-collapse')
					
			},
			
			scrollback : function( sctop, btn ){
				
				
				var now = $(window).scrollTop();
				
				if( Math.abs( sctop - now ) > 200 ){
					
					kc.ui.scrollAssistive( sctop );
					
				}
				
			},
			
			add_tab : function( pop, args ){
				
				args = $().extend( { title: '', class: '', cfg: '', callback: function(){} }, args );
				
				var ul = pop.find('.m-p-wrap ul.kc-pop-tabs'), 
					slug = 'kc-tab-'+Math.abs(parseInt(Math.random()*1000)), 
					li = $('<li data-tab="'+slug+'" data-cfg="'+args.cfg+'" class="'+args.class+'">'+args.title+'</li>');
				
				if( !ul.get(0) ){
					
					/* if this is first tab be added */
					ul = $('<ul class="kc-pop-tabs"></ul>');
					
					if( pop.find('.fields-edit-form').length > 0 ){
						
						var fli = $('<li data-tab="fields-edit-form" class="kc-tab-general-title active"><i class="et-tools"></i> General</li>');
						
						ul.append( fli );
						fli.on( 'click', function( e ){
							
							var wrp = $(this).closest('.m-p-wrap');
							
							wrp.find('>.kc-pop-tabs li').removeClass('active');
							$(this).addClass('active');
							
							wrp.find('.m-p-body>.kc-pop-tab').removeClass('form-active');
							wrp.find('.m-p-body>.fields-edit-form').addClass('form-active');
							
							if( e.originalEvent !== undefined )
								$(this).closest('.kc-params-popup').
									data({ tab_active: $(this).parent().find('>li').index( this ) });
							
							kc.do_action('popup_tab_switch', this );
							
						});
						
					}
					
					
					pop.find('.m-p-header').after( ul );
					
				}
				
				ul.append( li );
				
				/* Add event for new tab which just be created */
				li.on( 'click', args.callback, function(e){
					
					var slug = $(this).data('tab'), wrp = $(this).closest('.m-p-wrap').find('>.m-p-body');
					
					$(this).closest('.m-p-wrap').find('>.kc-pop-tabs li').removeClass('active');
					$(this).addClass('active');
					wrp.find('>.kc-pop-tab').removeClass('form-active');
					var tab = wrp.find('>.'+slug), click_actived = false, this_index = $(this).parent().find('>li').index( this );
					
					if( $(this).closest('.kc-params-popup').data('tab_active') == this_index )
							click_actived = true;
					
					if( e.originalEvent !== undefined )
						$(this).closest('.kc-params-popup').data({ tab_active: this_index });
					
					kc.do_action('popup_tab_switch', this );
					
					if( tab.get(0) ){
						
						tab.addClass('form-active');
						/*
						*	If the tab is actived and click on it
						*	We don't need to run callback
						*/
						if( click_actived === true )
							return;
							
						var callback = $(this).data('callback');
						
						if( typeof callback == 'function' )
							callback( this, tab );
						
						return;
						
					}
					
					tab = $('<form class="kc-pop-tab '+slug+' form-active"></form>');
					
					wrp.append( tab );
					
					tab.on( 'submit', function(){
						$(this).closest('.kc-params-popup').find('.m-p-footer .save').trigger('click');
						return false;
					});
					
					if( typeof e.data == 'function' )
						tab.append( e.data( this , tab ) );
					
					var callback = $(this).data('callback');
					if( typeof callback == 'function' )
						callback( this, tab );
						
				});
				
				return li;
				
			},
			
			callback : function( pop, args, unique ){
				
				// prevent adding the same callback twice
				
				if( unique !== undefined ){
					
					var list_uniques = pop.data( 'callback_uniques' );
					
					if( list_uniques === undefined )
						list_uniques = [];
					else if( list_uniques.indexOf( unique ) > -1 )
						return;
						
					list_uniques.push( unique );
					
					pop.data({ 'callback_uniques': list_uniques });
					
				}
				
				var calls;
					
				for( var st in args  ){
					
					calls = [];
					
					if( pop.data( st ) !== undefined ){
						if( typeof pop.data( st ) == 'function' )
							calls.push( pop.data( st ) );
						else if( typeof pop.data( st ) == 'object' )
							calls = pop.data( st );
					}
					
					calls.push( args[st] );
					
					pop.data( st, calls );
					
				}
					
			},
			
			close_all : function() {
				$('.kc-params-popup .sl-close.sl-func').trigger('click');
			}
			
		}),
		
		editor : {
			
			insert : function( id, html ){
				
				var editor,
					hasTinymce = typeof tinymce !== 'undefined',
					hasQuicktags = typeof QTags !== 'undefined';

				wpActiveEditor = id;
				
				if ( hasTinymce ) {
					editor = tinymce.get( wpActiveEditor );
				}

				if ( editor && ! editor.isHidden() ) {
					editor.execCommand( 'mceInsertContent', false, html );
				} else if ( hasQuicktags ) {
					QTags.insertContent( html );
				} else {
					document.getElementById( wpActiveEditor ).value = html;
				}

			},
			
			init : function ( textarea ) {
				
				if ( $( '#wp-link' ).parent().hasClass( 'wp-dialog' ) ) {
					$( '#wp-link' ).wpdialog( 'destroy' );
				}
				
				textarea.val( switchEditors.wpautop( textarea.val() ) );
				
				var eid = textarea.attr( "id" ), tmi = window.tinyMCEPreInit, tmic = tmi.mceInit, tmiq = tmi.qtInit;
				try {
					
					if ( _.isUndefined( tinyMCEPreInit.qtInit[ eid ] ) ) {
						tmiq[ eid ] = _.extend( {}, tmiq[ window.wpActiveEditor ], { id: eid } );
					}
					if ( tmi && tmic[ window.wpActiveEditor ] ) {
						tmic[ eid ] = _.extend( 
							{}, 
							tmic[ window.wpActiveEditor ],
							{
								resize: 'vertical',
								height: 250,
								id: eid,
								setup: function ( e ) {
									if ( typeof(e.on) != 'undefined' ) {
										e.on( 'init', function ( e ) {
											e.target.focus();
											window.wpActiveEditor = eid;
										});
									} else {
										e.onInit.add( function ( e ) {
											e.focus();
											window.wpActiveEditor = eid;
										});
									}
								}
							}
						);
						
						tmic[ eid ].wp_autoresize_on = false;
						
						window.wpActiveEditor = eid;
											
					}
					
					quicktags( tmic[ eid ] );
					QTags._buttonsInit();
					
					if ( window.tinymce ) {
						
						window.switchEditors && window.switchEditors.go( eid, 'tmce' );
						
						if ( tinymce.majorVersion === "4" ) {
							
							tinymce.execCommand( 'mceAddEditor', true, eid );
							
							var textarea = $('#'+eid);
								
							if( tinyMCE.get( eid ) !== null ){
								
								tinyMCE.get( eid ).on('keyup mouseup change', function(e) {
									textarea.val( tinyMCE.activeEditor.getContent({format : 'raw'}) ).change();
								});
								
							}
							
							textarea.on('keyup mouseup', function(){textarea.change();});
							
						}
						
					}
					
				} catch ( e ) {
					$( '#wp-' + eid + '-wrap' ).html('Tinymce Error!');
					if ( console && console.error ) {
						console.error( e );
					}
				}
			}			
		},
		
		get_icons : function(){
			
			if( kc.icons != undefined )
				return kc.icons;
			
			function css_text(x) { return x.cssText; }
			
			var files = document.querySelectorAll('*[id^="kc-sys-icon-"]'), html = '', css;
			
			if( !files || files.length === 0 )
				return '';
				
			for( var i=0; i < files.length; i++ ){
				
				css = Array.prototype.map.call( files[i].sheet.cssRules, css_text ).join('\n');	
			
				css = css.split('::before');
				
				css.forEach(function( i ){
					i = i.split('.')[1];
					if( i !== undefined && i.indexOf('/') == -1 )
						html += '<i title="'+i.replace(/[^a-z-0-9]/g, "")+'" class="'+i.replace(/[^a-z-0-9]/g, "")+'"></i>';
				});
			}
			
			kc.icons = html;

			return html;
			
		},
		
		filter_images : function(str) {
				
			var m, str, regxx = new RegExp('\%SITE\_URL\%(.+?)(\'|\"|\\)|\ )', 'g');

			while (m = regxx.exec( str ) ) {

                if( m[0].indexOf( 'kc_get_thumbn' ) === -1 ){
                    str = str.replace( m[0], kc_ajax_url+'?action=kc_get_thumbn&type=filter_url&id='+encodeURIComponent(m[1])+m[2]);
                }else{
                    str = str.replace( m[0], kc_site_url + m[1]+m[2]);
                }

			}

			return str;
			
		},
		
		reverse : function(s) {
			
		  var o = [];
		  for (var i = 0, len = s.length; i <= len; i++)
		    o.push(s.charAt(len - i));
		  
		  return o.join('');
		  
		}
		
	} );
	
	
} )( jQuery );