#include "std.mi"

Function fn_ReSizeGroup(Group g, int TargetX, int TargetY, int TargetW, int TargetH, Float SpeedW, Float SpeedH, int TargetA);

Global Group		grpMain;
Global Group		grpFukidasi;
Global AnimatedLayer	aniFukidasi;
Global int		intFPosX;
Global int		intFPosY;
Global int		intFObjH;
Global int		intFObjW;
Global Boolean		blnDrg;

System.onScriptLoaded(){

	grpMain 	= getScriptGroup();
	grpFukidasi	= grpMain.getObject("Fukidasi.Group");
	aniFukidasi	= grpFukidasi.getObject("Fukidasi");
	intFPosX	= System.getPrivateInt("erieze", "FPosX", 0);
	intFPosY	= System.getPrivateInt("erieze", "FPosY", 0);
	intFObjW	= grpFukidasi.getGuiW();
	intFObjH	= grpFukidasi.getGuiH();

	fn_ReSizeGroup(grpFukidasi, intFPosX, intFPosY, intFObjW, intFObjH, 1.0, 1.0, 255);
}

System.onScriptUnloading(){

	System.setPrivateInt("erieze", "FPosX", intFPosX);
	System.setPrivateInt("erieze", "FPosY", intFPosY);
}

aniFukidasi.onLeftButtonDown(int x, int y) {


	blnDrg = 1;

	intFPosX = grpFukidasi.getLeft() - x;
	intFPosY = grpFukidasi.getTop() - y;
}
aniFukidasi.onLeftButtonUp(int x, int y) {

	blnDrg = 0;

	if (grpFukidasi.getLeft() < 0) {
		grpFukidasi.setXmlParam("x", "0");
	} 
	else if (grpFukidasi.getLeft() + grpFukidasi.getWidth() > 400) {
		grpFukidasi.setXmlParam("x", integerToString(400 - grpFukidasi.getWidth()));
	}

	if (grpFukidasi.getTop() < 0) {
	  	grpFukidasi.setXmlParam("y", "0");
	} 
	else if (grpFukidasi.getTop() + grpFukidasi.getHeight() > 450) {
		grpFukidasi.setXmlParam("y", integerToString(450 - grpFukidasi.getHeight()));
	}

	intFPosX = grpFukidasi.getLeft();
	intFPosY = grpFukidasi.getTop();
}
aniFukidasi.onMouseMove(int x, int y) {

	if (!blnDrg) return;

	grpFukidasi.setXmlParam("x", integerToString(x + intFPosX));
	grpFukidasi.setXmlParam("y", integerToString(y + intFPosy));
}

fn_ReSizeGroup(Group g, int TargetX, int TargetY, int TargetW, int TargetH, Float SpeedW, Float SpeedH, int TargetA){

	g.setTargetX(TargetX);
        g.setTargetY(TargetY);
        g.setTargetW(TargetW);
        g.setTargetH(TargetH);
        g.setTargetSpeed(SpeedW);
        g.setTargetSpeed(SpeedH);
        g.setTargetA(TargetA);
        g.gotoTarget();
}