Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- stop();
- //////////////////////import packages/////////////////////////
- import flash.utils.Timer;
- import flash.net.*;//used to call the asp api
- import flash.external.*;//used to get the url where the flash resides.
- import com.landingpage.Base64;//package for encoding login
- //////////////DECLARE VARS Objects and Movieclips/////////////
- var checkLengthStop:Boolean=false;//boolean to control if function that checks for length is active or deactive
- var phoneNumberLength:int;//length depends on countryID
- var showTimerNumberInput:Boolean;//show timer while number input is not correct
- t_and_c_checkbox.label=" ";//leave space, this creates a large hotspot for the checkbox
- user_error_text.htmlText="";
- input_phone_number.restrict="0-9";//restrict input to only numbers
- var countryCode:String;
- var clockTicker:clockTick = new clockTick;
- var colorTimer_phonenumber:Number;
- colorTimer_phonenumber=timer_phonenumber.textColor;
- var timerPhoneNumber:int;
- page3_next_btn.buttonMode=true;
- var feedback_message_voorwaarden:String;
- var feedback_message_nummer:String;
- var feedback_message_error:String;
- ///////////////////////SET VARS//////////////////////////////
- var timerPhoneNumberLength:int=50;//timer count down in seconds
- timerPhoneNumber=timerPhoneNumberLength;
- var timerLastSecondsColor:uint=0xFF0000;//standard red color for last 10 seconds
- function getNetworkID(){
- var currentURL:String = "";
- var netWorkID:String = "";
- var netWorkString:String = "";
- var netWorkStringLength:int = 0;
- try{
- currentURL=String(ExternalInterface.call("window.location.href.toString"));
- }catch(err:Error){
- networkid.htmlText = "Kan url niet ophalen";
- }
- if(currentURL.indexOf("?") != -1){//there's a ? in the string
- var array:Array=currentURL.split("?");
- netWorkString=array[1];//url after ?
- array = netWorkString.split("&");
- for (var i:int=0; i<array.length; i++) {
- netWorkString = array[i].substr(0,9);
- netWorkString = netWorkString.toLowerCase()
- if(netWorkString=="networkid"){
- netWorkStringLength = array[i].length;
- netWorkID = array[i].substr(10,netWorkStringLength);
- networkid.htmlText = netWorkID;
- }
- }
- }
- }
- getNetworkID();//execute function
- /////////////////////// END SET VARS//////////////////////////////
- setDynamicContentPage3();//function uses xml settings to set flexible content
- function setDynamicContentPage3():void {
- if (errorLoadingXML==false) {
- if (loadXmlFile.getSettings("show_timer")=="on") {
- showTimerNumberInput=true;
- } else {
- clock_mc.visible=false;
- timer_phonenumber.visible=false;
- showTimerNumberInput=false;
- }
- if (loadXmlFile.getSettings("show_legalline")=="on") {
- legalline.visible=true;
- } else {
- legalline.visible=false;
- }
- if (loadXmlFile.getSettings("show_t_and_c")=="on") {
- t_and_c_checkbox.visible=true;
- t_and_c_line.visible=true;
- } else {
- t_and_c_checkbox.visible=false;
- t_and_c_checkbox.selected=true;
- t_and_c_line.visible=false;
- }
- phonenumber_correct.visible=false;//green ok image only visible when phonenumber is inserted correctly
- pijltjes2.visible=true;
- countryCode=loadXmlFile.getSettings("country_code");
- phoneNumberLength=int(loadXmlFile.getSettings("phonenumber_length"));
- input_phone_number.text=loadXmlFile.getSettings("phonenumber_prequel");
- input_phone_number.maxChars=phoneNumberLength;
- exampletext_phone_number.text=loadXmlFile.getSettings("exampletext_phone_number");
- //
- feedback_message_voorwaarden = loadXmlFile.getSettings("feedback_message_voorwaarden");
- feedback_message_nummer = loadXmlFile.getSettings("feedback_message_nummer");
- feedback_message_error = loadXmlFile.getSettings("feedback_message_error");
- } else {
- //there was an error loading xml so set everything turned off and country UK
- clock_mc.visible=false;
- timer_phonenumber.visible=false;
- showTimerNumberInput=false;
- legalline.visible=false;//
- t_and_c_checkbox.visible=false;
- t_and_c_checkbox.selected=true;
- t_and_c_line.visible=false;
- phonenumber_correct.visible=false;//green ok image only visible when phonenumber is inserted correctly
- countryCode="0000";
- phoneNumberLength=8;
- input_phone_number.maxChars=phoneNumberLength;
- exampletext_phone_number.text="e.g.0012345678";
- feedback_message_voorwaarden = "Click OK";
- feedback_message_nummer = "Click OK";
- feedback_message_error ="There has been an error!";
- }
- }
- //add listeners to main button which calls the asp page and receives the returncode
- page3_next_btn.addEventListener(MouseEvent.MOUSE_OVER,page3nextbtnOver);
- page3_next_btn.addEventListener(MouseEvent.MOUSE_OUT,page3nextbtnOut);
- page3_next_btn.addEventListener(MouseEvent.MOUSE_UP,page3nextbtnReleased);
- function page3nextbtnOver(event:MouseEvent) {
- if(phonenumber_correct.visible==false){
- page3_next_btn.gotoAndPlay(2);
- }else{
- page3_next_btn.gotoAndPlay(14);
- }
- }
- function page3nextbtnOut(event:MouseEvent) {
- if(phonenumber_correct.visible==false){
- page3_next_btn.gotoAndPlay(10);
- }else{
- page3_next_btn.gotoAndPlay(21);
- }
- }
- function page3nextbtnReleased(event:MouseEvent) {
- trace("Page3 Next Button pressed");
- event.target.gotoAndStop(1);
- if (t_and_c_checkbox.selected&&input_phone_number.length==phoneNumberLength) {
- //phonenumber field is filled in and t&c is checked
- if (showTimerNumberInput==true) {
- clock_mc.removeClock();
- phoneNumberTimer.removeEventListener(TimerEvent.TIMER, showTimerPhoneNumber);
- checkNumberTimer.stop();
- checkNumberTimer.removeEventListener(TimerEvent.TIMER, checkLengthPhoneNumber);
- } else {
- checkNumberTimer.stop();
- checkNumberTimer.removeEventListener(TimerEvent.TIMER, checkLengthPhoneNumberTimerOff);
- }
- sendNumberRequest();//function calls the asp page na receives the retuncode
- } else if (input_phone_number.length==phoneNumberLength) {
- //only phonenumber field is filled, t&c is unchecked
- t_and_c_checkbox.selected=true;
- feedback.y=0;
- feedback.message.htmlText=feedback_message_voorwaarden;
- feedback.feedback_button.addEventListener(MouseEvent.MOUSE_UP,feedbackGoToPage4);
- } else {
- //phonenumber field is not completely filled in and t&c is unchecked
- if (showTimerNumberInput==true) {
- clock_mc.stopClock();
- phoneNumberTimer.stop();
- checkLengthStop=true;//deactivate phonenumber lenght check, cause this function restarts clock
- feedback.feedback_button.addEventListener(MouseEvent.MOUSE_UP,continueTimerPhoneNumber);
- }
- feedback.y=0;
- feedback.message.htmlText=feedback_message_nummer;
- }
- }
- //feedback action after user has clicked ok the sendrequest function is called which calls the asp page
- //and receives the returncode
- function feedbackGoToPage4(event:MouseEvent) {
- feedback.feedback_button.removeEventListener(MouseEvent.MOUSE_UP,feedbackGoToPage4);
- if (showTimerNumberInput==true) {
- clock_mc.removeClock();
- phoneNumberTimer.removeEventListener(TimerEvent.TIMER, showTimerPhoneNumber);
- checkNumberTimer.stop();
- checkNumberTimer.removeEventListener(TimerEvent.TIMER, checkLengthPhoneNumber);
- } else {
- checkNumberTimer.stop();
- checkNumberTimer.removeEventListener(TimerEvent.TIMER, checkLengthPhoneNumberTimerOff);
- }
- sendNumberRequest();
- }
- //////////////////////////////Timer Section///////////////////////////////////////////
- var checkNumberTimer:Timer;
- checkNumberTimer=new Timer(200,0);
- if (showTimerNumberInput==true) {
- //add timer for phonenumber input
- clock_mc.startClock(50000,12);
- var phoneNumberTimer:Timer;
- phoneNumberTimer=new Timer(1000,0);
- phoneNumberTimer.addEventListener(TimerEvent.TIMER, showTimerPhoneNumber);
- checkNumberTimer.addEventListener(TimerEvent.TIMER, checkLengthPhoneNumber);
- phoneNumberTimer.start();
- checkNumberTimer.start();
- timer_phonenumber.text=String(timerPhoneNumber);
- } else {
- checkNumberTimer.addEventListener(TimerEvent.TIMER, checkLengthPhoneNumberTimerOff);
- checkNumberTimer.start();
- }
- function checkLengthPhoneNumberTimerOff(event:TimerEvent) {
- if (input_phone_number.length==phoneNumberLength) {
- phonenumber_correct.visible=true;
- pijltjes2.visible=false;
- } else {
- phonenumber_correct.visible=false;
- pijltjes2.visible=true;
- }
- }
- function showTimerPhoneNumber(event:TimerEvent) {
- try{
- timerPhoneNumber--;
- timer_phonenumber.text=String(timerPhoneNumber);
- if (timerPhoneNumber<11) {
- timer_phonenumber.textColor=timerLastSecondsColor;
- } else {
- timer_phonenumber.textColor=colorTimer_phonenumber;
- }
- if (timerPhoneNumber==0) {
- timerPhoneNumber=timerPhoneNumberLength+1;
- }
- if (input_phone_number.length==phoneNumberLength) {
- clock_mc.stopClock();
- phoneNumberTimer.stop();
- phonenumber_correct.visible=true;
- pijltjes2.visible=false;
- page3_next_btn.gotoAndStop(14);
- }
- }catch(error:Error){
- trace("ShowTimerPhoneNumber Error");
- phoneNumberTimer.removeEventListener(TimerEvent.TIMER, showTimerPhoneNumber);
- }
- }
- function checkLengthPhoneNumber(event:TimerEvent) {
- try{
- if (input_phone_number.length<phoneNumberLength&&! phoneNumberTimer.running&&timerPhoneNumber>0&&checkLengthStop==false) {
- clock_mc.restartClock();
- phoneNumberTimer.start();
- phonenumber_correct.visible=false;
- pijltjes2.visible=true;
- trace("Restart Timer check phonenumber");
- }
- }catch(error:Error){
- trace("CheckLengthTimer Error");
- checkNumberTimer.removeEventListener(TimerEvent.TIMER, checkLengthPhoneNumber);
- }
- }
- function continueTimerPhoneNumber(event:Event) {
- feedback.feedback_button.removeEventListener(MouseEvent.MOUSE_UP,continueTimerPhoneNumber);
- checkLengthStop=false;
- }
- function restartAllTimers():void {
- //after error code this function restarts timers so user can give an alternate number
- if (showTimerNumberInput==true) {
- clock_mc.removeClock();
- clock_mc.startClock(50000,12);
- timerPhoneNumber=50;
- phoneNumberTimer.addEventListener(TimerEvent.TIMER, showTimerPhoneNumber);
- checkNumberTimer.addEventListener(TimerEvent.TIMER, checkLengthPhoneNumber);
- phoneNumberTimer.start();
- checkNumberTimer.start();
- } else {
- checkNumberTimer.addEventListener(TimerEvent.TIMER, checkLengthPhoneNumberTimerOff);
- checkNumberTimer.start();
- }
- }
- ///////////////////////////END Timer Section//////////////////////////////////////////////////////////////////START opt-in API Section///////////////////////////
- var loader:URLLoader = new URLLoader();
- var webOptInAPITest:String;//url to web opt-in API for test
- var currentURL:String;
- var phoneNumber:String;//phonenumber
- function sendNumberRequest():void {
- //check input and on error show error message next to phonenumber inputfield
- //on success go to page4
- //var webOptInAPI:String;//url to web opt-in API
- //var variablesAPI:String;//parameters for API
- var useServerIP:String;
- //useServerIP = loadXmlFile.getSettings("useserverip");
- phoneNumber=input_phone_number.text;
- phoneNumber=phoneNumber.substr(1,phoneNumber.length);
- phoneNumber=countryCode+phoneNumber;
- trace("phoneNumber: "+phoneNumber);
- try{
- currentURL=String(ExternalInterface.call("window.location.href.toString"));
- }catch(err:Error){
- currentURL="Empty";
- }
- var affiliateURL:String = loadXmlFile.getSettings("affiliateurl");
- var array:Array=currentURL.split("?");
- for (var i:int=1; i<array.length; i++) {
- if(affiliateURL.indexOf("?") != -1){//there's a ? in the string so start with a & symbol to complete the parameters string
- if(i==1){
- affiliateURL=affiliateURL+"&"+array[i];
- }else{
- affiliateURL=affiliateURL+"?"+array[i];
- }
- }
- affiliateURL=affiliateURL+"&msisdn="+phoneNumber;
- webOptInAPITest=useServerIP;
- var variables:URLVariables=new URLVariables();
- variables.subscriber=phoneNumber;
- variables.weboptinapi=loadXmlFile.getSettings("weboptinapi");
- variables.TemplateID=loadXmlFile.getSettings("template");
- variables.scenario=loadXmlFile.getSettings("scenario");
- variables.cmguid=loadXmlFile.getSettings("cmguid");
- variables.country_id=loadXmlFile.getSettings("country_id");
- //variables.NetworkID=networkid.text;
- //variables.MSISDN=phoneNumber;
- variables.affiliateurl=affiliateURL;
- variables.hash=loadXmlFile.getSettings("hash");
- //variables.PIN = test.text;
- //variables.MNO = mijnCombobox.selectedItem.data;
- //var xmlString:String = "<?xml version='1.0' encoding='ISO-8859-1'?><root><value>63</value></root>";
- //var xmlData:XML = new XML(xmlString);
- var request:URLRequest = new URLRequest();
- request.url=useServerIP;
- request.method=URLRequestMethod.POST;
- request.data=variables;
- //request.data=xmlData.toXMLString();
- //request.data=xmlString;
- //request.contentType = "text/xml";
- //loader.dataFormat=URLLoaderDataFormat.TEXT;
- //loader.dataFormat=URLLoaderDataFormat.VARIABLES;
- loader.addEventListener(Event.COMPLETE, completeHandler);
- loader.addEventListener(IOErrorEvent.IO_ERROR, onASPLoadIOError );
- loader.load(request);
- }
- function completeHandler(event:Event):void {
- var xmlDataReturned:XML = new XML(event.target.data);
- var returnCode:String;
- //returnCode=event.target.data;
- returnCode=xmlDataReturned.RESULT.@ID;
- trace("API Return CODE: "+returnCode);
- loader.removeEventListener(Event.COMPLETE, completeHandler);
- loader.removeEventListener(IOErrorEvent.IO_ERROR, onASPLoadIOError );
- if (returnCode=="000" || returnCode=="0") {
- page3_next_btn.removeEventListener(MouseEvent.MOUSE_OVER,page3nextbtnOver);
- page3_next_btn.removeEventListener(MouseEvent.MOUSE_OUT,page3nextbtnOut);
- page3_next_btn.removeEventListener(MouseEvent.MOUSE_UP,page3nextbtnReleased);
- user_error_text.htmlText="";
- sendLeadPixel();
- gotoAndStop("page4");
- }else {
- user_error_text.htmlText=feedback_message_error;
- restartAllTimers();//restart timers so user can enter a different phonenumber
- }
- }
- function onASPLoadIOError(event:Event):void {
- trace("Unable to load web opt-in API");
- user_error_text.htmlText=feedback_message_error;
- restartAllTimers();//restart timers so user can enter a different phonenumber
- }
- //send lead pixel functions
- function sendLeadPixel(){
- var leadURL:String = "http://api.gogogy.com/lead";
- var variablesLead:String = "";
- var array:Array=currentURL.split("?");
- for (var i:int=1; i<array.length; i++) {
- if(i>1){
- variablesLead=variablesLead+"?"+array[i];
- }else{
- variablesLead=variablesLead+array[i];
- }
- }
- if(variablesLead==""){
- variablesLead = "msisdn="+phoneNumber;
- }else{
- variablesLead = variablesLead+"&msisdn="+phoneNumber;
- }
- var variables:URLVariables=new URLVariables(variablesLead);
- var request:URLRequest = new URLRequest();
- request.url=leadURL;
- request.method=URLRequestMethod.POST;
- //authorization part
- var login:String = "gogogy:Pappie23!";
- var credentials:String = Base64.encode(login);
- var authHeader:URLRequestHeader = new URLRequestHeader("Authorization","Basic " + credentials);
- request.requestHeaders.push(authHeader);
- //authorization part
- request.data=variables;
- loader.dataFormat=URLLoaderDataFormat.TEXT;
- //loader.dataFormat=URLLoaderDataFormat.VARIABLES;
- loader.addEventListener(Event.COMPLETE, completeHandler2);
- loader.addEventListener(IOErrorEvent.IO_ERROR, onASPLoadIOError2);
- loader.load(request);
- }
- function completeHandler2(event:Event):void {
- var xmlDataReturned:XML = new XML(event.target.data);
- var returnCode:String;
- returnCode=xmlDataReturned.status;//@ID;
- //returnCode=event.target.data;
- loader.removeEventListener(Event.COMPLETE, completeHandler2);
- loader.removeEventListener(IOErrorEvent.IO_ERROR, onASPLoadIOError2);
- if (returnCode=="SAVED") {
- user_error_text.htmlText="";
- //remove listeners to main button which calls the asp page and receives the returncode
- page3_next_btn.removeEventListener(MouseEvent.MOUSE_OVER,page3nextbtnOver);
- page3_next_btn.removeEventListener(MouseEvent.MOUSE_OUT,page3nextbtnOut);
- page3_next_btn.removeEventListener(MouseEvent.MOUSE_UP,page3nextbtnReleased);
- checkNumberTimer.removeEventListener(TimerEvent.TIMER, checkLengthPhoneNumberTimerOff);
- }else{
- user_error_text.htmlText=feedback_message_error;
- }
- }
- function onASPLoadIOError2(event:Event):void {
- trace("Unable to load leadpixel");
- user_error_text.htmlText=feedback_message_error;
- }
- }
- ///////////////////////////END ASP opt-in API Section///////////////////////////
Add Comment
Please, Sign In to add comment