package classes{
import flash.display.Sprite;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.events.Event;
import flash.utils.Timer;
import flash.events.TimerEvent;
import com.greensock.*;
import com.greensock.easing.*;
import flash.display.Loader;
import flash.display.Bitmap;
import flash.system.System;
import flash.display.MovieClip;
public class ONews extends MovieClip {
var timer:Timer = new Timer(10000);
var imgArray:Array=new Array();
var currentImage:uint = 1;
var galleryData:XML;
var imageCount:uint = 0;
var lastGalleyUpdate = 0;
var currentUpdate = 0;
var isUpdating = false;
var t4:Timer = new Timer(300000);
var galleryLoader:URLLoader;
var container:Sprite=new Sprite();
public function ONews() {
stop();
galleryLoader = new URLLoader();
galleryLoader.addEventListener(Event.COMPLETE, onGalleryDataLoaded, false, 0, true);
t4.addEventListener(TimerEvent.TIMER, resetGallery,false,0,true);
galleryLoader.load(new URLRequest("./xml/res.xml"));
t4.start();
timer.addEventListener(TimerEvent.TIMER, onTimer);
timer.start();
container.x = 560;
container.y = 40;
container.mask = msk;
addChild(container);
}
private function resetGallery(evt:TimerEvent) {
galleryLoader.load(new URLRequest("./xml/res.xml"));
}
private function onGalleryDataLoaded(evt:Event):void {
var _tmp:XML = new XML(evt.target.data);
if (lastGalleyUpdate< Number(_tmp.@lastupdate)) {
galleryData = _tmp;
imageCount = galleryData.news.length();
lastGalleyUpdate = Number(galleryData. @ lastupdate);
if (currentImage!=imageCount) {
updateGallery();
}
}
_tmp = null;
System.gc();
}
private function updateGallery() {
//currentImage=0;
isUpdating = true;
//gloading_mc.visible = true;
for (var j=0; j<container.numChildren; j++) {
container.removeChild(container.getChildAt(j));
}
removeChild(container);
container=new Sprite();
container.x = 560;
container.y = 40;
container.mask = msk;
imgArray = null;
System.gc();
imgArray=new Array();
for (var i:uint=0; i<imageCount; i++) {
var thumb:Thumb=new Thumb();
thumb.index.visible = false;
var loader:Loader=new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onLoadImage);
loader.load(new URLRequest("."+galleryData.news[i].thumbnail));
thumb.addChild(loader);
thumb.x = thumb.width / 2;
if (i==0) {
thumb.y = thumb.height/2 + (thumb.height)*i;
}
else {
thumb.y = thumb.height/2 + (thumb.height+10)*i;
}
container.addChild(thumb);
/*thumb.addChild(thumb.index);
thumb.index.visible = true;*/
imgArray.push(thumb);
if (i==imageCount-1) {
addChild(container);
//gloading_mc.visible = false;
isUpdating = false;
}
}
newsContent_mc.newsText_txt.text = galleryData.news[0].text;
newsContent_mc.newsTitle_txt.text = galleryData.news[0].title;
currentImage = 1;
activateImage(0);
}
private function onLoadImage(evt:Event) {
var bmp:Bitmap = Bitmap(evt.target.content);
bmp.width = 180;
bmp.height = 130;
bmp.x = 22;
bmp.y = 8;
evt.target.removeEventListener(Event.COMPLETE, onLoadImage);
}
private function onTimer(evt:TimerEvent) {
if (currentImage==imageCount) {
TweenMax.to(container,0.8,{y:40,ease:Expo.easeInOut});
newsContent_mc.newsText_txt.text = galleryData.news[0].text;
newsContent_mc.newsTitle_txt.text = galleryData.news[0].title;
currentImage = 0;
activateImage(currentImage);
}
else if (currentImage!=imageCount) {
activateImage(currentImage);
newsContent_mc.newsText_txt.text = galleryData.news[currentImage].text;
newsContent_mc.newsTitle_txt.text = galleryData.news[currentImage].title;
}//TweenMax.from(newsContent_mc.newsText_txt,0.8,{alpha:0});
//TweenMax.from(newsContent_mc.newsTitle_txt,0.8,{alpha:0});
currentImage++;
if (currentImage>=3 && currentImage<imageCount) {
//var cy=container.y;
var ny = container.y - 155;
TweenMax.to(container,0.9,{y:ny,ease:Expo.easeInOut});
}
}
private function activateImage(j:uint) {
for (var i:uint=0; i<imgArray.length; i++) {
imgArray[i].index.visible = false;
}
imgArray[j].index.visible = true;
}
}
}