
var jg_ihtm,jg_ie,jg_fast,jg_dom,jg_moz,jg_n4=(document.layers&&typeof document.classes!="undefined");var xi,yi,xf,yf;function chkDHTM(x,i){x=document.body||null;jg_ie=x&&typeof x.insertAdjacentHTML!="undefined";jg_dom=(x&&!jg_ie&&typeof x.appendChild!="undefined"&&typeof document.createRange!="undefined"&&typeof(i=document.createRange()).setStartBefore!="undefined"&&typeof i.createContextualFragment!="undefined");jg_ihtm=!jg_ie&&!jg_dom&&x&&typeof x.innerHTML!="undefined";jg_fast=jg_ie&&document.all&&!window.opera;jg_moz=jg_dom&&typeof x.style.MozOpacity!="undefined";}
function pntDoc(){this.wnd.document.write(jg_fast?this.htmRpc():this.htm);this.htm='';}
function pntCnvDom(){var x=this.wnd.document.createRange();x.setStartBefore(this.cnv);x=x.createContextualFragment(jg_fast?this.htmRpc():this.htm);if(this.cnv)this.cnv.appendChild(x);this.htm='';}
function pntCnvIe(){if(this.cnv)this.cnv.insertAdjacentHTML("BeforeEnd",jg_fast?this.htmRpc():this.htm);this.htm='';}
function pntCnvIhtm(){if(this.cnv)this.cnv.innerHTML+=this.htm;this.htm='';}
function pntCnv(){this.htm='';}
function mkDiv(x,y,w,h){this.htm+='<div style="position:absolute;opacity:0.'+this.opacity+';'+'left:'+x+'px;top:'+y+'px;width:'+w+'px;height:'+h+'px;clip:rect(0,'+w+'px,'+h+'px,0);'+'background-color:'+this.color+(!jg_moz?';overflow:hidden':'')+';"><\/div>';}
function mkDivIe(x,y,w,h){this.htm+='%%'+this.opacity+';'+this.color+';'+x+';'+y+';'+w+';'+h+';';}
function mkDivPrt(x,y,w,h){this.htm+='<div style="position:absolute;border-left:'+w+'px solid '+this.color+';'+'left:'+x+'px;top:'+y+'px;width:0px;height:'+h+'px;clip:rect(0,'+w+'px,'+h+'px,0);'+'background-color:'+this.color+(!jg_moz?';overflow:hidden':'')+';"><\/div>';}
function mkLyr(x,y,w,h){this.htm+='<layer left="'+x+'" top="'+y+'" width="'+w+'" height="'+h+'" bgcolor="'+this.color+'"><\/layer>\n';}
var regex=/%%([^;]+);([^;]+);([^;]+);([^;]+);([^;]+);([^;]+);/g;var textDiv='<div style="filter:alpha(opacity=$1);overflow:hidden;position:absolute;background-color:$2;left:$3px;top:$4px;width:$5px;height:$6px'
function htmRpc(){return this.htm.replace(regex,textDiv+'"></div>\n');}
function htmPrtRpc(){return this.htm.replace(regex,textDiv+';border-left:$4px solid $1"></div>\n');}
function mkLin(x1,y1,x2,y2){if(x1-x2!=0)mmm=(y1-y2)/(x1-x2);else mmm=9999999;bbb1=-mmm*x1+y1;mxib=mmm*xi+bbb1;mxfb=mmm*xf+bbb1;if(!(((mxib-yi)>0&&(mxib-yf)>0&&(mxfb-yi)>0&&(mxfb-yf)>0)||((mxib-yi)<0&&(mxib-yf)<0&&(mxfb-yi)<0&&(mxfb-yf)<0))){if(x1>x2){var _x2=x2;var _y2=y2;x2=x1;y2=y1;x1=_x2;y1=_y2;}
var dx=x2-x1,dy=Math.abs(y2-y1),x=x1,y=y1,yIncr=(y1>y2)?-1:1;if(dx>=dy){var pr=dy<<1,pru=pr-(dx<<1),p=pr-dx,ox=x;while((dx--)>0){++x;if(p>0){xinicial=ox;yinicial=y;xfinal=(x-ox);if(yinicial>=yi&&yinicial<=yf){if(xinicial<xi){xfinal+=(xinicial-xi);xinicial=xi;}
if(xfinal+xinicial>xf)xfinal=xf-xinicial;if(xfinal>0)this.mkDiv(xinicial,yinicial,xfinal,1);}
y+=yIncr;p+=pru;ox=x;}else p+=pr;}
xinicial=ox;yinicial=y;xfinal=(x2-ox+1);if(yinicial>=yi&&yinicial<=yf){if(xinicial<xi){xfinal+=(xinicial-xi);xinicial=xi;}
if(xfinal+xinicial>xf)xfinal=xf-xinicial;if(xfinal>0)this.mkDiv(xinicial,yinicial,xfinal,1);}}else{var pr=dx<<1,pru=pr-(dy<<1),p=pr-dy,oy=y;if(y2<=y1){while((dy--)>0){if(p>0){xinixial=x++;yinicial=y;yfinal=oy-y+1;if(xinixial>=xi&&xinixial<=xf){if(yinicial<yi){yfinal+=(yinicial-yi);yinicial=yi;}
if(yfinal+yinicial>yf)yfinal=yf-yinicial;if(yfinal>0)this.mkDiv(xinixial,yinicial,1,yfinal);}
y+=yIncr;p+=pru;oy=y;}
else{y+=yIncr;p+=pr;}}
xinixial=x2;yinicial=y2;yfinal=oy-y2+1;if(xinixial>=xi&&xinixial<=xf){if(yinicial<yi){yfinal+=(yinicial-yi);yinicial=yi;}
if(yfinal+yinicial>yf)yfinal=yf-yinicial;if(yfinal>0)this.mkDiv(xinixial,yinicial,1,yfinal);}}
else{while((dy--)>0){y+=yIncr;if(p>0){xinixial=x++;yinicial=oy;yfinal=y-oy;if(xinixial>=xi&&xinixial<=xf){if(yinicial<yi){yfinal+=(yinicial-yi);yinicial=yi;}
if(yfinal+yinicial>yf)yfinal=yf-yinicial;if(yfinal>0)this.mkDiv(xinixial,yinicial,1,yfinal);}
p+=pru;oy=y;}
else p+=pr;}
xinixial=x2;yinicial=oy;yfinal=y2-oy+1;if(xinixial>=xi&&xinixial<=xf){if(yinicial<yi){yfinal+=(yinicial-yi);yinicial=yi;}
if(yfinal+yinicial>yf)yfinal=yf-yinicial;if(yfinal>0)this.mkDiv(xinixial,yinicial,1,yfinal);}}}}}
function mkOv(left,top,width,height){var a=width>>1,b=height>>1,wod=width&1,hod=(height&1)+1,cx=left+a,cy=top+b,x=0,y=b,ox=0,oy=b,aa=(a*a)<<1,bb=(b*b)<<1,st=(aa>>1)*(1-(b<<1))+bb,tt=(bb>>1)-aa*((b<<1)-1),w,h;while(y>0){if(st<0){st+=bb*((x<<1)+3);tt+=(bb<<1)*(++x);}
else if(tt<0){st+=bb*((x<<1)+3)-(aa<<1)*(y-1);tt+=(bb<<1)*(++x)-aa*(((y--)<<1)-3);w=x-ox;h=oy-y;if(w&2&&h&2){this.mkOvQds(cx,cy,-x+2,ox+wod,-oy,oy-1+hod,1,1);this.mkOvQds(cx,cy,-x+1,x-1+wod,-y-1,y+hod,1,1);}
else this.mkOvQds(cx,cy,-x+1,ox+wod,-oy,oy-h+hod,w,h);ox=x;oy=y;}
else{tt-=aa*((y<<1)-3);st-=(aa<<1)*(--y);}}
this.mkDiv(cx-a,cy-oy,a-ox+1,(oy<<1)+hod);this.mkDiv(cx+ox+wod,cy-oy,a-ox+1,(oy<<1)+hod);}
function mkRect(x,y,w,h){var s=this.stroke;this.mkDiv(x,y,w,s);this.mkDiv(x+w,y,s,h);this.mkDiv(x,y+h,w+s,s);this.mkDiv(x,y+s,s,h-s);}
function jsgStroke(){this.DOTTED=-1;}
var Stroke=new jsgStroke();function jsGraphics(id,x1,y1,x2,y2,wnd){xi=x1;yi=y1;xf=x2;yf=y2;this.setColor=new Function('arg','this.color = arg.toLowerCase();');this.setOpacity=new Function('arg','this.opacity = arg;');this.stroke=1;this.drawLine=mkLin;this.mkOv=mkOv;this.drawRect=mkRect;this.setPrintable=function(arg){this.printable=arg;if(jg_fast)
{this.mkDiv=mkDivIe;this.htmRpc=arg?htmPrtRpc:htmRpc;}
else this.mkDiv=jg_n4?mkLyr:arg?mkDivPrt:mkDiv;};this.drawPolyline=this.drawPolyLine=function(x,y,s){for(var i=0;i<x.length-1;i++)
this.drawLine(x[i],y[i],x[i+1],y[i+1]);};this.fillRect=function(x,y,w,h){this.mkDiv(x,y,w,h);};this.drawPolygon=function(x,y){this.drawPolyline(x,y);this.drawLine(x[x.length-1],y[x.length-1],x[0],y[0]);};this.drawEllipse=this.drawOval=function(x,y,w,h){this.mkOv(x,y,w,h);};this.fillEllipse=this.fillOval=function(left,top,w,h){var a=(w-=1)>>1,b=(h-=1)>>1,wod=(w&1)+1,hod=(h&1)+1,cx=left+a,cy=top+b,x=0,y=b,ox=0,oy=b,aa2=(a*a)<<1,aa4=aa2<<1,bb=(b*b)<<1,st=(aa2>>1)*(1-(b<<1))+bb,tt=(bb>>1)-aa2*((b<<1)-1),pxl,dw,dh;if(w+1)while(y>0){if(st<0){st+=bb*((x<<1)+3);tt+=(bb<<1)*(++x);}
else if(tt<0){st+=bb*((x<<1)+3)-aa4*(y-1);pxl=cx-x;dw=(x<<1)+wod;tt+=(bb<<1)*(++x)-aa2*(((y--)<<1)-3);dh=oy-y;this.mkDiv(pxl,cy-oy,dw,dh);this.mkDiv(pxl,cy+y+hod,dw,dh);ox=x;oy=y;}
else{tt-=aa2*((y<<1)-3);st-=aa4*(--y);}}
this.mkDiv(cx-a,cy-oy,w+1,(oy<<1)+hod);};this.fillPolygon=function(array_x,array_y){var i,y,miny,maxy,x1,y1,x2,y2,ind1,ind2,ints;var n=array_x.length;if(!n)return;miny=array_y[0];maxy=array_y[0];for(i=1;i<n;i++){if(array_y[i]<miny)miny=array_y[i];if(array_y[i]>maxy)maxy=array_y[i];}
if(miny<yi)miny=yi;if(maxy>yf)maxy=yf;corrector=(maxy-miny)/60;if(corrector>1)corrector=1;for(y=miny+4*corrector+desempateEntreLineas;y<=maxy-4*corrector;y+=4){var polyInts=[];ints=0;for(i=0;i<n;i++){if(!i){ind1=n-1;ind2=0;}else{ind1=i-1;ind2=i;}
y1=array_y[ind1];y2=array_y[ind2];if(y1<y2){x1=array_x[ind1];x2=array_x[ind2];}else if(y1>y2){y1=array_y[ind2];y2=array_y[ind1];x2=array_x[ind1];x1=array_x[ind2];}
else continue;if(((y>=y1)&&(y<y2))||((y==maxy)&&(y>y1)&&(y<=y2))){valorX=Math.round((y-y1)*(x2-x1)/(y2-y1)+x1);if(valorX<xi)valorX=xi;if(valorX>xf)valorX=xf;extremo=new Object;extremo.valorX=valorX;polyInts[ints++]=valorX;}}
polyInts.sort(integer_compare);for(i=0;i<ints;i+=2){if((polyInts[i+1]-polyInts[i])>10){this.mkDiv(polyInts[i]+5,y,(polyInts[i+1])-(polyInts[i]+1+5),1);}}}};this.clear=function(){this.htm="";if(this.cnv)this.cnv.innerHTML=this.defhtm;};this.mkOvQds=function(cx,cy,xl,xr,yt,yb,w,h){this.mkDiv(xr+cx,yt+cy,w,h);this.mkDiv(xr+cx,yb+cy,w,h);this.mkDiv(xl+cx,yb+cy,w,h);this.mkDiv(xl+cx,yt+cy,w,h);};this.color='#000000';this.opacity='1.0';this.htm='';this.wnd=wnd||window;if(!(jg_ie||jg_dom||jg_ihtm))chkDHTM();if(typeof id!='string'||!id)this.paint=pntDoc;else{this.cnv=document.all?(this.wnd.document.all[id]||null):document.getElementById?(this.wnd.document.getElementById(id)||null):null;this.defhtm=(this.cnv&&this.cnv.innerHTML)?this.cnv.innerHTML:'';this.paint=jg_dom?pntCnvDom:jg_ie?pntCnvIe:jg_ihtm?pntCnvIhtm:pntCnv;}
this.setPrintable(false);}
function integer_compare(x,y){return(x<y)?-1:((x>y)*1);}
