import flash.filters.GradientGlowFilter; import flash.external.*; import Screens.ProfileScreen; import Screens.RegisterAccountScreen; class AccountInfo { private var mFirstName:String; private var mMiddleName:String; private var mLastName:String; private var mHomeAddress1:String; private var mHomeAddress2:String; private var mHomeCity:String; private var mHomeState:String; private var mHomeZipCode:String; private var mBillingAddress1:String; private var mBillingAddress2:String; private var mBillingCity:String; private var mBillingState:String; private var mBillingZipCode:String; private var mEmailAddress:String; private var mPassword:String; private var mPasswordRecoveryQuestion:String; private var mPasswordRecoveryAnswer:String; //private var caption1:TextInput; //private var caption2:TextInput; //private var ageInDays:TextInput; private var mUserName:String; private var mRace:String; private var mHomeCountry:String; private var mBillingCountry:String; private var mIsMale:Boolean; private var mAgeInDays:Number; private var mBirthYear:Number; private var mBirthMonth:Number; private var mBirthDate:Number; private var mAboutMe:String; private var mActivities:String; private var mInterests:String; private var mFavoriteGames:String; private var mFavoriteMovies:String; private var mFavoriteBooks:String; private var mFavoriteQuotes:String; private static var mInstance:AccountInfo; public function AccountInfo() { mInstance = this; } public static function get Instance():AccountInfo { return mInstance; } public function GetAccountInfoFromServer():Void { ConsoleWindow.Trace("AccountInfo.GetAccountInfoFromServer"); // Do not change the order the parameters are passed in as ExternalInterface.call("f2c_GetAccountDetails"); } public function ServerSetAccountInfo( resultIdentifier:String, firstNameParam:String, middleNameParam:String, lastNameParam:String, raceParam:String, sex_maleParam:Boolean, homeAddress1Param:String, homeAddress2Param:String, homeCityParam:String, homeStateParam:String, homeCountryParam:String, homeZipCodeParam:String, billingAddress1Param:String, billingAddress2Param:String, billingCityParam:String, billingStateParam:String, billingCountryParam:String, billingZipCodeParam:String, emailAddressParam:String, passwordParam:String, passwordRecoveryQuestionParam:String, passwordRecoveryAnswerParam:String, caption1Param:String, caption2Param:String, ageInDaysParam:Number, aboutMe:String, activities:String , interests:String, favGames:String , favMovies:String, favBooks:String, favQuotes:String ):Void { ConsoleWindow.Trace( "AccountInfo.ServerSetAccountInfo()... " + resultIdentifier ); switch (resultIdentifier) { case "SUCCESS": { mFirstName = firstNameParam; mMiddleName = middleNameParam; mLastName = lastNameParam; mRace = raceParam; mIsMale = sex_maleParam; mHomeAddress1 = homeAddress1Param; mHomeAddress2 = homeAddress2Param; mHomeCity = homeCityParam; mHomeState = homeStateParam; mHomeCountry = homeCountryParam; mHomeZipCode = homeZipCodeParam; mBillingAddress1 = billingAddress1Param; mBillingAddress2 = billingAddress2Param; mBillingCity = billingCityParam; mBillingState = billingStateParam; mBillingCountry = billingCountryParam; mBillingZipCode = billingZipCodeParam; mEmailAddress = emailAddressParam; mPassword = passwordParam; mPasswordRecoveryQuestion = passwordRecoveryQuestionParam; mPasswordRecoveryAnswer = passwordRecoveryAnswerParam; //caption1.text = caption1Param; //caption2.text = caption2Param; mAgeInDays = ageInDaysParam; var object:Object = { }; ConvertAgeDaysToBirthdate( mAgeInDays, object ); mBirthYear = object.year; mBirthMonth = object.month; mBirthDate = object.date; mUserName = LobbyInterface.Instance.GetUsername(); mAboutMe = aboutMe; mActivities = activities; mInterests = interests; mFavoriteGames = favGames; mFavoriteBooks = favBooks; mFavoriteMovies = favMovies; mFavoriteQuotes = favQuotes; /* ConsoleWindow.Trace("Home state = " + mHomeState); ConsoleWindow.Trace("Race = " + mRace); ConsoleWindow.Trace("mBirthYear = " + mBirthYear); ConsoleWindow.Trace("mBirthMonth = " + mBirthMonth); ConsoleWindow.Trace("mBirthDate = " + mBirthDate); ConsoleWindow.Trace("mAgeInDays = " + mAgeInDays); ConsoleWindow.Trace("aboutMe = " + aboutMe); ConsoleWindow.Trace("activities = " + activities); ConsoleWindow.Trace("interests = " + interests); ConsoleWindow.Trace("favGames = " + favGames); ConsoleWindow.Trace("favMovies = " + favMovies); ConsoleWindow.Trace("favBooks = " + favBooks); ConsoleWindow.Trace("favQuotes = " + favQuotes);*/ ProfileScreen.Instance.OnReceivedPlayerInfo(); break; } case "DATABASE_CONSTRAINT_FAILURE": //ConsoleWindow.Trace( "Can't find the logged in user in the database for some reason" ); LobbyInterface.Instance.CreateMessageBox(resultIdentifier); break; } } public function GetFirstName():String { return mFirstName; } public function GetMiddleName():String { return mMiddleName; } public function GetLastName():String { return mLastName; } public function GetRace():String { return mRace; } public function GetIsMale():Boolean { return mIsMale; } public function GetHomeAddress1():String { return mHomeAddress1; } public function GetHomeAddress2():String { return mHomeAddress2; } public function GetHomeCity():String { return mHomeCity; } public function GetHomeState():String { return mHomeState; } public function GetHomeCountry():String { return mHomeCountry; } public function GetHomeZipCode():String { return mHomeZipCode; } public function GetBillingAddress1():String { return mBillingAddress1; } public function GetBillingAddress2():String { return mBillingAddress2; } public function GetBillingCity():String { return mBillingCity; } public function GetBillingState():String { return mBillingState; } public function GetBillingCountry():String { return mBillingCountry; } public function GetBillingZipCode():String { return mBillingZipCode; } public function GetEmailAddress():String { return mEmailAddress; } public function GetPassword():String { return mPassword; } public function GetPasswordRecoveryQuestion():String { return mPasswordRecoveryQuestion; } public function GetPasswordRecoveryAnswer():String { return mPasswordRecoveryAnswer; } public function GetAgeInDays():Number { return mAgeInDays; } public function GetBirthYear():Number { return mBirthYear; } public function GetBirthMonth():Number { return mBirthMonth; } public function GetBirthDate():Number { return mBirthDate; } public function GetUserName():String { return mUserName; } public function GetAboutMe():String { return mAboutMe; } public function GetActivities():String { return mActivities; } public function GetInterests():String { return mInterests; } public function GetFavoriteGames():String { return mFavoriteGames; } public function GetFavoriteBooks():String { return mFavoriteBooks; } public function GetFavoriteMovies():String { return mFavoriteMovies; } public function GetFavoriteQuotes():String { return mFavoriteQuotes; } public function SetFirstName( firstName:String ):Void { mFirstName = firstName; } public function SetMiddleName( middleName:String ):Void { mMiddleName = middleName; } public function SetLastName( lastName:String ):Void { mLastName = lastName; } public function SetRace( race:String ):Void { mRace = race; } public function SetIsMale( isMale:Boolean ):Void { mIsMale = isMale; } public function SetHomeAddress1( homeAddress1:String):Void { mHomeAddress1 = homeAddress1; } public function SetHomeAddress2( homeAddress2:String):Void { mHomeAddress2 = homeAddress2; } public function SetHomeCity( homeCity:String):Void { mHomeCity = homeCity; } public function SetHomeState( homeState:String):Void { mHomeState = homeState; } public function SetHomeCountry( homeCountry:String):Void { mHomeCountry = homeCountry; } public function SetHomeZipCode( homeZipeCode:String):Void { mHomeZipCode = homeZipeCode; } public function SetBillingAddress1( billingAddress1:String):Void { mBillingAddress1 = billingAddress1; } public function SetBillingAddress2( billingAddress2:String):Void { mBillingAddress2 = billingAddress2; } public function SetBillingCity( billingCity:String):Void { mBillingCity = billingCity; } public function SetBillingState( billingState:String):Void { mBillingState = billingState; } public function SetBillingCountry( billingCountry:String):Void { mBillingCountry = billingCountry; } public function SetBillingZipCode( billingZipCode:String):Void { mBillingZipCode = billingZipCode; } public function SetEmailAddress( billingEmail:String):Void { mEmailAddress = billingEmail; } public function SetPassword( password:String):Void { mPassword = password; } public function SetPasswordRecoveryQuestion( passwordQuestion:String):Void { mPasswordRecoveryQuestion = passwordQuestion; } public function SetPasswordRecoveryAnswer( passwordAnswer:String):Void { mPasswordRecoveryAnswer = passwordAnswer; } public function SetAgeInDays( ageInDays:Number ):Void { mAgeInDays = ageInDays; } public function SetBirthYear( birthYear:Number ):Void { mBirthYear = birthYear; } public function SetBirthMonth( birthMonth:Number ):Void { mBirthMonth = birthMonth; } public function SetBirthDate( birthDate:Number ):Void { mBirthDate = birthDate; } public function SetUserName( username:String ):Void { mUserName = username; } public function SetAboutMe( aboutMe:String ):Void { mAboutMe = aboutMe; } public function SetActivities( activities:String ):Void { mActivities = activities; } public function SetInterests( interests:String ):Void { mInterests = interests; } public function SetFavoriteGames( games:String ):Void { mFavoriteGames = games; } public function SetFavoriteBooks( books:String ):Void { mFavoriteBooks = books; } public function SetFavoriteMovies( movies:String ):Void { mFavoriteMovies = movies; } public function SetFavoriteQuotes( quotes:String ):Void { mFavoriteQuotes = quotes; } public static function ConvertBirthdateToDays( month:Number, date:Number, year:Number ):Number { var ageInDays:Number = 0; month -= 1; //jan = 0, feb = 1.... var curDate:Date = new Date(); var curMonth:Number = curDate.getMonth(); ageInDays = (curDate.getFullYear() - year) * 365; if( month > curMonth ) { ageInDays -= 365; } for ( var i:Number = 0; i < 12; i++ ) { if ( month != curMonth ) { ageInDays += RegisterAccountScreen.MonthDays[month]; month = ( month + 1 ) % 12; } else { ageInDays += curDate.getDate() - date; break; } } return ageInDays; } public static function ConvertAgeDaysToBirthdate( ageInDays:Number, object:Object ):Void { //ConsoleWindow.Trace("ConsoleWindow.Trace(), ageInDays = " + ageInDays); var curDate:Date = new Date(); var yearFromNow:Number = Math.floor(ageInDays / 365); ageInDays = ageInDays % 365; var month:Number = curDate.getMonth(); var date:Number = curDate.getDate(); for ( var i:Number = 0; i < 12; i++ ) { trace("Age in days = " + ageInDays); if( ageInDays >= date ) { month--; if( month < 0 ) { month = 11; yearFromNow++; } ageInDays -= RegisterAccountScreen.MonthDays[month]; } else { date = date - ageInDays; break; } } object.year = curDate.getFullYear() - yearFromNow; object.month = month + 1; object.date = date; //ConsoleWindow.Trace("year = " + year + ", month = " + month + ", date = " + date); } }