package { import flash.display.*; import flash.events.*; import flash.net.*; import flash.text.*; import flash.xml.*; import caurina.transitions.*; public class Gallery extends MovieClip { var urlLoader:URLLoader = new URLLoader(); var xml:XML; var list:XMLList; var picsList:XMLList; var themeButtons:Array = new Array(); var themeClicked:MovieClip = new ThemeButton(); var i:int; var j:int; var smallPicSource:Array; var bigPicSource:Array; var smallPics:Array; var picTitles:Array; var bigLoader:Loader; var bigPic:String; var bigClicked:String; var cpi:uint; var ratio:Number public function Gallery():void { urlLoader.load(new URLRequest("pics.xml")); urlLoader.addEventListener(Event.COMPLETE, urlLoadComplete); stage.addEventListener(MouseEvent.MOUSE_MOVE, slideTheme); } protected function urlLoadComplete(e:Event):void{ xml = new XML(urlLoader.data); list = new XMLList(xml.children()); for(i = 0; i 0) img.removeChildAt(0); txtField.text = ""; if (themeClicked != null){ themeClicked.alpha = 0.5; themeClicked.addEventListener(MouseEvent.ROLL_OUT, themeClicked.rollOut); } themeClicked = MovieClip(e.currentTarget); themeClicked.alpha = 1; themeClicked.removeEventListener(MouseEvent.ROLL_OUT, themeClicked.rollOut); for (i=0; i0; i--) smallPicsMc.removeChildAt(i-1); } if (picsList.length()> 0) { smallPicSource = new Array(); bigPicSource = new Array(); smallPics = new Array(); picTitles = new Array(); for(i=0; i 0) img.removeChildAt(0); txtField.text = "Coming soon..."; } } } protected function smallPicLoad(e:Event):void { if (j 0) img.removeChildAt(0); txtField.text = ""; bigLoader = new Loader(); bigLoader.load(new URLRequest(bigPic)); bigLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progress); bigLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, bigLoadComplete); for (i=0; i 0) prevArrow.visible = true; if (cpi == 0) prevArrow.visible = false; if (cpi == bigPicSource.length-1) nextArrow.visible = false; if (cpi maxWidth || origHeight> maxHeight) { if (maxWidth - origWidth> maxHeight - origHeight) { newHeight = maxHeight; newWidth = Math.round(newHeight * ratio); }else { newWidth = maxWidth; newHeight = Math.round(newWidth / ratio); } }else { newHeight = origHeight; newWidth = origWidth; } bitmap.width = newWidth; bitmap.height = newHeight; bitmap.x = -bitmap.width/2; bitmap.y = -bitmap.height/2; img.addChild(bitmap); img.alpha = 0; Tweener.addTween(img, {alpha:1, time:1}); } protected function click(e:MouseEvent):void { if (bigClicked != e.currentTarget.data){ if(img.numChildren> 0) img.removeChildAt(0); txtField.text = ""; bigClicked = e.currentTarget.data; bigPic = e.currentTarget.data; loadPic(bigPic); } } protected function slideSmallPics(e:MouseEvent):void { if(mouseY>570 && mouseY 1000) { Tweener.addTween(smallPicsMc, {x: (500-smallPicsMc.width/2)-(mouseX-500)*ratio, time: 1}); } else { Tweener.addTween(smallPicsMc, {x: (500-smallPicsMc.width/2), time: 1}); } } } protected function slideTheme(e:MouseEvent):void { if(mouseY>570 && mouseY 1000) { Tweener.addTween(themes, {x: (500-themes.width/2)-(mouseX-500)*ratio, time: 1}); } else { Tweener.addTween(themes, {x: (500-themes.width/2), time: 1}); } } } } }