function getkoeff(point1,point2,point3)
{
if (point1[0]!=point2[0])
{
return (point1[0]-point3[0])/(point1[0]-point2[0])*100;
}
else
{
if (point1[1]!=point2[1])
{
return (point1[1]-point3[1])/(point1[1]-point2[1])*100;
}
else return -1;
}
}
function getpoint(point1,point2,koeff)
{
return [point1[0]+(point2[0]-point1[0])*koeff/100,
point1[1]+(point2[1]-point1[1])*koeff/100];
}
if(documents.length >= 1){
var s = activeDocument.selection;
if (s.length==1){
if ((s[0].typename=="PathItem") && (s[0].parent.typename=="GroupItem") && (s[0].pathPoints.length==2))
{
var m1=getkoeff(s[0].pathPoints[0].anchor,s[0].pathPoints[1].anchor,s[0].pathPoints[0].rightDirection);
var m2=getkoeff(s[0].pathPoints[1].anchor,s[0].pathPoints[0].anchor,s[0].pathPoints[1].leftDirection);
if (m1==-1) m1=0;
if (m2==-1) m2=0;
var w = new Window("dialog");
w.alignChildren = "left";
var direct = [];
var p1 = w.add("panel");
p1.alignChildren = "left";
var g1 = w.add("group{orientation:\"column\",alignChildren:\"left\"}");
g1.add("statictext",undefined,"Left acceleration (0-100%):");
var n1 = g1.add("edittext",undefined,m1,20);
n1.size=[300,20];
g1.add("statictext",undefined,"Right acceleration (0-100%):");
var n2 = g1.add("edittext",undefined,m2,20);
n2.size=[300,20];
var g2 = w.add("group");
g2.add("button",undefined,"OK");
g2.add("button",undefined,"Cancel");
if (w.show()==1){
m1=Number(n1.text);
m2=Number(n2.text);
s[0].pathPoints[0].rightDirection=getpoint(s[0].pathPoints[0].anchor,s[0].pathPoints[1].anchor,m1);
s[0].pathPoints[0].leftDirection=getpoint(s[0].pathPoints[0].anchor,s[0].pathPoints[1].anchor,m1);
s[0].pathPoints[1].leftDirection=getpoint(s[0].pathPoints[1].anchor,s[0].pathPoints[0].anchor,m2);
s[0].pathPoints[1].rightDirection=getpoint(s[0].pathPoints[1].anchor,s[0].pathPoints[0].anchor,m2);
}
}
}
}