package {
import flash.filters.DropShadowFilter;
import flash.net.*;
import flash.xml.*;
import flash.events.*;
import flash.text.*;
import flash.display.*;
import flash.net.URLRequest;
import flash.display.*;
import gs.TweenMax;
import gs.easing.*;
import gs.plugins.*;
import fl.motion.easing.*;
import fl.transitions.*;
import flash.events.MouseEvent;
import flash.utils.getTimer;
import com.pixelfumes.reflect.*;
import flash.utils.*;
import fl.controls.*;
import fl.managers.StyleManager;
public class contatti extends MovieClip {
private var my_indirizzo:Array;
private var timer:Timer;
private var yconst:Number=30;
private var counter:int=0;
private var myFormat:TextFormat;
private var myFormat1:TextFormat;
private var variables:URLVariables;
private var varSend:URLRequest;
private var varLoader:URLLoader;
//private var font:urban = new urban();
private var m:MovieClip;
private var imageDX:Loadall;
private var source:XML;
private var xmlDATA:Object;
public function contatti() {
addEventListener(Event.ADDED_TO_STAGE,loadXMLF);
trace("aggiungo listener");
//trace(font.fontName);
//StyleManager.setStyle("styleName", myFormat);
}
private function loadXMLF(e:Event) {
removeEventListener(Event.ADDED_TO_STAGE,init);
//load xml
var xmlLoader:URLLoader = new URLLoader();
xmlLoader.addEventListener(Event.COMPLETE, init);
xmlLoader.load(new URLRequest("component/xml/contacts_tr.xml"));
}
private function init(evt:Event):void {
///xml data storage
XML.ignoreWhitespace=true;
source = new XML(evt.target.data);
xmlDATA = { company:source.info.company, name:source.info.name, phone:source.info.phone, email:source.info.email, request:source.info.request, submit:source.info.submit };
trace("root.parent",this.parent,"xml contact loaded");
trace("root.parent.parent",root.parent.parent.parent.parent.parent);
m=root.parent.parent.parent.parent.parent as MovieClip;
this.fondonerogal.filters = [new DropShadowFilter(0, 45, 0, 10, 10)];
TweenMax.to(fondonerogal,1,{scaleX:0.8,scaleY:0.7,alpha:0.7,ease:Strong.easeOut});
//counter++;
TweenMax.to(form,0.8,{alpha:1,ease:Strong.easeOut,delay:1, onComplete:initform});
//initform();
TweenMax.to(indirizzi_dx,0.8,{alpha:1,ease:Strong.easeOut,delay:1, onComplete:initdx});
trace("sheet", m.sheet);
//add stylesheet
form.titoletti.fix_soc.styleSheet = m.sheet;
form.titoletti.fix_name.styleSheet = m.sheet;
form.titoletti.fix_tel.styleSheet = m.sheet;
form.titoletti.fix_email.styleSheet = m.sheet;
form.titoletti.fix_request.styleSheet = m.sheet;
//
form.status_txt.styleSheet = m.sheet;
indirizzi_dx.address.styleSheet = m.sheet;
form.titoletti.fix_soc.embedFonts = true;
form.titoletti.fix_name.embedFonts = true;
form.titoletti.fix_tel.embedFonts = true;
form.titoletti.fix_email.embedFonts = true;
form.titoletti.fix_request.embedFonts = true;
form.titoletti.fix_soc.antiAliasType = AntiAliasType.ADVANCED;
form.titoletti.fix_name.antiAliasType = AntiAliasType.ADVANCED;
form.titoletti.fix_tel.antiAliasType = AntiAliasType.ADVANCED;
form.titoletti.fix_email.antiAliasType = AntiAliasType.ADVANCED;
form.titoletti.fix_request.antiAliasType = AntiAliasType.ADVANCED;
form.status_txt.antiAliasType = AntiAliasType.ADVANCED;
indirizzi_dx.address.antiAliasType = AntiAliasType.ADVANCED;
//
form.status_txt.embedFonts = true;
indirizzi_dx.address.embedFonts = true;
getImage();
}
private function getImage() {
//load bkg
imageDX=new Loadall("component/data/images/contact_image.jpg");
imageDX.addEventListener(Loadall.DONE, getDataImage);
}
private function getDataImage(e:Event) {
imageDX.removeEventListener(Loadall.DONE, getDataImage);
var backMC = imageDX.loaded;
var bot:Bitmap = backMC;
bot.smoothing = true;
backMC.alpha=0;
backMC.x = -172 ;
backMC.y = 12;
//listener
indirizzi_dx.addChildAt(backMC, 0);
TweenMax.to(backMC, 1, { alpha:1 } );
}
// ----------------------INIZIO FORM ----------------------------------//
private function initform() {
//set fixed text
form.titoletti.fix_soc.htmlText = "<span class='form'>"+source.info.company+"</span>";
form.titoletti.fix_name.htmlText = "<span class='form'>*"+source.info.name+"</span>";
form.titoletti.fix_tel.htmlText = "<span class='form'>"+source.info.phone+"</span>";
form.titoletti.fix_email.htmlText = "<span class='form'>*"+source.info.email+"</span>";
form.titoletti.fix_request.htmlText = "<span class='form'>*"+source.info.request+"</span>";
indirizzi_dx.address.htmlText = m.site_address;
form.send_btn.label = source.info.submit;
//////////////////////////
trace("inzio form");
variables = new URLVariables();
varSend=new URLRequest("form_info.php");
varLoader=new URLLoader ;
varSend.method=URLRequestMethod.POST;
varSend.data=variables;
//sets focus to the Name text box
stage.focus=form.socName;
//sets value of text boxes
form.status_txt.htmlText="";
//textEmail.text = emailContents;
//method to submit form
form.send_btn.addEventListener(MouseEvent.CLICK, sendActions);
//clear_btn.addEventListener(MouseEvent.CLICK, clearFields);
}
//function called from method, contains validation logic and var data to be sent to form
function sendActions(event:MouseEvent):void {
//conditional logic to validate form fields
if (! form.textName.length) {
form.status_txt.htmlText="<span class='note'>PLEASE INSERT NAME.</span>";
} else if (!form.textEmail.length) {
form.status_txt.htmlText="<span class='note'>PLEASE INSERT EMAIL</span>";
} else if (!validateEmail(form.textEmail.text)) {
form.status_txt.htmlText="<span class='note'>PLEASE INSERT VALID EMAIL</span>";
} else if (!form.textBody.length) {
form.status_txt.htmlText="<span class='note'>PLEASE INSERT REQUEST</span>";
} else {
form.status_txt.htmlText="<span class='note'>THANK YOU. DATA RECEIVED.";
//sends the text box variables to email.php by calling the varSend method
//these lines are commented out for testing purposes
variables.textName=form.textName.text;
variables.textEmail=form.textEmail.text;
variables.textBody=form.textBody.text;
variables.tel=form.tel.text;
variables.socName=form.socName.text;
trace(variables);
varLoader.load(varSend);
trace("-----");
trace("Valid email: "+validateEmail(form.textEmail.text));
trace("Email: "+form.textEmail.text);
trace("Text length: "+form.textBody.length);
trace("Form validated");
clearFields();
}//moves mc timeline to frame 2
//gotoAndStop(2);
}
//clear button
function clearFields():void {
//form.status_txt.text="";
form.textName.text="";
form.textEmail.text="";
form.textBody.text="";
form.socName.text="";
form.tel.text="";
//resets cursor in name text box
stage.focus=form.socName;
}
function validateEmail(str:String):Boolean {
var pattern:RegExp=/(\w|[_.\-])+@((\w|-)+\.)+\w{2,4}+/;
var result:Object=pattern.exec(str);
if (result==null) {
return false;
}
return true;
}
function validatePhoneNumber(str:String):Boolean {
var pattern:RegExp=/^\d{3}-\d{3}-\d{4}$/;
var result:Object=pattern.exec(str);
if (result==null) {
return false;
}
return true;
}
// ----------------------FINE FORM ----------------------------------//
// ----------------------INIZIO DX ----------------------------------//
private function initdx() {
trace("inzio dx");
//Tweener.addTween(indirizzi_dx.fotocont,{alpha:1,rotationY:45,time:0.8,transition:"easeOutCubic",delay:1});
}
}
}