Section 1
//AuxFunctions (caurina.transitions.AuxFunctions)
package caurina.transitions {
public class AuxFunctions {
public static function concatObjects(... _args):Object{
var _local2:Object;
var _local3:Object;
var _local4:int;
var _local5:String;
_local2 = {};
_local4 = 0;
while (_local4 < _args.length) {
_local3 = _args[_local4];
for (_local5 in _local3) {
if (_local3[_local5] == null){
delete _local2[_local5];
} else {
_local2[_local5] = _local3[_local5];
};
};
_local4++;
};
return (_local2);
}
public static function numberToG(_arg1:Number):Number{
return (((_arg1 & 0xFF00) >> 8));
}
public static function numberToR(_arg1:Number):Number{
return (((_arg1 & 0xFF0000) >> 16));
}
public static function isInArray(_arg1:String, _arg2:Array):Boolean{
var _local3:uint;
var _local4:uint;
_local3 = _arg2.length;
_local4 = 0;
while (_local4 < _local3) {
if (_arg2[_local4] == _arg1){
return (true);
};
_local4++;
};
return (false);
}
public static function getObjectLength(_arg1:Object):uint{
var _local2:uint;
var _local3:String;
_local2 = 0;
for (_local3 in _arg1) {
_local2++;
};
return (_local2);
}
public static function numberToB(_arg1:Number):Number{
return ((_arg1 & 0xFF));
}
}
}//package caurina.transitions
Section 2
//Equations (caurina.transitions.Equations)
package caurina.transitions {
public class Equations {
public function Equations(){
trace("Equations is a static class and should not be instantiated.");
}
public static function easeOutBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / _arg4);
if (_arg1 < (1 / 2.75)){
return (((_arg3 * ((7.5625 * _arg1) * _arg1)) + _arg2));
};
if (_arg1 < (2 / 2.75)){
_arg1 = (_arg1 - (1.5 / 2.75));
return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.75)) + _arg2));
};
if (_arg1 < (2.5 / 2.75)){
_arg1 = (_arg1 - (2.25 / 2.75));
return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.9375)) + _arg2));
};
_arg1 = (_arg1 - (2.625 / 2.75));
return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.984375)) + _arg2));
}
public static function easeInOutElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=NaN, _arg6:Number=NaN):Number{
var _local7:Number;
if (_arg1 == 0){
return (_arg2);
};
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 == 2){
return ((_arg2 + _arg3));
};
if (!_arg6){
_arg6 = (_arg4 * (0.3 * 1.5));
};
if (((!(_arg5)) || ((_arg5 < Math.abs(_arg3))))){
_arg5 = _arg3;
_local7 = (_arg6 / 4);
} else {
_local7 = ((_arg6 / (2 * Math.PI)) * Math.asin((_arg3 / _arg5)));
};
if (_arg1 < 1){
--_arg1;
return (((-0.5 * ((_arg5 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _arg6)))) + _arg2));
};
--_arg1;
return ((((((_arg5 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _arg6))) * 0.5) + _arg3) + _arg2));
}
public static function easeInOutQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return (((((_arg3 / 2) * _arg1) * _arg1) + _arg2));
};
--_arg1;
return ((((-(_arg3) / 2) * ((_arg1 * (_arg1 - 2)) - 1)) + _arg2));
}
public static function easeInOutBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
if (_arg1 < (_arg4 / 2)){
return (((easeInBounce((_arg1 * 2), 0, _arg3, _arg4) * 0.5) + _arg2));
};
return ((((easeOutBounce(((_arg1 * 2) - _arg4), 0, _arg3, _arg4) * 0.5) + (_arg3 * 0.5)) + _arg2));
}
public static function easeInOutBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=NaN):Number{
if (!_arg5){
_arg5 = 1.70158;
};
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
_arg5 = (_arg5 * 1.525);
return ((((_arg3 / 2) * ((_arg1 * _arg1) * (((_arg5 + 1) * _arg1) - _arg5))) + _arg2));
};
_arg1 = (_arg1 - 2);
_arg5 = (_arg5 * 1.525);
return ((((_arg3 / 2) * (((_arg1 * _arg1) * (((_arg5 + 1) * _arg1) + _arg5)) + 2)) + _arg2));
}
public static function easeOutInCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutCubic((_arg1 * 2), _arg2, (_arg3 / 2), _arg4));
};
return (easeInCubic(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4));
}
public static function easeNone(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
}
public static function easeOutBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=NaN):Number{
if (!_arg5){
_arg5 = 1.70158;
};
_arg1 = ((_arg1 / _arg4) - 1);
return (((_arg3 * (((_arg1 * _arg1) * (((_arg5 + 1) * _arg1) + _arg5)) + 1)) + _arg2));
}
public static function easeInOutSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((-(_arg3) / 2) * (Math.cos(((Math.PI * _arg1) / _arg4)) - 1)) + _arg2));
}
public static function easeInBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=NaN):Number{
if (!_arg5){
_arg5 = 1.70158;
};
_arg1 = (_arg1 / _arg4);
return (((((_arg3 * _arg1) * _arg1) * (((_arg5 + 1) * _arg1) - _arg5)) + _arg2));
}
public static function easeInQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / _arg4);
return ((((((_arg3 * _arg1) * _arg1) * _arg1) * _arg1) + _arg2));
}
public static function easeOutInQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutQuint((_arg1 * 2), _arg2, (_arg3 / 2), _arg4));
};
return (easeInQuint(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4));
}
public static function easeOutInBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutBounce((_arg1 * 2), _arg2, (_arg3 / 2), _arg4));
};
return (easeInBounce(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4));
}
public static function init():void{
Tweener.registerTransition("easenone", easeNone);
Tweener.registerTransition("linear", easeNone);
Tweener.registerTransition("easeinquad", easeInQuad);
Tweener.registerTransition("easeoutquad", easeOutQuad);
Tweener.registerTransition("easeinoutquad", easeInOutQuad);
Tweener.registerTransition("easeoutinquad", easeOutInQuad);
Tweener.registerTransition("easeincubic", easeInCubic);
Tweener.registerTransition("easeoutcubic", easeOutCubic);
Tweener.registerTransition("easeinoutcubic", easeInOutCubic);
Tweener.registerTransition("easeoutincubic", easeOutInCubic);
Tweener.registerTransition("easeinquart", easeInQuart);
Tweener.registerTransition("easeoutquart", easeOutQuart);
Tweener.registerTransition("easeinoutquart", easeInOutQuart);
Tweener.registerTransition("easeoutinquart", easeOutInQuart);
Tweener.registerTransition("easeinquint", easeInQuint);
Tweener.registerTransition("easeoutquint", easeOutQuint);
Tweener.registerTransition("easeinoutquint", easeInOutQuint);
Tweener.registerTransition("easeoutinquint", easeOutInQuint);
Tweener.registerTransition("easeinsine", easeInSine);
Tweener.registerTransition("easeoutsine", easeOutSine);
Tweener.registerTransition("easeinoutsine", easeInOutSine);
Tweener.registerTransition("easeoutinsine", easeOutInSine);
Tweener.registerTransition("easeincirc", easeInCirc);
Tweener.registerTransition("easeoutcirc", easeOutCirc);
Tweener.registerTransition("easeinoutcirc", easeInOutCirc);
Tweener.registerTransition("easeoutincirc", easeOutInCirc);
Tweener.registerTransition("easeinexpo", easeInExpo);
Tweener.registerTransition("easeoutexpo", easeOutExpo);
Tweener.registerTransition("easeinoutexpo", easeInOutExpo);
Tweener.registerTransition("easeoutinexpo", easeOutInExpo);
Tweener.registerTransition("easeinelastic", easeInElastic);
Tweener.registerTransition("easeoutelastic", easeOutElastic);
Tweener.registerTransition("easeinoutelastic", easeInOutElastic);
Tweener.registerTransition("easeoutinelastic", easeOutInElastic);
Tweener.registerTransition("easeinback", easeInBack);
Tweener.registerTransition("easeoutback", easeOutBack);
Tweener.registerTransition("easeinoutback", easeInOutBack);
Tweener.registerTransition("easeoutinback", easeOutInBack);
Tweener.registerTransition("easeinbounce", easeInBounce);
Tweener.registerTransition("easeoutbounce", easeOutBounce);
Tweener.registerTransition("easeinoutbounce", easeInOutBounce);
Tweener.registerTransition("easeoutinbounce", easeOutInBounce);
}
public static function easeOutExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return (((_arg1)==_arg4) ? (_arg2 + _arg3) : (((_arg3 * 1.001) * (-(Math.pow(2, ((-10 * _arg1) / _arg4))) + 1)) + _arg2));
}
public static function easeOutInBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=NaN):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutBack((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5));
};
return (easeInBack(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5));
}
public static function easeInExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return (((_arg1)==0) ? _arg2 : (((_arg3 * Math.pow(2, (10 * ((_arg1 / _arg4) - 1)))) + _arg2) - (_arg3 * 0.001)));
}
public static function easeInCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / _arg4);
return (((((_arg3 * _arg1) * _arg1) * _arg1) + _arg2));
}
public static function easeInQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / _arg4);
return (((((((_arg3 * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2));
}
public static function easeInOutCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return ((((-(_arg3) / 2) * (Math.sqrt((1 - (_arg1 * _arg1))) - 1)) + _arg2));
};
_arg1 = (_arg1 - 2);
return ((((_arg3 / 2) * (Math.sqrt((1 - (_arg1 * _arg1))) + 1)) + _arg2));
}
public static function easeInQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / _arg4);
return ((((_arg3 * _arg1) * _arg1) + _arg2));
}
public static function easeInBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return (((_arg3 - easeOutBounce((_arg4 - _arg1), 0, _arg3, _arg4)) + _arg2));
}
public static function easeOutInExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutExpo((_arg1 * 2), _arg2, (_arg3 / 2), _arg4));
};
return (easeInExpo(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4));
}
public static function easeOutQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = ((_arg1 / _arg4) - 1);
return (((-(_arg3) * ((((_arg1 * _arg1) * _arg1) * _arg1) - 1)) + _arg2));
}
public static function easeInSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((-(_arg3) * Math.cos(((_arg1 / _arg4) * (Math.PI / 2)))) + _arg3) + _arg2));
}
public static function easeInOutQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return (((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2));
};
_arg1 = (_arg1 - 2);
return ((((-(_arg3) / 2) * ((((_arg1 * _arg1) * _arg1) * _arg1) - 2)) + _arg2));
}
public static function easeOutQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / _arg4);
return ((((-(_arg3) * _arg1) * (_arg1 - 2)) + _arg2));
}
public static function easeOutInElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=NaN, _arg6:Number=NaN):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutElastic((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5, _arg6));
};
return (easeInElastic(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5, _arg6));
}
public static function easeInElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=NaN, _arg6:Number=NaN):Number{
var _local7:Number;
if (_arg1 == 0){
return (_arg2);
};
_arg1 = (_arg1 / _arg4);
if (_arg1 == 1){
return ((_arg2 + _arg3));
};
if (!_arg6){
_arg6 = (_arg4 * 0.3);
};
if (((!(_arg5)) || ((_arg5 < Math.abs(_arg3))))){
_arg5 = _arg3;
_local7 = (_arg6 / 4);
} else {
_local7 = ((_arg6 / (2 * Math.PI)) * Math.asin((_arg3 / _arg5)));
};
--_arg1;
return ((-(((_arg5 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _arg6)))) + _arg2));
}
public static function easeOutCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = ((_arg1 / _arg4) - 1);
return (((_arg3 * (((_arg1 * _arg1) * _arg1) + 1)) + _arg2));
}
public static function easeOutQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = ((_arg1 / _arg4) - 1);
return (((_arg3 * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 1)) + _arg2));
}
public static function easeOutInQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutQuad((_arg1 * 2), _arg2, (_arg3 / 2), _arg4));
};
return (easeInQuad(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4));
}
public static function easeOutSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return (((_arg3 * Math.sin(((_arg1 / _arg4) * (Math.PI / 2)))) + _arg2));
}
public static function easeInOutCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return ((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) + _arg2));
};
_arg1 = (_arg1 - 2);
return ((((_arg3 / 2) * (((_arg1 * _arg1) * _arg1) + 2)) + _arg2));
}
public static function easeInOutQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return ((((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2));
};
_arg1 = (_arg1 - 2);
return ((((_arg3 / 2) * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 2)) + _arg2));
}
public static function easeInCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / _arg4);
return (((-(_arg3) * (Math.sqrt((1 - (_arg1 * _arg1))) - 1)) + _arg2));
}
public static function easeOutInSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutSine((_arg1 * 2), _arg2, (_arg3 / 2), _arg4));
};
return (easeInSine(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4));
}
public static function easeInOutExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
if (_arg1 == 0){
return (_arg2);
};
if (_arg1 == _arg4){
return ((_arg2 + _arg3));
};
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return (((((_arg3 / 2) * Math.pow(2, (10 * (_arg1 - 1)))) + _arg2) - (_arg3 * 0.0005)));
};
--_arg1;
return (((((_arg3 / 2) * 1.0005) * (-(Math.pow(2, (-10 * _arg1))) + 2)) + _arg2));
}
public static function easeOutElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=NaN, _arg6:Number=NaN):Number{
var _local7:Number;
if (_arg1 == 0){
return (_arg2);
};
_arg1 = (_arg1 / _arg4);
if (_arg1 == 1){
return ((_arg2 + _arg3));
};
if (!_arg6){
_arg6 = (_arg4 * 0.3);
};
if (((!(_arg5)) || ((_arg5 < Math.abs(_arg3))))){
_arg5 = _arg3;
_local7 = (_arg6 / 4);
} else {
_local7 = ((_arg6 / (2 * Math.PI)) * Math.asin((_arg3 / _arg5)));
};
return (((((_arg5 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _arg6))) + _arg3) + _arg2));
}
public static function easeOutCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = ((_arg1 / _arg4) - 1);
return (((_arg3 * Math.sqrt((1 - (_arg1 * _arg1)))) + _arg2));
}
public static function easeOutInQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutQuart((_arg1 * 2), _arg2, (_arg3 / 2), _arg4));
};
return (easeInQuart(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4));
}
public static function easeOutInCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
if (_arg1 < (_arg4 / 2)){
return (easeOutCirc((_arg1 * 2), _arg2, (_arg3 / 2), _arg4));
};
return (easeInCirc(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4));
}
}
}//package caurina.transitions
Section 3
//PropertyInfoObj (caurina.transitions.PropertyInfoObj)
package caurina.transitions {
public class PropertyInfoObj {
public var modifierParameters:Array;
public var valueComplete:Number;
public var modifierFunction:Function;
public var hasModifier:Boolean;
public var valueStart:Number;
public function PropertyInfoObj(_arg1:Number, _arg2:Number, _arg3:Function, _arg4:Array){
valueStart = _arg1;
valueComplete = _arg2;
hasModifier = Boolean(_arg3);
modifierFunction = _arg3;
modifierParameters = _arg4;
}
public function toString():String{
var _local1:String;
_local1 = "\n[PropertyInfoObj ";
_local1 = (_local1 + ("valueStart:" + String(valueStart)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("valueComplete:" + String(valueComplete)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("modifierFunction:" + String(modifierFunction)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("modifierParameters:" + String(modifierParameters)));
_local1 = (_local1 + "]\n");
return (_local1);
}
public function clone():PropertyInfoObj{
var _local1:PropertyInfoObj;
_local1 = new PropertyInfoObj(valueStart, valueComplete, modifierFunction, modifierParameters);
return (_local1);
}
}
}//package caurina.transitions
Section 4
//SpecialPropertiesDefault (caurina.transitions.SpecialPropertiesDefault)
package caurina.transitions {
import flash.filters.*;
import flash.media.*;
import flash.geom.*;
public class SpecialPropertiesDefault {
public function SpecialPropertiesDefault(){
trace("SpecialProperties is a static class and should not be instantiated.");
}
public static function _sound_volume_get(_arg1:Object):Number{
return (_arg1.soundTransform.volume);
}
public static function _color_splitter(_arg1, _arg2:Array):Array{
var _local3:Array;
_local3 = new Array();
if (_arg1 == null){
_local3.push({name:"_color_ra", value:1});
_local3.push({name:"_color_rb", value:0});
_local3.push({name:"_color_ga", value:1});
_local3.push({name:"_color_gb", value:0});
_local3.push({name:"_color_ba", value:1});
_local3.push({name:"_color_bb", value:0});
} else {
_local3.push({name:"_color_ra", value:0});
_local3.push({name:"_color_rb", value:AuxFunctions.numberToR(_arg1)});
_local3.push({name:"_color_ga", value:0});
_local3.push({name:"_color_gb", value:AuxFunctions.numberToG(_arg1)});
_local3.push({name:"_color_ba", value:0});
_local3.push({name:"_color_bb", value:AuxFunctions.numberToB(_arg1)});
};
return (_local3);
}
public static function frame_get(_arg1:Object):Number{
return (_arg1.currentFrame);
}
public static function _sound_pan_get(_arg1:Object):Number{
return (_arg1.soundTransform.pan);
}
public static function _color_property_get(_arg1:Object, _arg2:Array):Number{
return (_arg1.transform.colorTransform[_arg2[0]]);
}
public static function _sound_volume_set(_arg1:Object, _arg2:Number):void{
var _local3:SoundTransform;
_local3 = _arg1.soundTransform;
_local3.volume = _arg2;
_arg1.soundTransform = _local3;
}
public static function _autoAlpha_get(_arg1:Object):Number{
return (_arg1.alpha);
}
public static function _filter_splitter(_arg1:BitmapFilter, _arg2:Array):Array{
var _local3:Array;
_local3 = new Array();
if ((_arg1 is BlurFilter)){
_local3.push({name:"_blur_blurX", value:BlurFilter(_arg1).blurX});
_local3.push({name:"_blur_blurY", value:BlurFilter(_arg1).blurY});
_local3.push({name:"_blur_quality", value:BlurFilter(_arg1).quality});
} else {
trace("??");
};
return (_local3);
}
public static function init():void{
Tweener.registerSpecialProperty("_frame", frame_get, frame_set);
Tweener.registerSpecialProperty("_sound_volume", _sound_volume_get, _sound_volume_set);
Tweener.registerSpecialProperty("_sound_pan", _sound_pan_get, _sound_pan_set);
Tweener.registerSpecialProperty("_color_ra", _color_property_get, _color_property_set, ["redMultiplier"]);
Tweener.registerSpecialProperty("_color_rb", _color_property_get, _color_property_set, ["redOffset"]);
Tweener.registerSpecialProperty("_color_ga", _color_property_get, _color_property_set, ["greenMultiplier"]);
Tweener.registerSpecialProperty("_color_gb", _color_property_get, _color_property_set, ["greenOffset"]);
Tweener.registerSpecialProperty("_color_ba", _color_property_get, _color_property_set, ["blueMultiplier"]);
Tweener.registerSpecialProperty("_color_bb", _color_property_get, _color_property_set, ["blueOffset"]);
Tweener.registerSpecialProperty("_color_aa", _color_property_get, _color_property_set, ["alphaMultiplier"]);
Tweener.registerSpecialProperty("_color_ab", _color_property_get, _color_property_set, ["alphaOffset"]);
Tweener.registerSpecialProperty("_autoAlpha", _autoAlpha_get, _autoAlpha_set);
Tweener.registerSpecialPropertySplitter("_color", _color_splitter);
Tweener.registerSpecialPropertySplitter("_colorTransform", _colorTransform_splitter);
Tweener.registerSpecialPropertySplitter("_scale", _scale_splitter);
Tweener.registerSpecialProperty("_blur_blurX", _filter_property_get, _filter_property_set, [BlurFilter, "blurX"]);
Tweener.registerSpecialProperty("_blur_blurY", _filter_property_get, _filter_property_set, [BlurFilter, "blurY"]);
Tweener.registerSpecialProperty("_blur_quality", _filter_property_get, _filter_property_set, [BlurFilter, "quality"]);
Tweener.registerSpecialPropertySplitter("_filter", _filter_splitter);
Tweener.registerSpecialPropertyModifier("_bezier", _bezier_modifier, _bezier_get);
}
public static function _sound_pan_set(_arg1:Object, _arg2:Number):void{
var _local3:SoundTransform;
_local3 = _arg1.soundTransform;
_local3.pan = _arg2;
_arg1.soundTransform = _local3;
}
public static function _color_property_set(_arg1:Object, _arg2:Number, _arg3:Array):void{
var _local4:ColorTransform;
_local4 = _arg1.transform.colorTransform;
_local4[_arg3[0]] = _arg2;
_arg1.transform.colorTransform = _local4;
}
public static function _filter_property_get(_arg1:Object, _arg2:Array):Number{
var _local3:Array;
var _local4:uint;
var _local5:Object;
var _local6:String;
var _local7:Object;
_local3 = _arg1.filters;
_local5 = _arg2[0];
_local6 = _arg2[1];
_local4 = 0;
while (_local4 < _local3.length) {
if ((((_local3[_local4] is BlurFilter)) && ((_local5 == BlurFilter)))){
return (_local3[_local4][_local6]);
};
_local4++;
};
switch (_local5){
case BlurFilter:
_local7 = {blurX:0, blurY:0, quality:NaN};
break;
};
return (_local7[_local6]);
}
public static function _bezier_get(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Array):Number{
var _local5:uint;
var _local6:Number;
var _local7:Number;
var _local8:Number;
if (_arg4.length == 1){
return ((_arg1 + (_arg3 * (((2 * (1 - _arg3)) * (_arg4[0] - _arg1)) + (_arg3 * (_arg2 - _arg1))))));
};
_local5 = Math.floor((_arg3 * _arg4.length));
_local6 = ((_arg3 - (_local5 * (1 / _arg4.length))) * _arg4.length);
if (_local5 == 0){
_local7 = _arg1;
_local8 = ((_arg4[0] + _arg4[1]) / 2);
} else {
if (_local5 == (_arg4.length - 1)){
_local7 = ((_arg4[(_local5 - 1)] + _arg4[_local5]) / 2);
_local8 = _arg2;
} else {
_local7 = ((_arg4[(_local5 - 1)] + _arg4[_local5]) / 2);
_local8 = ((_arg4[_local5] + _arg4[(_local5 + 1)]) / 2);
};
};
return ((_local7 + (_local6 * (((2 * (1 - _local6)) * (_arg4[_local5] - _local7)) + (_local6 * (_local8 - _local7))))));
}
public static function frame_set(_arg1:Object, _arg2:Number):void{
_arg1.gotoAndStop(Math.round(_arg2));
}
public static function _filter_property_set(_arg1:Object, _arg2:Number, _arg3:Array):void{
var _local4:Array;
var _local5:uint;
var _local6:Object;
var _local7:String;
var _local8:BitmapFilter;
_local4 = _arg1.filters;
_local6 = _arg3[0];
_local7 = _arg3[1];
_local5 = 0;
while (_local5 < _local4.length) {
if ((((_local4[_local5] is BlurFilter)) && ((_local6 == BlurFilter)))){
_local4[_local5][_local7] = _arg2;
_arg1.filters = _local4;
return;
};
_local5++;
};
if (_local4 == null){
_local4 = new Array();
};
switch (_local6){
case BlurFilter:
_local8 = new BlurFilter(0, 0);
break;
};
_local8[_local7] = _arg2;
_local4.push(_local8);
_arg1.filters = _local4;
}
public static function _autoAlpha_set(_arg1:Object, _arg2:Number):void{
_arg1.alpha = _arg2;
_arg1.visible = (_arg2 > 0);
}
public static function _scale_splitter(_arg1:Number, _arg2:Array):Array{
var _local3:Array;
_local3 = new Array();
_local3.push({name:"scaleX", value:_arg1});
_local3.push({name:"scaleY", value:_arg1});
return (_local3);
}
public static function _colorTransform_splitter(_arg1, _arg2:Array):Array{
var _local3:Array;
_local3 = new Array();
if (_arg1 == null){
_local3.push({name:"_color_ra", value:1});
_local3.push({name:"_color_rb", value:0});
_local3.push({name:"_color_ga", value:1});
_local3.push({name:"_color_gb", value:0});
_local3.push({name:"_color_ba", value:1});
_local3.push({name:"_color_bb", value:0});
} else {
if (_arg1.ra != undefined){
_local3.push({name:"_color_ra", value:_arg1.ra});
};
if (_arg1.rb != undefined){
_local3.push({name:"_color_rb", value:_arg1.rb});
};
if (_arg1.ga != undefined){
_local3.push({name:"_color_ba", value:_arg1.ba});
};
if (_arg1.gb != undefined){
_local3.push({name:"_color_bb", value:_arg1.bb});
};
if (_arg1.ba != undefined){
_local3.push({name:"_color_ga", value:_arg1.ga});
};
if (_arg1.bb != undefined){
_local3.push({name:"_color_gb", value:_arg1.gb});
};
if (_arg1.aa != undefined){
_local3.push({name:"_color_aa", value:_arg1.aa});
};
if (_arg1.ab != undefined){
_local3.push({name:"_color_ab", value:_arg1.ab});
};
};
return (_local3);
}
public static function _bezier_modifier(_arg1):Array{
var _local2:Array;
var _local3:Array;
var _local4:uint;
var _local5:String;
var _local6:Object;
_local2 = [];
if ((_arg1 is Array)){
_local3 = _arg1;
} else {
_local3 = [_arg1];
};
_local6 = {};
_local4 = 0;
while (_local4 < _local3.length) {
for (_local5 in _local3[_local4]) {
if (_local6[_local5] == undefined){
_local6[_local5] = [];
};
_local6[_local5].push(_local3[_local4][_local5]);
};
_local4++;
};
for (_local5 in _local6) {
_local2.push({name:_local5, parameters:_local6[_local5]});
};
return (_local2);
}
}
}//package caurina.transitions
Section 5
//SpecialProperty (caurina.transitions.SpecialProperty)
package caurina.transitions {
public class SpecialProperty {
public var parameters:Array;
public var getValue:Function;
public var setValue:Function;
public function SpecialProperty(_arg1:Function, _arg2:Function, _arg3:Array=null){
getValue = _arg1;
setValue = _arg2;
parameters = _arg3;
}
public function toString():String{
var _local1:String;
_local1 = "";
_local1 = (_local1 + "[SpecialProperty ");
_local1 = (_local1 + ("getValue:" + String(getValue)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("setValue:" + String(setValue)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("parameters:" + String(parameters)));
_local1 = (_local1 + "]");
return (_local1);
}
}
}//package caurina.transitions
Section 6
//SpecialPropertyModifier (caurina.transitions.SpecialPropertyModifier)
package caurina.transitions {
public class SpecialPropertyModifier {
public var getValue:Function;
public var modifyValues:Function;
public function SpecialPropertyModifier(_arg1:Function, _arg2:Function){
modifyValues = _arg1;
getValue = _arg2;
}
public function toString():String{
var _local1:String;
_local1 = "";
_local1 = (_local1 + "[SpecialPropertyModifier ");
_local1 = (_local1 + ("modifyValues:" + String(modifyValues)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("getValue:" + String(getValue)));
_local1 = (_local1 + "]");
return (_local1);
}
}
}//package caurina.transitions
Section 7
//SpecialPropertySplitter (caurina.transitions.SpecialPropertySplitter)
package caurina.transitions {
public class SpecialPropertySplitter {
public var parameters:Array;
public var splitValues:Function;
public function SpecialPropertySplitter(_arg1:Function, _arg2:Array){
splitValues = _arg1;
}
public function toString():String{
var _local1:String;
_local1 = "";
_local1 = (_local1 + "[SpecialPropertySplitter ");
_local1 = (_local1 + ("splitValues:" + String(splitValues)));
_local1 = (_local1 + ", ");
_local1 = (_local1 + ("parameters:" + String(parameters)));
_local1 = (_local1 + "]");
return (_local1);
}
}
}//package caurina.transitions
Section 8
//Tweener (caurina.transitions.Tweener)
package caurina.transitions {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
public class Tweener {
private static var _timeScale:Number = 1;
private static var _specialPropertySplitterList:Object;
private static var _engineExists:Boolean = false;
private static var _specialPropertyModifierList:Object;
private static var _currentTime:Number;
private static var _tweenList:Array;
private static var _specialPropertyList:Object;
private static var _transitionList:Object;
private static var _inited:Boolean = false;
private static var __tweener_controller__:MovieClip;
public function Tweener(){
trace("Tweener is a static class and should not be instantiated.");
}
public static function registerSpecialPropertyModifier(_arg1:String, _arg2:Function, _arg3:Function):void{
var _local4:SpecialPropertyModifier;
if (!_inited){
init();
};
_local4 = new SpecialPropertyModifier(_arg2, _arg3);
_specialPropertyModifierList[_arg1] = _local4;
}
public static function registerSpecialProperty(_arg1:String, _arg2:Function, _arg3:Function, _arg4:Array=null):void{
var _local5:SpecialProperty;
if (!_inited){
init();
};
_local5 = new SpecialProperty(_arg2, _arg3, _arg4);
_specialPropertyList[_arg1] = _local5;
}
public static function addCaller(_arg1:Object=null, _arg2:Object=null):Boolean{
var _local4:Array;
var _local5:Number;
var _local6:Number;
var _local7:Object;
var _local8:Number;
var _local9:Number;
var _local10:Function;
var _local11:TweenListObj;
var _local12:Number;
var _local13:String;
if ((((arguments.length < 2)) || ((arguments[0] == undefined)))){
return (false);
};
_local4 = new Array();
if ((arguments[0] is Array)){
_local5 = 0;
while (_local5 < arguments[0].length) {
_local4.push(arguments[0][_local5]);
_local5++;
};
} else {
_local5 = 0;
while (_local5 < (arguments.length - 1)) {
_local4.push(arguments[_local5]);
_local5++;
};
};
_local7 = arguments[(arguments.length - 1)];
if (!_inited){
init();
};
if (((!(_engineExists)) || (!(Boolean(__tweener_controller__))))){
startEngine();
};
_local8 = (isNaN(_local7.time)) ? 0 : _local7.time;
_local9 = (isNaN(_local7.delay)) ? 0 : _local7.delay;
if (typeof(_local7.transition) == "string"){
_local13 = _local7.transition.toLowerCase();
_local10 = _transitionList[_local13];
} else {
_local10 = _local7.transition;
};
if (!Boolean(_local10)){
_local10 = _transitionList["easeoutexpo"];
};
_local5 = 0;
while (_local5 < _local4.length) {
_local11 = new TweenListObj(_local4[_local5], (_currentTime + ((_local9 * 1000) / _timeScale)), (_currentTime + (((_local9 * 1000) + (_local8 * 1000)) / _timeScale)), (_local7.useFrames == true), _local10);
_local11.properties = null;
_local11.onStart = _local7.onStart;
_local11.onUpdate = _local7.onUpdate;
_local11.onComplete = _local7.onComplete;
_local11.onOverwrite = _local7.onOverwrite;
_local11.onStartParams = _local7.onStartParams;
_local11.onUpdateParams = _local7.onUpdateParams;
_local11.onCompleteParams = _local7.onCompleteParams;
_local11.onOverwriteParams = _local7.onOverwriteParams;
_local11.isCaller = true;
_local11.count = _local7.count;
_local11.waitFrames = _local7.waitFrames;
_tweenList.push(_local11);
if ((((_local8 == 0)) && ((_local9 == 0)))){
_local12 = (_tweenList.length - 1);
updateTweenByIndex(_local12);
removeTweenByIndex(_local12);
};
_local5++;
};
return (true);
}
public static function init(_arg1=null):void{
_inited = true;
_transitionList = new Object();
Equations.init();
_specialPropertyList = new Object();
_specialPropertyModifierList = new Object();
_specialPropertySplitterList = new Object();
SpecialPropertiesDefault.init();
}
private static function updateTweens():Boolean{
var _local1:int;
if (_tweenList.length == 0){
return (false);
};
_local1 = 0;
while (_local1 < _tweenList.length) {
if ((((_tweenList[_local1] == undefined)) || (!(_tweenList[_local1].isPaused)))){
if (!updateTweenByIndex(_local1)){
removeTweenByIndex(_local1);
};
if (_tweenList[_local1] == null){
removeTweenByIndex(_local1, true);
_local1--;
};
};
_local1++;
};
return (true);
}
public static function removeTweens(_arg1:Object, ... _args):Boolean{
var _local3:Array;
var _local4:uint;
_local3 = new Array();
_local4 = 0;
while (_local4 < _args.length) {
if ((((typeof(_args[_local4]) == "string")) && (!(AuxFunctions.isInArray(_args[_local4], _local3))))){
_local3.push(_args[_local4]);
};
_local4++;
};
return (affectTweens(removeTweenByIndex, _arg1, _local3));
}
public static function pauseAllTweens():Boolean{
var _local1:Boolean;
var _local2:uint;
if (!Boolean(_tweenList)){
return (false);
};
_local1 = false;
_local2 = 0;
while (_local2 < _tweenList.length) {
pauseTweenByIndex(_local2);
_local1 = true;
_local2++;
};
return (_local1);
}
public static function splitTweens(_arg1:Number, _arg2:Array):uint{
var _local3:TweenListObj;
var _local4:TweenListObj;
var _local5:uint;
var _local6:String;
var _local7:Boolean;
_local3 = _tweenList[_arg1];
_local4 = _local3.clone(false);
_local5 = 0;
while (_local5 < _arg2.length) {
_local6 = _arg2[_local5];
if (Boolean(_local3.properties[_local6])){
_local3.properties[_local6] = undefined;
delete _local3.properties[_local6];
};
_local5++;
};
for (_local6 in _local4.properties) {
_local7 = false;
_local5 = 0;
while (_local5 < _arg2.length) {
if (_arg2[_local5] == _local6){
_local7 = true;
break;
};
_local5++;
};
if (!_local7){
_local4.properties[_local6] = undefined;
delete _local4.properties[_local6];
};
};
_tweenList.push(_local4);
return ((_tweenList.length - 1));
}
public static function resumeTweenByIndex(_arg1:Number):Boolean{
var _local2:TweenListObj;
_local2 = _tweenList[_arg1];
if ((((_local2 == null)) || (!(_local2.isPaused)))){
return (false);
};
_local2.timeStart = (_local2.timeStart + (_currentTime - _local2.timePaused));
_local2.timeComplete = (_local2.timeComplete + (_currentTime - _local2.timePaused));
_local2.timePaused = undefined;
_local2.isPaused = false;
return (true);
}
public static function debug_getList():String{
var _local1:String;
var _local2:uint;
var _local3:uint;
_local1 = "";
_local2 = 0;
while (_local2 < _tweenList.length) {
_local1 = (_local1 + (("[" + _local2) + "] ::\n"));
_local3 = 0;
while (_local3 < _tweenList[_local2].properties.length) {
_local1 = (_local1 + ((((" " + _tweenList[_local2].properties[_local3].name) + " -> ") + _tweenList[_local2].properties[_local3].valueComplete) + "\n"));
_local3++;
};
_local2++;
};
return (_local1);
}
public static function getVersion():String{
return ("AS3 1.26.62");
}
public static function onEnterFrame(_arg1:Event):void{
var _local2:Boolean;
updateTime();
_local2 = false;
_local2 = updateTweens();
if (!_local2){
stopEngine();
};
}
public static function updateTime():void{
_currentTime = getTimer();
}
private static function updateTweenByIndex(_arg1:Number):Boolean{
var tTweening:TweenListObj;
var isOver:Boolean;
var mustUpdate:Boolean;
var nv:Number;
var t:Number;
var b:Number;
var c:Number;
var d:Number;
var pName:String;
var tScope:Object;
var tProperty:Object;
var pv:Number;
var i = _arg1;
tTweening = _tweenList[i];
if ((((tTweening == null)) || (!(Boolean(tTweening.scope))))){
return (false);
};
isOver = false;
if (_currentTime >= tTweening.timeStart){
tScope = tTweening.scope;
if (tTweening.isCaller){
do {
t = (((tTweening.timeComplete - tTweening.timeStart) / tTweening.count) * (tTweening.timesCalled + 1));
b = tTweening.timeStart;
c = (tTweening.timeComplete - tTweening.timeStart);
d = (tTweening.timeComplete - tTweening.timeStart);
nv = tTweening.transition(t, b, c, d);
} while (!(_currentTime >= nv));
} else {
mustUpdate = (((((tTweening.skipUpdates < 1)) || (!(tTweening.skipUpdates)))) || ((tTweening.updatesSkipped >= tTweening.skipUpdates)));
if (_currentTime >= tTweening.timeComplete){
isOver = true;
mustUpdate = true;
};
if (!tTweening.hasStarted){
if (Boolean(tTweening.onStart)){
try {
tTweening.onStart.apply(tScope, tTweening.onStartParams);
} catch(e:Error) {
handleError(tTweening, e, "onStart");
};
};
for (pName in tTweening.properties) {
pv = getPropertyValue(tScope, pName);
tTweening.properties[pName].valueStart = (isNaN(pv)) ? tTweening.properties[pName].valueComplete : pv;
};
mustUpdate = true;
tTweening.hasStarted = true;
};
if (mustUpdate){
for (pName in tTweening.properties) {
tProperty = tTweening.properties[pName];
if (isOver){
nv = tProperty.valueComplete;
} else {
if (tProperty.hasModifier){
t = (_currentTime - tTweening.timeStart);
d = (tTweening.timeComplete - tTweening.timeStart);
nv = tTweening.transition(t, 0, 1, d);
nv = tProperty.modifierFunction(tProperty.valueStart, tProperty.valueComplete, nv, tProperty.modifierParameters);
} else {
t = (_currentTime - tTweening.timeStart);
b = tProperty.valueStart;
c = (tProperty.valueComplete - tProperty.valueStart);
d = (tTweening.timeComplete - tTweening.timeStart);
nv = tTweening.transition(t, b, c, d);
};
};
if (tTweening.rounded){
nv = Math.round(nv);
};
setPropertyValue(tScope, pName, nv);
};
tTweening.updatesSkipped = 0;
if (Boolean(tTweening.onUpdate)){
try {
tTweening.onUpdate.apply(tScope, tTweening.onUpdateParams);
} catch(e:Error) {
handleError(tTweening, e, "onUpdate");
};
};
} else {
tTweening.updatesSkipped++;
};
};
if (((isOver) && (Boolean(tTweening.onComplete)))){
try {
tTweening.onComplete.apply(tScope, tTweening.onCompleteParams);
} catch(e:Error) {
handleError(tTweening, e, "onComplete");
};
};
return (!(isOver));
};
return (true);
}
public static function setTimeScale(_arg1:Number):void{
var _local2:Number;
if (isNaN(_arg1)){
_arg1 = 1;
};
if (_arg1 < 1E-5){
_arg1 = 1E-5;
};
if (_arg1 != _timeScale){
if (_tweenList != null){
_local2 = 0;
while (_local2 < _tweenList.length) {
_tweenList[_local2].timeStart = (_currentTime - (((_currentTime - _tweenList[_local2].timeStart) * _timeScale) / _arg1));
_tweenList[_local2].timeComplete = (_currentTime - (((_currentTime - _tweenList[_local2].timeComplete) * _timeScale) / _arg1));
if (_tweenList[_local2].timePaused != undefined){
_tweenList[_local2].timePaused = (_currentTime - (((_currentTime - _tweenList[_local2].timePaused) * _timeScale) / _arg1));
};
_local2++;
};
};
_timeScale = _arg1;
};
}
public static function resumeAllTweens():Boolean{
var _local1:Boolean;
var _local2:uint;
if (!Boolean(_tweenList)){
return (false);
};
_local1 = false;
_local2 = 0;
while (_local2 < _tweenList.length) {
resumeTweenByIndex(_local2);
_local1 = true;
_local2++;
};
return (_local1);
}
private static function handleError(_arg1:TweenListObj, _arg2:Error, _arg3:String):void{
var pTweening = _arg1;
var pError = _arg2;
var pCallBackName = _arg3;
if (((Boolean(pTweening.onError)) && ((pTweening.onError is Function)))){
try {
pTweening.onError.apply(pTweening.scope, [pTweening.scope, pError]);
} catch(metaError:Error) {
trace("## [Tweener] Error:", pTweening.scope, "raised an error while executing the 'onError' handler. Original error:\n", pError.getStackTrace(), "\nonError error:", metaError.getStackTrace());
};
} else {
if (!Boolean(pTweening.onError)){
trace("## [Tweener] Error: :", pTweening.scope, (("raised an error while executing the'" + pCallBackName) + "'handler. \n"), pError.getStackTrace());
};
};
}
private static function startEngine():void{
_engineExists = true;
_tweenList = new Array();
__tweener_controller__ = new MovieClip();
__tweener_controller__.addEventListener(Event.ENTER_FRAME, Tweener.onEnterFrame);
updateTime();
}
public static function removeAllTweens():Boolean{
var _local1:Boolean;
var _local2:uint;
if (!Boolean(_tweenList)){
return (false);
};
_local1 = false;
_local2 = 0;
while (_local2 < _tweenList.length) {
removeTweenByIndex(_local2);
_local1 = true;
_local2++;
};
return (_local1);
}
public static function addTween(_arg1:Object=null, _arg2:Object=null):Boolean{
var _local4:Array;
var _local5:Number;
var _local6:Number;
var _local7:String;
var _local8:String;
var _local9:Object;
var _local10:Number;
var _local11:Number;
var _local12:Array;
var _local13:Object;
var _local14:Object;
var _local15:Function;
var _local16:Object;
var _local17:TweenListObj;
var _local18:Number;
var _local19:Array;
var _local20:Array;
var _local21:String;
if ((((arguments.length < 2)) || ((arguments[0] == undefined)))){
return (false);
};
_local4 = new Array();
if ((arguments[0] is Array)){
_local5 = 0;
while (_local5 < arguments[0].length) {
_local4.push(arguments[0][_local5]);
_local5++;
};
} else {
_local5 = 0;
while (_local5 < (arguments.length - 1)) {
_local4.push(arguments[_local5]);
_local5++;
};
};
_local9 = TweenListObj.makePropertiesChain(arguments[(arguments.length - 1)]);
if (!_inited){
init();
};
if (((!(_engineExists)) || (!(Boolean(__tweener_controller__))))){
startEngine();
};
_local10 = (isNaN(_local9.time)) ? 0 : _local9.time;
_local11 = (isNaN(_local9.delay)) ? 0 : _local9.delay;
_local12 = new Array();
_local13 = {time:true, delay:true, useFrames:true, skipUpdates:true, transition:true, onStart:true, onUpdate:true, onComplete:true, onOverwrite:true, rounded:true, onStartParams:true, onUpdateParams:true, onCompleteParams:true, onOverwriteParams:true};
_local14 = new Object();
for (_local7 in _local9) {
if (!_local13[_local7]){
if (_specialPropertySplitterList[_local7]){
_local19 = _specialPropertySplitterList[_local7].splitValues(_local9[_local7], _specialPropertySplitterList[_local7].parameters);
_local5 = 0;
while (_local5 < _local19.length) {
_local12[_local19[_local5].name] = {valueStart:undefined, valueComplete:_local19[_local5].value};
_local5++;
};
} else {
if (_specialPropertyModifierList[_local7] != undefined){
_local20 = _specialPropertyModifierList[_local7].modifyValues(_local9[_local7]);
_local5 = 0;
while (_local5 < _local20.length) {
_local14[_local20[_local5].name] = {modifierParameters:_local20[_local5].parameters, modifierFunction:_specialPropertyModifierList[_local7].getValue};
_local5++;
};
} else {
_local12[_local7] = {valueStart:undefined, valueComplete:_local9[_local7]};
};
};
};
};
for (_local7 in _local14) {
if (_local12[_local7] != undefined){
_local12[_local7].modifierParameters = _local14[_local7].modifierParameters;
_local12[_local7].modifierFunction = _local14[_local7].modifierFunction;
};
};
if (typeof(_local9.transition) == "string"){
_local21 = _local9.transition.toLowerCase();
_local15 = _transitionList[_local21];
} else {
_local15 = _local9.transition;
};
if (!Boolean(_local15)){
_local15 = _transitionList["easeoutexpo"];
};
_local5 = 0;
while (_local5 < _local4.length) {
_local16 = new Object();
for (_local7 in _local12) {
_local16[_local7] = new PropertyInfoObj(_local12[_local7].valueStart, _local12[_local7].valueComplete, _local12[_local7].modifierFunction, _local12[_local7].modifierParameters);
};
_local17 = new TweenListObj(_local4[_local5], (_currentTime + ((_local11 * 1000) / _timeScale)), (_currentTime + (((_local11 * 1000) + (_local10 * 1000)) / _timeScale)), (_local9.useFrames == true), _local15);
_local17.properties = _local16;
_local17.onStart = _local9.onStart;
_local17.onUpdate = _local9.onUpdate;
_local17.onComplete = _local9.onComplete;
_local17.onOverwrite = _local9.onOverwrite;
_local17.onError = _local9.onError;
_local17.onStartParams = _local9.onStartParams;
_local17.onUpdateParams = _local9.onUpdateParams;
_local17.onCompleteParams = _local9.onCompleteParams;
_local17.onOverwriteParams = _local9.onOverwriteParams;
_local17.rounded = _local9.rounded;
_local17.skipUpdates = _local9.skipUpdates;
removeTweensByTime(_local17.scope, _local17.properties, _local17.timeStart, _local17.timeComplete);
_tweenList.push(_local17);
if ((((_local10 == 0)) && ((_local11 == 0)))){
_local18 = (_tweenList.length - 1);
updateTweenByIndex(_local18);
removeTweenByIndex(_local18);
};
_local5++;
};
return (true);
}
public static function registerTransition(_arg1:String, _arg2:Function):void{
if (!_inited){
init();
};
_transitionList[_arg1] = _arg2;
}
private static function affectTweens(_arg1:Function, _arg2:Object, _arg3:Array):Boolean{
var _local4:Boolean;
var _local5:uint;
var _local6:Array;
var _local7:uint;
var _local8:uint;
var _local9:uint;
_local4 = false;
if (!Boolean(_tweenList)){
return (false);
};
_local5 = 0;
while (_local5 < _tweenList.length) {
if (((_tweenList[_local5]) && ((_tweenList[_local5].scope == _arg2)))){
if (_arg3.length == 0){
_arg1(_local5);
_local4 = true;
} else {
_local6 = new Array();
_local7 = 0;
while (_local7 < _arg3.length) {
if (Boolean(_tweenList[_local5].properties[_arg3[_local7]])){
_local6.push(_arg3[_local7]);
};
_local7++;
};
if (_local6.length > 0){
_local8 = AuxFunctions.getObjectLength(_tweenList[_local5].properties);
if (_local8 == _local6.length){
_arg1(_local5);
_local4 = true;
} else {
_local9 = splitTweens(_local5, _local6);
_arg1(_local9);
_local4 = true;
};
};
};
};
_local5++;
};
return (_local4);
}
public static function getTweens(_arg1:Object):Array{
var _local2:uint;
var _local3:String;
var _local4:Array;
if (!Boolean(_tweenList)){
return ([]);
};
_local4 = new Array();
_local2 = 0;
while (_local2 < _tweenList.length) {
if (_tweenList[_local2].scope == _arg1){
for (_local3 in _tweenList[_local2].properties) {
_local4.push(_local3);
};
};
_local2++;
};
return (_local4);
}
private static function setPropertyValue(_arg1:Object, _arg2:String, _arg3:Number):void{
if (_specialPropertyList[_arg2] != undefined){
if (Boolean(_specialPropertyList[_arg2].parameters)){
_specialPropertyList[_arg2].setValue(_arg1, _arg3, _specialPropertyList[_arg2].parameters);
} else {
_specialPropertyList[_arg2].setValue(_arg1, _arg3);
};
} else {
_arg1[_arg2] = _arg3;
};
}
private static function getPropertyValue(_arg1:Object, _arg2:String):Number{
if (_specialPropertyList[_arg2] != undefined){
if (Boolean(_specialPropertyList[_arg2].parameters)){
return (_specialPropertyList[_arg2].getValue(_arg1, _specialPropertyList[_arg2].parameters));
};
return (_specialPropertyList[_arg2].getValue(_arg1));
} else {
};
return (!NULL!);
}
public static function isTweening(_arg1:Object):Boolean{
var _local2:uint;
if (!Boolean(_tweenList)){
return (false);
};
_local2 = 0;
while (_local2 < _tweenList.length) {
if (_tweenList[_local2].scope == _arg1){
return (true);
};
_local2++;
};
return (false);
}
public static function getTweenCount(_arg1:Object):Number{
var _local2:uint;
var _local3:Number;
if (!Boolean(_tweenList)){
return (0);
};
_local3 = 0;
_local2 = 0;
while (_local2 < _tweenList.length) {
if (_tweenList[_local2].scope == _arg1){
_local3 = (_local3 + AuxFunctions.getObjectLength(_tweenList[_local2].properties));
};
_local2++;
};
return (_local3);
}
private static function stopEngine():void{
_engineExists = false;
_tweenList = null;
_currentTime = 0;
__tweener_controller__.removeEventListener(Event.ENTER_FRAME, Tweener.onEnterFrame);
__tweener_controller__ = null;
}
public static function pauseTweenByIndex(_arg1:Number):Boolean{
var _local2:TweenListObj;
_local2 = _tweenList[_arg1];
if ((((_local2 == null)) || (_local2.isPaused))){
return (false);
};
_local2.timePaused = _currentTime;
_local2.isPaused = true;
return (true);
}
public static function removeTweensByTime(_arg1:Object, _arg2:Object, _arg3:Number, _arg4:Number):Boolean{
var removed:Boolean;
var removedLocally:Boolean;
var i:uint;
var tl:uint;
var pName:String;
var p_scope = _arg1;
var p_properties = _arg2;
var p_timeStart = _arg3;
var p_timeComplete = _arg4;
removed = false;
tl = _tweenList.length;
i = 0;
while (i < tl) {
if (((Boolean(_tweenList[i])) && ((p_scope == _tweenList[i].scope)))){
if ((((p_timeComplete > _tweenList[i].timeStart)) && ((p_timeStart < _tweenList[i].timeComplete)))){
removedLocally = false;
for (pName in _tweenList[i].properties) {
if (Boolean(p_properties[pName])){
if (Boolean(_tweenList[i].onOverwrite)){
try {
_tweenList[i].onOverwrite.apply(_tweenList[i].scope, _tweenList[i].onOverwriteParams);
} catch(e:Error) {
handleError(_tweenList[i], e, "onOverwrite");
};
};
_tweenList[i].properties[pName] = undefined;
delete _tweenList[i].properties[pName];
removedLocally = true;
removed = true;
};
};
if (removedLocally){
if (AuxFunctions.getObjectLength(_tweenList[i].properties) == 0){
removeTweenByIndex(i);
};
};
};
};
i = (i + 1);
};
return (removed);
}
public static function registerSpecialPropertySplitter(_arg1:String, _arg2:Function, _arg3:Array=null):void{
var _local4:SpecialPropertySplitter;
if (!_inited){
init();
};
_local4 = new SpecialPropertySplitter(_arg2, _arg3);
_specialPropertySplitterList[_arg1] = _local4;
}
public static function removeTweenByIndex(_arg1:Number, _arg2:Boolean=false):Boolean{
_tweenList[_arg1] = null;
if (_arg2){
_tweenList.splice(_arg1, 1);
};
return (true);
}
public static function resumeTweens(_arg1:Object, ... _args):Boolean{
var _local3:Array;
var _local4:uint;
_local3 = new Array();
_local4 = 0;
while (_local4 < _args.length) {
if ((((typeof(_args[_local4]) == "string")) && (!(AuxFunctions.isInArray(_args[_local4], _local3))))){
_local3.push(_args[_local4]);
};
_local4++;
};
return (affectTweens(resumeTweenByIndex, _arg1, _local3));
}
public static function pauseTweens(_arg1:Object, ... _args):Boolean{
var _local3:Array;
var _local4:uint;
_local3 = new Array();
_local4 = 0;
while (_local4 < _args.length) {
if ((((typeof(_args[_local4]) == "string")) && (!(AuxFunctions.isInArray(_args[_local4], _local3))))){
_local3.push(_args[_local4]);
};
_local4++;
};
return (affectTweens(pauseTweenByIndex, _arg1, _local3));
}
}
}//package caurina.transitions
Section 9
//TweenListObj (caurina.transitions.TweenListObj)
package caurina.transitions {
public class TweenListObj {
public var onUpdate:Function;
public var useFrames:Boolean;
public var hasStarted:Boolean;
public var onOverwriteParams:Array;
public var timeStart:Number;
public var count:Number;
public var auxProperties:Object;
public var timeComplete:Number;
public var onStartParams:Array;
public var rounded:Boolean;
public var properties:Object;
public var onUpdateParams:Array;
public var onComplete:Function;
public var updatesSkipped:Number;
public var onStart:Function;
public var skipUpdates:Number;
public var scope:Object;
public var isCaller:Boolean;
public var timePaused:Number;
public var transition:Function;
public var onCompleteParams:Array;
public var onError:Function;
public var timesCalled:Number;
public var onOverwrite:Function;
public var isPaused:Boolean;
public var waitFrames:Boolean;
public function TweenListObj(_arg1:Object, _arg2:Number, _arg3:Number, _arg4:Boolean, _arg5:Function){
scope = _arg1;
timeStart = _arg2;
timeComplete = _arg3;
useFrames = _arg4;
transition = _arg5;
auxProperties = new Object();
properties = new Object();
isPaused = false;
timePaused = undefined;
isCaller = false;
updatesSkipped = 0;
timesCalled = 0;
skipUpdates = 0;
hasStarted = false;
}
public function clone(_arg1:Boolean):TweenListObj{
var _local2:TweenListObj;
var _local3:String;
_local2 = new TweenListObj(scope, timeStart, timeComplete, useFrames, transition);
_local2.properties = new Array();
for (_local3 in properties) {
_local2.properties[_local3] = properties[_local3].clone();
};
_local2.skipUpdates = skipUpdates;
_local2.updatesSkipped = updatesSkipped;
if (!_arg1){
_local2.onStart = onStart;
_local2.onUpdate = onUpdate;
_local2.onComplete = onComplete;
_local2.onOverwrite = onOverwrite;
_local2.onError = onError;
_local2.onStartParams = onStartParams;
_local2.onUpdateParams = onUpdateParams;
_local2.onCompleteParams = onCompleteParams;
_local2.onOverwriteParams = onOverwriteParams;
};
_local2.rounded = rounded;
_local2.isPaused = isPaused;
_local2.timePaused = timePaused;
_local2.isCaller = isCaller;
_local2.count = count;
_local2.timesCalled = timesCalled;
_local2.waitFrames = waitFrames;
_local2.hasStarted = hasStarted;
return (_local2);
}
public function toString():String{
var _local1:String;
var _local2:uint;
_local1 = "\n[TweenListObj ";
_local1 = (_local1 + ("scope:" + String(scope)));
_local1 = (_local1 + ", properties:");
_local2 = 0;
while (_local2 < properties.length) {
if (_local2 > 0){
_local1 = (_local1 + ",");
};
_local1 = (_local1 + ("[name:" + properties[_local2].name));
_local1 = (_local1 + (",valueStart:" + properties[_local2].valueStart));
_local1 = (_local1 + (",valueComplete:" + properties[_local2].valueComplete));
_local1 = (_local1 + "]");
_local2++;
};
_local1 = (_local1 + (", timeStart:" + String(timeStart)));
_local1 = (_local1 + (", timeComplete:" + String(timeComplete)));
_local1 = (_local1 + (", useFrames:" + String(useFrames)));
_local1 = (_local1 + (", transition:" + String(transition)));
if (skipUpdates){
_local1 = (_local1 + (", skipUpdates:" + String(skipUpdates)));
};
if (updatesSkipped){
_local1 = (_local1 + (", updatesSkipped:" + String(updatesSkipped)));
};
if (Boolean(onStart)){
_local1 = (_local1 + (", onStart:" + String(onStart)));
};
if (Boolean(onUpdate)){
_local1 = (_local1 + (", onUpdate:" + String(onUpdate)));
};
if (Boolean(onComplete)){
_local1 = (_local1 + (", onComplete:" + String(onComplete)));
};
if (Boolean(onOverwrite)){
_local1 = (_local1 + (", onOverwrite:" + String(onOverwrite)));
};
if (Boolean(onError)){
_local1 = (_local1 + (", onError:" + String(onError)));
};
if (onStartParams){
_local1 = (_local1 + (", onStartParams:" + String(onStartParams)));
};
if (onUpdateParams){
_local1 = (_local1 + (", onUpdateParams:" + String(onUpdateParams)));
};
if (onCompleteParams){
_local1 = (_local1 + (", onCompleteParams:" + String(onCompleteParams)));
};
if (onOverwriteParams){
_local1 = (_local1 + (", onOverwriteParams:" + String(onOverwriteParams)));
};
if (rounded){
_local1 = (_local1 + (", rounded:" + String(rounded)));
};
if (isPaused){
_local1 = (_local1 + (", isPaused:" + String(isPaused)));
};
if (timePaused){
_local1 = (_local1 + (", timePaused:" + String(timePaused)));
};
if (isCaller){
_local1 = (_local1 + (", isCaller:" + String(isCaller)));
};
if (count){
_local1 = (_local1 + (", count:" + String(count)));
};
if (timesCalled){
_local1 = (_local1 + (", timesCalled:" + String(timesCalled)));
};
if (waitFrames){
_local1 = (_local1 + (", waitFrames:" + String(waitFrames)));
};
if (hasStarted){
_local1 = (_local1 + (", hasStarted:" + String(hasStarted)));
};
_local1 = (_local1 + "]\n");
return (_local1);
}
public static function makePropertiesChain(_arg1:Object):Object{
var _local2:Object;
var _local3:Object;
var _local4:Object;
var _local5:Object;
var _local6:Number;
var _local7:Number;
var _local8:Number;
_local2 = _arg1.base;
if (_local2){
_local3 = {};
if ((_local2 is Array)){
_local4 = [];
_local8 = 0;
while (_local8 < _local2.length) {
_local4.push(_local2[_local8]);
_local8++;
};
} else {
_local4 = [_local2];
};
_local4.push(_arg1);
_local6 = _local4.length;
_local7 = 0;
while (_local7 < _local6) {
if (_local4[_local7]["base"]){
_local5 = AuxFunctions.concatObjects(makePropertiesChain(_local4[_local7]["base"]), _local4[_local7]);
} else {
_local5 = _local4[_local7];
};
_local3 = AuxFunctions.concatObjects(_local3, _local5);
_local7++;
};
if (_local3["base"]){
delete _local3["base"];
};
return (_local3);
//unresolved jump
};
return (_arg1);
}
}
}//package caurina.transitions
Section 10
//StringUtil (com.adobe.utils.StringUtil)
package com.adobe.utils {
public class StringUtil {
public static function beginsWith(_arg1:String, _arg2:String):Boolean{
return ((_arg2 == _arg1.substring(0, _arg2.length)));
}
public static function trim(_arg1:String):String{
return (StringUtil.ltrim(StringUtil.rtrim(_arg1)));
}
public static function stringsAreEqual(_arg1:String, _arg2:String, _arg3:Boolean):Boolean{
if (_arg3){
return ((_arg1 == _arg2));
};
return ((_arg1.toUpperCase() == _arg2.toUpperCase()));
}
public static function replace(_arg1:String, _arg2:String, _arg3:String):String{
var _local4:String;
var _local5:Boolean;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
_local4 = new String();
_local5 = false;
_local6 = _arg1.length;
_local7 = _arg2.length;
_local8 = 0;
while (_local8 < _local6) {
if (_arg1.charAt(_local8) == _arg2.charAt(0)){
_local5 = true;
_local9 = 0;
while (_local9 < _local7) {
if (_arg1.charAt((_local8 + _local9)) != _arg2.charAt(_local9)){
_local5 = false;
break;
};
_local9++;
};
//unresolved if
_local4 = (_local4 + _arg3);
_local8 = (_local8 + (_local7 - 1));
} else {
_local4 = (_local4 + _arg1.charAt(_local8));
};
_local8++;
};
return (_local4);
}
public static function rtrim(_arg1:String):String{
var _local2:Number;
var _local3:Number;
_local2 = _arg1.length;
_local3 = _local2;
while (_local3 > 0) {
if (_arg1.charCodeAt((_local3 - 1)) > 32){
return (_arg1.substring(0, _local3));
};
_local3--;
};
return ("");
}
public static function endsWith(_arg1:String, _arg2:String):Boolean{
return ((_arg2 == _arg1.substring((_arg1.length - _arg2.length))));
}
public static function stringHasValue(_arg1:String):Boolean{
return (((!((_arg1 == null))) && ((_arg1.length > 0))));
}
public static function remove(_arg1:String, _arg2:String):String{
return (StringUtil.replace(_arg1, _arg2, ""));
}
public static function ltrim(_arg1:String):String{
var _local2:Number;
var _local3:Number;
_local2 = _arg1.length;
_local3 = 0;
while (_local3 < _local2) {
if (_arg1.charCodeAt(_local3) > 32){
return (_arg1.substring(_local3));
};
_local3++;
};
return ("");
}
}
}//package com.adobe.utils
Section 11
//ImageContainer (ImageContainer)
package {
import flash.events.*;
import flash.display.*;
import flash.net.*;
public class ImageContainer extends MovieClip {
public var imageLink:String;
public var description:String;
public var imageURL:String;
public var imageLoader:Loader;
public var pictureID:String;
public var pictureNum:Number;
public var numTrys:Number;// = 0
public function ImageContainer(){
numTrys = 0;
super();
imageLoader = new Loader();
addChild(imageLoader);
imageLoader.contentLoaderInfo.addEventListener(Event.INIT, dispatchImageLoaded);
}
public function resizeImage(_arg1:Number, _arg2:Number, _arg3:Number=0, _arg4:Number=0){
var loader:Loader;
var img:Bitmap;
var w:Number;
var h:Number;
var diff:Number;
var percent:Number;
var sw = _arg1;
var sh = _arg2;
var posX = _arg3;
var posY = _arg4;
loader = imageLoader;
img = (loader.content as Bitmap);
try {
img.smoothing = true;
} catch(errObject:Error) {
};
loader.scaleX = 1;
loader.scaleY = 1;
w = width;
h = height;
if (sw < w){
diff = (w - sw);
percent = (1 - (diff / w));
w = (w * percent);
h = (h * percent);
};
if (sh < h){
diff = (h - sh);
percent = (1 - (diff / h));
w = (w * percent);
h = (h * percent);
};
if (h < loader.height){
diff = (loader.height - h);
percent = (1 - (diff / loader.height));
loader.scaleX = percent;
loader.scaleY = percent;
};
x = ((posX + (sw / 2)) - (width / 2));
y = ((posY + (sh / 2)) - (height / 2));
trace(("resize percent=" + percent));
}
public function loadImage(_arg1:String, _arg2:Number, _arg3:String="", _arg4:String=""){
this.imageURL = _arg1;
imageLoader.load(new URLRequest(_arg1));
this.pictureNum = _arg2;
this.imageLink = _arg3;
this.description = _arg4;
numTrys = 0;
trace(((("Load Image try " + numTrys) + ":") + _arg1));
trace("");
}
private function dispatchImageLoaded(_arg1:Event):void{
dispatchEvent(new Event("imageLoaded"));
}
private function ioErrorHandler(_arg1:IOErrorEvent):void{
if (numTrys <= 5){
imageLoader.load(new URLRequest(imageURL));
};
numTrys++;
trace("trying to load picture again");
trace(("ioErrorHandler: " + _arg1));
}
public function cleanUp(){
imageLoader.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
imageLoader.contentLoaderInfo.removeEventListener(Event.INIT, dispatchImageLoaded);
}
}
}//package
Section 12
//Picasa (Picasa)
package {
import flash.events.*;
import caurina.transitions.*;
import flash.display.*;
import com.adobe.utils.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
import flash.geom.*;
import flash.system.*;
import flash.external.*;
import flash.ui.*;
public class Picasa extends MovieClip {
private var slideShowPlaying:Boolean;
private var currentPictureNum:Number;// = 0
private var mcThumbContainers:MovieClip;
private var leftArrowButton:MovieClip;
private var fullScreenMode:Boolean;
private var thumbCPSmallWidth:Number;
private var userID:String;// = ""
private var activeContainer:ImageContainer;
private var thumbFSButton:MovieClip;
private var thumbCPSmallHeight:Number;
private var fsButton:MovieClip;
private var numLoaders:Number;// = 3
private var cpSmallHeight:Number;
private var txt:TextField;
private var lastPictureNumLoaded:Number;
private var cpFullWidth:Number;
private var mcThumbPage:MovieClip;
private var thumbCPBigWidth:Number;
private var controlPanelActive:Boolean;
private var mcFullSizePage:MovieClip;
private var thumbHeight:Number;// = 72
private var controlPanel:MovieClip;
private var thumbButton:MovieClip;
private var txtTags:TextField;
private var mouseIn:Boolean;
private var showThumbs:Boolean;// = true
private var osImageLoaded:Boolean;
private var thumbCPBigHeight:Number;
private var thumbCP:MovieClip;
private var isRSS:Boolean;
private var backgroundColor:Number;// = 0xFFFFFF
private var numPictures:Number;// = 0
private var lastPictureNum:Number;// = 0
private var rightArrowButton:MovieClip;
private var cpFullHeight:Number;
private var imageLoaders:Array;
private var reverse:Boolean;
private var thumbXMLIndex:Number;// = 0
private var myTimer:Timer;
private var feedURL:String;// = ""
private var searchButton:MovieClip;
private var xmlResult:XML;
private var thumbMargin:Number;
private var background:Sprite;
private var thumbsPerPage:Number;
private var searchPanel:MovieClip;
private var savedImageLink:String;
private var thumbsPerRow:Number;
private var cpSmallWidth:Number;
private var ppButton:MovieClip;
private var slideShowTimerEnded:Boolean;
private var txtUsername:TextField;
private var activeContainerNum:Number;// = 0
private var firstThumbIndex:Number;// = 0
private var delay:uint;// = 2000
private var slideShowTimer:Timer;
private var thumbWidth:Number;// = 72
private var buttonInactiveAlpha:Number;// = 0.85
private var startIndex:Number;// = 0
private var thumbCPActive:Boolean;
private var tag:String;
private var rssURL:String;// = ""
private var txtRSS:TextField;
private var firstLoad:Boolean;// = true
private var imageContainers:Array;
private var reqLink:URLRequest;
private var slideShowDelay:Number;// = 5000
private var maxResults:Number;// = 30
private namespace atom = "http://www.w3.org/2005/Atom";
private namespace media = "http://search.yahoo.com/mrss/";
private namespace openSearch = "http://a9.com/-/spec/opensearchrss/1.0/";
private namespace gphoto = "http://schemas.google.com/photos/2007";
public function Picasa(){
delay = 2000;
numPictures = 0;
currentPictureNum = 0;
userID = "";
backgroundColor = 0xFFFFFF;
rssURL = "";
numLoaders = 3;
slideShowDelay = 5000;
buttonInactiveAlpha = 0.85;
thumbWidth = 72;
thumbHeight = 72;
thumbXMLIndex = 0;
firstThumbIndex = 0;
feedURL = "";
startIndex = 0;
maxResults = 30;
showThumbs = true;
activeContainerNum = 0;
firstLoad = true;
lastPictureNum = 0;
super();
Security.loadPolicyFile("http://lh3.ggpht.com/crossdomain.xml");
Security.loadPolicyFile("http://lh4.ggpht.com/crossdomain.xml");
Security.loadPolicyFile("http://lh5.ggpht.com/crossdomain.xml");
Security.loadPolicyFile("http://lh6.ggpht.com/crossdomain.xml");
Security.loadPolicyFile("http://photos.googleapis.com/data/crossdomain.xml");
addEventListener(Event.ENTER_FRAME, getStageDimensions);
}
function fadeInControlPanel(_arg1:Event){
var _local2:MovieClip;
_local2 = MovieClip(_arg1.target);
_local2.alpha = (_local2.alpha + 0.1);
if (_local2.alpha >= 1){
_local2.removeEventListener(Event.ENTER_FRAME, fadeInControlPanel);
};
}
function startFadeInControlPanel(_arg1:Event){
myTimer.reset();
myTimer.start();
if (!controlPanelActive){
controlPanel.addEventListener(Event.ENTER_FRAME, fadeInControlPanel);
controlPanel.removeEventListener(Event.ENTER_FRAME, fadeOutControlPanel);
controlPanelActive = true;
};
if (!thumbCPActive){
thumbCP.addEventListener(Event.ENTER_FRAME, fadeInControlPanel);
thumbCP.removeEventListener(Event.ENTER_FRAME, fadeOutControlPanel);
thumbCPActive = true;
};
}
function createThumbButton(_arg1:Number, _arg2:Number):MovieClip{
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Graphics;
var _local7:MovieClip;
var _local8:Sprite;
var _local9:Number;
var _local10:Number;
var _local11:Number;
var _local12:Number;
var _local13:Number;
_local3 = 8;
_local4 = 30;
_local5 = 30;
_local7 = new MovieClip();
_local7.buttonMode = true;
_local6 = _local7.graphics;
_local6.lineStyle(2, _arg1, 1, true);
_local6.beginFill(_arg2);
_local6.drawRoundRect(0, 0, _local4, _local5, _local3, _local3);
_local6.endFill();
_local8 = new Sprite();
_local6 = _local8.graphics;
_local9 = 3;
_local10 = 3;
_local11 = ((_local4 - (_local10 * (_local9 + 1))) / _local9);
_local12 = 0;
while (_local12 < 3) {
_local13 = 0;
while (_local13 < _local9) {
_local6.lineStyle(1, 0xFFFFFF);
_local6.drawRect((_local10 + (_local12 * (_local11 + _local10))), (_local10 + (_local13 * (_local11 + _local10))), _local11, _local11);
_local13++;
};
_local12++;
};
_local7.addChild(_local8);
return (_local7);
}
private function doSearch(_arg1:Object){
var _local2:String;
var _local3:String;
_local2 = "";
_local3 = "";
userID = "";
rssURL = "";
tag = "";
isRSS = false;
if (_arg1.startIndex != undefined){
startIndex = _arg1.startIndex;
if (startIndex == 0){
firstThumbIndex = 0;
currentPictureNum = 0;
};
};
if (_arg1.userID != undefined){
userID = StringUtil.trim(_arg1.userID);
if (_arg1 != ""){
userID = _arg1.userID;
};
trace(("userID=" + userID));
};
if (_arg1.rssURL != undefined){
rssURL = StringUtil.trim(_arg1.rssURL);
if (rssURL != ""){
rssURL = StringUtil.replace(rssURL, "picasaweb.google.com", "photos.googleapis.com");
isRSS = true;
};
trace(("rssURL=" + rssURL));
};
if (rssURL != ""){
_local3 = rssURL;
} else {
if (userID != ""){
_local3 = (("http://photos.googleapis.com/data/feed/api/user/" + userID) + "?kind=photo");
};
};
if (_arg1.tag != undefined){
tag = StringUtil.trim(_arg1.tag);
if (tag != ""){
if (_local3 != ""){
_local3 = (_local3 + ("&tag=" + tag));
} else {
_local3 = ("http://photos.googleapis.com/data/feed/api/all?kind=photo&tag=" + tag);
};
};
};
feedURL = _local3;
_local2 = getPrefJS("lastFeedURL");
if (((!((_local2 == _local3))) || ((_local2 == "")))){
startIndex = 0;
firstThumbIndex = 0;
currentPictureNum = 0;
setPrefJS("lastFeedURL", _local3);
};
if (feedURL != ""){
loadXML(feedURL, displayResult);
hideSearchForm(null);
} else {
showSearchForm(null);
};
txtUsername.text = userID;
txtRSS.text = rssURL;
txtTags.text = tag;
setPrefJS("userID", userID);
setPrefJS("rssURL", rssURL);
setPrefJS("tag", tag);
}
function createSearchButton(_arg1:Number, _arg2:Number):MovieClip{
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Graphics;
var _local7:MovieClip;
var _local8:Sprite;
_local3 = 8;
_local4 = 30;
_local5 = 30;
_local7 = new MovieClip();
_local7.buttonMode = true;
_local6 = _local7.graphics;
_local6.lineStyle(2, _arg1, 1, true);
_local6.beginFill(_arg2);
_local6.drawRoundRect(0, 0, _local4, _local5, _local3, _local3);
_local6.endFill();
_local8 = new Sprite();
_local6 = _local8.graphics;
_local6.lineStyle(3, 0xFFFFFF, 1);
_local6.drawCircle((_local4 * 0.6), (_local5 * 0.38), (_local4 * 0.2));
_local6.lineStyle(4, 0xFFFFFF, 1);
_local6.moveTo((_local4 * 0.42), (_local5 * 0.57));
_local6.lineTo((_local4 * 0.2), (_local5 * 0.8));
_local7.addChild(_local8);
return (_local7);
}
private function loadThumbPagePrev(_arg1:Event=null){
var _local2:Number;
_local2 = (firstThumbIndex - thumbsPerPage);
_local2 = (int((_local2 / thumbsPerPage)) * thumbsPerPage);
if (_local2 >= 0){
setPrefJS("pictureNum", ("" + currentPictureNum));
currentPictureNum = _local2;
if (firstThumbIndex < startIndex){
loadXMLPrev();
} else {
loadThumbPage();
};
};
}
function toggleFullscreen(_arg1:Event){
if (fullScreenMode){
stage.displayState = StageDisplayState.NORMAL;
} else {
if (!mcThumbPage.visible){
activeContainer.visible = false;
};
stage.displayState = StageDisplayState.FULL_SCREEN;
};
}
private function centerOnStage(_arg1:MovieClip){
_arg1.x = ((stage.stageWidth / 2) - (_arg1.width / 2));
_arg1.y = ((stage.stageHeight / 2) - (_arg1.height / 2));
}
function createPlayPauseButton(_arg1:Number, _arg2:Number):MovieClip{
var curve:Number;
var w:Number;
var h:Number;
var arrowH:Number;
var arrowW:Number;
var arrowColor:Number;
var g:Graphics;
var ppButton:MovieClip;
var playSp:Sprite;
var pauseW:Number;
var pauseH:Number;
var pauseSp:Sprite;
var buttonLineColor = _arg1;
var buttonFillColor = _arg2;
curve = 8;
w = 30;
h = 30;
arrowH = (h * 0.55);
arrowW = (w * 0.35);
arrowColor = 0xFFFFFF;
ppButton = new MovieClip();
ppButton.buttonMode = true;
g = ppButton.graphics;
g.lineStyle(2, buttonLineColor, 1, true);
g.beginFill(buttonFillColor);
g.drawRoundRect(0, 0, w, h, curve, curve);
g.endFill();
playSp = new Sprite();
g = playSp.graphics;
g.lineStyle(2, arrowColor);
g.beginFill(arrowColor);
g.lineTo(arrowW, (arrowH / 2));
g.lineTo(0, arrowH);
g.lineTo(0, 0);
g.endFill();
playSp.y = ((h / 2) - (arrowH / 2));
playSp.x = ((ppButton.width / 2) - (playSp.width * 0.3));
ppButton.addChild(playSp);
pauseW = 8;
pauseH = 12;
pauseSp = new Sprite();
g = pauseSp.graphics;
g.lineStyle(4, arrowColor, 1, false, "normal", "square");
g.lineTo(0, pauseH);
g.moveTo(pauseW, 0);
g.lineTo(pauseW, pauseH);
pauseSp.y = ((h / 2) - (pauseH * 0.5));
pauseSp.x = ((ppButton.width / 2) - (pauseW * 0.5));
ppButton.addChild(pauseSp);
ppButton.showPause = function (){
pauseSp.visible = true;
playSp.visible = false;
};
ppButton.showPlay = function (){
pauseSp.visible = false;
playSp.visible = true;
};
ppButton.showPlay();
return (ppButton);
}
private function progressHandler(_arg1:ProgressEvent):void{
}
function stopSlideShow(){
slideShowPlaying = false;
ppButton.showPlay();
slideShowTimer.stop();
}
private function showImage(){
var _local1:Number;
_local1 = activeContainerNum;
activeContainerNum = (activeContainerNum + 1);
if (activeContainerNum >= numLoaders){
activeContainerNum = 0;
};
activeContainer = imageContainers[activeContainerNum];
doFadeTrans(imageContainers[_local1], activeContainer);
}
function incrementPictureNum(){
currentPictureNum++;
if (currentPictureNum >= numPictures){
currentPictureNum = 0;
};
}
private function centerOnStagePositive(_arg1:MovieClip){
_arg1.x = Math.max(((stage.stageWidth / 2) - (_arg1.width / 2)), 0);
_arg1.y = Math.max(((stage.stageHeight / 2) - (_arg1.height / 2)), 0);
}
function initContextMenu(){
var _local1:ContextMenu;
var _local2:ContextMenuItem;
var _local3:ContextMenuItem;
_local1 = new ContextMenu();
_local1.addEventListener(ContextMenuEvent.MENU_SELECT, menuHandler);
_local2 = new ContextMenuItem("Go Full Screen");
_local2.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, goFullScreen);
_local1.customItems.push(_local2);
_local3 = new ContextMenuItem("Exit Full Screen");
_local3.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, exitFullScreen);
_local1.customItems.push(_local3);
contextMenu = _local1;
}
function loadPrevPicture(_arg1:Event){
var _local2:Number;
reverse = true;
_local2 = currentPictureNum;
currentPictureNum--;
if (slideShowPlaying){
togglePausePlay(null);
};
if (currentPictureNum < 0){
currentPictureNum = lastPictureNum;
};
if (_local2 != currentPictureNum){
setPrefJS("pictureNum", ("" + currentPictureNum));
loadOffScreenContainer(currentPictureNum);
};
}
public function displayResult2(_arg1:Event){
var _local2:URLLoader;
var _local3:XML;
var _local4:Number;
_local2 = URLLoader(_arg1.target);
_local3 = new XML(_local2.data);
_local4 = numPictures;
if (isRSS){
numPictures = _local3.channel.item.length();
} else {
numPictures = _local3.entry.length();
};
if (numPictures > 0){
xmlResult = _local3;
numPictures = (numPictures + startIndex);
if (_local4 < numPictures){
if (showThumbs){
createThumbs();
} else {
if (slideShowPlaying){
loadOffScreenContainer((currentPictureNum + 1));
} else {
loadOffScreenContainer(currentPictureNum);
};
setPrefJS("pictureNum", ("" + currentPictureNum));
};
} else {
if (showThumbs){
if ((firstThumbIndex % thumbsPerPage) == 0){
firstThumbIndex = (firstThumbIndex - thumbsPerPage);
};
firstThumbIndex = (int((firstThumbIndex / thumbsPerPage)) * thumbsPerPage);
} else {
lastPictureNum = (currentPictureNum - 1);
if (slideShowPlaying){
currentPictureNum = -1;
} else {
currentPictureNum = 0;
};
firstThumbIndex = 0;
startIndex = 0;
numPictures = 0;
loadXML(feedURL, displayResult);
};
startIndex = firstThumbIndex;
};
} else {
numPictures = _local4;
if (showThumbs){
if ((firstThumbIndex % thumbsPerPage) == 0){
firstThumbIndex = (firstThumbIndex - thumbsPerPage);
};
firstThumbIndex = (int((firstThumbIndex / thumbsPerPage)) * thumbsPerPage);
} else {
currentPictureNum--;
firstThumbIndex = (int((currentPictureNum / thumbsPerPage)) * thumbsPerPage);
};
startIndex = firstThumbIndex;
};
setPrefJS("startIndex", ("" + startIndex));
}
function decrementPictureNum(){
currentPictureNum--;
if (currentPictureNum < 0){
currentPictureNum = (numPictures - 1);
};
}
private function resizeIfBiggerThanStage(_arg1:MovieClip){
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
_arg1.scaleX = 1;
_arg1.scaleY = 1;
_local2 = _arg1.width;
_local3 = _arg1.height;
if (stage.stageWidth < _local2){
_local4 = (_local2 - stage.stageWidth);
_local5 = (1 - (_local4 / _local2));
_local2 = (_local2 * _local5);
_local3 = (_local3 * _local5);
};
if (stage.stageHeight < _local3){
_local4 = (_local3 - stage.stageHeight);
_local5 = (1 - (_local4 / _local3));
_local2 = (_local2 * _local5);
_local3 = (_local3 * _local5);
};
if (_local3 < _arg1.height){
_local4 = (_arg1.height - _local3);
_local5 = (1 - (_local4 / _arg1.height));
_arg1.scaleX = _local5;
_arg1.scaleY = _local5;
};
_arg1.x = ((stage.stageWidth / 2) - (_arg1.width / 2));
_arg1.y = ((stage.stageHeight / 2) - (_arg1.height / 2));
}
private function cancelSearch(_arg1:Event){
hideSearchForm(_arg1);
txtUsername.text = userID;
txtRSS.text = rssURL;
txtTags.text = tag;
}
private function loadThumbPageNext(_arg1:Event){
var _local2:Number;
_local2 = (firstThumbIndex + thumbsPerPage);
if (firstThumbIndex < numPictures){
_local2 = (int((_local2 / thumbsPerPage)) * thumbsPerPage);
currentPictureNum = _local2;
setPrefJS("pictureNum", ("" + currentPictureNum));
loadThumbPage();
};
}
function goScaledFullScreen(){
var _local1:Rectangle;
_local1 = new Rectangle(0, 0, (stage.stageWidth / 2), (stage.stageHeight / 2));
stage.fullScreenSourceRect = _local1;
stage.displayState = StageDisplayState.FULL_SCREEN;
}
function goFullScreen(_arg1:ContextMenuEvent):void{
stage.displayState = StageDisplayState.FULL_SCREEN;
}
function startFadeInButton(_arg1:MouseEvent){
_arg1.currentTarget.addEventListener(Event.ENTER_FRAME, fadeInButton);
_arg1.currentTarget.removeEventListener(Event.ENTER_FRAME, fadeOutButton);
}
function fadeOutButton(_arg1:Event){
if (_arg1.currentTarget.alpha > buttonInactiveAlpha){
_arg1.currentTarget.alpha = (_arg1.currentTarget.alpha - 0.1);
} else {
_arg1.currentTarget.removeEventListener(Event.ENTER_FRAME, fadeOutButton);
};
}
private function showThumbPage(_arg1:Event=null){
mcThumbPage.visible = true;
mcFullSizePage.visible = false;
}
public function init(){
var showUserID:Boolean;
var showRSS:Boolean;
var strNum:String;
var paramObj:Object;
var arrowButtonW:Number;
var arrowButtonH:Number;
var arrowH:Number;
var arrowW:Number;
var arrowColor:Number;
var buttonLineColor:Number;
var buttonFillColor:Number;
var spaceBetweenArrows:Number;
var i:Number;
var txtFormat2:TextFormat;
var searchLabels:MovieClip;
var searchTextBoxes:MovieClip;
var searchBG:Shape;
var txtY:Number;
var txtTagsLabel:TextField;
var mcSearchButton:MovieClip;
var g:Graphics;
var txtFormat:TextFormat;
var txtSearchLabel:TextField;
var mcCancelButton:MovieClip;
var txtCancelLabel:TextField;
var margin:Number;
var txtUsernameLabel:TextField;
var txtRSSLabel:TextField;
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
strNum = getPrefJS("pictureNum");
if (strNum != ""){
currentPictureNum = int(strNum);
};
paramObj = root.loaderInfo.parameters;
if (paramObj.up_showThumbs == "false"){
showThumbs = false;
};
if (paramObj.up_slideShowDelay != undefined){
slideShowDelay = (parseInt(paramObj.up_slideShowDelay) * 1000);
};
if (paramObj.up_startIndex != undefined){
startIndex = parseInt(paramObj.up_startIndex);
if (startIndex < 0){
startIndex = 0;
};
};
if (paramObj.up_imageLink != undefined){
savedImageLink = paramObj.up_imageLink;
};
if (paramObj.up_backgroundColor != undefined){
backgroundColor = parseInt(("0x" + paramObj.up_backgroundColor));
};
userID = userID.toLocaleLowerCase();
background = new Sprite();
addChild(background);
mcThumbPage = new MovieClip();
mcThumbContainers = new MovieClip();
mcThumbPage.addChild(mcThumbContainers);
addChild(mcThumbPage);
myTimer = new Timer(delay, 1);
myTimer.addEventListener(TimerEvent.TIMER_COMPLETE, startFadeOutControlPanel);
slideShowTimer = new Timer(slideShowDelay, 1);
slideShowTimer.addEventListener(TimerEvent.TIMER_COMPLETE, slideShowNextPicture);
slideShowTimer.stop();
arrowButtonW = 30;
arrowButtonH = 30;
arrowH = (arrowButtonH * 0.6);
arrowW = (arrowButtonW * 0.3);
arrowColor = 0xFFFFFF;
buttonLineColor = 0xCCCCCC;
buttonFillColor = 2577272;
spaceBetweenArrows = 3;
thumbCP = new MovieClip();
leftArrowButton = createArrowButton(buttonLineColor, buttonFillColor);
rightArrowButton = createArrowButton(buttonLineColor, buttonFillColor);
rightArrowButton.flip();
thumbFSButton = createFsButton(buttonLineColor, buttonFillColor);
searchButton = createSearchButton(buttonLineColor, buttonFillColor);
thumbButton = createThumbButton(buttonLineColor, buttonFillColor);
rightArrowButton.x = ((leftArrowButton.x + leftArrowButton.width) + spaceBetweenArrows);
thumbFSButton.x = ((rightArrowButton.x + rightArrowButton.width) + spaceBetweenArrows);
searchButton.x = ((thumbFSButton.x + thumbFSButton.width) + spaceBetweenArrows);
thumbCP.addChild(leftArrowButton);
thumbCP.addChild(rightArrowButton);
thumbCP.addChild(thumbFSButton);
thumbCP.addChild(searchButton);
thumbCP.alpha = 0;
leftArrowButton.addEventListener(MouseEvent.MOUSE_UP, loadThumbPagePrev);
rightArrowButton.addEventListener(MouseEvent.MOUSE_UP, loadThumbPageNext);
searchButton.addEventListener(MouseEvent.MOUSE_UP, showSearchForm);
thumbFSButton.addEventListener(MouseEvent.MOUSE_UP, toggleFullscreen);
mcThumbPage.addChild(thumbCP);
controlPanel = new MovieClip();
leftArrowButton = createArrowButton(buttonLineColor, buttonFillColor);
rightArrowButton = createArrowButton(buttonLineColor, buttonFillColor);
rightArrowButton.flip();
fsButton = createFsButton(buttonLineColor, buttonFillColor);
ppButton = createPlayPauseButton(buttonLineColor, buttonFillColor);
searchButton = createSearchButton(buttonLineColor, buttonFillColor);
rightArrowButton.x = ((leftArrowButton.x + leftArrowButton.width) + spaceBetweenArrows);
fsButton.x = ((rightArrowButton.x + rightArrowButton.width) + spaceBetweenArrows);
searchButton.x = ((fsButton.x + fsButton.width) + spaceBetweenArrows);
ppButton.x = ((searchButton.x + searchButton.width) + spaceBetweenArrows);
thumbButton.x = ((ppButton.x + ppButton.width) + spaceBetweenArrows);
imageContainers = new Array();
mcFullSizePage = new MovieClip();
addChild(mcFullSizePage);
i = 0;
while (i < numLoaders) {
imageContainers[i] = new ImageContainer();
mcFullSizePage.addChild(imageContainers[i]);
imageContainers[i].addEventListener("imageLoaded", imageLoaded);
imageContainers[i].addEventListener(MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
navigateToURL(new URLRequest(ImageContainer(_arg1.currentTarget).imageLink), "_top");
});
imageContainers[i].buttonMode = true;
imageContainers[i].visible = false;
i = (i + 1);
};
activeContainer = imageContainers[1];
mcFullSizePage.addChild(controlPanel);
controlPanel.addChild(leftArrowButton);
controlPanel.addChild(ppButton);
controlPanel.addChild(rightArrowButton);
controlPanel.addChild(fsButton);
controlPanel.addChild(searchButton);
controlPanel.addChild(thumbButton);
controlPanel.x = ((stage.stageWidth / 2) - (controlPanel.width / 2));
controlPanel.y = (stage.stageHeight - controlPanel.height);
addEventListener(MouseEvent.MOUSE_MOVE, startFadeInControlPanel);
rightArrowButton.addEventListener(MouseEvent.MOUSE_UP, loadNextPicture);
leftArrowButton.addEventListener(MouseEvent.MOUSE_UP, loadPrevPicture);
fsButton.addEventListener(MouseEvent.MOUSE_UP, toggleFullscreen);
ppButton.addEventListener(MouseEvent.MOUSE_UP, togglePausePlay);
searchButton.addEventListener(MouseEvent.MOUSE_UP, showSearchForm);
thumbButton.addEventListener(MouseEvent.MOUSE_UP, loadThumbPage);
controlPanel.alpha = 0;
drawBackground();
stage.addEventListener(FullScreenEvent.FULL_SCREEN, fullScreenRedraw);
stage.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut);
stage.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver);
cpFullWidth = controlPanel.width;
cpFullHeight = controlPanel.height;
cpSmallWidth = (controlPanel.width * 0.8);
cpSmallHeight = (controlPanel.height * 0.8);
thumbCPBigWidth = thumbCP.width;
thumbCPBigHeight = thumbCP.height;
thumbCPSmallWidth = (thumbCP.width * 0.8);
thumbCPSmallHeight = (thumbCP.height * 0.8);
controlPanel.width = cpSmallWidth;
controlPanel.height = cpSmallHeight;
thumbCP.width = thumbCPSmallWidth;
thumbCP.height = thumbCPSmallHeight;
searchPanel = new MovieClip();
addChild(searchPanel);
txtFormat2 = new TextFormat();
txtFormat2.color = 0;
txtFormat2.font = "Arial";
searchLabels = new MovieClip();
searchTextBoxes = new MovieClip();
searchBG = new Shape();
txtUsername = new TextField();
txtY = 0;
if (showUserID){
txtUsernameLabel = new TextField();
txtUsernameLabel.autoSize = TextFieldAutoSize.LEFT;
txtUsernameLabel.text = "Username ";
txtUsernameLabel.setTextFormat(txtFormat2);
txtUsernameLabel.x = -(txtUsernameLabel.width);
txtUsernameLabel.y = 0;
txtUsername.width = 100;
txtUsername.height = 20;
txtUsername.type = TextFieldType.INPUT;
txtUsername.border = true;
searchLabels.addChild(txtUsernameLabel);
searchLabels.setTextFormat = txtFormat2;
searchTextBoxes.addChild(txtUsername);
txtY = (txtY + 25);
};
txtRSS = new TextField();
if (showRSS){
txtRSSLabel = new TextField();
txtRSSLabel.text = "RSS URL ";
txtRSSLabel.setTextFormat(txtFormat2);
txtRSSLabel.autoSize = TextFieldAutoSize.LEFT;
txtRSSLabel.x = -(txtRSSLabel.width);
txtRSSLabel.y = txtY;
txtRSS.width = 100;
txtRSS.height = 20;
txtRSS.type = TextFieldType.INPUT;
txtRSS.defaultTextFormat = txtFormat2;
txtRSS.border = true;
txtRSS.y = txtY;
searchLabels.addChild(txtRSSLabel);
searchTextBoxes.addChild(txtRSS);
txtY = (txtY + 25);
};
txtTagsLabel = new TextField();
txtTagsLabel.autoSize = TextFieldAutoSize.LEFT;
txtTagsLabel.text = "Keywords ";
txtTagsLabel.setTextFormat(txtFormat2);
txtTagsLabel.x = -(txtTagsLabel.width);
txtTagsLabel.y = txtY;
txtTags = new TextField();
txtTags.width = 100;
txtTags.height = 20;
txtTags.type = TextFieldType.INPUT;
txtTags.defaultTextFormat = txtFormat2;
txtTags.border = true;
txtTags.y = txtY;
txtY = (txtY + 25);
searchLabels.addChild(txtTagsLabel);
searchTextBoxes.addChild(txtTags);
mcSearchButton = new MovieClip();
g = mcSearchButton.graphics;
g.beginFill(buttonFillColor);
g.drawRect(0, 0, 45, 20);
g.endFill();
txtFormat = new TextFormat();
txtFormat.color = 0xFFFFFF;
txtFormat.font = "Arial";
txtSearchLabel = new TextField();
txtSearchLabel.selectable = false;
txtSearchLabel.width = 45;
txtSearchLabel.autoSize = TextFieldAutoSize.CENTER;
txtSearchLabel.text = "search";
txtSearchLabel.setTextFormat(txtFormat);
mcSearchButton.addChild(txtSearchLabel);
searchTextBoxes.addChild(mcSearchButton);
mcSearchButton.x = 2;
mcSearchButton.y = txtY;
mcCancelButton = new MovieClip();
g = mcCancelButton.graphics;
g.beginFill(buttonFillColor);
g.drawRect(0, 0, 45, 20);
g.endFill();
txtCancelLabel = new TextField();
txtCancelLabel.selectable = false;
txtCancelLabel.width = 45;
txtCancelLabel.autoSize = TextFieldAutoSize.CENTER;
txtCancelLabel.text = "cancel";
txtCancelLabel.setTextFormat(txtFormat);
mcCancelButton.addChild(txtCancelLabel);
searchTextBoxes.addChild(mcCancelButton);
mcCancelButton.y = mcSearchButton.y;
mcCancelButton.x = ((mcSearchButton.x + mcSearchButton.width) + 6);
margin = 8;
searchLabels.x = (searchLabels.width + margin);
searchTextBoxes.x = (searchLabels.width + margin);
searchLabels.y = margin;
searchTextBoxes.y = margin;
searchPanel.addChild(searchBG);
searchPanel.addChild(searchLabels);
searchPanel.addChild(searchTextBoxes);
searchPanel.visible = false;
g = searchBG.graphics;
g.lineStyle(1, 0xFFFFFF);
g.beginFill(0xFFFFFF, 0.9);
g.drawRoundRect(0, 0, (searchPanel.width + (margin * 2)), (searchPanel.height + (margin * 2)), 5, 5);
g.endFill();
centerOnStagePositive(searchPanel);
resizeIfBiggerThanStage(searchPanel);
mcSearchButton.buttonMode = true;
mcSearchButton.mouseChildren = false;
mcCancelButton.buttonMode = true;
mcCancelButton.mouseChildren = false;
mcSearchButton.addEventListener(MouseEvent.MOUSE_UP, function (){
doSearch({userID:txtUsername.text, rssURL:txtRSS.text, tag:txtTags.text, startIndex:0});
});
mcCancelButton.addEventListener(MouseEvent.MOUSE_UP, cancelSearch);
stage.addEventListener(Event.RESIZE, resizeHandler);
resizeHandler(null);
mcFullSizePage.visible = false;
doSearch({userID:paramObj.up_userID, rssURL:paramObj.up_rssURL, tag:paramObj.up_tag});
}
private function removeThumbs(){
var _local1:Number;
if (mcThumbContainers.numChildren > 0){
_local1 = 0;
while (_local1 < mcThumbContainers.numChildren) {
mcThumbContainers.getChildAt(_local1).removeEventListener(MouseEvent.MOUSE_UP, loadImageContainerSelf);
ImageContainer(mcThumbContainers.getChildAt(_local1)).cleanUp();
_local1++;
};
while (mcThumbContainers.numChildren > 0) {
mcThumbContainers.removeChildAt(0);
};
};
}
function fadeOutControlPanel(_arg1:Event){
var _local2:MovieClip;
_local2 = MovieClip(_arg1.target);
_local2.alpha = (_local2.alpha - 0.1);
if (_local2.alpha <= 0){
_local2.removeEventListener(Event.ENTER_FRAME, fadeOutControlPanel);
};
}
function menuHandler(_arg1:ContextMenuEvent):void{
if (!fullScreenMode){
_arg1.target.customItems[0].enabled = true;
_arg1.target.customItems[1].enabled = false;
} else {
_arg1.target.customItems[0].enabled = false;
_arg1.target.customItems[1].enabled = true;
};
}
private function loadNextImageOffScreen(){
var _local1:Number;
_local1 = (currentPictureNum + 1);
loadOffScreenContainer(_local1);
}
function createTriangle(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Sprite{
var _local5:Sprite;
var _local6:Graphics;
_local5 = new Sprite();
_local6 = _local5.graphics;
_local6.lineStyle(3, _arg3);
_local6.moveTo((_arg2 * 0.1), 0);
_local6.lineTo(_arg2, 0);
_local6.moveTo(0, 0);
_local6.lineStyle(2, _arg3);
_local6.beginFill(_arg4);
_local6.lineTo(_arg1, -(_arg1));
_local6.lineTo(_arg1, 0);
_local6.lineTo(_arg1, _arg1);
_local6.lineTo(0, 0);
_local6.endFill();
return (_local5);
}
function startFadeOutControlPanel(_arg1:TimerEvent){
if (((controlPanelActive) && (((!(mouseIn)) || (!((((mouseY > (stage.stageHeight - controlPanel.height))) && ((mouseY < stage.stageHeight))))))))){
controlPanel.addEventListener(Event.ENTER_FRAME, fadeOutControlPanel);
controlPanel.removeEventListener(Event.ENTER_FRAME, fadeInControlPanel);
controlPanelActive = false;
};
if (((thumbCPActive) && (((!(mouseIn)) || (!((((mouseY > (stage.stageHeight - thumbCP.height))) && ((mouseY < stage.stageHeight))))))))){
thumbCP.addEventListener(Event.ENTER_FRAME, fadeOutControlPanel);
thumbCP.removeEventListener(Event.ENTER_FRAME, fadeInControlPanel);
thumbCPActive = false;
};
}
private function loadThumbPage(_arg1:Event=null){
stopSlideShow();
showThumbPage();
firstThumbIndex = (int((currentPictureNum / thumbsPerPage)) * thumbsPerPage);
if (firstThumbIndex < startIndex){
loadXMLPrev();
} else {
createThumbs();
};
if (!showThumbs){
showThumbs = true;
setPrefJS("showThumbs", "true");
};
}
public function getStageDimensions(_arg1:Event){
if (stage.stageWidth > 0){
removeEventListener(Event.ENTER_FRAME, getStageDimensions);
init();
};
}
private function imageLoaded(_arg1:Event){
var _local2:ImageContainer;
showFullSizePage();
_local2 = ImageContainer(_arg1.target);
if (!_local2.visible){
lastPictureNumLoaded = _local2.pictureNum;
};
if (slideShowPlaying){
if (slideShowTimerEnded){
showImage();
_local2.resizeImage(stage.stageWidth, stage.stageHeight);
loadNextImageOffScreen();
slideShowTimer.reset();
slideShowTimer.start();
slideShowTimerEnded = false;
} else {
_local2.resizeImage(stage.stageWidth, stage.stageHeight);
};
} else {
showImage();
_local2.resizeImage(stage.stageWidth, stage.stageHeight);
};
}
private function doFadeTrans(_arg1:MovieClip, _arg2:MovieClip){
var mc1 = _arg1;
var mc2 = _arg2;
Tweener.addTween(mc1, {alpha:0, time:2, onComplete:function (){
this.visible = false;
}});
mc2.visible = true;
mc2.alpha = 0;
Tweener.addTween(mc2, {alpha:1, time:2});
}
function fadeInButton(_arg1:Event){
if (_arg1.currentTarget.alpha < 1){
_arg1.currentTarget.alpha = (_arg1.currentTarget.alpha + 0.1);
} else {
_arg1.currentTarget.removeEventListener(Event.ENTER_FRAME, fadeInButton);
};
}
function togglePausePlay(_arg1:Event=null){
reverse = false;
if (slideShowPlaying){
stopSlideShow();
setPrefJS("pictureNum", ("" + currentPictureNum));
} else {
slideShowPlaying = true;
ppButton.showPause();
slideShowTimer.reset();
slideShowTimer.start();
loadNextImageOffScreen();
};
}
private function loadOnScreenContainer(_arg1:Number){
var _local2:ImageContainer;
_local2 = getContainer(true);
loadImageContainer(_local2, _arg1);
}
private function loadImageContainerSelf(_arg1:MouseEvent){
var _local2:ImageContainer;
_local2 = ImageContainer(_arg1.currentTarget);
currentPictureNum = _local2.pictureNum;
activeContainer.visible = false;
loadOffScreenContainer(currentPictureNum);
setPrefJS("pictureNum", ("" + currentPictureNum));
if (showThumbs){
showThumbs = false;
setPrefJS("showThumbs", "false");
};
}
function slideShowNextPicture(_arg1:Event){
var _local2:ImageContainer;
currentPictureNum++;
firstThumbIndex = (int((currentPictureNum / thumbsPerPage)) * thumbsPerPage);
if (lastPictureNumLoaded == currentPictureNum){
showImage();
_local2 = getContainer(true);
_local2.resizeImage(stage.stageWidth, stage.stageHeight);
loadNextImageOffScreen();
slideShowTimer.reset();
slideShowTimer.start();
slideShowTimerEnded = false;
} else {
slideShowTimerEnded = true;
};
}
function loadImageContainerThumb(_arg1:ImageContainer, _arg2:Number){
var _local3:String;
var _local4:String;
if (numPictures > 0){
_local3 = "";
_local4 = "";
if (isRSS){
_local3 = xmlResult.channel.item[(_arg2 - startIndex)].group.thumbnail[thumbXMLIndex].@url;
} else {
if (((((_arg2 - startIndex) >= 0)) && (((_arg2 - startIndex) < xmlResult.entry.length())))){
_local3 = xmlResult.entry[(_arg2 - startIndex)].group.thumbnail[thumbXMLIndex].@url;
};
};
if (_local3 != ""){
_arg1.loadImage(_local3, _arg2, _local4);
};
trace(("thumb imageURL=" + _local3));
};
}
private function showSearchForm(_arg1:Event){
searchPanel.visible = true;
controlPanel.visible = false;
thumbCP.visible = false;
if (slideShowPlaying){
togglePausePlay(null);
};
exitFullscreen();
}
private function hideSearchForm(_arg1:Event){
searchPanel.visible = false;
controlPanel.visible = true;
thumbCP.visible = true;
}
private function onMouseOut(_arg1:Event){
mouseIn = false;
}
private function createThumbs(_arg1:Event=null){
var _local2:ImageContainer;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
_local3 = (thumbsPerPage / thumbsPerRow);
_local4 = (int((firstThumbIndex / thumbsPerRow)) % _local3);
_local5 = ((int((firstThumbIndex / thumbsPerPage)) + 1) * thumbsPerPage);
if ((firstThumbIndex % thumbsPerRow) == 0){
_local4--;
};
_local6 = firstThumbIndex;
while (_local6 < _local5) {
if (_local6 >= numPictures){
firstThumbIndex = _local6;
loadXMLNext();
break;
} else {
if ((_local6 % thumbsPerPage) == 0){
removeThumbs();
};
};
if ((_local6 % thumbsPerRow) == 0){
_local4++;
};
_local2 = new ImageContainer();
mcThumbContainers.addChild(_local2);
loadImageContainerThumb(_local2, _local6);
_local2.x = (((_local6 % thumbsPerRow) * (thumbWidth + thumbMargin)) + thumbMargin);
_local2.y = ((_local4 * (thumbHeight + thumbMargin)) + thumbMargin);
_local2.addEventListener("imageLoaded", thumbLoaded);
_local2.addEventListener(MouseEvent.MOUSE_UP, loadImageContainerSelf);
_local2.buttonMode = true;
_local6++;
};
}
private function showFullSizePage(){
mcThumbPage.visible = false;
mcFullSizePage.visible = true;
}
private function thumbLoaded(_arg1:Event){
var _local2:ImageContainer;
_local2 = ImageContainer(_arg1.target);
_local2.resizeImage(thumbWidth, thumbHeight, _local2.x, _local2.y);
_local2.removeEventListener("imageLoaded", thumbLoaded);
}
public function loadXMLPrev(){
if (!mcThumbPage.visible){
firstThumbIndex = (currentPictureNum - thumbsPerPage);
};
startIndex = (int((firstThumbIndex / thumbsPerPage)) * thumbsPerPage);
if (startIndex < 0){
startIndex = 0;
};
loadXML(feedURL, displayResult);
}
function createFsButton(_arg1:Number, _arg2:Number):MovieClip{
var curve:Number;
var w:Number;
var h:Number;
var scW:Number;
var scH:Number;
var arrowColor:Number;
var g:Graphics;
var fsButton:MovieClip;
var screenSp:Sprite;
var tipL:Number;
var arrL:Number;
var expandArrows:Sprite;
var arrow1:Sprite;
var arrow2:Sprite;
var arrow3:Sprite;
var arrow4:Sprite;
var shrinkArrows:Sprite;
var buttonLineColor = _arg1;
var buttonFillColor = _arg2;
curve = 8;
w = 30;
h = 30;
scW = (w * 0.25);
scH = (h * 0.25);
arrowColor = 0xFFFFFF;
fsButton = new MovieClip();
fsButton.buttonMode = true;
g = fsButton.graphics;
g.lineStyle(2, buttonLineColor, 1, true);
g.beginFill(buttonFillColor);
g.drawRoundRect(0, 0, w, h, curve, curve);
g.endFill();
screenSp = new Sprite();
g = screenSp.graphics;
g.lineStyle(2, arrowColor);
tipL = (w * 0.15);
arrL = (w * 0.35);
expandArrows = new Sprite();
arrow1 = createTriangle(tipL, arrL, arrowColor, arrowColor);
arrow1.x = (w * 0.13);
arrow1.y = (h * 0.13);
arrow1.rotation = 45;
expandArrows.addChild(arrow1);
arrow2 = createTriangle(tipL, arrL, arrowColor, arrowColor);
arrow2.x = (w * 0.87);
arrow2.y = (h * 0.13);
arrow2.rotation = 135;
expandArrows.addChild(arrow2);
arrow3 = createTriangle(tipL, arrL, arrowColor, arrowColor);
arrow3.x = (w * 0.87);
arrow3.y = (h * 0.87);
arrow3.rotation = 225;
expandArrows.addChild(arrow3);
arrow4 = createTriangle(tipL, arrL, arrowColor, arrowColor);
arrow4.x = (w * 0.13);
arrow4.y = (h * 0.87);
arrow4.rotation = 315;
expandArrows.addChild(arrow4);
shrinkArrows = new Sprite();
arrow1 = createTriangle(tipL, arrL, arrowColor, arrowColor);
arrow1.x = (w * 0.4);
arrow1.y = (h * 0.4);
arrow1.rotation = 225;
shrinkArrows.addChild(arrow1);
arrow2 = createTriangle(tipL, arrL, arrowColor, arrowColor);
arrow2.x = (w * 0.6);
arrow2.y = (h * 0.4);
arrow2.rotation = 315;
shrinkArrows.addChild(arrow2);
arrow3 = createTriangle(tipL, arrL, arrowColor, arrowColor);
arrow3.x = (w * 0.6);
arrow3.y = (h * 0.6);
arrow3.rotation = 45;
shrinkArrows.addChild(arrow3);
arrow4 = createTriangle(tipL, arrL, arrowColor, arrowColor);
arrow4.x = (w * 0.4);
arrow4.y = (h * 0.6);
arrow4.rotation = 135;
shrinkArrows.addChild(arrow4);
fsButton.addChild(shrinkArrows);
fsButton.addChild(expandArrows);
fsButton.addChild(screenSp);
fsButton.showEnterFullScreen = function (){
expandArrows.visible = true;
shrinkArrows.visible = false;
};
fsButton.showExitFullScreen = function (){
expandArrows.visible = false;
shrinkArrows.visible = true;
};
fsButton.showEnterFullScreen();
return (fsButton);
}
function exitFullscreen(){
if (fullScreenMode){
stage.displayState = StageDisplayState.NORMAL;
};
}
private function drawBackground(){
background.graphics.clear();
background.graphics.beginFill(backgroundColor);
background.graphics.drawRect(0, 0, stage.stageWidth, stage.stageHeight);
background.graphics.endFill();
}
function exitFullScreen(_arg1:ContextMenuEvent):void{
stage.displayState = StageDisplayState.NORMAL;
}
private function loadOffScreenContainer(_arg1:Number){
var _local2:ImageContainer;
_local2 = getContainer(false);
if (_arg1 >= numPictures){
loadXMLNext();
} else {
if ((_arg1 - startIndex) < 0){
loadXMLPrev();
} else {
loadImageContainer(_local2, _arg1);
};
};
}
private function determineThumbsPerPage(){
var _local1:*;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
_local2 = 0;
_local4 = stage.stageWidth;
_local5 = stage.stageHeight;
if ((((_local4 > 600)) && ((_local5 > 500)))){
thumbWidth = 144;
thumbHeight = 144;
thumbXMLIndex = 1;
thumbMargin = 10;
} else {
thumbWidth = 72;
thumbHeight = 72;
thumbXMLIndex = 0;
thumbMargin = 5;
};
thumbsPerRow = int((stage.stageWidth / (thumbWidth + thumbMargin)));
_local1 = int(((stage.stageHeight + _local2) / (thumbHeight + thumbMargin)));
thumbsPerPage = (_local1 * thumbsPerRow);
mcThumbContainers.x = ((_local4 / 2) - (((thumbWidth + thumbMargin) * thumbsPerRow) / 2));
mcThumbContainers.y = ((_local5 / 2) - (((thumbHeight + thumbMargin) * _local1) / 2));
}
private function getPrefJS(_arg1:String):String{
var _local2:Object;
_local2 = ExternalInterface.call("getPrefForFlash", _arg1);
trace(((("getPref: " + _arg1) + "=") + _local2));
return (("" + _local2));
}
public function displayResult(_arg1:Event){
var loader:URLLoader;
var tempXML:XML;
var i:Number;
var e = _arg1;
loader = URLLoader(e.target);
tempXML = new XML(loader.data);
if (isRSS){
numPictures = tempXML.channel.item.length();
} else {
numPictures = tempXML.entry.length();
};
numPictures = (numPictures + startIndex);
if (currentPictureNum > numPictures){
currentPictureNum = 0;
};
if (numPictures > 0){
if (numPictures < maxResults){
lastPictureNum = (numPictures - 1);
};
xmlResult = tempXML;
if (firstLoad){
if (isRSS){
i = 0;
while (i < xmlResult.channel.item.length()) {
if (savedImageLink == xmlResult.channel.item[i].link){
currentPictureNum = (i + startIndex);
break;
};
i = (i + 1);
};
} else {
i = 0;
while (i < xmlResult.entry.length()) {
if (savedImageLink == xmlResult.entry[i].link.(@rel == "alternate").@href){
currentPictureNum = (i + startIndex);
break;
};
i = (i + 1);
};
};
firstThumbIndex = (int((currentPictureNum / thumbsPerPage)) * thumbsPerPage);
};
if (showThumbs){
loadThumbPage();
} else {
loadOffScreenContainer(currentPictureNum);
setPrefJS("pictureNum", ("" + currentPictureNum));
};
} else {
removeThumbs();
if (firstLoad){
firstLoad = false;
startIndex = 0;
currentPictureNum = 0;
firstThumbIndex = 0;
loadXML(feedURL, displayResult);
trace("had to reload due to no pictures");
};
};
firstLoad = false;
setPrefJS("startIndex", ("" + startIndex));
}
public function loadXML(_arg1:String, _arg2:Function){
var _local3:Number;
var _local4:LocalConnection;
var _local5:String;
var _local6:URLRequest;
var _local7:URLLoader;
_local3 = Math.max(this.maxResults, thumbsPerPage);
_arg1 = (_arg1 + ((("&start-index=" + (startIndex + 1)) + "&max-results=") + _local3));
_local4 = new LocalConnection();
_local5 = _local4.domain;
trace(("url=" + _arg1));
_local6 = new URLRequest(_arg1);
_local7 = new URLLoader();
_local7.addEventListener(Event.COMPLETE, _arg2);
_local7.load(_local6);
}
private function setPrefJS(_arg1:String, _arg2:String):void{
var _local3:Object;
_local3 = ExternalInterface.call("setPrefForFlash", _arg1, _arg2);
}
function fullScreenRedraw(_arg1:FullScreenEvent):void{
if (_arg1.fullScreen){
fullScreenMode = true;
controlPanel.width = cpFullWidth;
controlPanel.height = cpFullHeight;
thumbCP.width = thumbCPBigWidth;
thumbCP.height = thumbCPBigHeight;
fsButton.showExitFullScreen();
thumbFSButton.showExitFullScreen();
} else {
controlPanel.width = cpSmallWidth;
controlPanel.height = cpSmallHeight;
thumbCP.width = thumbCPSmallWidth;
thumbCP.height = thumbCPSmallHeight;
fullScreenMode = false;
fsButton.showEnterFullScreen();
thumbFSButton.showEnterFullScreen();
};
resizeHandler(null);
if (mcThumbPage.visible){
loadThumbPage();
} else {
activeContainer.visible = false;
loadOnScreenContainer(currentPictureNum);
};
if (slideShowPlaying){
loadNextImageOffScreen();
};
}
function startFadeOutButton(_arg1:MouseEvent){
_arg1.currentTarget.addEventListener(Event.ENTER_FRAME, fadeOutButton);
_arg1.currentTarget.removeEventListener(Event.ENTER_FRAME, fadeInButton);
}
function loadNextPicture(_arg1:Event){
reverse = false;
currentPictureNum++;
if (slideShowPlaying){
togglePausePlay(null);
};
firstThumbIndex = (int((currentPictureNum / thumbsPerPage)) * thumbsPerPage);
loadOffScreenContainer(currentPictureNum);
setPrefJS("pictureNum", ("" + currentPictureNum));
}
private function getContainer(_arg1:Boolean):ImageContainer{
var _local2:Number;
_local2 = (activeContainerNum + 1);
if (_local2 >= numLoaders){
_local2 = 0;
};
return (imageContainers[_local2]);
}
private function toggleThumbFullSizePage(){
if (mcThumbPage.visible == true){
mcThumbPage.visible = false;
mcFullSizePage.visible = true;
} else {
mcThumbPage.visible = true;
mcFullSizePage.visible = false;
};
}
function loadImageContainer(_arg1:ImageContainer, _arg2:Number){
var description:String;
var imageURL:String;
var imageLink:String;
var container = _arg1;
var i = _arg2;
i = (i - startIndex);
if (numPictures > 0){
if (isRSS){
if (stage.stageHeight < 400){
imageURL = xmlResult.channel.item[i].group.thumbnail[2].@url;
} else {
imageURL = xmlResult.channel.item[i].group.content.@url;
};
description = xmlResult.channel.item[i].group.description;
imageLink = xmlResult.channel.item[i].link;
} else {
if (stage.stageHeight < 400){
imageURL = xmlResult.entry[i].group.thumbnail[2].@url;
} else {
imageURL = xmlResult.entry[i].group.content.@url;
};
description = xmlResult.entry[i].group.description;
imageLink = xmlResult.entry[i].link.(@rel == "alternate").@href;
};
if (!slideShowPlaying){
setPrefJS("imageLink", imageLink);
};
imageLink = StringUtil.replace(imageLink, "photos.googleapis.com", "picasaweb.google.com");
trace(("imageURL=" + imageURL));
container.loadImage(imageURL, (i + startIndex), imageLink, description);
};
}
private function onMouseOver(_arg1:Event){
mouseIn = true;
}
public function loadXMLNext(){
startIndex = (int((currentPictureNum / thumbsPerPage)) * thumbsPerPage);
loadXML(feedURL, displayResult2);
}
function resizeHandler(_arg1:Event):void{
determineThumbsPerPage();
controlPanel.x = ((stage.stageWidth / 2) - (controlPanel.width / 2));
controlPanel.y = (stage.stageHeight - controlPanel.height);
thumbCP.x = ((stage.stageWidth / 2) - (thumbCP.width / 2));
thumbCP.y = (stage.stageHeight - thumbCP.height);
centerOnStagePositive(searchPanel);
resizeIfBiggerThanStage(searchPanel);
if (!mcThumbPage.visible){
centerOnStage(activeContainer);
activeContainer.resizeImage(stage.stageWidth, stage.stageHeight);
};
drawBackground();
}
function createArrowButton(_arg1:Number, _arg2:Number):MovieClip{
var curve:Number;
var arrowButtonW:Number;
var arrowButtonH:Number;
var arrowH:Number;
var arrowW:Number;
var arrowColor:Number;
var g:Graphics;
var arrowButton:MovieClip;
var arrowSp:Sprite;
var buttonLineColor = _arg1;
var buttonFillColor = _arg2;
curve = 8;
arrowButtonW = 30;
arrowButtonH = 30;
arrowH = (arrowButtonH * 0.65);
arrowW = (arrowButtonW * 0.3);
arrowColor = 0xFFFFFF;
arrowButton = new MovieClip();
arrowButton.buttonMode = true;
g = arrowButton.graphics;
g.lineStyle(2, buttonLineColor, 1, true);
g.beginFill(buttonFillColor);
g.drawRoundRect(0, 0, arrowButtonW, arrowButtonH, curve, curve);
g.endFill();
arrowSp = new Sprite();
g = arrowSp.graphics;
g.lineStyle(2, arrowColor);
g.beginFill(arrowColor);
g.moveTo(arrowW, 0);
g.lineTo(arrowW, (arrowH * 0.26));
g.lineTo((arrowW + (arrowW * 0.75)), (arrowH * 0.26));
g.lineTo((arrowW + (arrowW * 0.75)), (arrowH * 0.74));
g.lineTo(arrowW, (arrowH * 0.74));
g.lineTo(arrowW, arrowH);
g.lineTo(0, (arrowH / 2));
g.lineTo(arrowW, 0);
g.endFill();
arrowSp.y = ((arrowButtonH / 2) - (arrowH / 2));
arrowSp.x = ((arrowButton.width / 2) - (arrowSp.width * 0.55));
arrowButton.addChild(arrowSp);
arrowButton.flip = function (){
arrowSp.scaleX = -1;
arrowSp.x = (arrowSp.x + arrowSp.width);
};
return (arrowButton);
}
}
}//package