//VEditor (VML/SVG) (c) 2010 Nabatnikoff Ivan (tireal.com)
var version='v1';var moz=((document.all)?false:true);var ie=((document.all)?true:false);var vloaded=false,vshow=false,vpshow=false;var md=false,mdr=false;var r,temp,tempset;var offx,offy,c=0,debug=0,minx,miny,maxx,maxy,mw,mh;var a=[];var obj=[],objc=0;var colors=['#000','#fff','#f00','#ff0','#080','#00a','#f7f4dd','#999'];var tool=1,color="#fff",fill="#000",line=1,opacity=1,fontsize=14,style=10;function sqr(v){return v*v}function xor(a,b){return((a>>>1)^(b>>>1))*2+(a%2^b%2)}if(!Array.prototype.indexOf){Array.prototype.indexOf=function(elt){var len=this.length>>>0;var from=Number(arguments[1])||0;from=(from<0)?Math.ceil(from):Math.floor(from);if(from<0)from+=len;for(;from<len;from++)if(from in this&&this[from]===elt)return from;return-1}}function trim(str,charlist){var whitespace;if(!charlist)whitespace=' \n\r\t\f\x0b\xa0\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u2028\u2029\u3000';else whitespace=charlist.replace(/([\[\]\(\)\.\?\/\*\{\}\+\$\^\:])/g,'\$1');for(var i=0;i<str.length;i++){if(whitespace.indexOf(str.charAt(i))===-1){str=str.substring(i);break}}for(i=str.length-1;i>=0;i--){if(whitespace.indexOf(str.charAt(i))===-1){str=str.substring(0,i+1);break}}return whitespace.indexOf(str.charAt(0))===-1?str:''}var xxabc="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя#%";function dec2xx(n){if(n<-8192)n=-8192;if(n>8192)n=8192;n+=8192;return xxabc.charAt(Math.floor(n/128))+xxabc.charAt(n%128)}function xx2dec(s){return xxabc.indexOf(String(s).charAt(0))*128+xxabc.indexOf(String(s).charAt(1))-8192}function arr2xx(a){var s='';for(var i=0;i<a.length;i++)s+=dec2xx(a[i].x)+dec2xx(a[i].y);return s}function xx2arr(s){var a=[];for(var i=0;i<Math.floor(s.length/4);i++){a[i]={"x":xx2dec(s.substr(i*4,2)),"y":xx2dec(s.substr(i*4+2,2))}}return a}function crc(s){var c=16;for(i=0;i<s.length;i++)c+=xor(s.charCodeAt(i),i*i);return dec2xx((c-8192)%8192)}function dectohex(dec,n){var hex=dec.toString(16);while(hex.length<n)hex='0'+hex;return hex}function escape256(s){var escape=',;<>(){}[]"/|:\'&';var esc='';var charcode;for(i=0;i<s.length;i++)if(escape.indexOf(s.charAt(i))==-1)esc+=s.charAt(i);else if((charcode=s.charCodeAt(i))>0xFF)esc+="%u"+dectohex(charcode,4);else esc+="%"+dectohex(charcode,2);return esc}function isColor(color){var r=/^(#)([0-9a-fA-F]{3})([0-9a-fA-F]{3})?$/;return r.test(color)}function dec2hex(n){var s=n.toString(16);if(s.length<2)s='0'+s;return s}function getRed(x){var q=x*7;switch(Math.floor(q)){case 0:case 1:return 1;case 2:return 3-q;case 3:return 0;case 4:return 0;case 5:return q-5;default:return 1}}function getGreen(x){var q=x*7;switch(Math.floor(q)){case 0:case 1:return q/2;case 2:return 1;case 3:return 1;case 4:return 5-q;case 5:return 0;default:return 0}}function getBlue(x){var q=x*7;switch(Math.floor(q)){case 0:case 1:case 2:return 0;case 3:return q-3;case 4:return 1;case 5:return 1;case 6:return 7-q;default:return 0}}function xy2rgb(x,y){var h=0;x=x-100;y=-y+100;var d=Math.sqrt(x*x+y*y);if(x>0&&y>0)h=Math.atan(x/y);else if(x>0&&y<0)h=0.5*Math.PI+Math.atan(-y/x);else if(x<0&&y<0)h=1.0*Math.PI+Math.atan(-x/-y);else if(x<0&&y>0)h=1.5*Math.PI+Math.atan(y/-x);else if(y==0){if(x>0)h=Math.PI/2;else if(x<0)h=1.5*Math.PI}else if(x==0){if(y>0)h=0;else if(y<0)h=Math.PI}h/=(2*Math.PI);var r=getRed(h)*0xff;var g=getGreen(h)*0xff;var b=getBlue(h)*0xff;d=d/100;if(d>1){var dr=Math.min(1,Math.max(0,(1.37-d)/.35));r=g=b=0xff*dr;var f=(Math.pow(dr,20)+1)*0x80-1;switch(Math.floor(h*4)){case 0:break;case 1:r=f;break;case 2:g=f;break;case 3:b=f;break}}else if(d<=2/3){r*=3/2*d;g*=3/2*d;b*=3/2*d}else{r+=(0xff-r)*3*(d-2/3);g+=(0xff-g)*3*(d-2/3);b+=(0xff-b)*3*(d-2/3)}r=Math.round(r);g=Math.round(g);b=Math.round(b);return'#'+dec2hex(r)+''+dec2hex(g)+''+dec2hex(b)}function VecMin(a,b){return{"x":a.x-b.x,"y":a.y-b.y}}function DotProd(a,b){return a.x*b.x+a.y*b.y}function NormSquared(a){return a.x*a.x+a.y*a.y}function SimplifyPoints(tol2,a,m,j,k){var i,maxi,maxd2,cu,cw,b,dv2,p0,p1,pb,u,w;if(k<=j+1)return;p0=a[j];p1=a[k];u=VecMin(p1,p0);cu=DotProd(u,u);maxd2=0;maxi=0;for(i=j+1;i<=k-1;i++){w=VecMin(a[i],p0);cw=DotProd(w,u);if(cw<=0)dv2=NormSquared(VecMin(a[i],p0));else{if(cw>cu)dv2=NormSquared(VecMin(a[i],p1));else{if(cu!=0)b=cw/cu;else b=0;pb={"x":Math.round(p0.x+b*u.x),"y":Math.round(p0.y+b*u.y)};dv2=NormSquared(VecMin(a[i],pb))}}if(dv2>maxd2){maxi=i;maxd2=dv2}}if(maxd2>tol2){m[maxi]=true;SimplifyPoints(tol2,a,m,j,maxi);SimplifyPoints(tol2,a,m,maxi,k)}}function SimplifyArray(a,t,tol){var i,n=a.length;var m=[];var tc=0;var b=Math.sqrt(sqr(a[0].x-a[n-1].x)+sqr(a[0].y-a[n-1].y));if(mw>=20||mh>=20)b=b<20;else if(mw>=10||mh>=10)b=b<10;else if(mw>=5||mh>=5)b=b<5;if(n<2)return 0;var tol2=tol*tol;m[0]=true;m[n-1]=true;for(i=1;i<=n-2;i++)m[i]=false;SimplifyPoints(tol2,a,m,0,n-1);for(i=0;i<=n-1;i++)if(m[i])t[tc++]=a[i];if(b&&t.length>2)t[t.length-1]=t[0]}function Calculate(p0,p1,p2,p3,t){return Math.ceil((2*p1+(-p0+p2)*t+(2*p0-5*p1+4*p2-p3)*t*t+(-p0+3*p1-3*p2+p3)*t*t*t)/2)}function CalculatePoint(cp0,cp1,cp2,cp3,t){return{"x":Calculate(cp0.x,cp1.x,cp2.x,cp3.x,t),"y":Calculate(cp0.y,cp1.y,cp2.y,cp3.y,t)}}function GetN(n,ac,b){if(n<0){if(b)n=ac+n;else n=0}if(n>ac){if(b)n=n-ac;else n=ac}return n}function CatMull(a,p){var i,k,kc;var ac=a.length-1;var pc=0;var b=a[ac]==a[0];for(i=0;i<=ac-1;i++){kc=4+Math.round(Math.sqrt(sqr(a[i].x-a[i+1].x)+sqr(a[i].y-a[i+1].y))/15);for(k=0;k<=kc;k++)p[pc++]=CalculatePoint(a[GetN(i-1,ac,b)],a[GetN(i,ac,b)],a[GetN(i+1,ac,b)],a[GetN(i+2,ac,b)],k/kc)}}function AddObject(t,p,x,y,w,h,angle,text,fontsize,color,line,opacity,fill,style){if(t==1||t==2){if(a.length==1)return 0;var s=[],stage=5;if(mw<20&&mh<20)stage=3;if(tool==1)SimplifyArray(p,s,stage);else s=p;if(s.length==2)obj[objc]={"t":2,"p":s,"x":s[0].x,"y":s[0].y,"w":s[1].x,"h":s[1].y,"angle":angle,"text":text,"color":color,"line":line,"opacity":opacity,"fill":fill,"style":style,"g":null};else obj[objc]={"t":1,"p":s,"x":x,"y":y,"w":w,"h":h,"angle":angle,"text":text,"fontsize":fontsize,"color":color,"line":line,"opacity":opacity,"fill":fill,"style":style,"g":null};if(obj[objc].t==1&&obj[objc].style==01)obj[objc].line=0;if(obj[objc].t==2&&obj[objc].style==01)obj[objc].style=10;objc++;return 1}if(t==3||t==4||t==5){if(w==0||h==0)return;obj[objc]={"t":t,"p":p,"x":x,"y":y,"w":w,"h":h,"angle":angle,"text":text,"fontsize":fontsize,"color":color,"line":line,"opacity":opacity,"fill":fill,"style":style,"g":null};if(obj[objc].style==01)obj[objc].line=0;objc++;return 1}if(t==6){md=false;if(text!=null&&(text=trim(text))){obj[objc]={"t":t,"p":p,"x":x,"y":y,"w":w,"h":h,"angle":angle,"text":text,"fontsize":fontsize,"color":color,"line":line,"opacity":opacity,"fill":fill,"style":style,"g":null};objc++;return 1}}return 0}function ShowObject(n){if(obj[n].g)obj[n].g.remove();if(obj[n].t==1){var p=[];CatMull(obj[n].p,p);var s="M"+p[0].x+" "+p[0].y;for(var i=1;i<p.length;i++)s=s.concat("L"+p[i].x+" "+p[i].y);obj[n].g=r.path(s).attr({"stroke":obj[n].color,"stroke-width":(obj[n].style==01)?(0):obj[n].line,"opacity":obj[n].opacity})}if(obj[n].t==2)obj[n].g=r.path("M"+obj[n].x+" "+obj[n].y+"L"+obj[n].w+" "+obj[n].h).attr({"stroke":obj[n].color,"stroke-width":obj[n].line,"opacity":obj[n].opacity});if(obj[n].t==3)obj[n].g=r.rect(obj[n].x,obj[n].y,obj[n].w,obj[n].h).attr({"stroke":obj[n].color,"stroke-width":obj[n].line,"opacity":obj[n].opacity});if(obj[n].t==4)obj[n].g=r.ellipse(obj[n].x+obj[n].w/2,obj[n].y+obj[n].h/2,obj[n].w/2,obj[n].h/2).attr({"stroke":obj[n].color,"stroke-width":obj[n].line,"opacity":obj[n].opacity});if(obj[n].t==5)obj[n].g=r.rect(obj[n].x,obj[n].y,obj[n].w,obj[n].h,10).attr({"stroke":obj[n].color,"stroke-width":obj[n].line,"opacity":obj[n].opacity});if(obj[n].t==6)obj[n].g=r.text(obj[n].x,obj[n].y,obj[n].text).attr(({"stroke-opacity":0,"fill":obj[n].color,"fill-opacity":obj[n].opacity,"font-size":obj[n].fontsize+"px","font-family":"arial","text-anchor":"start"}));if(obj[n].t==1||obj[n].t==3||obj[n].t==4||obj[n].t==5)if(obj[n].style!=10)obj[n].g.attr({"fill":obj[n].fill});if(obj[n].angle!=0)obj[n].g.rotate(obj[n].angle)}function ShowObjects(){for(var i=0;i<=objc-1;i++)ShowObject(i)}function ClearObjects(){for(var i=0;i<=objc-1;i++)obj[i].g.remove();objc=0}function DeleteLastObject(){if(objc>0){if(obj[objc-1].g)obj[objc-1].g.remove();objc--}}function ClearObjectsWithConfirm(){if(objc>0&&window.confirm('Удалить все объекты?'))ClearObjects()}function ToBackObject(){if(objc>1){var t=obj[objc-1];for(var i=objc-2;i>=0;i--)obj[i+1]=obj[i];obj[0]=t;ShowObjects()}}function RotateObject(n,angle){if(objc>0){if(obj[n].g)obj[n].g.rotate(angle);obj[n].angle+=angle;if(obj[n].angle>=360)obj[n].angle%=360;if(obj[n].angle<0)obj[n].angle+=360}}function MoveObject(n,xk,yk){if(objc>0){if(obj[n].g)obj[n].g.translate(xk,yk);if(obj[n].t==1){for(var i=0;i<obj[n].p.length;i++)obj[n].p[i]={"x":obj[n].p[i].x+xk,"y":obj[n].p[i].y+yk}}else{obj[n].x+=xk;obj[n].y+=yk;if(obj[n].t==2){obj[n].w+=xk;obj[n].h+=yk}}}}function GetObject(n){var color=obj[n].color;var opacity=obj[n].opacity;var line=obj[n].line;var fill=obj[n].fill;var style=obj[n].style;var angle=obj[n].angle;var fontsize=obj[n].fontsize;var text=obj[n].text;var x=obj[n].x;var y=obj[n].y;var w=obj[n].w;var h=obj[n].h;if(line==0&&obj[n].t!=6)color='';if(style==10)fill='';if(angle==0)angle='';if(obj[n].t==1)return"1,"+color+","+opacity+","+angle+","+line+","+fill+","+arr2xx(obj[n].p);if(obj[n].t==2)return"2,"+color+","+opacity+","+angle+","+line+","+arr2xx([{"x":x,"y":y},{"x":w,"y":h}]);if(obj[n].t==3)return"3,"+color+","+opacity+","+angle+","+line+","+fill+","+arr2xx([{"x":x,"y":y},{"x":w,"y":h}]);if(obj[n].t==4)return"4,"+color+","+opacity+","+angle+","+line+","+fill+","+arr2xx([{"x":x,"y":y},{"x":w,"y":h}]);if(obj[n].t==5)return"5,"+color+","+opacity+","+angle+","+line+","+fill+","+arr2xx([{"x":x,"y":y},{"x":w,"y":h}]);if(obj[n].t==6)return"6,"+color+","+opacity+","+angle+","+fontsize+","+escape256(text)+","+arr2xx([{"x":x,"y":y}])}function GetObjects(){var s='';for(var i=0;i<objc;i++)s+=GetObject(i)+';';return version+crc(s)+s}function AddObjectFromText(s){var p;var a=s.split(',');var o={"t":a[0],"p":null,"x":0,"y":0,"w":0,"h":0,"angle":a[3],"text":'',"fontsize":0,"color":a[1],"line":0,"opacity":a[2],"fill":'',"style":11,"g":null};if(o.t>=1&&o.t<=5){o.line=a[4];if(o.t!=2)o.fill=a[5];if(o.t==1)o.p=xx2arr(a[6]);if(o.t==2){p=xx2arr(a[5]);o.x=p[0].x;o.y=p[0].y;o.w=p[1].x;o.h=p[1].y}if(o.t==3||o.t==4||o.t==5){p=xx2arr(a[6]);o.x=p[0].x;o.y=p[0].y;o.w=p[1].x;o.h=p[1].y}}if(o.t==6){o.fontsize=a[4];o.text=unescape(a[5]);p=xx2arr(a[6]);o.x=p[0].x;o.y=p[0].y}if(o.color=='')o.line=0;if(o.fill=='')o.style=10;if(o.angle=='')o.angle=0;obj[objc++]=o}function LoadObjects(text){ClearObjects();if(s=='')return;var code=text.substring(0,4);var s=text.substring(4,text.length);if(code!=version+crc(s)){alert('Ошибка CRC. Объекты повреждены.'+code+'-'+version+crc(s)+'.');return 0}var a=s.split(';');var ac=a.length-1;for(var i=0;i<ac;i++)AddObjectFromText(a[i]);ShowObjects();return 1}function VGetMouseCoordinates(ev){if(ev.pageX||ev.pageY){return{x:ev.pageX,y:ev.pageY}}return{x:ev.clientX+document.body.scrollLeft-document.body.clientLeft,y:ev.clientY+document.body.scrollTop-document.body.clientTop}}function VGetMouseEvent(event,offx,offy){ev=window.event||event;var pos=VGetMouseCoordinates(ev);var button=ev.button;if(moz){if(button==1)button=4;else if(button==0)button=1}var wheelDelta;if(ev.wheelDelta)wheelDelta=ev.wheelDelta/120;else if(ev.detail)wheelDelta=-ev.detail/3;return{x:pos.x-offx,y:pos.y-offy,button:button,wheelDelta:wheelDelta}}function VMouseDown(event){if(moz)event.preventDefault();ev=VGetMouseEvent(event,offx,offy);var x=ev.x,y=ev.y;if(md){if((!mdr&&ev.button==2)||(mdr&&ev.button==1)){if(temp)temp.remove();md=false;return}}md=true;mdr=ev.button==2;minx=maxx=x;miny=maxy=y;if(temp)temp.remove();if(tempset)tempset.remove();if(tool==1||tool==2){a=[];a[0]={"x":x,"y":y};tempset=r.set()}if(tool==3||tool==4||tool==5||tool==7||tool==8){a=[];a[0]=a[1]={"x":x,"y":y}}if(tool==6){a=[];a[0]={"x":x,"y":y};if(mdr){var color0=fill}else{var color0=color}var temptext=r.text(x,y,'|Текст будет вставлен здесь').attr(({"stroke-opacity":0,"fill":color0,"fill-opacity":opacity,"font-size":fontsize+"px","font-family":"arial","text-anchor":"start"}));var text=prompt("Введите текст",'');temptext.remove();if(AddObject(tool,a,x,y,0,0,0,text,fontsize,color0,0,opacity,'',0))ShowObject(objc-1)}return false}function VMouseUp(event){ev=VGetMouseEvent(event,offx,offy);if(temp)temp.remove();if(tempset)tempset.remove();if(md){md=false;if(ev.button!=1&&ev.button!=2)return;if(tool!=6&&tool!=7){if(a.length==1)a[1]={x:a[0].x,y:a[0].y+1};var x1=Math.min(a[0].x,a[1].x),x2=Math.max(a[0].x,a[1].x);var y1=Math.min(a[0].y,a[1].y),y2=Math.max(a[0].y,a[1].y);var w=x2-x1,h=y2-y1;if(mdr){var color0=fill,fill0=color}else{var color0=color,fill0=fill}if(AddObject(tool,a,x1,y1,w,h,0,"",fontsize,color0,line,opacity,fill0,style))ShowObject(objc-1)}}return false}function VMouseMove(event){ev=VGetMouseEvent(event,offx,offy);if(!md||(ev.button!=1&&ev.button!=2)){if(temp)temp.remove();if(tempset)tempset.remove();return false}var x=ev.x,y=ev.y;if(md){minx=Math.min(minx,x);maxx=Math.max(maxx,x);miny=Math.min(miny,y);maxy=Math.max(maxy,y);mw=maxx-minx;mh=maxy-miny;if(mdr){var color0=fill,fill0=color}else{var color0=color,fill0=fill}if(tool==1){if(Math.abs(a[a.length-1].x-x)>0||Math.abs(a[a.length-1].y-y)>0){a[a.length]={"x":x,"y":y};tempset.push(r.path("M"+a[a.length-2].x+" "+a[a.length-2].y+"L"+a[a.length-1].x+" "+a[a.length-1].y).attr({"stroke":color0,"stroke-width":line,"opacity":1}))}if(debug)document.title='polyline(x:'+(x)+',y:'+(y)+')'}if(tool==2){if(tempset)tempset.remove();if(temp)temp.remove();a[1]={"x":x,"y":y};if(Math.abs(a[1].x-a[0].x)<10&&Math.abs(a[1].y-a[0].y)>10)a[1].x=a[0].x;if(Math.abs(a[1].y-a[0].y)<10&&Math.abs(a[1].x-a[0].x)>10)a[1].y=a[0].y;tempset=r.set();tempset.push(temp=r.path("M"+a[0].x+" "+a[0].y+"L"+a[1].x+" "+a[1].y).attr({"stroke":color0,"stroke-width":line,"opacity":opacity}));if(debug)document.title='line(w:'+(a[1].x-a[0].x)+',h:'+(a[1].y-a[0].y)+')'}if(tool==3||tool==4||tool==5){if(temp)temp.remove();a[1]={"x":x,"y":y};if(a[1].x-a[0].x!=0&&a[1].y-a[0].y!=0){var x1=Math.min(a[0].x,a[1].x),x2=Math.max(a[0].x,a[1].x);var y1=Math.min(a[0].y,a[1].y),y2=Math.max(a[0].y,a[1].y);var w=x2-x1,h=y2-y1;if(tool==3)temp=r.rect(x1,y1,w,h);if(tool==4)temp=r.ellipse(x1+w/2,y1+h/2,w/2,h/2);if(tool==5)temp=r.rect(x1,y1,w,h,10);temp.attr({"stroke":color0,"stroke-width":(style==01)?0:line,"opacity":opacity});if(style!=10)temp.attr({"fill":fill0})}if(debug)document.title='shape(w:'+(a[1].x-a[0].x)+',h:'+(a[1].y-a[0].y)+')'}if(tool==7){var angle=(x+y)-(a[1].x+a[1].y);RotateObject(objc-1,angle);a[1]={"x":x,"y":y};if(debug)document.title='angle('+obj[objc-1].angle+')'}if(tool==8){var xk=x-a[1].x;var yk=y-a[1].y;MoveObject(objc-1,xk,yk);a[1]={"x":x,"y":y}}}}function SetTool(t){tool=t;for(var i=1;i<=8;i++){if(tool==i)document.getElementById('tool'+i).style["border"]="2px solid #ffff80";else document.getElementById('tool'+i).style["border"]="0px"}if(tool==1||tool==3||tool==4||tool==5){document.getElementById('stylepanel').style["display"]="";document.getElementById('linepanel').style["display"]=""}if(tool==2){document.getElementById('stylepanel').style["display"]="none";document.getElementById('linepanel').style["display"]=""}if(tool==6){document.getElementById('stylepanel').style["display"]="none";document.getElementById('linepanel').style["display"]="none";document.getElementById('fontpanel').style["display"]=""}else document.getElementById('fontpanel').style["display"]="none";if(tool==7||tool==8){document.getElementById('stylepanel').style["display"]="none";document.getElementById('linepanel').style["display"]="none"}return tool}function SetColor(t,c){if(t==1)color=c;if(t==2)fill=c;document.getElementById('color'+t+'a').style["background"]=c;document.getElementById('color'+t+'a').title=c;document.getElementById('color'+t+'b').style["background"]=c;document.getElementById('color'+t+'b').title=c}function NextColor(t){var c;if(t==1)c=color;if(t==2)c=fill;var n=colors.indexOf(c);if(n==-1||n>=colors.length-1)n=0;else n++;SetColor(t,colors[n])}function SwapColors(){var t=color;color=fill;fill=t;SetColor(1,color);SetColor(2,fill)}function EnterColor(t){var text=prompt('Введите цвет в формате #rrggbb','#99ddbb');if(text!=null&&(text=trim(text)))if(isColor(text))SetColor(t,text);else alert('Цвет введён не правильно.')}function SetStyle(s){style=s;if(s==10){document.getElementById('style1').style["background"]="#ffff80";document.getElementById('style2').style["background"]="";document.getElementById('style3').style["background"]=""}if(s==11){document.getElementById('style1').style["background"]="";document.getElementById('style2').style["background"]="#ffff80";document.getElementById('style3').style["background"]=""}if(s==01){document.getElementById('style1').style["background"]="";document.getElementById('style2').style["background"]="";document.getElementById('style3').style["background"]="#ffff80"}return s}function EnterOpacity(){var text=prompt('Введите уровень плотности (0..1]','0.5');var o;if(text!=null&&(text=trim(text)))if(o=parseFloat(text))opacity=Math.max(Math.min(o,1),0.01);else alert('Вы допустили ошибку.')}function SetLine(l){line=l;if(l>4)l=4;for(var i=1;i<=4;i++){if(l==i)document.getElementById('line'+i).style["background"]="#ffff80";else document.getElementById('line'+i).style["background"]=""}return line}function EnterLine(){var text=prompt('Введите толщину линии (0..100]','10');var o;if(text!=null&&(text=trim(text)))if(o=parseInt(text))SetLine(Math.min(Math.max(o,1),100));else alert('Толщина линии введена не правильно.')}function SetFontSize(f){fontsize=f;if(fontsize<=14)fontnum=1;else if(fontsize<=16)fontnum=2;else fontnum=3;for(var i=1;i<=3;i++){if(fontnum==i)document.getElementById('font'+i).style["background"]="#ffff80";else document.getElementById('font'+i).style["background"]=""}return fontsize}function EnterFontSize(){var text=prompt('Введите размер шрифта в пикселах [6..300]','30');var o;if(text!=null&&(text=trim(text)))if(o=parseInt(text))SetFontSize(Math.min(Math.max(o,6),300));else alert('Размер шрифта введён не правильно.')}function GetOffsets(obj){var curleft=curtop=0;for(;obj!=null;obj=obj.offsetParent){curleft+=obj.offsetLeft;curtop+=obj.offsetTop}return[curleft,curtop]}function VLoad(){if(vloaded)return;vloaded=true;var ve=document.getElementById("ve");var mainpic=document.getElementById("mainpic");r=Raphael(ve,mainpic.style.width,mainpic.style.height);var mp=GetOffsets(mainpic);offx=mp[0];offy=mp[1];SetPanel(1)}function VPMouseDown(event){var vpt=GetOffsets(document.getElementById("vpalette"));if(moz)event.preventDefault();ev=VGetMouseEvent(event,vpt[0]+0,vpt[1]+24);if(ev.button==1)SetColor(1,xy2rgb(ev.x,ev.y));if(ev.button==2)SetColor(2,xy2rgb(ev.x,ev.y))}function VPMouseMove(event){var vpt=GetOffsets(document.getElementById("vpalette"));ev=VGetMouseEvent(event,vpt[0]+0,vpt[1]+24);if(ev.button==1)SetColor(1,xy2rgb(ev.x,ev.y));if(ev.button==2)SetColor(2,xy2rgb(ev.x,ev.y))}function VPaletteShow(){VLoad();if(vpshow)return;vpshow=true;var vpt=GetOffsets(document.getElementById("vpalette"));var vp=document.getElementById("vp");vp.style.left=vpt[0]+0;vp.style.top=vpt[1]+24;vp.style['display']=''}function VPaletteHide(){if(!vpshow)return;vpshow=false;document.getElementById("vp").style['display']='none'}function TogglePalette(){if(vpshow)VPaletteHide();else if(!vpshow)VPaletteShow()}function nullfunc(){alert(1);return false}function VShow(){SetPanel(1);VLoad();if(vshow)return;vshow=true;document.getElementById("ve").style['display']='';document.getElementById("mainpic").onMouseDown=function(){alert(12)}}function VHide(){VPaletteHide();SetPanel(0);if(!vshow)return;vshow=false;document.getElementById("ve").style['display']='none'}function VShowHide(){if(vshow)VHide();else if(!vshow)VShow()}function SetPanel(show){if(!show)document.getElementById("vpanel").innerHTML='';else{document.getElementById("vpanel").innerHTML='<center style="margin: 0 0 2 0;"><a class=rlink href="#" onClick="if(vshow) addve();" style="font-size: 10;">[ Вставить в комментарий ]</a></center><table height=30 cellpadding=0 cellspacing=0 style="z-index: 2; position: relative;"><tr><td align=center width=28><img id="tool1" src=i/vtool1.gif onClick="SetTool(1);" class=btn title="Перо/Полигон"></td><td align=center width=28><img id="tool2" src=i/vtool2.gif onClick="SetTool(2);" class=btn title="Линия"></td><td align=center width=28><img id="tool3" src=i/vtool3.gif onClick="SetTool(3);" class=btn title="Прямоугольник"></td><td align=center width=28><img id="tool4" src=i/vtool4.gif onClick="SetTool(4);" class=btn title="Эллипс"></td><td align=center width=28><img id="tool5" src=i/vtool5.gif onClick="SetTool(5);" class=btn title="Скругленный прямоугольник"></td><td align=center width=28><img id="tool6" src=i/vtool6.gif onClick="SetTool(6);" class=btn title="Текст"></td><td align=center width=28><img id="tool7" src=i/vtool7.gif onClick="SetTool(7);" class=btn title="Вращение"></td><td align=center width=28><img id="tool8" src=i/vtool8.gif onClick="SetTool(8);" class=btn title="Перемещение"></td><td align=center width=28><img src=i/vtool9.gif onClick="ToBackObject();" class=btn title="На задний план"></td><td align=center width=28><img src=i/vtool0.gif onClick="DeleteLastObject();" onDblClick="ClearObjectsWithConfirm();" class=btn title="Удалить последний объект"></td><td align=center width=50><table width=40 height=30 cellpadding=0 cellspacing=0><tr><td id="color1a" colspan=2 bgcolor=red onClick="NextColor(1);" onDblClick="EnterColor(1);"></td><td></td></tr><tr><td id="color1b" colspan=2 bgcolor=red onClick="NextColor(1);" onDblClick="EnterColor(1);"></td><td id="color2a" bgcolor=blue onClick="NextColor(2);" onDblClick="EnterColor(2);"></td></tr><tr><td width=14 height=10><img src=i/vswap.gif onClick="SwapColors();" style="cursor: pointer;" title="Поменять цвета"></td><td id="color2b" colspan=2 bgcolor=blue onClick="NextColor(2);" onDblClick="EnterColor(2);"></td></tr></table></td><td align=center width=28><img id="vpalette" src=i/vpalette.gif onClick="TogglePalette();" class=btn title="Палитра"></td><td><table id="stylepanel" height=30 cellpadding=0 cellspacing=0><tr><td width=20></td><td id="style1"><img src=i/vstyle1.gif onClick="SetStyle(10);" onDblClick="EnterOpacity();" class=btn title="Только линия"></td><td id="style2"><img src=i/vstyle2.gif onClick="SetStyle(11);" onDblClick="EnterOpacity();" class=btn title="Линия и заливка"></td><td id="style3"><img src=i/vstyle3.gif onClick="SetStyle(01);" onDblClick="EnterOpacity();" class=btn title="Только заливка"></td></tr></table></td><td><table id="linepanel" height=30 cellpadding=0 cellspacing=0><tr><td width=20></td><td id="line1"><img src=i/vline1.gif onClick="SetLine(1);" onDblClick="EnterLine();" class=btn title="Толщина линии 1"></td><td id="line2"><img src=i/vline2.gif onClick="SetLine(2);" onDblClick="EnterLine();" class=btn title="Толщина линии 2"></td><td id="line3"><img src=i/vline3.gif onClick="SetLine(3);" onDblClick="EnterLine();" class=btn title="Толщина линии 3"></td><td id="line4"><img src=i/vline4.gif onClick="SetLine(4);" onDblClick="EnterLine();" class=btn title="Толщина линии 4"></td></tr></table></td><td><table id="fontpanel" height=30 cellpadding=0 cellspacing=0><tr><td width=20></td><td id="font1"><img src=i/vtext1.gif onClick="SetFontSize(14);" onDblClick="EnterFontSize();" class=btn title="Размер шрифта 14"></td><td id="font2"><img src=i/vtext2.gif onClick="SetFontSize(16);" onDblClick="EnterFontSize();" class=btn title="Размер шрифта 16"></td><td id="font3"><img src=i/vtext3.gif onClick="SetFontSize(19);" onDblClick="EnterFontSize();" class=btn title="Размер шрифта 19"></td><td></td></tr></table></td></tr></table>';SetTool(tool);SetColor(1,color);SetColor(2,fill);SetStyle(style);SetLine(line);SetFontSize(fontsize)}}function setve(s){if(cropflag)flipcrop();VShow();if(LoadObjects(s))window.scrollTo(0,145)}function addve(){if(objc==0)return;s='[V]'+GetObjects()+'[/V]';document.gbform.body.value+=s;document.gbform.body.focus()}
