var BaseChars="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",HexTable=[];function VECTORXY(a,b){this.x=a;this.y=b}function COLORRGB(a,b,c){this.r=a;this.g=b;this.b=c}COLORRGB.prototype.hex=function(){return HexTable[parseInt(this.r)]+HexTable[parseInt(this.g)]+HexTable[parseInt(this.b)]};function rgb2hex(a,b,c){return HexTable[parseInt(a)]+HexTable[parseInt(b)]+HexTable[parseInt(c)]}function left(a,b){if(b<=0)return"";if(b>String(a).length)return a;return String(a).substring(0,b)}
function right(a,b){if(b<=0)return"";if(b>String(a).length)return a;var c=String(a).length;return String(a).substring(c,c-b)}function replacecharnum(a,b,c){return a.substring(0,b)+c+a.substring(b+1)}function leftpad(a,b,c){for(var d=a.length;a.length<b;d++)a=c+""+a;return a}function rightpad(a,b,c){for(var d=a.length;a.length<b;d++)a+=""+c;return a}function base10n(a,b){var c="";if(!(b>36||b<2)){for(;a>0;){c=BaseChars.charAt(a%b)+c;a=Math.floor(a/b)}return c}}
function basen10(a,b){var c,d=0;if(!(b>36||b<2)){for(var e=0;e<a.length;e++){c=BaseChars.indexOf(a.charAt(e));if(c>=b||c<0)return;d+=c*Math.pow(b,e)}return d}}function buildhextable(){for(var a=0;a<256;a++)HexTable[a]=leftpad(base10n(a,16),2,"0")};

