e la posizione nel filmato che andremo a inserire.
Il refresh è cosi efficace che se un utente permane su una pagina vede variare lo stato senza ricaricare la pagina.
package com.z2000.website.utilities
{
import flash.display.Loader;
import flash.display.MovieClip;
import flash.events.Event;
import flash.events.IOErrorEvent;
import flash.events.MouseEvent;
import flash.events.TimerEvent;
import flash.net.navigateToURL;
import flash.net.URLRequest;
import flash.net.URLRequestHeader;
import flash.net.URLRequestMethod;
import flash.utils.Timer;
/**
* ...
* @author Chicco Flash - chiccoflash@hotmail.com - httt://www.z2000.it
*/
public class Skype extends MovieClip
{
private var username_skype :String;
private var num_button :uint = 0;
private var button_x :Number = 0;
private var button_y :Number = 0;
private var refreshTime :Number = 0;
private var timerRefresh :Timer;
private var arrButton :Array = new Array("bigclassic","balloon");
private const PATH_SKYPE :String = "http://mystatus.skype.com/";
private var loader :Loader;
private var timeTest :Timer;
private var mc :MovieClip;
private var test :int = 0;
public function Skype(username:String,typebutton:uint=0,refreshpage:Number=0,buttonX:Number=0,buttonY:Number=0):void
{
username_skype = username;
num_button = typebutton;
refreshTime = refreshpage;
button_x = buttonX;
button_y = buttonY;
iniSkype();
if (refreshpage > 0)
{
timerRefresh = new Timer(refreshpage * 60000);
timerRefresh.addEventListener(TimerEvent.TIMER, refreshSkype);
timerRefresh.start();
timeTest = new Timer(1000);
timeTest.addEventListener(TimerEvent.TIMER, timeHandler);
timeTest.start();
}
}
private function timeHandler(e:TimerEvent):void
{
test ++;
}
private function iniSkype():void
{
var date:Date = new Date();
var path_skype:String = PATH_SKYPE + arrButton[num_button] + "/" + username_skype+".png?id="+date.getTime();
var request:URLRequest = new URLRequest(path_skype);
if (loader == null)
{
loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadComplete);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onLoadError);
loader.load(request);
}
}
private function refreshSkype(e:TimerEvent)
{
iniSkype();
}
private function onLoadError(e:IOErrorEvent):void
{
trace("Error Loading Skype Image, look Username Skype");
}
private function onLoadComplete(e:Event):void
{
loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, onLoadComplete);
loader.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, onLoadError);
var skype_image:Loader = Loader(e.target.loader);
if (mc != null)
{
removeChild(mc);
}
mc = new MovieClip;
addChild(mc);
mc.addChild(skype_image);
mc.buttonMode = true;
mc.x = button_x;
mc.y = button_y;
mc.addEventListener(MouseEvent.CLICK, callSkype);
loader = null;
skype_image = null;
}
private function callSkype(e:MouseEvent):void
{
var getCall:URLRequest = new URLRequest("skype:" + username_skype + "?sendfile");
try
{
navigateToURL(getCall, "_self");
}
catch (e:Error)
{
trace("Call failed: ", e.message);
}
}
}
}