ovvio ...chiedo scusa ti invio tutta il Main.as del guestbook modificato...
Code:
/*
*************************************
Guest Book
http://www.FlepStudio.org
© Author: Filippo Lughi
version 1.0
*************************************
*/
package
{
import flash.display.MovieClip;
import flash.text.TextField;
import flash.geom.Rectangle;
import flash.utils.Timer;
import fl.controls.SliderDirection;
import flash.events.Event;
import flash.events.MouseEvent;
import fl.events.SliderEvent;
import flash.events.TimerEvent;
import flash.net.URLLoader;
import flash.net.URLVariables;
import flash.net.URLRequest;
import flash.net.URLRequestMethod;
import flash.net.URLLoaderDataFormat;
import flash.events. IEventDispatcher;
public class Main extends MovieClip
{
private var file_xml:LoadingXML;
private var mess_container_mc:MovieClip;
private var mask_mc:MovieClip;
private var timer:Timer;
private var formStartX:Number;
private var formStartY:Number;
var contr:String;
public function Main()
{
init();
createContainer();
loadXML();
}
private function init():void
{
stage.frameRate=31;
info_mc.x=stage.stageWidth/2;
info_mc.y=stage.stageHeight/2;
bg_mc.x=0;
bg_mc.y=0;
bg_mc.width=stage.stageWidth;
bg_mc.height=stage.stageHeight;
form_mc.alpha=0;
box_mc.alpha=0;
slide_mc.visible=false;
}
private function createContainer():void
{
mess_container_mc=new MovieClip();
mess_container_mc.alpha=0;
addChild(mess_container_mc);
}
private function loadXML():void
{
file_xml=new LoadingXML(this);
}
public function displayGuestBook():void
{
removeLoadingInfo();
createClipsForEachMessage();
}
private function removeLoadingInfo():void
{
info_mc.stop();
removeChild(info_mc);
}
private function createClipsForEachMessage():void
{
for(var i:int=0;i0)
Store.clips_array[i].y=Store.clips_array[i-1].y+Store.clips_array[i-1].height+10;
}
fadeIn(mess_container_mc);
}
private function createMask():void
{
mask_mc=new MovieClip();
addChild(mask_mc);
mask_mc.graphics.beginFill(0xFF6600,1);
mask_mc.graphics.drawRect(0,0,Store.clips_array[0].width+10,form_mc.height+box_mc.height+15);
mask_mc.x=Store.clips_array[0].x-5;
mask_mc.y=Store.clips_array[0].y-5;
mess_container_mc.mask=mask_mc;
}
private function initForm():void
{
form_mc.scope_mc.mouseChildren=false;
form_mc.x=Store.clips_array[0].x+Store.clips_array[0].width+20+form_mc.width/2;
form_mc.y=Store.clips_array[0].y+form_mc.height/2;
formStartX=form_mc.x;
formStartY=form_mc.y-20;
fadeIn(form_mc);
swapChildren(mess_container_mc,form_mc);
form_mc.message_txt.background=true;
form_mc.message_txt.backgroundColor=0xFFFFFF;
form_mc.scope_mc.buttonMode=true;
form_mc.scope_mc.addEventListener(MouseEvent.MOUSE_DOWN,setDown);
form_mc.scope_mc.addEventListener(MouseEvent.MOUSE_UP,setUp);
}
private function setDown(evt:MouseEvent):void
{
form_mc.removeEventListener(Event.ENTER_FRAME,moveFormBack);
var rect:Rectangle=new Rectangle(evt.currentTarget.parent.width/2,evt.currentTarget.parent.height/2,
stage.stageWidth-evt.currentTarget.parent.width,stage.stageHeight-evt.currentTarget.parent.height);
evt.currentTarget.parent.startDrag(false,rect);
}
private function setUp(evt:MouseEvent):void
{
evt.currentTarget.parent.stopDrag();
var xx:Number=box_mc.x-form_mc.x;
var yy:Number=box_mc.y-form_mc.y;
var distance:Number=Math.sqrt(xx*xx+yy*yy);
if(distance<100)
suckTheForm();
else
notCentered();
}
private function initBox():void
{
box_mc.x=form_mc.x;
box_mc.y=form_mc.y+form_mc.height+10;
fadeIn(box_mc);
}
private function initSlide():void
{
slide_mc.width=mask_mc.height;
slide_mc.direction=SliderDirection.VERTICAL;
slide_mc.move(Store.clips_array[0].x-20,Store.clips_array[0].y+mask_mc.height);
slide_mc.minimum=mess_container_mc.x;
slide_mc.maximum=mess_container_mc.height-mask_mc.height;
slide_mc.visible=true;
slide_mc.value=slide_mc.minimum;
slide_mc.rotation*=-1;
slide_mc.addEventListener(SliderEvent.THUMB_PRESS,pressing);
slide_mc.addEventListener(SliderEvent.THUMB_RELEASE,stopTheLogic);
slide_mc.addEventListener(SliderEvent.CHANGE,pressing);
}
private function pressing(evt:SliderEvent):void
{
evt.target.addEventListener(Event.ENTER_FRAME,go);
}
private function go(evt:Event):void
{
mess_container_mc.y=-evt.target.value;
}
private function stopTheLogic(evt:SliderEvent):void
{
evt.target.removeEventListener(Event.ENTER_FRAME,go);
}
private function fadeIn(m:MovieClip):void
{
m.addEventListener(Event.ENTER_FRAME,go);
function go(evt:Event):void
{
var da:Number=1-evt.currentTarget.alpha;
var aa:Number=da*.2;
evt.currentTarget.alpha+=aa;
if(Math.abs(da)<=.1)
{
evt.currentTarget.alpha=1;
evt.currentTarget.removeEventListener(Event.ENTER_FRAME,go);
}
}
}
private function suckTheForm():void
{
var arr:int=0;
var arr2:Number=box_mc.x;
var arr3:Number=box_mc.y;
var arr4:int=0;
form_mc.addEventListener(Event.ENTER_FRAME,suck);
function suck(evt:Event):void
{
var dx:Number=arr-evt.currentTarget.scaleX;
var ax:Number=dx*.2;
evt.currentTarget.scaleX+=ax;
evt.currentTarget.scaleY+=ax;
var dX:Number=arr2-evt.currentTarget.x;
var aX:Number=dX*.2;
evt.currentTarget.x+=aX;
var dY:Number=arr3-evt.currentTarget.y;
var aY:Number=dY*.2;
evt.currentTarget.y+=aY;
var da:Number=arr4-evt.currentTarget.alpha;
var aa:Number=da*.2;
evt.currentTarget.alpha+=aa;
if(Math.abs(dx)<=.1)
{
evt.currentTarget.scaleX=arr;
evt.currentTarget.scaleY=arr;
evt.currentTarget.removeEventListener(Event.ENTER_FRAME,suck);
checkTheForm();
}
}
}
private function checkTheForm():void
{
if(EmailChecker.checkEMail(form_mc.email_txt.text))
{
switch(form_mc.name_txt.text)
{
case '':
notValid('name');
break;
default:
switch(form_mc.message_txt.text)
{
case '':
notValid('message');
break;
default:
inviaDati();
if(contr!='1')
{
sendMessage();
break;
}
else
{
notValid('mail');
}
}
break;
}
}
else
notValid('mail');
}
private function inviaDati():void
{
var ContrEmail:String=String(form_mc.email_txt.text);
var variables:URLVariables=new URLVariables(ContrEmail);
var richiesta:URLRequest=new URLRequest();
richiesta.url='http://www.nomedelsito.com/control_email.php';
richiesta.method=URLRequestMethod.POST;
richiesta.data=variables;
var loader:URLLoader=new URLLoader();
loader.dataFormat=URLLoaderDataFormat.VARIABLES;
addListeners(loader);
try
{
loader.load(richiesta);
}
catch (error:Error)
{
trace('Unable to load richiestaed document.');
}
}
private function addListeners(d:IEventDispatcher):void
{
d.addEventListener(Event.COMPLETE,completato);
}
private function completato(e:Event):void
{
var loader:URLLoader=URLLoader(e.target);
var vars:URLVariables=new URLVariables(loader.data);
contr=(vars.answer).toString();
}
private function notValid(s:String):void
{
var arr:int=1;
var arr2:Number=formStartX;
var arr3:Number=formStartY;
var arr4:int=1;
form_mc.addEventListener(Event.ENTER_FRAME,suck);
function suck(evt:Event):void
{
var dx:Number=arr-evt.currentTarget.scaleX;
var ax:Number=dx*.2;
evt.currentTarget.scaleX+=ax;
evt.currentTarget.scaleY+=ax;
var dX:Number=arr2-evt.currentTarget.x;
var aX:Number=dX*.2;
evt.currentTarget.x+=aX;
var dY:Number=arr3-evt.currentTarget.y;
var aY:Number=dY*.2;
evt.currentTarget.y+=aY;
var da:Number=arr4-evt.currentTarget.alpha;
var aa:Number=da*.2;
evt.currentTarget.alpha+=aa;
if(Math.abs(dx)<=.1)
{
evt.currentTarget.scaleX=arr;
evt.currentTarget.scaleY=arr;
evt.currentTarget.removeEventListener(Event.ENTER_FRAME,suck);
switch(s)
{
case 'mail':
evt.currentTarget.scope_mc.output_txt.text=' EMAIL NON VALIDO ';
resetOutput();
break;
case 'name':
evt.currentTarget.scope_mc.output_txt.text=' NOME NON VALIDO ';
resetOutput();
break;
case 'message':
evt.currentTarget.scope_mc.output_txt.text=' MESSAGGIO NON VALIDO ';
resetOutput();
break;
}
}
}
}
private function notCentered():void
{
form_mc.addEventListener(Event.ENTER_FRAME,moveFormBack);
}
private function moveFormBack(evt:Event):void
{
var arr2:Number=formStartX;
var arr3:Number=formStartY+10;
var dX:Number=arr2-evt.currentTarget.x;
var aX:Number=dX*.3;
evt.currentTarget.x+=aX;
var dY:Number=arr3-evt.currentTarget.y;
var aY:Number=dY*.3;
evt.currentTarget.y+=aY;
if(Math.abs(dX)<=.3)
{
evt.currentTarget.x=arr2;
evt.currentTarget.y=arr3;
evt.currentTarget.removeEventListener(Event.ENTER_FRAME,moveFormBack);
}
}
private function resetOutput():void
{
timer=new Timer(1500,1);
timer.addEventListener(TimerEvent.TIMER,reset);
timer.start();
function reset(evt:TimerEvent):void
{
form_mc.scope_mc.output_txt.text=' ';
}
}
private function sendMessage():void
{
var send_the_message:SendTheMessage=new SendTheMessage(form_mc.name_txt.text,form_mc.email_txt.text,form_mc.message_txt.text,this);
}
}
}