package
{
import adobe.utils.CustomActions;
import flash.display.Sprite;
import flash.events.*;
import flash.display.*;
import flash.events.MouseEvent;
import flash.events.TimerEvent;
import flash.text.TextField;
import flash.text.TextFormat;
import flash.text.TextFieldType;
import flash.utils.Timer;
import flash.net.*;
import flash.geom.*;
import flash.events.*;
/**
* ...
* @author Arrall W. Austin
*
* Copyright 2011
*/
[Frame(factoryClass="Preloader")]
public class Main extends Sprite
{
[Embed(source = "C:\\WINDOWS\\Fonts\\comic.ttf", fontFamily="ooga", embedAsCFF = "false")]
public var ffsbar:String;
public static var worldsetup:Number = 0;
public static var emoticons:Array = new Array();
public static var lastemotion:Number = 0;
public static var qqq:Array = new Array();
public static var lastwastext = 0;
public static var trys:Number = 0;
public static var thisnodeid:String = new String();
public static var currentnodeid:String = new String();
public static var desc:TextField = new TextField();
public static var sib:TextField = new TextField();
public static var cp:TextField = new TextField();
public static var addnode:Sprite = new Sprite();
public static var dirty:Number = 0;
public static var lasttype:Number = 0;
public static var playbutton:TextField = new TextField();
public static var loginstatus:TextField = new TextField();
public static var mystatus:TextField = new TextField();
public static var sqinputname:TextField = new TextField();
public static var sqinputtype:TextField = new TextField();
public static var sqrotation:TextField = new TextField();
public static var sqinputurl:TextField = new TextField();
public static var sqimgurl:TextField = new TextField();
public static var sqsubmit:TextField = new TextField();
public static var verifyimg:TextField = new TextField();
public static var verifyurl:TextField = new TextField();
public static var title:TextField = new TextField();
public static var addtag:TextField = new TextField();
public static var tagbox:TextField = new TextField();
public static var remove:TextField = new TextField();
public static var nonestring:String = "http://www.wudiware.com/img/none.png";
public static var domoveup:Number = 0;
public static var domovedown:Number = 0;
public static var domoveleft:Number = 0;
public static var domoveright:Number = 0;
public static var maxrange:Number = 300;
public static var currentrange:Number = 0;
public static var ctgreen:ColorTransform = new ColorTransform(1, 1, 1, 1, -250, 100, -250, 0);
public static var ctwhite:ColorTransform = new ColorTransform(1, 1, 1, 1, 0, 0, 0, 0);
public static var thisparentid:String = new String();
public static var selectednode:obook;
public static var selectednodeid:String = new String("-1");
public static var loginstartcreate:TextField = new TextField();
public static var cancelcreate:TextField = new TextField();
public static var mybutton:Number = 0x51bba4;
public static var mybuton:Number = 0xa1c3b9;
public static var mybrightred:Number = 0xc8220e;
public static var mywhite:Number = 0xffffff;
public static var mygreen:Number = 0x0efb0e;// 0x2b9310;
public static var myblue:Number = 0x3f5580;
public static var myred:Number = 0xe00020;
public static var mylightred:Number = 0xff7c7c;
public static var mylightgreen:Number = 0xbff293;
public static var myyellow:Number = 0xe0e300;
public static var globalbackgroundcolor:Number = 0x2a5163;
public static var verified:Number = 0;
public static var ispritesize:Number = 80;
public static var logincreateaccount:TextField = new TextField();
public static var loginrepeatpassword:TextField = new TextField();
public static var loginusername:TextField = new TextField();
public static var loginpassword:TextField = new TextField();
public static var loginwarning:TextField = new TextField();
public static var myusername:String = new String();
public static var mypassword:String = new String();
public static var infobox:TextField = new TextField();
public static var modify:TextField = new TextField();
public static var worldrate:Number = 70;
public static var maxaffin:Number = 100;
public static var maxdistance:Number = 0;
public static var worldskew:Number = 170;
public var loggedstate:Number = 0;
public static var clb:loadbook = new loadbook();
public static var loadlings:Array = new Array();
public static var loadstate:Number = 0;
public static var lastgrow:Number = 0;
public static var growdelay:Number = 1000;
public static var maxsprites:Number = 600;
public static var friendcount:Number = 0;
public static var spritetracker:Array = new Array();
public static var dotspritetracker:Array = new Array();
public static var loadflag:Number = 0;
public static var oloading:Array = new Array();
public static var obooks:Array = new Array();
public static var zoomlevel:Number = 1;
public static var dummy:obook = new obook();
public static var obb:obook = new obook();
public static var numquadsx:Number = 0;
public static var numquadsy:Number = 0;
public static var totalfriends:Number = 0;
public static var totalactivesprites:Number = 0;
public static var screenwidth:Number = 700;
public static var screenheight:Number = 580;
private static var menuimg:Sprite = new Sprite();
[Embed(source='../assets/error.png')]
private static var loaderrorClass:Class;
private static var loaderrorbd:Bitmap = new loaderrorClass();
[Embed(source='../assets/addnode.png')]
private static var addnodebClass:Class;
private static var addnodebm:Bitmap = new addnodebClass();
private static var menusprite:Sprite = new Sprite();
/*
[Embed(source='../assets/smiley.png')]
private static var smileyClass:Class;
private static var smileyb:Bitmap = new smileyClass();
*/
/*
[Embed(source='../assets/addquestion.png')]
private static var addquestionClass:Class;
private static var addquestionb:Bitmap = new addquestionClass();
*/
[Embed(source='../assets/closewindow.png')]
private static var closewindowClass:Class;
private static var closewindowb:Bitmap = new closewindowClass();
private static var closewindow:Sprite = new Sprite();
/*
[Embed(source='../assets/addstatement.png')]
private static var asmClass:Class;
private static var addstatementb:Bitmap = new asmClass();
*/
[Embed(source='../assets/statement.png')]
private static var circlebgClass:Class;
private static var circlebgb:Bitmap = new circlebgClass();
private static var circlething:BitmapData = circlebgb.bitmapData;
[Embed(source='../assets/bg.png')]
private static var acirclebgClass:Class;
private static var acirclebgb:Bitmap = new acirclebgClass();
private static var bgd:BitmapData = acirclebgb.bitmapData;
var bg:Sprite = new Sprite();
[Embed(source='../assets/likebutton.png')]
private static var likebClass:Class;
private static var likebuttonbm:Bitmap = new likebClass();
var likebutton:Sprite = new Sprite();
/*
[Embed(source='../assets/dislikebutton.png')]
private static var dislikebClass:Class;
private static var dislikebuttonbm:Bitmap = new dislikebClass();
*/
var dislikebutton:Sprite = new Sprite();
[Embed(source='../assets/menubg.png')]
private static var aacirclebgClass:Class;
private static var aacirclebgb:Bitmap = new aacirclebgClass();
private static var menubgb:BitmapData = aacirclebgb.bitmapData;
var menubg:Sprite = new Sprite();
/*
[Embed(source='../assets/like.png')]
private static var likeClass:Class;
private static var likeb:Bitmap = new likeClass();
[Embed(source='../assets/dislike.jpg')]
private static var dislikeClass:Class;
private static var dislikeb:Bitmap = new dislikeClass();
[Embed(source='../assets/comfort.png')]
private static var comfortClass:Class;
private static var comfortb:Bitmap = new comfortClass();
[Embed(source='../assets/pain.jpg')]
private static var painClass:Class;
private static var painb:Bitmap = new painClass();
[Embed(source='../assets/happy.png')]
private static var happyClass:Class;
private static var happyb:Bitmap = new happyClass();
[Embed(source='../assets/sad.jpg')]
private static var sadClass:Class;
private static var sadb:Bitmap = new sadClass();
*/
public var addstatement:Sprite = new Sprite();
[SWF(width="700", height="580", frameRate="33")]
public function Main():void
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
public function startgame():void {
currentnodeid = "0";
getthenodes(currentnodeid);
}
public function handlelogin(e:Event):void {
var loader:URLLoader = URLLoader(e.target);
var vars:URLVariables = new URLVariables(loader.data);
if (vars.check ==0) {
loginstatus.text = "Incorrect login info";
}
if (vars.check == 1) {
hidelogin();
myusername = vars.username;
mypassword = vars.password;
startgame();
}
}
public function hidelogin():void {
loginstartcreate.visible = false;
loginrepeatpassword.visible = false;
logincreateaccount.visible = false;
loginusername.visible = false;
loginpassword.visible = false;
loginwarning.visible = false;
loginstatus.visible = false;
title.visible = false;
playbutton.visible = false;
}
public function sendcreateaccount(e:Event) {
var loader:URLLoader = URLLoader(e.target);
var vars:URLVariables = new URLVariables(loader.data);
if (vars.check ==0) { loginstatus.text = "Username is taken"; return; }
else {
mypassword = vars.password;
myusername = vars.username;
hidelogin();
startgame();
}
}
public function createaccount(e:Event):void {
if (loginpassword.text == loginrepeatpassword.text) {
loginstatus.text = "Attempting creations...";
var bobb:URLLoader = new URLLoader();
bobb.dataFormat = URLLoaderDataFormat.VARIABLES;
var rq:URLRequest = new URLRequest("http://fjjuhfaa.joyent.us/emma/createaccount.php?username=" + loginusername.text +"&password=" + loginpassword.text+ "&noCache="+new Date().getTime());
bobb.addEventListener(Event.COMPLETE, sendcreateaccount);
bobb.load(rq);
}else {
loginstatus.text = "Passwords do not match";
}
}
public function cancelcreateclick(e:Event):void {
loginusername.visible = true;
loginpassword.visible = true;
logincreateaccount.visible = true;
loginrepeatpassword.visible = false;
loginstartcreate.visible = true;
cancelcreate.visible = false;
}
public function loadcreatescreen(e:Event):void {
loginusername.visible = true;
loginpassword.visible = true;
logincreateaccount.visible = false;
loginrepeatpassword.visible = true;
logincreateaccount.visible = true;
loginstartcreate.visible = false;
cancelcreate.visible = true;
}
public function onmousewheel(e:MouseEvent):void {
var dd:Number = e.delta;
if (dd < 0 && zoomlevel >=.1 ) {
zoomlevel = zoomlevel - .05;
}else
{
if (dd > 0 && zoomlevel <= 2) {
zoomlevel += .05;
}
}
}
public function closemenus()
{
shownodes();
dislikebutton.visible = false;
likebutton.visible = false;
remove.visible = false;
tagbox.visible = false;
addtag.visible = false;
modify.visible = false;
verifyimg.visible = false;
verifyurl.visible = false;
menuimg.visible = false;
menubg.visible = false;
sqinputname.visible = false;
sqinputtype.visible = false;
sqrotation.visible = false;
sqinputurl.visible = false;
sqimgurl.visible = false;
sqsubmit.visible = false;
cp.visible = false;
sib.visible = false;
desc.visible = false;
}
public function showaddquestion(e:Event) {
hidenodes();
lasttype = 0;
menubg.visible = true;
menubg.y = 65;
menubg.width = screenwidth;
menubg.height = screenheight - menubg.y;
verifyimg.visible = true;
verifyurl.visible = true;
menuimg.visible = true;
sqinputname.text = "Simple phrased question goes here.";
var rndd:Number = Math.floor(Math.random() * 100);
sqrotation.text = rndd.toString();
sqinputurl.text = "http://www.wudiware.com/";
sqimgurl.text = nonestring;
desc.text = "Short description of your statement goes here, can be web address";
sqinputname.visible = true;
//sqinputtype.visible = true;
sqinputurl.visible = true;
sqimgurl.visible = true;
sqsubmit.visible = true;
sib.visible = true;
cp.visible = true;
desc.visible = true;
}
public function login(e:Event):void {
var bobb:URLLoader = new URLLoader();
bobb.dataFormat = URLLoaderDataFormat.VARIABLES;
var rq:URLRequest = new URLRequest("http://fjjuhfaa.joyent.us/emma/login.php?username=" + loginusername.text +"&password=" + loginpassword.text+ "&noCache="+new Date().getTime());
bobb.addEventListener(Event.COMPLETE, handlelogin);
bobb.load(rq);
}
public function handleinput(e:KeyboardEvent):void {
//var movevelo:Number = 10;
trace("keycode: ", e.keyCode);
if (e.keyCode == 87) { if(menubg.visible==false){ domoveup = 1;} }//obb.worldy += movevelo;}
if (e.keyCode == 83) { if(menubg.visible==false){domovedown = 1;}}// obb.worldy -= movevelo; }
if (e.keyCode == 65) { if(menubg.visible==false){domoveleft = 1; }}// += movevelo; }
if (e.keyCode == 68) { if(menubg.visible==false){domoveright = 1; }}// obb.worldx -= movevelo; }
if (e.keyCode == 81 && menubg.visible == false ) {
//load parent node
getthenodes(thisparentid);
}
if (e.keyCode == 32) {
if (selectednode != null) {
if(menubg.visible == false){
loadpage(selectednode);
}else {
}
}
}
if (e.keyCode == 82 && menubg.visible == false ) { // R
getthenodes(thisnodeid);// currentnodeid);
}
if (e.keyCode == 69 && menubg.visible == false && selectednodeid != "-1" ) { // E
trace("selected node id", selectednodeid);
getthenodes(selectednodeid);
}
}
public function handleinputstop(e:KeyboardEvent):void {
if (e.keyCode == 87) { domoveup = 0; }//obb.worldy += movevelo;}
if (e.keyCode == 83) { domovedown = 0;}// obb.worldy -= movevelo; }
if (e.keyCode == 65) { domoveleft = 0; }// += movevelo; }
if (e.keyCode == 68) { domoveright = 0; }// obb.worldx -= movevelo; }
}
public function openurl(e:Event):void
{
var ttt:String = sqinputurl.text;
var bobb:URLLoader = new URLLoader();
bobb.dataFormat = URLLoaderDataFormat.VARIABLES;
var rq:URLRequest = new URLRequest(ttt);
navigateToURL(rq);
}
public function dolike(e:Event):void {
var rota:Number = selectednode.rotation;
var tempname:String = remspace(sqinputname.text);
var temptags:String = remspace(sqinputtype.text);
var templink:String = remspace(sqinputurl.text);
var tempimglink:String = remspace(sqimgurl.text);
var tempdesc:String = remspace(desc.text);
var ttt:String = "http://fjjuhfaa.joyent.us/emma/dolike.php?username=" + loginusername.text;
ttt = ttt + "&password=" + loginpassword.text;
ttt = ttt + "&selectednode=" + selectednode.id;
ttt = ttt + "&noCache=" + new Date().getTime();
//then... load the file with an rq
var bobb:URLLoader = new URLLoader();
bobb.dataFormat = URLLoaderDataFormat.VARIABLES;
var rq:URLRequest = new URLRequest(ttt);
bobb.addEventListener(Event.COMPLETE, handlerefresh);
bobb.load(rq);
//navigateToURL(rq);
}
public function handlerefresh(e:Event):void {
}
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
root.stage.addEventListener(KeyboardEvent.KEY_DOWN, handleinput);
root.stage.addEventListener(KeyboardEvent.KEY_UP, handleinputstop);
var bbb:Bitmap = new Bitmap(bgd);
bbb.width = screenwidth;
bbb.height = screenheight;
bg.addChild(bbb);
root.stage.addChild(bg);
// bg.width = screenwidth;
//bg.height = screenheight;
loadbg();
menubg.addChild(new Bitmap(menubgb));
menubg.visible = false;
menubg.y = 65;
menubg.width = screenwidth;
menubg.height = screenheight - menubg.y;
//dislikebutton.addChild(dislikebuttonbm);
likebutton.addChild(likebuttonbm);
likebutton.x = menubg.x + menubg.width / 2 + 20;
likebutton.y = menubg.y + menubg.height / 2 + 20;
likebutton.addEventListener(MouseEvent.CLICK, dolike);
dislikebutton.x = likebutton.x;
dislikebutton.y = likebutton.y + likebutton.height + 20;
var border:Number = 10;
var vh:Number = 25;
var stx:Number = menubg.x + border*5;
var fx:Number = menubg.x + menubg.width - border*20;
var border:Number = 10;
var vh:Number = 25;
var stx:Number = menubg.x + border*5;
var fx:Number = menubg.x + menubg.width - border*5*2;
sqinputname.width = fx;
sqinputname.y = menubg.y + 10;
sqinputname.x = stx;
sqinputname.height = vh;
sqinputname.selectable = true;
sqinputname.type = TextFieldType.INPUT;
sqinputname.selectable = true;
sqinputname.background = true;
sqinputname.backgroundColor = mywhite;
addtag.y = sqinputname.y + sqinputname.height + border;
addtag.x = stx;
addtag.selectable = false;
addtag.background = true;
addtag.backgroundColor = mywhite;
addtag.text = "Add Tag";
addtag.width = 60;
addtag.height = vh;
tagbox.y = addtag.y;
tagbox.x = addtag.x + addtag.width + border;
tagbox.selectable = false;
tagbox.background = true;
tagbox.backgroundColor = mywhite;
tagbox.text = "Tag";
tagbox.width = 100;
tagbox.type = TextFieldType.INPUT;
tagbox.height = vh;
sqinputtype.width = menubg.width - border - border - tagbox.x - tagbox.width;
sqinputtype.x = tagbox.x + tagbox.width+ border;
sqinputtype.height = vh;
sqinputtype.y = sqinputname.y + sqinputname.height + border;
sqinputtype.selectable = true;
sqinputtype.background = true;
sqinputtype.backgroundColor = mywhite;
sqrotation.width = sqinputname.width;
sqrotation.y = sqinputtype.y + sqinputtype.height + border;
sqrotation.x = stx;
sqrotation.height = vh;
sqrotation.selectable = true;
sqrotation.background = true;
sqrotation.backgroundColor = mywhite;
menuimg.addChild(new Bitmap( loaderrorbd.bitmapData));// smileyb.bitmapData));
menuimg.width = menubg.width / 2 - 2 * border;
menuimg.height = 300;
menuimg.x = menubg.x + border;
menuimg.y = sqinputtype.y + sqinputtype.height + border;
desc.type = TextFieldType.INPUT;
desc.selectable = true;
desc.width = menubg.width / 2 - 2 * border;
desc.y = menuimg.y;
desc.x = menuimg.x + menuimg.width + 2*border;
desc.height = vh * 7;
desc.wordWrap = true;
desc.selectable = true;
desc.background = true;
desc.backgroundColor = mywhite;
desc.text = "Description goes here";
desc.visible = false;
verifyimg.width = 50;
verifyimg.text = "Verify";
verifyimg.x = sqinputname.x;
verifyimg.y = menuimg.y +menuimg.height + border * 2;
verifyimg.background = true;
verifyimg.backgroundColor = mywhite;
verifyimg.height = vh;
verifyimg.selectable = false;
verifyimg.addEventListener(MouseEvent.CLICK, resetmenuimg);
sqimgurl.width = sqinputname.width - border - verifyimg.width;
sqimgurl.y = menuimg.y +menuimg.height+ border * 2;
sqimgurl.x = verifyimg.x + verifyimg.width + border;
sqimgurl.height = vh;
sqimgurl.selectable = true;
sqimgurl.background = true;
sqimgurl.backgroundColor = mywhite;
sqimgurl.type = TextFieldType.INPUT;
sqinputurl.width = sqimgurl.width;
sqinputurl.y = sqimgurl.y + sqimgurl.height + border * 2;
sqinputurl.x = sqimgurl.x;
sqinputurl.height = vh;
sqinputurl.selectable = true;
sqinputurl.background = true;
sqinputurl.backgroundColor = mywhite;
sqinputurl.type = TextFieldType.INPUT;
verifyurl.width = 50;
verifyurl.text = "Open";
verifyurl.x = sqinputname.x;
verifyurl.y = sqinputurl.y;
verifyurl.background = true;
verifyurl.backgroundColor = mywhite;
verifyurl.height = vh;
verifyurl.selectable = false;
verifyurl.addEventListener(MouseEvent.CLICK, openurl);
sqsubmit.y = desc.y + desc.height + border;
sqsubmit.x = stx;
sqsubmit.height = vh;
sqsubmit.width = 50;
sib.width = 100;
sib.height = vh;
sib.y = menubg.y + menubg.height - sib.height - border;
sib.x = border * 5;
sib.wordWrap = true;
sib.selectable = false;
sib.background = true;
sib.backgroundColor = mywhite;
sib.text = "Add as Sibling";
sib.width = 150;
sib.addEventListener(MouseEvent.CLICK, addassib);
modify.width = 100;
modify.height = vh;
modify.y = menubg.y + menubg.height - modify.height - border;
modify.x = border * 5;
modify.wordWrap = true;
modify.selectable = false;
modify.background = true;
modify.backgroundColor = mywhite;
modify.text = "Modify";
modify.width = 50;
modify.addEventListener(MouseEvent.CLICK, domodify);
remove.width = 100;
remove.height = vh;
remove.y = modify.y; // menubg.y + menubg.height - remove.height - border;
remove.x = modify.x + modify.width + border ;
remove.wordWrap = true;
remove.selectable = false;
remove.background = true;
remove.backgroundColor = mywhite;
remove.text = "Remove";
remove.width = 50;
remove.addEventListener(MouseEvent.CLICK, doremove);
cp.width =100;
cp.y = sib.y; // sqsubmit.y + 60;
cp.x = sib.x + sib.width + border;
cp.height = vh;
cp.wordWrap = true;
cp.selectable = false;
cp.background = true;
cp.backgroundColor = mywhite;
cp.text = "Add as Child";
cp.addEventListener(MouseEvent.CLICK, addaschild);
root.addEventListener(MouseEvent.MOUSE_WHEEL, onmousewheel);
closemenus();
/*
addstatement.addChild(addstatementb);
addstatement.x = 200;
addstatement.addEventListener(MouseEvent.CLICK, showaddstatement);
root.stage.addChild(addstatement);
*/
addnode.addChild(addnodebm);
closewindow.addChild(closewindowb);
closewindow.addEventListener(MouseEvent.CLICK, closemenus2);
closewindow.y = 31;
addnode.addEventListener(MouseEvent.CLICK, showaddquestion);
root.stage.addChild(menubg);
root.stage.addChild(likebutton);
root.stage.addChild(dislikebutton);
root.stage.addChild(closewindow);
root.stage.addChild(addnode);
root.stage.addChild(sqinputname);
root.stage.addChild(sqinputtype);
root.stage.addChild(sqrotation);
root.stage.addChild(sqinputurl);
root.stage.addChild(sqimgurl);
root.stage.addChild(sqsubmit);
root.stage.addChild(desc);
root.stage.addChild(sib);
//root.stage.addChild(cp);
root.stage.addChild(verifyimg);
root.stage.addChild(verifyurl);
root.stage.addChild(menuimg);
root.stage.addChild(modify);
root.stage.addChild(remove);
root.stage.addChild(tagbox);
root.stage.addChild(addtag);
modify.visible = false;
menuimg.visible = false;
verifyurl.visible = false;
var fmt4:TextFormat = new TextFormat();
fmt4.font = "ooga";
fmt4.color = 0xdddddd;
fmt4.size = 20;
fmt4.align = "center";
var fmt3:TextFormat = new TextFormat();
fmt3.font = "ooga";
fmt3.color = 0x000000;
fmt3.size = 20;
fmt3.align = "center";
mystatus.type = TextFieldType.INPUT;
mystatus.selectable = true;
mystatus.text = "http://www.wudiware.com/loveeverybody.png";
mystatus.width = 400;
mystatus.height = 30;
mystatus.x = screenwidth - mystatus.width;
mystatus.y =0;
mystatus.background = true;
mystatus.backgroundColor = mygreen;
mystatus.visible = true;
mystatus.wordWrap = true;
root.stage.addChild(mystatus);
playbutton.embedFonts = true;
playbutton.defaultTextFormat = fmt3;
playbutton.selectable = false;
playbutton.text = "Login";
playbutton.width = 150;
playbutton.height = 30;
playbutton.x = screenwidth /2 - playbutton.width/2;
playbutton.y = 400;
playbutton.background = true;
playbutton.backgroundColor = mywhite;
playbutton.visible = true;
//playbutton.addEventListener(MouseEvent.CLICK, playbuttonclick);
playbutton.addEventListener(MouseEvent.CLICK, login);
root.stage.addChild(playbutton);
loginstartcreate.embedFonts = true;
loginstartcreate.defaultTextFormat = fmt3;
loginstartcreate.selectable = false;
loginstartcreate.text = "Create Account";
loginstartcreate.width = 200;
loginstartcreate.height = 30;
loginstartcreate.x = screenwidth /2 - loginstartcreate.width/2;
loginstartcreate.y = 440;
loginstartcreate.background = true;
loginstartcreate.backgroundColor = mywhite;
loginstartcreate.visible = true;
//loginstartcreate.addEventListener(MouseEvent.CLICK, loginstartcreateclick);
loginstartcreate.addEventListener(MouseEvent.CLICK, loadcreatescreen);
root.stage.addChild(loginstartcreate);
cancelcreate.embedFonts = true;
cancelcreate.defaultTextFormat = fmt3;
cancelcreate.selectable = false;
cancelcreate.text = "Cancel";
cancelcreate.width = 200;
cancelcreate.height = 30;
cancelcreate.x = screenwidth /2 - cancelcreate.width/2;
cancelcreate.y = 440;
cancelcreate.background = true;
cancelcreate.backgroundColor = mywhite;
cancelcreate.visible = false;
//cancelcreate.addEventListener(MouseEvent.CLICK, cancelcreateclick);
cancelcreate.addEventListener(MouseEvent.CLICK, cancelcreateclick);
root.stage.addChild(cancelcreate);
// loginstatus.embedFonts = true;
// loginstatus.defaultTextFormat = fmt4;
loginstatus.selectable = true;
loginstatus.text = "Welcome!";
loginstatus.width = 400;
loginstatus.height = 30;
loginstatus.x = screenwidth - loginstatus.width;// screenwidth / 2 - loginstatus.width / 2 - 250;
loginstatus.y =0;
loginstatus.background = true;
loginstatus.backgroundColor = mygreen;
loginstatus.visible = true;
loginstatus.wordWrap = true;
//loginstatus.addEventListener(MouseEvent.CLICK, loginstatusclick);
root.stage.addChild(loginstatus);
logincreateaccount.embedFonts = true;
logincreateaccount.defaultTextFormat = fmt3;
logincreateaccount.selectable = false;
logincreateaccount.text = "Create";
logincreateaccount.width = 150;
logincreateaccount.height = 30;
logincreateaccount.x = screenwidth /2 - logincreateaccount.width/2;
logincreateaccount.y = 400;
logincreateaccount.background = true;
logincreateaccount.backgroundColor = mywhite;
logincreateaccount.visible = false;
//logincreateaccount.addEventListener(MouseEvent.CLICK, logincreateaccountclick);
logincreateaccount.addEventListener(MouseEvent.CLICK, createaccount);
root.stage.addChild(logincreateaccount);
loginusername.embedFonts = true;
loginusername.defaultTextFormat = fmt3;
loginusername.restrict = "a-zA-Z0-9";
loginusername.selectable = true;
loginusername.text = "test";
loginusername.width = 200;
loginusername.height = 30;
loginusername.x = screenwidth /2 - loginusername.width/2;
loginusername.y = 240;
loginusername.background = true;
loginusername.backgroundColor = mywhite;
loginusername.visible = true
loginusername.type = TextFieldType.INPUT;
//loginusername.addEventListener(MouseEvent.CLICK, loginusernameclick);
root.stage.addChild(loginusername);
loginpassword.embedFonts = true;
loginpassword.defaultTextFormat = fmt3;
loginpassword.restrict = "a-zA-Z0-9";
loginpassword.selectable = true;
loginpassword.text = "test";
loginpassword.width = 200;
loginpassword.height = 30;
loginpassword.x = screenwidth /2 - loginpassword.width/2;
loginpassword.y = 300;
loginpassword.background = true;
loginpassword.backgroundColor = mywhite;
loginpassword.visible = true
loginpassword.type = TextFieldType.INPUT;;
//loginpassword.addEventListener(MouseEvent.CLICK, loginpasswordclick);
root.stage.addChild(loginpassword);
loginrepeatpassword.restrict = "a-zA-Z0-9";
loginrepeatpassword.selectable = true;
loginrepeatpassword.text = "test";
loginrepeatpassword.width = 200;
loginrepeatpassword.height = 30;
loginrepeatpassword.x = screenwidth /2 - loginrepeatpassword.width/2;
loginrepeatpassword.y = 335;
loginrepeatpassword.background = true;
loginrepeatpassword.backgroundColor = mywhite;
loginrepeatpassword.visible = false;
loginrepeatpassword.type = TextFieldType.INPUT;
loginrepeatpassword.embedFonts = true;
loginrepeatpassword.defaultTextFormat = fmt3;
root.stage.addChild(loginrepeatpassword);
var tt:Timer = new Timer(33, 0);
tt.addEventListener(TimerEvent.TIMER, gameloop);
tt.start()
// Add node for adding nodes
var sz:Number = 50;
var sy:Number = screenheight - sz - 30;
var off:Number = 10;
var counter:Number = 0;
/*
counter++;
var fj:obook = new obook();
fj.emotiontype = "like";
fj.sprite = new Sprite();
fj.sprite.y = screenheight - fj.sprite.height - 20;
fj.sprite.width = sz;
fj.sprite.height = sz;
fj.sprite.x = sz*counter +10*counter;
fj.sprite.addChild(new Bitmap(likeb.bitmapData));
fj.sprite.addEventListener(MouseEvent.CLICK, addemotion);
emoticons.push(fj);
counter++;
var fj:obook = new obook();
fj.emotiontype = "dislike";
fj.sprite = new Sprite();
fj.sprite.x = counter*20 + counter * off;
fj.sprite.y = sy + off;
fj.mybitmap = new Bitmap(dislikeb.bitmapData);
fj.sprite.width = sz;
fj.sprite.height = sz;
fj.sprite.addEventListener(MouseEvent.CLICK, addemotion);
emoticons.push(fj);
counter++;
var fj:obook = new obook();
fj.emotiontype = "comfort";
fj.sprite = new Sprite();
fj.sprite.width = sz;
fj.sprite.height = sz;
fj.sprite.x = sz*counter +10*counter;
fj.sprite.y = screenheight - fj.sprite.height - 20;
fj.sprite.addChild(comfortb);
fj.sprite.addEventListener(MouseEvent.CLICK, addemotion);
emoticons.push(fj);
counter++;
var fj:obook = new obook();
fj.emotiontype = "pain";
fj.sprite = new Sprite();
fj.sprite.width = sz;
fj.sprite.height = sz;
fj.sprite.x = sz*counter +10*counter;
fj.sprite.y = screenheight - fj.sprite.height - 20;
fj.sprite.addChild(painb);
fj.sprite.addEventListener(MouseEvent.CLICK, addemotion);
emoticons.push(fj);
counter++;
var fj:obook = new obook();
fj.emotiontype = "happy";
fj.sprite = new Sprite();
fj.sprite.width = sz;
fj.sprite.height = sz;
fj.sprite.x = sz*counter +10*counter;
fj.sprite.y = screenheight - fj.sprite.height - 20;
fj.sprite.addChild(happyb);
fj.sprite.addEventListener(MouseEvent.CLICK, addemotion);
emoticons.push(fj);
counter++;
var fj:obook = new obook();
fj.emotiontype = "sad";
fj.sprite = new Sprite();
fj.sprite.width = sz;
fj.sprite.height = sz;
fj.sprite.x = sz*counter +10*counter;
fj.sprite.y = screenheight - fj.sprite.height - 20;
fj.sprite.addChild(sadb);
fj.sprite.addEventListener(MouseEvent.CLICK, addemotion);
emoticons.push(fj);
*/
/*
counter++;
var fj:obook = new obook();
fj.emotiontype = "";
fj.sprite = calm;
fj.sprite.width = sz;
fj.sprite.height = sz;
fj.sprite.x = sz*counter +10*counter;
fj.sprite.y = screenheight - fj.sprite.height - 20;
fj.sprite.addChild(new Bitmap(calmb));
fj.sprite.addEventListener(MouseEvent.CLICK, addemotion);
emoticons.push(fj);
counter++;
var fj:obook = new obook();
fj.emotiontype = "comfort";
fj.sprite = comfort;
fj.sprite.width = sz;
fj.sprite.height = sz;
fj.sprite.x = sz*counter +10*counter;
fj.sprite.y = screenheight - fj.sprite.height - 20;
fj.sprite.addChild(new Bitmap(comfortb));
fj.sprite.addEventListener(MouseEvent.CLICK, addemotion);
emoticons.push(fj);
*/
//END OF INIT
/*
for each (var fo:obook in emoticons) {
root.stage.addChild(fo.sprite);
}
*/
}
public function resetmenuimg(e:Event):void {
menuimg.removeChildAt(0);
var loadrr:Loader = new Loader();
var url:String = sqimgurl.text;
var urlReq:URLRequest = new URLRequest(url);
loadrr.load(urlReq);
loadrr.contentLoaderInfo.addEventListener( Event.COMPLETE, onLoadComplete);
loadrr.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, handleloaderror);
}
public function resetmenuimg2():void {
menuimg.removeChildAt(0);
var loadrr:Loader = new Loader();
var url:String = sqimgurl.text;
var urlReq:URLRequest = new URLRequest(url);
loadrr.load(urlReq);
loadrr.contentLoaderInfo.addEventListener( Event.COMPLETE, onLoadComplete);
loadrr.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, handleloaderror);
}
function onLoadComplete(event:Event):void {
var info:LoaderInfo = LoaderInfo(event.currentTarget);
var loader:Loader = info.loader;
trace(loader.width, loader.height);
var scaleWidth:Number = 300 / loader.width;
var scaleHeight:Number = 300 / loader.height;
if (scaleWidth < scaleHeight){
loader.scaleX = loader.scaleY = scaleWidth;
}else{
loader.scaleX = loader.scaleY = scaleHeight;
}
menuimg.addChild(loader);
}
function onLoadComplete2(event:Event):void {
var info:LoaderInfo = LoaderInfo(event.currentTarget);
var modd:Number = 1.3;
var loader:Loader = info.loader;
trace(loader.width, loader.height);
var scaleWidth:Number = ispritesize * modd / loader.width;
var scaleHeight:Number = ispritesize * modd / loader.height;
if (scaleWidth < scaleHeight){
loader.scaleX = loader.scaleY = scaleWidth;
}else{
loader.scaleX = loader.scaleY = scaleHeight;
}
loader.x = ((ispritesize - scaleWidth) / modd ) / 2;
loader.y = ((ispritesize - scaleHeight) /modd ) / 2;
}
function onLoadComplete3(event:Event):void {
var info:LoaderInfo = LoaderInfo(event.currentTarget);
// var modd:Number = 1.3;
var loader:Loader = info.loader;
// trace(loader.width, loader.height);
trace(root.stage.width, root.stage.height, "Sizes");
trace(loader.width, loader.height, "loader");
var scaleWidth:Number = loader.width / root.stage.width; // / loader.width;// / root.stage.width;
var scaleHeight:Number = root.stage.height / loader.height;
// loader.scaleX = scaleWidth;
loader.width = bg.stage.stageWidth;// width;// root.stage.stageWidth;// width;
loader.height = bg.stage.stageHeight; // height;//;
// loader.scaleX = scaleWidth;
//loader.scaleY = scaleHeight;
/*
if (scaleWidth < scaleHeight){
loader.scaleX = loader.scaleY = scaleWidth;
}else{
loader.scaleX = loader.scaleY = scaleHeight;
}
*/
loader.x = 0; //((root.stage.width - scaleWidth * loader.width) ) / 2;
loader.y = 0;// ((root.stage.height - loader.height) ) / 2;
bg.addChild(loader);
bg.x = 0;
bg.y = 0;
//var bgss:Sprite = new Sprite;
//bgss.addChild(loader);
//root.stage.addChild(bgss);
}
public function handleloaderror(e:Event):void {
menuimg.addChild(new Bitmap(loaderrorbd.bitmapData));
}
public function handleloaderror3(e:Event):void {
//Add an error graphic to minispritedot
//menuimg.addChild(new Bitmap(loaderrorbd.bitmapData));
}
public function handleloaderror2(e:Event):void {
//Add an error graphic to minispritedot
//menuimg.addChild(new Bitmap(loaderrorbd.bitmapData));
}
public function addaschild(e:Event) {
closemenus();
var tempname:String = remspace(sqinputname.text);
var temptags:String = remspace(sqinputtype.text);
var templink:String = remspace(sqinputurl.text);
var tempimglink:String = remspace(sqimgurl.text);
var tempdesc:String = remspace(desc.text);
// use str replace to weed out bad things and add http:// where needed.
var ttt:String = "http://fjjuhfaa.joyent.us/emma/addnode.php?username=" +loginusername.text;
ttt = ttt + "&password=" + loginpassword.text;
ttt = ttt + "&wubi=" + tempname;
ttt = ttt + "&tags=" + temptags;
ttt = ttt + "&desc=" + tempdesc;
ttt = ttt + "&kindofnode=" + lasttype;
ttt = ttt + "&parent=" + currentnodeid;
ttt = ttt + "&noCache=" + new Date().getTime();
trace(ttt);
//then... load the file with an rq
var bobb:URLLoader = new URLLoader();
bobb.dataFormat = URLLoaderDataFormat.VARIABLES;
var rq:URLRequest = new URLRequest(ttt);
bobb.addEventListener(Event.COMPLETE, handleaddassib);
bobb.load(rq);
}
public function handleaddassib(e:Event):void {
}
public function domodify(e:Event) {
closemenus();
var rota:Number = selectednode.rotation;
var tempname:String = remspace(sqinputname.text);
var temptags:String = remspace(sqinputtype.text);
var templink:String = remspace(sqinputurl.text);
var tempimglink:String = remspace(sqimgurl.text);
var tempdesc:String = remspace(desc.text);
var ttt:String = "http://fjjuhfaa.joyent.us/emma/changenode.php?username=" + loginusername.text;
ttt = ttt + "&password=" + loginpassword.text;
ttt = ttt + "&wubi=" + tempname;
ttt = ttt + "&tags=" + temptags;
ttt = ttt + "&desc=" + tempdesc;
ttt = ttt + "&nodetype=" + lasttype;
ttt = ttt + "&parent=" + thisnodeid;
ttt = ttt + "&selectednode=" + selectednode.id;
ttt = ttt + "&imgurl=" + tempimglink;
ttt = ttt + "&linnkk=" + templink;
ttt = ttt + "&rotation=" + rota;
ttt = ttt + "&noCache=" + new Date().getTime();
//then... load the file with an rq
var bobb:URLLoader = new URLLoader();
bobb.dataFormat = URLLoaderDataFormat.VARIABLES;
var rq:URLRequest = new URLRequest(ttt);
bobb.addEventListener(Event.COMPLETE, handleaddassib);
bobb.load(rq);
//navigateToURL(rq);
}
public function doremove(e:Event) {
closemenus();
var rota:Number = selectednode.rotation;
var tempname:String = remspace(sqinputname.text);
var temptags:String = remspace(sqinputtype.text);
var templink:String = remspace(sqinputurl.text);
var tempimglink:String = remspace(sqimgurl.text);
var tempdesc:String = remspace(desc.text);
var ttt:String = "http://fjjuhfaa.joyent.us/emma/removenode.php?username=" + loginusername.text;
ttt = ttt + "&password=" + loginpassword.text;
ttt = ttt + "&selectednode=" + selectednode.id;
ttt = ttt + "&noCache=" + new Date().getTime();
//then... load the file with an rq
var bobb:URLLoader = new URLLoader();
bobb.dataFormat = URLLoaderDataFormat.VARIABLES;
var rq:URLRequest = new URLRequest(ttt);
bobb.addEventListener(Event.COMPLETE, handleaddassib);
bobb.load(rq);
//navigateToURL(rq);
}
public function addassib(e:Event) {
closemenus();
var rota:Number = Math.random() * 360.0;
var tempname:String = remspace(sqinputname.text);
var temptags:String = remspace(sqinputtype.text);
var templink:String = remspace(sqinputurl.text);
var tempimglink:String = remspace(sqimgurl.text);
var tempdesc:String = remspace(desc.text);
var ttt:String = "http://fjjuhfaa.joyent.us/emma/addnode.php?username=" + loginusername.text;
ttt = ttt + "&password=" + loginpassword.text;
ttt = ttt + "&wubi=" + tempname;
ttt = ttt + "&tags=" + temptags;
ttt = ttt + "&desc=" + tempdesc;
ttt = ttt + "&nodetype=" + lasttype;
ttt = ttt + "&parent=" + thisnodeid;
ttt = ttt + "&linnkk=" + templink;
ttt = ttt + "&imgurl=" + tempimglink;
ttt = ttt + "&rotation=" + rota;
ttt = ttt + "&noCache=" + new Date().getTime();
//then... load the file with an rq
var bobb:URLLoader = new URLLoader();
bobb.dataFormat = URLLoaderDataFormat.VARIABLES;
var rq:URLRequest = new URLRequest(ttt);
bobb.addEventListener(Event.COMPLETE, handleaddassib);
bobb.load(rq);
// navigateToURL(rq);
}
public function addemotion(e:Event) {
var found = 0;
var ee:obook;
for each (var emoticon:obook in emoticons) {
if ( emoticon.x == e.currentTarget.x && emoticon.y == e.currentTarget.y) {
ee = emoticon;
}
}
var bobb:URLLoader = new URLLoader();
bobb.dataFormat = URLLoaderDataFormat.VARIABLES;
var rq:URLRequest = new URLRequest("http://fjjuhfaa.joyent.us/emma/addemotion.php?nodeid=" + currentnodeid + "&emotion=" + emoticon.emotiontype);
bobb.load(rq);
}
public function closemenus2(e:Event) { closemenus(); }
public function remspace(str:String):String {
var tt:String = str;
var t2:String = "";
while(t2 != tt){
t2 = tt;
tt = tt.replace(" ","%20");
tt = tt.replace(",","%2C");
tt = tt.replace(".","%2E");
tt = tt.replace("/","%2F");
tt = tt.replace(":","%3A");
tt = tt.replace("?","%3F");
tt = tt.replace("=","%3D");
}
return (tt);
}
public function addnodef(e:Event) {
closemenus();
var tempimglink:String = remspace(mystatus.text);
var ttt:String = "http://fjjuhfaa.joyent.us/emma/addnode.php?imglink=";
ttt = ttt + tempimglink;
ttt = ttt + "&timeindex=" + new Date().getTime();
//then... load the file with an rq
var bobb:URLLoader = new URLLoader();
bobb.dataFormat = URLLoaderDataFormat.VARIABLES;
var rq:URLRequest = new URLRequest(ttt);
bobb.load(rq);
}
public function clearnodes():void {
var fj:obook;
fj = obooks.shift();
while (fj)
{
fj.sprite.visible = false;
fj.tf.visible = false;
fj = obooks.shift();
}
maxaffin = 1;
}
public function getthenodes(i:String):void{
clearnodes();
//trace("i:", i);
var bobb:URLLoader = new URLLoader();
bobb.dataFormat = URLLoaderDataFormat.VARIABLES;
var rq:URLRequest = new URLRequest("http://fjjuhfaa.joyent.us/emma/getnodes.php?username=" +myusername +"&parent=" + i + "&password="+mypassword +"&noCache="+new Date().getTime());
bobb.addEventListener(Event.COMPLETE, handlestories);
bobb.load(rq);
//navigateToURL(rq);
}
public function myparseint(str:String, ff:Number, params:String){
var pattern:String = str + ff+"=\\d+";
var myf:RegExp = new RegExp(pattern);
var result:Array = myf.exec(params);
var tt:String = new String;
tt = result[0];
var xsv:String = new String();
xsv = tt.replace(str+ff+"=", "");
var mx:Number = Number( xsv);//.valueOf();
return(mx);
}
public function myparsestring(str:String, ff:Number,params:String):String {
var pattern:String = str + ff+"=[^&]+";
var myf:RegExp = new RegExp(pattern);
var result:Array = myf.exec(params);
var tt:String = new String;
if (!result) { return ("No data"); }
tt = result[0];
var t2:String = new String();
while(t2 != tt){
t2 = tt;
tt = tt.replace("%28", "(");
tt = tt.replace("%29", ")");
tt = tt.replace("%2C", ",");
tt = tt.replace("%20", " ");
tt = tt.replace("%2E", ".");
tt = tt.replace("%2F", "/");
tt = tt.replace("%3A", ":");
tt = tt.replace("%3F", "?");
tt = tt.replace("%3D", "=");
}
var xsv:String = new String();
xsv = tt.replace(str+ff+"=", "");
return(xsv);
}
public function loadbg() {
var fj:obook = new obook();
fj.desc = "A BG image";
fj.link = "http://www.wudiware.com/loveeverybody.png";
fj.name = "";
fj.parent = -1;
fj.sprite = new Sprite();
//fj.sprite.addChild(bg);
//root.stage.addChild(fj.sprite);
fj.sprite.x = screenwidth / 2 - fj.sprite.width / 2;
fj.sprite.y = screenheight / 2 - fj.sprite.height / 2;
}
private function handleaddsib(e:Event):void {
}
private function handlestories(e:Event):void {
obb.worldx = 0;
obb.worldy = 0;
worldsetup = 0;
var loader:URLLoader = URLLoader(e.target);
var vars:URLVariables = new URLVariables(loader.data);
var params:String = vars.toString();
maxaffin = 1;
thisnodeid = vars.thisnodeid;
var imgtoload:String = vars.parentimage;
trace("This node id", thisnodeid);
if (Number(thisnodeid) != 0 ) {
thisparentid = vars.thisparentid;
if( imgtoload == nonestring){
trace("setting image manually");
bg.removeChildAt(0);
var bbb:Bitmap = new Bitmap(bgd);
bbb.width = root.stage.width;
bbb.height = root.stage.height;
bg.addChild(bbb);
}else {
trace(imgtoload);
bg.removeChildAt(0);
var loadrr:Loader = new Loader();
var url:String = imgtoload;
var urlReq:URLRequest = new URLRequest(url);
loadrr.load(urlReq);
loadrr.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadComplete3);
loadrr.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, handleloaderror3);
}
}else {
thisparentid = "0";
bg.removeChildAt(0);
var bbb:Bitmap = new Bitmap(bgd);
bbb.width = root.stage.width;
bbb.height = root.stage.height;
bg.addChild(bbb);
}
trace(vars.thisnodeid);
if (vars.total != null)
{
for (var ff = 0; ff < vars.total;ff++)
{
trace("loading");
var fj:obook = new obook();
fj.affin = myparseint("likes", ff, params);
fj.likes = fj.affin;
if (fj.affin > maxaffin) { maxaffin = fj.affin}
fj.dislikes = myparseint("dislikez", ff, params);
fj.rotation = myparseint("rotation", ff, params);
trace(fj.rotation);
fj.id = myparseint("id", ff, params);
fj.link = myparsestring("lizzink", ff, params);
fj.imglink = myparsestring("imguurl", ff, params);
fj.name = myparsestring("name", ff, params);
fj.adesc = myparsestring("desc", ff, params);
//fj.rotation = Math.random() * 360;
obooks.push(fj);
qqq.push(fj);
fj.otarget = dummy;
fj.active = 1;
activatesprite(fj);
}
}
}
public function calccool(fj:obook):Number {
return ( maxaffin - fj.affin );
}
public function clearstatusbox(e:Event) {
mystatus.text = "Single left click a node, then spacebar(inspect), e(enter), or q(up one level).";
}
public function showinfo(e:Event) {
var found:obook;
for each ( var fj:obook in obooks) {
if (fj.sprite.x == e.currentTarget.x && fj.sprite.y == e.currentTarget.y) {
found = fj;
}
}
loadpage(found);
}
public function tfselectnode(e:Event) {
var found:obook;
var oldfound:obook;
for each ( var fj:obook in obooks) {
if (fj.tf.x == e.currentTarget.x && fj.tf.y == e.currentTarget.y) {
found = fj;
}
if (fj.id.toString() == selectednodeid) {
oldfound = fj;
}
}
if (oldfound) {
oldfound.sprite.transform.colorTransform = ctwhite;
oldfound.tf.backgroundColor = mywhite; } //.transform.colorTransform = ctwhite; }
selectednodeid = found.id.toString();
selectednode = found;
found.tf.backgroundColor = mygreen;// sprite.transform.colorTransform = ctgreen;
trace(currentnodeid);
}
public function selectnode(e:Event) {
var found:obook;
var oldfound:obook;
for each ( var fj:obook in obooks) {
if (fj.sprite.x == e.currentTarget.x && fj.sprite.y == e.currentTarget.y) {
found = fj;
}
if (fj.id.toString() == selectednodeid) {
oldfound = fj;
}
}
if (oldfound) {
oldfound.tf.backgroundColor = mywhite;
oldfound.sprite.transform.colorTransform = ctwhite; }
selectednodeid = found.id.toString();
selectednode = found;
found.sprite.transform.colorTransform = ctgreen;
trace(currentnodeid);
}
public function shownodes() {
for each (var fj:obook in obooks) {
fj.sprite.visible = true;
fj.tf.visible = true;
}
}
public function hidenodes() {
for each (var fj:obook in obooks) {
fj.sprite.visible = false;
fj.tf.visible = false;
}
}
public function loadpage(fj:obook){
hidenodes();
//var loadling = new Loader();
//var url:String = fj.imglink;
//var urlReq:URLRequest = new URLRequest(url);
//loadling.load(urlReq);
menubg.visible = true;
//menusprite.addChild(loadling);
menuimg.visible = true;
verifyurl.visible = true;
modify.visible = true;
remove.visible = true;
likebutton.visible = true;
dislikebutton.visible = true;
sqinputname.visible = true;
sqinputtype.visible = true;
sqinputurl.visible = true;
sqimgurl.visible = true;
desc.visible = true;
addtag.visible = true;
tagbox.visible = true;
sqinputname.text = fj.name;
desc.text = fj.adesc;
sqinputurl.text = fj.link;
sqimgurl.text = fj.imglink;
resetmenuimg2();
/*
for each (var fo:obook in emoticons) {
if (fo.mybitmap) {
var ss:Sprite = new Sprite();
ss.addChild(new Bitmap(fo.mybitmap.bitmapData));
root.stage.addChild(ss);
}
}
*/
}
public function emptynodes() {
var fj:obook;
fj = obooks.shift();
while (fj) {
fj = obooks.shift();
}
}
public function enternode() {
emptynodes();
getthenodes(currentnodeid);
}
public function activatesprite(fj:obook):Number {
//SET to 2 for testing purposes
fj.nodetype = 2;
fj.sprite = new Sprite ();
var bbb:Bitmap = new Bitmap(circlebgb.bitmapData);
bbb.width = ispritesize * 2;
bbb.height = ispritesize * 2;
fj.sprite.addChild(bbb);
if(fj.imglink != nonestring){
var loadrr:Loader = new Loader();
var url:String = fj.imglink;// sqimgurl.text;
var urlReq:URLRequest = new URLRequest(url);
loadrr.load(urlReq);
loadrr.contentLoaderInfo.addEventListener( Event.COMPLETE, onLoadComplete2);
loadrr.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, handleloaderror2);
fj.sprite.addChild(loadrr);
root.stage.addChild(fj.sprite);
}
else {
root.stage.addChild(fj.sprite);
var fmt3:TextFormat = new TextFormat();
fmt3.font = "ooga";
fmt3.color = 0x000000;
fmt3.size = 10;
fmt3.align = "center";
fj.tf = new TextField();
fj.tf.embedFonts = true;
fj.tf.defaultTextFormat = fmt3;
fj.tf.background = true;
fj.tf.backgroundColor = mywhite;
fj.tf.border = true;
fj.tf.borderColor = 0x000000;
fj.tf.text = fj.name;
fj.tf.width = ispritesize;
fj.tf.height = ispritesize;
fj.tf.x = fj.sprite.x;
fj.tf.y = fj.sprite.y;
fj.tf.visible = true;
fj.tf.wordWrap = true;
fj.tf.addEventListener(MouseEvent.CLICK, tfselectnode);
root.stage.addChild(fj.tf);
}
fj.sprite.visible = true;
fj.spritestate = 1;
fj.sprite.addEventListener(MouseEvent.DOUBLE_CLICK, showinfo);
fj.sprite.addEventListener(MouseEvent.CLICK, selectnode);
fj.sprite.addEventListener(MouseEvent.ROLL_OVER, setstatusbox);
fj.sprite.addEventListener(MouseEvent.ROLL_OUT, clearstatusbox);
return(fj.spriteid);
}
public function setstatusbox(e:Event) {
var found:obook = new obook();
for each(var fj:obook in obooks) {
if (fj.sprite.x == e.currentTarget.x && fj.sprite.y == e.currentTarget.y) {
found = fj;
}
}
if(found.name){
mystatus.text = found.name;
}else { mystatus.text = "No Data";}
}
public static function Distance(x1:Number, y1:Number, x2:Number, y2:Number):Number
{
var temp:Number;
temp = Math.sqrt( (x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));
return temp;
}
public function getbitmapdata2(i:Number):BitmapData {
var retval:BitmapData;
//retval = statement
retval = circlething;
return (retval);
}
public static function touching(fj:obook, to:obook):Number {
var touching = 0;
if (Distance(fj.worldx, fj.worldy, to.worldx, to.worldy) < ispritesize * 1.2 ) {
touching = 1;
}
return(touching);;
}
public function growworld(fj:obook) {
dirty = 1;
maxaffin = maxaffin * 1.5 + 2;
fj.rotation += 1;
fj.destx = fj.worldx + (maxaffin - fj.affin) * Math.sin(fj.rotation * Math.PI / 180);
fj.desty = fj.worldy + (maxaffin - fj.affin) * Math.cos(fj.rotation * Math.PI / 180);
fj.atdest = 0;
}
private function handlegrow(fj:obook):void {
var dd:Date = new Date();
// should return dummy object in array 0 if has no targets) shifts off the dummy object or overwrites if has targets. push them from quad checks
for each(var ob:obook in obooks) {
if (touching(fj, ob) && dirty == 0) { growworld(fj); }//trace(fj.atdest); }
}
}
public function placebooks():void {
for each (var fj:obook in obooks){
fj.worldx = worldskew * (maxaffin - fj.affin) * Math.sin(fj.rotation * Math.PI / 180);
fj.worldy = worldskew* (maxaffin - fj.affin ) * Math.cos(fj.rotation * Math.PI / 180);
}
}
public function placeabook(fj:obook):void {
fj.worldx = worldskew * (currentrange) * Math.sin(fj.rotation * Math.PI / 180);
fj.worldy = worldskew* (currentrange) * Math.cos(fj.rotation * Math.PI / 180);
}
public function setupworld():void {
var done:Number = 0;
if (worldsetup == 1) { return;}
currentrange = 0;
for each(var fzz:obook in obooks) {
fzz.worldx = -100000;
}
for each(var fj:obook in obooks) {
if(trys == 0){
fj.rotation = 0;
}
done = 0;
placeabook(fj);
while (!done) {
done = 1;
for each(var fb:obook in obooks){
if (fb != fj && touching(fj, fb)) {
done = 0;
}
}
if(done == 0){
trys++;
fj.rotation = trys * 10;
if (trys > 35) {
trys = 0;
currentrange++;
trace("hello");
}
}
if(done ==0){
placeabook(fj);
}
}
}
worldsetup = 1;
}
public function setupworld3() {
var done2 = 0;
trys = 0;
//var fj:obook = qqq.shift();
placebooks();
while (!done2) {
done2 = 1;
for each (var fj:obook in obooks){
for each(var fb:obook in obooks){
if (fb != fj && touching(fj, fb)) {
// reposition(fj);
if(done2==1){
fb.rotation += 30;
}
done2 = 0;
}
if (done2 == 0) {
trys++;
if(trys>10){
maxaffin += 1;
trys = 0;
}
}
placebooks();
}
}
}
}
public function setupworld2() {
var fj:obook = qqq.shift();
while (fj ) {
trys = 0;
var done:Number = 0;
while(!done && fj){
done = 1;
fj.worldx = worldskew * (maxaffin - fj.affin) * Math.sin(fj.rotation * Math.PI / 180);
fj.worldy = worldskew* (maxaffin - fj.affin ) * Math.cos(fj.rotation * Math.PI / 180);
for each(var fb:obook in obooks){
if (fb != fj && touching(fj, fb)) {
reposition(fj);
done = 0;
}
}
}
var fj:obook = qqq.shift();
}
}
public function reposition(fj:obook) {
trys++;
// fj.rotation = fj.rotation + 10; // Math.random() * 360;
if (trys > 10) {
maxaffin = maxaffin + 2;
trys = 0;
}
}
private function gameloop(e:Event):void {
var movevelo:Number = 10;
if (domoveup == 1) {
obb.worldy += movevelo;
}
if (domovedown == 1) {
obb.worldy -= movevelo;
}
if (domoveleft == 1) {
obb.worldx += movevelo;
} if (domoveright == 1) {
obb.worldx -= movevelo;
}
setupworld();
for each (var fj:obook in obooks){
/*
if (fj.atdest == 0) { moveob(fj); }
handlegrow(fj);
if(fj.sprite){
*/
fj.sprite.width = ispritesize * zoomlevel;
fj.sprite.height = ispritesize * zoomlevel;
fj.tf.width = ispritesize * zoomlevel;
fj.tf.height = ispritesize * zoomlevel;
fj.x = screenwidth /2 - fj.sprite.width/2 + (obb.worldx + fj.worldx) * zoomlevel;
fj.y = screenheight /2 - fj.sprite.height/2 + (obb.worldy + fj.worldy) * zoomlevel;
fj.sprite.x = fj.x;
fj.sprite.y = fj.y;
fj.tf.x = fj.sprite.x;
fj.tf.y = fj.sprite.y;
}
}
}
}
// END of Main class thingy