/*** /home/deco/public_html/templates/purpleheart/js/mootools.php ***/


/*** /home/deco/public_html/plugins/system/rokbox/rokbox.js ***/

/**
 * RokBox - Pops up all sort of media types, html, images, videos, audio, iframes.
 * 
 * @version		1.3.1
 * 
 * @author		Djamil Legato <djamil@rockettheme.com>
 * @copyright	Andy Miller @ Rockettheme, LLC
 */

eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('R.5K({\'2M\':u(){H 8.1E(\'2u\',\'\')},\'25\':u(){H 8.1E(\'2u\',\'3I\')}});7m.5K({\'7l\':u(){l 6L=/^(1Y|6o):\\/\\/([a-z-.0-9]+)[\\/]{0,1}/i.6r(E.3a);l 1q=/^(1Y|6o):\\/\\/([a-z-.0-9]+)[\\/]{0,1}/i.6r(8);H 6L[2]===1q[2]}});l 4z=t 6h({37:\'1.3.1\',k:{\'1A\':\'7k\',\'6N\':\'7j\',\'1z\':2p.3Z.4d.7n,\'1D\':4c,\'4K\':40,\'19\':\'5M\',\'2A\':J,\'5t\':7o,\'43\':D,\'2P\':J,1e:{\'2S\':\'#7r\',\'18\':0.85,\'3e\':7q,\'1D\':4c,\'1z\':2p.3Z.4d.6e},\'5q-5r\':0,\'5p-2F\':0,\'1a-o\':50,2R:{\'A\':5j,\'o\':7p},\'1W\':\'J\',\'2y\':\'D\',\'14\':\'#7i\',\'3F\':D,\'3C\':D,\'2U\':\'5u\',\'3u\':D,\'3B\':D,\'3y\':J,\'3A\':D},69:u(k){8.68(k);l 61=t 7h("^"+8.k.1A),Y=8.k.1A,j=8;8.1C=[];8.1K=t 7a({});8.2m=D;8.2a=D;8.79=$$(\'a\').78(u(1q){l 1s=1q.2b(\'1s\'),S=D,3T=D,1t=D;l 2I=(1s||\'\').2I(61);d(2I){d(1s)S=1s.m(/\\([a-5U-5W-Z]+\\)/g)||D;d(1s)1t=1s.m(/\\[1t\\=(.+)+\\]/)||D;d(1t[1]){1q.1t=1t[1]}K{1q.1t=D};d(S[0]){S=S[0].22("(","").22(")","");d(!8.1K.77(S))8.1K.44(S,[]);l 1K=8.1K.46(S);1K.7b(1q);3T=1K.1c;8.1K.44(S,1K)};1q.S=S;1q.4b=3T;1q.1J(\'1G\',8.1G.5n(1q,[1q.X,1q.12,1q.1s,8]))};H 2I}.5h(8));l 6J=$7c(8.k.1e,{\'F\':Y+\'-1e\',\'1f\':Y+\'-1e\'});8.2x=t 4O(D,6J).1J(\'5B\',u(){j.2h(j.1C)}).1J(\'5g\',u(){d(j.2m){j.2m=D;l e=j.1P[0],3f=j.1P[1],1j=j.1P[2],1b=j.1P[3],1r;d(3f.2b(\'F\').2I(\'2z\'))1r=1j[1b];K 1r=1j[1b-2];j.1G.3J(1U,j,[D,1r.X,1r.12,1r.1s,j,1r])}});8.1e=8.2x.1e.1J(\'1G\',u(){j.2a=D;j.2c()});8.L=t R(\'1h\',{\'F\':Y+\'-L\',\'1f\':Y+\'-\'+8.k.6N}).U(17.3R).1M({\'16\':\'6f\',\'3e\':6i,\'18\':0}).25();l 6A=t R(\'1h\',{\'F\':Y+\'-T\',\'1f\':Y+\'-1i\'}).U(8.L);l 6s=t R(\'1h\',{\'1f\':Y+\'-3L\'}).U(6A);l 7g=t R(\'1h\',{\'1f\':Y+\'-15\'}).U(6s);l 6q=t R(\'1h\',{\'F\':Y+\'-7f\',\'1f\':Y+\'-1i\'}).U(8.L);l 5Q=t R(\'1h\',{\'1f\':Y+\'-3L\'}).U(6q);8.15=t R(\'1h\',{\'1f\':Y+\'-15\'}).U(5Q);l 4W=t R(\'1h\',{\'F\':Y+\'-7e\',\'1f\':Y+\'-1i\'}).U(8.L);l 5c=t R(\'1h\',{\'1f\':Y+\'-3L\'}).U(4W);l 7d=t R(\'1h\',{\'1f\':Y+\'-15\'}).U(5c);t R(\'1h\',{\'1f\':\'7s\'}).U(8.L);8.1B=t R(\'a\',{\'F\':Y+\'-2c\',\'12\':\'#\'}).2G(\'<1Q>[x] 2c</1Q>\').U(8.15);8.1B.1J(\'1G\',u(e){t 2T(e).2L();j.2a=D;j.2c(e)});8.1F={\'L\':t 2p.59(8.L,{\'1D\':8.k.1D,4f:J,\'1z\':8.k.1z,5e:u(){d(j.G==\'2Q\')H;d(!8.7t.18&&j.2x.2h){j.L.25();d(!j.2a){j.2x.25()}K{d(j.2m){j.2m=D;l e=j.1P[0],3f=j.1P[1],1j=j.1P[2],1b=j.1P[3],1r;d(3f.2b(\'F\').2I(\'2z\'))1r=1j[1b];K 1r=1j[1b-2];j.1G.3J(1U,j,[D,1r.X,1r.12,1r.1s,j,1r])}}}K{j.6u.3J(50,j)}}}),\'15\':t 2p.59(8.15,{\'1D\':8.k.1D,4f:J,\'1z\':8.k.1z}),\'o\':t 2p.6n(8.15,\'o\',{\'1D\':8.k.1D,4f:J,\'1z\':8.k.1z})};E.1J(\'7I\',u(){j.2d(j.L);j.2x.2d()});d(8.k.43)E.1J(\'23\',u(){j.2d(j.L)})},1G:u(e,X,12,k,j,38){d(e)t 2T(e).2L();l 32=\'\';l m=k.m(/([0-9]+\\s?[0-9]+)/g)||[\'\'];m=m[0].1l(" ");l m=k.m(/([0-9%]+\\s?[0-9%]+)/g)||[\'\'];32=m[0].1l(" ");m=m[0].1l(" ");d(k.m(/2W/g))32=\'2W\';l 1S=j.1y();d(!38)38=D;l S=8.S||38.S;l 1R=j.1B.1p(\'o\').V()||j.1B.11().B.y||0;l 1O=j.k[\'1a-o\']||0;m[0]=(m[0])?m[0]:\'\';m[1]=(m[1])?m[1]:\'\';d((!m[0].3g("%")&&!m[1].3g("%"))&&!m[0].1c||!m[1].1c){d(12.m(/3W\\.1g\\/3o/i)){m[0]=5j;m[1]=7H}K d(12.m(/3X\\./i)){m[0]=7G;m[1]=76}K d(12.m(/3U\\.1g\\/3o/i)){m[0]=4g;m[1]=7L}K d(12.m(/4j\\.1g\\/5A/i)){m[0]=4g;m[1]=7O}K d(12.m(/3v\\.1g\\/[0-9]{1,}/i)){m[0]=4g;m[1]=7M}K d(12.m(/\\.(57|3S|3p|5d|58|5a|3Y|5V|5Y|62|5Z|6C)$/i)){m[0]=7F;m[1]=7E}K d(12.m(/\\.(5I|3O)$/i)){m[0]=7x;m[1]=45}};l 1d=E.11().B;d(m[0]>((E.1V)?E.3D:1d.x)||32==\'2W\')m[0]=((E.1V)?E.3D:1d.x)-j.1y(J)-20;d(m[1]>((E.1V)?E.3M:1d.y)||32==\'2W\')m[1]=((E.1V)?E.3M:1d.y)-j.1y()-1R-1O-20;d($G(m[0])!=\'5l\'&&$G(m[1])!=\'5l\'){d(m[0].3g("%")&&m[1].3g("%")){l 5D=(E.1V)?E.3D:1d.x;l 5O=(E.1V)?E.3M:1d.y;m[0]=m[0].22("%","").V();m[1]=m[1].22("%","").V();m[0]=m[0]>1U?1U:m[0];m[1]=m[1]>1U?1U:m[1];m[0]=5D*m[0]/1U;m[1]=5O*m[1]/1U;m[0]=m[0]-j.1y(J)-20;m[1]=m[1]-j.1y()-1R-1O-20}}k={A:(m[0]||j.k.2R.A).V(),o:(m[1]||j.k.2R.o).V()};5L={A:(m[0]||j.k.2R.A).V()+j.1y(J),o:(m[1]||j.k.2R.o).V()+j.1y()+1R};j.1C=[8,X,12,k,S,8.4b||38.4b,5L,8.1t];d(!j.2a)j.2x.4T();K j.2h(j.1C)},1y:u(7w){l 1S=(8.k[\'5q-5r\']*2)+(8.k[\'5p-2F\']*2);H 1S},2h:u(){1T=1T[0];l b=1T;l 4i=1T[0],X=1T[1],12=1T[2],B=1T[3],k=1T[6],1t=1T[7],j=8;8.1B.1E(\'5x\',\'7v\');l 1R=j.1B.1p(\'o\').V()||j.1B.11().B.y||j.1B.7u.o.V()||0;l 1O=j.k[\'1a-o\']||0;8.L.1M({\'A\':k.A,\'o\':k.o+1O+1R}).2M();8.15.1M({\'A\':B.A,\'o\':B.o+1R+1O});d(j.k.2A&&!8.Q){l 1Z=j.1Z(X)||[D,D];l X=1Z[0],1X=1Z[1];8.Q=t R(\'1h\',{\'F\':8.k.1A+\'-Q\'}).U(8.15).1E(\'18\',0).6I(X,1X)};d(j.k.2A&&8.Q)8.Q.25().1E(\'o\',0);d(j.13)j.13.6E();l 16=8.2d(8.L,k)[1];8.1F.L.1k(8.3i(8.k.19,16).1k).2H(u(){d(j.k.2A&&j.Q){(u(){l o=j.Q.11().B.y||0;l 15=j.15.1p(\'o\').V();j.1F.o.1k(15+o-1O).2H(u(){j.Q.19(\'18\').1k(1);d(j.k.2P){j.41=j.2P.5n(j);17.1J(\'6w\',j.41)}})}).3J(j.k.5t)}});l h=B.o+1R+1O;l f=8.3i(8.k.19,16).1k;d(f.A||f.o)8.1F.15.1k({\'A\':($G(f.A)==\'5y\')?[0,B.A]:B.A,\'o\':($G(f.o)==\'5y\')?[0,h]:h});K 8.15.1M({\'A\':B.A,\'o\':h})},2c:u(7y,49){l j=8,19;l 16={\'1i\':8.L.1p(\'1i\').V(),\'T\':8.L.1p(\'T\').V()};8.1B.1E(\'5x\',\'7z\');8.13.2v(\'2j\');8.6m();19=8.3i((49)?49:8.k.19,16).2X;d(8.k.2A)8.Q.19(\'18\').44(0);d(8.k.2P)17.7C(\'6w\',j.41);d(8.1a)8.1a.4a();8.1a=D;l 1S={};d($5w(19.A))1S.A=5s.5m(19.A-j.1y());d($5w(19.o))1S.o=5s.5m(19.o);8.1F.15.1k(1S).2H(u(){j.1F.o.2L();d(j.Q)j.Q.1E(\'o\',\'\');j.15.1M({\'A\':\'\',\'o\':\'\'});j.13.1M({\'A\':\'\',\'o\':\'\'})});8.1F.L.1k(19);H 8},2P:u(e){t 2T(e);4F(e.1I){1L\'1i\':d(8.1a)8.36.3b(\'1G\',e);29;1L\'3L\':d(8.1a)8.2V.3b(\'1G\',e);29;1L\'7A\':8.2a=D;8.2c(e,\'3h\')}},2d:u(L,B){l 1d=E.11();d(!L)L=$(8.L);d(!B){l 1S=L.11().B;B={\'A\':1S.x,\'o\':1S.y}};l 5G=8.k[\'1a-o\'];l 16={\'T\':1d.23.y+(((E.1V)?E.3M:1d.B.y)/2)-(B.o/ 2) - L.1p(\'2F-T\').V() - (5G/2),\'1i\':1d.23.x+(((E.1V)?E.3D:1d.B.x)/2)-(B.A/2)-L.1p(\'2F-1i\').V()};H[L.1M(16),16]},6u:u(){d(8.13)8.13.4a();d(8.Q)8.Q.25();l Q=8.1C[1],I=8.1C[2],B=8.1C[3],S=8.1C[4],1b=8.1C[5],Y=8.k.1A;l 1t=8.1C[7];l 1R=8.1B.1p(\'o\').V()||8.1B.11().B.y||0;l 1O=8.k[\'1a-o\']||0;8.G=D;d(1t){8.G=\'1t\';8.C=$(1t)}K d(I.m(/\\.(6Q|75|71|70|73)$/i)||8.1C[0].6Z==\'2Q\'){8.G=\'2Q\';l j=8;8.C=t 6Y.2Q(I,{F:\'1n\',4X:u(){B.A=8.A;B.o=8.o;j.13.1M(B);l 5k=8,1d=E.11();l T=1d.23.y+(1d.B.y/2)-(8.o/2)-j.L.1p(\'2F-T\').V();d(T<0)T=0;j.1F.L.1k({\'1i\':1d.23.x+(1d.B.x/2)-(8.A/ 2) - (j.1y(J) /2)-j.L.1p(\'2F-1i\').V(),\'A\':8.A+j.1y(J),\'o\':8.o+j.1y()+1O+1R}).2H(u(){j.13.2v(\'2j\');5k.U(j.13)})}})}K d(I.m(/\\.(57|3S|3p|5d|58|5a|6R|6V)$/i)){8.G=\'3S\';d(1x.2i&&1x.2i.1c){8.C=\'<C F="1n" 3E="3K..." G="3V/6b" 6P="1Y://2t.6M.1g/6D/5X.66" 39="\'+I+\'" A="\'+B.A+\'" o="\'+B.o+\'"><O M="2l" P="\'+I+\'" /><O M="6a" P="6g" /><O M="2y" P="\'+8.k.2y+\'" /><O M="1W" P="\'+8.k.1W+\'" /><O M="14" P="\'+8.k.14+\'" /><O M="67" P="J" /></C>\'}K{8.C=\'<C 4n="6B:6W-72-7K-84-8Y" 3E="3K..." 6P="1Y://2t.6M.1g/6D/5X.66" G="3V/6b" A="\'+B.A+\'" o="\'+B.o+\'" F="1n"><O M="2l" P="\'+I+\'" /><O M="6a" P="6g" /><O M="2y" P="\'+8.k.2y+\'" /><O M="1W" P="\'+8.k.1W+\'" /><O M="14" P="\'+8.k.14+\'" /><O M="67" P="J" /></C>\'}}K d(I.m(/\\.(3Y|5V|5Y|62|5Z|6C)$/i)){8.G=\'3Y\';d(1x.2i&&1x.2i.1c){8.C=\'<C F="1n" 3E="3K..." G="2n/x-5f" 39="\'+I+\'" A="\'+B.A+\'" o="\'+B.o+\'" /><O M="2l" P="\'+I+\'" /><O M="56" P="\'+8.k.1W+\'" /><O M="14" P="\'+8.k.14+\'" /></C>\'}K{8.C=\'<C F="1n" 3E="3K..." 4n="8X:8W-8U-8V-8Z-90" G="2n/x-5f" 39="\'+I+\'" A="\'+B.A+\'" o="\'+B.o+\'" /><O M="4h" P="\'+I+\'" /><O M="94" P="\'+8.k.2y+\'"><O M="56" P="\'+8.k.1W+\'" /><O M="14" P="\'+8.k.14+\'" /><O M="93" P="J" /></C>\'}}K d(I.m(/3W\\.1g\\/3o/i)){8.G=\'2e\';l 1u=I.1l(\'=\');8.26=1u[1];8.k.3F=(8.k.3F)?1:0;8.k.3C=(8.k.3C)?\'&92=%91%8T\':\'\';8.C=t 1v("1Y://2t.3W.1g/v/"+8.26+"&1W="+8.k.3F+8.k.3C,"1n",B.A,B.o,"9",8.k.14,"3n","3m");8.C.1m(\'2J\',\'2o\');8.C.1m(\'2D\',\'J\')}K d(I.m(/3X\\./i)){8.G=\'2e\';l 1u=I.1l("8J")[0].1l(\'/\');8.1u=1u[1u.1c-1];8.C=t 1v("1Y://2t.3X.1g/1H/"+8.1u+"&8I=1&8G=2S:8H;8L:8M;7Q:8R;8Q:8P;&96=1&8N=0","1n",B.A,B.o,"9",8.k.14);8.C.1m(\'2J\',\'2o\');8.C.1m(\'2D\',\'J\')}K d(I.m(/3U\\.1g\\/3o/i)){8.G=\'2e\';l 1u=I.1l(\'/\');8.26=1u[4];8.C=t 1v("1Y://2t.3U.1g/95/"+8.26+"/.1H","1n",B.A,B.o,"9",8.k.14,"3n","3m");8.C.1m(\'2J\',\'2o\');8.C.1m(\'2D\',\'J\')}K d(I.m(/4j\\.1g\\/5A/i)){8.G=\'2e\';l 1u=I.1l(\'=\');8.26=1u[1];8.C=t 1v("1Y://3V.4j.1g/9f.1H?9g="+8.26+"&1W=1&97=9e","1n",B.A,B.o,"9",8.k.14,"3n","3m");8.C.1m(\'2J\',\'2o\');8.C.1m(\'2D\',\'J\')}K d(I.m(/3v\\.1g\\/[0-9]{1,}/i)){8.G=\'2e\';l 1u=I.1l(\'/\');8.26=1u[3];8.k.3y=(8.k.3y)?1:0;8.k.3B=(8.k.3B)?1:0;8.k.3A=(8.k.3A)?1:0;8.k.3u=(8.k.3u)?1:0;8.k.2U=(8.k.2U.m(/[0-9]{6}/))?8.k.2U:\'5u\';8.C=t 1v("1Y://2t.3v.1g/99.1H?9c="+8.26+"&2K;9a=2t.3v.1g&2K;2W="+8.k.3y+"&2K;8E="+8.k.3B+"&2K;88="+8.k.3A+"&2K;87="+8.k.3u+"&2K;6F="+8.k.2U+"","1n",B.A,B.o,"9",8.k.14);8.C.1m(\'2J\',\'2o\');8.C.1m(\'2D\',\'J\')}K d(I.m(/\\.1H/i)){8.G=\'2e\';8.C=t 1v(I,"1n",B.A,B.o,"9",8.k.14,"3n","3m");8.C.1m(\'2J\',\'2o\');8.C.1m(\'2D\',\'J\')}K d(I.m(/\\.(5I|89)$/i)){8.G=\'2w\';8.C=\'<C F="1n"" A="\'+B.A+\'" o="\'+B.o+\'" 39="\'+I+\'"" G="\'+((E.3P)?\'2n/x-3N\':\'2w/3p\')+\'"><O P="\'+I+\'" M="2l"/><O P="\'+I+\'" M="4h"/><O P="\'+((E.3P)?\'2n/x-3N\':\'2w/3p\')+\'" M="G"/><O M="14" P="\'+8.k.14+\'" /><p>52 51 53 27 54: \'+I+\'</p></C>\'}K d(I.m(/\\.3O$/i)){8.G=\'2w\';8.C=\'<C F="1n"" A="\'+B.A+\'" o="\'+B.o+\'" 39="\'+I+\'"" G="\'+((E.3P)?\'2n/x-3N\':\'2w/3O\')+\'"><O P="\'+I+\'" M="2l"/><O P="\'+I+\'" M="4h"/><O P="\'+((E.3P)?\'2n/x-3N\':\'2w/3O\')+\'" M="G"/><O M="14" P="\'+8.k.14+\'" /><p>52 51 53 27 54: \'+I+\'</p></C>\'}K{8.G=\'42\';l 4U="1n"+$8d()+$4e(0,1U);8.C=t R(\'42\').48({F:4U,A:B.A,o:B.o,8b:0,43:\'82\',2l:I});l j=8;8.C.4X=u(){j.13.2v(\'2j\')}}8.4x=$(\'1n\');d(8.G){8.13=t R(\'1h\',{\'F\':Y+\'-13\',\'1f\':Y+\'-13\'}).7U(\'2j\').1M(B).7T(8.15);d(8.G==\'2e\')8.C.6v(8.13);K d(8.G==\'1t\'){8.C.7R(J).U(8.13.2v(\'2j\')).1E(\'2u\',\'7S\')}K d(8.G==\'7W\'){8.C.U(8.13);t 7X(I,{\'80\':\'46\',\'7Z\':J,\'7Y\':8.C,5e:u(){8.13.2v(\'2j\')}.5h(8)}).8f()}K d(8.G==\'42\'){8.C.U(8.13)}K d(8.G!=\'2Q\')8.13.2v(\'2j\').2G(8.C);d(S){l 1j=8.1K.46(S),j=8;d(1j.1c>1){d(!8.1a){8.1a=t R(\'1h\',{\'F\':8.k.1A+\'-1a\'}).U(8.15).25();d(1b!=1){8.36=t R(\'a\',{\'F\':8.k.1A+\'-3t\'}).U(8.1a).2G(\'<1Q>&6z; 3t</1Q>\');8.36.48({\'12\':1j[1b-2].2b(\'12\'),\'X\':1j[1b-2].2b(\'X\')})};d(1b!=1j.1c){8.2V=t R(\'a\',{\'F\':8.k.1A+\'-2z\'}).U(8.1a).2G(\'<1Q>2z &6p;</1Q>\');8.2V.48({\'12\':1j[1b].2b(\'12\'),\'X\':1j[1b].2b(\'X\')})};d(1b==1)8.36=t R(\'a\',{\'F\':8.k.1A+\'-3t\',\'1f\':\'3k\',\'12\':\'#\'}).U(8.1a,\'T\').2G(\'<1Q>&6z; 3t</1Q>\');d(1b==1j.1c)8.2V=t R(\'a\',{\'F\':8.k.1A+\'-2z\',\'1f\':\'3k\',\'12\':\'#\'}).U(8.1a).2G(\'<1Q>2z &6p;</1Q>\');8.36.1J(\'1G\',u(e){e=t 2T(e).2L();d(!8.6K(\'3k\')){j.2m=J;j.1P=[e,8,1j,1b];j.2a=J;j.2c(e,\'3h\')}});8.2V.1J(\'1G\',u(e){e=t 2T(e).2L();d(!8.6K(\'3k\')){j.2m=J;j.1P=[e,8,1j,1b];j.2a=J;j.2c(e,\'3h\')}})};8.1a.2M()}};d(8.k.2A){l 1Z=8.1Z(Q)||[D,D];l X=1Z[0],1X=1Z[1];d(8.Q)8.Q.6E().4a();8.Q=t R(\'1h\',{\'F\':8.k.1A+\'-Q\'}).U(8.15).1E(\'18\',0).6I(X,1X)}}},6m:u(){d(8.G)8.13.5F=\'\';8.4x=2k;8.G=D},1Z:u(Q){Q=Q.1l(" :: ")||D;4F(Q.1c){1L 0:H D;29;1L 1:l X=D;l 1X=t R(\'p\').4k(Q[0]);29;1L 2:l X=t R(\'8t\').4k(Q[0]);l 1X=t R(\'p\').4k(Q[1]);29}H[X,1X]},8s:u(4i){l 1s=4i.2b(\'1s\'),S=D;d(1s)S=1s.m(/\\([a-5U-5W-Z]+\\)/g)||D;d(S[0])S=S[0].22("(","").22(")","");K S=D;H S}});4z.4E(t 5v,t 8l);l 4O=t 6h({k:{\'F\':D,\'1f\':D,\'2S\':\'#8k\',\'18\':0.7,\'3e\':6i,\'1D\':4c,\'1z\':2p.3Z.4d.6e},69:u(2s,k){8.2s=$(2s)||$(17.3R);8.68(k);8.1e=t R(\'1h\',{\'F\':8.k.F||(\'6c-\'+$4e(1,5b)),\'1f\':8.k.F||(\'6c-\'+$4e(1,5b)),\'8h\':{\'18\':0,\'2u\':\'3I\',\'16\':\'6f\',\'T\':0,\'1i\':0,\'8i\':\'8m\',\'2S-6F\':8.k.2S,\'z-1b\':8.k.3e}}).U(17.3R);8.1F=t 2p.6n(8.1e,\'18\',{1D:8.k.1D,1z:8.k.1z});8.2h=D;H 8},2d:u(3d){l 2s=8.2s;3d=3d||E.11().4I;8.1e.1M({T:2s.5J().y||0,1i:2s.5J().x||0,A:E.11().B.x,o:3d.y});H 8},2M:u(){l 1e=8.1e,j=8;8.1e.1E(\'2u\',\'\');8.2h=J;8.2d().1F.1k(8.k.18).2H(u(){j.3b(\'5B\',1e)});H 8},25:u(){l 1e=8.1e,j=8;8.2h=D;8.2d().1F.1k(0).2H(u(){1e.1E(\'2u\',\'3I\');j.3b(\'5g\',1e)});H 8},4T:u(){8[8.2h?\'25\':\'2M\']();H 8}});4O.4E(t 5v,t 8o);d(2N N=="4Q"){l N=t 2Y()}d(2N N.2O=="4Q"){N.2O=t 2Y()}d(2N N.28=="4Q"){N.28=t 2Y()}N.1v=u(4S,F,w,h,4R,c,4P,4L,4t,4N){d(!17.3l){H}8.5H=4N?4N:"8p";8.5P=N.2O.4B(8.5H);8.4v=t 2Y();8.3c=t 2Y();8.4u=t 6G();d(4S){8.1o("1H",4S)}d(F){8.1o("F",F)}d(w){8.1o("A",w)}d(h){8.1o("o",h)}d(4R){8.1o("37",t N.24(4R.8q().1l(".")))}8.34=N.28.5C();d(!E.1V&&17.4C&&8.34.2r>7){N.1v.4V=J}d(c){8.1m("14",c)}l q=4P?4P:"8r";8.1m("8n",q);8.1o("3G",D);8.1o("35",D);l 6d=(4L)?4L:E.3a;8.1o("5i",6d);8.1o("3s","");d(4t){8.1o("3s",4t)}};N.1v.5z={3G:u(4s){8.4l=!4s?"8j.1H":4s;8.1o("3G",J)},1o:u(6k,6j){8.4u[6k]=6j},W:u(5T){H 8.4u[5T]},1m:u(5R,5S){8.4v[5R]=5S},4y:u(){H 8.4v},31:u(63,64){8.3c[63]=64},8A:u(60){H 8.3c[60]},6H:u(){H 8.3c},4M:u(){l 3j=t 6G();l 1I;l 4w=8.6H();27(1I 3H 4w){3j[3j.1c]=1I+"="+4w[1I]}H 3j},5E:u(){l 1w="";d(1x.2i&&1x.4J&&1x.4J.1c){d(8.W("35")){8.31("6O","8B");8.1o("1H",8.4l)}1w="<8C G=\\"2n/x-8D-2e\\" 2l=\\""+8.W("1H")+"\\" A=\\""+8.W("A")+"\\" o=\\""+8.W("o")+"\\" 33=\\""+8.W("33")+"\\"";1w+=" F=\\""+8.W("F")+"\\" M=\\""+8.W("F")+"\\" ";l 4q=8.4y();27(l 1I 3H 4q){1w+=[1I]+"=\\""+4q[1I]+"\\" "}l 4m=8.4M().6y("&");d(4m.1c>0){1w+="6x=\\""+4m+"\\""}1w+="/>"}K{d(8.W("35")){8.31("6O","8z");8.1o("1H",8.4l)}1w="<C F=\\""+8.W("F")+"\\" 4n=\\"6B:8y-8u-8v-8w-8x\\" A=\\""+8.W("A")+"\\" o=\\""+8.W("o")+"\\" 33=\\""+8.W("33")+"\\">";1w+="<O M=\\"4x\\" P=\\""+8.W("1H")+"\\" />";l 4H=8.4y();27(l 1I 3H 4H){1w+="<O M=\\""+1I+"\\" P=\\""+4H[1I]+"\\" />"}l 4G=8.4M().6y("&");d(4G.1c>0){1w+="<O M=\\"6x\\" P=\\""+4G+"\\" />"}1w+="</C>"}H 1w},6v:u(3Q){d(8.W("3G")){l 6l=t N.24([6,0,65]);d(8.34.3q(6l)&&!8.34.3q(8.W("37"))){8.1o("35",J);8.31("8g",81(8.W("5i")));17.X=17.X.7V(0,47)+" - 5N 83 8c";8.31("8e",17.X)}}d(8.5P||8.W("35")||8.34.3q(8.W("37"))){l n=(2N 3Q=="8a")?17.3l(3Q):3Q;n.5F=8.5E();H J}K{d(8.W("3s")!=""){17.3a.22(8.W("3s"))}}H D}};N.28.5C=u(){l 2g=t N.24([0,0,0]);d(1x.2i&&1x.4J.1c){l x=1x.2i["8F 5N"];d(x&&x.1X){2g=t N.24(x.1X.22(/([a-86-Z]|\\s)+/,"").22(/(\\s+r|\\s+b[0-9]+)/,".").1l("."))}}K{d(1x.5o&&1x.5o.4r("9h 9d")>=0){l 1N=1;l 3w=3;9b(1N){3x{3w++;1N=t 3r("2f.2f."+3w);2g=t N.24([3w,0,0])}3z(e){1N=2k}}}K{3x{l 1N=t 3r("2f.2f.7")}3z(e){3x{l 1N=t 3r("2f.2f.6");2g=t N.24([6,0,21]);1N.98="2o"}3z(e){d(2g.2r==6){H 2g}}3x{1N=t 3r("2f.2f")}3z(e){}}d(1N!=2k){2g=t N.24(1N.8O("$37").1l(" ")[1].1l(","))}}}H 2g};N.24=u(2q){8.2r=2q[0]!=2k?4D(2q[0],10):0;8.2Z=2q[1]!=2k?4D(2q[1],10):0;8.4A=2q[2]!=2k?4D(2q[2],10):0};N.24.5z.3q=u(2E){d(8.2r<2E.2r){H D}d(8.2r>2E.2r){H J}d(8.2Z<2E.2Z){H D}d(8.2Z>2E.2Z){H J}d(8.4A<2E.4A){H D}H J};N.2O={4B:u(4p){l q=17.3a.8K||17.3a.8S;d(4p==2k){H q}d(q){l 2C=q.4o(1).1l("&");27(l i=0;i<2C.1c;i++){d(2C[i].4o(0,2C[i].4r("="))==4p){H 2C[i].4o((2C[i].4r("=")+1))}}}H""}};N.28.4Z=u(){l 2B=17.6X("6U");27(l i=2B.1c-1;i>=0;i--){2B[i].33.2u="3I";27(l x 3H 2B[i]){d(2N 2B[i][x]=="u"){2B[i][x]=u(){}}}}};d(N.1v.4V){d(!N.55){N.28.4Y=u(){6S=u(){};6T=u(){};E.6t("74",N.28.4Z)};E.6t("7P",N.28.4Y);N.55=J}}d(!17.3l&&17.4C){17.3l=u(F){H 17.4C[F]}}l 7B=N.2O.4B;l 7D=N.1v;l 1v=N.1v;4z.4E({3i:u(G,16){l 19={};d(!16)16=0;4F(G){1L\'3h\':19={\'1k\':{\'T\':[16.T-8.k.4K,16.T],\'18\':1},\'2X\':{\'T\':8.L.1p(\'T\').V()+8.k.4K,\'18\':0}};29;1L\'5M\':l o=8.L.1p(\'o\').V(),A=8.L.1p(\'A\').V();19={\'1k\':{\'T\':[16.T+(o/2),16.T],\'o\':[0,o],\'18\':1},\'2X\':{\'T\':16.T+(o/2),\'1i\':E.11().B.x/2-((E.11().4I.x-10)/2),\'A\':E.11().4I.x-30,\'o\':0,\'18\':0}};29;1L\'7N\':l o=8.L.1p(\'o\').V(),A=8.L.1p(\'A\').V();19={\'1k\':{\'o\':[0,o],\'A\':[0,A],\'18\':1,\'T\':[(E.11().B.y/2)+E.11().23.y,16.T],\'1i\':[(E.11().B.x/2)+E.11().23.x,16.1i]},\'2X\':{\'o\':0,\'A\':0,\'18\':0,\'T\':(E.11().B.y/2)+E.11().23.y,\'1i\':(E.11().B.x/2)+E.11().23.x}};29;1L\'7J\':19={\'1k\':{\'18\':1},\'2X\':{\'18\':0}}}H 19}});',62,576,'||||||||this|||||if||||||self|options|var|match||height|||||new|function||||||width|size|object|false|window|id|type|return|url|true|else|wrapper|name|deconcept|param|value|caption|Element|group|top|inject|toInt|getAttribute|title|cls|||getSize|href|container|bgcolor|center|position|document|opacity|effect|arrows|index|length|winSize|overlay|class|com|div|left|list|start|split|addParam|rokboxobject|setAttribute|getStyle|lnk|what|rel|module|videoId|SWFObject|_19|navigator|overflow|transition|className|closeButton|current|duration|setStyle|fx|click|swf|key|addEvent|groups|case|setStyles|axo|arrowHeight|nextGroup|span|closeHeight|tmp|arguments|100|opera|autoplay|description|http|getCaption|||replace|scroll|PlayerVersion|hide|videoID|for|SWFObjectUtil|break|swtch|getProperty|close|reposition|flash|ShockwaveFlash|_23|open|plugins|spinner|null|src|changeGroup|application|always|Fx|_29|major|where|www|display|removeClass|audio|overlayObj|controller|next|captions|_2f|_2d|allowfullscreen|fv|padding|setHTML|chain|test|allowscriptaccess|amp|stop|show|typeof|util|keyEvents|image|defaultSize|background|Event|vimeoColor|nextArrow|fullscreen|end|Object|minor||addVariable|fs|style|installedVer|doExpressInstall|prevArrow|version|me|data|location|fireEvent|variables|sizes|zIndex|selfLink|contains|growl|effects|_16|inactive|getElementById|transparent|wmode|watch|mpeg|versionIsValid|ActiveXObject|redirectUrl|previous|vimeoPortrait|vimeo|_26|try|vimeoFullScreen|catch|vimeoByline|vimeoTitle|youtubeHighQuality|innerWidth|standby|youtubeAutoplay|useExpressInstall|in|none|delay|loading|right|innerHeight|mplayer2|wav|ie|_20|body|qt|len|metacafe|video|youtube|dailymotion|wmv|Transitions||evt|iframe|scrolling|set||get||setProperties|animation|remove|idx|200|Quad|random|wait|400|filename|el|google|setText|xiSWFPath|_1c|classid|substring|_2b|_1a|indexOf|_d|_9|attributes|params|_18|movie|getParams|RokBox|rev|getRequestParameter|all|parseInt|implement|switch|_1f|_1d|scrollSize|mimeTypes|chase|_8|getVariablePairs|_a|Rokverlay|_7|undefined|_5|_1|toggle|IFrameID|doPrepUnload|bottomleft|onload|prepUnload|cleanupSWFs||plugin|No|matched|playing|unloadSet|autoStart|mov|avi|Styles|xvid|1000|bottomright|divx|onComplete|oleobject|onHide|bind|xiRedirectUrl|640|img|number|abs|bindWithEvent|userAgent|content|frame|border|Math|captionsDelay|00adef|Options|chk|visibility|array|prototype|videoplay|onShow|getPlayerVersion|ww|getSWFHTML|innerHTML|plus|DETECT_KEY|mp3|getPosition|extend|options2|quicksilver|Flash|wh|skipDetect|middleright|_11|_12|_10|z0|wma|9A|qtplugin|wax|asx|_15|regexp|wvx|_13|_14||cab|enablejavascript|setOptions|initialize|scale|quicktime|rokverlay|_c|easeInOut|absolute|aspect|Class|65555|_f|_e|_21|unloadVideo|Style|https|gt|middleleft|exec|topright|attachEvent|loadVideo|write|keyup|flashvars|join|lt|topleft|clsid|asf|qtactivex|empty|color|Array|getVariables|adopt|overlayOptions|hasClass|domain|apple|theme|MMplayerType|codebase|gif|mv4|__flash_unloadHandler|__flash_savedUnloadHandler|OBJECT|m4v|02BF25D5|getElementsByTagName|Asset|alt|png|jpeg|8C17|bmp|onunload|jpg|339|hasKey|filter|elements|Hash|push|merge|bottomcenter|bottom|middle|topcenter|RegExp|f3f3f3|default|rokbox|sameDomain|String|easeOut|800|460|65550|000|clr|now|currentStyle|visible|margin|320|event|hidden|esc|getQueryParamValue|removeEvent|FlashObject|336|504|420|385|resize|fade|4B23|345|225|explode|326|onbeforeunload|foreground|clone|block|injectInside|addClass|slice|html|Ajax|update|evalScripts|method|escape|auto|Player|BC80||zA|show_portrait|show_byline|m4a|string|frameBorder|Installation|time|MMdoctitle|request|MMredirectURL|styles|cursor|expressinstall|000000|Chain|pointer|quality|Events|detectflash|toString|high|getGroup|h2|AE6D|11cf|96B8|444553540000|D27CDB6E|ActiveX|getVariable|PlugIn|embed|shockwave|show_title|Shockwave|colors|DDDDDD|v3|_|search|glow|FFFFFF|related|GetVariable|FFC300|special|333333|hash|3D22|B0F6|11D0|22D6f312|CLSID|D3488ABDDC6B|94AB|0080C74C7E95|2526fmt|ap|stretchToFit|showcontrols|fplayer|autoPlay|hl|AllowScriptAccess|moogaloop|server|while|clip_id|CE|en|googleplayer|docId|Windows'.split('|'),0,{}))


/*** /home/deco/public_html/plugins/system/rokbox/themes/light/rokbox-config.js ***/

/* All the presets options are the custom ones */

var rokbox;
window.addEvent('domready', function() {
	rokbox = new RokBox({
		'theme': 'light', // this string must match the theme folder name (string, no space, lowercase)
		'transition': Fx.Transitions.Quad.easeOut, // Transition to use when opening RokBox
		'duration': 400, // Duration of opening RokBox Effect (integer, milliseconds)
		'chase': 50, // Chase to use for the animation. works only for growl, see next line. (integer)
		'frame-border': 20, // Width of each border if any (integer, pixels)
		'content-padding': 0, // Padding of internal content wrapper (integer, pixels)
		'arrows-height': 35, // Height of arrows div (integer, pixels)
		'effect': 'growl', // Type of effect to use. Presets are: 'quicksilver', 'growl', 'explode'
		'captions': 1, // Whether to enable or disable captions (boolean, 1 or 0)
		'captionsDelay': 800, // How long captions effect should last, when captions are enabled (integer, milliseconds)
		'scrolling': 0, // Makes RokBox follow when scrolling the page (boolean, 1 or 0)
		'keyEvents': 1, // Enable keyevents. Esc, Left, Right to close and change previous or next (boolean, 1 or 0)
		'overlay': {
			'background': '#000', // Overlay background color (string, hex color format with starting hash #)
			'opacity': 0.2, // Opacity of the overlay (float, from 0 to 1, 0.1 makes it invisible but clickable)
			'duration': 200, // Duration of overlay effect (integer, milliseconds)
			'transition': Fx.Transitions.Quad.easeInOut // Transition to use for opacity effect
		},
		'defaultSize': {
			'width': 640, // Default RokBox window width (integer)
			'height': 460 // Default RokBox window height (integer)
		},
		'autoplay': 'true', // Enable or disable autoplay for QuickTimes and WM videos (string, 'true' or 'false')
		'controller': 'true', // Enable or disable controllers for QuickTimes and WM videos (string, 'true' or 'false')
		'bgcolor': '#ffffff', // Set Background colors for all videos and flash services that support it (string, hex color format with starting hash #)
		'youtubeAutoplay': 0, // Enable or disable autoplay for YouTube (boolean, 1 or 0)
		'youtubeHighQuality': 0, // Enable or disable YouTube High Quality (boolean, 1 or 0)
		'vimeoColor': '00adef', // Vimeo Color Scheme (string, hex color format WITHOUT starting hash #)
		'vimeoPortrait': 0, // Enable or disable Vimeo Portrait Button (boolean, 1 or 0)
		'vimeoTitle': 0, // Enable or disable Vimeo Title caption (boolean, 1 or 0)
		'vimeoFullScreen': 1, // Enable or disable Vimeo FullScreen button (boolean, 1 or 0)
		'vimeoByline': 0 // Enable or disable Vimeo's Author line (boolean, 1 or 0)
	});
});

/*** /home/deco/public_html/media/com_acymailing/js/acymailing_module.js ***/

function submitacymailingform(task,formName){
	var varform = eval('document.'+formName);
	if(!varform.elements) varform = varform[1];

       if(task != 'optout'){
         nameField = varform.elements['user[name]'];
         if(nameField && (( typeof acymailing != 'undefined' && nameField.value == acymailing['NAMECAPTION'] ) || nameField.value.length < 2)){
           if(typeof acymailing != 'undefined'){ alert(acymailing['NAME_MISSING']); }
           nameField.className = nameField.className +' invalid';
           return false;
         }
       }

       var emailField = varform.elements['user[email]'];
       if(emailField){
       emailField.value = emailField.value.replace(/ /g,"");
        var filter = /^([a-z0-9_'&\.\-\+])+\@(([a-z0-9\-])+\.)+([a-z0-9]{2,10})+$/i;
        if(!emailField || (typeof acymailing != 'undefined' && emailField.value == acymailing['EMAILCAPTION']) || !filter.test(emailField.value)){
          if(typeof acymailing != 'undefined'){ alert(acymailing['VALID_EMAIL']); }
          emailField.className = emailField.className +' invalid';
          return false;
        }
       }

		if(varform.elements['hiddenlists'].value.length < 1){
			var listschecked = false;
			var alllists = varform.elements['subscription[]'];
			if(alllists && typeof alllists.value == 'undefined'){
				for(b=0;b<alllists.length;b++){
					if(alllists[b].checked) listschecked = true;
				}
				if(!listschecked){ alert(acymailing['NO_LIST_SELECTED']); return false;}
			}
		}


       	if(task != 'optout' && typeof acymailing != 'undefined' && typeof acymailing['reqFields'+formName] != 'undefined' && acymailing['reqFields'+formName].length > 0){

			for(var i =0;i<acymailing['reqFields'+formName].length;i++){
				elementName = 'user['+acymailing['reqFields'+formName][i]+']';
				elementToCheck = varform.elements[elementName];
				if(elementToCheck){
					var isValid = false;
					if(typeof elementToCheck.value != 'undefined'){
						if(elementToCheck.value==' ' && typeof varform[elementName+'[]'] != 'undefined'){
							if(varform[elementName+'[]'].checked){
								isValid = true;
							}else{
								for(var a=0; a < varform[elementName+'[]'].length; a++){
									if(varform[elementName+'[]'][a].checked && varform[elementName+'[]'][a].value.length>0) isValid = true;
								}
							}
						}else{
							if(elementToCheck.value.length>0){
								if(typeof acymailing['excludeValues'+formName] == 'undefined' || typeof acymailing['excludeValues'+formName][acymailing['reqFields'+formName][i]] == 'undefined' || acymailing['excludeValues'+formName][acymailing['reqFields'+formName][i]] != elementToCheck.value) isValid = true;
							}
						}
					}else{
						for(var a=0; a < elementToCheck.length; a++){
						   if(elementToCheck[a].checked && elementToCheck[a].value.length>0) isValid = true;
						}
					}
					if(!isValid){
						elementToCheck.className = elementToCheck.className +' invalid';
						alert(acymailing['validFields'+formName][i]);
						return false;
					}
				}else{
					if((varform.elements[elementName+'[day]'] && varform.elements[elementName+'[day]'].value<1) || (varform.elements[elementName+'[month]'] && varform.elements[elementName+'[month]'].value<1) || (varform.elements[elementName+'[year]'] && varform.elements[elementName+'[year]'].value<1902)){
						if(varform.elements[elementName+'[day]'] && varform.elements[elementName+'[day]'].value<1) varform.elements[elementName+'[day]'].className = varform.elements[elementName+'[day]'].className + ' invalid';
						if(varform.elements[elementName+'[month]'] && varform.elements[elementName+'[month]'].value<1) varform.elements[elementName+'[month]'].className = varform.elements[elementName+'[month]'].className + ' invalid';
						if(varform.elements[elementName+'[year]'] && varform.elements[elementName+'[year]'].value<1902) varform.elements[elementName+'[year]'].className = varform.elements[elementName+'[year]'].className + ' invalid';
						alert(acymailing['validFields'+formName][i]);
						return false;
					}
				}
			}
		}

        var captchaField = varform.elements['acycaptcha'];
        if(captchaField){
     	   if(captchaField.value.length<1){
     		   if(typeof acymailing != 'undefined'){ alert(acymailing['CAPTCHA_MISSING']); }
     		   captchaField.className = captchaField.className +' invalid';
                return false;
     	   }
        }

       if(task != 'optout'){
         var termsandconditions = varform.terms;
         if(termsandconditions && !termsandconditions.checked){
           if(typeof acymailing != 'undefined'){ alert(acymailing['ACCEPT_TERMS']); }
           termsandconditions.className = termsandconditions.className +' invalid';
           return false;
         }
       }

       taskField = varform.task;
       taskField.value = task;

       varform.submit();

       return false;
     }

/*** /home/deco/public_html/media/system/js/modal.js ***/

/**
 * SqueezeBox - Expandable Lightbox
 *
 * Allows to open various content as modal,
 * centered and animated box.
 *
 * Inspired by
 *  ... Lokesh Dhakar	- The original Lightbox v2
 *  ... Cody Lindley	- ThickBox
 *
 * @version		1.0rc1
 *
 * @license		MIT-style license
 * @author		Harald Kirschner <mail [at] digitarald.de>
 * @copyright	Author
 */
var SqueezeBox = {

	presets: {
		size: {x: 600, y: 450},
		sizeLoading: {x: 200, y: 150},
		marginInner: {x: 20, y: 20},
		marginImage: {x: 150, y: 200},
		handler: false,
		adopt: null,
		closeWithOverlay: true,
		zIndex: 65555,
		overlayOpacity: 0.7,
		classWindow: '',
		classOverlay: '',
		disableFx: false,
		onOpen: Class.empty,
		onClose: Class.empty,
		onUpdate: Class.empty,
		onResize: Class.empty,
		onMove: Class.empty,
		onShow: Class.empty,
		onHide: Class.empty,
		fxOverlayDuration: 250,
		fxResizeDuration: 750,
		fxContentDuration: 250,
		ajaxOptions: {}
	},

	initialize: function(options) {
		if (this.options) return this;
		this.presets = $merge(this.presets, options)
		this.setOptions(this.presets);
		this.build();
		this.listeners = {
			window: this.reposition.bind(this, [null]),
			close: this.close.bind(this),
			key: this.onkeypress.bind(this)};
		this.isOpen = this.isLoading = false;
		this.window.close = this.listeners.close;
		return this;
	},

	build: function() {
		this.overlay = new Element('div', {
			id: 'sbox-overlay',
			styles: {
				display: 'none',
				zIndex: this.options.zIndex
			}
		});
		this.content = new Element('div', {
			id: 'sbox-content'
		});
		this.btnClose = new Element('a', {
			id: 'sbox-btn-close',
			href: '#'
		});
		this.window = new Element('div', {
			id: 'sbox-window',
			styles: {
				display: 'none',
				zIndex: this.options.zIndex + 2
			}
		}).adopt(this.btnClose, this.content);

		if (!window.ie6) {
			this.overlay.setStyles({
				position: 'fixed',
				top: 0,
				left: 0
			});
			this.window.setStyles({
				position: 'fixed',
				top: '50%',
				left: '50%'
			});
		} else {
			this.overlay.style.setExpression('marginTop', 'document.documentElement.scrollTop + "px"');
			this.window.style.setExpression('marginTop', '0 - parseInt(this.offsetHeight / 2) + document.documentElement.scrollTop + "px"');

			this.overlay.setStyles({
				position: 'absolute',
				top: '0%',
				left: '0%'
				//,marginTop: "expression(document.documentElement.scrollTop + 'px')"
			});

			this.window.setStyles({
				position: 'absolute',
				top: '0%',
				left: '0%'
				//,marginTop: "(expression(0 - parseInt(this.offsetHeight / 2) + document.documentElement.scrollTop + 'px')"
			});
		}

		$(document.body).adopt(this.overlay, this.window);

		this.fx = {
			overlay: this.overlay.effect('opacity', {
				duration: this.options.fxOverlayDuration,
				wait: false}).set(0),
			window: this.window.effects({
				duration: this.options.fxResizeDuration,
				wait: false}),
			content: this.content.effect('opacity', {
				duration: this.options.fxContentDuration,
				wait: false}).set(0)
		};
	},

	addClick: function(el) {
		return el.addEvent('click', function() {
			if (this.fromElement(el)) return false;
		}.bind(this));
	},

	fromElement: function(el, options) {
		this.initialize();
		this.element = $(el);
		if (this.element && this.element.rel) options = $merge(options || {}, Json.evaluate(this.element.rel));
		this.setOptions(this.presets, options);
		this.assignOptions();
		this.url = (this.element ? (this.options.url || this.element.href) : el) || '';

		if (this.options.handler) {
			var handler = this.options.handler;
			return this.setContent(handler, this.parsers[handler].call(this, true));
		}
		var res = false;
		for (var key in this.parsers) {
			if ((res = this.parsers[key].call(this))) return this.setContent(key, res);
		}
		return this;
	},

	assignOptions: function() {
		this.overlay.setProperty('class', this.options.classOverlay);
		this.window.setProperty('class', this.options.classWindow);
	},

	close: function(e) {
		if (e) new Event(e).stop();
		if (!this.isOpen) return this;
		this.fx.overlay.start(0).chain(this.toggleOverlay.bind(this));
		this.window.setStyle('display', 'none');
		this.trashImage();
		this.toggleListeners();
		this.isOpen = null;
		this.fireEvent('onClose', [this.content]).removeEvents();
		this.options = {};
		this.setOptions(this.presets).callChain();
		return this;
	},

	onError: function() {
		if (this.image) this.trashImage();
		this.setContent('Error during loading');
	},

	trashImage: function() {
		if (this.image) this.image = this.image.onload = this.image.onerror = this.image.onabort = null;
	},

	setContent: function(handler, content) {
		this.content.setProperty('class', 'sbox-content-' + handler);
		this.applyTimer = this.applyContent.delay(this.fx.overlay.options.duration, this, [this.handlers[handler].call(this, content)]);
		if (this.overlay.opacity) return this;
		this.toggleOverlay(true);
		this.fx.overlay.start(this.options.overlayOpacity);
		this.reposition();
		return this;
	},

	applyContent: function(content, size) {
		this.applyTimer = $clear(this.applyTimer);
		this.hideContent();
		if (!content) this.toggleLoading(true);
		else {
			if (this.isLoading) this.toggleLoading(false);
			this.fireEvent('onUpdate', [this.content], 20);
		}
		this.content.empty()[['string', 'array', false].contains($type(content)) ? 'setHTML' : 'adopt'](content || '');
		this.callChain();
		if (!this.isOpen) {
			this.toggleListeners(true);
			this.resize(size, true);
			this.isOpen = true;
			this.fireEvent('onOpen', [this.content]);
		} else this.resize(size);
	},

	resize: function(size, instantly) {
		var sizes = window.getSize();
		this.size = $merge(this.isLoading ? this.options.sizeLoading : this.options.size, size);
		var to = {
			width: this.size.x,
			height: this.size.y,
			marginLeft: - this.size.x / 2,
			marginTop: - this.size.y / 2
			//left: (sizes.scroll.x + (sizes.size.x - this.size.x - this.options.marginInner.x) / 2).toInt(),
			//top: (sizes.scroll.y + (sizes.size.y - this.size.y - this.options.marginInner.y) / 2).toInt()
		};
		$clear(this.showTimer || null);
		this.hideContent();
		if (!instantly) this.fx.window.start(to).chain(this.showContent.bind(this));
		else {
			this.window.setStyles(to).setStyle('display', '');
			this.showTimer = this.showContent.delay(50, this);
		}
		this.reposition(sizes);
	},

	toggleListeners: function(state) {
		var task = state ? 'addEvent' : 'removeEvent';
		this.btnClose[task]('click', this.listeners.close);
		if (this.options.closeWithOverlay) this.overlay[task]('click', this.listeners.close);
		document[task]('keydown', this.listeners.key);
		window[task]('resize', this.listeners.window);
		window[task]('scroll', this.listeners.window);
	},

	toggleLoading: function(state) {
		this.isLoading = state;
		this.window[state ? 'addClass' : 'removeClass']('sbox-loading');
		if (state) this.fireEvent('onLoading', [this.window]);
	},

	toggleOverlay: function(state) {
		this.overlay.setStyle('display', state ? '' : 'none');
		$(document.body)[state ? 'addClass' : 'removeClass']('body-overlayed');
	},

	showContent: function() {
		if (this.content.opacity) this.fireEvent('onShow', [this.window]);
		this.fx.content.start(1);
	},

	hideContent: function() {
		if (!this.content.opacity) this.fireEvent('onHide', [this.window]);
		this.fx.content.stop().set(0);
	},

	onkeypress: function(e) {
		switch (e.key) {
			case 'esc':
			case 'x':
				this.close();
				break;
		}
	},

	reposition: function(sizes) {
		sizes = sizes || window.getSize();
		this.overlay.setStyles({
			//'left': sizes.scroll.x, 'top': sizes.scroll.y,
			width: sizes.size.x,
			height: sizes.size.y
		});
		/*
		this.window.setStyles({
			left: (sizes.scroll.x + (sizes.size.x - this.window.offsetWidth) / 2).toInt(),
			top: (sizes.scroll.y + (sizes.size.y - this.window.offsetHeight) / 2).toInt()
		});
		*/
		this.fireEvent('onMove', [this.overlay, this.window, sizes]);
	},

	removeEvents: function(type){
		if (!this.$events) return this;
		if (!type) this.$events = null;
		else if (this.$events[type]) this.$events[type] = null;
		return this;
	},

	parsers: {
		'image': function(preset) {
			return (preset || this.url.test(/\.(jpg|jpeg|png|gif|bmp)$/i)) ? this.url : false;
		},
		'adopt': function(preset) {
			if ($(this.options.adopt)) return $(this.options.adopt);
			if (preset || ($(this.element) && !this.element.parentNode)) return $(this.element);
			var bits = this.url.match(/#([\w-]+)$/);
			return bits ? $(bits[1]) : false;
		},
		'url': function(preset) {
			return (preset || (this.url && !this.url.test(/^javascript:/i))) ? this.url: false;
		},
		'iframe': function(preset) {
			return (preset || this.url) ? this.url: false;
		},
		'string': function(preset) {
			return true;
		}
	},

	handlers: {
		'image': function(url) {
			this.image = new Image();
			var events = {
				loaded: function() {
					var win = {x: window.getWidth() - this.options.marginImage.x, y: window.getHeight() - this.options.marginImage.y};
					var size = {x: this.image.width, y: this.image.height};
					for (var i = 0; i < 2; i++)
						if (size.x > win.x) {
							size.y *= win.x / size.x;
							size.x = win.x;
						} else if (size.y > win.y) {
							size.x *= win.y / size.y;
							size.y = win.y;
						}
					size = {x: parseInt(size.x), y: parseInt(size.y)};
					if (window.webkit419) this.image = new Element('img', {'src': this.image.src});
					else $(this.image);
					this.image.setProperties({
						'width': size.x,
						'height': size.y});
					this.applyContent(this.image, size);
				}.bind(this),
				failed: this.onError.bind(this)
			};
			(function() {
				this.src = url;
			}).delay(10, this.image);
			this.image.onload = events.loaded;
			this.image.onerror = this.image.onabort = events.failed;
		},
		'adopt': function(el) {
			return el.clone();
		},
		'url': function(url) {
			this.ajax = new Ajax(url, this.options.ajaxOptions);
			this.ajax.addEvent('onSuccess', function(resp) {
				this.applyContent(resp);
				this.ajax = null;
			}.bind(this));
			this.ajax.addEvent('onFailure', this.onError.bind(this));
			this.ajax.request.delay(10, this.ajax);
		},
		'iframe': function(url) {
			return new Element('iframe', {
				'src': url,
				'frameBorder': 0,
				'width': this.options.size.x,
				'height': this.options.size.y
			});
		},
		'string': function(str) {
			return str;
		}
	},

	extend: $extend
};

SqueezeBox.extend(SqueezeBox, Events.prototype);
SqueezeBox.extend(SqueezeBox, Options.prototype);
SqueezeBox.extend(SqueezeBox, Chain.prototype);
