/**
 * Carbon.JS - A simple JavaScript framework
 *
 * Carbon.JS Plugin - Animated viewer of images
 *
 * @author		Dmitry Polyuhov <admin@carbonjs.com>
 * @license		http://carbonjs.com/mit-license.txt
 * @version		1.1.0 (build 20100321)
 */
CarbonJS.extend({picViewer:function(){CarbonJS.checkModules("animation","dom","utilities");Q("head").append({tag:"link",attr:{rel:"stylesheet",type:"text/css",href:CarbonJS.url+"plugins/picViewer/style.css"}});var f=[],d=[],e=[],b=this.length;var a=function(g){var h=e[g];var i=setInterval(function(){if(f[g].complete){clearInterval(i);var l=f[g].width;var j=f[g].height;Q("#loader").css({display:"none"});var n=Q("#picViewer");var k=Q("#pv_content");var m=(parseInt(k.css("width"))==l&&parseInt(k.css("height"))==j);n.change({left:[n.x(),(screen.width-l)/2],top:[n.y(),(screen.height-j)/2-100+self.pageYOffset||(document.documentElement&&document.documentElement.scrollTop)||(document.body&&document.body.scrollTop)]},CarbonJS.Transitions.Sine.EaseOut,700);k.change({width:[parseInt(k.css("width")),l],height:[parseInt(k.css("height")),j],onChanged:function(){Q("#pv_content").css({width:l,height:j}).prepend({tag:"img",id:"pv_pic",attr:{src:f[g].src}});Q("#pv_pic").change({opacity:[0,100],onChanged:function(){var o=Q("#pv_title");o.css({display:"block"}).change({height:[0,30],onStart:function(){Q("#pv_prev","#pv_next").transparence(100);if((g+1)==b){Q("#pv_next").transparence(40)}if((g+1)==1){Q("#pv_prev").transparence(40)}},onChanged:function(){Q("#pv_prev").removeEvent("click").addEvent("click",function(){if(Q("#pv_prev").transparence()!=40){c(g-1);Q("#pv_prev","#pv_next").transparence(40)}});Q("#pv_next").removeEvent("click").addEvent("click",function(){if(Q("#pv_next").transparence()!=40){c(g+1);Q("#pv_prev","#pv_next").transparence(40)}});n.attr({pvIndex:g})}},CarbonJS.Transitions.Sine.EaseOut,500);n.attr({sh:true});Q("#pv_text").append({tag:"span",children:[h]},(b!=1?(" ("+(g+1)+" / "+b+")"):"")+" ");Q("#pv_close").addEvent("click",function(){Q().shadow({to:"hide",time:500});n.css({display:"none"})})}},CarbonJS.Transitions.Line.EaseIn,500)}},CarbonJS.Transitions.Sine.EaseOut,m?1:700)}},10);if(f[g].src==""){f[g].src=d[g]}};var c=function(h){f[h].src=d[h];var g=Q("#pv_content");var i=Q("#pv_title");i.stopChanging().change({height:[30,0],onChanged:function(){Q("#pv_text").html("");Q("#pv_pic").change({opacity:[100,0],onChanged:function(){Q("#pv_pic").remove();Q("#loader").css({display:"block",position:"absolute",left:(parseInt(g.css("width"))-32)/2+"px",top:(parseInt(g.css("height"))-32)/2+"px"});a(h)}},CarbonJS.Transitions.Line.EaseIn,500);i.css({display:"none"});Q("#pv_prev","#pv_next").transparence(40)}},CarbonJS.Transitions.Sine.EaseOut,500)};this.forEach(function(g){f[f.length]=new Image();d[d.length]=this.href;e[e.length]=this.title;this.pvIndex=g;var h=this;Q(this).addEvent("click",function(i){Q().shadow({time:500});if(!Q("#picViewer")[0]){Q("body").append({tag:"div",id:"picViewer",css:{position:"absolute",top:"50px",left:"100px"},children:[{tag:"table",attr:{border:0,cellPadding:0,cellSpacing:0},children:[{tag:"tbody",children:[{tag:"tr",children:[{tag:"td",id:"lt",css:{background:"url("+CarbonJS.url+"plugins/picViewer/pics/pv-tl.png) no-repeat"}},{tag:"td",id:"t",css:{background:"url("+CarbonJS.url+"plugins/picViewer/pics/pv-t.png) repeat-x"}},{tag:"td",id:"rt",css:{background:"url("+CarbonJS.url+"plugins/picViewer/pics/pv-tr.png) no-repeat"}}]},{tag:"tr",children:[{tag:"td",id:"l",css:{background:"url("+CarbonJS.url+"plugins/picViewer/pics/pv-l.png) repeat-y"}},{tag:"td",id:"pv_content",children:[{tag:"div",id:"pv_title",children:[{tag:"table",attr:{border:0,cellPadding:0,cellSpacing:0,width:"100%"},children:[{tag:"tbody",children:[{tag:"tr",children:[{tag:"td",id:"pv_triggers",attr:{width:"55"},children:[{tag:"img",id:"pv_prev",attr:{src:CarbonJS.url+"plugins/picViewer/pics/prev.png",width:"24",height:"24",alt:"Предыдущая"}},{tag:"img",id:"pv_next",attr:{src:CarbonJS.url+"plugins/picViewer/pics/next.png",width:"24",height:"24",alt:"Следующая"}}]},{tag:"td",id:"pv_text"},{tag:"td",id:"pv_close",attr:{width:"30"},children:[{tag:"img",id:"pv_close",attr:{src:CarbonJS.url+"plugins/picViewer/pics/close.png",width:"24",height:"24",alt:"Закрыть"}}]}]}]}]}]}]},{tag:"td",id:"r",css:{background:"url("+CarbonJS.url+"plugins/picViewer/pics/pv-r.png) repeat-y"}}]},{tag:"tr",children:[{tag:"td",id:"lb",css:{background:"url("+CarbonJS.url+"plugins/picViewer/pics/pv-bl.png) no-repeat"}},{tag:"td",id:"b",css:{background:"url("+CarbonJS.url+"plugins/picViewer/pics/pv-b.png) repeat-x"}},{tag:"td",id:"rb",css:{background:"url("+CarbonJS.url+"plugins/picViewer/pics/pv-br.png) no-repeat"}}]}]}]}]})}var k=Q("#picViewer");var j=Q("#pv_content");k.css({display:"block"});if(!k.attr("sh")){k.x((screen.width-parseInt(j.css("width")))/2).y((screen.height-parseInt(j.css("height")))/2-100+self.pageYOffset||(document.documentElement&&document.documentElement.scrollTop)||(document.body&&document.body.scrollTop))}if(!Q("#loader")[0]&&!k.attr("sh")){Q("#pv_content").prepend({tag:"img",id:"loader",attr:{src:CarbonJS.url+"plugins/picViewer/pics/loader.gif"}})}if(!k.attr("sh")){a(g)}else{if(k.attr("pvIndex")!=g){c(g)}}if(i.preventDefault){i.preventDefault()}return false})});return this}});
