changeset 46:26c2b3ad21c7 laserkard

[svn r47] saving progresswww.cinemassacre.com/new/?page_id=30
author rlm
date Sun, 31 Jan 2010 12:33:33 -0500
parents bff96abdddfa
children 4431dc7d4bb5
files awesome_js/robert.js buy.html buy_files/HelveticaNeue_LT_55_Roman_700-HelveticaNeue_LT_55_Roman_700-H.js buy_files/basic_acrylic_clear.jpg buy_files/big_acrylic_clear.jpg buy_files/big_acrylic_clear_002.jpg buy_files/btn_cart_LG.gif buy_files/buycode.js buy_files/classic_acrylic_clear.jpg buy_files/clear_acrylic.png buy_files/cufon-yui.js buy_files/green_acrylic.png buy_files/lines_acrylic_clear.jpg buy_files/main.css buy_files/raphael.js buy_files/sexy.css buycode.js log/error_log.log onlypaths/aut.txt onlypaths/big01.txt onlypaths/biglong.txt onlypaths/css/me.css onlypaths/css/me.css.bak onlypaths/css/onlypaths.css onlypaths/css/onlypaths.css.bak onlypaths/css/slider.css onlypaths/css/svgpaths.htm onlypaths/danger.txt onlypaths/events-in-canvas.txt onlypaths/img/Thumbs.db onlypaths/img/bar.gif onlypaths/img/circle.gif onlypaths/img/delete.gif onlypaths/img/editpath.gif onlypaths/img/image.gif onlypaths/img/line.gif onlypaths/img/loadcode.gif onlypaths/img/oneback.gif onlypaths/img/onetop.gif onlypaths/img/path2.gif onlypaths/img/path3.gif onlypaths/img/rainbow1.png onlypaths/img/rectangle.gif onlypaths/img/reflect_h.gif onlypaths/img/reflect_v.gif onlypaths/img/reset.gif onlypaths/img/roundrect.gif onlypaths/img/select.gif onlypaths/img/select3.gif onlypaths/img/setpath1.gif onlypaths/img/shape.gif onlypaths/img/slider-metal.gif onlypaths/img/slider-point.gif onlypaths/img/text.gif onlypaths/img/theme/images/Thumbs.db onlypaths/img/theme/images/no.gif onlypaths/img/theme/images/ok.gif onlypaths/img/tocurve.gif onlypaths/img/totheback.gif onlypaths/img/tothetop.gif onlypaths/img/viewcode.gif onlypaths/img/white01.gif onlypaths/img/zoom.gif onlypaths/img/zoom_frame.gif onlypaths/img/zoom_hand.gif onlypaths/img/zoom_minus.gif onlypaths/img/zoom_more.gif onlypaths/img/zoom_window.gif onlypaths/index.htm onlypaths/js/application.js onlypaths/js/application_mini.js onlypaths/js/ext/ext-all-debug.js onlypaths/js/ext/ext-base.js onlypaths/js/ext/keymap.js onlypaths/js/ext/pro2ext.php onlypaths/js/features.js onlypaths/js/features_mini.js onlypaths/js/format.js onlypaths/js/format_mini.js onlypaths/js/me.js onlypaths/js/onlypaths.js onlypaths/js/onlypaths_mini.js onlypaths/js/prototype.js onlypaths/js/svgpaths.js onlypaths/js/svgrenderer.js onlypaths/js/svgrenderer_mini.js onlypaths/js/sylvester.js onlypaths/js/vmlpaths.js onlypaths/js/vmlrenderer.js onlypaths/js/vmlrendererPrev.js onlypaths/js/vmlrenderer_mini.js onlypaths/lifes.txt onlypaths/new.txt onlypaths/onerobot.txt onlypaths/onerobot1.txt onlypaths/oye.txt onlypaths/oyegroup.txt onlypaths/oyegroup01.txt onlypaths/solids.txt onlypaths/svgpaths.htm onlypaths/svgshapes.txt onlypaths/theme/css/README.txt onlypaths/theme/css/borders.css onlypaths/theme/css/box.css onlypaths/theme/css/button.css onlypaths/theme/css/combo.css onlypaths/theme/css/core.css onlypaths/theme/css/date-picker.css onlypaths/theme/css/dd.css onlypaths/theme/css/debug.css onlypaths/theme/css/dialog.css onlypaths/theme/css/editor.css onlypaths/theme/css/ext-all.css onlypaths/theme/css/form.css onlypaths/theme/css/grid.css onlypaths/theme/css/layout.css onlypaths/theme/css/menu.css onlypaths/theme/css/panel.css onlypaths/theme/css/progress.css onlypaths/theme/css/qtips.css onlypaths/theme/css/reset-min.css onlypaths/theme/css/reset.css onlypaths/theme/css/resizable.css onlypaths/theme/css/slider.css onlypaths/theme/css/tabs.css onlypaths/theme/css/toolbar.css onlypaths/theme/css/tree.css onlypaths/theme/css/window.css onlypaths/theme/css/xtheme-black.css onlypaths/theme/css/xtheme-chocolate.css onlypaths/theme/css/xtheme-darkgray.css onlypaths/theme/css/xtheme-gray-extend.css onlypaths/theme/css/xtheme-gray.css onlypaths/theme/css/xtheme-green.css onlypaths/theme/css/xtheme-indigo.css onlypaths/theme/css/xtheme-midnight.css onlypaths/theme/css/xtheme-olive.css onlypaths/theme/css/xtheme-orange.css onlypaths/theme/css/xtheme-peppermint.css onlypaths/theme/css/xtheme-pink.css onlypaths/theme/css/xtheme-purple.css onlypaths/theme/css/xtheme-silverCherry.css onlypaths/theme/css/xtheme-slate.css onlypaths/theme/css/xtheme-slickness.css onlypaths/theme/images/default/Thumbs.db onlypaths/theme/images/default/box/Thumbs.db onlypaths/theme/images/default/box/corners-blue.gif onlypaths/theme/images/default/box/corners.gif onlypaths/theme/images/default/box/l-blue.gif onlypaths/theme/images/default/box/l.gif onlypaths/theme/images/default/box/r-blue.gif onlypaths/theme/images/default/box/r.gif onlypaths/theme/images/default/box/tb-blue.gif onlypaths/theme/images/default/box/tb.gif onlypaths/theme/images/default/button/Thumbs.db onlypaths/theme/images/default/button/btn-arrow.gif onlypaths/theme/images/default/button/btn-sprite.gif onlypaths/theme/images/default/dd/Thumbs.db onlypaths/theme/images/default/dd/drop-add.gif onlypaths/theme/images/default/dd/drop-no.gif onlypaths/theme/images/default/dd/drop-yes.gif onlypaths/theme/images/default/editor/Thumbs.db onlypaths/theme/images/default/editor/tb-sprite.gif onlypaths/theme/images/default/form/Thumbs.db onlypaths/theme/images/default/form/clear-trigger.gif onlypaths/theme/images/default/form/clear-trigger.psd onlypaths/theme/images/default/form/date-trigger.gif onlypaths/theme/images/default/form/date-trigger.psd onlypaths/theme/images/default/form/error-tip-corners.gif onlypaths/theme/images/default/form/exclamation.gif onlypaths/theme/images/default/form/search-trigger.gif onlypaths/theme/images/default/form/search-trigger.psd onlypaths/theme/images/default/form/text-bg.gif onlypaths/theme/images/default/form/trigger-tpl.gif onlypaths/theme/images/default/form/trigger.gif onlypaths/theme/images/default/form/trigger.psd onlypaths/theme/images/default/gradient-bg.gif onlypaths/theme/images/default/grid/Thumbs.db onlypaths/theme/images/default/grid/arrow-left-white.gif onlypaths/theme/images/default/grid/arrow-right-white.gif onlypaths/theme/images/default/grid/col-move-bottom.gif onlypaths/theme/images/default/grid/col-move-top.gif onlypaths/theme/images/default/grid/columns.gif onlypaths/theme/images/default/grid/dirty.gif onlypaths/theme/images/default/grid/done.gif onlypaths/theme/images/default/grid/drop-no.gif onlypaths/theme/images/default/grid/drop-yes.gif onlypaths/theme/images/default/grid/footer-bg.gif onlypaths/theme/images/default/grid/grid-blue-hd.gif onlypaths/theme/images/default/grid/grid-blue-split.gif onlypaths/theme/images/default/grid/grid-hrow.gif onlypaths/theme/images/default/grid/grid-loading.gif onlypaths/theme/images/default/grid/grid-split.gif onlypaths/theme/images/default/grid/grid-vista-hd.gif onlypaths/theme/images/default/grid/grid3-hd-btn.gif onlypaths/theme/images/default/grid/grid3-hrow-over.gif onlypaths/theme/images/default/grid/grid3-hrow.gif onlypaths/theme/images/default/grid/grid3-special-col-bg.gif onlypaths/theme/images/default/grid/grid3-special-col-sel-bg.gif onlypaths/theme/images/default/grid/group-by.gif onlypaths/theme/images/default/grid/group-expand-sprite.gif onlypaths/theme/images/default/grid/hd-pop.gif onlypaths/theme/images/default/grid/hmenu-asc.gif onlypaths/theme/images/default/grid/hmenu-desc.gif onlypaths/theme/images/default/grid/hmenu-lock.gif onlypaths/theme/images/default/grid/hmenu-lock.png onlypaths/theme/images/default/grid/hmenu-unlock.gif onlypaths/theme/images/default/grid/hmenu-unlock.png onlypaths/theme/images/default/grid/invalid_line.gif onlypaths/theme/images/default/grid/loading.gif onlypaths/theme/images/default/grid/mso-hd.gif onlypaths/theme/images/default/grid/nowait.gif onlypaths/theme/images/default/grid/page-first-disabled.gif onlypaths/theme/images/default/grid/page-first.gif onlypaths/theme/images/default/grid/page-last-disabled.gif onlypaths/theme/images/default/grid/page-last.gif onlypaths/theme/images/default/grid/page-next-disabled.gif onlypaths/theme/images/default/grid/page-next.gif onlypaths/theme/images/default/grid/page-prev-disabled.gif onlypaths/theme/images/default/grid/page-prev.gif onlypaths/theme/images/default/grid/pick-button.gif onlypaths/theme/images/default/grid/refresh.gif onlypaths/theme/images/default/grid/row-check-sprite.gif onlypaths/theme/images/default/grid/row-expand-sprite.gif onlypaths/theme/images/default/grid/row-over.gif onlypaths/theme/images/default/grid/row-sel.gif onlypaths/theme/images/default/grid/sort_asc.gif onlypaths/theme/images/default/grid/sort_desc.gif onlypaths/theme/images/default/grid/wait.gif onlypaths/theme/images/default/layout/Thumbs.db onlypaths/theme/images/default/layout/collapse.gif onlypaths/theme/images/default/layout/expand.gif onlypaths/theme/images/default/layout/gradient-bg.gif onlypaths/theme/images/default/layout/mini-bottom.gif onlypaths/theme/images/default/layout/mini-left.gif onlypaths/theme/images/default/layout/mini-right.gif onlypaths/theme/images/default/layout/mini-top.gif onlypaths/theme/images/default/layout/ns-collapse.gif onlypaths/theme/images/default/layout/ns-expand.gif onlypaths/theme/images/default/layout/panel-close.gif onlypaths/theme/images/default/layout/panel-title-bg.gif onlypaths/theme/images/default/layout/panel-title-light-bg.gif onlypaths/theme/images/default/layout/stick.gif onlypaths/theme/images/default/layout/stuck.gif onlypaths/theme/images/default/layout/tab-close-on.gif onlypaths/theme/images/default/layout/tab-close.gif onlypaths/theme/images/default/menu/Thumbs.db onlypaths/theme/images/default/menu/checked.gif onlypaths/theme/images/default/menu/group-checked.gif onlypaths/theme/images/default/menu/item-over.gif onlypaths/theme/images/default/menu/menu-parent.gif onlypaths/theme/images/default/menu/menu.gif onlypaths/theme/images/default/menu/unchecked.gif onlypaths/theme/images/default/panel/Thumbs.db onlypaths/theme/images/default/panel/corners-sprite.gif onlypaths/theme/images/default/panel/left-right.gif onlypaths/theme/images/default/panel/light-hd.gif onlypaths/theme/images/default/panel/tool-sprite-tpl.gif onlypaths/theme/images/default/panel/tool-sprites.gif onlypaths/theme/images/default/panel/tools-sprites-trans.gif onlypaths/theme/images/default/panel/top-bottom.gif onlypaths/theme/images/default/panel/top-bottom.png onlypaths/theme/images/default/panel/white-corners-sprite.gif onlypaths/theme/images/default/panel/white-left-right.gif onlypaths/theme/images/default/panel/white-top-bottom.gif onlypaths/theme/images/default/progress/progress-bg.gif onlypaths/theme/images/default/qtip/Thumbs.db onlypaths/theme/images/default/qtip/bg.gif onlypaths/theme/images/default/qtip/close.gif onlypaths/theme/images/default/qtip/tip-sprite.gif onlypaths/theme/images/default/s.gif onlypaths/theme/images/default/shadow-c.png onlypaths/theme/images/default/shadow-lr.png onlypaths/theme/images/default/shadow.png onlypaths/theme/images/default/shared/Thumbs.db onlypaths/theme/images/default/shared/blue-loading.gif onlypaths/theme/images/default/shared/calendar.gif onlypaths/theme/images/default/shared/glass-bg.gif onlypaths/theme/images/default/shared/hd-sprite.gif onlypaths/theme/images/default/shared/large-loading.gif onlypaths/theme/images/default/shared/left-btn.gif onlypaths/theme/images/default/shared/loading-balls.gif onlypaths/theme/images/default/shared/right-btn.gif onlypaths/theme/images/default/shared/warning.gif onlypaths/theme/images/default/sizer/Thumbs.db onlypaths/theme/images/default/sizer/e-handle-dark.gif onlypaths/theme/images/default/sizer/e-handle.gif onlypaths/theme/images/default/sizer/ne-handle-dark.gif onlypaths/theme/images/default/sizer/ne-handle.gif onlypaths/theme/images/default/sizer/nw-handle-dark.gif onlypaths/theme/images/default/sizer/nw-handle.gif onlypaths/theme/images/default/sizer/s-handle-dark.gif onlypaths/theme/images/default/sizer/s-handle.gif onlypaths/theme/images/default/sizer/se-handle-dark.gif onlypaths/theme/images/default/sizer/se-handle.gif onlypaths/theme/images/default/sizer/square.gif onlypaths/theme/images/default/sizer/sw-handle-dark.gif onlypaths/theme/images/default/sizer/sw-handle.gif onlypaths/theme/images/default/slider/Thumbs.db onlypaths/theme/images/default/slider/slider-bg.png onlypaths/theme/images/default/slider/slider-thumb.png onlypaths/theme/images/default/slider/slider-v-bg.png onlypaths/theme/images/default/slider/slider-v-thumb.png onlypaths/theme/images/default/tabs/Thumbs.db onlypaths/theme/images/default/tabs/scroll-left.gif onlypaths/theme/images/default/tabs/scroll-right.gif onlypaths/theme/images/default/tabs/scroller-bg.gif onlypaths/theme/images/default/tabs/tab-btm-inactive-left-bg.gif onlypaths/theme/images/default/tabs/tab-btm-inactive-right-bg.gif onlypaths/theme/images/default/tabs/tab-btm-left-bg.gif onlypaths/theme/images/default/tabs/tab-btm-right-bg.gif onlypaths/theme/images/default/tabs/tab-close.gif onlypaths/theme/images/default/tabs/tab-strip-bg.gif onlypaths/theme/images/default/tabs/tab-strip-bg.png onlypaths/theme/images/default/tabs/tab-strip-btm-bg.gif onlypaths/theme/images/default/tabs/tabs-sprite.gif onlypaths/theme/images/default/toolbar/Thumbs.db onlypaths/theme/images/default/toolbar/bg.gif onlypaths/theme/images/default/toolbar/btn-arrow-light.gif onlypaths/theme/images/default/toolbar/btn-arrow.gif onlypaths/theme/images/default/toolbar/btn-over-bg.gif onlypaths/theme/images/default/toolbar/gray-bg.gif onlypaths/theme/images/default/toolbar/tb-bg.gif onlypaths/theme/images/default/toolbar/tb-btn-sprite.gif onlypaths/theme/images/default/tree/Thumbs.db onlypaths/theme/images/default/tree/arrows.gif onlypaths/theme/images/default/tree/drop-add.gif onlypaths/theme/images/default/tree/drop-between.gif onlypaths/theme/images/default/tree/drop-no.gif onlypaths/theme/images/default/tree/drop-over.gif onlypaths/theme/images/default/tree/drop-under.gif onlypaths/theme/images/default/tree/drop-yes.gif onlypaths/theme/images/default/tree/elbow-end-minus-nl.gif onlypaths/theme/images/default/tree/elbow-end-minus.gif onlypaths/theme/images/default/tree/elbow-end-plus-nl.gif onlypaths/theme/images/default/tree/elbow-end-plus.gif onlypaths/theme/images/default/tree/elbow-end.gif onlypaths/theme/images/default/tree/elbow-line.gif onlypaths/theme/images/default/tree/elbow-minus-nl.gif onlypaths/theme/images/default/tree/elbow-minus.gif onlypaths/theme/images/default/tree/elbow-plus-nl.gif onlypaths/theme/images/default/tree/elbow-plus.gif onlypaths/theme/images/default/tree/elbow.gif onlypaths/theme/images/default/tree/folder-open.gif onlypaths/theme/images/default/tree/folder.gif onlypaths/theme/images/default/tree/leaf.gif onlypaths/theme/images/default/tree/loading.gif onlypaths/theme/images/default/tree/s.gif onlypaths/theme/images/default/window/Thumbs.db onlypaths/theme/images/default/window/icon-error.gif onlypaths/theme/images/default/window/icon-info.gif onlypaths/theme/images/default/window/icon-question.gif onlypaths/theme/images/default/window/icon-warning.gif onlypaths/theme/images/default/window/left-corners.png onlypaths/theme/images/default/window/left-corners.psd onlypaths/theme/images/default/window/left-right.png onlypaths/theme/images/default/window/left-right.psd onlypaths/theme/images/default/window/right-corners.png onlypaths/theme/images/default/window/right-corners.psd onlypaths/theme/images/default/window/top-bottom.png onlypaths/theme/images/default/window/top-bottom.psd onlypaths/vmlpaths.htm paypal/basic_acrylic_clear.paylist paypal/basic_acrylic_green.paylist paypal/big_acrylic_clear.paylist paypal/big_acrylic_green.paylist paypal/classic_acrylic_clear.paylist paypal/classic_acrylic_green.paylist paypal/generate_paylists.pm paypal/lines_acrylic_clear.paylist paypal/lines_acrylic_green.paylist sexy.css
diffstat 371 files changed, 78767 insertions(+), 52 deletions(-) [+]
line wrap: on
line diff
     1.1 --- a/awesome_js/robert.js	Thu Jan 28 15:06:52 2010 -0500
     1.2 +++ b/awesome_js/robert.js	Sun Jan 31 12:33:33 2010 -0500
     1.3 @@ -1,14 +1,4 @@
     1.4  
     1.5 -function defaults()
     1.6 -{
     1.7 -alias = "Robert Mac";
     1.8 -email = "rlm@mit.edu";
     1.9 -occupation = "";
    1.10 -company = "";
    1.11 -phone = "";
    1.12 -website = "";
    1.13 -lineArt = "";
    1.14 -}
    1.15  
    1.16  
    1.17  
     2.1 --- a/buy.html	Thu Jan 28 15:06:52 2010 -0500
     2.2 +++ b/buy.html	Sun Jan 31 12:33:33 2010 -0500
     2.3 @@ -101,7 +101,6 @@
     2.4  laserkard = eval('(' + JSONtex + ')');
     2.5  
     2.6  var raphe = Raphael("disp_contain", 515, 318);
     2.7 -defaults();
     2.8  redraw("bold");
     2.9  
    2.10  
     3.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.2 +++ b/buy_files/HelveticaNeue_LT_55_Roman_700-HelveticaNeue_LT_55_Roman_700-H.js	Sun Jan 31 12:33:33 2010 -0500
     3.3 @@ -0,0 +1,161 @@
     3.4 +/*!
     3.5 + * The following copyright notice may not be removed under any circumstances.
     3.6 + * 
     3.7 + * Copyright:
     3.8 + *  The digitally encoded machine readable software for producing the  Typefaces
     3.9 + * licensed to you is copyrighted (c) 1988, 1990, 1993 Adobe Systems.  All Rights
    3.10 + * Reserved. This software is the property of Adobe Systems  Incorporated and its
    3.11 + * licensors, and may not be reproduced, used,   displayed, modified, disclosed or
    3.12 + * transferred without the express   written approval of Adobe.    The digitally
    3.13 + * encoded machine readable outline data for producing  the Typefaces licensed to
    3.14 + * you is copyrighted (c) 1981 Linotype-Hell AG  and/or its subsidiaries. All
    3.15 + * Rights Reserved.  This data is the property of Linotype-Hell AG and/or its
    3.16 + * subsidiaries  and may not be reproduced, used, displayed, modified, disclosed or
    3.17 + *   transferred without the express written approval of Linotype-Hell AG   and/or
    3.18 + * its subsidiaries.  12 pt. Helvetica* 75 Bold 07472
    3.19 + * 
    3.20 + * Trademark:
    3.21 + * Copyright (c) 1988, 1990, 1993 Adobe Systems Incorporated.  All Rights
    3.22 + * Reserved.Helvetica is a trademark of Linotype-Hell AG and/or its subsidiaries.
    3.23 + * 
    3.24 + * Description:
    3.25 + *  The digitally encoded machine readable software for producing the  Typefaces
    3.26 + * licensed to you is copyrighted (c) 1988, 1990, 1993 Adobe Systems.  All Rights
    3.27 + * Reserved. This software is the property of Adobe Systems  Incorporated and its
    3.28 + * licensors, and may not be reproduced, used,   displayed, modified, disclosed or
    3.29 + * transferred without the express   written approval of Adobe.    The digitally
    3.30 + * encoded machine readable outline data for producing  the Typefaces licensed to
    3.31 + * you is copyrighted (c) 1981 Linotype-Hell AG  and/or its subsidiaries. All
    3.32 + * Rights Reserved.  This data is the property of Linotype-Hell AG and/or its
    3.33 + * subsidiaries  and may not be reproduced, used, displayed, modified, disclosed or
    3.34 + *   transferred without the express written approval of Linotype-Hell AG   and/or
    3.35 + * its subsidiaries.  12 pt. Helvetica* 75 Bold 07472
    3.36 + * 
    3.37 + * Vendor URL:
    3.38 + * http://www.Linotypelibrary.com
    3.39 + * 
    3.40 + * License information:
    3.41 + * http://www.Linotypelibrary.com
    3.42 + */
    3.43 +Cufon.registerFont(Raphael.registerFont(
    3.44 +{"w":200,"face":{"font-family":"HelveticaNeue LT 55 Roman","font-weight":700,"font-stretch":"normal","units-per-em":"360","panose-1":"2 0 8 3 5 0 0 2 0 4","ascent":"288","descent":"-72","x-height":"5","bbox":"-17 -291 339 77","underline-thickness":"18","underline-position":"-27","unicode-range":"U+0020-U+2122"},"glyphs":{" ":{"w":100},"!":{"d":"22,-55r56,0r0,55r-56,0r0,-55xm77,-257v3,67,-7,123,-14,180r-26,0v-7,-58,-17,-112,-14,-180r54,0","w":100},"\"":{"d":"31,-257r38,0r0,116r-38,0r0,-116xm98,-257r38,0r0,116r-38,0r0,-116","w":166},"#":{"d":"87,-148r-6,44r35,0r6,-44r-35,0xm42,-71r-30,0r0,-33r34,0r7,-44r-30,0r0,-33r34,0r10,-71r35,0r-10,71r35,0r9,-71r35,0r-9,71r26,0r0,33r-31,0r-6,44r26,0r0,33r-31,0r-10,71r-34,0r9,-71r-34,0r-10,71r-35,0"},"$":{"d":"170,-135v62,45,20,146,-59,141r0,31r-22,0r0,-31v-55,-4,-84,-35,-89,-90r51,0v0,26,16,44,38,48r0,-75v-39,-11,-84,-22,-83,-75v1,-51,36,-72,83,-77r0,-28r22,0r0,28v46,6,78,28,81,77r-52,0v1,-17,-13,-35,-29,-35r0,64v22,4,47,12,59,22xm111,-36v34,3,55,-50,18,-63v-5,-2,-11,-4,-18,-6r0,69xm89,-221v-26,-3,-42,30,-25,48v5,4,13,8,25,11r0,-59"},"%":{"d":"274,-108v-27,0,-26,31,-24,56v1,17,6,30,23,30v33,0,34,-86,1,-86xm272,5v-42,-1,-59,-28,-59,-71v0,-42,19,-68,61,-69v43,-1,59,29,59,71v0,41,-18,69,-61,69xm240,-260r31,0r-148,268r-32,0xm88,-230v-25,1,-26,30,-24,58v1,15,5,29,23,28v25,-1,25,-30,23,-54v-2,-15,-5,-33,-22,-32xm86,-117v-43,0,-60,-27,-59,-69v1,-41,19,-71,61,-71v43,0,59,30,59,73v0,43,-19,66,-61,67","w":360},"&":{"d":"223,-124v-3,25,-12,47,-25,63r53,61r-63,0r-21,-26v-40,50,-160,39,-155,-46v2,-42,29,-60,57,-75v-12,-16,-25,-29,-24,-54v1,-39,29,-59,67,-59v41,0,69,20,70,62v0,34,-23,51,-46,64r34,40v6,-9,7,-19,9,-30r44,0xm60,-71v0,43,65,41,80,11r-44,-53v-17,8,-36,18,-36,42xm111,-165v28,-7,39,-57,3,-61v-35,3,-21,49,-3,61","w":246},"\u2019":{"d":"24,-257r52,0v3,56,1,110,-52,116r0,-24v17,-6,23,-16,24,-37r-24,0r0,-55","w":100,"k":{"t":6,"s":27,"\u2019":23}},"(":{"d":"66,66v-60,-81,-61,-250,0,-329r43,0v-52,85,-51,244,0,329r-43,0","w":106},")":{"d":"88,-101v0,67,-20,125,-48,167r-43,0v52,-86,51,-241,1,-329r42,0v27,44,48,98,48,162","w":106},"*":{"d":"87,-212r42,-16r10,28r-43,14r27,35r-24,18r-27,-37r-25,37r-24,-18r27,-35r-42,-14r10,-28r40,16r0,-45r29,0r0,45","w":146},"+":{"d":"127,-110r72,0r0,38r-72,0r0,72r-38,0r0,-72r-72,0r0,-38r72,0r0,-72r38,0r0,72","w":216},",":{"d":"22,-55r56,0v4,58,-1,110,-56,115r0,-26v17,-3,25,-16,26,-34r-26,0r0,-55","w":100},"-":{"d":"19,-120r108,0r0,44r-108,0r0,-44","w":146},"\u00ad":{"d":"19,-120r108,0r0,44r-108,0r0,-44","w":146},".":{"d":"22,-55r56,0r0,55r-56,0r0,-55","w":100},"\/":{"d":"96,-263r42,0r-101,269r-41,0","w":133},"0":{"d":"100,-215v-47,0,-41,64,-41,114v0,30,9,64,41,64v44,0,41,-58,41,-106v-1,-35,-7,-72,-41,-72xm100,5v-71,0,-92,-56,-92,-132v0,-75,21,-130,92,-130v70,0,93,56,93,130v0,75,-22,132,-93,132"},"1":{"d":"27,-202v40,0,69,-13,73,-50r41,0r0,252r-51,0r0,-163r-63,0r0,-39"},"2":{"d":"102,-213v-31,2,-39,28,-40,58r-49,0v0,-63,31,-98,92,-102v78,-6,113,94,59,141v-29,25,-68,41,-91,72r120,0r0,44r-185,0v0,-94,91,-98,127,-154v16,-25,-3,-61,-33,-59"},"3":{"d":"140,-77v0,-34,-24,-38,-58,-37r0,-36v30,2,52,-5,54,-31v1,-21,-17,-34,-36,-34v-25,-1,-39,20,-39,45r-48,0v3,-53,32,-87,87,-87v47,0,82,24,84,70v1,28,-15,44,-35,52v26,5,44,27,45,57v4,96,-156,110,-181,30v-4,-11,-7,-25,-7,-39r49,0v1,29,15,49,44,50v23,1,41,-16,41,-40"},"4":{"d":"112,-100r-1,-88r-65,88r66,0xm112,-58r-106,0r0,-47r109,-147r46,0r0,152r33,0r0,42r-33,0r0,58r-49,0r0,-58"},"5":{"d":"143,-86v4,-47,-63,-62,-83,-27r-46,0r25,-139r141,0r0,42r-104,0v-2,19,-9,41,-9,58v12,-13,26,-19,49,-19v52,0,75,36,78,85v7,94,-140,122,-179,46v-5,-10,-9,-22,-9,-35r52,0v1,21,19,38,41,38v28,-1,42,-21,44,-49"},"6":{"d":"141,-83v0,-27,-12,-48,-38,-48v-28,0,-41,20,-41,47v0,26,14,47,41,47v25,0,38,-20,38,-46xm8,-125v0,-72,27,-130,99,-132v45,-1,77,28,81,70r-48,0v-4,-15,-16,-32,-34,-32v-36,0,-48,39,-48,78v37,-56,142,-20,135,54v-5,55,-33,92,-89,92v-74,0,-96,-57,-96,-130"},"7":{"d":"49,0v6,-83,41,-153,85,-204r-120,0r0,-48r172,0r0,44v-48,45,-79,118,-82,208r-55,0"},"8":{"d":"100,-219v-20,0,-38,13,-38,35v0,24,17,33,38,34v21,1,38,-13,38,-34v-1,-23,-14,-35,-38,-35xm53,-136v-72,-29,-29,-121,47,-121v50,0,85,25,85,68v0,26,-15,45,-37,53v28,6,47,29,47,62v0,54,-41,79,-94,79v-54,0,-96,-24,-96,-79v0,-33,20,-55,48,-62xm101,-116v-24,0,-46,14,-45,40v2,26,19,43,45,43v25,0,43,-16,43,-43v0,-25,-18,-39,-43,-40"},"9":{"d":"59,-169v0,27,12,48,38,48v28,0,41,-20,41,-47v0,-26,-14,-47,-41,-47v-25,0,-38,20,-38,46xm193,-127v0,70,-28,130,-99,132v-46,1,-77,-28,-82,-70r48,0v3,25,35,42,57,23v15,-13,27,-43,25,-69v-36,55,-141,22,-134,-54v5,-56,33,-92,88,-92v74,0,97,59,97,130"},":":{"d":"78,-127r-56,0r0,-56r56,0r0,56xm22,-55r56,0r0,55r-56,0r0,-55","w":100},";":{"d":"78,-127r-56,0r0,-56r56,0r0,56xm22,-55r56,0v4,58,-1,110,-56,115r0,-26v17,-3,25,-16,26,-34r-26,0r0,-55","w":100},"\u037e":{"d":"78,-127r-56,0r0,-56r56,0r0,56xm22,-55r56,0v4,58,-1,110,-56,115r0,-26v17,-3,25,-16,26,-34r-26,0r0,-55","w":100},"<":{"d":"199,-144r-132,53r132,52r0,42r-182,-73r0,-42r182,-73r0,41","w":216},"=":{"d":"199,-33r-182,0r0,-39r182,0r0,39xm199,-110r-182,0r0,-39r182,0r0,39","w":216},">":{"d":"17,-39r132,-52r-132,-53r0,-41r182,73r0,42r-182,73r0,-42","w":216},"?":{"d":"69,-55r57,0r0,55r-57,0r0,-55xm102,-221v-27,1,-37,21,-38,47r-52,0v1,-55,33,-84,87,-89v82,-8,118,86,59,130v-17,13,-38,22,-35,56r-48,0v-7,-57,34,-67,55,-99v6,-23,-3,-46,-28,-45"},"@":{"d":"68,-110v-7,-68,81,-125,121,-67r5,-19r30,0r-26,108v0,3,2,9,6,8v31,-3,43,-33,43,-66v0,-57,-38,-89,-98,-88v-65,1,-101,41,-101,106v0,67,39,103,106,105v32,1,61,-12,77,-29r30,0v-22,34,-58,58,-109,58v-83,0,-139,-52,-139,-135v0,-81,55,-134,137,-134v70,0,125,38,125,110v0,59,-35,97,-85,104v-15,2,-24,-10,-27,-20v-27,42,-101,11,-95,-41xm149,-168v-43,0,-65,85,-16,85v28,0,42,-25,44,-54v0,-17,-12,-31,-28,-31","w":288},"A":{"d":"90,-99r66,0r-33,-95xm95,-257r58,0r96,257r-59,0r-19,-57r-96,0r-20,57r-58,0","w":246,"k":{"y":6,"w":6,"v":6,"Y":27,"W":6,"V":17,"T":27,"\u2019":27}},"B":{"d":"173,-184v-1,-40,-54,-27,-92,-29r0,60v39,-2,93,11,92,-31xm240,-75v0,96,-122,72,-215,75r0,-257v83,6,204,-26,203,64v0,28,-15,43,-35,53v29,9,46,30,47,65xm184,-78v0,-48,-58,-34,-103,-36r0,70v44,-2,103,12,103,-34","w":253},"C":{"d":"14,-127v-11,-129,163,-184,225,-83v7,11,10,24,12,39r-55,0v-5,-27,-26,-45,-56,-45v-50,0,-70,39,-70,89v0,49,21,84,70,86v35,1,55,-25,58,-58r55,0v-7,64,-44,105,-113,105v-81,0,-119,-53,-126,-133","w":266},"D":{"d":"196,-125v3,-70,-41,-92,-115,-85r0,162r51,0v46,0,62,-32,64,-77xm252,-130v0,79,-38,130,-116,130r-111,0r0,-257r111,0v76,3,116,47,116,127","w":266},"E":{"d":"25,-257r192,0r0,47r-136,0r0,56r125,0r0,43r-125,0r0,63r139,0r0,48r-195,0r0,-257","w":233},"F":{"d":"25,-257r181,0r0,47r-125,0r0,60r108,0r0,44r-108,0r0,106r-56,0r0,-257","w":213,"k":{"A":20,".":46,",":46}},"G":{"d":"70,-127v-10,87,119,123,131,30r-57,0r0,-42r108,0r0,139r-36,0r-5,-29v-17,22,-39,35,-71,35v-81,0,-121,-52,-126,-133v-7,-111,111,-173,198,-113v20,14,34,37,36,68r-54,0v-4,-27,-25,-44,-54,-44v-50,0,-64,40,-70,89","w":273},"H":{"d":"25,-257r56,0r0,99r104,0r0,-99r57,0r0,257r-57,0r0,-111r-104,0r0,111r-56,0r0,-257","w":266},"I":{"d":"25,-257r56,0r0,257r-56,0r0,-257","w":106},"J":{"d":"56,-84v-10,46,61,59,62,15r1,-188r56,0v-8,108,38,268,-85,263v-60,-2,-91,-35,-85,-102r51,0r0,12"},"K":{"d":"25,-257r56,0r0,107r101,-107r70,0r-100,101r110,156r-71,0r-77,-116r-33,33r0,83r-56,0r0,-257","w":259},"L":{"d":"25,-257r56,0r0,209r126,0r0,48r-182,0r0,-257","w":213,"k":{"y":13,"Y":40,"W":20,"V":33,"T":40,"\u2019":27}},"M":{"d":"25,-257r79,0r61,177r57,-177r80,0r0,257r-53,0r-1,-182r-63,182r-44,0r-63,-180r0,180r-53,0r0,-257","w":326},"N":{"d":"25,-257r56,0r108,172r0,-172r53,0r0,257r-57,0r-107,-172r0,172r-53,0r0,-257","w":266},"O":{"d":"140,-216v-50,0,-70,39,-70,89v0,49,21,86,70,86v49,0,70,-37,70,-86v0,-50,-20,-89,-70,-89xm140,6v-81,0,-126,-52,-126,-133v0,-82,44,-136,126,-136v82,0,126,54,126,136v0,81,-45,133,-126,133","w":280},"P":{"d":"175,-175v0,-46,-50,-38,-94,-38r0,77v44,-1,94,7,94,-39xm230,-175v2,76,-66,89,-149,83r0,92r-56,0r0,-257r116,0v56,0,88,30,89,82","w":240,"k":{"A":27,".":46,",":46}},"Q":{"d":"70,-127v-1,56,35,98,93,82r-24,-22r26,-28r29,27v32,-47,17,-152,-54,-148v-50,3,-69,39,-70,89xm266,-127v1,41,-13,72,-33,94r32,29r-26,28r-37,-33v-16,9,-37,15,-62,15v-81,-2,-126,-52,-126,-133v0,-82,44,-136,126,-136v82,0,124,54,126,136","w":280},"R":{"d":"182,-177v0,-48,-57,-34,-101,-36r0,72v44,-2,101,13,101,-36xm190,0v-14,-37,4,-100,-52,-100r-57,0r0,100r-56,0r0,-257r138,0v80,-8,102,112,35,135v47,10,30,83,48,122r-56,0","w":259,"k":{"Y":13,"W":-2,"V":-2,"T":6}},"S":{"d":"177,-143v86,37,41,161,-59,149v-62,-8,-108,-27,-109,-91r54,0v1,33,23,47,57,47v44,8,71,-45,26,-60v-53,-18,-127,-18,-129,-87v-3,-93,157,-100,191,-33v5,10,8,23,8,38r-54,0v5,-47,-88,-55,-90,-10v9,40,67,30,105,47","w":233},"T":{"d":"82,-210r-77,0r0,-47r210,0r0,47r-77,0r0,210r-56,0r0,-210","w":219,"k":{"y":33,"w":40,"u":33,"s":40,"r":33,"o":40,"e":40,"c":40,"a":40,"A":27,";":31,":":31,".":40,"-":46,",":40}},"U":{"d":"133,-41v39,0,53,-17,53,-56r0,-160r57,0r0,160v1,70,-41,103,-110,103v-70,0,-110,-33,-109,-103r0,-160r56,0r0,160v0,36,16,56,53,56","w":266},"V":{"d":"144,0r-63,0r-84,-257r58,0r58,181r58,-181r59,0","w":226,"k":{"y":6,"u":13,"r":13,"o":20,"i":6,"e":20,"a":20,"A":17,";":18,":":18,".":46,"-":20,",":46}},"W":{"d":"270,0r-57,0r-44,-175r-43,175r-57,0r-68,-257r57,0r41,175r45,-175r53,0r44,177r42,-177r56,0","w":339,"k":{"u":6,"r":6,"o":13,"e":13,"a":13,"A":6,";":6,":":6,".":27,",":27}},"X":{"d":"88,-135r-83,-122r66,0r50,82r52,-82r62,0r-82,123r89,134r-67,0r-56,-89r-57,89r-64,0","w":240},"Y":{"d":"91,-100r-94,-157r63,0r61,101r59,-101r63,0r-95,158r0,99r-57,0r0,-100","w":240,"k":{"v":20,"u":27,"q":33,"p":27,"o":33,"i":5,"e":33,"a":33,"A":27,";":24,":":29,".":40,"-":40,",":40}},"Z":{"d":"8,-45r138,-165r-127,0r0,-47r202,0r0,45r-137,164r141,0r0,48r-217,0r0,-45","w":233},"[":{"d":"24,-263r96,0r0,40r-44,0r0,248r44,0r0,41r-96,0r0,-329","w":119},"\\":{"d":"138,6r-42,0r-100,-269r41,0","w":133},"]":{"d":"95,66r-95,0r0,-41r44,0r0,-248r-44,0r0,-40r95,0r0,329","w":119},"^":{"d":"84,-252r48,0r62,139r-42,0r-44,-99r-44,99r-42,0","w":216},"_":{"d":"0,27r180,0r0,18r-180,0r0,-18","w":180},"\u2018":{"d":"76,-141r-52,0v-3,-56,0,-110,52,-116r0,24v-17,6,-23,16,-24,36r24,0r0,56","w":100,"k":{"\u2018":23}},"a":{"d":"102,-157v-20,2,-32,9,-34,28r-51,0v4,-46,40,-62,88,-62v42,0,80,10,81,53v1,46,-6,103,7,138r-52,0v-1,-6,-3,-12,-3,-18v-31,35,-126,34,-126,-33v0,-66,76,-47,118,-69v14,-19,-3,-40,-28,-37xm94,-29v36,1,44,-25,41,-62v-20,16,-71,0,-72,38v-1,19,13,24,31,24","w":206},"b":{"d":"112,-33v32,0,44,-28,44,-60v0,-32,-12,-60,-44,-60v-32,0,-43,26,-43,60v0,33,11,60,43,60xm130,5v-30,0,-50,-10,-62,-29r0,24r-49,0r0,-257r52,0r0,94v11,-18,34,-28,59,-28v52,0,77,42,77,98v0,56,-25,98,-77,98","w":219},"c":{"d":"14,-90v-10,-98,124,-136,173,-62v5,9,8,19,9,31r-50,0v-3,-21,-16,-32,-38,-32v-58,0,-58,119,-1,120v24,-1,37,-16,41,-38r49,0v-6,47,-39,76,-89,76v-59,0,-88,-37,-94,-95","w":206},"d":{"d":"108,-33v33,0,44,-28,44,-61v0,-32,-11,-59,-44,-59v-33,0,-45,26,-45,60v0,34,13,60,45,60xm94,-191v25,-1,44,14,56,28r0,-94r51,0r0,257r-49,0r0,-24v-11,18,-30,29,-57,29v-58,-1,-83,-43,-83,-100v0,-55,26,-94,82,-96","w":219},"e":{"d":"145,-113v1,-47,-70,-52,-81,-12v-1,5,-2,8,-2,12r83,0xm62,-81v-7,54,72,61,86,23r45,0v-13,40,-41,63,-88,63v-61,0,-90,-38,-95,-98v-9,-110,163,-133,182,-29v3,13,5,27,4,41r-134,0","w":206},"f":{"d":"120,-217v-24,-6,-44,0,-38,31r35,0r0,34r-35,0r0,152r-51,0r0,-152r-31,0r0,-34r31,0v-6,-58,30,-76,89,-70r0,39","w":119,"k":{"f":6,"\u2019":-6}},"g":{"d":"65,-100v1,31,10,56,41,56v29,0,44,-22,44,-51v0,-33,-12,-58,-44,-58v-28,0,-42,22,-41,53xm94,-191v28,-1,43,12,56,30r0,-25r48,0r0,174v11,89,-126,108,-169,50v-5,-8,-8,-16,-9,-27r51,0v13,44,86,26,79,-21v-1,-7,2,-18,-1,-24v-10,18,-31,29,-56,29v-55,-2,-79,-38,-79,-94v0,-53,26,-91,80,-92","w":219},"h":{"d":"110,-151v-62,0,-32,95,-39,151r-52,0r0,-257r52,0r1,97v9,-19,29,-30,54,-31v93,-6,63,108,68,191r-51,0r0,-105v0,-28,-6,-47,-33,-46","w":213},"i":{"d":"72,-215r-51,0r0,-42r51,0r0,42xm21,-186r51,0r0,186r-51,0r0,-186","w":92},"j":{"d":"75,-215r-51,0r0,-42r51,0r0,42xm75,9v4,49,-35,62,-82,55r0,-42v13,2,31,2,31,-15r0,-193r51,0r0,195","w":100},"k":{"d":"24,-257r51,0r0,138r65,-67r60,0r-70,68r78,118r-62,0r-51,-83r-20,19r0,64r-51,0r0,-257","w":206},"l":{"d":"21,-257r51,0r0,257r-51,0r0,-257","w":92},"m":{"d":"69,-161v20,-35,96,-43,112,1v12,-15,29,-31,56,-31v93,0,64,109,68,191r-51,0r-1,-123v-1,-18,-11,-28,-30,-28v-58,0,-26,97,-34,151r-51,0r-1,-121v-1,-19,-9,-31,-30,-30v-56,4,-29,96,-35,151r-51,0r0,-186r48,0r0,25","w":326},"n":{"d":"110,-151v-62,0,-32,95,-39,151r-52,0r0,-186r49,0v1,8,-2,20,1,26v10,-19,31,-29,57,-31v93,-5,63,108,68,191r-51,0r0,-105v0,-28,-6,-47,-33,-46","w":213},"o":{"d":"110,-153v-33,0,-45,26,-45,60v0,34,12,60,45,60v33,0,45,-26,45,-60v0,-34,-12,-60,-45,-60xm110,5v-62,0,-96,-37,-96,-98v0,-61,34,-98,96,-98v62,0,96,37,96,98v0,61,-34,98,-96,98","w":219},"p":{"d":"69,-93v0,34,12,60,44,60v32,0,45,-25,45,-60v-1,-32,-13,-60,-45,-60v-32,0,-44,26,-44,60xm127,5v-25,0,-46,-12,-56,-28r0,89r-52,0r0,-252r49,0v1,7,-2,18,1,24v11,-17,29,-29,55,-29v59,1,85,42,85,100v0,55,-26,94,-82,96","w":219},"q":{"d":"108,-153v-33,0,-45,27,-45,60v0,34,12,60,44,60v33,0,45,-26,45,-59v0,-32,-12,-61,-44,-61xm95,-191v27,0,47,10,57,29r0,-24r49,0r0,252r-51,0r-1,-89v-10,19,-34,28,-59,28v-52,0,-79,-39,-78,-97v1,-57,25,-99,83,-99","w":219},"r":{"d":"139,-142v-43,-9,-68,15,-68,58r0,84r-52,0r0,-186r49,0v1,11,-2,25,1,34v9,-25,37,-43,70,-37r0,47","w":140,"k":{"q":6,"o":6,"n":-6,"e":6,"d":6,"c":6,".":33,"-":20,",":33}},"s":{"d":"165,-96v47,41,-4,107,-67,101v-49,-5,-84,-19,-88,-65r49,0v-3,38,70,43,73,7v-17,-44,-112,-10,-117,-78v-5,-75,125,-75,154,-29v5,8,8,16,9,28r-49,0v0,-23,-22,-24,-44,-24v-26,0,-22,29,-1,34v28,7,61,9,81,26","w":193},"t":{"d":"122,0v-43,6,-89,3,-89,-42r0,-110r-31,0r0,-34r31,0r0,-56r51,0r0,56r38,0r0,34r-38,0r0,92v-3,25,19,24,38,20r0,40","w":126},"u":{"d":"103,-35v63,0,33,-94,40,-151r51,0r0,186r-49,0v-1,-8,2,-20,-1,-26v-11,19,-32,30,-57,31v-92,5,-64,-108,-68,-191r52,0r0,105v0,28,6,46,32,46","w":213},"v":{"d":"122,0r-56,0r-64,-186r53,0r40,127r40,-127r50,0","w":187,"k":{".":20,",":20}},"w":{"d":"232,0r-52,0r-34,-125r-32,125r-53,0r-59,-186r54,0r35,126r31,-126r50,0r32,126r34,-126r53,0","w":293,"k":{".":20,",":20}},"x":{"d":"67,-98r-61,-88r58,0r33,48r32,-48r57,0r-61,87r68,99r-58,0r-39,-59r-39,59r-57,0","w":193},"y":{"d":"16,22v28,6,58,-3,47,-34r-65,-174r55,0r42,127r41,-127r53,0r-78,209v-11,38,-45,48,-95,41r0,-42","w":186,"k":{".":20,",":20}},"z":{"d":"8,-39r97,-109r-90,0r0,-38r157,0r0,38r-97,109r104,0r0,39r-171,0r0,-39","w":186},"{":{"d":"30,-147v0,-54,-6,-114,44,-116r46,0r0,40v-24,-2,-40,2,-39,26v3,47,3,95,-36,99v46,1,37,61,37,106v0,18,19,18,38,17r0,41v-49,4,-89,-4,-90,-49v-2,-42,12,-101,-33,-100r0,-31v19,-2,33,-13,33,-33","w":119},"|":{"d":"21,-283r38,0r0,360r-38,0r0,-360","w":80},"}":{"d":"90,-53v0,55,6,116,-44,119r-46,0r0,-41v24,2,40,-2,39,-26v-2,-46,-5,-95,36,-98v-45,-1,-35,-61,-37,-107v0,-18,-19,-18,-38,-17r0,-40v49,-4,89,3,90,48v1,43,-11,101,33,101r0,31v-19,1,-33,11,-33,30","w":119},"~":{"d":"69,-122v40,2,86,49,108,-2r15,34v-12,14,-20,31,-45,31v-37,0,-91,-51,-108,1r-15,-33v8,-16,20,-32,45,-31","w":216},"'":{"d":"31,-257r38,0r0,116r-38,0r0,-116","w":100},"\u201c":{"d":"71,-141r-52,0v-3,-56,-1,-110,52,-116r0,24v-17,6,-23,16,-24,36r24,0r0,56xm147,-141r-51,0v-3,-56,-1,-110,51,-116r0,24v-17,6,-22,17,-24,36r24,0r0,56","w":166},"\u2013":{"d":"0,-120r180,0r0,44r-180,0r0,-44","w":180},"\u201d":{"d":"19,-257r52,0v3,56,1,110,-52,116r0,-24v17,-6,23,-16,24,-37r-24,0r0,-55xm96,-257r51,0v3,55,2,110,-51,116r0,-24v17,-6,23,-16,24,-37r-24,0r0,-55","w":166},"\u2026":{"d":"271,-55r57,0r0,55r-57,0r0,-55xm152,-55r56,0r0,55r-56,0r0,-55xm32,-55r56,0r0,55r-56,0r0,-55","w":360},"`":{"d":"-17,-260r56,0r35,51r-36,0","w":93},"\u2014":{"d":"47,-120r266,0r0,44r-266,0r0,-44","w":360},"\u00d7":{"d":"23,-33r58,-58r-57,-58r27,-27r57,58r58,-58r27,27r-58,58r58,58r-27,27r-58,-58r-58,58","w":216},"\u2122":{"d":"143,-228r-42,0r0,119r-37,0r0,-119r-42,0r0,-29r121,0r0,29xm334,-109r-34,0r-1,-105r-38,105r-25,0r-39,-105r0,105r-35,0r0,-148r49,0r37,98r37,-98r49,0r0,148","w":360},"\u00a0":{"w":100}}}));
    3.45 +/*!
    3.46 + * The following copyright notice may not be removed under any circumstances.
    3.47 + * 
    3.48 + * Copyright:
    3.49 + *  The digitally encoded machine readable software for producing the  Typefaces
    3.50 + * licensed to you is copyrighted (c) 1988, 1990, 1993 Adobe Systems.  All Rights
    3.51 + * Reserved. This software is the property of Adobe Systems  Incorporated and its
    3.52 + * licensors, and may not be reproduced, used,   displayed, modified, disclosed or
    3.53 + * transferred without the express   written approval of Adobe.    The digitally
    3.54 + * encoded machine readable outline data for producing  the Typefaces licensed to
    3.55 + * you is copyrighted (c) 1981 Linotype-Hell AG  and/or its subsidiaries. All
    3.56 + * Rights Reserved.  This data is the property of Linotype-Hell AG and/or its
    3.57 + * subsidiaries  and may not be reproduced, used, displayed, modified, disclosed or
    3.58 + *   transferred without the express written approval of Linotype-Hell AG   and/or
    3.59 + * its subsidiaries.  12 pt. Helvetica* 75 Bold 07472
    3.60 + * 
    3.61 + * Trademark:
    3.62 + * Copyright (c) 1988, 1990, 1993 Adobe Systems Incorporated.  All Rights
    3.63 + * Reserved.Helvetica is a trademark of Linotype-Hell AG and/or its subsidiaries.
    3.64 + * 
    3.65 + * Description:
    3.66 + *  The digitally encoded machine readable software for producing the  Typefaces
    3.67 + * licensed to you is copyrighted (c) 1988, 1990, 1993 Adobe Systems.  All Rights
    3.68 + * Reserved. This software is the property of Adobe Systems  Incorporated and its
    3.69 + * licensors, and may not be reproduced, used,   displayed, modified, disclosed or
    3.70 + * transferred without the express   written approval of Adobe.    The digitally
    3.71 + * encoded machine readable outline data for producing  the Typefaces licensed to
    3.72 + * you is copyrighted (c) 1981 Linotype-Hell AG  and/or its subsidiaries. All
    3.73 + * Rights Reserved.  This data is the property of Linotype-Hell AG and/or its
    3.74 + * subsidiaries  and may not be reproduced, used, displayed, modified, disclosed or
    3.75 + *   transferred without the express written approval of Linotype-Hell AG   and/or
    3.76 + * its subsidiaries.  12 pt. Helvetica* 75 Bold 07472
    3.77 + * 
    3.78 + * Vendor URL:
    3.79 + * http://www.Linotypelibrary.com
    3.80 + * 
    3.81 + * License information:
    3.82 + * http://www.Linotypelibrary.com
    3.83 + */
    3.84 +Cufon.registerFont(Raphael.registerFont({"w":200,"face":{"font-family":"HelveticaNeue LT 55 Roman","font-weight":700,"font-stretch":"normal","units-per-em":"360","panose-1":"2 0 8 3 5 0 0 2 0 4","ascent":"288","descent":"-72","x-height":"5","bbox":"-17 -291 339 77","underline-thickness":"18","underline-position":"-27","unicode-range":"U+0020-U+2122"},"glyphs":{" ":{"w":100},"!":{"d":"22,-55r56,0r0,55r-56,0r0,-55xm77,-257v3,67,-7,123,-14,180r-26,0v-7,-58,-17,-112,-14,-180r54,0","w":100},"\"":{"d":"31,-257r38,0r0,116r-38,0r0,-116xm98,-257r38,0r0,116r-38,0r0,-116","w":166},"#":{"d":"87,-148r-6,44r35,0r6,-44r-35,0xm42,-71r-30,0r0,-33r34,0r7,-44r-30,0r0,-33r34,0r10,-71r35,0r-10,71r35,0r9,-71r35,0r-9,71r26,0r0,33r-31,0r-6,44r26,0r0,33r-31,0r-10,71r-34,0r9,-71r-34,0r-10,71r-35,0"},"$":{"d":"170,-135v62,45,20,146,-59,141r0,31r-22,0r0,-31v-55,-4,-84,-35,-89,-90r51,0v0,26,16,44,38,48r0,-75v-39,-11,-84,-22,-83,-75v1,-51,36,-72,83,-77r0,-28r22,0r0,28v46,6,78,28,81,77r-52,0v1,-17,-13,-35,-29,-35r0,64v22,4,47,12,59,22xm111,-36v34,3,55,-50,18,-63v-5,-2,-11,-4,-18,-6r0,69xm89,-221v-26,-3,-42,30,-25,48v5,4,13,8,25,11r0,-59"},"%":{"d":"274,-108v-27,0,-26,31,-24,56v1,17,6,30,23,30v33,0,34,-86,1,-86xm272,5v-42,-1,-59,-28,-59,-71v0,-42,19,-68,61,-69v43,-1,59,29,59,71v0,41,-18,69,-61,69xm240,-260r31,0r-148,268r-32,0xm88,-230v-25,1,-26,30,-24,58v1,15,5,29,23,28v25,-1,25,-30,23,-54v-2,-15,-5,-33,-22,-32xm86,-117v-43,0,-60,-27,-59,-69v1,-41,19,-71,61,-71v43,0,59,30,59,73v0,43,-19,66,-61,67","w":360},"&":{"d":"223,-124v-3,25,-12,47,-25,63r53,61r-63,0r-21,-26v-40,50,-160,39,-155,-46v2,-42,29,-60,57,-75v-12,-16,-25,-29,-24,-54v1,-39,29,-59,67,-59v41,0,69,20,70,62v0,34,-23,51,-46,64r34,40v6,-9,7,-19,9,-30r44,0xm60,-71v0,43,65,41,80,11r-44,-53v-17,8,-36,18,-36,42xm111,-165v28,-7,39,-57,3,-61v-35,3,-21,49,-3,61","w":246},"\u2019":{"d":"24,-257r52,0v3,56,1,110,-52,116r0,-24v17,-6,23,-16,24,-37r-24,0r0,-55","w":100,"k":{"t":6,"s":27,"\u2019":23}},"(":{"d":"66,66v-60,-81,-61,-250,0,-329r43,0v-52,85,-51,244,0,329r-43,0","w":106},")":{"d":"88,-101v0,67,-20,125,-48,167r-43,0v52,-86,51,-241,1,-329r42,0v27,44,48,98,48,162","w":106},"*":{"d":"87,-212r42,-16r10,28r-43,14r27,35r-24,18r-27,-37r-25,37r-24,-18r27,-35r-42,-14r10,-28r40,16r0,-45r29,0r0,45","w":146},"+":{"d":"127,-110r72,0r0,38r-72,0r0,72r-38,0r0,-72r-72,0r0,-38r72,0r0,-72r38,0r0,72","w":216},",":{"d":"22,-55r56,0v4,58,-1,110,-56,115r0,-26v17,-3,25,-16,26,-34r-26,0r0,-55","w":100},"-":{"d":"19,-120r108,0r0,44r-108,0r0,-44","w":146},"\u00ad":{"d":"19,-120r108,0r0,44r-108,0r0,-44","w":146},".":{"d":"22,-55r56,0r0,55r-56,0r0,-55","w":100},"\/":{"d":"96,-263r42,0r-101,269r-41,0","w":133},"0":{"d":"100,-215v-47,0,-41,64,-41,114v0,30,9,64,41,64v44,0,41,-58,41,-106v-1,-35,-7,-72,-41,-72xm100,5v-71,0,-92,-56,-92,-132v0,-75,21,-130,92,-130v70,0,93,56,93,130v0,75,-22,132,-93,132"},"1":{"d":"27,-202v40,0,69,-13,73,-50r41,0r0,252r-51,0r0,-163r-63,0r0,-39"},"2":{"d":"102,-213v-31,2,-39,28,-40,58r-49,0v0,-63,31,-98,92,-102v78,-6,113,94,59,141v-29,25,-68,41,-91,72r120,0r0,44r-185,0v0,-94,91,-98,127,-154v16,-25,-3,-61,-33,-59"},"3":{"d":"140,-77v0,-34,-24,-38,-58,-37r0,-36v30,2,52,-5,54,-31v1,-21,-17,-34,-36,-34v-25,-1,-39,20,-39,45r-48,0v3,-53,32,-87,87,-87v47,0,82,24,84,70v1,28,-15,44,-35,52v26,5,44,27,45,57v4,96,-156,110,-181,30v-4,-11,-7,-25,-7,-39r49,0v1,29,15,49,44,50v23,1,41,-16,41,-40"},"4":{"d":"112,-100r-1,-88r-65,88r66,0xm112,-58r-106,0r0,-47r109,-147r46,0r0,152r33,0r0,42r-33,0r0,58r-49,0r0,-58"},"5":{"d":"143,-86v4,-47,-63,-62,-83,-27r-46,0r25,-139r141,0r0,42r-104,0v-2,19,-9,41,-9,58v12,-13,26,-19,49,-19v52,0,75,36,78,85v7,94,-140,122,-179,46v-5,-10,-9,-22,-9,-35r52,0v1,21,19,38,41,38v28,-1,42,-21,44,-49"},"6":{"d":"141,-83v0,-27,-12,-48,-38,-48v-28,0,-41,20,-41,47v0,26,14,47,41,47v25,0,38,-20,38,-46xm8,-125v0,-72,27,-130,99,-132v45,-1,77,28,81,70r-48,0v-4,-15,-16,-32,-34,-32v-36,0,-48,39,-48,78v37,-56,142,-20,135,54v-5,55,-33,92,-89,92v-74,0,-96,-57,-96,-130"},"7":{"d":"49,0v6,-83,41,-153,85,-204r-120,0r0,-48r172,0r0,44v-48,45,-79,118,-82,208r-55,0"},"8":{"d":"100,-219v-20,0,-38,13,-38,35v0,24,17,33,38,34v21,1,38,-13,38,-34v-1,-23,-14,-35,-38,-35xm53,-136v-72,-29,-29,-121,47,-121v50,0,85,25,85,68v0,26,-15,45,-37,53v28,6,47,29,47,62v0,54,-41,79,-94,79v-54,0,-96,-24,-96,-79v0,-33,20,-55,48,-62xm101,-116v-24,0,-46,14,-45,40v2,26,19,43,45,43v25,0,43,-16,43,-43v0,-25,-18,-39,-43,-40"},"9":{"d":"59,-169v0,27,12,48,38,48v28,0,41,-20,41,-47v0,-26,-14,-47,-41,-47v-25,0,-38,20,-38,46xm193,-127v0,70,-28,130,-99,132v-46,1,-77,-28,-82,-70r48,0v3,25,35,42,57,23v15,-13,27,-43,25,-69v-36,55,-141,22,-134,-54v5,-56,33,-92,88,-92v74,0,97,59,97,130"},":":{"d":"78,-127r-56,0r0,-56r56,0r0,56xm22,-55r56,0r0,55r-56,0r0,-55","w":100},";":{"d":"78,-127r-56,0r0,-56r56,0r0,56xm22,-55r56,0v4,58,-1,110,-56,115r0,-26v17,-3,25,-16,26,-34r-26,0r0,-55","w":100},"\u037e":{"d":"78,-127r-56,0r0,-56r56,0r0,56xm22,-55r56,0v4,58,-1,110,-56,115r0,-26v17,-3,25,-16,26,-34r-26,0r0,-55","w":100},"<":{"d":"199,-144r-132,53r132,52r0,42r-182,-73r0,-42r182,-73r0,41","w":216},"=":{"d":"199,-33r-182,0r0,-39r182,0r0,39xm199,-110r-182,0r0,-39r182,0r0,39","w":216},">":{"d":"17,-39r132,-52r-132,-53r0,-41r182,73r0,42r-182,73r0,-42","w":216},"?":{"d":"69,-55r57,0r0,55r-57,0r0,-55xm102,-221v-27,1,-37,21,-38,47r-52,0v1,-55,33,-84,87,-89v82,-8,118,86,59,130v-17,13,-38,22,-35,56r-48,0v-7,-57,34,-67,55,-99v6,-23,-3,-46,-28,-45"},"@":{"d":"68,-110v-7,-68,81,-125,121,-67r5,-19r30,0r-26,108v0,3,2,9,6,8v31,-3,43,-33,43,-66v0,-57,-38,-89,-98,-88v-65,1,-101,41,-101,106v0,67,39,103,106,105v32,1,61,-12,77,-29r30,0v-22,34,-58,58,-109,58v-83,0,-139,-52,-139,-135v0,-81,55,-134,137,-134v70,0,125,38,125,110v0,59,-35,97,-85,104v-15,2,-24,-10,-27,-20v-27,42,-101,11,-95,-41xm149,-168v-43,0,-65,85,-16,85v28,0,42,-25,44,-54v0,-17,-12,-31,-28,-31","w":288},"A":{"d":"90,-99r66,0r-33,-95xm95,-257r58,0r96,257r-59,0r-19,-57r-96,0r-20,57r-58,0","w":246,"k":{"y":6,"w":6,"v":6,"Y":27,"W":6,"V":17,"T":27,"\u2019":27}},"B":{"d":"173,-184v-1,-40,-54,-27,-92,-29r0,60v39,-2,93,11,92,-31xm240,-75v0,96,-122,72,-215,75r0,-257v83,6,204,-26,203,64v0,28,-15,43,-35,53v29,9,46,30,47,65xm184,-78v0,-48,-58,-34,-103,-36r0,70v44,-2,103,12,103,-34","w":253},"C":{"d":"14,-127v-11,-129,163,-184,225,-83v7,11,10,24,12,39r-55,0v-5,-27,-26,-45,-56,-45v-50,0,-70,39,-70,89v0,49,21,84,70,86v35,1,55,-25,58,-58r55,0v-7,64,-44,105,-113,105v-81,0,-119,-53,-126,-133","w":266},"D":{"d":"196,-125v3,-70,-41,-92,-115,-85r0,162r51,0v46,0,62,-32,64,-77xm252,-130v0,79,-38,130,-116,130r-111,0r0,-257r111,0v76,3,116,47,116,127","w":266},"E":{"d":"25,-257r192,0r0,47r-136,0r0,56r125,0r0,43r-125,0r0,63r139,0r0,48r-195,0r0,-257","w":233},"F":{"d":"25,-257r181,0r0,47r-125,0r0,60r108,0r0,44r-108,0r0,106r-56,0r0,-257","w":213,"k":{"A":20,".":46,",":46}},"G":{"d":"70,-127v-10,87,119,123,131,30r-57,0r0,-42r108,0r0,139r-36,0r-5,-29v-17,22,-39,35,-71,35v-81,0,-121,-52,-126,-133v-7,-111,111,-173,198,-113v20,14,34,37,36,68r-54,0v-4,-27,-25,-44,-54,-44v-50,0,-64,40,-70,89","w":273},"H":{"d":"25,-257r56,0r0,99r104,0r0,-99r57,0r0,257r-57,0r0,-111r-104,0r0,111r-56,0r0,-257","w":266},"I":{"d":"25,-257r56,0r0,257r-56,0r0,-257","w":106},"J":{"d":"56,-84v-10,46,61,59,62,15r1,-188r56,0v-8,108,38,268,-85,263v-60,-2,-91,-35,-85,-102r51,0r0,12"},"K":{"d":"25,-257r56,0r0,107r101,-107r70,0r-100,101r110,156r-71,0r-77,-116r-33,33r0,83r-56,0r0,-257","w":259},"L":{"d":"25,-257r56,0r0,209r126,0r0,48r-182,0r0,-257","w":213,"k":{"y":13,"Y":40,"W":20,"V":33,"T":40,"\u2019":27}},"M":{"d":"25,-257r79,0r61,177r57,-177r80,0r0,257r-53,0r-1,-182r-63,182r-44,0r-63,-180r0,180r-53,0r0,-257","w":326},"N":{"d":"25,-257r56,0r108,172r0,-172r53,0r0,257r-57,0r-107,-172r0,172r-53,0r0,-257","w":266},"O":{"d":"140,-216v-50,0,-70,39,-70,89v0,49,21,86,70,86v49,0,70,-37,70,-86v0,-50,-20,-89,-70,-89xm140,6v-81,0,-126,-52,-126,-133v0,-82,44,-136,126,-136v82,0,126,54,126,136v0,81,-45,133,-126,133","w":280},"P":{"d":"175,-175v0,-46,-50,-38,-94,-38r0,77v44,-1,94,7,94,-39xm230,-175v2,76,-66,89,-149,83r0,92r-56,0r0,-257r116,0v56,0,88,30,89,82","w":240,"k":{"A":27,".":46,",":46}},"Q":{"d":"70,-127v-1,56,35,98,93,82r-24,-22r26,-28r29,27v32,-47,17,-152,-54,-148v-50,3,-69,39,-70,89xm266,-127v1,41,-13,72,-33,94r32,29r-26,28r-37,-33v-16,9,-37,15,-62,15v-81,-2,-126,-52,-126,-133v0,-82,44,-136,126,-136v82,0,124,54,126,136","w":280},"R":{"d":"182,-177v0,-48,-57,-34,-101,-36r0,72v44,-2,101,13,101,-36xm190,0v-14,-37,4,-100,-52,-100r-57,0r0,100r-56,0r0,-257r138,0v80,-8,102,112,35,135v47,10,30,83,48,122r-56,0","w":259,"k":{"Y":13,"W":-2,"V":-2,"T":6}},"S":{"d":"177,-143v86,37,41,161,-59,149v-62,-8,-108,-27,-109,-91r54,0v1,33,23,47,57,47v44,8,71,-45,26,-60v-53,-18,-127,-18,-129,-87v-3,-93,157,-100,191,-33v5,10,8,23,8,38r-54,0v5,-47,-88,-55,-90,-10v9,40,67,30,105,47","w":233},"T":{"d":"82,-210r-77,0r0,-47r210,0r0,47r-77,0r0,210r-56,0r0,-210","w":219,"k":{"y":33,"w":40,"u":33,"s":40,"r":33,"o":40,"e":40,"c":40,"a":40,"A":27,";":31,":":31,".":40,"-":46,",":40}},"U":{"d":"133,-41v39,0,53,-17,53,-56r0,-160r57,0r0,160v1,70,-41,103,-110,103v-70,0,-110,-33,-109,-103r0,-160r56,0r0,160v0,36,16,56,53,56","w":266},"V":{"d":"144,0r-63,0r-84,-257r58,0r58,181r58,-181r59,0","w":226,"k":{"y":6,"u":13,"r":13,"o":20,"i":6,"e":20,"a":20,"A":17,";":18,":":18,".":46,"-":20,",":46}},"W":{"d":"270,0r-57,0r-44,-175r-43,175r-57,0r-68,-257r57,0r41,175r45,-175r53,0r44,177r42,-177r56,0","w":339,"k":{"u":6,"r":6,"o":13,"e":13,"a":13,"A":6,";":6,":":6,".":27,",":27}},"X":{"d":"88,-135r-83,-122r66,0r50,82r52,-82r62,0r-82,123r89,134r-67,0r-56,-89r-57,89r-64,0","w":240},"Y":{"d":"91,-100r-94,-157r63,0r61,101r59,-101r63,0r-95,158r0,99r-57,0r0,-100","w":240,"k":{"v":20,"u":27,"q":33,"p":27,"o":33,"i":5,"e":33,"a":33,"A":27,";":24,":":29,".":40,"-":40,",":40}},"Z":{"d":"8,-45r138,-165r-127,0r0,-47r202,0r0,45r-137,164r141,0r0,48r-217,0r0,-45","w":233},"[":{"d":"24,-263r96,0r0,40r-44,0r0,248r44,0r0,41r-96,0r0,-329","w":119},"\\":{"d":"138,6r-42,0r-100,-269r41,0","w":133},"]":{"d":"95,66r-95,0r0,-41r44,0r0,-248r-44,0r0,-40r95,0r0,329","w":119},"^":{"d":"84,-252r48,0r62,139r-42,0r-44,-99r-44,99r-42,0","w":216},"_":{"d":"0,27r180,0r0,18r-180,0r0,-18","w":180},"\u2018":{"d":"76,-141r-52,0v-3,-56,0,-110,52,-116r0,24v-17,6,-23,16,-24,36r24,0r0,56","w":100,"k":{"\u2018":23}},"a":{"d":"102,-157v-20,2,-32,9,-34,28r-51,0v4,-46,40,-62,88,-62v42,0,80,10,81,53v1,46,-6,103,7,138r-52,0v-1,-6,-3,-12,-3,-18v-31,35,-126,34,-126,-33v0,-66,76,-47,118,-69v14,-19,-3,-40,-28,-37xm94,-29v36,1,44,-25,41,-62v-20,16,-71,0,-72,38v-1,19,13,24,31,24","w":206},"b":{"d":"112,-33v32,0,44,-28,44,-60v0,-32,-12,-60,-44,-60v-32,0,-43,26,-43,60v0,33,11,60,43,60xm130,5v-30,0,-50,-10,-62,-29r0,24r-49,0r0,-257r52,0r0,94v11,-18,34,-28,59,-28v52,0,77,42,77,98v0,56,-25,98,-77,98","w":219},"c":{"d":"14,-90v-10,-98,124,-136,173,-62v5,9,8,19,9,31r-50,0v-3,-21,-16,-32,-38,-32v-58,0,-58,119,-1,120v24,-1,37,-16,41,-38r49,0v-6,47,-39,76,-89,76v-59,0,-88,-37,-94,-95","w":206},"d":{"d":"108,-33v33,0,44,-28,44,-61v0,-32,-11,-59,-44,-59v-33,0,-45,26,-45,60v0,34,13,60,45,60xm94,-191v25,-1,44,14,56,28r0,-94r51,0r0,257r-49,0r0,-24v-11,18,-30,29,-57,29v-58,-1,-83,-43,-83,-100v0,-55,26,-94,82,-96","w":219},"e":{"d":"145,-113v1,-47,-70,-52,-81,-12v-1,5,-2,8,-2,12r83,0xm62,-81v-7,54,72,61,86,23r45,0v-13,40,-41,63,-88,63v-61,0,-90,-38,-95,-98v-9,-110,163,-133,182,-29v3,13,5,27,4,41r-134,0","w":206},"f":{"d":"120,-217v-24,-6,-44,0,-38,31r35,0r0,34r-35,0r0,152r-51,0r0,-152r-31,0r0,-34r31,0v-6,-58,30,-76,89,-70r0,39","w":119,"k":{"f":6,"\u2019":-6}},"g":{"d":"65,-100v1,31,10,56,41,56v29,0,44,-22,44,-51v0,-33,-12,-58,-44,-58v-28,0,-42,22,-41,53xm94,-191v28,-1,43,12,56,30r0,-25r48,0r0,174v11,89,-126,108,-169,50v-5,-8,-8,-16,-9,-27r51,0v13,44,86,26,79,-21v-1,-7,2,-18,-1,-24v-10,18,-31,29,-56,29v-55,-2,-79,-38,-79,-94v0,-53,26,-91,80,-92","w":219},"h":{"d":"110,-151v-62,0,-32,95,-39,151r-52,0r0,-257r52,0r1,97v9,-19,29,-30,54,-31v93,-6,63,108,68,191r-51,0r0,-105v0,-28,-6,-47,-33,-46","w":213},"i":{"d":"72,-215r-51,0r0,-42r51,0r0,42xm21,-186r51,0r0,186r-51,0r0,-186","w":92},"j":{"d":"75,-215r-51,0r0,-42r51,0r0,42xm75,9v4,49,-35,62,-82,55r0,-42v13,2,31,2,31,-15r0,-193r51,0r0,195","w":100},"k":{"d":"24,-257r51,0r0,138r65,-67r60,0r-70,68r78,118r-62,0r-51,-83r-20,19r0,64r-51,0r0,-257","w":206},"l":{"d":"21,-257r51,0r0,257r-51,0r0,-257","w":92},"m":{"d":"69,-161v20,-35,96,-43,112,1v12,-15,29,-31,56,-31v93,0,64,109,68,191r-51,0r-1,-123v-1,-18,-11,-28,-30,-28v-58,0,-26,97,-34,151r-51,0r-1,-121v-1,-19,-9,-31,-30,-30v-56,4,-29,96,-35,151r-51,0r0,-186r48,0r0,25","w":326},"n":{"d":"110,-151v-62,0,-32,95,-39,151r-52,0r0,-186r49,0v1,8,-2,20,1,26v10,-19,31,-29,57,-31v93,-5,63,108,68,191r-51,0r0,-105v0,-28,-6,-47,-33,-46","w":213},"o":{"d":"110,-153v-33,0,-45,26,-45,60v0,34,12,60,45,60v33,0,45,-26,45,-60v0,-34,-12,-60,-45,-60xm110,5v-62,0,-96,-37,-96,-98v0,-61,34,-98,96,-98v62,0,96,37,96,98v0,61,-34,98,-96,98","w":219},"p":{"d":"69,-93v0,34,12,60,44,60v32,0,45,-25,45,-60v-1,-32,-13,-60,-45,-60v-32,0,-44,26,-44,60xm127,5v-25,0,-46,-12,-56,-28r0,89r-52,0r0,-252r49,0v1,7,-2,18,1,24v11,-17,29,-29,55,-29v59,1,85,42,85,100v0,55,-26,94,-82,96","w":219},"q":{"d":"108,-153v-33,0,-45,27,-45,60v0,34,12,60,44,60v33,0,45,-26,45,-59v0,-32,-12,-61,-44,-61xm95,-191v27,0,47,10,57,29r0,-24r49,0r0,252r-51,0r-1,-89v-10,19,-34,28,-59,28v-52,0,-79,-39,-78,-97v1,-57,25,-99,83,-99","w":219},"r":{"d":"139,-142v-43,-9,-68,15,-68,58r0,84r-52,0r0,-186r49,0v1,11,-2,25,1,34v9,-25,37,-43,70,-37r0,47","w":140,"k":{"q":6,"o":6,"n":-6,"e":6,"d":6,"c":6,".":33,"-":20,",":33}},"s":{"d":"165,-96v47,41,-4,107,-67,101v-49,-5,-84,-19,-88,-65r49,0v-3,38,70,43,73,7v-17,-44,-112,-10,-117,-78v-5,-75,125,-75,154,-29v5,8,8,16,9,28r-49,0v0,-23,-22,-24,-44,-24v-26,0,-22,29,-1,34v28,7,61,9,81,26","w":193},"t":{"d":"122,0v-43,6,-89,3,-89,-42r0,-110r-31,0r0,-34r31,0r0,-56r51,0r0,56r38,0r0,34r-38,0r0,92v-3,25,19,24,38,20r0,40","w":126},"u":{"d":"103,-35v63,0,33,-94,40,-151r51,0r0,186r-49,0v-1,-8,2,-20,-1,-26v-11,19,-32,30,-57,31v-92,5,-64,-108,-68,-191r52,0r0,105v0,28,6,46,32,46","w":213},"v":{"d":"122,0r-56,0r-64,-186r53,0r40,127r40,-127r50,0","w":187,"k":{".":20,",":20}},"w":{"d":"232,0r-52,0r-34,-125r-32,125r-53,0r-59,-186r54,0r35,126r31,-126r50,0r32,126r34,-126r53,0","w":293,"k":{".":20,",":20}},"x":{"d":"67,-98r-61,-88r58,0r33,48r32,-48r57,0r-61,87r68,99r-58,0r-39,-59r-39,59r-57,0","w":193},"y":{"d":"16,22v28,6,58,-3,47,-34r-65,-174r55,0r42,127r41,-127r53,0r-78,209v-11,38,-45,48,-95,41r0,-42","w":186,"k":{".":20,",":20}},"z":{"d":"8,-39r97,-109r-90,0r0,-38r157,0r0,38r-97,109r104,0r0,39r-171,0r0,-39","w":186},"{":{"d":"30,-147v0,-54,-6,-114,44,-116r46,0r0,40v-24,-2,-40,2,-39,26v3,47,3,95,-36,99v46,1,37,61,37,106v0,18,19,18,38,17r0,41v-49,4,-89,-4,-90,-49v-2,-42,12,-101,-33,-100r0,-31v19,-2,33,-13,33,-33","w":119},"|":{"d":"21,-283r38,0r0,360r-38,0r0,-360","w":80},"}":{"d":"90,-53v0,55,6,116,-44,119r-46,0r0,-41v24,2,40,-2,39,-26v-2,-46,-5,-95,36,-98v-45,-1,-35,-61,-37,-107v0,-18,-19,-18,-38,-17r0,-40v49,-4,89,3,90,48v1,43,-11,101,33,101r0,31v-19,1,-33,11,-33,30","w":119},"~":{"d":"69,-122v40,2,86,49,108,-2r15,34v-12,14,-20,31,-45,31v-37,0,-91,-51,-108,1r-15,-33v8,-16,20,-32,45,-31","w":216},"'":{"d":"31,-257r38,0r0,116r-38,0r0,-116","w":100},"\u201c":{"d":"71,-141r-52,0v-3,-56,-1,-110,52,-116r0,24v-17,6,-23,16,-24,36r24,0r0,56xm147,-141r-51,0v-3,-56,-1,-110,51,-116r0,24v-17,6,-22,17,-24,36r24,0r0,56","w":166},"\u2013":{"d":"0,-120r180,0r0,44r-180,0r0,-44","w":180},"\u201d":{"d":"19,-257r52,0v3,56,1,110,-52,116r0,-24v17,-6,23,-16,24,-37r-24,0r0,-55xm96,-257r51,0v3,55,2,110,-51,116r0,-24v17,-6,23,-16,24,-37r-24,0r0,-55","w":166},"\u2026":{"d":"271,-55r57,0r0,55r-57,0r0,-55xm152,-55r56,0r0,55r-56,0r0,-55xm32,-55r56,0r0,55r-56,0r0,-55","w":360},"`":{"d":"-17,-260r56,0r35,51r-36,0","w":93},"\u2014":{"d":"47,-120r266,0r0,44r-266,0r0,-44","w":360},"\u00d7":{"d":"23,-33r58,-58r-57,-58r27,-27r57,58r58,-58r27,27r-58,58r58,58r-27,27r-58,-58r-58,58","w":216},"\u2122":{"d":"143,-228r-42,0r0,119r-37,0r0,-119r-42,0r0,-29r121,0r0,29xm334,-109r-34,0r-1,-105r-38,105r-25,0r-39,-105r0,105r-35,0r0,-148r49,0r37,98r37,-98r49,0r0,148","w":360},"\u00a0":{"w":100}}}));
    3.85 +/*!
    3.86 + * The following copyright notice may not be removed under any circumstances.
    3.87 + * 
    3.88 + * Copyright:
    3.89 + *  The digitally encoded machine readable software for producing the  Typefaces
    3.90 + * licensed to you is copyrighted (c) 1988, 1990, 1993 Adobe Systems.  All Rights
    3.91 + * Reserved. This software is the property of Adobe Systems  Incorporated and its
    3.92 + * licensors, and may not be reproduced, used,   displayed, modified, disclosed or
    3.93 + * transferred without the express   written approval of Adobe.    The digitally
    3.94 + * encoded machine readable outline data for producing  the Typefaces licensed to
    3.95 + * you is copyrighted (c) 1981 Linotype-Hell AG  and/or its subsidiaries. All
    3.96 + * Rights Reserved.  This data is the property of Linotype-Hell AG and/or its
    3.97 + * subsidiaries  and may not be reproduced, used, displayed, modified, disclosed or
    3.98 + *   transferred without the express written approval of Linotype-Hell AG   and/or
    3.99 + * its subsidiaries.  12 pt. Helvetica* 76 Bold Italic 14472
   3.100 + * 
   3.101 + * Trademark:
   3.102 + * Copyright (c) 1988, 1990, 1993 Adobe Systems Incorporated.  All Rights
   3.103 + * Reserved.Helvetica is a trademark of Linotype-Hell AG and/or its subsidiaries.
   3.104 + * 
   3.105 + * Description:
   3.106 + *  The digitally encoded machine readable software for producing the  Typefaces
   3.107 + * licensed to you is copyrighted (c) 1988, 1990, 1993 Adobe Systems.  All Rights
   3.108 + * Reserved. This software is the property of Adobe Systems  Incorporated and its
   3.109 + * licensors, and may not be reproduced, used,   displayed, modified, disclosed or
   3.110 + * transferred without the express   written approval of Adobe.    The digitally
   3.111 + * encoded machine readable outline data for producing  the Typefaces licensed to
   3.112 + * you is copyrighted (c) 1981 Linotype-Hell AG  and/or its subsidiaries. All
   3.113 + * Rights Reserved.  This data is the property of Linotype-Hell AG and/or its
   3.114 + * subsidiaries  and may not be reproduced, used, displayed, modified, disclosed or
   3.115 + *   transferred without the express written approval of Linotype-Hell AG   and/or
   3.116 + * its subsidiaries.  12 pt. Helvetica* 76 Bold Italic 14472
   3.117 + * 
   3.118 + * Vendor URL:
   3.119 + * http://www.Linotypelibrary.com
   3.120 + * 
   3.121 + * License information:
   3.122 + * http://www.Linotypelibrary.com
   3.123 + */
   3.124 +Cufon.registerFont(Raphael.registerFont({"w":200,"face":{"font-family":"HelveticaNeue LT 55 Roman","font-weight":700,"font-style":"italic","font-stretch":"normal","units-per-em":"360","panose-1":"2 0 8 3 5 0 0 9 0 4","ascent":"288","descent":"-72","x-height":"5","bbox":"-48 -292 365 77","underline-thickness":"18","underline-position":"-27","slope":"-12","unicode-range":"U+0020-U+2122"},"glyphs":{" ":{"w":100},"!":{"d":"108,-257v-11,66,-33,122,-53,180r-25,0v5,-63,9,-127,24,-180r54,0xm10,-55r57,0r-12,55r-56,0","w":106},"\"":{"d":"46,-257r38,0r0,116r-38,0r0,-116xm113,-257r38,0r0,116r-38,0r0,-116","w":173},"#":{"d":"85,-148r-7,44r35,0r7,-44r-35,0xm39,-71r-30,0r4,-33r31,0r6,-44r-30,0r4,-33r30,0r10,-71r35,0r-10,71r35,0r10,-71r35,0r-10,71r30,0r-3,33r-32,0r-6,44r31,0r-4,33r-31,0r-10,71r-35,0r10,-71r-35,0r-10,71r-35,0"},"$":{"d":"190,-80v0,58,-42,84,-99,86r-6,31r-18,0r6,-32v-49,-6,-71,-35,-71,-91r49,0v0,29,7,43,30,48r15,-74v-36,-12,-70,-25,-70,-73v0,-55,42,-78,99,-78r5,-29r18,0r-7,31v38,9,65,31,62,79r-50,0v1,-19,-8,-30,-20,-36r-12,64v37,11,69,26,69,74xm116,-221v-30,-4,-53,29,-32,51v6,4,13,7,21,10xm99,-36v40,5,57,-50,23,-66v-3,-2,-7,-4,-10,-5"},"%":{"d":"248,5v-35,1,-53,-23,-53,-57v1,-48,22,-81,70,-83v36,0,57,17,56,54v-1,50,-24,84,-73,86xm267,-108v-28,2,-34,33,-35,63v0,14,6,22,19,23v26,-4,34,-38,34,-66v0,-10,-7,-21,-18,-20xm257,-260r30,0r-193,268r-31,0xm99,-230v-29,2,-34,34,-36,63v0,14,5,24,19,23v27,-2,34,-38,34,-66v0,-10,-6,-20,-17,-20xm79,-117v-35,1,-53,-24,-53,-57v0,-46,22,-83,70,-83v36,0,58,19,57,55v-2,49,-24,83,-74,85","w":346},"&":{"d":"131,-226v-33,-1,-31,44,-14,63v15,-9,35,-17,37,-38v1,-15,-10,-25,-23,-25xm229,-123v-6,30,-20,55,-40,73r32,50r-56,0r-11,-20v-43,43,-152,30,-148,-46v2,-47,34,-67,69,-82v-34,-43,-11,-112,54,-112v58,0,88,63,48,101v-12,11,-26,19,-40,27r28,45v10,-10,15,-21,19,-36r45,0xm55,-66v0,39,59,32,76,10r-35,-57v-20,11,-41,19,-41,47","w":246},"\u2019":{"d":"51,-257r57,0v-12,54,-14,117,-81,116r5,-26v23,-3,27,-14,32,-35r-24,0","w":100,"k":{"s":13,"\u2019":14}},"(":{"d":"139,-263v-64,74,-104,203,-68,329r-39,0v-12,-31,-23,-74,-23,-116v0,-99,40,-156,85,-213r45,0","w":106},")":{"d":"90,-148v1,100,-42,155,-85,214r-45,0v64,-74,104,-203,68,-329r39,0v13,30,22,74,23,115","w":106},"*":{"d":"104,-210r44,-8r5,29r-44,6r21,38r-26,14r-20,-39r-31,35r-21,-21r32,-33r-38,-18r12,-27r39,20r6,-43r30,1","w":146},"+":{"d":"17,-110r72,0r0,-72r38,0r0,72r72,0r0,38r-72,0r0,72r-38,0r0,-72r-72,0r0,-38","w":216},",":{"d":"7,-55r57,0v-11,54,-16,114,-81,115r5,-25v23,-3,27,-14,32,-35r-25,0","w":100},"-":{"d":"19,-120r108,0r-9,44r-108,0","w":146},"\u00ad":{"d":"19,-120r108,0r-9,44r-108,0","w":146},".":{"d":"7,-55r57,0r-12,55r-57,0","w":100},"\/":{"d":"100,-263r41,0r-101,269r-41,0","w":140},"0":{"d":"114,-215v-54,10,-60,75,-64,134v-1,27,10,43,35,44v55,-9,66,-75,66,-133v0,-26,-11,-44,-37,-45xm78,5v-56,0,-79,-40,-79,-97v0,-87,33,-165,119,-165v57,0,84,37,84,95v0,88,-37,167,-124,167"},"1":{"d":"43,-202v44,-1,70,-18,85,-50r42,0r-54,252r-54,0r34,-163r-61,0"},"2":{"d":"111,-213v-30,2,-44,23,-47,52r-48,0v6,-59,38,-96,101,-96v52,0,84,25,84,76v0,84,-99,89,-143,137r124,0r-10,44r-187,0v7,-97,111,-99,158,-156v19,-24,0,-59,-32,-57"},"3":{"d":"132,-83v0,-29,-24,-33,-54,-31r7,-36v32,1,63,-3,63,-34v0,-20,-13,-31,-34,-31v-31,0,-42,16,-48,43r-49,0v7,-51,41,-85,97,-85v48,0,82,20,84,66v1,32,-24,51,-48,59v24,7,33,23,35,51v7,87,-121,108,-172,63v-16,-14,-21,-38,-19,-68r48,0v-4,30,12,49,41,49v28,0,49,-17,49,-46"},"4":{"d":"162,-100r33,0r-9,42r-33,0r-13,58r-49,0r13,-58r-117,0r9,-47r148,-147r50,0xm113,-100r20,-97r-95,97r75,0"},"5":{"d":"136,-90v4,-49,-65,-55,-83,-22r-46,0r44,-140r149,0r-9,42r-107,0v-4,17,-14,38,-16,54v45,-34,120,-6,120,60v0,89,-105,128,-169,82v-17,-12,-24,-32,-25,-59r49,0v0,24,19,36,43,36v31,0,47,-22,50,-53"},"6":{"d":"5,-98v0,-99,52,-176,154,-155v29,6,48,29,49,66r-50,0v0,-45,-62,-34,-76,-6v-7,14,-18,36,-21,50v11,-16,31,-26,56,-26v48,1,74,29,74,77v0,59,-39,97,-97,97v-63,0,-88,-40,-89,-103xm100,-131v-55,-3,-62,94,-7,94v29,0,46,-23,47,-51v0,-27,-15,-42,-40,-43"},"7":{"d":"203,-208v-57,51,-101,124,-124,208r-55,0v24,-80,69,-154,124,-204r-124,0r10,-48r179,0"},"8":{"d":"112,-219v-25,0,-42,12,-42,36v1,23,20,33,41,33v22,0,41,-11,41,-34v0,-24,-17,-35,-40,-35xm56,-136v-16,-8,-32,-25,-32,-47v0,-51,43,-74,96,-74v46,0,78,24,78,68v0,31,-24,48,-49,57v24,6,39,28,40,56v2,102,-196,111,-196,7v0,-42,29,-58,63,-67xm93,-116v-31,-1,-49,16,-49,44v0,25,19,38,44,39v28,1,50,-17,50,-43v0,-26,-19,-39,-45,-40"},"9":{"d":"199,-154v0,97,-53,177,-155,155v-28,-6,-47,-30,-48,-66r49,0v0,45,64,36,76,6v9,-12,19,-35,21,-50v-10,17,-30,26,-55,26v-49,-1,-75,-28,-75,-77v0,-58,39,-97,97,-97v63,0,90,40,90,103xm103,-121v30,0,46,-22,46,-51v0,-26,-13,-42,-38,-43v-30,-1,-47,22,-48,51v0,27,15,43,40,43"},":":{"d":"79,-127r-57,0r12,-56r57,0xm7,-55r57,0r-12,55r-57,0","w":100},";":{"d":"34,-183r57,0r-12,56r-57,0xm7,-55r57,0v-11,54,-16,114,-81,115r5,-25v23,-3,27,-14,32,-35r-25,0","w":100},"\u037e":{"d":"34,-183r57,0r-12,56r-57,0xm7,-55r57,0v-11,54,-16,114,-81,115r5,-25v23,-3,27,-14,32,-35r-25,0","w":100},"<":{"d":"199,-144r-132,53r132,52r0,42r-182,-73r0,-42r182,-73r0,41","w":216},"=":{"d":"199,-33r-182,0r0,-39r182,0r0,39xm199,-110r-182,0r0,-39r182,0r0,39","w":216},">":{"d":"17,-39r132,-52r-132,-53r0,-41r182,73r0,42r-182,73r0,-42","w":216},"?":{"d":"56,-55r57,0r-12,55r-57,0xm120,-221v-26,2,-39,19,-42,44r-51,0v4,-57,40,-86,100,-86v45,0,77,20,78,66v1,70,-81,59,-91,118r-47,0v2,-56,48,-65,77,-93v19,-18,3,-51,-24,-49","w":206},"@":{"d":"68,-110v-7,-68,81,-125,121,-67r5,-19r30,0r-26,108v0,3,2,9,6,8v30,-3,42,-33,42,-66v0,-58,-38,-88,-97,-88v-65,0,-101,41,-101,106v0,67,39,103,106,105v32,1,61,-12,77,-29r30,0v-22,34,-58,58,-109,58v-83,0,-139,-52,-139,-135v0,-81,55,-134,137,-134v70,0,125,38,125,110v0,59,-35,97,-85,104v-15,2,-24,-10,-27,-20v-27,42,-101,11,-95,-41xm149,-168v-43,0,-65,85,-16,85v28,0,42,-25,44,-54v0,-17,-12,-31,-28,-31","w":288},"A":{"d":"124,-257r58,0r43,257r-56,0r-8,-57r-97,0r-32,57r-60,0xm87,-99r69,0r-14,-103","w":246,"k":{"Y":20,"W":6,"V":13,"T":20,"\u2019":28}},"B":{"d":"188,-187v0,-39,-54,-23,-90,-26r-13,60v45,-1,103,11,103,-34xm234,-84v-1,105,-131,82,-235,84r54,-257v79,6,193,-25,191,60v0,35,-21,53,-48,61v22,5,38,26,38,52xm133,-44v46,9,63,-70,15,-70r-71,0r-15,70r71,0","w":259},"C":{"d":"13,-108v0,-117,119,-198,215,-131v19,13,29,39,29,71r-57,0v1,-30,-18,-48,-46,-48v-58,0,-82,50,-84,108v-1,40,19,67,58,67v34,0,54,-23,61,-52r56,0v-18,56,-46,98,-118,99v-72,1,-114,-42,-114,-114","w":266},"D":{"d":"198,-147v2,-56,-39,-68,-98,-63r-35,162v85,8,131,-24,133,-99xm255,-157v0,97,-51,157,-149,157r-107,0r54,-257r93,0v69,-1,109,35,109,100","w":266},"E":{"d":"53,-257r196,0r-10,47r-140,0r-11,56r129,0r-9,43r-130,0r-13,63r142,0r-10,48r-198,0","w":240},"F":{"d":"53,-257r183,0r-11,47r-126,0r-12,60r110,0r-9,44r-110,0r-23,106r-56,0","w":213,"k":{"A":20,".":46,",":46}},"G":{"d":"70,-108v-7,73,92,87,120,34v4,-7,7,-15,9,-23r-59,0r9,-42r109,0r-29,139r-36,0v-1,-8,2,-20,-1,-26v-14,21,-35,32,-65,32v-72,1,-114,-42,-114,-114v0,-118,117,-196,218,-133v20,12,32,36,32,69r-57,0v-1,-32,-19,-45,-52,-44v-58,2,-78,51,-84,108","w":273},"H":{"d":"53,-257r57,0r-21,99r104,0r21,-99r57,0r-55,257r-57,0r24,-111r-104,0r-24,111r-56,0","w":266},"I":{"d":"53,-257r57,0r-55,257r-56,0","w":106},"J":{"d":"49,-96v-21,40,24,75,51,41v24,-59,30,-136,47,-202r56,0r-38,184v-10,49,-36,77,-94,79v-62,2,-89,-42,-73,-102r51,0"},"K":{"d":"52,-257r57,0r-22,108r117,-108r75,0r-124,106r79,151r-64,0r-58,-116r-40,35r-17,81r-56,0","w":259},"L":{"d":"53,-257r56,0r-43,209r124,0r-10,48r-181,0","w":206,"k":{"y":6,"Y":33,"W":20,"V":27,"T":33,"\u2019":40}},"M":{"d":"53,-257r78,0r21,186r99,-186r78,0r-54,257r-53,0r46,-204r-109,204r-43,0r-25,-204r-39,204r-53,0","w":326},"N":{"d":"53,-257r58,0r71,183r37,-183r51,0r-54,257r-57,0r-71,-180r-37,180r-52,0","w":266},"O":{"d":"127,6v-72,2,-116,-42,-114,-114v3,-90,49,-155,141,-155v72,0,114,37,114,110v0,91,-47,156,-141,159xm154,-216v-58,0,-82,50,-84,108v-1,40,19,67,58,67v58,0,83,-51,83,-108v0,-40,-18,-67,-57,-67","w":280},"P":{"d":"244,-182v-3,83,-78,96,-169,90r-20,92r-56,0r53,-257v88,2,196,-19,192,75xm188,-181v0,-40,-48,-31,-88,-32r-16,77v0,0,104,8,104,-45","w":240,"k":{"A":27,".":55,",":55}},"Q":{"d":"268,-153v0,53,-20,98,-50,125r28,31r-31,25r-30,-34v-80,35,-180,-7,-172,-102v7,-90,49,-155,141,-155v72,0,114,37,114,110xm70,-108v-2,48,34,77,80,63r-20,-23r31,-25r22,26v35,-36,48,-151,-29,-149v-58,2,-81,50,-84,108","w":280},"R":{"d":"195,-181v2,-45,-55,-29,-95,-32r-15,72v49,-1,108,9,110,-40xm166,0v-8,-44,20,-104,-36,-100r-54,0r-21,100r-56,0r54,-257v84,5,203,-26,199,67v-2,41,-26,61,-59,70v42,12,19,76,28,120r-55,0","w":259,"k":{"Y":6,"W":6,"V":6,"T":6}},"S":{"d":"172,-142v82,39,28,148,-63,148v-68,0,-107,-25,-107,-91r53,0v-1,35,21,47,56,47v42,0,68,-46,28,-62v-46,-18,-106,-19,-109,-83v-4,-94,159,-106,190,-35v5,10,8,23,8,38r-53,0v1,-29,-19,-36,-46,-39v-43,-5,-63,46,-22,58","w":233},"T":{"d":"100,-210r-81,0r11,-47r214,0r-10,47r-77,0r-44,210r-57,0","w":219,"k":{"y":20,"w":27,"u":27,"s":27,"r":27,"o":27,"i":9,"e":27,"c":27,"a":27,"A":20,";":18,":":18,".":33,"-":35,",":33}},"U":{"d":"76,-108v-31,57,48,89,88,50v11,-11,13,-28,17,-47r32,-152r57,0v-33,107,-11,263,-155,263v-69,0,-112,-38,-96,-114r31,-149r57,0","w":266},"V":{"d":"119,0r-64,0r-29,-257r56,0r18,193r98,-193r58,0","w":226,"k":{"u":6,"r":6,"o":13,"i":2,"e":9,"a":13,"A":13,";":11,":":11,".":33,"-":13,",":33}},"W":{"d":"244,0r-56,0r-7,-184r-80,184r-57,0r-18,-257r57,0r4,188r81,-188r54,0r8,188r78,-188r57,0","w":339,"k":{"u":6,"r":6,"o":13,"i":2,"e":13,"a":13,"A":6,";":15,":":11,".":27,"-":13,",":27}},"X":{"d":"92,-135r-60,-122r61,0r37,85r65,-85r67,0r-106,124r63,133r-62,0r-40,-92r-74,92r-68,0","w":240},"Y":{"d":"84,-100r-62,-157r58,0r38,109r80,-109r67,0r-125,160r-20,97r-57,0","w":233,"k":{"v":6,"u":13,"q":20,"p":13,"o":20,"i":6,"e":20,"a":20,"A":20,";":13,":":13,".":35,"-":22,",":35}},"Z":{"d":"-6,-47r172,-163r-132,0r11,-47r203,0r-10,45r-173,164r145,0r-9,48r-216,0","w":233},"[":{"d":"56,-263r93,0r-9,40r-45,0r-52,248r45,0r-8,41r-93,0","w":119},"\\":{"d":"141,6r-41,0r-101,-269r41,0","w":140},"]":{"d":"53,66r-93,0r8,-41r45,0r53,-248r-46,0r9,-40r93,0","w":119},"^":{"d":"84,-252r48,0r62,139r-42,0r-44,-99r-44,99r-42,0","w":216},"_":{"d":"0,27r180,0r0,18r-180,0r0,-18","w":180},"\u2018":{"d":"85,-141r-57,0v12,-54,14,-116,81,-116r-5,25v-23,3,-27,14,-32,35r24,0","w":100,"k":{"\u2018":14}},"a":{"d":"140,-134v0,-36,-69,-27,-71,4r-47,0v6,-44,39,-60,88,-61v52,-1,87,22,73,80v-9,36,-20,74,-17,111r-51,0r0,-18v-28,35,-118,31,-118,-26v0,-61,70,-63,125,-70v11,-4,18,-7,18,-20xm130,-89v-25,17,-82,-3,-81,39v0,29,50,24,61,7v12,-11,15,-29,20,-46","w":206},"b":{"d":"108,5v-30,1,-49,-12,-59,-34r-6,29r-47,0r54,-257r51,0r-19,91v16,-16,28,-25,56,-25v47,0,67,31,66,79v-2,65,-31,114,-96,117xm153,-111v0,-24,-11,-43,-36,-42v-41,2,-54,40,-55,80v-1,24,13,41,37,40v39,-2,52,-38,54,-78","w":219},"c":{"d":"4,-75v0,-91,85,-146,163,-100v16,10,24,28,25,53r-51,0v0,-22,-13,-31,-34,-31v-39,0,-51,39,-52,79v0,25,11,40,35,41v23,1,35,-18,41,-35r52,0v-15,42,-44,73,-97,73v-52,0,-82,-26,-82,-80"},"d":{"d":"147,-112v0,-24,-12,-41,-36,-41v-39,0,-55,38,-56,78v0,25,13,42,36,42v39,0,56,-39,56,-79xm105,-191v26,0,44,12,53,30r21,-96r51,0r-55,257r-49,0v1,-8,6,-17,4,-24v-29,53,-133,30,-126,-44v7,-68,31,-122,101,-123","w":219},"e":{"d":"144,-113v6,-50,-64,-49,-79,-15v-3,5,-5,10,-7,15r86,0xm106,-191v65,-2,98,44,84,110r-137,0v-3,31,12,48,41,48v20,-1,29,-14,38,-26r51,0v-15,40,-42,65,-97,64v-53,0,-82,-29,-82,-81v0,-66,35,-113,102,-115","w":206},"f":{"d":"46,-186v5,-55,39,-85,106,-70r-8,36v-30,-5,-47,6,-47,34r36,0r-7,34r-37,0r-32,152r-51,0r32,-152r-30,0r7,-34r31,0","w":126},"g":{"d":"100,-191v30,-1,47,13,58,33r5,-28r49,0v-17,70,-25,149,-49,213v-22,59,-171,63,-170,-17r51,0v0,34,56,31,68,8v6,-13,16,-31,17,-47v-38,52,-129,21,-123,-50v5,-62,32,-108,94,-112xm146,-112v0,-24,-13,-41,-37,-41v-52,0,-77,112,-17,112v37,0,52,-33,54,-71","w":219},"h":{"d":"141,-109v18,-42,-36,-55,-57,-26v-25,33,-24,90,-37,135r-51,0r53,-257r51,0r-18,92v28,-43,129,-34,114,40r-26,125r-52,0","w":219},"i":{"d":"93,-215r-52,0r9,-42r52,0xm35,-186r52,0r-40,186r-51,0","w":93},"j":{"d":"93,-215r-52,0r9,-42r52,0xm-39,23v26,5,33,-11,38,-33r37,-176r51,0r-48,219v-11,29,-46,37,-87,31","w":93},"k":{"d":"50,-257r51,0r-29,140r73,-69r63,0r-83,70r48,116r-56,0r-31,-83r-27,23r-12,60r-51,0"},"l":{"d":"50,-257r52,0r-55,257r-51,0","w":93},"m":{"d":"136,-118v11,-26,-18,-42,-39,-28v-40,26,-35,96,-50,146r-51,0r39,-186r49,0r-6,26v19,-33,100,-48,111,1v23,-47,133,-44,117,32r-26,127r-51,0r26,-131v-9,-39,-63,-10,-65,14v-13,35,-17,78,-27,117r-51,0","w":326},"n":{"d":"141,-109v18,-42,-36,-55,-57,-26v-25,33,-24,90,-37,135r-51,0r39,-186r49,0r-6,26v32,-51,133,-39,118,35r-26,125r-52,0","w":219},"o":{"d":"109,-153v-55,-2,-80,120,-18,120v40,0,53,-39,55,-79v1,-26,-12,-40,-37,-41xm89,5v-52,0,-86,-26,-85,-80v1,-69,37,-116,107,-116v53,0,86,25,86,79v0,70,-38,117,-108,117","w":213},"p":{"d":"103,5v-28,0,-43,-13,-54,-30r-19,91r-51,0r53,-252r50,0r-5,24v11,-18,30,-29,56,-29v45,0,71,28,71,73v0,69,-33,120,-101,123xm153,-111v0,-24,-13,-42,-37,-42v-40,0,-54,40,-56,79v-1,25,13,41,37,41v40,0,56,-39,56,-78","w":219},"q":{"d":"148,-113v0,-24,-13,-40,-37,-40v-40,0,-56,38,-56,78v0,26,12,42,38,42v38,0,55,-40,55,-80xm100,-191v30,-1,50,11,59,34r6,-29r47,0r-53,252r-51,0r17,-81v-13,12,-27,21,-53,20v-48,0,-68,-32,-68,-79v0,-65,31,-114,96,-117","w":219},"r":{"d":"146,-140v-84,-24,-84,75,-99,140r-51,0r39,-186r48,0r-7,33v12,-26,42,-43,80,-37","w":140,"k":{"y":-6,"v":-6,".":27,"-":13,",":27}},"s":{"d":"39,-91v-55,-36,-3,-111,59,-100v45,-1,76,14,76,59r-47,0v0,-17,-11,-23,-29,-25v-21,-2,-41,13,-26,29v33,19,93,17,93,70v0,82,-166,87,-168,5r0,-7r47,0v-1,23,17,28,37,31v31,5,45,-33,14,-43","w":186},"t":{"d":"99,1v-44,9,-89,-1,-78,-53r21,-100r-34,0r8,-34r33,0r11,-57r52,0r-12,57r37,0r-8,34r-36,0r-21,101v-1,17,20,15,36,13","w":133},"u":{"d":"66,-77v-16,29,14,53,41,37v43,-24,37,-96,53,-146r51,0r-39,186r-49,0v1,-8,6,-19,5,-26v-31,50,-133,41,-117,-36r26,-124r51,0","w":219},"v":{"d":"94,0r-59,0r-24,-186r52,0r13,132r65,-132r54,0","w":186,"k":{".":20,",":20}},"w":{"d":"203,0r-53,0r-7,-131r-58,131r-54,0r-20,-186r52,0r8,131r57,-131r52,0r6,130r60,-130r54,0","w":293,"k":{".":13,",":13}},"x":{"d":"114,-97r47,97r-54,0r-27,-61r-50,61r-58,0r87,-100r-42,-86r54,0r21,54r42,-54r57,0","w":186},"y":{"d":"-14,21v27,6,49,-3,55,-23r-33,-184r52,0r17,133r64,-133r54,0r-131,232v-16,21,-52,22,-87,18","w":186,"k":{".":20,",":20}},"z":{"d":"-10,-38r116,-110r-89,0r8,-38r156,0r-8,38r-117,109r103,0r-9,39r-168,0","w":180},"{":{"d":"34,66v-83,-10,25,-142,-47,-149r7,-31v76,-8,17,-139,108,-149r46,0r-8,40v-81,-12,-20,110,-101,125v49,7,14,71,14,111v0,13,19,13,35,12r-8,41r-46,0","w":119},"|":{"d":"21,-283r38,0r0,360r-38,0r0,-360","w":79},"}":{"d":"75,-263v84,9,-26,141,46,149r-7,31v-76,8,-17,138,-108,149r-46,0r9,-41v81,12,18,-110,100,-124v-49,-7,-16,-70,-14,-111v1,-15,-18,-13,-34,-13r8,-40r46,0","w":119},"~":{"d":"69,-122v40,2,86,49,108,-2r15,34v-12,14,-20,31,-45,31v-37,0,-91,-51,-108,1r-15,-33v8,-16,20,-32,45,-31","w":216},"'":{"d":"40,-257r38,0r0,116r-38,0r0,-116","w":100},"\u201c":{"d":"157,-141r-57,0v10,-56,14,-116,81,-116r-6,25v-22,3,-26,15,-32,35r25,0xm81,-141r-57,0v10,-56,14,-116,81,-116r-6,25v-22,3,-26,15,-32,35r25,0","w":173},"\u2013":{"d":"-1,-120r180,0r-9,44r-180,0","w":180},"\u201d":{"d":"47,-257r57,0v-12,54,-14,116,-81,116r5,-26v23,-3,27,-14,32,-35r-25,0xm123,-257r57,0v-12,54,-15,116,-81,116r5,-26v23,-3,27,-14,32,-35r-25,0","w":173},"\u2026":{"d":"18,-55r57,0r-12,55r-57,0xm257,-55r57,0r-12,55r-56,0xm138,-55r56,0r-11,55r-57,0","w":360},"`":{"d":"95,-209r-36,0r-50,-51r54,0","w":93},"\u2014":{"d":"46,-120r266,0r-9,44r-267,0","w":360},"\u00d7":{"d":"23,-33r58,-58r-57,-58r27,-27r57,58r58,-58r27,27r-58,58r58,58r-27,27r-58,-58r-58,58","w":216},"\u2122":{"d":"143,-228r-42,0r0,119r-37,0r0,-119r-42,0r0,-29r121,0r0,29xm334,-109r-34,0r-1,-105r-38,105r-25,0r-39,-105r0,105r-35,0r0,-148r49,0r37,98r37,-98r49,0r0,148","w":356},"\u00a0":{"w":100}}}));
   3.125 +/*!
   3.126 + * The following copyright notice may not be removed under any circumstances.
   3.127 + * 
   3.128 + * Copyright:
   3.129 + *  The digitally encoded machine readable software for producing the  Typefaces
   3.130 + * licensed to you is copyrighted (c) 1988, 1990, 1993 Adobe Systems.  All Rights
   3.131 + * Reserved. This software is the property of Adobe Systems  Incorporated and its
   3.132 + * licensors, and may not be reproduced, used,   displayed, modified, disclosed or
   3.133 + * transferred without the express   written approval of Adobe.    The digitally
   3.134 + * encoded machine readable outline data for producing  the Typefaces licensed to
   3.135 + * you is copyrighted (c) 1981 Linotype-Hell AG  and/or its subsidiaries. All
   3.136 + * Rights Reserved.  This data is the property of Linotype-Hell AG and/or its
   3.137 + * subsidiaries  and may not be reproduced, used, displayed, modified, disclosed or
   3.138 + *   transferred without the express written approval of Linotype-Hell AG   and/or
   3.139 + * its subsidiaries.  12 pt. Helvetica* 76 Bold Italic 14472
   3.140 + * 
   3.141 + * Trademark:
   3.142 + * Copyright (c) 1988, 1990, 1993 Adobe Systems Incorporated.  All Rights
   3.143 + * Reserved.Helvetica is a trademark of Linotype-Hell AG and/or its subsidiaries.
   3.144 + * 
   3.145 + * Description:
   3.146 + *  The digitally encoded machine readable software for producing the  Typefaces
   3.147 + * licensed to you is copyrighted (c) 1988, 1990, 1993 Adobe Systems.  All Rights
   3.148 + * Reserved. This software is the property of Adobe Systems  Incorporated and its
   3.149 + * licensors, and may not be reproduced, used,   displayed, modified, disclosed or
   3.150 + * transferred without the express   written approval of Adobe.    The digitally
   3.151 + * encoded machine readable outline data for producing  the Typefaces licensed to
   3.152 + * you is copyrighted (c) 1981 Linotype-Hell AG  and/or its subsidiaries. All
   3.153 + * Rights Reserved.  This data is the property of Linotype-Hell AG and/or its
   3.154 + * subsidiaries  and may not be reproduced, used, displayed, modified, disclosed or
   3.155 + *   transferred without the express written approval of Linotype-Hell AG   and/or
   3.156 + * its subsidiaries.  12 pt. Helvetica* 76 Bold Italic 14472
   3.157 + * 
   3.158 + * Vendor URL:
   3.159 + * http://www.Linotypelibrary.com
   3.160 + * 
   3.161 + * License information:
   3.162 + * http://www.Linotypelibrary.com
   3.163 + */
   3.164 +Cufon.registerFont(Raphael.registerFont({"w":200,"face":{"font-family":"HelveticaNeue LT 55 Roman","font-weight":700,"font-style":"italic","font-stretch":"normal","units-per-em":"360","panose-1":"2 0 8 3 5 0 0 9 0 4","ascent":"288","descent":"-72","x-height":"5","bbox":"-48 -292 365 77","underline-thickness":"18","underline-position":"-27","slope":"-12","unicode-range":"U+0020-U+2122"},"glyphs":{" ":{"w":100},"!":{"d":"108,-257v-11,66,-33,122,-53,180r-25,0v5,-63,9,-127,24,-180r54,0xm10,-55r57,0r-12,55r-56,0","w":106},"\"":{"d":"46,-257r38,0r0,116r-38,0r0,-116xm113,-257r38,0r0,116r-38,0r0,-116","w":173},"#":{"d":"85,-148r-7,44r35,0r7,-44r-35,0xm39,-71r-30,0r4,-33r31,0r6,-44r-30,0r4,-33r30,0r10,-71r35,0r-10,71r35,0r10,-71r35,0r-10,71r30,0r-3,33r-32,0r-6,44r31,0r-4,33r-31,0r-10,71r-35,0r10,-71r-35,0r-10,71r-35,0"},"$":{"d":"190,-80v0,58,-42,84,-99,86r-6,31r-18,0r6,-32v-49,-6,-71,-35,-71,-91r49,0v0,29,7,43,30,48r15,-74v-36,-12,-70,-25,-70,-73v0,-55,42,-78,99,-78r5,-29r18,0r-7,31v38,9,65,31,62,79r-50,0v1,-19,-8,-30,-20,-36r-12,64v37,11,69,26,69,74xm116,-221v-30,-4,-53,29,-32,51v6,4,13,7,21,10xm99,-36v40,5,57,-50,23,-66v-3,-2,-7,-4,-10,-5"},"%":{"d":"248,5v-35,1,-53,-23,-53,-57v1,-48,22,-81,70,-83v36,0,57,17,56,54v-1,50,-24,84,-73,86xm267,-108v-28,2,-34,33,-35,63v0,14,6,22,19,23v26,-4,34,-38,34,-66v0,-10,-7,-21,-18,-20xm257,-260r30,0r-193,268r-31,0xm99,-230v-29,2,-34,34,-36,63v0,14,5,24,19,23v27,-2,34,-38,34,-66v0,-10,-6,-20,-17,-20xm79,-117v-35,1,-53,-24,-53,-57v0,-46,22,-83,70,-83v36,0,58,19,57,55v-2,49,-24,83,-74,85","w":346},"&":{"d":"131,-226v-33,-1,-31,44,-14,63v15,-9,35,-17,37,-38v1,-15,-10,-25,-23,-25xm229,-123v-6,30,-20,55,-40,73r32,50r-56,0r-11,-20v-43,43,-152,30,-148,-46v2,-47,34,-67,69,-82v-34,-43,-11,-112,54,-112v58,0,88,63,48,101v-12,11,-26,19,-40,27r28,45v10,-10,15,-21,19,-36r45,0xm55,-66v0,39,59,32,76,10r-35,-57v-20,11,-41,19,-41,47","w":246},"\u2019":{"d":"51,-257r57,0v-12,54,-14,117,-81,116r5,-26v23,-3,27,-14,32,-35r-24,0","w":100,"k":{"s":13,"\u2019":14}},"(":{"d":"139,-263v-64,74,-104,203,-68,329r-39,0v-12,-31,-23,-74,-23,-116v0,-99,40,-156,85,-213r45,0","w":106},")":{"d":"90,-148v1,100,-42,155,-85,214r-45,0v64,-74,104,-203,68,-329r39,0v13,30,22,74,23,115","w":106},"*":{"d":"104,-210r44,-8r5,29r-44,6r21,38r-26,14r-20,-39r-31,35r-21,-21r32,-33r-38,-18r12,-27r39,20r6,-43r30,1","w":146},"+":{"d":"17,-110r72,0r0,-72r38,0r0,72r72,0r0,38r-72,0r0,72r-38,0r0,-72r-72,0r0,-38","w":216},",":{"d":"7,-55r57,0v-11,54,-16,114,-81,115r5,-25v23,-3,27,-14,32,-35r-25,0","w":100},"-":{"d":"19,-120r108,0r-9,44r-108,0","w":146},"\u00ad":{"d":"19,-120r108,0r-9,44r-108,0","w":146},".":{"d":"7,-55r57,0r-12,55r-57,0","w":100},"\/":{"d":"100,-263r41,0r-101,269r-41,0","w":140},"0":{"d":"114,-215v-54,10,-60,75,-64,134v-1,27,10,43,35,44v55,-9,66,-75,66,-133v0,-26,-11,-44,-37,-45xm78,5v-56,0,-79,-40,-79,-97v0,-87,33,-165,119,-165v57,0,84,37,84,95v0,88,-37,167,-124,167"},"1":{"d":"43,-202v44,-1,70,-18,85,-50r42,0r-54,252r-54,0r34,-163r-61,0"},"2":{"d":"111,-213v-30,2,-44,23,-47,52r-48,0v6,-59,38,-96,101,-96v52,0,84,25,84,76v0,84,-99,89,-143,137r124,0r-10,44r-187,0v7,-97,111,-99,158,-156v19,-24,0,-59,-32,-57"},"3":{"d":"132,-83v0,-29,-24,-33,-54,-31r7,-36v32,1,63,-3,63,-34v0,-20,-13,-31,-34,-31v-31,0,-42,16,-48,43r-49,0v7,-51,41,-85,97,-85v48,0,82,20,84,66v1,32,-24,51,-48,59v24,7,33,23,35,51v7,87,-121,108,-172,63v-16,-14,-21,-38,-19,-68r48,0v-4,30,12,49,41,49v28,0,49,-17,49,-46"},"4":{"d":"162,-100r33,0r-9,42r-33,0r-13,58r-49,0r13,-58r-117,0r9,-47r148,-147r50,0xm113,-100r20,-97r-95,97r75,0"},"5":{"d":"136,-90v4,-49,-65,-55,-83,-22r-46,0r44,-140r149,0r-9,42r-107,0v-4,17,-14,38,-16,54v45,-34,120,-6,120,60v0,89,-105,128,-169,82v-17,-12,-24,-32,-25,-59r49,0v0,24,19,36,43,36v31,0,47,-22,50,-53"},"6":{"d":"5,-98v0,-99,52,-176,154,-155v29,6,48,29,49,66r-50,0v0,-45,-62,-34,-76,-6v-7,14,-18,36,-21,50v11,-16,31,-26,56,-26v48,1,74,29,74,77v0,59,-39,97,-97,97v-63,0,-88,-40,-89,-103xm100,-131v-55,-3,-62,94,-7,94v29,0,46,-23,47,-51v0,-27,-15,-42,-40,-43"},"7":{"d":"203,-208v-57,51,-101,124,-124,208r-55,0v24,-80,69,-154,124,-204r-124,0r10,-48r179,0"},"8":{"d":"112,-219v-25,0,-42,12,-42,36v1,23,20,33,41,33v22,0,41,-11,41,-34v0,-24,-17,-35,-40,-35xm56,-136v-16,-8,-32,-25,-32,-47v0,-51,43,-74,96,-74v46,0,78,24,78,68v0,31,-24,48,-49,57v24,6,39,28,40,56v2,102,-196,111,-196,7v0,-42,29,-58,63,-67xm93,-116v-31,-1,-49,16,-49,44v0,25,19,38,44,39v28,1,50,-17,50,-43v0,-26,-19,-39,-45,-40"},"9":{"d":"199,-154v0,97,-53,177,-155,155v-28,-6,-47,-30,-48,-66r49,0v0,45,64,36,76,6v9,-12,19,-35,21,-50v-10,17,-30,26,-55,26v-49,-1,-75,-28,-75,-77v0,-58,39,-97,97,-97v63,0,90,40,90,103xm103,-121v30,0,46,-22,46,-51v0,-26,-13,-42,-38,-43v-30,-1,-47,22,-48,51v0,27,15,43,40,43"},":":{"d":"79,-127r-57,0r12,-56r57,0xm7,-55r57,0r-12,55r-57,0","w":100},";":{"d":"34,-183r57,0r-12,56r-57,0xm7,-55r57,0v-11,54,-16,114,-81,115r5,-25v23,-3,27,-14,32,-35r-25,0","w":100},"\u037e":{"d":"34,-183r57,0r-12,56r-57,0xm7,-55r57,0v-11,54,-16,114,-81,115r5,-25v23,-3,27,-14,32,-35r-25,0","w":100},"<":{"d":"199,-144r-132,53r132,52r0,42r-182,-73r0,-42r182,-73r0,41","w":216},"=":{"d":"199,-33r-182,0r0,-39r182,0r0,39xm199,-110r-182,0r0,-39r182,0r0,39","w":216},">":{"d":"17,-39r132,-52r-132,-53r0,-41r182,73r0,42r-182,73r0,-42","w":216},"?":{"d":"56,-55r57,0r-12,55r-57,0xm120,-221v-26,2,-39,19,-42,44r-51,0v4,-57,40,-86,100,-86v45,0,77,20,78,66v1,70,-81,59,-91,118r-47,0v2,-56,48,-65,77,-93v19,-18,3,-51,-24,-49","w":206},"@":{"d":"68,-110v-7,-68,81,-125,121,-67r5,-19r30,0r-26,108v0,3,2,9,6,8v30,-3,42,-33,42,-66v0,-58,-38,-88,-97,-88v-65,0,-101,41,-101,106v0,67,39,103,106,105v32,1,61,-12,77,-29r30,0v-22,34,-58,58,-109,58v-83,0,-139,-52,-139,-135v0,-81,55,-134,137,-134v70,0,125,38,125,110v0,59,-35,97,-85,104v-15,2,-24,-10,-27,-20v-27,42,-101,11,-95,-41xm149,-168v-43,0,-65,85,-16,85v28,0,42,-25,44,-54v0,-17,-12,-31,-28,-31","w":288},"A":{"d":"124,-257r58,0r43,257r-56,0r-8,-57r-97,0r-32,57r-60,0xm87,-99r69,0r-14,-103","w":246,"k":{"Y":20,"W":6,"V":13,"T":20,"\u2019":28}},"B":{"d":"188,-187v0,-39,-54,-23,-90,-26r-13,60v45,-1,103,11,103,-34xm234,-84v-1,105,-131,82,-235,84r54,-257v79,6,193,-25,191,60v0,35,-21,53,-48,61v22,5,38,26,38,52xm133,-44v46,9,63,-70,15,-70r-71,0r-15,70r71,0","w":259},"C":{"d":"13,-108v0,-117,119,-198,215,-131v19,13,29,39,29,71r-57,0v1,-30,-18,-48,-46,-48v-58,0,-82,50,-84,108v-1,40,19,67,58,67v34,0,54,-23,61,-52r56,0v-18,56,-46,98,-118,99v-72,1,-114,-42,-114,-114","w":266},"D":{"d":"198,-147v2,-56,-39,-68,-98,-63r-35,162v85,8,131,-24,133,-99xm255,-157v0,97,-51,157,-149,157r-107,0r54,-257r93,0v69,-1,109,35,109,100","w":266},"E":{"d":"53,-257r196,0r-10,47r-140,0r-11,56r129,0r-9,43r-130,0r-13,63r142,0r-10,48r-198,0","w":240},"F":{"d":"53,-257r183,0r-11,47r-126,0r-12,60r110,0r-9,44r-110,0r-23,106r-56,0","w":213,"k":{"A":20,".":46,",":46}},"G":{"d":"70,-108v-7,73,92,87,120,34v4,-7,7,-15,9,-23r-59,0r9,-42r109,0r-29,139r-36,0v-1,-8,2,-20,-1,-26v-14,21,-35,32,-65,32v-72,1,-114,-42,-114,-114v0,-118,117,-196,218,-133v20,12,32,36,32,69r-57,0v-1,-32,-19,-45,-52,-44v-58,2,-78,51,-84,108","w":273},"H":{"d":"53,-257r57,0r-21,99r104,0r21,-99r57,0r-55,257r-57,0r24,-111r-104,0r-24,111r-56,0","w":266},"I":{"d":"53,-257r57,0r-55,257r-56,0","w":106},"J":{"d":"49,-96v-21,40,24,75,51,41v24,-59,30,-136,47,-202r56,0r-38,184v-10,49,-36,77,-94,79v-62,2,-89,-42,-73,-102r51,0"},"K":{"d":"52,-257r57,0r-22,108r117,-108r75,0r-124,106r79,151r-64,0r-58,-116r-40,35r-17,81r-56,0","w":259},"L":{"d":"53,-257r56,0r-43,209r124,0r-10,48r-181,0","w":206,"k":{"y":6,"Y":33,"W":20,"V":27,"T":33,"\u2019":40}},"M":{"d":"53,-257r78,0r21,186r99,-186r78,0r-54,257r-53,0r46,-204r-109,204r-43,0r-25,-204r-39,204r-53,0","w":326},"N":{"d":"53,-257r58,0r71,183r37,-183r51,0r-54,257r-57,0r-71,-180r-37,180r-52,0","w":266},"O":{"d":"127,6v-72,2,-116,-42,-114,-114v3,-90,49,-155,141,-155v72,0,114,37,114,110v0,91,-47,156,-141,159xm154,-216v-58,0,-82,50,-84,108v-1,40,19,67,58,67v58,0,83,-51,83,-108v0,-40,-18,-67,-57,-67","w":280},"P":{"d":"244,-182v-3,83,-78,96,-169,90r-20,92r-56,0r53,-257v88,2,196,-19,192,75xm188,-181v0,-40,-48,-31,-88,-32r-16,77v0,0,104,8,104,-45","w":240,"k":{"A":27,".":55,",":55}},"Q":{"d":"268,-153v0,53,-20,98,-50,125r28,31r-31,25r-30,-34v-80,35,-180,-7,-172,-102v7,-90,49,-155,141,-155v72,0,114,37,114,110xm70,-108v-2,48,34,77,80,63r-20,-23r31,-25r22,26v35,-36,48,-151,-29,-149v-58,2,-81,50,-84,108","w":280},"R":{"d":"195,-181v2,-45,-55,-29,-95,-32r-15,72v49,-1,108,9,110,-40xm166,0v-8,-44,20,-104,-36,-100r-54,0r-21,100r-56,0r54,-257v84,5,203,-26,199,67v-2,41,-26,61,-59,70v42,12,19,76,28,120r-55,0","w":259,"k":{"Y":6,"W":6,"V":6,"T":6}},"S":{"d":"172,-142v82,39,28,148,-63,148v-68,0,-107,-25,-107,-91r53,0v-1,35,21,47,56,47v42,0,68,-46,28,-62v-46,-18,-106,-19,-109,-83v-4,-94,159,-106,190,-35v5,10,8,23,8,38r-53,0v1,-29,-19,-36,-46,-39v-43,-5,-63,46,-22,58","w":233},"T":{"d":"100,-210r-81,0r11,-47r214,0r-10,47r-77,0r-44,210r-57,0","w":219,"k":{"y":20,"w":27,"u":27,"s":27,"r":27,"o":27,"i":9,"e":27,"c":27,"a":27,"A":20,";":18,":":18,".":33,"-":35,",":33}},"U":{"d":"76,-108v-31,57,48,89,88,50v11,-11,13,-28,17,-47r32,-152r57,0v-33,107,-11,263,-155,263v-69,0,-112,-38,-96,-114r31,-149r57,0","w":266},"V":{"d":"119,0r-64,0r-29,-257r56,0r18,193r98,-193r58,0","w":226,"k":{"u":6,"r":6,"o":13,"i":2,"e":9,"a":13,"A":13,";":11,":":11,".":33,"-":13,",":33}},"W":{"d":"244,0r-56,0r-7,-184r-80,184r-57,0r-18,-257r57,0r4,188r81,-188r54,0r8,188r78,-188r57,0","w":339,"k":{"u":6,"r":6,"o":13,"i":2,"e":13,"a":13,"A":6,";":15,":":11,".":27,"-":13,",":27}},"X":{"d":"92,-135r-60,-122r61,0r37,85r65,-85r67,0r-106,124r63,133r-62,0r-40,-92r-74,92r-68,0","w":240},"Y":{"d":"84,-100r-62,-157r58,0r38,109r80,-109r67,0r-125,160r-20,97r-57,0","w":233,"k":{"v":6,"u":13,"q":20,"p":13,"o":20,"i":6,"e":20,"a":20,"A":20,";":13,":":13,".":35,"-":22,",":35}},"Z":{"d":"-6,-47r172,-163r-132,0r11,-47r203,0r-10,45r-173,164r145,0r-9,48r-216,0","w":233},"[":{"d":"56,-263r93,0r-9,40r-45,0r-52,248r45,0r-8,41r-93,0","w":119},"\\":{"d":"141,6r-41,0r-101,-269r41,0","w":140},"]":{"d":"53,66r-93,0r8,-41r45,0r53,-248r-46,0r9,-40r93,0","w":119},"^":{"d":"84,-252r48,0r62,139r-42,0r-44,-99r-44,99r-42,0","w":216},"_":{"d":"0,27r180,0r0,18r-180,0r0,-18","w":180},"\u2018":{"d":"85,-141r-57,0v12,-54,14,-116,81,-116r-5,25v-23,3,-27,14,-32,35r24,0","w":100,"k":{"\u2018":14}},"a":{"d":"140,-134v0,-36,-69,-27,-71,4r-47,0v6,-44,39,-60,88,-61v52,-1,87,22,73,80v-9,36,-20,74,-17,111r-51,0r0,-18v-28,35,-118,31,-118,-26v0,-61,70,-63,125,-70v11,-4,18,-7,18,-20xm130,-89v-25,17,-82,-3,-81,39v0,29,50,24,61,7v12,-11,15,-29,20,-46","w":206},"b":{"d":"108,5v-30,1,-49,-12,-59,-34r-6,29r-47,0r54,-257r51,0r-19,91v16,-16,28,-25,56,-25v47,0,67,31,66,79v-2,65,-31,114,-96,117xm153,-111v0,-24,-11,-43,-36,-42v-41,2,-54,40,-55,80v-1,24,13,41,37,40v39,-2,52,-38,54,-78","w":219},"c":{"d":"4,-75v0,-91,85,-146,163,-100v16,10,24,28,25,53r-51,0v0,-22,-13,-31,-34,-31v-39,0,-51,39,-52,79v0,25,11,40,35,41v23,1,35,-18,41,-35r52,0v-15,42,-44,73,-97,73v-52,0,-82,-26,-82,-80"},"d":{"d":"147,-112v0,-24,-12,-41,-36,-41v-39,0,-55,38,-56,78v0,25,13,42,36,42v39,0,56,-39,56,-79xm105,-191v26,0,44,12,53,30r21,-96r51,0r-55,257r-49,0v1,-8,6,-17,4,-24v-29,53,-133,30,-126,-44v7,-68,31,-122,101,-123","w":219},"e":{"d":"144,-113v6,-50,-64,-49,-79,-15v-3,5,-5,10,-7,15r86,0xm106,-191v65,-2,98,44,84,110r-137,0v-3,31,12,48,41,48v20,-1,29,-14,38,-26r51,0v-15,40,-42,65,-97,64v-53,0,-82,-29,-82,-81v0,-66,35,-113,102,-115","w":206},"f":{"d":"46,-186v5,-55,39,-85,106,-70r-8,36v-30,-5,-47,6,-47,34r36,0r-7,34r-37,0r-32,152r-51,0r32,-152r-30,0r7,-34r31,0","w":126},"g":{"d":"100,-191v30,-1,47,13,58,33r5,-28r49,0v-17,70,-25,149,-49,213v-22,59,-171,63,-170,-17r51,0v0,34,56,31,68,8v6,-13,16,-31,17,-47v-38,52,-129,21,-123,-50v5,-62,32,-108,94,-112xm146,-112v0,-24,-13,-41,-37,-41v-52,0,-77,112,-17,112v37,0,52,-33,54,-71","w":219},"h":{"d":"141,-109v18,-42,-36,-55,-57,-26v-25,33,-24,90,-37,135r-51,0r53,-257r51,0r-18,92v28,-43,129,-34,114,40r-26,125r-52,0","w":219},"i":{"d":"93,-215r-52,0r9,-42r52,0xm35,-186r52,0r-40,186r-51,0","w":93},"j":{"d":"93,-215r-52,0r9,-42r52,0xm-39,23v26,5,33,-11,38,-33r37,-176r51,0r-48,219v-11,29,-46,37,-87,31","w":93},"k":{"d":"50,-257r51,0r-29,140r73,-69r63,0r-83,70r48,116r-56,0r-31,-83r-27,23r-12,60r-51,0"},"l":{"d":"50,-257r52,0r-55,257r-51,0","w":93},"m":{"d":"136,-118v11,-26,-18,-42,-39,-28v-40,26,-35,96,-50,146r-51,0r39,-186r49,0r-6,26v19,-33,100,-48,111,1v23,-47,133,-44,117,32r-26,127r-51,0r26,-131v-9,-39,-63,-10,-65,14v-13,35,-17,78,-27,117r-51,0","w":326},"n":{"d":"141,-109v18,-42,-36,-55,-57,-26v-25,33,-24,90,-37,135r-51,0r39,-186r49,0r-6,26v32,-51,133,-39,118,35r-26,125r-52,0","w":219},"o":{"d":"109,-153v-55,-2,-80,120,-18,120v40,0,53,-39,55,-79v1,-26,-12,-40,-37,-41xm89,5v-52,0,-86,-26,-85,-80v1,-69,37,-116,107,-116v53,0,86,25,86,79v0,70,-38,117,-108,117","w":213},"p":{"d":"103,5v-28,0,-43,-13,-54,-30r-19,91r-51,0r53,-252r50,0r-5,24v11,-18,30,-29,56,-29v45,0,71,28,71,73v0,69,-33,120,-101,123xm153,-111v0,-24,-13,-42,-37,-42v-40,0,-54,40,-56,79v-1,25,13,41,37,41v40,0,56,-39,56,-78","w":219},"q":{"d":"148,-113v0,-24,-13,-40,-37,-40v-40,0,-56,38,-56,78v0,26,12,42,38,42v38,0,55,-40,55,-80xm100,-191v30,-1,50,11,59,34r6,-29r47,0r-53,252r-51,0r17,-81v-13,12,-27,21,-53,20v-48,0,-68,-32,-68,-79v0,-65,31,-114,96,-117","w":219},"r":{"d":"146,-140v-84,-24,-84,75,-99,140r-51,0r39,-186r48,0r-7,33v12,-26,42,-43,80,-37","w":140,"k":{"y":-6,"v":-6,".":27,"-":13,",":27}},"s":{"d":"39,-91v-55,-36,-3,-111,59,-100v45,-1,76,14,76,59r-47,0v0,-17,-11,-23,-29,-25v-21,-2,-41,13,-26,29v33,19,93,17,93,70v0,82,-166,87,-168,5r0,-7r47,0v-1,23,17,28,37,31v31,5,45,-33,14,-43","w":186},"t":{"d":"99,1v-44,9,-89,-1,-78,-53r21,-100r-34,0r8,-34r33,0r11,-57r52,0r-12,57r37,0r-8,34r-36,0r-21,101v-1,17,20,15,36,13","w":133},"u":{"d":"66,-77v-16,29,14,53,41,37v43,-24,37,-96,53,-146r51,0r-39,186r-49,0v1,-8,6,-19,5,-26v-31,50,-133,41,-117,-36r26,-124r51,0","w":219},"v":{"d":"94,0r-59,0r-24,-186r52,0r13,132r65,-132r54,0","w":186,"k":{".":20,",":20}},"w":{"d":"203,0r-53,0r-7,-131r-58,131r-54,0r-20,-186r52,0r8,131r57,-131r52,0r6,130r60,-130r54,0","w":293,"k":{".":13,",":13}},"x":{"d":"114,-97r47,97r-54,0r-27,-61r-50,61r-58,0r87,-100r-42,-86r54,0r21,54r42,-54r57,0","w":186},"y":{"d":"-14,21v27,6,49,-3,55,-23r-33,-184r52,0r17,133r64,-133r54,0r-131,232v-16,21,-52,22,-87,18","w":186,"k":{".":20,",":20}},"z":{"d":"-10,-38r116,-110r-89,0r8,-38r156,0r-8,38r-117,109r103,0r-9,39r-168,0","w":180},"{":{"d":"34,66v-83,-10,25,-142,-47,-149r7,-31v76,-8,17,-139,108,-149r46,0r-8,40v-81,-12,-20,110,-101,125v49,7,14,71,14,111v0,13,19,13,35,12r-8,41r-46,0","w":119},"|":{"d":"21,-283r38,0r0,360r-38,0r0,-360","w":79},"}":{"d":"75,-263v84,9,-26,141,46,149r-7,31v-76,8,-17,138,-108,149r-46,0r9,-41v81,12,18,-110,100,-124v-49,-7,-16,-70,-14,-111v1,-15,-18,-13,-34,-13r8,-40r46,0","w":119},"~":{"d":"69,-122v40,2,86,49,108,-2r15,34v-12,14,-20,31,-45,31v-37,0,-91,-51,-108,1r-15,-33v8,-16,20,-32,45,-31","w":216},"'":{"d":"40,-257r38,0r0,116r-38,0r0,-116","w":100},"\u201c":{"d":"157,-141r-57,0v10,-56,14,-116,81,-116r-6,25v-22,3,-26,15,-32,35r25,0xm81,-141r-57,0v10,-56,14,-116,81,-116r-6,25v-22,3,-26,15,-32,35r25,0","w":173},"\u2013":{"d":"-1,-120r180,0r-9,44r-180,0","w":180},"\u201d":{"d":"47,-257r57,0v-12,54,-14,116,-81,116r5,-26v23,-3,27,-14,32,-35r-25,0xm123,-257r57,0v-12,54,-15,116,-81,116r5,-26v23,-3,27,-14,32,-35r-25,0","w":173},"\u2026":{"d":"18,-55r57,0r-12,55r-57,0xm257,-55r57,0r-12,55r-56,0xm138,-55r56,0r-11,55r-57,0","w":360},"`":{"d":"95,-209r-36,0r-50,-51r54,0","w":93},"\u2014":{"d":"46,-120r266,0r-9,44r-267,0","w":360},"\u00d7":{"d":"23,-33r58,-58r-57,-58r27,-27r57,58r58,-58r27,27r-58,58r58,58r-27,27r-58,-58r-58,58","w":216},"\u2122":{"d":"143,-228r-42,0r0,119r-37,0r0,-119r-42,0r0,-29r121,0r0,29xm334,-109r-34,0r-1,-105r-38,105r-25,0r-39,-105r0,105r-35,0r0,-148r49,0r37,98r37,-98r49,0r0,148","w":356},"\u00a0":{"w":100}}}));
     4.1 Binary file buy_files/basic_acrylic_clear.jpg has changed
     5.1 Binary file buy_files/big_acrylic_clear.jpg has changed
     6.1 Binary file buy_files/big_acrylic_clear_002.jpg has changed
     7.1 Binary file buy_files/btn_cart_LG.gif has changed
     8.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     8.2 +++ b/buy_files/buycode.js	Sun Jan 31 12:33:33 2010 -0500
     8.3 @@ -0,0 +1,210 @@
     8.4 +
     8.5 +
     8.6 +function clearDefault(el) {
     8.7 +if (el.defaultValue==el.value) el.value = ""
     8.8 +}
     8.9 +
    8.10 +
    8.11 +function Dollar (val) {  // force to valid dollar amount
    8.12 +var str,pos,rnd=0;
    8.13 +  if (val < .995) rnd = 1;  // for old Netscape browsers
    8.14 +  str = escape (val*1.0 + 0.005001 + rnd);  // float, round, escape
    8.15 +  pos = str.indexOf (".");
    8.16 +  if (pos > 0) str = str.substring (rnd, pos + 3);
    8.17 +  return str;
    8.18 +}
    8.19 +
    8.20 +var amt,des,obj,val,op1a,op1b,op2a,op2b,op3a,op3b,op4a,op4b,op5a,op5b,op6a,op6b,op7a,op7b,op8a,op8b,op9a,op9b,itmn;
    8.21 +
    8.22 +function ChkTok (obj1) {
    8.23 +var j,tok,ary=new Array ();       // where we parse
    8.24 +  ary = val.split (" ");          // break apart
    8.25 +  for (j=0; j<ary.length; j++) {  // look at all items
    8.26 +// first we do single character tokens...
    8.27 +    if (ary[j].length < 2) continue;
    8.28 +    tok = ary[j].substring (0,1); // first character
    8.29 +    val = ary[j].substring (1);   // get data
    8.30 +    if (tok == "@") amt = val * 1.0;
    8.31 +    if (tok == "+") amt = amt + val*1.0;
    8.32 +    if (tok == "%") amt = amt + (amt * val/100.0);
    8.33 +     if (tok == "-") amt = amt - val*1.0;
    8.34 +    if (tok == "#") {             // record item number
    8.35 +      if (obj1.item_number) obj1.item_number.value = val;
    8.36 +      ary[j] = "";                // zap this array element
    8.37 +    }
    8.38 +// Now we do 3-character tokens...
    8.39 +    if (ary[j].length < 4) continue;
    8.40 +    tok = ary[j].substring (0,3); // first 3 chars
    8.41 +    val = ary[j].substring (3);   // get data
    8.42 +    if (tok == "s1=") {           // value for shipping
    8.43 +      if (obj1.shipping)  obj1.shipping.value  = val;
    8.44 +      ary[j] = "";                // clear it out
    8.45 +    }
    8.46 +    if (tok == "s2=") {           // value for shipping2
    8.47 +      if (obj1.shipping2) obj1.shipping2.value = val;
    8.48 +      ary[j] = "";                // clear it out
    8.49 +    }
    8.50 +  }
    8.51 +  val = ary.join (" ");           // rebuild val with what's left
    8.52 +}
    8.53 +
    8.54 +function StorVal () {
    8.55 +var tag;
    8.56 +  tag = obj.name.substring (obj.name.length-2);  // get flag
    8.57 +  if      (tag == "1a") op1a = op1a + " " + val;
    8.58 +  else if (tag == "1b") op1b = op1b + " " + val;
    8.59 +  else if (tag == "2a") op2a = op2a + " " + val;
    8.60 +  else if (tag == "2b") op2b = op2b + " " + val;
    8.61 +  else if (tag == "3a") op3a = op3a + " " + val;
    8.62 +  else if (tag == "3b") op3b = op3b + " " + val;
    8.63 +  else if (tag == "4a") op4a = op4a + " " + val;
    8.64 +  else if (tag == "4b") op4b = op4b + " " + val;
    8.65 +  else if (tag == "5a") op5a = op5a + " " + val;
    8.66 +  else if (tag == "5b") op5b = op5b + " " + val;
    8.67 +  else if (tag == "6a") op6a = op6a + " " + val;
    8.68 +  else if (tag == "6b") op6b = op6b + " " + val;
    8.69 +  else if (tag == "7a") op7a = op7a + " " + val;
    8.70 +  else if (tag == "7b") op7b = op7b + " " + val;
    8.71 +  else if (tag == "8a") op8a = op8a + " " + val;
    8.72 +  else if (tag == "8b") op8b = op8b + " " + val;
    8.73 +  else if (tag == "9a") op9a = op9a + " " + val;
    8.74 +  else if (tag == "9b") op9b = op9b + " " + val;
    8.75 +  else if (tag == "3i") itmn = itmn + " " + val;
    8.76 +  else if (des.length == 0) des = val;
    8.77 +  else des = des + ", " + val;
    8.78 +}
    8.79 +
    8.80 +function ReadForm (obj1, tst) { 
    8.81 +	
    8.82 +	
    8.83 +	
    8.84 +
    8.85 +
    8.86 +
    8.87 + if (!obj1.accept.checked){
    8.88 +  alert ("Please approve the design & content.");
    8.89 +  return false;
    8.90 + }
    8.91 + 
    8.92 + 
    8.93 + if(obj1.accept.checked)
    8.94 + {vanish(['args__go'],['vanish']);}
    8.95 +
    8.96 +
    8.97 +	
    8.98 +	// Read the user form
    8.99 +var i,j,pos;
   8.100 +  amt=0;des="";op1a="";op1b="";op2a="";op2b="";op3a="";op3b="";op4a="";op4b="";op5a="";op5b="";op6a="";op6b="";op7a="";op7b="";op8a="";op8b="";op9a="";op9b="";itmn="";
   8.101 +  if (obj1.baseamt) amt  = obj1.baseamt.value*1.0;  // base amount
   8.102 +  if (obj1.basedes) des  = obj1.basedes.value;  // base description
   8.103 +  if (obj1.baseon0) op1a = obj1.baseon0.value;  // base options
   8.104 +  if (obj1.baseos0) op1b = obj1.baseos0.value;
   8.105 +  if (obj1.baseon1) op2a = obj1.baseon1.value;
   8.106 +  if (obj1.baseos1) op2b = obj1.baseos1.value;
   8.107 +  if (obj1.baseon2) op3a = obj1.baseon2.value;
   8.108 +  if (obj1.baseos2) op3b = obj1.baseos2.value;
   8.109 +  if (obj1.baseon3) op4a = obj1.baseon3.value;
   8.110 +  if (obj1.baseos3) op4b = obj1.baseos3.value;
   8.111 +  if (obj1.baseon4) op5a = obj1.baseon4.value;
   8.112 +  if (obj1.baseos4) op5b = obj1.baseos4.value;
   8.113 +  if (obj1.baseon5) op6a = obj1.baseon5.value;
   8.114 +  if (obj1.baseos5) op6b = obj1.baseos5.value;
   8.115 +  if (obj1.baseon6) op7a = obj1.baseon6.value;
   8.116 +  if (obj1.baseos6) op7b = obj1.baseos6.value;
   8.117 +  if (obj1.baseon7) op8a = obj1.baseon7.value;
   8.118 +  if (obj1.baseos7) op8b = obj1.baseos7.value;
   8.119 +  if (obj1.baseon8) op9a = obj1.baseon8.value;
   8.120 +  if (obj1.baseos8) op9b = obj1.baseos8.value;
   8.121 +  if (obj1.baseitn) itmn = obj1.baseitn.value;
   8.122 +  for (i=0; i<obj1.length; i++) {     // run entire form
   8.123 +    obj = obj1.elements[i];           // a form element
   8.124 +    
   8.125 +    
   8.126 +    
   8.127 +    
   8.128 +    
   8.129 +    if (obj.type == "select-one") {   // just selects
   8.130 +      if (obj.name == "quantity" ||
   8.131 +          obj.name == "amount") continue;
   8.132 +      pos = obj.selectedIndex;        // which option selected
   8.133 +      val = obj.options[pos].value;   // selected value
   8.134 +      ChkTok (obj1);                  // check for any specials
   8.135 +
   8.136 +      if (obj.name == "on0" ||        // let this go where it wants
   8.137 +          obj.name == "os0" ||
   8.138 +          obj.name == "on1" ||
   8.139 +		  obj.name == "os1" ||
   8.140 +		  obj.name == "on2" ||
   8.141 +		  obj.name == "os2" ||
   8.142 +		  obj.name == "on3" ||
   8.143 +		  obj.name == "os3" ||
   8.144 +		  obj.name == "on4" ||
   8.145 +		  obj.name == "os4" ||
   8.146 +		  obj.name == "on5" ||
   8.147 +		  obj.name == "os5" ||
   8.148 +		  obj.name == "on6" ||
   8.149 +		  obj.name == "os6" ||
   8.150 +		  obj.name == "on7" ||
   8.151 +		  obj.name == "os7" ||
   8.152 +		  obj.name == "on8" ||
   8.153 +		  obj.name == "os8" ||
   8.154 +		  obj.name == "on9" ||
   8.155 +          obj.name == "os9") continue;
   8.156 +
   8.157 +      StorVal ();
   8.158 +
   8.159 +    } else
   8.160 +    if (obj.type == "checkbox" ||     // just get checkboxex
   8.161 +        obj.type == "radio") {        //  and radios
   8.162 +      if (obj.checked) {
   8.163 +        val = obj.value;              // the value of the selection
   8.164 +        ChkTok (obj1);
   8.165 +        StorVal ();
   8.166 +      }
   8.167 +    } else
   8.168 +    if (obj.type == "select-multiple") {  //one or more
   8.169 +      for (j=0; j<obj.options.length; j++) {  // run all options
   8.170 +        if (obj.options[j].selected) {
   8.171 +          val = obj.options[j].value; // selected value (default)
   8.172 +          ChkTok (obj1);
   8.173 +          StorVal ();
   8.174 +        }
   8.175 +      }
   8.176 +    } else
   8.177 +    if ((obj.type == "text" ||        // just read text,
   8.178 +         obj.type == "textarea") &&
   8.179 +         obj.name != "tot" &&         //  but not from here
   8.180 +         obj.name != "quantity") {
   8.181 +      val = obj.value;                // get the data
   8.182 +      //if (val == "" && tst) 
   8.183 +      //{         // force an entry
   8.184 +      //  alert ("Enter data for " + obj.id);
   8.185 +      //  return false;
   8.186 +      //}
   8.187 +      StorVal ();
   8.188 +    }
   8.189 +  }
   8.190 +// Now summarize stuff we just processed, above
   8.191 +  if (op1a.length > 0) obj1.on0.value = op1a;
   8.192 +  if (op1b.length > 0) obj1.os0.value = op1b;
   8.193 +  if (op2a.length > 0) obj1.on1.value = op2a;
   8.194 +  if (op2b.length > 0) obj1.os1.value = op2b;
   8.195 +  if (op3a.length > 0) obj1.on2.value = op3a;
   8.196 +  if (op3b.length > 0) obj1.os2.value = op3b;
   8.197 +  if (op4a.length > 0) obj1.on3.value = op4a;
   8.198 +  if (op4b.length > 0) obj1.os3.value = op4b;
   8.199 +  if (op5a.length > 0) obj1.on4.value = op5a;
   8.200 +  if (op5b.length > 0) obj1.os4.value = op5b;
   8.201 +  if (op6a.length > 0) obj1.on5.value = op6a;
   8.202 +  if (op6b.length > 0) obj1.os5.value = op6b;
   8.203 +  if (op7a.length > 0) obj1.on6.value = op7a;
   8.204 +  if (op7b.length > 0) obj1.os6.value = op7b;
   8.205 +  if (op8a.length > 0) obj1.on7.value = op8a;
   8.206 +  if (op8b.length > 0) obj1.os7.value = op8b;
   8.207 +  if (op9a.length > 0) obj1.on8.value = op9a;
   8.208 +  if (op9b.length > 0) obj1.os8.value = op9b;
   8.209 +  if (itmn.length > 0) obj1.item_number.value = itmn;
   8.210 +  obj1.item_name.value = des;
   8.211 +  obj1.amount.value = Dollar (amt);
   8.212 +  if (obj1.tot) obj1.tot.value = "$" + Dollar (amt);
   8.213 +}
     9.1 Binary file buy_files/classic_acrylic_clear.jpg has changed
    10.1 Binary file buy_files/clear_acrylic.png has changed
    11.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    11.2 +++ b/buy_files/cufon-yui.js	Sun Jan 31 12:33:33 2010 -0500
    11.3 @@ -0,0 +1,7 @@
    11.4 +/*
    11.5 + * Copyright (c) 2009 Simo Kinnunen.
    11.6 + * Licensed under the MIT license.
    11.7 + *
    11.8 + * @version 1.09
    11.9 + */
   11.10 +var Cufon=(function(){var m=function(){return m.replace.apply(null,arguments)};var x=m.DOM={ready:(function(){var C=false,E={loaded:1,complete:1};var B=[],D=function(){if(C){return}C=true;for(var F;F=B.shift();F()){}};if(document.addEventListener){document.addEventListener("DOMContentLoaded",D,false);window.addEventListener("pageshow",D,false)}if(!window.opera&&document.readyState){(function(){E[document.readyState]?D():setTimeout(arguments.callee,10)})()}if(document.readyState&&document.createStyleSheet){(function(){try{document.body.doScroll("left");D()}catch(F){setTimeout(arguments.callee,1)}})()}q(window,"load",D);return function(F){if(!arguments.length){D()}else{C?F():B.push(F)}}})(),root:function(){return document.documentElement||document.body}};var n=m.CSS={Size:function(C,B){this.value=parseFloat(C);this.unit=String(C).match(/[a-z%]*$/)[0]||"px";this.convert=function(D){return D/B*this.value};this.convertFrom=function(D){return D/this.value*B};this.toString=function(){return this.value+this.unit}},addClass:function(C,B){var D=C.className;C.className=D+(D&&" ")+B;return C},color:j(function(C){var B={};B.color=C.replace(/^rgba\((.*?),\s*([\d.]+)\)/,function(E,D,F){B.opacity=parseFloat(F);return"rgb("+D+")"});return B}),fontStretch:j(function(B){if(typeof B=="number"){return B}if(/%$/.test(B)){return parseFloat(B)/100}return{"ultra-condensed":0.5,"extra-condensed":0.625,condensed:0.75,"semi-condensed":0.875,"semi-expanded":1.125,expanded:1.25,"extra-expanded":1.5,"ultra-expanded":2}[B]||1}),getStyle:function(C){var B=document.defaultView;if(B&&B.getComputedStyle){return new a(B.getComputedStyle(C,null))}if(C.currentStyle){return new a(C.currentStyle)}return new a(C.style)},gradient:j(function(F){var G={id:F,type:F.match(/^-([a-z]+)-gradient\(/)[1],stops:[]},C=F.substr(F.indexOf("(")).match(/([\d.]+=)?(#[a-f0-9]+|[a-z]+\(.*?\)|[a-z]+)/ig);for(var E=0,B=C.length,D;E<B;++E){D=C[E].split("=",2).reverse();G.stops.push([D[1]||E/(B-1),D[0]])}return G}),quotedList:j(function(E){var D=[],C=/\s*((["'])([\s\S]*?[^\\])\2|[^,]+)\s*/g,B;while(B=C.exec(E)){D.push(B[3]||B[1])}return D}),recognizesMedia:j(function(G){var E=document.createElement("style"),D,C,B;E.type="text/css";E.media=G;try{E.appendChild(document.createTextNode("/**/"))}catch(F){}C=g("head")[0];C.insertBefore(E,C.firstChild);D=(E.sheet||E.styleSheet);B=D&&!D.disabled;C.removeChild(E);return B}),removeClass:function(D,C){var B=RegExp("(?:^|\\s+)"+C+"(?=\\s|$)","g");D.className=D.className.replace(B,"");return D},supports:function(D,C){var B=document.createElement("span").style;if(B[D]===undefined){return false}B[D]=C;return B[D]===C},textAlign:function(E,D,B,C){if(D.get("textAlign")=="right"){if(B>0){E=" "+E}}else{if(B<C-1){E+=" "}}return E},textShadow:j(function(F){if(F=="none"){return null}var E=[],G={},B,C=0;var D=/(#[a-f0-9]+|[a-z]+\(.*?\)|[a-z]+)|(-?[\d.]+[a-z%]*)|,/ig;while(B=D.exec(F)){if(B[0]==","){E.push(G);G={};C=0}else{if(B[1]){G.color=B[1]}else{G[["offX","offY","blur"][C++]]=B[2]}}}E.push(G);return E}),textTransform:(function(){var B={uppercase:function(C){return C.toUpperCase()},lowercase:function(C){return C.toLowerCase()},capitalize:function(C){return C.replace(/\b./g,function(D){return D.toUpperCase()})}};return function(E,D){var C=B[D.get("textTransform")];return C?C(E):E}})(),whiteSpace:(function(){var D={inline:1,"inline-block":1,"run-in":1};var C=/^\s+/,B=/\s+$/;return function(H,F,G,E){if(E){if(E.nodeName.toLowerCase()=="br"){H=H.replace(C,"")}}if(D[F.get("display")]){return H}if(!G.previousSibling){H=H.replace(C,"")}if(!G.nextSibling){H=H.replace(B,"")}return H}})()};n.ready=(function(){var B=!n.recognizesMedia("all"),E=false;var D=[],H=function(){B=true;for(var K;K=D.shift();K()){}};var I=g("link"),J=g("style");function C(K){return K.disabled||G(K.sheet,K.media||"screen")}function G(M,P){if(!n.recognizesMedia(P||"all")){return true}if(!M||M.disabled){return false}try{var Q=M.cssRules,O;if(Q){search:for(var L=0,K=Q.length;O=Q[L],L<K;++L){switch(O.type){case 2:break;case 3:if(!G(O.styleSheet,O.media.mediaText)){return false}break;default:break search}}}}catch(N){}return true}function F(){if(document.createStyleSheet){return true}var L,K;for(K=0;L=I[K];++K){if(L.rel.toLowerCase()=="stylesheet"&&!C(L)){return false}}for(K=0;L=J[K];++K){if(!C(L)){return false}}return true}x.ready(function(){if(!E){E=n.getStyle(document.body).isUsable()}if(B||(E&&F())){H()}else{setTimeout(arguments.callee,10)}});return function(K){if(B){K()}else{D.push(K)}}})();function s(D){var C=this.face=D.face,B={"\u0020":1,"\u00a0":1,"\u3000":1};this.glyphs=D.glyphs;this.w=D.w;this.baseSize=parseInt(C["units-per-em"],10);this.family=C["font-family"].toLowerCase();this.weight=C["font-weight"];this.style=C["font-style"]||"normal";this.viewBox=(function(){var F=C.bbox.split(/\s+/);var E={minX:parseInt(F[0],10),minY:parseInt(F[1],10),maxX:parseInt(F[2],10),maxY:parseInt(F[3],10)};E.width=E.maxX-E.minX;E.height=E.maxY-E.minY;E.toString=function(){return[this.minX,this.minY,this.width,this.height].join(" ")};return E})();this.ascent=-parseInt(C.ascent,10);this.descent=-parseInt(C.descent,10);this.height=-this.ascent+this.descent;this.spacing=function(L,N,E){var O=this.glyphs,M,K,G,P=[],F=0,J=-1,I=-1,H;while(H=L[++J]){M=O[H]||this.missingGlyph;if(!M){continue}if(K){F-=G=K[H]||0;P[I]-=G}F+=P[++I]=~~(M.w||this.w)+N+(B[H]?E:0);K=M.k}P.total=F;return P}}function f(){var C={},B={oblique:"italic",italic:"oblique"};this.add=function(D){(C[D.style]||(C[D.style]={}))[D.weight]=D};this.get=function(H,I){var G=C[H]||C[B[H]]||C.normal||C.italic||C.oblique;if(!G){return null}I={normal:400,bold:700}[I]||parseInt(I,10);if(G[I]){return G[I]}var E={1:1,99:0}[I%100],K=[],F,D;if(E===undefined){E=I>400}if(I==500){I=400}for(var J in G){if(!k(G,J)){continue}J=parseInt(J,10);if(!F||J<F){F=J}if(!D||J>D){D=J}K.push(J)}if(I<F){I=F}if(I>D){I=D}K.sort(function(M,L){return(E?(M>=I&&L>=I)?M<L:M>L:(M<=I&&L<=I)?M>L:M<L)?-1:1});return G[K[0]]}}function r(){function D(F,G){if(F.contains){return F.contains(G)}return F.compareDocumentPosition(G)&16}function B(G){var F=G.relatedTarget;if(!F||D(this,F)){return}C(this,G.type=="mouseover")}function E(F){C(this,F.type=="mouseenter")}function C(F,G){setTimeout(function(){var H=d.get(F).options;m.replace(F,G?h(H,H.hover):H,true)},10)}this.attach=function(F){if(F.onmouseenter===undefined){q(F,"mouseover",B);q(F,"mouseout",B)}else{q(F,"mouseenter",E);q(F,"mouseleave",E)}}}function u(){var C=[],D={};function B(H){var E=[],G;for(var F=0;G=H[F];++F){E[F]=C[D[G]]}return E}this.add=function(F,E){D[F]=C.push(E)-1};this.repeat=function(){var E=arguments.length?B(arguments):C,F;for(var G=0;F=E[G++];){m.replace(F[0],F[1],true)}}}function A(){var D={},B=0;function C(E){return E.cufid||(E.cufid=++B)}this.get=function(E){var F=C(E);return D[F]||(D[F]={})}}function a(B){var D={},C={};this.extend=function(E){for(var F in E){if(k(E,F)){D[F]=E[F]}}return this};this.get=function(E){return D[E]!=undefined?D[E]:B[E]};this.getSize=function(F,E){return C[F]||(C[F]=new n.Size(this.get(F),E))};this.isUsable=function(){return !!B}}function q(C,B,D){if(C.addEventListener){C.addEventListener(B,D,false)}else{if(C.attachEvent){C.attachEvent("on"+B,function(){return D.call(C,window.event)})}}}function v(C,B){var D=d.get(C);if(D.options){return C}if(B.hover&&B.hoverables[C.nodeName.toLowerCase()]){b.attach(C)}D.options=B;return C}function j(B){var C={};return function(D){if(!k(C,D)){C[D]=B.apply(null,arguments)}return C[D]}}function c(F,E){var B=n.quotedList(E.get("fontFamily").toLowerCase()),D;for(var C=0;D=B[C];++C){if(i[D]){return i[D].get(E.get("fontStyle"),E.get("fontWeight"))}}return null}function g(B){return document.getElementsByTagName(B)}function k(C,B){return C.hasOwnProperty(B)}function h(){var C={},B,F;for(var E=0,D=arguments.length;B=arguments[E],E<D;++E){for(F in B){if(k(B,F)){C[F]=B[F]}}}return C}function o(E,M,C,N,F,D){var K=document.createDocumentFragment(),H;if(M===""){return K}var L=N.separate;var I=M.split(p[L]),B=(L=="words");if(B&&t){if(/^\s/.test(M)){I.unshift("")}if(/\s$/.test(M)){I.push("")}}for(var J=0,G=I.length;J<G;++J){H=z[N.engine](E,B?n.textAlign(I[J],C,J,G):I[J],C,N,F,D,J<G-1);if(H){K.appendChild(H)}}return K}function l(D,M){var C=D.nodeName.toLowerCase();if(M.ignore[C]){return}var E=!M.textless[C];var B=n.getStyle(v(D,M)).extend(M);var F=c(D,B),G,K,I,H,L,J;if(!F){return}for(G=D.firstChild;G;G=I){K=G.nodeType;I=G.nextSibling;if(E&&K==3){if(H){H.appendData(G.data);D.removeChild(G)}else{H=G}if(I){continue}}if(H){D.replaceChild(o(F,n.whiteSpace(H.data,B,H,J),B,M,G,D),H);H=null}if(K==1){if(G.firstChild){if(G.nodeName.toLowerCase()=="cufon"){z[M.engine](F,null,B,M,G,D)}else{arguments.callee(G,M)}}J=G}}}var t=" ".split(/\s+/).length==0;var d=new A();var b=new r();var y=new u();var e=false;var z={},i={},w={autoDetect:false,engine:null,forceHitArea:false,hover:false,hoverables:{a:true},ignore:{applet:1,canvas:1,col:1,colgroup:1,head:1,iframe:1,map:1,optgroup:1,option:1,script:1,select:1,style:1,textarea:1,title:1,pre:1},printable:true,selector:(window.Sizzle||(window.jQuery&&function(B){return jQuery(B)})||(window.dojo&&dojo.query)||(window.Ext&&Ext.query)||(window.YAHOO&&YAHOO.util&&YAHOO.util.Selector&&YAHOO.util.Selector.query)||(window.$$&&function(B){return $$(B)})||(window.$&&function(B){return $(B)})||(document.querySelectorAll&&function(B){return document.querySelectorAll(B)})||g),separate:"words",textless:{dl:1,html:1,ol:1,table:1,tbody:1,thead:1,tfoot:1,tr:1,ul:1},textShadow:"none"};var p={words:/\s/.test("\u00a0")?/[^\S\u00a0]+/:/\s+/,characters:"",none:/^/};m.now=function(){x.ready();return m};m.refresh=function(){y.repeat.apply(y,arguments);return m};m.registerEngine=function(C,B){if(!B){return m}z[C]=B;return m.set("engine",C)};m.registerFont=function(D){if(!D){return m}var B=new s(D),C=B.family;if(!i[C]){i[C]=new f()}i[C].add(B);return m.set("fontFamily",'"'+C+'"')};m.replace=function(D,C,B){C=h(w,C);if(!C.engine){return m}if(!e){n.addClass(x.root(),"cufon-active cufon-loading");n.ready(function(){n.addClass(n.removeClass(x.root(),"cufon-loading"),"cufon-ready")});e=true}if(C.hover){C.forceHitArea=true}if(C.autoDetect){delete C.fontFamily}if(typeof C.textShadow=="string"){C.textShadow=n.textShadow(C.textShadow)}if(typeof C.color=="string"&&/^-/.test(C.color)){C.textGradient=n.gradient(C.color)}else{delete C.textGradient}if(!B){y.add(D,arguments)}if(D.nodeType||typeof D=="string"){D=[D]}n.ready(function(){for(var F=0,E=D.length;F<E;++F){var G=D[F];if(typeof G=="string"){m.replace(C.selector(G),C,true)}else{l(G,C)}}});return m};m.set=function(B,C){w[B]=C;return m};return m})();Cufon.registerEngine("canvas",(function(){var b=document.createElement("canvas");if(!b||!b.getContext||!b.getContext.apply){return}b=null;var a=Cufon.CSS.supports("display","inline-block");var e=!a&&(document.compatMode=="BackCompat"||/frameset|transitional/i.test(document.doctype.publicId));var f=document.createElement("style");f.type="text/css";f.appendChild(document.createTextNode(("cufon{text-indent:0;}@media screen,projection{cufon{display:inline;display:inline-block;position:relative;vertical-align:middle;"+(e?"":"font-size:1px;line-height:1px;")+"}cufon cufontext{display:-moz-inline-box;display:inline-block;width:0;height:0;overflow:hidden;text-indent:-10000in;}"+(a?"cufon canvas{position:relative;}":"cufon canvas{position:absolute;}")+"}@media print{cufon{padding:0;}cufon canvas{display:none;}}").replace(/;/g,"!important;")));document.getElementsByTagName("head")[0].appendChild(f);function d(p,h){var n=0,m=0;var g=[],o=/([mrvxe])([^a-z]*)/g,k;generate:for(var j=0;k=o.exec(p);++j){var l=k[2].split(",");switch(k[1]){case"v":g[j]={m:"bezierCurveTo",a:[n+~~l[0],m+~~l[1],n+~~l[2],m+~~l[3],n+=~~l[4],m+=~~l[5]]};break;case"r":g[j]={m:"lineTo",a:[n+=~~l[0],m+=~~l[1]]};break;case"m":g[j]={m:"moveTo",a:[n=~~l[0],m=~~l[1]]};break;case"x":g[j]={m:"closePath"};break;case"e":break generate}h[g[j].m].apply(h,g[j].a)}return g}function c(m,k){for(var j=0,h=m.length;j<h;++j){var g=m[j];k[g.m].apply(k,g.a)}}return function(V,w,P,t,C,W){var k=(w===null);if(k){w=C.getAttribute("alt")}var A=V.viewBox;var m=P.getSize("fontSize",V.baseSize);var B=0,O=0,N=0,u=0;var z=t.textShadow,L=[];if(z){for(var U=z.length;U--;){var F=z[U];var K=m.convertFrom(parseFloat(F.offX));var I=m.convertFrom(parseFloat(F.offY));L[U]=[K,I];if(I<B){B=I}if(K>O){O=K}if(I>N){N=I}if(K<u){u=K}}}var Z=Cufon.CSS.textTransform(w,P).split("");var E=V.spacing(Z,~~m.convertFrom(parseFloat(P.get("letterSpacing"))||0),~~m.convertFrom(parseFloat(P.get("wordSpacing"))||0));if(!E.length){return null}var h=E.total;O+=A.width-E[E.length-1];u+=A.minX;var s,n;if(k){s=C;n=C.firstChild}else{s=document.createElement("cufon");s.className="cufon cufon-canvas";s.setAttribute("alt",w);n=document.createElement("canvas");s.appendChild(n);if(t.printable){var S=document.createElement("cufontext");S.appendChild(document.createTextNode(w));s.appendChild(S)}}var aa=s.style;var H=n.style;var j=m.convert(A.height);var Y=Math.ceil(j);var M=Y/j;var G=M*Cufon.CSS.fontStretch(P.get("fontStretch"));var J=h*G;var Q=Math.ceil(m.convert(J+O-u));var o=Math.ceil(m.convert(A.height-B+N));n.width=Q;n.height=o;H.width=Q+"px";H.height=o+"px";B+=A.minY;H.top=Math.round(m.convert(B-V.ascent))+"px";H.left=Math.round(m.convert(u))+"px";var r=Math.max(Math.ceil(m.convert(J)),0)+"px";if(a){aa.width=r;aa.height=m.convert(V.height)+"px"}else{aa.paddingLeft=r;aa.paddingBottom=(m.convert(V.height)-1)+"px"}var X=n.getContext("2d"),D=j/A.height;X.scale(D,D*M);X.translate(-u,-B);X.save();function T(){var x=V.glyphs,ab,l=-1,g=-1,y;X.scale(G,1);while(y=Z[++l]){var ab=x[Z[l]]||V.missingGlyph;if(!ab){continue}if(ab.d){X.beginPath();if(ab.code){c(ab.code,X)}else{ab.code=d("m"+ab.d,X)}X.fill()}X.translate(E[++g],0)}X.restore()}if(z){for(var U=z.length;U--;){var F=z[U];X.save();X.fillStyle=F.color;X.translate.apply(X,L[U]);T()}}var q=t.textGradient;if(q){var v=q.stops,p=X.createLinearGradient(0,A.minY,0,A.maxY);for(var U=0,R=v.length;U<R;++U){p.addColorStop.apply(p,v[U])}X.fillStyle=p}else{X.fillStyle=P.get("color")}T();return s}})());Cufon.registerEngine("vml",(function(){var e=document.namespaces;if(!e){return}e.add("cvml","urn:schemas-microsoft-com:vml");e=null;var b=document.createElement("cvml:shape");b.style.behavior="url(#default#VML)";if(!b.coordsize){return}b=null;var h=(document.documentMode||0)<8;document.write(('<style type="text/css">cufoncanvas{text-indent:0;}@media screen{cvml\\:shape,cvml\\:rect,cvml\\:fill,cvml\\:shadow{behavior:url(#default#VML);display:block;antialias:true;position:absolute;}cufoncanvas{position:absolute;text-align:left;}cufon{display:inline-block;position:relative;vertical-align:'+(h?"middle":"text-bottom")+";}cufon cufontext{position:absolute;left:-10000in;font-size:1px;}a cufon{cursor:pointer}}@media print{cufon cufoncanvas{display:none;}}</style>").replace(/;/g,"!important;"));function c(i,j){return a(i,/(?:em|ex|%)$|^[a-z-]+$/i.test(j)?"1em":j)}function a(l,m){if(m==="0"){return 0}if(/px$/i.test(m)){return parseFloat(m)}var k=l.style.left,j=l.runtimeStyle.left;l.runtimeStyle.left=l.currentStyle.left;l.style.left=m.replace("%","em");var i=l.style.pixelLeft;l.style.left=k;l.runtimeStyle.left=j;return i}function f(l,k,j,n){var i="computed"+n,m=k[i];if(isNaN(m)){m=k.get(n);k[i]=m=(m=="normal")?0:~~j.convertFrom(a(l,m))}return m}var g={};function d(p){var q=p.id;if(!g[q]){var n=p.stops,o=document.createElement("cvml:fill"),i=[];o.type="gradient";o.angle=180;o.focus="0";o.method="sigma";o.color=n[0][1];for(var m=1,l=n.length-1;m<l;++m){i.push(n[m][0]*100+"% "+n[m][1])}o.colors=i.join(",");o.color2=n[l][1];g[q]=o}return g[q]}return function(ac,G,Y,C,K,ad,W){var n=(G===null);if(n){G=K.alt}var I=ac.viewBox;var p=Y.computedFontSize||(Y.computedFontSize=new Cufon.CSS.Size(c(ad,Y.get("fontSize"))+"px",ac.baseSize));var y,q;if(n){y=K;q=K.firstChild}else{y=document.createElement("cufon");y.className="cufon cufon-vml";y.alt=G;q=document.createElement("cufoncanvas");y.appendChild(q);if(C.printable){var Z=document.createElement("cufontext");Z.appendChild(document.createTextNode(G));y.appendChild(Z)}if(!W){y.appendChild(document.createElement("cvml:shape"))}}var ai=y.style;var R=q.style;var l=p.convert(I.height),af=Math.ceil(l);var V=af/l;var P=V*Cufon.CSS.fontStretch(Y.get("fontStretch"));var U=I.minX,T=I.minY;R.height=af;R.top=Math.round(p.convert(T-ac.ascent));R.left=Math.round(p.convert(U));ai.height=p.convert(ac.height)+"px";var F=Y.get("color");var ag=Cufon.CSS.textTransform(G,Y).split("");var L=ac.spacing(ag,f(ad,Y,p,"letterSpacing"),f(ad,Y,p,"wordSpacing"));if(!L.length){return null}var k=L.total;var x=-U+k+(I.width-L[L.length-1]);var ah=p.convert(x*P),X=Math.round(ah);var O=x+","+I.height,m;var J="r"+O+"ns";var u=C.textGradient&&d(C.textGradient);var o=ac.glyphs,S=0;var H=C.textShadow;var ab=-1,aa=0,w;while(w=ag[++ab]){var D=o[ag[ab]]||ac.missingGlyph,v;if(!D){continue}if(n){v=q.childNodes[aa];while(v.firstChild){v.removeChild(v.firstChild)}}else{v=document.createElement("cvml:shape");q.appendChild(v)}v.stroked="f";v.coordsize=O;v.coordorigin=m=(U-S)+","+T;v.path=(D.d?"m"+D.d+"xe":"")+"m"+m+J;v.fillcolor=F;if(u){v.appendChild(u.cloneNode(false))}var ae=v.style;ae.width=X;ae.height=af;if(H){var s=H[0],r=H[1];var B=Cufon.CSS.color(s.color),z;var N=document.createElement("cvml:shadow");N.on="t";N.color=B.color;N.offset=s.offX+","+s.offY;if(r){z=Cufon.CSS.color(r.color);N.type="double";N.color2=z.color;N.offset2=r.offX+","+r.offY}N.opacity=B.opacity||(z&&z.opacity)||1;v.appendChild(N)}S+=L[aa++]}var M=v.nextSibling,t,A;if(C.forceHitArea){if(!M){M=document.createElement("cvml:rect");M.stroked="f";M.className="cufon-vml-cover";t=document.createElement("cvml:fill");t.opacity=0;M.appendChild(t);q.appendChild(M)}A=M.style;A.width=X;A.height=af}else{if(M){q.removeChild(M)}}ai.width=Math.max(Math.ceil(p.convert(k*P)),0);if(h){var Q=Y.computedYAdjust;if(Q===undefined){var E=Y.get("lineHeight");if(E=="normal"){E="1em"}else{if(!isNaN(E)){E+="em"}}Y.computedYAdjust=Q=0.5*(a(ad,E)-parseFloat(ai.height))}if(Q){ai.marginTop=Math.ceil(Q)+"px";ai.marginBottom=Q+"px"}}return y}})());
   11.11 \ No newline at end of file
    12.1 Binary file buy_files/green_acrylic.png has changed
    13.1 Binary file buy_files/lines_acrylic_clear.jpg has changed
    14.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    14.2 +++ b/buy_files/main.css	Sun Jan 31 12:33:33 2010 -0500
    14.3 @@ -0,0 +1,127 @@
    14.4 +@charset "UTF-8";
    14.5 +/* CSS Document */
    14.6 +body
    14.7 +{
    14.8 +	background-color:#000;
    14.9 +	margin:0;
   14.10 +	margin-top:-4px;
   14.11 +	padding:0;
   14.12 +
   14.13 +
   14.14 +
   14.15 +
   14.16 +}
   14.17 +div.topbar
   14.18 +{
   14.19 +	height:60px;
   14.20 +	margin-top:2px;
   14.21 +}
   14.22 +div.headlinks
   14.23 +{
   14.24 +	font-family: Helvetica, sans-serif, Arial;
   14.25 +	text-transform:uppercase;
   14.26 +	font-weight:bold;
   14.27 +	text-align:center;
   14.28 +	color:#000;
   14.29 +	padding-top:1px;
   14.30 +	margin-top:0px;
   14.31 +	margin-left:-30px;
   14.32 +}
   14.33 +div.headlinks a
   14.34 +{
   14.35 +	text-decoration:none;
   14.36 +	color:#999999;
   14.37 +	text-shadow:#555 0px 0px 5px;
   14.38 +}
   14.39 +div.headlinks a:hover
   14.40 +{
   14.41 +	text-decoration:none;
   14.42 +	color:#FFF;
   14.43 +	text-shadow:#222 0px 0px 8px;
   14.44 +}
   14.45 +
   14.46 +
   14.47 +
   14.48 +
   14.49 +div.headlinks ul
   14.50 +{
   14.51 +	margin-top:10px;
   14.52 +}
   14.53 +div.headlinks ul li
   14.54 +{
   14.55 +	text-align:center;
   14.56 +	display: inline;
   14.57 +	list-style-type: none;
   14.58 +	padding-left: 2.9%;
   14.59 +	padding-right: 2.9%;
   14.60 +}
   14.61 +
   14.62 +
   14.63 +div.center
   14.64 +{
   14.65 +	display:block;
   14.66 +	width:460px;
   14.67 +	height:244px;
   14.68 +	background-color:#000000;
   14.69 +	margin-left:auto;
   14.70 +	margin-right:auto;
   14.71 +	margin-top:60px;
   14.72 +	margin-bottom:auto;
   14.73 +	padding:0px;
   14.74 +}
   14.75 +div.text
   14.76 +{
   14.77 +	color:#aaaaaa;
   14.78 +	/*font-family:Helvetica, sans-serif, Arial;*/
   14.79 +	font: bold 16px "arial", "sans-serif";
   14.80 +	
   14.81 +	margin-top:50px;
   14.82 +	margin-bottom:30px;
   14.83 +}
   14.84 +
   14.85 +img
   14.86 +{
   14.87 +	margin:0;
   14.88 +	padding:0;
   14.89 +}
   14.90 +
   14.91 +h1 
   14.92 +{
   14.93 +
   14.94 +color: white;
   14.95 +background-color:#000000;
   14.96 +text-align: center;
   14.97 +font: bold 32px "arial", "sans-serif";
   14.98 +}
   14.99 +
  14.100 +
  14.101 +div#copyright
  14.102 +{
  14.103 +
  14.104 +position:relative;
  14.105 +bottom: -310px;
  14.106 +margin-left:44%;
  14.107 +
  14.108 +
  14.109 +font: bold 14px "helvetica","arial", "sans-serif";
  14.110 +color: white;
  14.111 +
  14.112 +
  14.113 +
  14.114 +}
  14.115 +
  14.116 +
  14.117 +
  14.118 +
  14.119 +
  14.120 +/*stuff to make the links show which page you're on*/
  14.121 +body#buy a#buy,
  14.122 +body#hom a#hom,
  14.123 +body#about a#about,
  14.124 +body#contact a#contact,
  14.125 +body#faq a#faq {
  14.126 +color: #ffffff;
  14.127 +
  14.128 +
  14.129 +}
  14.130 +
    15.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    15.2 +++ b/buy_files/raphael.js	Sun Jan 31 12:33:33 2010 -0500
    15.3 @@ -0,0 +1,3215 @@
    15.4 +/*!
    15.5 + * Raphael 1.3.0 - JavaScript Vector Library
    15.6 + *
    15.7 + * Copyright (c) 2008 - 2009 Dmitry Baranovskiy (http://raphaeljs.com)
    15.8 + * Licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) license.
    15.9 + */
   15.10 + 
   15.11 + 
   15.12 +window.Raphael = (function () {
   15.13 +    var separator = /[, ]+/,
   15.14 +        elements = /^(circle|rect|path|ellipse|text|image)$/,
   15.15 +        doc = document,
   15.16 +        win = window,
   15.17 +        oldRaphael = {
   15.18 +            was: "Raphael" in win,
   15.19 +            is: win.Raphael
   15.20 +        },
   15.21 +        R = function () {
   15.22 +            if (R.is(arguments[0], "array")) {
   15.23 +                var a = arguments[0],
   15.24 +                    cnv = create[apply](R, a.splice(0, 3 + R.is(a[0], nu))),
   15.25 +                    res = cnv.set();
   15.26 +                for (var i = 0, ii = a[length]; i < ii; i++) {
   15.27 +                    var j = a[i] || {};
   15.28 +                    elements.test(j.type) && res[push](cnv[j.type]().attr(j));
   15.29 +                }
   15.30 +                return res;
   15.31 +            }
   15.32 +            return create[apply](R, arguments);
   15.33 +        },
   15.34 +        Paper = function () {},
   15.35 +        appendChild = "appendChild",
   15.36 +        apply = "apply",
   15.37 +        concat = "concat",
   15.38 +        E = "",
   15.39 +        S = " ",
   15.40 +        split = "split",
   15.41 +        events = "click dblclick mousedown mousemove mouseout mouseover mouseup"[split](S),
   15.42 +        has = "hasOwnProperty",
   15.43 +        join = "join",
   15.44 +        length = "length",
   15.45 +        proto = "prototype",
   15.46 +        lowerCase = String[proto].toLowerCase,
   15.47 +        math = Math,
   15.48 +        mmax = math.max,
   15.49 +        mmin = math.min,
   15.50 +        nu = "number",
   15.51 +        toString = "toString",
   15.52 +        objectToString = Object[proto][toString],
   15.53 +        paper = {},
   15.54 +        pow = math.pow,
   15.55 +        push = "push",
   15.56 +        rg = /^(?=[\da-f]$)/,
   15.57 +        ISURL = /^url\(['"]?([^\)]+)['"]?\)$/i,
   15.58 +        colourRegExp = /^\s*((#[a-f\d]{6})|(#[a-f\d]{3})|rgb\(\s*([\d\.]+\s*,\s*[\d\.]+\s*,\s*[\d\.]+)\s*\)|rgb\(\s*([\d\.]+%\s*,\s*[\d\.]+%\s*,\s*[\d\.]+%)\s*\)|hs[bl]\(\s*([\d\.]+\s*,\s*[\d\.]+\s*,\s*[\d\.]+)\s*\)|hs[bl]\(\s*([\d\.]+%\s*,\s*[\d\.]+%\s*,\s*[\d\.]+%)\s*\))\s*$/i,
   15.59 +        round = math.round,
   15.60 +        setAttribute = "setAttribute",
   15.61 +        toFloat = parseFloat,
   15.62 +        toInt = parseInt,
   15.63 +        upperCase = String[proto].toUpperCase,
   15.64 +        availableAttrs = {"clip-rect": "0 0 1e9 1e9", cursor: "default", cx: 0, cy: 0, fill: "#fff", "fill-opacity": 1, font: '10px "Arial"', "font-family": '"Arial"', "font-size": "10", "font-style": "normal", "font-weight": 400, gradient: 0, height: 0, href: "http://raphaeljs.com/", opacity: 1, path: "M0,0", r: 0, rotation: 0, rx: 0, ry: 0, scale: "1 1", src: "", stroke: "#000", "stroke-dasharray": "", "stroke-linecap": "butt", "stroke-linejoin": "butt", "stroke-miterlimit": 0, "stroke-opacity": 1, "stroke-width": 1, target: "_blank", "text-anchor": "middle", title: "Raphael", translation: "0 0", width: 0, x: 0, y: 0},
   15.65 +        availableAnimAttrs = {along: "along", "clip-rect": "csv", cx: nu, cy: nu, fill: "colour", "fill-opacity": nu, "font-size": nu, height: nu, opacity: nu, path: "path", r: nu, rotation: "csv", rx: nu, ry: nu, scale: "csv", stroke: "colour", "stroke-opacity": nu, "stroke-width": nu, translation: "csv", width: nu, x: nu, y: nu},
   15.66 +        rp = "replace";
   15.67 +    R.version = "1.3.0";
   15.68 +    R.type = (win.SVGAngle || doc.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure", "1.1") ? "SVG" : "VML");
   15.69 +    if (R.type == "VML") {
   15.70 +        var d = document.createElement("div");
   15.71 +        d.innerHTML = '<!--[if vml]><br><br><![endif]-->';
   15.72 +        if (d.childNodes[length] != 2) {
   15.73 +            return null;
   15.74 +        }
   15.75 +    }
   15.76 +    R.svg = !(R.vml = R.type == "VML");
   15.77 +    Paper[proto] = R[proto];
   15.78 +    R._id = 0;
   15.79 +    R._oid = 0;
   15.80 +    R.fn = {};
   15.81 +    R.is = function (o, type) {
   15.82 +        type = lowerCase.call(type);
   15.83 +        return ((type == "object" || type == "undefined") && typeof o == type) || (o == null && type == "null") || lowerCase.call(objectToString.call(o).slice(8, -1)) == type;
   15.84 +    };
   15.85 +    R.setWindow = function (newwin) {
   15.86 +        win = newwin;
   15.87 +        doc = win.document;
   15.88 +    };
   15.89 +    // colour utilities
   15.90 +    var toHex = function (color) {
   15.91 +        if (R.vml) {
   15.92 +            // http://dean.edwards.name/weblog/2009/10/convert-any-colour-value-to-hex-in-msie/
   15.93 +            var trim = /^\s+|\s+$/g;
   15.94 +            toHex = cacher(function (color) {
   15.95 +                var bod;
   15.96 +                color = (color + E)[rp](trim, E);
   15.97 +                try {
   15.98 +                    var docum = new ActiveXObject("htmlfile");
   15.99 +                    docum.write("<body>");
  15.100 +                    docum.close();
  15.101 +                    bod = docum.body;
  15.102 +                } catch(e) {
  15.103 +                    bod = createPopup().document.body;
  15.104 +                }
  15.105 +                var range = bod.createTextRange();
  15.106 +                try {
  15.107 +                    bod.style.color = color;
  15.108 +                    var value = range.queryCommandValue("ForeColor");
  15.109 +                    value = ((value & 255) << 16) | (value & 65280) | ((value & 16711680) >>> 16);
  15.110 +                    return "#" + ("000000" + value[toString](16)).slice(-6);
  15.111 +                } catch(e) {
  15.112 +                    return "none";
  15.113 +                }
  15.114 +            });
  15.115 +        } else {
  15.116 +            var i = doc.createElement("i");
  15.117 +            i.title = "Rapha\xebl Colour Picker";
  15.118 +            i.style.display = "none";
  15.119 +            doc.body[appendChild](i);
  15.120 +            toHex = cacher(function (color) {
  15.121 +                i.style.color = color;
  15.122 +                return doc.defaultView.getComputedStyle(i, E).getPropertyValue("color");
  15.123 +            });
  15.124 +        }
  15.125 +        return toHex(color);
  15.126 +    };
  15.127 +    R.hsb2rgb = cacher(function (hue, saturation, brightness) {
  15.128 +        if (R.is(hue, "object") && "h" in hue && "s" in hue && "b" in hue) {
  15.129 +            brightness = hue.b;
  15.130 +            saturation = hue.s;
  15.131 +            hue = hue.h;
  15.132 +        }
  15.133 +        var red,
  15.134 +            green,
  15.135 +            blue;
  15.136 +        if (brightness == 0) {
  15.137 +            return {r: 0, g: 0, b: 0, hex: "#000"};
  15.138 +        }
  15.139 +        if (hue > 1 || saturation > 1 || brightness > 1) {
  15.140 +            hue /= 255;
  15.141 +            saturation /= 255;
  15.142 +            brightness /= 255;
  15.143 +        }
  15.144 +        var i = ~~(hue * 6),
  15.145 +            f = (hue * 6) - i,
  15.146 +            p = brightness * (1 - saturation),
  15.147 +            q = brightness * (1 - (saturation * f)),
  15.148 +            t = brightness * (1 - (saturation * (1 - f)));
  15.149 +        red = [brightness, q, p, p, t, brightness, brightness][i];
  15.150 +        green = [t, brightness, brightness, q, p, p, t][i];
  15.151 +        blue = [p, p, t, brightness, brightness, q, p][i];
  15.152 +        red *= 255;
  15.153 +        green *= 255;
  15.154 +        blue *= 255;
  15.155 +        var rgb = {r: red, g: green, b: blue},
  15.156 +            r = (~~red)[toString](16),
  15.157 +            g = (~~green)[toString](16),
  15.158 +            b = (~~blue)[toString](16);
  15.159 +        r = r[rp](rg, "0");
  15.160 +        g = g[rp](rg, "0");
  15.161 +        b = b[rp](rg, "0");
  15.162 +        rgb.hex = "#" + r + g + b;
  15.163 +        return rgb;
  15.164 +    }, R);
  15.165 +    R.rgb2hsb = cacher(function (red, green, blue) {
  15.166 +        if (R.is(red, "object") && "r" in red && "g" in red && "b" in red) {
  15.167 +            blue = red.b;
  15.168 +            green = red.g;
  15.169 +            red = red.r;
  15.170 +        }
  15.171 +        if (R.is(red, "string")) {
  15.172 +            var clr = R.getRGB(red);
  15.173 +            red = clr.r;
  15.174 +            green = clr.g;
  15.175 +            blue = clr.b;
  15.176 +        }
  15.177 +        if (red > 1 || green > 1 || blue > 1) {
  15.178 +            red /= 255;
  15.179 +            green /= 255;
  15.180 +            blue /= 255;
  15.181 +        }
  15.182 +        var max = mmax(red, green, blue),
  15.183 +            min = mmin(red, green, blue),
  15.184 +            hue,
  15.185 +            saturation,
  15.186 +            brightness = max;
  15.187 +        if (min == max) {
  15.188 +            return {h: 0, s: 0, b: max};
  15.189 +        } else {
  15.190 +            var delta = (max - min);
  15.191 +            saturation = delta / max;
  15.192 +            if (red == max) {
  15.193 +                hue = (green - blue) / delta;
  15.194 +            } else if (green == max) {
  15.195 +                hue = 2 + ((blue - red) / delta);
  15.196 +            } else {
  15.197 +                hue = 4 + ((red - green) / delta);
  15.198 +            }
  15.199 +            hue /= 6;
  15.200 +            hue < 0 && hue++;
  15.201 +            hue > 1 && hue--;
  15.202 +        }
  15.203 +        return {h: hue, s: saturation, b: brightness};
  15.204 +    }, R);
  15.205 +    var p2s = /,?([achlmqrstvxz]),?/gi;
  15.206 +    R._path2string = function () {
  15.207 +        return this.join(",")[rp](p2s, "$1");
  15.208 +    };
  15.209 +    function cacher(f, scope, postprocessor) {
  15.210 +        function newf() {
  15.211 +            var arg = Array[proto].slice.call(arguments, 0),
  15.212 +                args = arg[join]("\u25ba"),
  15.213 +                cache = newf.cache = newf.cache || {},
  15.214 +                count = newf.count = newf.count || [];
  15.215 +            if (cache[has](args)) {
  15.216 +                return postprocessor ? postprocessor(cache[args]) : cache[args];
  15.217 +            }
  15.218 +            count[length] >= 1e3 && delete cache[count.shift()];
  15.219 +            count[push](args);
  15.220 +            cache[args] = f[apply](scope, arg);
  15.221 +            return postprocessor ? postprocessor(cache[args]) : cache[args];
  15.222 +        }
  15.223 +        return newf;
  15.224 +    }
  15.225 + 
  15.226 +    R.getRGB = cacher(function (colour) {
  15.227 +        if (!colour || !!((colour = colour + E).indexOf("-") + 1)) {
  15.228 +            return {r: -1, g: -1, b: -1, hex: "none", error: 1};
  15.229 +        }
  15.230 +        if (colour == "none") {
  15.231 +            return {r: -1, g: -1, b: -1, hex: "none"};
  15.232 +        }
  15.233 +        !(({hs: 1, rg: 1})[has](colour.substring(0, 2)) || colour.charAt() == "#") && (colour = toHex(colour));
  15.234 +        var res,
  15.235 +            red,
  15.236 +            green,
  15.237 +            blue,
  15.238 +            t,
  15.239 +            rgb = colour.match(colourRegExp);
  15.240 +        if (rgb) {
  15.241 +            if (rgb[2]) {
  15.242 +                blue = toInt(rgb[2].substring(5), 16);
  15.243 +                green = toInt(rgb[2].substring(3, 5), 16);
  15.244 +                red = toInt(rgb[2].substring(1, 3), 16);
  15.245 +            }
  15.246 +            if (rgb[3]) {
  15.247 +                blue = toInt((t = rgb[3].charAt(3)) + t, 16);
  15.248 +                green = toInt((t = rgb[3].charAt(2)) + t, 16);
  15.249 +                red = toInt((t = rgb[3].charAt(1)) + t, 16);
  15.250 +            }
  15.251 +            if (rgb[4]) {
  15.252 +                rgb = rgb[4][split](/\s*,\s*/);
  15.253 +                red = toFloat(rgb[0]);
  15.254 +                green = toFloat(rgb[1]);
  15.255 +                blue = toFloat(rgb[2]);
  15.256 +            }
  15.257 +            if (rgb[5]) {
  15.258 +                rgb = rgb[5][split](/\s*,\s*/);
  15.259 +                red = toFloat(rgb[0]) * 2.55;
  15.260 +                green = toFloat(rgb[1]) * 2.55;
  15.261 +                blue = toFloat(rgb[2]) * 2.55;
  15.262 +            }
  15.263 +            if (rgb[6]) {
  15.264 +                rgb = rgb[6][split](/\s*,\s*/);
  15.265 +                red = toFloat(rgb[0]);
  15.266 +                green = toFloat(rgb[1]);
  15.267 +                blue = toFloat(rgb[2]);
  15.268 +                return R.hsb2rgb(red, green, blue);
  15.269 +            }
  15.270 +            if (rgb[7]) {
  15.271 +                rgb = rgb[7][split](/\s*,\s*/);
  15.272 +                red = toFloat(rgb[0]) * 2.55;
  15.273 +                green = toFloat(rgb[1]) * 2.55;
  15.274 +                blue = toFloat(rgb[2]) * 2.55;
  15.275 +                return R.hsb2rgb(red, green, blue);
  15.276 +            }
  15.277 +            rgb = {r: red, g: green, b: blue};
  15.278 +            var r = (~~red)[toString](16),
  15.279 +                g = (~~green)[toString](16),
  15.280 +                b = (~~blue)[toString](16);
  15.281 +            r = r[rp](rg, "0");
  15.282 +            g = g[rp](rg, "0");
  15.283 +            b = b[rp](rg, "0");
  15.284 +            rgb.hex = "#" + r + g + b;
  15.285 +            return rgb;
  15.286 +        }
  15.287 +        return {r: -1, g: -1, b: -1, hex: "none", error: 1};
  15.288 +    }, R);
  15.289 +    R.getColor = function (value) {
  15.290 +        var start = this.getColor.start = this.getColor.start || {h: 0, s: 1, b: value || .75},
  15.291 +            rgb = this.hsb2rgb(start.h, start.s, start.b);
  15.292 +        start.h += .075;
  15.293 +        if (start.h > 1) {
  15.294 +            start.h = 0;
  15.295 +            start.s -= .2;
  15.296 +            start.s <= 0 && (this.getColor.start = {h: 0, s: 1, b: start.b});
  15.297 +        }
  15.298 +        return rgb.hex;
  15.299 +    };
  15.300 +    R.getColor.reset = function () {
  15.301 +        delete this.start;
  15.302 +    };
  15.303 +    // path utilities
  15.304 +    R.parsePathString = cacher(function (pathString) {
  15.305 +        if (!pathString) {
  15.306 +            return null;
  15.307 +        }
  15.308 +        var paramCounts = {a: 7, c: 6, h: 1, l: 2, m: 2, q: 4, s: 4, t: 2, v: 1, z: 0},
  15.309 +            data = [];
  15.310 +        if (R.is(pathString, "array") && R.is(pathString[0], "array")) { // rough assumption
  15.311 +            data = pathClone(pathString);
  15.312 +        }
  15.313 +        if (!data[length]) {
  15.314 +            (pathString + E)[rp](/([achlmqstvz])[\s,]*((-?\d*\.?\d*(?:e[-+]?\d+)?\s*,?\s*)+)/ig, function (a, b, c) {
  15.315 +                var params = [],
  15.316 +                    name = lowerCase.call(b);
  15.317 +                c[rp](/(-?\d*\.?\d*(?:e[-+]?\d+)?)\s*,?\s*/ig, function (a, b) {
  15.318 +                    b && params[push](+b);
  15.319 +                });
  15.320 +                while (params[length] >= paramCounts[name]) {
  15.321 +                    data[push]([b][concat](params.splice(0, paramCounts[name])));
  15.322 +                    if (!paramCounts[name]) {
  15.323 +                        break;
  15.324 +                    };
  15.325 +                }
  15.326 +            });
  15.327 +        }
  15.328 +        data[toString] = R._path2string;
  15.329 +        return data;
  15.330 +    });
  15.331 +    R.findDotsAtSegment = function (p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, t) {
  15.332 +        var t1 = 1 - t,
  15.333 +            x = pow(t1, 3) * p1x + pow(t1, 2) * 3 * t * c1x + t1 * 3 * t * t * c2x + pow(t, 3) * p2x,
  15.334 +            y = pow(t1, 3) * p1y + pow(t1, 2) * 3 * t * c1y + t1 * 3 * t * t * c2y + pow(t, 3) * p2y,
  15.335 +            mx = p1x + 2 * t * (c1x - p1x) + t * t * (c2x - 2 * c1x + p1x),
  15.336 +            my = p1y + 2 * t * (c1y - p1y) + t * t * (c2y - 2 * c1y + p1y),
  15.337 +            nx = c1x + 2 * t * (c2x - c1x) + t * t * (p2x - 2 * c2x + c1x),
  15.338 +            ny = c1y + 2 * t * (c2y - c1y) + t * t * (p2y - 2 * c2y + c1y),
  15.339 +            ax = (1 - t) * p1x + t * c1x,
  15.340 +            ay = (1 - t) * p1y + t * c1y,
  15.341 +            cx = (1 - t) * c2x + t * p2x,
  15.342 +            cy = (1 - t) * c2y + t * p2y,
  15.343 +            alpha = (90 - math.atan((mx - nx) / (my - ny)) * 180 / math.PI);
  15.344 +        (mx > nx || my < ny) && (alpha += 180);
  15.345 +        return {x: x, y: y, m: {x: mx, y: my}, n: {x: nx, y: ny}, start: {x: ax, y: ay}, end: {x: cx, y: cy}, alpha: alpha};
  15.346 +    };
  15.347 +    var pathDimensions = cacher(function (path) {
  15.348 +        if (!path) {
  15.349 +            return {x: 0, y: 0, width: 0, height: 0};
  15.350 +        }
  15.351 +        path = path2curve(path);
  15.352 +        var x = 0, 
  15.353 +            y = 0,
  15.354 +            X = [],
  15.355 +            Y = [],
  15.356 +            p;
  15.357 +        for (var i = 0, ii = path[length]; i < ii; i++) {
  15.358 +            p = path[i];
  15.359 +            if (p[0] == "M") {
  15.360 +                x = p[1];
  15.361 +                y = p[2];
  15.362 +                X[push](x);
  15.363 +                Y[push](y);
  15.364 +            } else {
  15.365 +                var dim = curveDim(x, y, p[1], p[2], p[3], p[4], p[5], p[6]);
  15.366 +                X = X[concat](dim.min.x, dim.max.x);
  15.367 +                Y = Y[concat](dim.min.y, dim.max.y);
  15.368 +                x = p[5];
  15.369 +                y = p[6];
  15.370 +            }
  15.371 +        }
  15.372 +        var xmin = mmin[apply](0, X),
  15.373 +            ymin = mmin[apply](0, Y);
  15.374 +        return {
  15.375 +            x: xmin,
  15.376 +            y: ymin,
  15.377 +            width: mmax[apply](0, X) - xmin,
  15.378 +            height: mmax[apply](0, Y) - ymin
  15.379 +        };
  15.380 +    }),
  15.381 +        pathClone = function (pathArray) {
  15.382 +            var res = [];
  15.383 +            if (!R.is(pathArray, "array") || !R.is(pathArray && pathArray[0], "array")) { // rough assumption
  15.384 +                pathArray = R.parsePathString(pathArray);
  15.385 +            }
  15.386 +            for (var i = 0, ii = pathArray[length]; i < ii; i++) {
  15.387 +                res[i] = [];
  15.388 +                for (var j = 0, jj = pathArray[i][length]; j < jj; j++) {
  15.389 +                    res[i][j] = pathArray[i][j];
  15.390 +                }
  15.391 +            }
  15.392 +            res[toString] = R._path2string;
  15.393 +            return res;
  15.394 +        },
  15.395 +        pathToRelative = cacher(function (pathArray) {
  15.396 +            if (!R.is(pathArray, "array") || !R.is(pathArray && pathArray[0], "array")) { // rough assumption
  15.397 +                pathArray = R.parsePathString(pathArray);
  15.398 +            }
  15.399 +            var res = [],
  15.400 +                x = 0,
  15.401 +                y = 0,
  15.402 +                mx = 0,
  15.403 +                my = 0,
  15.404 +                start = 0;
  15.405 +            if (pathArray[0][0] == "M") {
  15.406 +                x = pathArray[0][1];
  15.407 +                y = pathArray[0][2];
  15.408 +                mx = x;
  15.409 +                my = y;
  15.410 +                start++;
  15.411 +                res[push](["M", x, y]);
  15.412 +            }
  15.413 +            for (var i = start, ii = pathArray[length]; i < ii; i++) {
  15.414 +                var r = res[i] = [],
  15.415 +                    pa = pathArray[i];
  15.416 +                if (pa[0] != lowerCase.call(pa[0])) {
  15.417 +                    r[0] = lowerCase.call(pa[0]);
  15.418 +                    switch (r[0]) {
  15.419 +                        case "a":
  15.420 +                            r[1] = pa[1];
  15.421 +                            r[2] = pa[2];
  15.422 +                            r[3] = pa[3];
  15.423 +                            r[4] = pa[4];
  15.424 +                            r[5] = pa[5];
  15.425 +                            r[6] = +(pa[6] - x).toFixed(3);
  15.426 +                            r[7] = +(pa[7] - y).toFixed(3);
  15.427 +                            break;
  15.428 +                        case "v":
  15.429 +                            r[1] = +(pa[1] - y).toFixed(3);
  15.430 +                            break;
  15.431 +                        case "m":
  15.432 +                            mx = pa[1];
  15.433 +                            my = pa[2];
  15.434 +                        default:
  15.435 +                            for (var j = 1, jj = pa[length]; j < jj; j++) {
  15.436 +                                r[j] = +(pa[j] - ((j % 2) ? x : y)).toFixed(3);
  15.437 +                            }
  15.438 +                    }
  15.439 +                } else {
  15.440 +                    r = res[i] = [];
  15.441 +                    if (pa[0] == "m") {
  15.442 +                        mx = pa[1] + x;
  15.443 +                        my = pa[2] + y;
  15.444 +                    }
  15.445 +                    for (var k = 0, kk = pa[length]; k < kk; k++) {
  15.446 +                        res[i][k] = pa[k];
  15.447 +                    }
  15.448 +                }
  15.449 +                var len = res[i][length];
  15.450 +                switch (res[i][0]) {
  15.451 +                    case "z":
  15.452 +                        x = mx;
  15.453 +                        y = my;
  15.454 +                        break;
  15.455 +                    case "h":
  15.456 +                        x += +res[i][len - 1];
  15.457 +                        break;
  15.458 +                    case "v":
  15.459 +                        y += +res[i][len - 1];
  15.460 +                        break;
  15.461 +                    default:
  15.462 +                        x += +res[i][len - 2];
  15.463 +                        y += +res[i][len - 1];
  15.464 +                }
  15.465 +            }
  15.466 +            res[toString] = R._path2string;
  15.467 +            return res;
  15.468 +        }, 0, pathClone),
  15.469 +        pathToAbsolute = cacher(function (pathArray) {
  15.470 +            if (!R.is(pathArray, "array") || !R.is(pathArray && pathArray[0], "array")) { // rough assumption
  15.471 +                pathArray = R.parsePathString(pathArray);
  15.472 +            }
  15.473 +            var res = [],
  15.474 +                x = 0,
  15.475 +                y = 0,
  15.476 +                mx = 0,
  15.477 +                my = 0,
  15.478 +                start = 0;
  15.479 +            if (pathArray[0][0] == "M") {
  15.480 +                x = +pathArray[0][1];
  15.481 +                y = +pathArray[0][2];
  15.482 +                mx = x;
  15.483 +                my = y;
  15.484 +                start++;
  15.485 +                res[0] = ["M", x, y];
  15.486 +            }
  15.487 +            for (var i = start, ii = pathArray[length]; i < ii; i++) {
  15.488 +                var r = res[i] = [],
  15.489 +                    pa = pathArray[i];
  15.490 +                if (pa[0] != upperCase.call(pa[0])) {
  15.491 +                    r[0] = upperCase.call(pa[0]);
  15.492 +                    switch (r[0]) {
  15.493 +                        case "A":
  15.494 +                            r[1] = pa[1];
  15.495 +                            r[2] = pa[2];
  15.496 +                            r[3] = pa[3];
  15.497 +                            r[4] = pa[4];
  15.498 +                            r[5] = pa[5];
  15.499 +                            r[6] = +(pa[6] + x);
  15.500 +                            r[7] = +(pa[7] + y);
  15.501 +                            break;
  15.502 +                        case "V":
  15.503 +                            r[1] = +pa[1] + y;
  15.504 +                            break;
  15.505 +                        case "H":
  15.506 +                            r[1] = +pa[1] + x;
  15.507 +                            break;
  15.508 +                        case "M":
  15.509 +                            mx = +pa[1] + x;
  15.510 +                            my = +pa[2] + y;
  15.511 +                        default:
  15.512 +                            for (var j = 1, jj = pa[length]; j < jj; j++) {
  15.513 +                                r[j] = +pa[j] + ((j % 2) ? x : y);
  15.514 +                            }
  15.515 +                    }
  15.516 +                } else {
  15.517 +                    for (var k = 0, kk = pa[length]; k < kk; k++) {
  15.518 +                        res[i][k] = pa[k];
  15.519 +                    }
  15.520 +                }
  15.521 +                switch (r[0]) {
  15.522 +                    case "Z":
  15.523 +                        x = mx;
  15.524 +                        y = my;
  15.525 +                        break;
  15.526 +                    case "H":
  15.527 +                        x = r[1];
  15.528 +                        break;
  15.529 +                    case "V":
  15.530 +                        y = r[1];
  15.531 +                        break;
  15.532 +                    default:
  15.533 +                        x = res[i][res[i][length] - 2];
  15.534 +                        y = res[i][res[i][length] - 1];
  15.535 +                }
  15.536 +            }
  15.537 +            res[toString] = R._path2string;
  15.538 +            return res;
  15.539 +        }, null, pathClone),
  15.540 +        l2c = function (x1, y1, x2, y2) {
  15.541 +            return [x1, y1, x2, y2, x2, y2];
  15.542 +        },
  15.543 +        q2c = function (x1, y1, ax, ay, x2, y2) {
  15.544 +            var _13 = 1 / 3,
  15.545 +                _23 = 2 / 3;
  15.546 +            return [
  15.547 +                    _13 * x1 + _23 * ax,
  15.548 +                    _13 * y1 + _23 * ay,
  15.549 +                    _13 * x2 + _23 * ax,
  15.550 +                    _13 * y2 + _23 * ay,
  15.551 +                    x2,
  15.552 +                    y2
  15.553 +                ];
  15.554 +        },
  15.555 +        a2c = function (x1, y1, rx, ry, angle, large_arc_flag, sweep_flag, x2, y2, recursive) {
  15.556 +            // for more information of where this math came from visit:
  15.557 +            // http://www.w3.org/TR/SVG11/implnote.html#ArcImplementationNotes
  15.558 +            var PI = math.PI,
  15.559 +                _120 = PI * 120 / 180,
  15.560 +                rad = PI / 180 * (+angle || 0),
  15.561 +                res = [],
  15.562 +                xy,
  15.563 +                rotate = cacher(function (x, y, rad) {
  15.564 +                    var X = x * math.cos(rad) - y * math.sin(rad),
  15.565 +                        Y = x * math.sin(rad) + y * math.cos(rad);
  15.566 +                    return {x: X, y: Y};
  15.567 +                });
  15.568 +            if (!recursive) {
  15.569 +                xy = rotate(x1, y1, -rad);
  15.570 +                x1 = xy.x;
  15.571 +                y1 = xy.y;
  15.572 +                xy = rotate(x2, y2, -rad);
  15.573 +                x2 = xy.x;
  15.574 +                y2 = xy.y;
  15.575 +                var cos = math.cos(PI / 180 * angle),
  15.576 +                    sin = math.sin(PI / 180 * angle),
  15.577 +                    x = (x1 - x2) / 2,
  15.578 +                    y = (y1 - y2) / 2;
  15.579 +                rx = mmax(rx, math.abs(x));
  15.580 +                ry = mmax(ry, math.abs(y));
  15.581 +                var rx2 = rx * rx,
  15.582 +                    ry2 = ry * ry,
  15.583 +                    k = (large_arc_flag == sweep_flag ? -1 : 1) *
  15.584 +                        math.sqrt(math.abs((rx2 * ry2 - rx2 * y * y - ry2 * x * x) / (rx2 * y * y + ry2 * x * x))),
  15.585 +                    cx = k * rx * y / ry + (x1 + x2) / 2,
  15.586 +                    cy = k * -ry * x / rx + (y1 + y2) / 2,
  15.587 +                    f1 = math.asin(((y1 - cy) / ry).toFixed(7)),
  15.588 +                    f2 = math.asin(((y2 - cy) / ry).toFixed(7));
  15.589 + 
  15.590 +                f1 = x1 < cx ? PI - f1 : f1;
  15.591 +                f2 = x2 < cx ? PI - f2 : f2;
  15.592 +                f1 < 0 && (f1 = PI * 2 + f1);
  15.593 +                f2 < 0 && (f2 = PI * 2 + f2);
  15.594 +                if (sweep_flag && f1 > f2) {
  15.595 +                    f1 = f1 - PI * 2;
  15.596 +                }
  15.597 +                if (!sweep_flag && f2 > f1) {
  15.598 +                    f2 = f2 - PI * 2;
  15.599 +                }
  15.600 +            } else {
  15.601 +                f1 = recursive[0];
  15.602 +                f2 = recursive[1];
  15.603 +                cx = recursive[2];
  15.604 +                cy = recursive[3];
  15.605 +            }
  15.606 +            var df = f2 - f1;
  15.607 +            if (math.abs(df) > _120) {
  15.608 +                var f2old = f2,
  15.609 +                    x2old = x2,
  15.610 +                    y2old = y2;
  15.611 +                f2 = f1 + _120 * (sweep_flag && f2 > f1 ? 1 : -1);
  15.612 +                x2 = cx + rx * math.cos(f2);
  15.613 +                y2 = cy + ry * math.sin(f2);
  15.614 +                res = a2c(x2, y2, rx, ry, angle, 0, sweep_flag, x2old, y2old, [f2, f2old, cx, cy]);
  15.615 +            }
  15.616 +            df = f2 - f1;
  15.617 +            var c1 = math.cos(f1),
  15.618 +                s1 = math.sin(f1),
  15.619 +                c2 = math.cos(f2),
  15.620 +                s2 = math.sin(f2),
  15.621 +                t = math.tan(df / 4),
  15.622 +                hx = 4 / 3 * rx * t,
  15.623 +                hy = 4 / 3 * ry * t,
  15.624 +                m1 = [x1, y1],
  15.625 +                m2 = [x1 + hx * s1, y1 - hy * c1],
  15.626 +                m3 = [x2 + hx * s2, y2 - hy * c2],
  15.627 +                m4 = [x2, y2];
  15.628 +            m2[0] = 2 * m1[0] - m2[0];
  15.629 +            m2[1] = 2 * m1[1] - m2[1];
  15.630 +            if (recursive) {
  15.631 +                return [m2, m3, m4][concat](res);
  15.632 +            } else {
  15.633 +                res = [m2, m3, m4][concat](res)[join]()[split](",");
  15.634 +                var newres = [];
  15.635 +                for (var i = 0, ii = res[length]; i < ii; i++) {
  15.636 +                    newres[i] = i % 2 ? rotate(res[i - 1], res[i], rad).y : rotate(res[i], res[i + 1], rad).x;
  15.637 +                }
  15.638 +                return newres;
  15.639 +            }
  15.640 +        },
  15.641 +        findDotAtSegment = function (p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, t) {
  15.642 +            var t1 = 1 - t;
  15.643 +            return {
  15.644 +                x: pow(t1, 3) * p1x + pow(t1, 2) * 3 * t * c1x + t1 * 3 * t * t * c2x + pow(t, 3) * p2x,
  15.645 +                y: pow(t1, 3) * p1y + pow(t1, 2) * 3 * t * c1y + t1 * 3 * t * t * c2y + pow(t, 3) * p2y
  15.646 +            };
  15.647 +        },
  15.648 +        curveDim = cacher(function (p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y) {
  15.649 +            var a = (c2x - 2 * c1x + p1x) - (p2x - 2 * c2x + c1x),
  15.650 +                b = 2 * (c1x - p1x) - 2 * (c2x - c1x),
  15.651 +                c = p1x - c1x,
  15.652 +                t1 = (-b + math.sqrt(b * b - 4 * a * c)) / 2 / a,
  15.653 +                t2 = (-b - math.sqrt(b * b - 4 * a * c)) / 2 / a,
  15.654 +                y = [p1y, p2y],
  15.655 +                x = [p1x, p2x],
  15.656 +                dot;
  15.657 +            math.abs(t1) > 1e12 && (t1 = .5);
  15.658 +            math.abs(t2) > 1e12 && (t2 = .5);
  15.659 +            if (t1 > 0 && t1 < 1) {
  15.660 +                dot = findDotAtSegment(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, t1);
  15.661 +                x[push](dot.x);
  15.662 +                y[push](dot.y);
  15.663 +            }
  15.664 +            if (t2 > 0 && t2 < 1) {
  15.665 +                dot = findDotAtSegment(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, t2);
  15.666 +                x[push](dot.x);
  15.667 +                y[push](dot.y);
  15.668 +            }
  15.669 +            a = (c2y - 2 * c1y + p1y) - (p2y - 2 * c2y + c1y);
  15.670 +            b = 2 * (c1y - p1y) - 2 * (c2y - c1y);
  15.671 +            c = p1y - c1y;
  15.672 +            t1 = (-b + math.sqrt(b * b - 4 * a * c)) / 2 / a;
  15.673 +            t2 = (-b - math.sqrt(b * b - 4 * a * c)) / 2 / a;
  15.674 +            math.abs(t1) > 1e12 && (t1 = .5);
  15.675 +            math.abs(t2) > 1e12 && (t2 = .5);
  15.676 +            if (t1 > 0 && t1 < 1) {
  15.677 +                dot = findDotAtSegment(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, t1);
  15.678 +                x[push](dot.x);
  15.679 +                y[push](dot.y);
  15.680 +            }
  15.681 +            if (t2 > 0 && t2 < 1) {
  15.682 +                dot = findDotAtSegment(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, t2);
  15.683 +                x[push](dot.x);
  15.684 +                y[push](dot.y);
  15.685 +            }
  15.686 +            return {
  15.687 +                min: {x: mmin[apply](0, x), y: mmin[apply](0, y)},
  15.688 +                max: {x: mmax[apply](0, x), y: mmax[apply](0, y)}
  15.689 +            };
  15.690 +        }),
  15.691 +        path2curve = cacher(function (path, path2) {
  15.692 +            var p = pathToAbsolute(path),
  15.693 +                p2 = path2 && pathToAbsolute(path2),
  15.694 +                attrs = {x: 0, y: 0, bx: 0, by: 0, X: 0, Y: 0, qx: null, qy: null},
  15.695 +                attrs2 = {x: 0, y: 0, bx: 0, by: 0, X: 0, Y: 0, qx: null, qy: null},
  15.696 +                processPath = function (path, d) {
  15.697 +                    var nx, ny;
  15.698 +                    if (!path) {
  15.699 +                        return ["C", d.x, d.y, d.x, d.y, d.x, d.y];
  15.700 +                    }
  15.701 +                    !(path[0] in {T:1, Q:1}) && (d.qx = d.qy = null);
  15.702 +                    switch (path[0]) {
  15.703 +                        case "M":
  15.704 +                            d.X = path[1];
  15.705 +                            d.Y = path[2];
  15.706 +                            break;
  15.707 +                        case "A":
  15.708 +                            path = ["C"][concat](a2c[apply](0, [d.x, d.y][concat](path.slice(1))));
  15.709 +                            break;
  15.710 +                        case "S":
  15.711 +                            nx = d.x + (d.x - (d.bx || d.x));
  15.712 +                            ny = d.y + (d.y - (d.by || d.y));
  15.713 +                            path = ["C", nx, ny][concat](path.slice(1));
  15.714 +                            break;
  15.715 +                        case "T":
  15.716 +                            d.qx = d.x + (d.x - (d.qx || d.x));
  15.717 +                            d.qy = d.y + (d.y - (d.qy || d.y));
  15.718 +                            path = ["C"][concat](q2c(d.x, d.y, d.qx, d.qy, path[1], path[2]));
  15.719 +                            break;
  15.720 +                        case "Q":
  15.721 +                            d.qx = path[1];
  15.722 +                            d.qy = path[2];
  15.723 +                            path = ["C"][concat](q2c(d.x, d.y, path[1], path[2], path[3], path[4]));
  15.724 +                            break;
  15.725 +                        case "L":
  15.726 +                            path = ["C"][concat](l2c(d.x, d.y, path[1], path[2]));
  15.727 +                            break;
  15.728 +                        case "H":
  15.729 +                            path = ["C"][concat](l2c(d.x, d.y, path[1], d.y));
  15.730 +                            break;
  15.731 +                        case "V":
  15.732 +                            path = ["C"][concat](l2c(d.x, d.y, d.x, path[1]));
  15.733 +                            break;
  15.734 +                        case "Z":
  15.735 +                            path = ["C"][concat](l2c(d.x, d.y, d.X, d.Y));
  15.736 +                            break;
  15.737 +                    }
  15.738 +                    return path;
  15.739 +                },
  15.740 +                fixArc = function (pp, i) {
  15.741 +                    if (pp[i][length] > 7) {
  15.742 +                        pp[i].shift();
  15.743 +                        var pi = pp[i];
  15.744 +                        while (pi[length]) {
  15.745 +                            pp.splice(i++, 0, ["C"][concat](pi.splice(0, 6)));
  15.746 +                        }
  15.747 +                        pp.splice(i, 1);
  15.748 +                        ii = mmax(p[length], p2 && p2[length] || 0);
  15.749 +                    }
  15.750 +                },
  15.751 +                fixM = function (path1, path2, a1, a2, i) {
  15.752 +                    if (path1 && path2 && path1[i][0] == "M" && path2[i][0] != "M") {
  15.753 +                        path2.splice(i, 0, ["M", a2.x, a2.y]);
  15.754 +                        a1.bx = 0;
  15.755 +                        a1.by = 0;
  15.756 +                        a1.x = path1[i][1];
  15.757 +                        a1.y = path1[i][2];
  15.758 +                        ii = mmax(p[length], p2 && p2[length] || 0);
  15.759 +                    }
  15.760 +                };
  15.761 +            for (var i = 0, ii = mmax(p[length], p2 && p2[length] || 0); i < ii; i++) {
  15.762 +                p[i] = processPath(p[i], attrs);
  15.763 +                fixArc(p, i);
  15.764 +                p2 && (p2[i] = processPath(p2[i], attrs2));
  15.765 +                p2 && fixArc(p2, i);
  15.766 +                fixM(p, p2, attrs, attrs2, i);
  15.767 +                fixM(p2, p, attrs2, attrs, i);
  15.768 +                var seg = p[i],
  15.769 +                    seg2 = p2 && p2[i],
  15.770 +                    seglen = seg[length],
  15.771 +                    seg2len = p2 && seg2[length];
  15.772 +                attrs.x = seg[seglen - 2];
  15.773 +                attrs.y = seg[seglen - 1];
  15.774 +                attrs.bx = toFloat(seg[seglen - 4]) || attrs.x;
  15.775 +                attrs.by = toFloat(seg[seglen - 3]) || attrs.y;
  15.776 +                attrs2.bx = p2 && (toFloat(seg2[seg2len - 4]) || attrs2.x);
  15.777 +                attrs2.by = p2 && (toFloat(seg2[seg2len - 3]) || attrs2.y);
  15.778 +                attrs2.x = p2 && seg2[seg2len - 2];
  15.779 +                attrs2.y = p2 && seg2[seg2len - 1];
  15.780 +            }
  15.781 +            return p2 ? [p, p2] : p;
  15.782 +        }, null, pathClone),
  15.783 +        parseDots = cacher(function (gradient) {
  15.784 +            var dots = [];
  15.785 +            for (var i = 0, ii = gradient[length]; i < ii; i++) {
  15.786 +                var dot = {},
  15.787 +                    par = gradient[i].match(/^([^:]*):?([\d\.]*)/);
  15.788 +                dot.color = R.getRGB(par[1]);
  15.789 +                if (dot.color.error) {
  15.790 +                    return null;
  15.791 +                }
  15.792 +                dot.color = dot.color.hex;
  15.793 +                par[2] && (dot.offset = par[2] + "%");
  15.794 +                dots[push](dot);
  15.795 +            }
  15.796 +            for (var i = 1, ii = dots[length] - 1; i < ii; i++) {
  15.797 +                if (!dots[i].offset) {
  15.798 +                    var start = toFloat(dots[i - 1].offset || 0),
  15.799 +                        end = 0;
  15.800 +                    for (var j = i + 1; j < ii; j++) {
  15.801 +                        if (dots[j].offset) {
  15.802 +                            end = dots[j].offset;
  15.803 +                            break;
  15.804 +                        }
  15.805 +                    }
  15.806 +                    if (!end) {
  15.807 +                        end = 100;
  15.808 +                        j = ii;
  15.809 +                    }
  15.810 +                    end = toFloat(end);
  15.811 +                    var d = (end - start) / (j - i + 1);
  15.812 +                    for (; i < j; i++) {
  15.813 +                        start += d;
  15.814 +                        dots[i].offset = start + "%";
  15.815 +                    }
  15.816 +                }
  15.817 +            }
  15.818 +            return dots;
  15.819 +        }),
  15.820 +        getContainer = function () {
  15.821 +            var container,
  15.822 +                x,
  15.823 +                y,
  15.824 +                width,
  15.825 +                height;
  15.826 +            if (R.is(arguments[0], "string") || R.is(arguments[0], "object")) {
  15.827 +                if (R.is(arguments[0], "string")) {
  15.828 +                    container = doc.getElementById(arguments[0]);
  15.829 +                } else {
  15.830 +                    container = arguments[0];
  15.831 +                }
  15.832 +                if (container.tagName) {
  15.833 +                    if (arguments[1] == null) {
  15.834 +                        return {
  15.835 +                            container: container,
  15.836 +                            width: container.style.pixelWidth || container.offsetWidth,
  15.837 +                            height: container.style.pixelHeight || container.offsetHeight
  15.838 +                        };
  15.839 +                    } else {
  15.840 +                        return {container: container, width: arguments[1], height: arguments[2]};
  15.841 +                    }
  15.842 +                }
  15.843 +            } else if (R.is(arguments[0], nu) && arguments[length] > 3) {
  15.844 +                return {container: 1, x: arguments[0], y: arguments[1], width: arguments[2], height: arguments[3]};
  15.845 +            }
  15.846 +        },
  15.847 +        plugins = function (con, add) {
  15.848 +            var that = this;
  15.849 +            for (var prop in add) if (add[has](prop) && !(prop in con)) {
  15.850 +                switch (typeof add[prop]) {
  15.851 +                    case "function":
  15.852 +                        (function (f) {
  15.853 +                            con[prop] = con === that ? f : function () { return f[apply](that, arguments); };
  15.854 +                        })(add[prop]);
  15.855 +                    break;
  15.856 +                    case "object":
  15.857 +                        con[prop] = con[prop] || {};
  15.858 +                        plugins.call(this, con[prop], add[prop]);
  15.859 +                    break;
  15.860 +                    default:
  15.861 +                        con[prop] = add[prop];
  15.862 +                    break;
  15.863 +                }
  15.864 +            }
  15.865 +        },
  15.866 +        tear = function (el, paper) {
  15.867 +            el == paper.top && (paper.top = el.prev);
  15.868 +            el == paper.bottom && (paper.bottom = el.next);
  15.869 +            el.next && (el.next.prev = el.prev);
  15.870 +            el.prev && (el.prev.next = el.next);
  15.871 +        },
  15.872 +        tofront = function (el, paper) {
  15.873 +            if (paper.top === el) {
  15.874 +                return;
  15.875 +            }
  15.876 +            tear(el, paper);
  15.877 +            el.next = null;
  15.878 +            el.prev = paper.top;
  15.879 +            paper.top.next = el;
  15.880 +            paper.top = el;
  15.881 +        },
  15.882 +        toback = function (el, paper) {
  15.883 +            if (paper.bottom === el) {
  15.884 +                return;
  15.885 +            }
  15.886 +            tear(el, paper);
  15.887 +            el.next = paper.bottom;
  15.888 +            el.prev = null;
  15.889 +            paper.bottom.prev = el;
  15.890 +            paper.bottom = el;
  15.891 +        },
  15.892 +        insertafter = function (el, el2, paper) {
  15.893 +            tear(el, paper);
  15.894 +            el2 == paper.top && (paper.top = el);
  15.895 +            el2.next && (el2.next.prev = el);
  15.896 +            el.next = el2.next;
  15.897 +            el.prev = el2;
  15.898 +            el2.next = el;
  15.899 +        },
  15.900 +        insertbefore = function (el, el2, paper) {
  15.901 +            tear(el, paper);
  15.902 +            el2 == paper.bottom && (paper.bottom = el);
  15.903 +            el2.prev && (el2.prev.next = el);
  15.904 +            el.prev = el2.prev;
  15.905 +            el2.prev = el;
  15.906 +            el.next = el2;
  15.907 +        },
  15.908 +        removed = function (methodname) {
  15.909 +            return function () {
  15.910 +                throw new Error("Rapha\xebl: you are calling to method \u201c" + methodname + "\u201d of removed object");
  15.911 +            };
  15.912 +        },
  15.913 +        radial_gradient = /^r(?:\(([^,]+?)\s*,\s*([^\)]+?)\))?/;
  15.914 + 
  15.915 +    // SVG
  15.916 +    if (R.svg) {
  15.917 +        Paper[proto].svgns = "http://www.w3.org/2000/svg";
  15.918 +        Paper[proto].xlink = "http://www.w3.org/1999/xlink";
  15.919 +        var round = function (num) {
  15.920 +            return +num + (~~num === num) * .5;
  15.921 +        },
  15.922 +            roundPath = function (path) {
  15.923 +                for (var i = 0, ii = path[length]; i < ii; i++) {
  15.924 +                    if (lowerCase.call(path[i][0]) != "a") {
  15.925 +                        for (var j = 1, jj = path[i][length]; j < jj; j++) {
  15.926 +                            path[i][j] = round(path[i][j]);
  15.927 +                        }
  15.928 +                    } else {
  15.929 +                        path[i][6] = round(path[i][6]);
  15.930 +                        path[i][7] = round(path[i][7]);
  15.931 +                    }
  15.932 +                }
  15.933 +                return path;
  15.934 +            },
  15.935 +            $ = function (el, attr) {
  15.936 +                if (attr) {
  15.937 +                    for (var key in attr) if (attr[has](key)) {
  15.938 +                        el[setAttribute](key, attr[key]);
  15.939 +                    }
  15.940 +                } else {
  15.941 +                    return doc.createElementNS(Paper[proto].svgns, el);
  15.942 +                }
  15.943 +            };
  15.944 +        R[toString] = function () {
  15.945 +            return  "Your browser supports SVG.\nYou are running Rapha\xebl " + this.version;
  15.946 +        };
  15.947 +        var thePath = function (pathString, SVG) {
  15.948 +            var el = $("path");
  15.949 +            SVG.canvas && SVG.canvas[appendChild](el);
  15.950 +            var p = new Element(el, SVG);
  15.951 +            p.type = "path";
  15.952 +            setFillAndStroke(p, {fill: "none", stroke: "#000", path: pathString});
  15.953 +            return p;
  15.954 +        };
  15.955 +        var addGradientFill = function (o, gradient, SVG) {
  15.956 +            var type = "linear",
  15.957 +                fx = .5, fy = .5,
  15.958 +                s = o.style;
  15.959 +            gradient = (gradient + E)[rp](radial_gradient, function (all, _fx, _fy) {
  15.960 +                type = "radial";
  15.961 +                if (_fx && _fy) {
  15.962 +                    fx = toFloat(_fx);
  15.963 +                    fy = toFloat(_fy);
  15.964 +                    var dir = ((fy > .5) * 2 - 1);
  15.965 +                    pow(fx - .5, 2) + pow(fy - .5, 2) > .25 &&
  15.966 +                        (fy = math.sqrt(.25 - pow(fx - .5, 2)) * dir + .5) &&
  15.967 +                        fy != .5 &&
  15.968 +                        (fy = fy.toFixed(5) - 1e-5 * dir);
  15.969 +                }
  15.970 +                return E;
  15.971 +            });
  15.972 +            gradient = gradient[split](/\s*\-\s*/);
  15.973 +            if (type == "linear") {
  15.974 +                var angle = gradient.shift();
  15.975 +                angle = -toFloat(angle);
  15.976 +                if (isNaN(angle)) {
  15.977 +                    return null;
  15.978 +                }
  15.979 +                var vector = [0, 0, math.cos(angle * math.PI / 180), math.sin(angle * math.PI / 180)],
  15.980 +                    max = 1 / (mmax(math.abs(vector[2]), math.abs(vector[3])) || 1);
  15.981 +                vector[2] *= max;
  15.982 +                vector[3] *= max;
  15.983 +                if (vector[2] < 0) {
  15.984 +                    vector[0] = -vector[2];
  15.985 +                    vector[2] = 0;
  15.986 +                }
  15.987 +                if (vector[3] < 0) {
  15.988 +                    vector[1] = -vector[3];
  15.989 +                    vector[3] = 0;
  15.990 +                }
  15.991 +            }
  15.992 +            var dots = parseDots(gradient);
  15.993 +            if (!dots) {
  15.994 +                return null;
  15.995 +            }
  15.996 +            var el = $(type + "Gradient");
  15.997 +            el.id = "r" + (R._id++)[toString](36);
  15.998 +            $(el, type == "radial" ? {fx: fx, fy: fy} : {x1: vector[0], y1: vector[1], x2: vector[2], y2: vector[3]});
  15.999 +            SVG.defs[appendChild](el);
 15.1000 +            for (var i = 0, ii = dots[length]; i < ii; i++) {
 15.1001 +                var stop = $("stop");
 15.1002 +                $(stop, {
 15.1003 +                    offset: dots[i].offset ? dots[i].offset : !i ? "0%" : "100%",
 15.1004 +                    "stop-color": dots[i].color || "#fff"
 15.1005 +                });
 15.1006 +                el[appendChild](stop);
 15.1007 +            };
 15.1008 +            $(o, {
 15.1009 +                fill: "url(#" + el.id + ")",
 15.1010 +                opacity: 1,
 15.1011 +                "fill-opacity": 1
 15.1012 +            });
 15.1013 +            s.fill = E;
 15.1014 +            s.opacity = 1;
 15.1015 +            s.fillOpacity = 1;
 15.1016 +            return 1;
 15.1017 +        };
 15.1018 +        var updatePosition = function (o) {
 15.1019 +            var bbox = o.getBBox();
 15.1020 +            $(o.pattern, {patternTransform: R.format("translate({0},{1})", bbox.x, bbox.y)});
 15.1021 +        };
 15.1022 +        var setFillAndStroke = function (o, params) {
 15.1023 +            var dasharray = {
 15.1024 +                    "": [0],
 15.1025 +                    "none": [0],
 15.1026 +                    "-": [3, 1],
 15.1027 +                    ".": [1, 1],
 15.1028 +                    "-.": [3, 1, 1, 1],
 15.1029 +                    "-..": [3, 1, 1, 1, 1, 1],
 15.1030 +                    ". ": [1, 3],
 15.1031 +                    "- ": [4, 3],
 15.1032 +                    "--": [8, 3],
 15.1033 +                    "- .": [4, 3, 1, 3],
 15.1034 +                    "--.": [8, 3, 1, 3],
 15.1035 +                    "--..": [8, 3, 1, 3, 1, 3]
 15.1036 +                },
 15.1037 +                node = o.node,
 15.1038 +                attrs = o.attrs,
 15.1039 +                rot = o.rotate(),
 15.1040 +                addDashes = function (o, value) {
 15.1041 +                    value = dasharray[lowerCase.call(value)];
 15.1042 +                    if (value) {
 15.1043 +                        var width = o.attrs["stroke-width"] || "1",
 15.1044 +                            butt = {round: width, square: width, butt: 0}[o.attrs["stroke-linecap"] || params["stroke-linecap"]] || 0,
 15.1045 +                            dashes = [];
 15.1046 +                        var i = value[length];
 15.1047 +                        while (i--) {
 15.1048 +                            dashes[i] = value[i] * width + ((i % 2) ? 1 : -1) * butt;
 15.1049 +                        }
 15.1050 +                        $(node, {"stroke-dasharray": dashes[join](",")});
 15.1051 +                    }
 15.1052 +                };
 15.1053 +            params[has]("rotation") && (rot = params.rotation);
 15.1054 +            var rotxy = (rot + E)[split](separator);
 15.1055 +            if (!(rotxy.length - 1)) {
 15.1056 +                rotxy = null;
 15.1057 +            } else {
 15.1058 +                rotxy[1] = +rotxy[1];
 15.1059 +                rotxy[2] = +rotxy[2];
 15.1060 +            }
 15.1061 +            toFloat(rot) && o.rotate(0, true);
 15.1062 +            for (var att in params) if (params[has](att)) {
 15.1063 +                if (!availableAttrs[has](att)) {
 15.1064 +                    continue;
 15.1065 +                }
 15.1066 +                var value = params[att];
 15.1067 +                attrs[att] = value;
 15.1068 +                switch (att) {
 15.1069 +                    case "rotation":
 15.1070 +                        o.rotate(value, true);
 15.1071 +                        break;
 15.1072 +                    // Hyperlink
 15.1073 +                    case "href":
 15.1074 +                    case "title":
 15.1075 +                    case "target":
 15.1076 +                        var pn = node.parentNode;
 15.1077 +                        if (lowerCase.call(pn.tagName) != "a") {
 15.1078 +                            var hl = $("a");
 15.1079 +                            pn.insertBefore(hl, node);
 15.1080 +                            hl[appendChild](node);
 15.1081 +                            pn = hl;
 15.1082 +                        }
 15.1083 +                        pn.setAttributeNS(o.Paper[proto].xlink, att, value);
 15.1084 +                        break;
 15.1085 +                    case "cursor":
 15.1086 +                        node.style.cursor = value;
 15.1087 +                        break;
 15.1088 +                    case "clip-rect":
 15.1089 +                        var rect = (value + E)[split](separator);
 15.1090 +                        if (rect[length] == 4) {
 15.1091 +                            o.clip && o.clip.parentNode.parentNode.removeChild(o.clip.parentNode);
 15.1092 +                            var el = $("clipPath"),
 15.1093 +                                rc = $("rect");
 15.1094 +                            el.id = "r" + (R._id++)[toString](36);
 15.1095 +                            $(rc, {
 15.1096 +                                x: rect[0],
 15.1097 +                                y: rect[1],
 15.1098 +                                width: rect[2],
 15.1099 +                                height: rect[3]
 15.1100 +                            });
 15.1101 +                            el[appendChild](rc);
 15.1102 +                            o.paper.defs[appendChild](el);
 15.1103 +                            $(node, {"clip-path": "url(#" + el.id + ")"});
 15.1104 +                            o.clip = rc;
 15.1105 +                        }
 15.1106 +                        if (!value) {
 15.1107 +                            var clip = doc.getElementById(node.getAttribute("clip-path")[rp](/(^url\(#|\)$)/g, E));
 15.1108 +                            clip && clip.parentNode.removeChild(clip);
 15.1109 +                            $(node, {"clip-path": E});
 15.1110 +                            delete o.clip;
 15.1111 +                        }
 15.1112 +                    break;
 15.1113 +                    case "path":
 15.1114 +                        if (value && o.type == "path") {
 15.1115 +                            attrs.path = roundPath(pathToAbsolute(value));
 15.1116 +                            $(node, {d: attrs.path});
 15.1117 +                        }
 15.1118 +                        break;
 15.1119 +                    case "width":
 15.1120 +                        node[setAttribute](att, value);
 15.1121 +                        if (attrs.fx) {
 15.1122 +                            att = "x";
 15.1123 +                            value = attrs.x;
 15.1124 +                        } else {
 15.1125 +                            break;
 15.1126 +                        }
 15.1127 +                    case "x":
 15.1128 +                        if (attrs.fx) {
 15.1129 +                            value = -attrs.x - (attrs.width || 0);
 15.1130 +                        }
 15.1131 +                    case "rx":
 15.1132 +                        if (att == "rx" && o.type == "rect") {
 15.1133 +                            break;
 15.1134 +                        }
 15.1135 +                    case "cx":
 15.1136 +                        rotxy && (att == "x" || att == "cx") && (rotxy[1] += value - attrs[att]);
 15.1137 +                        node[setAttribute](att, round(value));
 15.1138 +                        o.pattern && updatePosition(o);
 15.1139 +                        break;
 15.1140 +                    case "height":
 15.1141 +                        node[setAttribute](att, value);
 15.1142 +                        if (attrs.fy) {
 15.1143 +                            att = "y";
 15.1144 +                            value = attrs.y;
 15.1145 +                        } else {
 15.1146 +                            break;
 15.1147 +                        }
 15.1148 +                    case "y":
 15.1149 +                        if (attrs.fy) {
 15.1150 +                            value = -attrs.y - (attrs.height || 0);
 15.1151 +                        }
 15.1152 +                    case "ry":
 15.1153 +                        if (att == "ry" && o.type == "rect") {
 15.1154 +                            break;
 15.1155 +                        }
 15.1156 +                    case "cy":
 15.1157 +                        rotxy && (att == "y" || att == "cy") && (rotxy[2] += value - attrs[att]);
 15.1158 +                        node[setAttribute](att, round(value));
 15.1159 +                        o.pattern && updatePosition(o);
 15.1160 +                        break;
 15.1161 +                    case "r":
 15.1162 +                        if (o.type == "rect") {
 15.1163 +                            $(node, {rx: value, ry: value});
 15.1164 +                        } else {
 15.1165 +                            node[setAttribute](att, value);
 15.1166 +                        }
 15.1167 +                        break;
 15.1168 +                    case "src":
 15.1169 +                        if (o.type == "image") {
 15.1170 +                            node.setAttributeNS(o.paper.xlink, "href", value);
 15.1171 +                        }
 15.1172 +                        break;
 15.1173 +                    case "stroke-width":
 15.1174 +                        node.style.strokeWidth = value;
 15.1175 +                        // Need following line for Firefox
 15.1176 +                        node[setAttribute](att, value);
 15.1177 +                        if (attrs["stroke-dasharray"]) {
 15.1178 +                            addDashes(o, attrs["stroke-dasharray"]);
 15.1179 +                        }
 15.1180 +                        break;
 15.1181 +                    case "stroke-dasharray":
 15.1182 +                        addDashes(o, value);
 15.1183 +                        break;
 15.1184 +                    case "translation":
 15.1185 +                        var xy = (value + E)[split](separator);
 15.1186 +                        xy[0] = +xy[0] || 0;
 15.1187 +                        xy[1] = +xy[1] || 0;
 15.1188 +                        if (rotxy) {
 15.1189 +                            rotxy[1] += xy[0];
 15.1190 +                            rotxy[2] += xy[1];
 15.1191 +                        }
 15.1192 +                        translate.call(o, xy[0], xy[1]);
 15.1193 +                        break;
 15.1194 +                    case "scale":
 15.1195 +                        var xy = (value + E)[split](separator);
 15.1196 +                        o.scale(+xy[0] || 1, +xy[1] || +xy[0] || 1, +xy[2] || null, +xy[3] || null);
 15.1197 +                        break;
 15.1198 +                    case "fill":
 15.1199 +                        var isURL = (value + E).match(ISURL);
 15.1200 +                        if (isURL) {
 15.1201 +                            var el = $("pattern"),
 15.1202 +                                ig = $("image");
 15.1203 +                            el.id = "r" + (R._id++)[toString](36);
 15.1204 +                            $(el, {x: 0, y: 0, patternUnits: "userSpaceOnUse", height: 1, width: 1});
 15.1205 +                            $(ig, {x: 0, y: 0});
 15.1206 +                            ig.setAttributeNS(o.paper.xlink, "href", isURL[1]);
 15.1207 +                            el[appendChild](ig);
 15.1208 + 
 15.1209 +                            var img = doc.createElement("img");
 15.1210 +                            img.style.cssText = "position:absolute;left:-9999em;top-9999em";
 15.1211 +                            img.onload = function () {
 15.1212 +                                $(el, {width: this.offsetWidth, height: this.offsetHeight});
 15.1213 +                                $(ig, {width: this.offsetWidth, height: this.offsetHeight});
 15.1214 +                                doc.body.removeChild(this);
 15.1215 +                                o.paper.safari();
 15.1216 +                            };
 15.1217 +                            doc.body[appendChild](img);
 15.1218 +                            img.src = isURL[1];
 15.1219 +                            o.paper.defs[appendChild](el);
 15.1220 +                            node.style.fill = "url(#" + el.id + ")";
 15.1221 +                            $(node, {fill: "url(#" + el.id + ")"});
 15.1222 +                            o.pattern = el;
 15.1223 +                            o.pattern && updatePosition(o);
 15.1224 +                            break;
 15.1225 +                        }
 15.1226 +                        if (!R.getRGB(value).error) {
 15.1227 +                            delete params.gradient;
 15.1228 +                            delete attrs.gradient;
 15.1229 +                            !R.is(attrs.opacity, "undefined") &&
 15.1230 +                                R.is(params.opacity, "undefined") &&
 15.1231 +                                $(node, {opacity: attrs.opacity});
 15.1232 +                            !R.is(attrs["fill-opacity"], "undefined") &&
 15.1233 +                                R.is(params["fill-opacity"], "undefined") &&
 15.1234 +                                $(node, {"fill-opacity": attrs["fill-opacity"]});
 15.1235 +                        } else if ((({circle: 1, ellipse: 1})[has](o.type) || (value + E).charAt() != "r") && addGradientFill(node, value, o.paper)) {
 15.1236 +                            attrs.gradient = value;
 15.1237 +                            attrs.fill = "none";
 15.1238 +                            break;
 15.1239 +                        }
 15.1240 +                    case "stroke":
 15.1241 +                        node[setAttribute](att, R.getRGB(value).hex);
 15.1242 +                        break;
 15.1243 +                    case "gradient":
 15.1244 +                        (({circle: 1, ellipse: 1})[has](o.type) || (value + E).charAt() != "r") && addGradientFill(node, value, o.paper);
 15.1245 +                        break;
 15.1246 +                    case "opacity":
 15.1247 +                    case "fill-opacity":
 15.1248 +                        if (attrs.gradient) {
 15.1249 +                            var gradient = doc.getElementById(node.getAttribute("fill")[rp](/^url\(#|\)$/g, E));
 15.1250 +                            if (gradient) {
 15.1251 +                                var stops = gradient.getElementsByTagName("stop");
 15.1252 +                                stops[stops[length] - 1][setAttribute]("stop-opacity", value);
 15.1253 +                            }
 15.1254 +                            break;
 15.1255 +                        }
 15.1256 +                    default:
 15.1257 +                        att == "font-size" && (value = toInt(value, 10) + "px");
 15.1258 +                        var cssrule = att[rp](/(\-.)/g, function (w) {
 15.1259 +                            return upperCase.call(w.substring(1));
 15.1260 +                        });
 15.1261 +                        node.style[cssrule] = value;
 15.1262 +                        // Need following line for Firefox
 15.1263 +                        node[setAttribute](att, value);
 15.1264 +                        break;
 15.1265 +                }
 15.1266 +            }
 15.1267 +            
 15.1268 +            tuneText(o, params);
 15.1269 +            if (rotxy) {
 15.1270 +                o.rotate(rotxy.join(S));
 15.1271 +            } else {
 15.1272 +                toFloat(rot) && o.rotate(rot, true);
 15.1273 +            }
 15.1274 +        };
 15.1275 +        var leading = 1.2;
 15.1276 +        var tuneText = function (el, params) {
 15.1277 +            if (el.type != "text" || !(params[has]("text") || params[has]("font") || params[has]("font-size") || params[has]("x") || params[has]("y"))) {
 15.1278 +                return;
 15.1279 +            }
 15.1280 +            var a = el.attrs,
 15.1281 +                node = el.node,
 15.1282 +                fontSize = node.firstChild ? toInt(doc.defaultView.getComputedStyle(node.firstChild, E).getPropertyValue("font-size"), 10) : 10;
 15.1283 + 
 15.1284 +            if (params[has]("text")) {
 15.1285 +                a.text = params.text;
 15.1286 +                while (node.firstChild) {
 15.1287 +                    node.removeChild(node.firstChild);
 15.1288 +                }
 15.1289 +                var texts = (params.text + E)[split]("\n");
 15.1290 +                for (var i = 0, ii = texts[length]; i < ii; i++) if (texts[i]) {
 15.1291 +                    var tspan = $("tspan");
 15.1292 +                    i && $(tspan, {dy: fontSize * leading, x: a.x});
 15.1293 +                    tspan[appendChild](doc.createTextNode(texts[i]));
 15.1294 +                    node[appendChild](tspan);
 15.1295 +                }
 15.1296 +            } else {
 15.1297 +                var texts = node.getElementsByTagName("tspan");
 15.1298 +                for (var i = 0, ii = texts[length]; i < ii; i++) {
 15.1299 +                    i && $(texts[i], {dy: fontSize * leading, x: a.x});
 15.1300 +                }
 15.1301 +            }
 15.1302 +            $(node, {y: a.y});
 15.1303 +            var bb = el.getBBox(),
 15.1304 +                dif = a.y - (bb.y + bb.height / 2);
 15.1305 +            dif && isFinite(dif) && $(node, {y: a.y + dif});
 15.1306 +        };
 15.1307 +        var Element = function (node, svg) {
 15.1308 +            var X = 0,
 15.1309 +                Y = 0;
 15.1310 +            this[0] = node;
 15.1311 +            this.id = R._oid++;
 15.1312 +            this.node = node;
 15.1313 +            node.raphael = this;
 15.1314 +            this.paper = svg;
 15.1315 +            this.attrs = this.attrs || {};
 15.1316 +            this.transformations = []; // rotate, translate, scale
 15.1317 +            this._ = {
 15.1318 +                tx: 0,
 15.1319 +                ty: 0,
 15.1320 +                rt: {deg: 0, cx: 0, cy: 0},
 15.1321 +                sx: 1,
 15.1322 +                sy: 1
 15.1323 +            };
 15.1324 +            !svg.bottom && (svg.bottom = this);
 15.1325 +            this.prev = svg.top;
 15.1326 +            svg.top && (svg.top.next = this);
 15.1327 +            svg.top = this;
 15.1328 +            this.next = null;
 15.1329 +        };
 15.1330 +        Element[proto].rotate = function (deg, cx, cy) {
 15.1331 +            if (this.removed) {
 15.1332 +                return this;
 15.1333 +            }
 15.1334 +            if (deg == null) {
 15.1335 +                if (this._.rt.cx) {
 15.1336 +                    return [this._.rt.deg, this._.rt.cx, this._.rt.cy][join](S);
 15.1337 +                }
 15.1338 +                return this._.rt.deg;
 15.1339 +            }
 15.1340 +            var bbox = this.getBBox();
 15.1341 +            deg = (deg + E)[split](separator);
 15.1342 +            if (deg[length] - 1) {
 15.1343 +                cx = toFloat(deg[1]);
 15.1344 +                cy = toFloat(deg[2]);
 15.1345 +            }
 15.1346 +            deg = toFloat(deg[0]);
 15.1347 +            if (cx != null) {
 15.1348 +                this._.rt.deg = deg;
 15.1349 +            } else {
 15.1350 +                this._.rt.deg += deg;
 15.1351 +            }
 15.1352 +            (cy == null) && (cx = null);
 15.1353 +            this._.rt.cx = cx;
 15.1354 +            this._.rt.cy = cy;
 15.1355 +            cx = cx == null ? bbox.x + bbox.width / 2 : cx;
 15.1356 +            cy = cy == null ? bbox.y + bbox.height / 2 : cy;
 15.1357 +            if (this._.rt.deg) {
 15.1358 +                this.transformations[0] = R.format("rotate({0} {1} {2})", this._.rt.deg, cx, cy);
 15.1359 +                this.clip && $(this.clip, {transform: R.format("rotate({0} {1} {2})", -this._.rt.deg, cx, cy)});
 15.1360 +            } else {
 15.1361 +                this.transformations[0] = E;
 15.1362 +                this.clip && $(this.clip, {transform: E});
 15.1363 +            }
 15.1364 +            $(this.node, {transform: this.transformations[join](S)});
 15.1365 +            return this;
 15.1366 +        };
 15.1367 +        Element[proto].hide = function () {
 15.1368 +            !this.removed && (this.node.style.display = "none");
 15.1369 +            return this;
 15.1370 +        };
 15.1371 +        Element[proto].show = function () {
 15.1372 +            !this.removed && (this.node.style.display = "");
 15.1373 +            return this;
 15.1374 +        };
 15.1375 +        Element[proto].remove = function () {
 15.1376 +            if (this.removed) {
 15.1377 +                return;
 15.1378 +            }
 15.1379 +            tear(this, this.paper);
 15.1380 +            this.node.parentNode.removeChild(this.node);
 15.1381 +            for (var i in this) {
 15.1382 +                delete this[i];
 15.1383 +            }
 15.1384 +            this.removed = true;
 15.1385 +        };
 15.1386 +        Element[proto].getBBox = function () {
 15.1387 +            if (this.removed) {
 15.1388 +                return this;
 15.1389 +            }
 15.1390 +            if (this.type == "path") {
 15.1391 +                return pathDimensions(this.attrs.path);
 15.1392 +            }
 15.1393 +            if (this.node.style.display == "none") {
 15.1394 +                this.show();
 15.1395 +                var hide = true;
 15.1396 +            }
 15.1397 +            var bbox = {};
 15.1398 +            try {
 15.1399 +                bbox = this.node.getBBox();
 15.1400 +            } catch(e) {
 15.1401 +                // Firefox 3.0.x plays badly here
 15.1402 +            } finally {
 15.1403 +                bbox = bbox || {};
 15.1404 +            }
 15.1405 +            if (this.type == "text") {
 15.1406 +                bbox = {x: bbox.x, y: Infinity, width: 0, height: 0};
 15.1407 +                for (var i = 0, ii = this.node.getNumberOfChars(); i < ii; i++) {
 15.1408 +                    var bb = this.node.getExtentOfChar(i);
 15.1409 +                    (bb.y < bbox.y) && (bbox.y = bb.y);
 15.1410 +                    (bb.y + bb.height - bbox.y > bbox.height) && (bbox.height = bb.y + bb.height - bbox.y);
 15.1411 +                    (bb.x + bb.width - bbox.x > bbox.width) && (bbox.width = bb.x + bb.width - bbox.x);
 15.1412 +                }
 15.1413 +            }
 15.1414 +            hide && this.hide();
 15.1415 +            return bbox;
 15.1416 +        };
 15.1417 +        Element[proto].attr = function () {
 15.1418 +            if (this.removed) {
 15.1419 +                return this;
 15.1420 +            }
 15.1421 +            if (arguments[length] == 0) {
 15.1422 +                var res = {};
 15.1423 +                for (var i in this.attrs) if (this.attrs[has](i)) {
 15.1424 +                    res[i] = this.attrs[i];
 15.1425 +                }
 15.1426 +                this._.rt.deg && (res.rotation = this.rotate());
 15.1427 +                (this._.sx != 1 || this._.sy != 1) && (res.scale = this.scale());
 15.1428 +                res.gradient && res.fill == "none" && (res.fill = res.gradient) && delete res.gradient;
 15.1429 +                return res;
 15.1430 +            }
 15.1431 +            if (arguments[length] == 1 && R.is(arguments[0], "string")) {
 15.1432 +                if (arguments[0] == "translation") {
 15.1433 +                    return translate.call(this);
 15.1434 +                }
 15.1435 +                if (arguments[0] == "rotation") {
 15.1436 +                    return this.rotate();
 15.1437 +                }
 15.1438 +                if (arguments[0] == "scale") {
 15.1439 +                    return this.scale();
 15.1440 +                }
 15.1441 +                if (arguments[0] == "fill" && this.attrs.fill == "none" && this.attrs.gradient) {
 15.1442 +                    return this.attrs.gradient;
 15.1443 +                }
 15.1444 +                return this.attrs[arguments[0]];
 15.1445 +            }
 15.1446 +            if (arguments[length] == 1 && R.is(arguments[0], "array")) {
 15.1447 +                var values = {};
 15.1448 +                for (var j in arguments[0]) if (arguments[0][has](j)) {
 15.1449 +                    values[arguments[0][j]] = this.attrs[arguments[0][j]];
 15.1450 +                }
 15.1451 +                return values;
 15.1452 +            }
 15.1453 +            if (arguments[length] == 2) {
 15.1454 +                var params = {};
 15.1455 +                params[arguments[0]] = arguments[1];
 15.1456 +                setFillAndStroke(this, params);
 15.1457 +            } else if (arguments[length] == 1 && R.is(arguments[0], "object")) {
 15.1458 +                setFillAndStroke(this, arguments[0]);
 15.1459 +            }
 15.1460 +            return this;
 15.1461 +        };
 15.1462 +        Element[proto].toFront = function () {
 15.1463 +            if (this.removed) {
 15.1464 +                return this;
 15.1465 +            }
 15.1466 +            this.node.parentNode[appendChild](this.node);
 15.1467 +            var svg = this.paper;
 15.1468 +            svg.top != this && tofront(this, svg);
 15.1469 +            return this;
 15.1470 +        };
 15.1471 +        Element[proto].toBack = function () {
 15.1472 +            if (this.removed) {
 15.1473 +                return this;
 15.1474 +            }
 15.1475 +            if (this.node.parentNode.firstChild != this.node) {
 15.1476 +                this.node.parentNode.insertBefore(this.node, this.node.parentNode.firstChild);
 15.1477 +                toback(this, this.paper);
 15.1478 +                var svg = this.paper;
 15.1479 +            }
 15.1480 +            return this;
 15.1481 +        };
 15.1482 +        Element[proto].insertAfter = function (element) {
 15.1483 +            if (this.removed) {
 15.1484 +                return this;
 15.1485 +            }
 15.1486 +            var node = element.node;
 15.1487 +            if (node.nextSibling) {
 15.1488 +                node.parentNode.insertBefore(this.node, node.nextSibling);
 15.1489 +            } else {
 15.1490 +                node.parentNode[appendChild](this.node);
 15.1491 +            }
 15.1492 +            insertafter(this, element, this.paper);
 15.1493 +            return this;
 15.1494 +        };
 15.1495 +        Element[proto].insertBefore = function (element) {
 15.1496 +            if (this.removed) {
 15.1497 +                return this;
 15.1498 +            }
 15.1499 +            var node = element.node;
 15.1500 +            node.parentNode.insertBefore(this.node, node);
 15.1501 +            insertbefore(this, element, this.paper);
 15.1502 +            return this;
 15.1503 +        };
 15.1504 +        var theCircle = function (svg, x, y, r) {
 15.1505 +            x = round(x);
 15.1506 +            y = round(y);
 15.1507 +            var el = $("circle");
 15.1508 +            svg.canvas && svg.canvas[appendChild](el);
 15.1509 +            var res = new Element(el, svg);
 15.1510 +            res.attrs = {cx: x, cy: y, r: r, fill: "none", stroke: "#000"};
 15.1511 +            res.type = "circle";
 15.1512 +            $(el, res.attrs);
 15.1513 +            return res;
 15.1514 +        };
 15.1515 +        var theRect = function (svg, x, y, w, h, r) {
 15.1516 +            x = round(x);
 15.1517 +            y = round(y);
 15.1518 +            var el = $("rect");
 15.1519 +            svg.canvas && svg.canvas[appendChild](el);
 15.1520 +            var res = new Element(el, svg);
 15.1521 +            res.attrs = {x: x, y: y, width: w, height: h, r: r || 0, rx: r || 0, ry: r || 0, fill: "none", stroke: "#000"};
 15.1522 +            res.type = "rect";
 15.1523 +            $(el, res.attrs);
 15.1524 +            return res;
 15.1525 +        };
 15.1526 +        var theEllipse = function (svg, x, y, rx, ry) {
 15.1527 +            x = round(x);
 15.1528 +            y = round(y);
 15.1529 +            var el = $("ellipse");
 15.1530 +            svg.canvas && svg.canvas[appendChild](el);
 15.1531 +            var res = new Element(el, svg);
 15.1532 +            res.attrs = {cx: x, cy: y, rx: rx, ry: ry, fill: "none", stroke: "#000"};
 15.1533 +            res.type = "ellipse";
 15.1534 +            $(el, res.attrs);
 15.1535 +            return res;
 15.1536 +        };
 15.1537 +        var theImage = function (svg, src, x, y, w, h) {
 15.1538 +            var el = $("image");
 15.1539 +            $(el, {x: x, y: y, width: w, height: h, preserveAspectRatio: "none"});
 15.1540 +            el.setAttributeNS(svg.xlink, "href", src);
 15.1541 +            svg.canvas && svg.canvas[appendChild](el);
 15.1542 +            var res = new Element(el, svg);
 15.1543 +            res.attrs = {x: x, y: y, width: w, height: h, src: src};
 15.1544 +            res.type = "image";
 15.1545 +            return res;
 15.1546 +        };
 15.1547 +        var theText = function (svg, x, y, text) {
 15.1548 +            var el = $("text");
 15.1549 +            $(el, {x: x, y: y, "text-anchor": "middle"});
 15.1550 +            svg.canvas && svg.canvas[appendChild](el);
 15.1551 +            var res = new Element(el, svg);
 15.1552 +            res.attrs = {x: x, y: y, "text-anchor": "middle", text: text, font: availableAttrs.font, stroke: "none", fill: "#000"};
 15.1553 +            res.type = "text";
 15.1554 +            setFillAndStroke(res, res.attrs);
 15.1555 +            return res;
 15.1556 +        };
 15.1557 +        var setSize = function (width, height) {
 15.1558 +            this.width = width || this.width;
 15.1559 +            this.height = height || this.height;
 15.1560 +            this.canvas[setAttribute]("width", this.width);
 15.1561 +            this.canvas[setAttribute]("height", this.height);
 15.1562 +            return this;
 15.1563 +        };
 15.1564 +        var create = function () {
 15.1565 +            var con = getContainer[apply](null, arguments),
 15.1566 +                container = con && con.container,
 15.1567 +                x = con.x,
 15.1568 +                y = con.y,
 15.1569 +                width = con.width,
 15.1570 +                height = con.height;
 15.1571 +            if (!container) {
 15.1572 +                throw new Error("SVG container not found.");
 15.1573 +            }
 15.1574 +            var cnvs = $("svg");
 15.1575 +            width = width || 512;
 15.1576 +            height = height || 342;
 15.1577 +            $(cnvs, {
 15.1578 +                xmlns: "http://www.w3.org/2000/svg",
 15.1579 +                version: 1.1,
 15.1580 +                width: width,
 15.1581 +                height: height
 15.1582 +            });
 15.1583 +            if (container == 1) {
 15.1584 +                cnvs.style.cssText = "position:absolute;left:" + x + "px;top:" + y + "px";
 15.1585 +                doc.body[appendChild](cnvs);
 15.1586 +            } else {
 15.1587 +                if (container.firstChild) {
 15.1588 +                    container.insertBefore(cnvs, container.firstChild);
 15.1589 +                } else {
 15.1590 +                    container[appendChild](cnvs);
 15.1591 +                }
 15.1592 +            }
 15.1593 +            container = new Paper;
 15.1594 +            container.width = width;
 15.1595 +            container.height = height;
 15.1596 +            container.canvas = cnvs;
 15.1597 +            plugins.call(container, container, R.fn);
 15.1598 +            container.clear();
 15.1599 +            return container;
 15.1600 +        };
 15.1601 +        Paper[proto].clear = function () {
 15.1602 +            var c = this.canvas;
 15.1603 +            while (c.firstChild) {
 15.1604 +                c.removeChild(c.firstChild);
 15.1605 +            }
 15.1606 +            this.bottom = this.top = null;
 15.1607 +            (this.desc = $("desc"))[appendChild](doc.createTextNode("Created with Rapha\xebl"));
 15.1608 +            c[appendChild](this.desc);
 15.1609 +            c[appendChild](this.defs = $("defs"));
 15.1610 +        };
 15.1611 +        Paper[proto].remove = function () {
 15.1612 +            this.canvas.parentNode && this.canvas.parentNode.removeChild(this.canvas);
 15.1613 +            for (var i in this) {
 15.1614 +                this[i] = removed(i);
 15.1615 +            }
 15.1616 +        };
 15.1617 +    }
 15.1618 + 
 15.1619 +    // VML
 15.1620 +    if (R.vml) {
 15.1621 +        var path2vml = function (path) {
 15.1622 +            var total =  /[ahqstv]/ig,
 15.1623 +                command = pathToAbsolute;
 15.1624 +            (path + E).match(total) && (command = path2curve);
 15.1625 +            total = /[clmz]/g;
 15.1626 +            if (command == pathToAbsolute && !(path + E).match(total)) {
 15.1627 +                var map = {M: "m", L: "l", C: "c", Z: "x", m: "t", l: "r", c: "v", z: "x"},
 15.1628 +                    bites = /([clmz]),?([^clmz]*)/gi,
 15.1629 +                    val = /-?[^,\s-]+/g;
 15.1630 +                var res = (path + E)[rp](bites, function (all, command, args) {
 15.1631 +                    var vals = [];
 15.1632 +                    args[rp](val, function (value) {
 15.1633 +                        vals[push](round(value));
 15.1634 +                    });
 15.1635 +                    return map[command] + vals;
 15.1636 +                });
 15.1637 +                return res;
 15.1638 +            }
 15.1639 +            var pa = command(path), p, res = [], r;
 15.1640 +            for (var i = 0, ii = pa[length]; i < ii; i++) {
 15.1641 +                p = pa[i];
 15.1642 +                r = lowerCase.call(pa[i][0]);
 15.1643 +                r == "z" && (r = "x");
 15.1644 +                for (var j = 1, jj = p[length]; j < jj; j++) {
 15.1645 +                    r += round(p[j]) + (j != jj - 1 ? "," : E);
 15.1646 +                }
 15.1647 +                res[push](r);
 15.1648 +            }
 15.1649 +            return res[join](S);
 15.1650 +        };
 15.1651 +        
 15.1652 +        R[toString] = function () {
 15.1653 +            return  "Your browser doesn\u2019t support SVG. Falling down to VML.\nYou are running Rapha\xebl " + this.version;
 15.1654 +        };
 15.1655 +        var thePath = function (pathString, VML) {
 15.1656 +            var g = createNode("group");
 15.1657 +            g.style.cssText = "position:absolute;left:0;top:0;width:" + VML.width + "px;height:" + VML.height + "px";
 15.1658 +            g.coordsize = VML.coordsize;
 15.1659 +            g.coordorigin = VML.coordorigin;
 15.1660 +            var el = createNode("shape"), ol = el.style;
 15.1661 +            ol.width = VML.width + "px";
 15.1662 +            ol.height = VML.height + "px";
 15.1663 +            el.coordsize = this.coordsize;
 15.1664 +            el.coordorigin = this.coordorigin;
 15.1665 +            g[appendChild](el);
 15.1666 +            var p = new Element(el, g, VML);
 15.1667 +            p.isAbsolute = true;
 15.1668 +            p.type = "path";
 15.1669 +            p.path = [];
 15.1670 +            p.Path = E;
 15.1671 +            pathString && setFillAndStroke(p, {fill: "none", stroke: "#000", path: pathString});
 15.1672 +            VML.canvas[appendChild](g);
 15.1673 +            return p;
 15.1674 +        };
 15.1675 +        var setFillAndStroke = function (o, params) {
 15.1676 +            o.attrs = o.attrs || {};
 15.1677 +            var node = o.node,
 15.1678 +                a = o.attrs,
 15.1679 +                s = node.style,
 15.1680 +                xy,
 15.1681 +                res = o;
 15.1682 +            for (var par in params) if (params[has](par)) {
 15.1683 +                a[par] = params[par];
 15.1684 +            }
 15.1685 +            params.href && (node.href = params.href);
 15.1686 +            params.title && (node.title = params.title);
 15.1687 +            params.target && (node.target = params.target);
 15.1688 +            params.cursor && (s.cursor = params.cursor);
 15.1689 +            if (params.path && o.type == "path") {
 15.1690 +                a.path = params.path;
 15.1691 +                node.path = path2vml(a.path);
 15.1692 +            }
 15.1693 +            if (params.rotation != null) {
 15.1694 +                o.rotate(params.rotation, true);
 15.1695 +            }
 15.1696 +            if (params.translation) {
 15.1697 +                xy = (params.translation + E)[split](separator);
 15.1698 +                translate.call(o, xy[0], xy[1]);
 15.1699 +                if (o._.rt.cx != null) {
 15.1700 +                    o._.rt.cx +=+ xy[0];
 15.1701 +                    o._.rt.cy +=+ xy[1];
 15.1702 +                    o.setBox(o.attrs, xy[0], xy[1]);
 15.1703 +                }
 15.1704 +            }
 15.1705 +            if (params.scale) {
 15.1706 +                xy = (params.scale + E)[split](separator);
 15.1707 +                o.scale(+xy[0] || 1, +xy[1] || +xy[0] || 1, +xy[2] || null, +xy[3] || null);
 15.1708 +            }
 15.1709 +            if ("clip-rect" in params) {
 15.1710 +                var rect = (params["clip-rect"] + E)[split](separator);
 15.1711 +                if (rect[length] == 4) {
 15.1712 +                    rect[2] = +rect[2] + (+rect[0]);
 15.1713 +                    rect[3] = +rect[3] + (+rect[1]);
 15.1714 +                    var div = node.clipRect || doc.createElement("div"),
 15.1715 +                        dstyle = div.style,
 15.1716 +                        group = node.parentNode;
 15.1717 +                    dstyle.clip = R.format("rect({1}px {2}px {3}px {0}px)", rect);
 15.1718 +                    if (!node.clipRect) {
 15.1719 +                        dstyle.position = "absolute";
 15.1720 +                        dstyle.top = 0;
 15.1721 +                        dstyle.left = 0;
 15.1722 +                        dstyle.width = o.paper.width + "px";
 15.1723 +                        dstyle.height = o.paper.height + "px";
 15.1724 +                        group.parentNode.insertBefore(div, group);
 15.1725 +                        div[appendChild](group);
 15.1726 +                        node.clipRect = div;
 15.1727 +                    }
 15.1728 +                }
 15.1729 +                if (!params["clip-rect"]) {
 15.1730 +                    node.clipRect && (node.clipRect.style.clip = E);
 15.1731 +                }
 15.1732 +            }
 15.1733 +            if (o.type == "image" && params.src) {
 15.1734 +                node.src = params.src;
 15.1735 +            }
 15.1736 +            if (o.type == "image" && params.opacity) {
 15.1737 +                node.filterOpacity = " progid:DXImageTransform.Microsoft.Alpha(opacity=" + (params.opacity * 100) + ")";
 15.1738 +                s.filter = (node.filterMatrix || E) + (node.filterOpacity || E);
 15.1739 +            }
 15.1740 +            params.font && (s.font = params.font);
 15.1741 +            params["font-family"] && (s.fontFamily = '"' + params["font-family"][split](",")[0][rp](/^['"]+|['"]+$/g, E) + '"');
 15.1742 +            params["font-size"] && (s.fontSize = params["font-size"]);
 15.1743 +            params["font-weight"] && (s.fontWeight = params["font-weight"]);
 15.1744 +            params["font-style"] && (s.fontStyle = params["font-style"]);
 15.1745 +            if (params.opacity != null || 
 15.1746 +                params["stroke-width"] != null ||
 15.1747 +                params.fill != null ||
 15.1748 +                params.stroke != null ||
 15.1749 +                params["stroke-width"] != null ||
 15.1750 +                params["stroke-opacity"] != null ||
 15.1751 +                params["fill-opacity"] != null ||
 15.1752 +                params["stroke-dasharray"] != null ||
 15.1753 +                params["stroke-miterlimit"] != null ||
 15.1754 +                params["stroke-linejoin"] != null ||
 15.1755 +                params["stroke-linecap"] != null) {
 15.1756 +                node = o.shape || node;
 15.1757 +                var fill = (node.getElementsByTagName("fill") && node.getElementsByTagName("fill")[0]),
 15.1758 +                    newfill = false;
 15.1759 +                !fill && (newfill = fill = createNode("fill"));
 15.1760 +                if ("fill-opacity" in params || "opacity" in params) {
 15.1761 +                    var opacity = ((+a["fill-opacity"] + 1 || 2) - 1) * ((+a.opacity + 1 || 2) - 1);
 15.1762 +                    opacity < 0 && (opacity = 0);
 15.1763 +                    opacity > 1 && (opacity = 1);
 15.1764 +                    fill.opacity = opacity;
 15.1765 +                }
 15.1766 +                params.fill && (fill.on = true);
 15.1767 +                if (fill.on == null || params.fill == "none") {
 15.1768 +                    fill.on = false;
 15.1769 +                }
 15.1770 +                if (fill.on && params.fill) {
 15.1771 +                    var isURL = params.fill.match(ISURL);
 15.1772 +                    if (isURL) {
 15.1773 +                        fill.src = isURL[1];
 15.1774 +                        fill.type = "tile";
 15.1775 +                    } else {
 15.1776 +                        fill.color = R.getRGB(params.fill).hex;
 15.1777 +                        fill.src = E;
 15.1778 +                        fill.type = "solid";
 15.1779 +                        if (R.getRGB(params.fill).error && (res.type in {circle: 1, ellipse: 1} || (params.fill + E).charAt() != "r") && addGradientFill(res, params.fill)) {
 15.1780 +                            a.fill = "none";
 15.1781 +                            a.gradient = params.fill;
 15.1782 +                        }
 15.1783 +                    }
 15.1784 +                }
 15.1785 +                newfill && node[appendChild](fill);
 15.1786 +                var stroke = (node.getElementsByTagName("stroke") && node.getElementsByTagName("stroke")[0]),
 15.1787 +                newstroke = false;
 15.1788 +                !stroke && (newstroke = stroke = createNode("stroke"));
 15.1789 +                if ((params.stroke && params.stroke != "none") ||
 15.1790 +                    params["stroke-width"] ||
 15.1791 +                    params["stroke-opacity"] != null ||
 15.1792 +                    params["stroke-dasharray"] ||
 15.1793 +                    params["stroke-miterlimit"] ||
 15.1794 +                    params["stroke-linejoin"] ||
 15.1795 +                    params["stroke-linecap"]) {
 15.1796 +                    stroke.on = true;
 15.1797 +                }
 15.1798 +                (params.stroke == "none" || stroke.on == null || params.stroke == 0 || params["stroke-width"] == 0) && (stroke.on = false);
 15.1799 +                stroke.on && params.stroke && (stroke.color = R.getRGB(params.stroke).hex);
 15.1800 +                var opacity = ((+a["stroke-opacity"] + 1 || 2) - 1) * ((+a.opacity + 1 || 2) - 1),
 15.1801 +                    width = (toFloat(params["stroke-width"]) || 1) * .75;
 15.1802 +                opacity < 0 && (opacity = 0);
 15.1803 +                opacity > 1 && (opacity = 1);
 15.1804 +                params["stroke-width"] == null && (width = a["stroke-width"]);
 15.1805 +                params["stroke-width"] && (stroke.weight = width);
 15.1806 +                width && width < 1 && (opacity *= width) && (stroke.weight = 1);
 15.1807 +                stroke.opacity = opacity;
 15.1808 +                
 15.1809 +                params["stroke-linejoin"] && (stroke.joinstyle = params["stroke-linejoin"] || "miter");
 15.1810 +                stroke.miterlimit = params["stroke-miterlimit"] || 8;
 15.1811 +                params["stroke-linecap"] && (stroke.endcap = params["stroke-linecap"] == "butt" ? "flat" : params["stroke-linecap"] == "square" ? "square" : "round");
 15.1812 +                if (params["stroke-dasharray"]) {
 15.1813 +                    var dasharray = {
 15.1814 +                        "-": "shortdash",
 15.1815 +                        ".": "shortdot",
 15.1816 +                        "-.": "shortdashdot",
 15.1817 +                        "-..": "shortdashdotdot",
 15.1818 +                        ". ": "dot",
 15.1819 +                        "- ": "dash",
 15.1820 +                        "--": "longdash",
 15.1821 +                        "- .": "dashdot",
 15.1822 +                        "--.": "longdashdot",
 15.1823 +                        "--..": "longdashdotdot"
 15.1824 +                    };
 15.1825 +                    stroke.dashstyle = dasharray[has](params["stroke-dasharray"]) ? dasharray[params["stroke-dasharray"]] : E;
 15.1826 +                }
 15.1827 +                newstroke && node[appendChild](stroke);
 15.1828 +            }
 15.1829 +            if (res.type == "text") {
 15.1830 +                var s = res.paper.span.style;
 15.1831 +                a.font && (s.font = a.font);
 15.1832 +                a["font-family"] && (s.fontFamily = a["font-family"]);
 15.1833 +                a["font-size"] && (s.fontSize = a["font-size"]);
 15.1834 +                a["font-weight"] && (s.fontWeight = a["font-weight"]);
 15.1835 +                a["font-style"] && (s.fontStyle = a["font-style"]);
 15.1836 +                res.node.string && (res.paper.span.innerHTML = (res.node.string + E)[rp](/</g, "&#60;")[rp](/&/g, "&#38;")[rp](/\n/g, "<br>"));
 15.1837 +                res.W = a.w = res.paper.span.offsetWidth;
 15.1838 +                res.H = a.h = res.paper.span.offsetHeight;
 15.1839 +                res.X = a.x;
 15.1840 +                res.Y = a.y + round(res.H / 2);
 15.1841 + 
 15.1842 +                // text-anchor emulationm
 15.1843 +                switch (a["text-anchor"]) {
 15.1844 +                    case "start":
 15.1845 +                        res.node.style["v-text-align"] = "left";
 15.1846 +                        res.bbx = round(res.W / 2);
 15.1847 +                    break;
 15.1848 +                    case "end":
 15.1849 +                        res.node.style["v-text-align"] = "right";
 15.1850 +                        res.bbx = -round(res.W / 2);
 15.1851 +                    break;
 15.1852 +                    default:
 15.1853 +                        res.node.style["v-text-align"] = "center";
 15.1854 +                    break;
 15.1855 +                }
 15.1856 +            }
 15.1857 +        };
 15.1858 +        var addGradientFill = function (o, gradient) {
 15.1859 +            o.attrs = o.attrs || {};
 15.1860 +            var attrs = o.attrs,
 15.1861 +                fill = o.node.getElementsByTagName("fill"),
 15.1862 +                type = "linear",
 15.1863 +                fxfy = ".5 .5";
 15.1864 +            o.attrs.gradient = gradient;
 15.1865 +            gradient = (gradient + E)[rp](radial_gradient, function (all, fx, fy) {
 15.1866 +                type = "radial";
 15.1867 +                if (fx && fy) {
 15.1868 +                    fx = toFloat(fx);
 15.1869 +                    fy = toFloat(fy);
 15.1870 +                    pow(fx - .5, 2) + pow(fy - .5, 2) > .25 && (fy = math.sqrt(.25 - pow(fx - .5, 2)) * ((fy > .5) * 2 - 1) + .5);
 15.1871 +                    fxfy = fx + S + fy;
 15.1872 +                }
 15.1873 +                return E;
 15.1874 +            });
 15.1875 +            gradient = gradient[split](/\s*\-\s*/);
 15.1876 +            if (type == "linear") {
 15.1877 +                var angle = gradient.shift();
 15.1878 +                angle = -toFloat(angle);
 15.1879 +                if (isNaN(angle)) {
 15.1880 +                    return null;
 15.1881 +                }
 15.1882 +            }
 15.1883 +            var dots = parseDots(gradient);
 15.1884 +            if (!dots) {
 15.1885 +                return null;
 15.1886 +            }
 15.1887 +            o = o.shape || o.node;
 15.1888 +            fill = fill[0] || createNode("fill");
 15.1889 +            if (dots[length]) {
 15.1890 +                fill.on = true;
 15.1891 +                fill.method = "none";
 15.1892 +                fill.type = (type == "radial") ? "gradientradial" : "gradient";
 15.1893 +                fill.color = dots[0].color;
 15.1894 +                fill.color2 = dots[dots[length] - 1].color;
 15.1895 +                var clrs = [];
 15.1896 +                for (var i = 0, ii = dots[length]; i < ii; i++) {
 15.1897 +                    dots[i].offset && clrs[push](dots[i].offset + S + dots[i].color);
 15.1898 +                }
 15.1899 +                fill.colors && (fill.colors.value = clrs[length] ? clrs[join](",") : "0% " + fill.color);
 15.1900 +                if (type == "radial") {
 15.1901 +                    fill.focus = "100%";
 15.1902 +                    fill.focussize = fxfy;
 15.1903 +                    fill.focusposition = fxfy;
 15.1904 +                } else {
 15.1905 +                    fill.angle = (270 - angle) % 360;
 15.1906 +                }
 15.1907 +            }
 15.1908 +            return 1;
 15.1909 +        };
 15.1910 +        var Element = function (node, group, vml) {
 15.1911 +            var Rotation = 0,
 15.1912 +                RotX = 0,
 15.1913 +                RotY = 0,
 15.1914 +                Scale = 1;
 15.1915 +            this[0] = node;
 15.1916 +            this.id = R._oid++;
 15.1917 +            this.node = node;
 15.1918 +            node.raphael = this;
 15.1919 +            this.X = 0;
 15.1920 +            this.Y = 0;
 15.1921 +            this.attrs = {};
 15.1922 +            this.Group = group;
 15.1923 +            this.paper = vml;
 15.1924 +            this._ = {
 15.1925 +                tx: 0,
 15.1926 +                ty: 0,
 15.1927 +                rt: {deg:0},
 15.1928 +                sx: 1,
 15.1929 +                sy: 1
 15.1930 +            };
 15.1931 +            !vml.bottom && (vml.bottom = this);
 15.1932 +            this.prev = vml.top;
 15.1933 +            vml.top && (vml.top.next = this);
 15.1934 +            vml.top = this;
 15.1935 +            this.next = null;
 15.1936 +        };
 15.1937 +        Element[proto].rotate = function (deg, cx, cy) {
 15.1938 +            if (this.removed) {
 15.1939 +                return this;
 15.1940 +            }
 15.1941 +            if (deg == null) {
 15.1942 +                if (this._.rt.cx) {
 15.1943 +                    return [this._.rt.deg, this._.rt.cx, this._.rt.cy][join](S);
 15.1944 +                }
 15.1945 +                return this._.rt.deg;
 15.1946 +            }
 15.1947 +            deg = (deg + E)[split](separator);
 15.1948 +            if (deg[length] - 1) {
 15.1949 +                cx = toFloat(deg[1]);
 15.1950 +                cy = toFloat(deg[2]);
 15.1951 +            }
 15.1952 +            deg = toFloat(deg[0]);
 15.1953 +            if (cx != null) {
 15.1954 +                this._.rt.deg = deg;
 15.1955 +            } else {
 15.1956 +                this._.rt.deg += deg;
 15.1957 +            }
 15.1958 +            cy == null && (cx = null);
 15.1959 +            this._.rt.cx = cx;
 15.1960 +            this._.rt.cy = cy;
 15.1961 +            this.setBox(this.attrs, cx, cy);
 15.1962 +            this.Group.style.rotation = this._.rt.deg;
 15.1963 +            // gradient fix for rotation. TODO
 15.1964 +            // var fill = (this.shape || this.node).getElementsByTagName("fill");
 15.1965 +            // fill = fill[0] || {};
 15.1966 +            // var b = ((360 - this._.rt.deg) - 270) % 360;
 15.1967 +            // !R.is(fill.angle, "undefined") && (fill.angle = b);
 15.1968 +            return this;
 15.1969 +        };
 15.1970 +        Element[proto].setBox = function (params, cx, cy) {
 15.1971 +            if (this.removed) {
 15.1972 +                return this;
 15.1973 +            }
 15.1974 +            var gs = this.Group.style,
 15.1975 +                os = (this.shape && this.shape.style) || this.node.style;
 15.1976 +            params = params || {};
 15.1977 +            for (var i in params) if (params[has](i)) {
 15.1978 +                this.attrs[i] = params[i];
 15.1979 +            }
 15.1980 +            cx = cx || this._.rt.cx;
 15.1981 +            cy = cy || this._.rt.cy;
 15.1982 +            var attr = this.attrs,
 15.1983 +                x,
 15.1984 +                y,
 15.1985 +                w,
 15.1986 +                h;
 15.1987 +            switch (this.type) {
 15.1988 +                case "circle":
 15.1989 +                    x = attr.cx - attr.r;
 15.1990 +                    y = attr.cy - attr.r;
 15.1991 +                    w = h = attr.r * 2;
 15.1992 +                    break;
 15.1993 +                case "ellipse":
 15.1994 +                    x = attr.cx - attr.rx;
 15.1995 +                    y = attr.cy - attr.ry;
 15.1996 +                    w = attr.rx * 2;
 15.1997 +                    h = attr.ry * 2;
 15.1998 +                    break;
 15.1999 +                case "rect":
 15.2000 +                case "image":
 15.2001 +                    x = +attr.x;
 15.2002 +                    y = +attr.y;
 15.2003 +                    w = attr.width || 0;
 15.2004 +                    h = attr.height || 0;
 15.2005 +                    break;
 15.2006 +                case "text":
 15.2007 +                    this.textpath.v = ["m", round(attr.x), ", ", round(attr.y - 2), "l", round(attr.x) + 1, ", ", round(attr.y - 2)][join](E);
 15.2008 +                    x = attr.x - round(this.W / 2);
 15.2009 +                    y = attr.y - this.H / 2;
 15.2010 +                    w = this.W;
 15.2011 +                    h = this.H;
 15.2012 +                    break;
 15.2013 +                case "path":
 15.2014 +                    if (!this.attrs.path) {
 15.2015 +                        x = 0;
 15.2016 +                        y = 0;
 15.2017 +                        w = this.paper.width;
 15.2018 +                        h = this.paper.height;
 15.2019 +                    } else {
 15.2020 +                        var dim = pathDimensions(this.attrs.path);
 15.2021 +                        x = dim.x;
 15.2022 +                        y = dim.y;
 15.2023 +                        w = dim.width;
 15.2024 +                        h = dim.height;
 15.2025 +                    }
 15.2026 +                    break;
 15.2027 +                default:
 15.2028 +                    x = 0;
 15.2029 +                    y = 0;
 15.2030 +                    w = this.paper.width;
 15.2031 +                    h = this.paper.height;
 15.2032 +                    break;
 15.2033 +            }
 15.2034 +            cx = (cx == null) ? x + w / 2 : cx;
 15.2035 +            cy = (cy == null) ? y + h / 2 : cy;
 15.2036 +            var left = cx - this.paper.width / 2,
 15.2037 +                top = cy - this.paper.height / 2;
 15.2038 +            if (this.type == "path" || this.type == "text") {
 15.2039 +                (gs.left != left + "px") && (gs.left = left + "px");
 15.2040 +                (gs.top != top + "px") && (gs.top = top + "px");
 15.2041 +                this.X = this.type == "text" ? x : -left;
 15.2042 +                this.Y = this.type == "text" ? y : -top;
 15.2043 +                this.W = w;
 15.2044 +                this.H = h;
 15.2045 +                (os.left != -left + "px") && (os.left = -left + "px");
 15.2046 +                (os.top != -top + "px") && (os.top = -top + "px");
 15.2047 +            } else {
 15.2048 +                (gs.left != left + "px") && (gs.left = left + "px");
 15.2049 +                (gs.top != top + "px") && (gs.top = top + "px");
 15.2050 +                this.X = x;
 15.2051 +                this.Y = y;
 15.2052 +                this.W = w;
 15.2053 +                this.H = h;
 15.2054 +                (gs.width != this.paper.width + "px") && (gs.width = this.paper.width + "px");
 15.2055 +                (gs.height != this.paper.height + "px") && (gs.height = this.paper.height + "px");
 15.2056 +                (os.left != x - left + "px") && (os.left = x - left + "px");
 15.2057 +                (os.top != y - top + "px") && (os.top = y - top + "px");
 15.2058 +                (os.width != w + "px") && (os.width = w + "px");
 15.2059 +                (os.height != h + "px") && (os.height = h + "px");
 15.2060 +                var arcsize = (+params.r || 0) / mmin(w, h);
 15.2061 +                if (this.type == "rect" && this.arcsize.toFixed(4) != arcsize.toFixed(4) && (arcsize || this.arcsize)) {
 15.2062 +                    // We should replace element with the new one
 15.2063 +                    var o = createNode("roundrect"),
 15.2064 +                        a = {},
 15.2065 +                        i = 0,
 15.2066 +                        ii = this.events && this.events[length];
 15.2067 +                    o.arcsize = arcsize;
 15.2068 +                    o.raphael = this;
 15.2069 +                    this.Group[appendChild](o);
 15.2070 +                    this.Group.removeChild(this.node);
 15.2071 +                    this[0] = this.node = o;
 15.2072 +                    this.arcsize = arcsize;
 15.2073 +                    for (var i in attr) {
 15.2074 +                        a[i] = attr[i];
 15.2075 +                    }
 15.2076 +                    delete a.scale;
 15.2077 +                    this.attr(a);
 15.2078 +                    if (this.events) for (; i < ii; i++) {
 15.2079 +                        this.events[i].unbind = addEvent(this.node, this.events[i].name, this.events[i].f, this);
 15.2080 +                    }
 15.2081 +                }
 15.2082 +            }
 15.2083 +        };
 15.2084 +        Element[proto].hide = function () {
 15.2085 +            !this.removed && (this.Group.style.display = "none");
 15.2086 +            return this;
 15.2087 +        };
 15.2088 +        Element[proto].show = function () {
 15.2089 +            !this.removed && (this.Group.style.display = "block");
 15.2090 +            return this;
 15.2091 +        };
 15.2092 +        Element[proto].getBBox = function () {
 15.2093 +            if (this.removed) {
 15.2094 +                return this;
 15.2095 +            }
 15.2096 +            if (this.type == "path") {
 15.2097 +                return pathDimensions(this.attrs.path);
 15.2098 +            }
 15.2099 +            return {
 15.2100 +                x: this.X + (this.bbx || 0),
 15.2101 +                y: this.Y,
 15.2102 +                width: this.W,
 15.2103 +                height: this.H
 15.2104 +            };
 15.2105 +        };
 15.2106 +        Element[proto].remove = function () {
 15.2107 +            if (this.removed) {
 15.2108 +                return;
 15.2109 +            }
 15.2110 +            tear(this, this.paper);
 15.2111 +            this.node.parentNode.removeChild(this.node);
 15.2112 +            this.Group.parentNode.removeChild(this.Group);
 15.2113 +            this.shape && this.shape.parentNode.removeChild(this.shape);
 15.2114 +            for (var i in this) {
 15.2115 +                delete this[i];
 15.2116 +            }
 15.2117 +            this.removed = true;
 15.2118 +        };
 15.2119 +        Element[proto].attr = function () {
 15.2120 +            if (this.removed) {
 15.2121 +                return this;
 15.2122 +            }
 15.2123 +            if (arguments[length] == 0) {
 15.2124 +                var res = {};
 15.2125 +                for (var i in this.attrs) if (this.attrs[has](i)) {
 15.2126 +                    res[i] = this.attrs[i];
 15.2127 +                }
 15.2128 +                this._.rt.deg && (res.rotation = this.rotate());
 15.2129 +                (this._.sx != 1 || this._.sy != 1) && (res.scale = this.scale());
 15.2130 +                res.gradient && res.fill == "none" && (res.fill = res.gradient) && delete res.gradient;
 15.2131 +                return res;
 15.2132 +            }
 15.2133 +            if (arguments[length] == 1 && R.is(arguments[0], "string")) {
 15.2134 +                if (arguments[0] == "translation") {
 15.2135 +                    return translate.call(this);
 15.2136 +                }
 15.2137 +                if (arguments[0] == "rotation") {
 15.2138 +                    return this.rotate();
 15.2139 +                }
 15.2140 +                if (arguments[0] == "scale") {
 15.2141 +                    return this.scale();
 15.2142 +                }
 15.2143 +                if (arguments[0] == "fill" && this.attrs.fill == "none" && this.attrs.gradient) {
 15.2144 +                    return this.attrs.gradient;
 15.2145 +                }
 15.2146 +                return this.attrs[arguments[0]];
 15.2147 +            }
 15.2148 +            if (this.attrs && arguments[length] == 1 && R.is(arguments[0], "array")) {
 15.2149 +                var values = {};
 15.2150 +                for (var i = 0, ii = arguments[0][length]; i < ii; i++) {
 15.2151 +                    values[arguments[0][i]] = this.attrs[arguments[0][i]];
 15.2152 +                };
 15.2153 +                return values;
 15.2154 +            }
 15.2155 +            var params;
 15.2156 +            if (arguments[length] == 2) {
 15.2157 +                params = {};
 15.2158 +                params[arguments[0]] = arguments[1];
 15.2159 +            }
 15.2160 +            arguments[length] == 1 && R.is(arguments[0], "object") && (params = arguments[0]);
 15.2161 +            if (params) {
 15.2162 +                if (params.text && this.type == "text") {
 15.2163 +                    this.node.string = params.text;
 15.2164 +                }
 15.2165 +                setFillAndStroke(this, params);
 15.2166 +                if (params.gradient && (({circle: 1, ellipse: 1})[has](this.type) || (params.gradient + E).charAt() != "r")) {
 15.2167 +                    addGradientFill(this, params.gradient);
 15.2168 +                }
 15.2169 +                (this.type != "path" || this._.rt.deg) && this.setBox(this.attrs);
 15.2170 +            }
 15.2171 +            return this;
 15.2172 +        };
 15.2173 +        Element[proto].toFront = function () {
 15.2174 +            !this.removed && this.Group.parentNode[appendChild](this.Group);
 15.2175 +            this.paper.top != this && tofront(this, this.paper);
 15.2176 +            return this;
 15.2177 +        };
 15.2178 +        Element[proto].toBack = function () {
 15.2179 +            if (this.removed) {
 15.2180 +                return this;
 15.2181 +            }
 15.2182 +            if (this.Group.parentNode.firstChild != this.Group) {
 15.2183 +                this.Group.parentNode.insertBefore(this.Group, this.Group.parentNode.firstChild);
 15.2184 +                toback(this, this.paper);
 15.2185 +            }
 15.2186 +            return this;
 15.2187 +        };
 15.2188 +        Element[proto].insertAfter = function (element) {
 15.2189 +            if (this.removed) {
 15.2190 +                return this;
 15.2191 +            }
 15.2192 +            if (element.Group.nextSibling) {
 15.2193 +                element.Group.parentNode.insertBefore(this.Group, element.Group.nextSibling);
 15.2194 +            } else {
 15.2195 +                element.Group.parentNode[appendChild](this.Group);
 15.2196 +            }
 15.2197 +            insertafter(this, element, this.paper);
 15.2198 +            return this;
 15.2199 +        };
 15.2200 +        Element[proto].insertBefore = function (element) {
 15.2201 +            if (this.removed) {
 15.2202 +                return this;
 15.2203 +            }
 15.2204 +            element.Group.parentNode.insertBefore(this.Group, element.Group);
 15.2205 +            insertbefore(this, element, this.paper);
 15.2206 +            return this;
 15.2207 +        };
 15.2208 + 
 15.2209 +        var theCircle = function (vml, x, y, r) {
 15.2210 +            var g = createNode("group"),
 15.2211 +                o = createNode("oval"),
 15.2212 +                ol = o.style;
 15.2213 +            g.style.cssText = "position:absolute;left:0;top:0;width:" + vml.width + "px;height:" + vml.height + "px";
 15.2214 +            g.coordsize = vml.coordsize;
 15.2215 +            g.coordorigin = vml.coordorigin;
 15.2216 +            g[appendChild](o);
 15.2217 +            var res = new Element(o, g, vml);
 15.2218 +            res.type = "circle";
 15.2219 +            setFillAndStroke(res, {stroke: "#000", fill: "none"});
 15.2220 +            res.attrs.cx = x;
 15.2221 +            res.attrs.cy = y;
 15.2222 +            res.attrs.r = r;
 15.2223 +            res.setBox({x: x - r, y: y - r, width: r * 2, height: r * 2});
 15.2224 +            vml.canvas[appendChild](g);
 15.2225 +            return res;
 15.2226 +        },
 15.2227 +        theRect = function (vml, x, y, w, h, r) {
 15.2228 +            var g = createNode("group"),
 15.2229 +                o = createNode("roundrect"),
 15.2230 +                arcsize = (+r || 0) / (mmin(w, h));
 15.2231 +            g.style.cssText = "position:absolute;left:0;top:0;width:" + vml.width + "px;height:" + vml.height + "px";
 15.2232 +            g.coordsize = vml.coordsize;
 15.2233 +            g.coordorigin = vml.coordorigin;
 15.2234 +            g[appendChild](o);
 15.2235 +            o.arcsize = arcsize;
 15.2236 +            var res = new Element(o, g, vml);
 15.2237 +            res.type = "rect";
 15.2238 +            setFillAndStroke(res, {stroke: "#000"});
 15.2239 +            res.arcsize = arcsize;
 15.2240 +            res.setBox({x: x, y: y, width: w, height: h, r: r});
 15.2241 +            vml.canvas[appendChild](g);
 15.2242 +            return res;
 15.2243 +        },
 15.2244 +        theEllipse = function (vml, x, y, rx, ry) {
 15.2245 +            var g = createNode("group"),
 15.2246 +                o = createNode("oval"),
 15.2247 +                ol = o.style;
 15.2248 +            g.style.cssText = "position:absolute;left:0;top:0;width:" + vml.width + "px;height:" + vml.height + "px";
 15.2249 +            g.coordsize = vml.coordsize;
 15.2250 +            g.coordorigin = vml.coordorigin;
 15.2251 +            g[appendChild](o);
 15.2252 +            var res = new Element(o, g, vml);
 15.2253 +            res.type = "ellipse";
 15.2254 +            setFillAndStroke(res, {stroke: "#000"});
 15.2255 +            res.attrs.cx = x;
 15.2256 +            res.attrs.cy = y;
 15.2257 +            res.attrs.rx = rx;
 15.2258 +            res.attrs.ry = ry;
 15.2259 +            res.setBox({x: x - rx, y: y - ry, width: rx * 2, height: ry * 2});
 15.2260 +            vml.canvas[appendChild](g);
 15.2261 +            return res;
 15.2262 +        },
 15.2263 +        theImage = function (vml, src, x, y, w, h) {
 15.2264 +            var g = createNode("group"),
 15.2265 +                o = createNode("image"),
 15.2266 +                ol = o.style;
 15.2267 +            g.style.cssText = "position:absolute;left:0;top:0;width:" + vml.width + "px;height:" + vml.height + "px";
 15.2268 +            g.coordsize = vml.coordsize;
 15.2269 +            g.coordorigin = vml.coordorigin;
 15.2270 +            o.src = src;
 15.2271 +            g[appendChild](o);
 15.2272 +            var res = new Element(o, g, vml);
 15.2273 +            res.type = "image";
 15.2274 +            res.attrs.src = src;
 15.2275 +            res.attrs.x = x;
 15.2276 +            res.attrs.y = y;
 15.2277 +            res.attrs.w = w;
 15.2278 +            res.attrs.h = h;
 15.2279 +            res.setBox({x: x, y: y, width: w, height: h});
 15.2280 +            vml.canvas[appendChild](g);
 15.2281 +            return res;
 15.2282 +        },
 15.2283 +        theText = function (vml, x, y, text) {
 15.2284 +            var g = createNode("group"),
 15.2285 +                el = createNode("shape"),
 15.2286 +                ol = el.style,
 15.2287 +                path = createNode("path"),
 15.2288 +                ps = path.style,
 15.2289 +                o = createNode("textpath");
 15.2290 +            g.style.cssText = "position:absolute;left:0;top:0;width:" + vml.width + "px;height:" + vml.height + "px";
 15.2291 +            g.coordsize = vml.coordsize;
 15.2292 +            g.coordorigin = vml.coordorigin;
 15.2293 +            path.v = R.format("m{0},{1}l{2},{1}", round(x), round(y), round(x) + 1);
 15.2294 +            path.textpathok = true;
 15.2295 +            ol.width = vml.width;
 15.2296 +            ol.height = vml.height;
 15.2297 +            o.string = text + E;
 15.2298 +            o.on = true;
 15.2299 +            el[appendChild](o);
 15.2300 +            el[appendChild](path);
 15.2301 +            g[appendChild](el);
 15.2302 +            var res = new Element(o, g, vml);
 15.2303 +            res.shape = el;
 15.2304 +            res.textpath = path;
 15.2305 +            res.type = "text";
 15.2306 +            res.attrs.text = text;
 15.2307 +            res.attrs.x = x;
 15.2308 +            res.attrs.y = y;
 15.2309 +            res.attrs.w = 1;
 15.2310 +            res.attrs.h = 1;
 15.2311 +            setFillAndStroke(res, {font: availableAttrs.font, stroke: "none", fill: "#000"});
 15.2312 +            res.setBox();
 15.2313 +            vml.canvas[appendChild](g);
 15.2314 +            return res;
 15.2315 +        },
 15.2316 +        setSize = function (width, height) {
 15.2317 +            var cs = this.canvas.style;
 15.2318 +            width == +width && (width += "px");
 15.2319 +            height == +height && (height += "px");
 15.2320 +            cs.width = width;
 15.2321 +            cs.height = height;
 15.2322 +            cs.clip = "rect(0 " + width + " " + height + " 0)";
 15.2323 +            return this;
 15.2324 +        },
 15.2325 +        createNode;
 15.2326 +        doc.createStyleSheet().addRule(".rvml", "behavior:url(#default#VML)");
 15.2327 +        try {
 15.2328 +            !doc.namespaces.rvml && doc.namespaces.add("rvml", "urn:schemas-microsoft-com:vml");
 15.2329 +            createNode = function (tagName) {
 15.2330 +                return doc.createElement('<rvml:' + tagName + ' class="rvml">');
 15.2331 +            };
 15.2332 +        } catch (e) {
 15.2333 +            createNode = function (tagName) {
 15.2334 +                return doc.createElement('<' + tagName + ' xmlns="urn:schemas-microsoft.com:vml" class="rvml">');
 15.2335 +            };
 15.2336 +        }
 15.2337 +        var create = function () {
 15.2338 +            var con = getContainer[apply](null, arguments),
 15.2339 +                container = con.container,
 15.2340 +                height = con.height,
 15.2341 +                s,
 15.2342 +                width = con.width,
 15.2343 +                x = con.x,
 15.2344 +                y = con.y;
 15.2345 +            if (!container) {
 15.2346 +                throw new Error("VML container not found.");
 15.2347 +            }
 15.2348 +            var res = new Paper,
 15.2349 +                c = res.canvas = doc.createElement("div"),
 15.2350 +                cs = c.style;
 15.2351 +            width = width || 512;
 15.2352 +            height = height || 342;
 15.2353 +            width == +width && (width += "px");
 15.2354 +            height == +height && (height += "px");
 15.2355 +            res.width = 1e3;
 15.2356 +            res.height = 1e3;
 15.2357 +            res.coordsize = "1000 1000";
 15.2358 +            res.coordorigin = "0 0";
 15.2359 +            res.span = doc.createElement("span");
 15.2360 +            res.span.style.cssText = "position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;display:inline;";
 15.2361 +            c[appendChild](res.span);
 15.2362 +            cs.cssText = R.format("width:{0};height:{1};position:absolute;clip:rect(0 {0} {1} 0);overflow:hidden", width, height);
 15.2363 +            if (container == 1) {
 15.2364 +                doc.body[appendChild](c);
 15.2365 +                cs.left = x + "px";
 15.2366 +                cs.top = y + "px";
 15.2367 +            } else {
 15.2368 +                container.style.width = width;
 15.2369 +                container.style.height = height;
 15.2370 +                if (container.firstChild) {
 15.2371 +                    container.insertBefore(c, container.firstChild);
 15.2372 +                } else {
 15.2373 +                    container[appendChild](c);
 15.2374 +                }
 15.2375 +            }
 15.2376 +            plugins.call(res, res, R.fn);
 15.2377 +            return res;
 15.2378 +        };
 15.2379 +        Paper[proto].clear = function () {
 15.2380 +            this.canvas.innerHTML = E;
 15.2381 +            this.span = doc.createElement("span");
 15.2382 +            this.span.style.cssText = "position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;display:inline;";
 15.2383 +            this.canvas[appendChild](this.span);
 15.2384 +            this.bottom = this.top = null;
 15.2385 +        };
 15.2386 +        Paper[proto].remove = function () {
 15.2387 +            this.canvas.parentNode.removeChild(this.canvas);
 15.2388 +            for (var i in this) {
 15.2389 +                this[i] = removed(i);
 15.2390 +            }
 15.2391 +        };
 15.2392 +    }
 15.2393 + 
 15.2394 +    // rest
 15.2395 +    // Safari or Chrome (WebKit) rendering bug workaround method
 15.2396 +    if ((/^Apple|^Google/).test(navigator.vendor) && !(navigator.userAgent.indexOf("Version/4.0") + 1)) {
 15.2397 +        Paper[proto].safari = function () {
 15.2398 +            var rect = this.rect(-99, -99, this.width + 99, this.height + 99);
 15.2399 +            setTimeout(function () {rect.remove();});
 15.2400 +        };
 15.2401 +    } else {
 15.2402 +        Paper[proto].safari = function () {};
 15.2403 +    }
 15.2404 + 
 15.2405 +    // Events
 15.2406 +    var addEvent = (function () {
 15.2407 +        if (doc.addEventListener) {
 15.2408 +            return function (obj, type, fn, element) {
 15.2409 +                var f = function (e) {
 15.2410 +                    return fn.call(element, e);
 15.2411 +                };
 15.2412 +                obj.addEventListener(type, f, false);
 15.2413 +                return function () {
 15.2414 +                    obj.removeEventListener(type, f, false);
 15.2415 +                    return true;
 15.2416 +                };
 15.2417 +            };
 15.2418 +        } else if (doc.attachEvent) {
 15.2419 +            return function (obj, type, fn, element) {
 15.2420 +                var f = function (e) {
 15.2421 +                    return fn.call(element, e || win.event);
 15.2422 +                };
 15.2423 +                obj.attachEvent("on" + type, f);
 15.2424 +                var detacher = function () {
 15.2425 +                    obj.detachEvent("on" + type, f);
 15.2426 +                    return true;
 15.2427 +                };
 15.2428 +                return detacher;
 15.2429 +            };
 15.2430 +        }
 15.2431 +    })();
 15.2432 +    for (var i = events[length]; i--;) {
 15.2433 +        (function (eventName) {
 15.2434 +            Element[proto][eventName] = function (fn) {
 15.2435 +                if (R.is(fn, "function")) {
 15.2436 +                    this.events = this.events || [];
 15.2437 +                    this.events.push({name: eventName, f: fn, unbind: addEvent(this.shape || this.node, eventName, fn, this)});
 15.2438 +                }
 15.2439 +                return this;
 15.2440 +            };
 15.2441 +            Element[proto]["un" + eventName] = function (fn) {
 15.2442 +                var events = this.events,
 15.2443 +                    l = events[length];
 15.2444 +                while (l--) if (events[l].name == eventName && events[l].f == fn) {
 15.2445 +                    events[l].unbind();
 15.2446 +                    events.splice(l, 1);
 15.2447 +                    !events.length && delete this.events;
 15.2448 +                    return this;
 15.2449 +                }
 15.2450 +                return this;
 15.2451 +            };
 15.2452 +        })(events[i]);
 15.2453 +    }
 15.2454 +    Element[proto].hover = function (f_in, f_out) {
 15.2455 +        return this.mouseover(f_in).mouseout(f_out);
 15.2456 +    };
 15.2457 +    Element[proto].unhover = function (f_in, f_out) {
 15.2458 +        return this.unmouseover(f_in).unmouseout(f_out);
 15.2459 +    };
 15.2460 +    Paper[proto].circle = function (x, y, r) {
 15.2461 +        return theCircle(this, x || 0, y || 0, r || 0);
 15.2462 +    };
 15.2463 +    Paper[proto].rect = function (x, y, w, h, r) {
 15.2464 +        return theRect(this, x || 0, y || 0, w || 0, h || 0, r || 0);
 15.2465 +    };
 15.2466 +    Paper[proto].ellipse = function (x, y, rx, ry) {
 15.2467 +        return theEllipse(this, x || 0, y || 0, rx || 0, ry || 0);
 15.2468 +    };
 15.2469 +    Paper[proto].path = function (pathString) {
 15.2470 +        pathString && !R.is(pathString, "string") && !R.is(pathString[0], "array") && (pathString += E);
 15.2471 +        return thePath(R.format[apply](R, arguments), this);
 15.2472 +    };
 15.2473 +    Paper[proto].image = function (src, x, y, w, h) {
 15.2474 +        return theImage(this, src || "about:blank", x || 0, y || 0, w || 0, h || 0);
 15.2475 +    };
 15.2476 +    Paper[proto].text = function (x, y, text) {
 15.2477 +        return theText(this, x || 0, y || 0, text || E);
 15.2478 +    };
 15.2479 +    Paper[proto].set = function (itemsArray) {
 15.2480 +        arguments[length] > 1 && (itemsArray = Array[proto].splice.call(arguments, 0, arguments[length]));
 15.2481 +        return new Set(itemsArray);
 15.2482 +    };
 15.2483 +    Paper[proto].setSize = setSize;
 15.2484 +    Paper[proto].top = Paper[proto].bottom = null;
 15.2485 +    Paper[proto].raphael = R;
 15.2486 +    function x_y() {
 15.2487 +        return this.x + S + this.y;
 15.2488 +    };
 15.2489 +    Element[proto].scale = function (x, y, cx, cy) {
 15.2490 +        if (x == null && y == null) {
 15.2491 +            return {
 15.2492 +                x: this._.sx,
 15.2493 +                y: this._.sy,
 15.2494 +                toString: x_y
 15.2495 +            };
 15.2496 +        }
 15.2497 +        y = y || x;
 15.2498 +        !+y && (y = x);
 15.2499 +        var dx,
 15.2500 +            dy,
 15.2501 +            dcx,
 15.2502 +            dcy,
 15.2503 +            a = this.attrs;
 15.2504 +        if (x != 0) {
 15.2505 +            var bb = this.getBBox(),
 15.2506 +                rcx = bb.x + bb.width / 2,
 15.2507 +                rcy = bb.y + bb.height / 2,
 15.2508 +                kx = x / this._.sx,
 15.2509 +                ky = y / this._.sy;
 15.2510 +            cx = (+cx || cx == 0) ? cx : rcx;
 15.2511 +            cy = (+cy || cy == 0) ? cy : rcy;
 15.2512 +            var dirx = ~~(x / math.abs(x)),
 15.2513 +                diry = ~~(y / math.abs(y)),
 15.2514 +                s = this.node.style,
 15.2515 +                ncx = cx + (rcx - cx) * kx,
 15.2516 +                ncy = cy + (rcy - cy) * ky;
 15.2517 +            switch (this.type) {
 15.2518 +                case "rect":
 15.2519 +                case "image":
 15.2520 +                    var neww = a.width * dirx * kx,
 15.2521 +                        newh = a.height * diry * ky;
 15.2522 +                    this.attr({
 15.2523 +                        height: newh,
 15.2524 +                        r: a.r * mmin(dirx * kx, diry * ky),
 15.2525 +                        width: neww,
 15.2526 +                        x: ncx - neww / 2,
 15.2527 +                        y: ncy - newh / 2
 15.2528 +                    });
 15.2529 +                    break;
 15.2530 +                case "circle":
 15.2531 +                case "ellipse":
 15.2532 +                    this.attr({
 15.2533 +                        rx: a.rx * dirx * kx,
 15.2534 +                        ry: a.ry * diry * ky,
 15.2535 +                        r: a.r * mmin(dirx * kx, diry * ky),
 15.2536 +                        cx: ncx,
 15.2537 +                        cy: ncy
 15.2538 +                    });
 15.2539 +                    break;
 15.2540 +                case "path":
 15.2541 +                    var path = pathToRelative(a.path),
 15.2542 +                        skip = true;
 15.2543 +                    for (var i = 0, ii = path[length]; i < ii; i++) {
 15.2544 +                        var p = path[i],
 15.2545 +                            j,
 15.2546 +                            P0 = upperCase.call(p[0]);
 15.2547 +                        if (P0 == "M" && skip) {
 15.2548 +                            continue;
 15.2549 +                        } else {
 15.2550 +                            skip = false;
 15.2551 +                        }
 15.2552 +                        if (P0 == "A") {
 15.2553 +                            p[path[i][length] - 2] *= kx;
 15.2554 +                            p[path[i][length] - 1] *= ky;
 15.2555 +                            p[1] *= dirx * kx;
 15.2556 +                            p[2] *= diry * ky;
 15.2557 +                            p[5] = +(dirx + diry ? !!+p[5] : !+p[5]);
 15.2558 +                        } else if (P0 == "H") {
 15.2559 +                            for (j = 1, jj = p[length]; j < jj; j++) {
 15.2560 +                                p[j] *= kx;
 15.2561 +                            }
 15.2562 +                        } else if (P0 == "V") {
 15.2563 +                            for (j = 1, jj = p[length]; j < jj; j++) {
 15.2564 +                                p[j] *= ky;
 15.2565 +                            }
 15.2566 +                         } else {
 15.2567 +                            for (j = 1, jj = p[length]; j < jj; j++) {
 15.2568 +                                p[j] *= (j % 2) ? kx : ky;
 15.2569 +                            }
 15.2570 +                        }
 15.2571 +                    }
 15.2572 +                    var dim2 = pathDimensions(path),
 15.2573 +                        dx = ncx - dim2.x - dim2.width / 2,
 15.2574 +                        dy = ncy - dim2.y - dim2.height / 2;
 15.2575 +                    path[0][1] += dx;
 15.2576 +                    path[0][2] += dy;
 15.2577 +                    this.attr({path: path});
 15.2578 +                break;
 15.2579 +            }
 15.2580 +            if (this.type in {text: 1, image:1} && (dirx != 1 || diry != 1)) {
 15.2581 +                if (this.transformations) {
 15.2582 +                    this.transformations[2] = "scale("[concat](dirx, ",", diry, ")");
 15.2583 +                    this.node[setAttribute]("transform", this.transformations[join](S));
 15.2584 +                    dx = (dirx == -1) ? -a.x - (neww || 0) : a.x;
 15.2585 +                    dy = (diry == -1) ? -a.y - (newh || 0) : a.y;
 15.2586 +                    this.attr({x: dx, y: dy});
 15.2587 +                    a.fx = dirx - 1;
 15.2588 +                    a.fy = diry - 1;
 15.2589 +                } else {
 15.2590 +                    this.node.filterMatrix = " progid:DXImageTransform.Microsoft.Matrix(M11="[concat](dirx,
 15.2591 +                        ", M12=0, M21=0, M22=", diry,
 15.2592 +                        ", Dx=0, Dy=0, sizingmethod='auto expand', filtertype='bilinear')");
 15.2593 +                    s.filter = (this.node.filterMatrix || E) + (this.node.filterOpacity || E);
 15.2594 +                }
 15.2595 +            } else {
 15.2596 +                if (this.transformations) {
 15.2597 +                    this.transformations[2] = E;
 15.2598 +                    this.node[setAttribute]("transform", this.transformations[join](S));
 15.2599 +                    a.fx = 0;
 15.2600 +                    a.fy = 0;
 15.2601 +                } else {
 15.2602 +                    this.node.filterMatrix = E;
 15.2603 +                    s.filter = (this.node.filterMatrix || E) + (this.node.filterOpacity || E);
 15.2604 +                }
 15.2605 +            }
 15.2606 +            a.scale = [x, y, cx, cy][join](S);
 15.2607 +            this._.sx = x;
 15.2608 +            this._.sy = y;
 15.2609 +        }
 15.2610 +        return this;
 15.2611 +    };
 15.2612 +    Element[proto].clone = function () {
 15.2613 +        var attr = this.attr();
 15.2614 +        delete attr.scale;
 15.2615 +        delete attr.translation;
 15.2616 +        return this.paper[this.type]().attr(attr);
 15.2617 +    };
 15.2618 +    var getLengthFactory = function (istotal, subpath) {
 15.2619 +        return function (path, length, onlystart) {
 15.2620 +            path = path2curve(path);
 15.2621 +            var x, y, p, l, sp = "", subpaths = {}, point,
 15.2622 +                len = 0;
 15.2623 +            for (var i = 0, ii = path.length; i < ii; i++) {
 15.2624 +                p = path[i];
 15.2625 +                if (p[0] == "M") {
 15.2626 +                    x = +p[1];
 15.2627 +                    y = +p[2];
 15.2628 +                } else {
 15.2629 +                    l = segmentLength(x, y, p[1], p[2], p[3], p[4], p[5], p[6]);
 15.2630 +                    if (len + l > length) {
 15.2631 +                        if (subpath && !subpaths.start) {
 15.2632 +                            point = R.findDotsAtSegment(x, y, p[1], p[2], p[3], p[4], p[5], p[6], (length - len) / l);
 15.2633 +                            sp += ["C", point.start.x, point.start.y, point.m.x, point.m.y, point.x, point.y];
 15.2634 +                            if (onlystart) {
 15.2635 +                                return sp;
 15.2636 +                            }
 15.2637 +                            subpaths.start = sp;
 15.2638 +                            sp = ["M", point.x, point.y, "C", point.n.x, point.n.y, point.end.x, point.end.y, p[5], p[6]][join]();
 15.2639 +                            len += l;
 15.2640 +                            x = +p[5];
 15.2641 +                            y = +p[6];
 15.2642 +                            continue;
 15.2643 +                        }
 15.2644 +                        if (!istotal && !subpath) {
 15.2645 +                            point = R.findDotsAtSegment(x, y, p[1], p[2], p[3], p[4], p[5], p[6], (length - len) / l);
 15.2646 +                            return {x: point.x, y: point.y, alpha: point.alpha};
 15.2647 +                        }
 15.2648 +                    }
 15.2649 +                    len += l;
 15.2650 +                    x = +p[5];
 15.2651 +                    y = +p[6];
 15.2652 +                }
 15.2653 +                sp += p;
 15.2654 +            }
 15.2655 +            subpaths.end = sp;
 15.2656 +            point = istotal ? len : subpath ? subpaths : R.findDotsAtSegment(x, y, p[1], p[2], p[3], p[4], p[5], p[6], 1);
 15.2657 +            point.alpha && (point = {x: point.x, y: point.y, alpha: point.alpha});
 15.2658 +            return point;
 15.2659 +        };
 15.2660 +    },
 15.2661 +    segmentLength = cacher(function (p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y) {
 15.2662 +        var old = {x: 0, y: 0},
 15.2663 +            len = 0;
 15.2664 +        for (var i = 0; i < 1.01; i+=.01) {
 15.2665 +            var dot = findDotAtSegment(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, i);
 15.2666 +            i && (len += math.sqrt(pow(old.x - dot.x, 2) + pow(old.y - dot.y, 2)));
 15.2667 +            old = dot;
 15.2668 +        }
 15.2669 +        return len;
 15.2670 +    });
 15.2671 +    var getTotalLength = getLengthFactory(1),
 15.2672 +        getPointAtLength = getLengthFactory(),
 15.2673 +        getSubpathsAtLength = getLengthFactory(0, 1);
 15.2674 +    Element[proto].getTotalLength = function () {
 15.2675 +        if (this.type != "path") return;
 15.2676 +        return getTotalLength(this.attrs.path);
 15.2677 +    };
 15.2678 +    Element[proto].getPointAtLength = function (length) {
 15.2679 +        if (this.type != "path") return;
 15.2680 +        return getPointAtLength(this.attrs.path, length);
 15.2681 +    };
 15.2682 +    Element[proto].getSubpath = function (from, to) {
 15.2683 +        if (this.type != "path") return;
 15.2684 +        var a = getSubpathsAtLength(this.attrs.path, to, 1);
 15.2685 +        return from ? getSubpathsAtLength(a, from).end : a;
 15.2686 +    };
 15.2687 +
 15.2688 +    // animation easing formulas
 15.2689 +    R.easing_formulas = {
 15.2690 +        linear: function (n) {
 15.2691 +            return n;
 15.2692 +        },
 15.2693 +        "<": function (n) {
 15.2694 +            return pow(n, 3);
 15.2695 +        },
 15.2696 +        ">": function (n) {
 15.2697 +            return pow(n - 1, 3) + 1;
 15.2698 +        },
 15.2699 +        "<>": function (n) {
 15.2700 +            n = n * 2;
 15.2701 +            if (n < 1) {
 15.2702 +                return pow(n, 3) / 2;
 15.2703 +            }
 15.2704 +            n -= 2;
 15.2705 +            return (pow(n, 3) + 2) / 2;
 15.2706 +        },
 15.2707 +        backIn: function (n) {
 15.2708 +            var s = 1.70158;
 15.2709 +            return n * n * ((s + 1) * n - s);
 15.2710 +        },
 15.2711 +        backOut: function (n) {
 15.2712 +            n = n - 1;
 15.2713 +            var s = 1.70158;
 15.2714 +            return n * n * ((s + 1) * n + s) + 1;
 15.2715 +        },
 15.2716 +        elastic: function (n) {
 15.2717 +            if (n == 0 || n == 1) {
 15.2718 +                return n;
 15.2719 +            }
 15.2720 +            var p = .3,
 15.2721 +                s = p / 4;
 15.2722 +            return pow(2, -10 * n) * math.sin((n - s) * (2 * math.PI) / p) + 1;
 15.2723 +        },
 15.2724 +        bounce: function (n) {
 15.2725 +            var s = 7.5625,
 15.2726 +                p = 2.75,
 15.2727 +                l;
 15.2728 +            if (n < (1 / p)) {
 15.2729 +                l = s * n * n;
 15.2730 +            } else {
 15.2731 +                if (n < (2 / p)) {
 15.2732 +                    n -= (1.5 / p);
 15.2733 +                    l = s * n * n + .75;
 15.2734 +                } else {
 15.2735 +                    if (n < (2.5 / p)) {
 15.2736 +                        n -= (2.25 / p);
 15.2737 +                        l = s * n * n + .9375;
 15.2738 +                    } else {
 15.2739 +                        n -= (2.625 / p);
 15.2740 +                        l = s * n * n + .984375;
 15.2741 +                    }
 15.2742 +                }
 15.2743 +            }
 15.2744 +            return l;
 15.2745 +        }
 15.2746 +    };
 15.2747 + 
 15.2748 +    var animationElements = {length : 0},
 15.2749 +        animation = function () {
 15.2750 +            var Now = +new Date;
 15.2751 +            for (var l in animationElements) if (l != "length" && animationElements[has](l)) {
 15.2752 +                var e = animationElements[l];
 15.2753 +                if (e.stop) {
 15.2754 +                    delete animationElements[l];
 15.2755 +                    animationElements[length]--;
 15.2756 +                    continue;
 15.2757 +                }
 15.2758 +                var time = Now - e.start,
 15.2759 +                    ms = e.ms,
 15.2760 +                    easing = e.easing,
 15.2761 +                    from = e.from,
 15.2762 +                    diff = e.diff,
 15.2763 +                    to = e.to,
 15.2764 +                    t = e.t,
 15.2765 +                    prev = e.prev || 0,
 15.2766 +                    that = e.el,
 15.2767 +                    callback = e.callback,
 15.2768 +                    set = {},
 15.2769 +                    now;
 15.2770 +                if (time < ms) {
 15.2771 +                    var pos = R.easing_formulas[easing] ? R.easing_formulas[easing](time / ms) : time / ms;
 15.2772 +                    for (var attr in from) if (from[has](attr)) {
 15.2773 +                        switch (availableAnimAttrs[attr]) {
 15.2774 +                            case "along":
 15.2775 +                                now = pos * ms * diff[attr];
 15.2776 +                                to.back && (now = to.len - now);
 15.2777 +                                var point = getPointAtLength(to[attr], now);
 15.2778 +                                that.translate(diff.sx - diff.x || 0, diff.sy - diff.y || 0);
 15.2779 +                                diff.x = point.x;
 15.2780 +                                diff.y = point.y;
 15.2781 +                                that.translate(point.x - diff.sx, point.y - diff.sy);
 15.2782 +                                to.rot && that.rotate(diff.r + point.alpha, point.x, point.y);
 15.2783 +                                break;
 15.2784 +                            case "number":
 15.2785 +                                now = +from[attr] + pos * ms * diff[attr];
 15.2786 +                                break;
 15.2787 +                            case "colour":
 15.2788 +                                now = "rgb(" + [
 15.2789 +                                    upto255(round(from[attr].r + pos * ms * diff[attr].r)),
 15.2790 +                                    upto255(round(from[attr].g + pos * ms * diff[attr].g)),
 15.2791 +                                    upto255(round(from[attr].b + pos * ms * diff[attr].b))
 15.2792 +                                ][join](",") + ")";
 15.2793 +                                break;
 15.2794 +                            case "path":
 15.2795 +                                now = [];
 15.2796 +                                for (var i = 0, ii = from[attr][length]; i < ii; i++) {
 15.2797 +                                    now[i] = [from[attr][i][0]];
 15.2798 +                                    for (var j = 1, jj = from[attr][i][length]; j < jj; j++) {
 15.2799 +                                        now[i][j] = +from[attr][i][j] + pos * ms * diff[attr][i][j];
 15.2800 +                                    }
 15.2801 +                                    now[i] = now[i][join](S);
 15.2802 +                                }
 15.2803 +                                now = now[join](S);
 15.2804 +                                break;
 15.2805 +                            case "csv":
 15.2806 +                                switch (attr) {
 15.2807 +                                    case "translation":
 15.2808 +                                        var x = diff[attr][0] * (time - prev),
 15.2809 +                                            y = diff[attr][1] * (time - prev);
 15.2810 +                                        t.x += x;
 15.2811 +                                        t.y += y;
 15.2812 +                                        now = x + S + y;
 15.2813 +                                    break;
 15.2814 +                                    case "rotation":
 15.2815 +                                        now = +from[attr][0] + pos * ms * diff[attr][0];
 15.2816 +                                        from[attr][1] && (now += "," + from[attr][1] + "," + from[attr][2]);
 15.2817 +                                    break;
 15.2818 +                                    case "scale":
 15.2819 +                                        now = [+from[attr][0] + pos * ms * diff[attr][0], +from[attr][1] + pos * ms * diff[attr][1], (2 in to[attr] ? to[attr][2] : E), (3 in to[attr] ? to[attr][3] : E)][join](S);
 15.2820 +                                    break;
 15.2821 +                                    case "clip-rect":
 15.2822 +                                        now = [];
 15.2823 +                                        var i = 4;
 15.2824 +                                        while (i--) {
 15.2825 +                                            now[i] = +from[attr][i] + pos * ms * diff[attr][i];
 15.2826 +                                        }
 15.2827 +                                    break;
 15.2828 +                                }
 15.2829 +                                break;
 15.2830 +                        }
 15.2831 +                        set[attr] = now;
 15.2832 +                    }
 15.2833 +                    that.attr(set);
 15.2834 +                    that._run && that._run.call(that);
 15.2835 +                } else {
 15.2836 +                    if (to.along) {
 15.2837 +                        var point = getPointAtLength(to.along, to.len * !to.back);
 15.2838 +                        that.translate(diff.sx - (diff.x || 0) + point.x - diff.sx, diff.sy - (diff.y || 0) + point.y - diff.sy);
 15.2839 +                        to.rot && that.rotate(diff.r + point.alpha, point.x, point.y);
 15.2840 +                    }
 15.2841 +                    (t.x || t.y) && that.translate(-t.x, -t.y);
 15.2842 +                    to.scale && (to.scale = to.scale + E);
 15.2843 +                    that.attr(to);
 15.2844 +                    delete animationElements[l];
 15.2845 +                    animationElements[length]--;
 15.2846 +                    that.in_animation = null;
 15.2847 +                    R.is(callback, "function") && callback.call(that);
 15.2848 +                }
 15.2849 +                e.prev = time;
 15.2850 +            }
 15.2851 +            R.svg && that && that.paper.safari();
 15.2852 +            animationElements[length] && setTimeout(animation);
 15.2853 +        },
 15.2854 +        upto255 = function (color) {
 15.2855 +            return color > 255 ? 255 : (color < 0 ? 0 : color);
 15.2856 +        },
 15.2857 +        translate = function (x, y) {
 15.2858 +            if (x == null) {
 15.2859 +                return {x: this._.tx, y: this._.ty, toString: x_y};
 15.2860 +            }
 15.2861 +            this._.tx += +x;
 15.2862 +            this._.ty += +y;
 15.2863 +            switch (this.type) {
 15.2864 +                case "circle":
 15.2865 +                case "ellipse":
 15.2866 +                    this.attr({cx: +x + this.attrs.cx, cy: +y + this.attrs.cy});
 15.2867 +                    break;
 15.2868 +                case "rect":
 15.2869 +                case "image":
 15.2870 +                case "text":
 15.2871 +                    this.attr({x: +x + this.attrs.x, y: +y + this.attrs.y});
 15.2872 +                    break;
 15.2873 +                case "path":
 15.2874 +                    var path = pathToRelative(this.attrs.path);
 15.2875 +                    path[0][1] += +x;
 15.2876 +                    path[0][2] += +y;
 15.2877 +                    this.attr({path: path});
 15.2878 +                break;
 15.2879 +            }
 15.2880 +            return this;
 15.2881 +        };
 15.2882 +    Element[proto].animateWith = function (element, params, ms, easing, callback) {
 15.2883 +        animationElements[element.id] && (params.start = animationElements[element.id].start);
 15.2884 +        return this.animate(params, ms, easing, callback);
 15.2885 +    };
 15.2886 +    Element[proto].animateAlong = along();
 15.2887 +    Element[proto].animateAlongBack = along(1);
 15.2888 +    function along(isBack) {
 15.2889 +        return function (path, ms, rotate, callback) {
 15.2890 +            var params = {back: isBack};
 15.2891 +            R.is(rotate, "function") ? (callback = rotate) : (params.rot = rotate);
 15.2892 +            path && path.constructor == Element && (path = path.attrs.path);
 15.2893 +            path && (params.along = path);
 15.2894 +            return this.animate(params, ms, callback);
 15.2895 +        };
 15.2896 +    }
 15.2897 +    Element[proto].onAnimation = function (f) {
 15.2898 +        this._run = f || 0;
 15.2899 +        return this;
 15.2900 +    };
 15.2901 +    Element[proto].animate = function (params, ms, easing, callback) {
 15.2902 +        if (R.is(easing, "function") || !easing) {
 15.2903 +            callback = easing || null;
 15.2904 +        }
 15.2905 +        var from = {},
 15.2906 +            to = {},
 15.2907 +            diff = {};
 15.2908 +        for (var attr in params) if (params[has](attr)) {
 15.2909 +            if (availableAnimAttrs[has](attr)) {
 15.2910 +                from[attr] = this.attr(attr);
 15.2911 +                (from[attr] == null) && (from[attr] = availableAttrs[attr]);
 15.2912 +                to[attr] = params[attr];
 15.2913 +                switch (availableAnimAttrs[attr]) {
 15.2914 +                    case "along":
 15.2915 +                        var len = getTotalLength(params[attr]),
 15.2916 +                            point = getPointAtLength(params[attr], len * !!params.back),
 15.2917 +                            bb = this.getBBox();
 15.2918 +                        diff[attr] = len / ms;
 15.2919 +                        diff.tx = bb.x;
 15.2920 +                        diff.ty = bb.y;
 15.2921 +                        diff.sx = point.x;
 15.2922 +                        diff.sy = point.y;
 15.2923 +                        to.rot = params.rot;
 15.2924 +                        to.back = params.back;
 15.2925 +                        to.len = len;
 15.2926 +                        params.rot && (diff.r = toFloat(this.rotate()) || 0);
 15.2927 +                        break;
 15.2928 +                    case "number":
 15.2929 +                        diff[attr] = (to[attr] - from[attr]) / ms;
 15.2930 +                        break;
 15.2931 +                    case "colour":
 15.2932 +                        from[attr] = R.getRGB(from[attr]);
 15.2933 +                        var toColour = R.getRGB(to[attr]);
 15.2934 +                        diff[attr] = {
 15.2935 +                            r: (toColour.r - from[attr].r) / ms,
 15.2936 +                            g: (toColour.g - from[attr].g) / ms,
 15.2937 +                            b: (toColour.b - from[attr].b) / ms
 15.2938 +                        };
 15.2939 +                        break;
 15.2940 +                    case "path":
 15.2941 +                        var pathes = path2curve(from[attr], to[attr]);
 15.2942 +                        from[attr] = pathes[0];
 15.2943 +                        var toPath = pathes[1];
 15.2944 +                        diff[attr] = [];
 15.2945 +                        for (var i = 0, ii = from[attr][length]; i < ii; i++) {
 15.2946 +                            diff[attr][i] = [0];
 15.2947 +                            for (var j = 1, jj = from[attr][i][length]; j < jj; j++) {
 15.2948 +                                diff[attr][i][j] = (toPath[i][j] - from[attr][i][j]) / ms;
 15.2949 +                            }
 15.2950 +                        }
 15.2951 +                        break;
 15.2952 +                    case "csv":
 15.2953 +                        var values = (params[attr] + E)[split](separator),
 15.2954 +                            from2 = (from[attr] + E)[split](separator);
 15.2955 +                        switch (attr) {
 15.2956 +                            case "translation":
 15.2957 +                                from[attr] = [0, 0];
 15.2958 +                                diff[attr] = [values[0] / ms, values[1] / ms];
 15.2959 +                            break;
 15.2960 +                            case "rotation":
 15.2961 +                                from[attr] = (from2[1] == values[1] && from2[2] == values[2]) ? from2 : [0, values[1], values[2]];
 15.2962 +                                diff[attr] = [(values[0] - from[attr][0]) / ms, 0, 0];
 15.2963 +                            break;
 15.2964 +                            case "scale":
 15.2965 +                                params[attr] = values;
 15.2966 +                                from[attr] = (from[attr] + E)[split](separator);
 15.2967 +                                diff[attr] = [(values[0] - from[attr][0]) / ms, (values[1] - from[attr][1]) / ms, 0, 0];
 15.2968 +                            break;
 15.2969 +                            case "clip-rect":
 15.2970 +                                from[attr] = (from[attr] + E)[split](separator);
 15.2971 +                                diff[attr] = [];
 15.2972 +                                var i = 4;
 15.2973 +                                while (i--) {
 15.2974 +                                    diff[attr][i] = (values[i] - from[attr][i]) / ms;
 15.2975 +                                }
 15.2976 +                            break;
 15.2977 +                        }
 15.2978 +                        to[attr] = values;
 15.2979 +                }
 15.2980 +            }
 15.2981 +        }
 15.2982 +        this.stop();
 15.2983 +        this.in_animation = 1;
 15.2984 +        animationElements[this.id] = {
 15.2985 +            start: params.start || +new Date,
 15.2986 +            ms: ms,
 15.2987 +            easing: easing,
 15.2988 +            from: from,
 15.2989 +            diff: diff,
 15.2990 +            to: to,
 15.2991 +            el: this,
 15.2992 +            callback: callback,
 15.2993 +            t: {x: 0, y: 0}
 15.2994 +        };
 15.2995 +        ++animationElements[length] == 1 && animation();
 15.2996 +        return this;
 15.2997 +    };
 15.2998 +    Element[proto].stop = function () {
 15.2999 +        animationElements[this.id] && animationElements[length]--;
 15.3000 +        delete animationElements[this.id];
 15.3001 +        return this;
 15.3002 +    };
 15.3003 +    Element[proto].translate = function (x, y) {
 15.3004 +        return this.attr({translation: x + " " + y});
 15.3005 +    };
 15.3006 +    Element[proto][toString] = function () {
 15.3007 +        return "Rapha\xebl\u2019s object";
 15.3008 +    };
 15.3009 +    R.ae = animationElements;
 15.3010 + 
 15.3011 +    // Set
 15.3012 +    var Set = function (items) {
 15.3013 +        this.items = [];
 15.3014 +        this[length] = 0;
 15.3015 +        if (items) {
 15.3016 +            for (var i = 0, ii = items[length]; i < ii; i++) {
 15.3017 +                if (items[i] && (items[i].constructor == Element || items[i].constructor == Set)) {
 15.3018 +                    this[this.items[length]] = this.items[this.items[length]] = items[i];
 15.3019 +                    this[length]++;
 15.3020 +                }
 15.3021 +            }
 15.3022 +        }
 15.3023 +    };
 15.3024 +    Set[proto][push] = function () {
 15.3025 +        var item,
 15.3026 +            len;
 15.3027 +        for (var i = 0, ii = arguments[length]; i < ii; i++) {
 15.3028 +            item = arguments[i];
 15.3029 +            if (item && (item.constructor == Element || item.constructor == Set)) {
 15.3030 +                len = this.items[length];
 15.3031 +                this[len] = this.items[len] = item;
 15.3032 +                this[length]++;
 15.3033 +            }
 15.3034 +        }
 15.3035 +        return this;
 15.3036 +    };
 15.3037 +    Set[proto].pop = function () {
 15.3038 +        delete this[this[length]--];
 15.3039 +        return this.items.pop();
 15.3040 +    };
 15.3041 +    for (var method in Element[proto]) if (Element[proto][has](method)) {
 15.3042 +        Set[proto][method] = (function (methodname) {
 15.3043 +            return function () {
 15.3044 +                for (var i = 0, ii = this.items[length]; i < ii; i++) {
 15.3045 +                    this.items[i][methodname][apply](this.items[i], arguments);
 15.3046 +                }
 15.3047 +                return this;
 15.3048 +            };
 15.3049 +        })(method);
 15.3050 +    }
 15.3051 +    Set[proto].attr = function (name, value) {
 15.3052 +        if (name && R.is(name, "array") && R.is(name[0], "object")) {
 15.3053 +            for (var j = 0, jj = name[length]; j < jj; j++) {
 15.3054 +                this.items[j].attr(name[j]);
 15.3055 +            }
 15.3056 +        } else {
 15.3057 +            for (var i = 0, ii = this.items[length]; i < ii; i++) {
 15.3058 +                this.items[i].attr[apply](this.items[i], arguments);
 15.3059 +            }
 15.3060 +        }
 15.3061 +        return this;
 15.3062 +    };
 15.3063 +    Set[proto].animate = function (params, ms, easing, callback) {
 15.3064 +        (R.is(easing, "function") || !easing) && (callback = easing || null);
 15.3065 +        var len = this.items[length],
 15.3066 +            i = len,
 15.3067 +            set = this,
 15.3068 +            collector;
 15.3069 +        callback && (collector = function () {
 15.3070 +            !--len && callback.call(set);
 15.3071 +        });
 15.3072 +        this.items[--i].animate(params, ms, easing || collector, collector);
 15.3073 +        while (i--) {
 15.3074 +            this.items[i].animateWith(this.items[len - 1], params, ms, easing || collector, collector);
 15.3075 +        }
 15.3076 +        return this;
 15.3077 +    };
 15.3078 +    Set[proto].insertAfter = function (el) {
 15.3079 +        var i = this.items[length];
 15.3080 +        while (i--) {
 15.3081 +            this.items[i].insertAfter(el);
 15.3082 +        }
 15.3083 +        return this;
 15.3084 +    };
 15.3085 +    Set[proto].getBBox = function () {
 15.3086 +        var x = [],
 15.3087 +            y = [],
 15.3088 +            w = [],
 15.3089 +            h = [];
 15.3090 +        for (var i = this.items[length]; i--;) {
 15.3091 +            var box = this.items[i].getBBox();
 15.3092 +            x[push](box.x);
 15.3093 +            y[push](box.y);
 15.3094 +            w[push](box.x + box.width);
 15.3095 +            h[push](box.y + box.height);
 15.3096 +        }
 15.3097 +        x = mmin[apply](0, x);
 15.3098 +        y = mmin[apply](0, y);
 15.3099 +        return {
 15.3100 +            x: x,
 15.3101 +            y: y,
 15.3102 +            width: mmax[apply](0, w) - x,
 15.3103 +            height: mmax[apply](0, h) - y
 15.3104 +        };
 15.3105 +    };
 15.3106 + 
 15.3107 +    R.registerFont = function (font) {
 15.3108 +        if (!font.face) {
 15.3109 +            return font;
 15.3110 +        }
 15.3111 +        this.fonts = this.fonts || {};
 15.3112 +        var fontcopy = {
 15.3113 +                w: font.w,
 15.3114 +                face: {},
 15.3115 +                glyphs: {}
 15.3116 +            },
 15.3117 +            family = font.face["font-family"];
 15.3118 +        for (var prop in font.face) if (font.face[has](prop)) {
 15.3119 +            fontcopy.face[prop] = font.face[prop];
 15.3120 +        }
 15.3121 +        if (this.fonts[family]) {
 15.3122 +            this.fonts[family][push](fontcopy);
 15.3123 +        } else {
 15.3124 +            this.fonts[family] = [fontcopy];
 15.3125 +        }
 15.3126 +        if (!font.svg) {
 15.3127 +            fontcopy.face["units-per-em"] = toInt(font.face["units-per-em"], 10);
 15.3128 +            for (var glyph in font.glyphs) if (font.glyphs[has](glyph)) {
 15.3129 +                var path = font.glyphs[glyph];
 15.3130 +                fontcopy.glyphs[glyph] = {
 15.3131 +                    w: path.w,
 15.3132 +                    k: {},
 15.3133 +                    d: path.d && "M" + path.d[rp](/[mlcxtrv]/g, function (command) {
 15.3134 +                            return {l: "L", c: "C", x: "z", t: "m", r: "l", v: "c"}[command] || "M";
 15.3135 +                        }) + "z"
 15.3136 +                };
 15.3137 +                if (path.k) {
 15.3138 +                    for (var k in path.k) if (path[has](k)) {
 15.3139 +                        fontcopy.glyphs[glyph].k[k] = path.k[k];
 15.3140 +                    }
 15.3141 +                }
 15.3142 +            }
 15.3143 +        }
 15.3144 +        return font;
 15.3145 +    };
 15.3146 +    Paper[proto].getFont = function (family, weight, style, stretch) {
 15.3147 +        stretch = stretch || "normal";
 15.3148 +        style = style || "normal";
 15.3149 +        weight = +weight || {normal: 400, bold: 700, lighter: 300, bolder: 800}[weight] || 400;
 15.3150 +        var font = R.fonts[family];
 15.3151 +        if (!font) {
 15.3152 +            var name = new RegExp("(^|\\s)" + family[rp](/[^\w\d\s+!~.:_-]/g, E) + "(\\s|$)", "i");
 15.3153 +            for (var fontName in R.fonts) if (R.fonts[has](fontName)) {
 15.3154 +                if (name.test(fontName)) {
 15.3155 +                    font = R.fonts[fontName];
 15.3156 +                    break;
 15.3157 +                }
 15.3158 +            }
 15.3159 +        }
 15.3160 +        var thefont;
 15.3161 +        if (font) {
 15.3162 +            for (var i = 0, ii = font[length]; i < ii; i++) {
 15.3163 +                thefont = font[i];
 15.3164 +                if (thefont.face["font-weight"] == weight && (thefont.face["font-style"] == style || !thefont.face["font-style"]) && thefont.face["font-stretch"] == stretch) {
 15.3165 +                    break;
 15.3166 +                }
 15.3167 +            }
 15.3168 +        }
 15.3169 +        return thefont;
 15.3170 +    };
 15.3171 +    Paper[proto].print = function (x, y, string, font, size, origin) {
 15.3172 +        origin = origin || "middle"; // baseline|middle
 15.3173 +        var out = this.set(),
 15.3174 +            letters = (string + E)[split](E),
 15.3175 +            shift = 0,
 15.3176 +            path = E,
 15.3177 +            scale;
 15.3178 +        R.is(font, "string") && (font = this.getFont(font));
 15.3179 +        if (font) {
 15.3180 +            scale = (size || 16) / font.face["units-per-em"];
 15.3181 +            var bb = font.face.bbox.split(separator),
 15.3182 +                top = +bb[0],
 15.3183 +                height = +bb[1] + (origin == "baseline" ? bb[3] - bb[1] + (+font.face.descent) : (bb[3] - bb[1]) / 2);
 15.3184 +            for (var i = 0, ii = letters[length]; i < ii; i++) {
 15.3185 +                var prev = i && font.glyphs[letters[i - 1]] || {},
 15.3186 +                    curr = font.glyphs[letters[i]];
 15.3187 +                shift += i ? (prev.w || font.w) + (prev.k && prev.k[letters[i]] || 0) : 0;
 15.3188 +                curr && curr.d && out[push](this.path(curr.d).attr({fill: "#000", stroke: "none", translation: [shift, 0]}));
 15.3189 +            }
 15.3190 +            out.scale(scale, scale, top, height).translate(x - top, y - height);
 15.3191 +        }
 15.3192 +        return out;
 15.3193 +    };
 15.3194 + 
 15.3195 +    R.format = function (token) {
 15.3196 +        var args = R.is(arguments[1], "array") ? [0][concat](arguments[1]) : arguments,
 15.3197 +            rg = /\{(\d+)\}/g;
 15.3198 +        token && R.is(token, "string") && args[length] - 1 && (token = token[rp](rg, function (str, i) {
 15.3199 +            return args[++i] == null ? E : args[i];
 15.3200 +        }));
 15.3201 +        return token || E;
 15.3202 +    };
 15.3203 +    R.ninja = function () {
 15.3204 +        var r = win.Raphael, u;
 15.3205 +        if (oldRaphael.was) {
 15.3206 +            win.Raphael = oldRaphael.is;
 15.3207 +        } else {
 15.3208 +            try {
 15.3209 +                delete win.Raphael;
 15.3210 +            } catch (e) {
 15.3211 +                win.Raphael = u;
 15.3212 +            }
 15.3213 +        }
 15.3214 +        return r;
 15.3215 +    };
 15.3216 +    R.el = Element[proto];
 15.3217 +    return R;
 15.3218 +})();
    16.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    16.2 +++ b/buy_files/sexy.css	Sun Jan 31 12:33:33 2010 -0500
    16.3 @@ -0,0 +1,262 @@
    16.4 +
    16.5 +
    16.6 +div#whole
    16.7 +{
    16.8 +  width: 1100px ;
    16.9 +  margin-top:25px;
   16.10 +  margin-left: auto ;
   16.11 +  margin-right: auto ;
   16.12 +  clear: right;
   16.13 +}
   16.14 +
   16.15 +
   16.16 +         
   16.17 +
   16.18 +
   16.19 +/* stuff dealing with the templates on the left */
   16.20 +
   16.21 +
   16.22 +div#i_templates
   16.23 +{
   16.24 +
   16.25 +color: white;
   16.26 +background-color:#000000;
   16.27 +text-align: left;
   16.28 +font: bold 32px "arial", "sans-serif";
   16.29 +
   16.30 +padding:10px;
   16.31 +padding-top: 15px;
   16.32 +border-style:solid;
   16.33 +border-color:#ffffff;
   16.34 +border-width:1px;
   16.35 +
   16.36 +float: left;
   16.37 +width: auto;
   16.38 +margin-right: 7px;
   16.39 +
   16.40 +}
   16.41 +
   16.42 +input#template1,input#template2,input#template3,input#template4, input#clear_acr, input#green_acr
   16.43 +{
   16.44 +padding:3px;
   16.45 +border-width:1px;
   16.46 +}
   16.47 +
   16.48 +
   16.49 +/*************************************************************************/
   16.50 +
   16.51 +
   16.52 +/* Display in the middle */
   16.53 +
   16.54 +div#centerbox
   16.55 +{
   16.56 +
   16.57 +float:left;
   16.58 +margin-top:0px;
   16.59 +margin-left:10px;
   16.60 +margin-right:10px;
   16.61 +width:515px;
   16.62 +padding:5px;
   16.63 +background-color:#000;
   16.64 +}
   16.65 +
   16.66 +
   16.67 +div#disp_contain
   16.68 +{
   16.69 +position: absolute;
   16.70 +z-index:10;
   16.71 +top:73px;
   16.72 +
   16.73 +}
   16.74 +
   16.75 +div#display 
   16.76 +{
   16.77 +position: absolute;
   16.78 +top:73px;
   16.79 +background-color:#000000;
   16.80 +z-index: 5;
   16.81 +}
   16.82 +
   16.83 +div#pokedex
   16.84 +{
   16.85 +position: absolute;
   16.86 +width: 453px;
   16.87 +top: 415px;
   16.88 +padding : 30px;
   16.89 +clear:right;
   16.90 +float:none;
   16.91 +background-color:#000000;
   16.92 +border-style:solid;
   16.93 +border-color:#ffffff;
   16.94 +border-width:1px;
   16.95 +
   16.96 +font: bold 16px "helvetica","arial", "sans-serif";
   16.97 +color: white;
   16.98 +}
   16.99 +
  16.100 +
  16.101 +/*************************************************************************/
  16.102 +
  16.103 +
  16.104 +
  16.105 +
  16.106 +
  16.107 +
  16.108 +
  16.109 +
  16.110 +/* the "input your information form on the right */
  16.111 +
  16.112 +
  16.113 +div#i_inputbox
  16.114 +{
  16.115 +
  16.116 +padding-left:10px;
  16.117 +padding-top:10px;
  16.118 +padding-right:0px;
  16.119 +border-style:solid;
  16.120 +border-color:#ffffff;
  16.121 +border-width:1px;
  16.122 +padding-bottom:10px;
  16.123 +
  16.124 +font: bold 14px "helvetica","arial", "sans-serif";
  16.125 +color: white;
  16.126 +
  16.127 +float:left;
  16.128 +width:240px;
  16.129 +clear:right;
  16.130 +margin-left: 7px;
  16.131 +
  16.132 +background-color:#000000;
  16.133 +}
  16.134 +         
  16.135 +div.descript
  16.136 +{
  16.137 +font: bold 16px "helvetica","arial", "sans-serif";
  16.138 +color: white;
  16.139 +margin-bottom: 15px;
  16.140 +background-color: #000000;
  16.141 +}
  16.142 +
  16.143 +
  16.144 +/*************************************************************************/
  16.145 +
  16.146 +
  16.147 +
  16.148 +/* try to make teh copyright appear correctly on the bottom*/
  16.149 +
  16.150 +
  16.151 +div#copyright
  16.152 +{
  16.153 +position:relative;
  16.154 +font: bold 16px "helvetica","arial", "sans-serif";
  16.155 +color: white;
  16.156 +margin-left:auto;
  16.157 +margin-right: auto;
  16.158 +clear:left;
  16.159 +
  16.160 +}
  16.161 +
  16.162 +/*************************************************************************/
  16.163 +
  16.164 +
  16.165 +
  16.166 +
  16.167 +h1 
  16.168 +{
  16.169 +padding: 0px;
  16.170 +margin:0px;
  16.171 +margin-bottom: 10px;
  16.172 +color: white;
  16.173 +background-color:#000000;
  16.174 +text-align: center;
  16.175 +font: bold 32px "arial", "sans-serif";
  16.176 +}
  16.177 +
  16.178 +
  16.179 +/*  stuff for the paypal button */
  16.180 +
  16.181 +div#buttoncon
  16.182 +{
  16.183 +position:relative;
  16.184 +}
  16.185 +
  16.186 +
  16.187 +div#vanish
  16.188 +{
  16.189 +position:absolute;
  16.190 +top:0px;
  16.191 +left:0px;
  16.192 +z-index:2;
  16.193 +}
  16.194 +
  16.195 +div#crush
  16.196 +{
  16.197 +position:relative;
  16.198 +left:8px;
  16.199 +top:0px;
  16.200 +z-index:1;
  16.201 +}
  16.202 +
  16.203 +/* end paypal button stuff */
  16.204 +
  16.205 +
  16.206 +/*stupid stuff for the headers and whatnot */
  16.207 +
  16.208 +
  16.209 +div.ttyl
  16.210 +{
  16.211 +padding-top: 0px;
  16.212 +padding-left: 10px;
  16.213 +
  16.214 +}
  16.215 +div.ttyls
  16.216 +{
  16.217 +padding-top:6px;
  16.218 +padding-left: 0px;
  16.219 +
  16.220 +}
  16.221 +
  16.222 +div#stupid
  16.223 +{
  16.224 +padding-top: 7px;
  16.225 +
  16.226 +}
  16.227 +
  16.228 +
  16.229 +
  16.230 +titletron
  16.231 +{
  16.232 +color: white;
  16.233 +background-color:#00000;
  16.234 +font: bold 32px "arial", "sans-serif";
  16.235 +}
  16.236 +
  16.237 +
  16.238 +
  16.239 +
  16.240 +/* end stupid header stuff  */
  16.241 +
  16.242 +div#i_materials
  16.243 +{
  16.244 +
  16.245 +display: none;
  16.246 +padding:5px;
  16.247 +border-style:solid;
  16.248 +border-color:#79797b;
  16.249 +border-width:1px;
  16.250 +
  16.251 +width:auto;
  16.252 +float:left;
  16.253 +
  16.254 +background-color:#000000;
  16.255 +
  16.256 +}
  16.257 +
  16.258 +
  16.259 +
  16.260 +
  16.261 +
  16.262 +
  16.263 +
  16.264 +
  16.265 +
    17.1 --- a/buycode.js	Thu Jan 28 15:06:52 2010 -0500
    17.2 +++ b/buycode.js	Sun Jan 31 12:33:33 2010 -0500
    17.3 @@ -1,7 +1,8 @@
    17.4  
    17.5  
    17.6 -function clearDefault(el) {
    17.7 -if (el.defaultValue==el.value) el.value = ""
    17.8 +function clearDefault(el) 
    17.9 +{
   17.10 +if (el.defaultValue==el.value) {el.select();}
   17.11  }
   17.12  
   17.13  
    18.1 --- a/log/error_log.log	Thu Jan 28 15:06:52 2010 -0500
    18.2 +++ b/log/error_log.log	Sun Jan 31 12:33:33 2010 -0500
    18.3 @@ -257,3 +257,8 @@
    18.4  [Thu Jan 28 04:27:52 2010] [error] [client 18.238.5.117] File does not exist: /home/rlm/Desktop/web/laserkard/favicon.ico
    18.5  [Thu Jan 28 04:28:29 2010] [error] [client 18.238.5.117] File does not exist: /home/rlm/Desktop/web/laserkard/favicon.ico
    18.6  [Thu Jan 28 15:04:02 2010] [error] [client 18.238.5.117] File does not exist: /home/rlm/Desktop/web/laserkard/favicon.ico
    18.7 +[Thu Jan 28 15:10:52 2010] [error] [client 18.238.5.117] File does not exist: /home/rlm/Desktop/web/laserkard/favicon.ico
    18.8 +[Fri Jan 29 16:00:19 2010] [error] [client 18.238.1.90] File does not exist: /home/rlm/Desktop/web/laserkard/favicon.ico
    18.9 +[Fri Jan 29 16:00:22 2010] [error] [client 18.238.1.90] File does not exist: /home/rlm/Desktop/web/laserkard/favicon.ico
   18.10 +[Sun Jan 31 12:15:38 2010] [error] [client 18.238.1.90] File does not exist: /home/rlm/Desktop/web/laserkard/favicon.ico
   18.11 +[Sun Jan 31 12:15:41 2010] [error] [client 18.238.1.90] File does not exist: /home/rlm/Desktop/web/laserkard/favicon.ico
    19.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    19.2 +++ b/onlypaths/aut.txt	Sun Jan 31 12:33:33 2010 -0500
    19.3 @@ -0,0 +1,1 @@
    19.4 +[{type:"doc", left:0, top:0, width:20, height:10, viewBox:"0 0 20 10", bgcolor:"#ffffff", title:"", link:"", meta:""}, {"id":"shape:4a150f8e-9dbe-035f-9fb7-f572d9062d27","type":"roundrect","transform":"","fillColor":"#e1e1df","lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":1,"rx":0,"ry":0,"left":0.120683,"top":0.0862122,"width":23.25,"height":9.93103},{"id":"shape:0f19fc1e-b306-de45-778e-eeb423412f7f","type":"line","transform":"","fillColor":"#ff2bf8","lineColor":"#2b2bff","fillOpac":null,"lineOpac":null,"lineWidth":1,"left":6.66379,"top":4.27586,"width":2.379310000000001,"height":-1.44827},{"id":"shape:f6841e1d-64bd-3655-9399-f43baf891df7","type":"line","transform":"","fillColor":"#ff2bf8","lineColor":"#2b2bff","fillOpac":null,"lineOpac":null,"lineWidth":1,"left":5.60345,"top":4.27586,"width":-2.0689699999999998,"height":-1.7844799999999998},{"id":"shape:58162353-7466-d10b-f6e6-82e9c770ba25","type":"line","transform":"","fillColor":"#ff2bf8","lineColor":"#2b2bff","fillOpac":null,"lineOpac":null,"lineWidth":1,"left":4.87931,"top":4.97414,"width":-2.12069,"height":0.90517},{"id":"shape:ec87977d-522f-bd6c-3060-c06b3f792c4d","type":"line","transform":"","fillColor":"#ff2bf8","lineColor":"#2b2bff","fillOpac":null,"lineOpac":null,"lineWidth":1,"left":5.60345,"top":6.06034,"width":-0.2068999999999992,"height":1.8879399999999995},{"id":"shape:4cb55790-b275-371e-8a1b-37e01241ec8c","type":"line","transform":"","fillColor":"#ff2bf8","lineColor":"#2b2bff","fillOpac":null,"lineOpac":null,"lineWidth":1,"left":7,"top":5.67241,"width":2.043100000000001,"height":1.8103499999999997},{"id":"shape:82a5efe2-c927-9b19-a11f-285f2ffb2dd9","type":"ellipse","transform":"","fillColor":"#ff2bf8","lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":1,"width":3.69828,"height":3.62232,"left":4.439649999999999,"top":3.0343999999999998},{"id":"shape:f079375f-7ce7-e5b6-18f1-7e0617984364","type":"path","transform":"","fillColor":"#ff2bf8","lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":1,"points":"M0,0 L1,1"},{"id":"shape:9fc970ae-52ca-0b23-08f0-d9c06b1efd8c","type":"path","transform":"","fillColor":"#ff2bf8","lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":1,"points":"M 18.249999999999996,5.310344827586206 Lz"},{"id":"shape:64a4c060-7bc2-7544-632c-6119e00759ef","type":"path","transform":"","fillColor":"#ff2bf8","lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":1,"points":"M17.3707,6.55172 L17.681,6.5 z"},{"id":"shape:a5bee418-01c0-daea-6a84-7a30f22cd858","type":"path","transform":"","fillColor":"#ff2bf8","lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":1,"points":"M15.431,4.61207 L15.6897,5.07759 z"},{"id":"shape:b758934c-1485-992c-a109-84e1de6cd70d","type":"line","transform":"","fillColor":"#005aff","lineColor":"#ff00f7","fillOpac":null,"lineOpac":null,"lineWidth":1,"left":16.0517,"top":2.07758,"width":3.1035000000000004,"height":1.5775899999999998},{"id":"shape:4bb4b4e1-1a27-f0c7-ddca-6913daa523fb","type":"line","transform":"","fillColor":"#d4b680","lineColor":"#ff00f7","fillOpac":null,"lineOpac":null,"lineWidth":1,"left":16.0776,"top":3.2931,"width":4.086199999999998,"height":1.93966},{"id":"shape:c77d4177-50ba-c6da-8b11-4a9b01f6675f","type":"line","transform":"","fillColor":"#005aff","lineColor":"#ff00f7","fillOpac":null,"lineOpac":null,"lineWidth":1,"left":14.6293,"top":4.63794,"width":3.4862,"height":1.74301},{"id":"shape:8c04e01f-8b49-b667-60d1-a0913beb326b","type":"line","transform":"","fillColor":"#005aff","lineColor":"#ff00f7","fillOpac":null,"lineOpac":null,"lineWidth":1,"left":17.9397,"top":4.76724,"width":1.9655000000000022,"height":1.3448399999999996},{"id":"shape:7e6224ff-d635-e0d9-5094-50f4476b815e","type":"line","transform":"","fillColor":"#005aff","lineColor":"#ff00f7","fillOpac":null,"lineOpac":null,"lineWidth":1,"left":17.8621,"top":3.81035,"width":2.6895999999999987,"height":0.3879199999999998},{"id":"shape:e1b846e0-4804-35ec-90c1-878e5025f92c","type":"path","transform":"","fillColor":"#005aff","lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":1,"points":"M16.362,3.78449 L16.362,3.75863 L16.362,3.73277 L16.362,3.70691 L16.362,3.68104 L16.362,3.65518 L16.362,3.62932 L16.362,3.60346 L16.362,3.55173 L16.362,3.52587 L16.362,3.50001 L16.362,3.47415 L16.362,3.44828 L16.3878,3.39656 L16.4137,3.34484 L16.4137,3.31897 L16.4396,3.26725 L16.4654,3.21553 L16.4913,3.18966 L16.543,3.11208 L16.6723,3.03449 L16.7499,2.98277 L16.8792,2.90518 L17.0603,2.82759 L17.1896,2.75001 L17.3189,2.72415 L17.5258,2.64656 L17.681,2.59484 L17.8878,2.54311 L17.9913,2.54311 L18.0689,2.54311 L18.1465,2.54311 L18.3016,2.59484 L18.4051,2.6207 L18.5603,2.72415 L18.6378,2.77587 L18.793,2.90518 L18.9482,3.00863 L19.1292,3.18966 L19.3361,3.47415 L19.4654,3.70691 L19.6206,3.99139 L19.6723,4.17242 L19.7241,4.43104 L19.7241,4.74139 L19.6465,5.02587 L19.5947,5.20691 L19.5172,5.38794 L19.4396,5.51725 L19.3103,5.67242 L19.1551,5.77587 L19.0258,5.90518 L18.9223,6.00863 L18.8189,6.13794 L18.6378,6.26725 L18.4051,6.42242 L18.3016,6.50001 L18.1982,6.55173 L18.1206,6.57759 L18.0689,6.57759 L17.9913,6.62932 L17.9396,6.62932 L17.862,6.62932 L17.7585,6.62932 L17.7068,6.62932 L17.5516,6.57759 L17.4482,6.57759 L17.3706,6.55173 L17.2672,6.52587 L17.2154,6.50001 L17.1378,6.44828 L17.0861,6.42242 L17.0085,6.39656 L16.9568,6.3707 L16.8534,6.29311 L16.7758,6.24139 L16.6982,6.18966 L16.5947,6.11208 L16.543,6.06035 L16.5172,6.00863 L16.5172,5.95691 L16.4654,5.87932 L16.3878,5.82759 L16.362,5.69828 L16.362,5.59484 L16.3878,5.49139 L16.4654,5.38794 L16.543,5.28449 L16.7241,5.15518 L16.8792,5.07759 L16.9827,5.02587 L17.112,4.94828 L17.2154,4.8707 L17.3189,4.79311 L17.4741,4.6638 L17.5775,4.58622 L17.6292,4.56035 L17.6551,4.50863 L17.6551,4.48277 L17.6292,4.45691 L17.5775,4.45691 L17.4223,4.45691 L17.2154,4.45691 L17.1378,4.45691 L17.0344,4.45691 L16.9827,4.45691 L16.8792,4.48277 L16.7758,4.53449 L16.6723,4.58622 L16.6206,4.61208 L16.543,4.63794 L16.4396,4.6638 L16.3361,4.6638 L16.2327,4.68966 L16.1551,4.68966 L16.1034,4.68966 L16.0516,4.68966 L16.0258,4.68966 L15.9999,4.68966 L15.9482,4.63794 L15.8965,4.61208 L15.8447,4.53449 L15.793,4.50863 L15.7672,4.45691 L15.7413,4.40518 L15.7154,4.35346 L15.7154,4.30173 L15.6896,4.22415 L15.6896,4.17242 L15.6896,4.1207 L15.6896,4.06897 L15.6896,4.01725 L15.6896,3.96553 L15.7154,3.93966 L15.793,3.9138 L15.8706,3.9138 L15.8965,3.9138 L15.9223,3.9138 L15.9741,3.9138 L15.9999,3.9138 L16.0516,3.9138 L16.0775,3.9138 L16.1034,3.9138 L16.1292,3.9138 L16.1551,3.9138 L16.181,3.9138 L16.2068,3.9138 L16.2327,3.9138 L16.2327,3.88794 z"},{"id":"shape:f9515bac-199e-fe9f-4f1e-e7bcf431161f","type":"image","transform":"","fillColor":null,"lineColor":null,"fillOpac":null,"lineOpac":null,"lineWidth":null,"left":6.76724,"top":0.784483,"width":5.25,"height":2.40517,"href":"http://www.google.es/search?q=Equinoccio+de+oto%C3%B1o&hl=es"},{"id":"shape:ef34cf85-7f96-836a-6273-821a5c5c0eb5","type":"image","transform":"","fillColor":null,"lineColor":null,"fillOpac":null,"lineOpac":null,"lineWidth":null,"left":7.15517,"top":1.76724,"width":0.0258621,"height":0,"href":"http://www.google.es/search?q=Equinoccio+de+oto%C3%B1o&hl=es"},{"id":"shape:a4c70486-24a5-5986-a9d5-fa819c875922","type":"image","transform":"","fillColor":null,"lineColor":null,"fillOpac":null,"lineOpac":null,"lineWidth":null,"left":6.63793,"top":2,"width":0.594828,"height":0.336207,"href":"http://www.google.es/search?q=Equinoccio+de+oto%C3%B1o&hl=es"},{"id":"shape:94015f1c-8214-b2cd-c529-b3e3a2eb8716","type":"image","transform":"","fillColor":null,"lineColor":null,"fillOpac":null,"lineOpac":null,"lineWidth":null,"left":4.43966,"top":1.68966,"width":1.5,"height":0.724138,"href":"http://www.google.es/search?q=Equinoccio+de+oto%C3%B1o&hl=es"},{"id":"shape:fba0cf77-2c92-68bd-1f4a-b0b26b1562fd","type":"image","transform":"","fillColor":null,"lineColor":null,"fillOpac":null,"lineOpac":null,"lineWidth":null,"left":4.77586,"top":1.66379,"width":2.48276,"height":2.74138,"href":"http://www.google.es/search?q=Equinoccio+de+oto%C3%B1o&hl=es"},{"id":"shape:82e2e1ce-4991-7527-9cc9-53185ca6e1f3","type":"image","transform":"","fillColor":null,"lineColor":null,"fillOpac":null,"lineOpac":null,"lineWidth":null,"left":8.75862,"top":4.01724,"width":1.26724,"height":0.905172,"href":"http://www.google.es/search?q=Equinoccio+de+oto%C3%B1o&hl=es"},{"id":"shape:edd03253-0708-f734-9d55-f30b9df50adf","type":"image","transform":"","fillColor":"none","lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"left":9.01724,"top":3.29441,"width":3.56418,"height":2.76595,"href":"http://www.robertocarballo.com/wp-content/uploads/2007/08/otono.jpg"},{"id":"shape:a089b419-03d0-b8ad-9247-e7a839fc0e9b","type":"text","transform":"","textFamily":"Arial","textSize":3,"top":2.46552,"left":7.90517,"text":"Autoumn?","lineWidth":1,"fillColor":"#d4b680","lineColor":"none","fillOpac":null,"lineOpac":null},{"id":"shape:d572d95e-0ebb-6032-adcf-a03f62860769","type":"path","transform":"","fillColor":"#48494b","lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":1,"points":"M16.931,3.42241 L17.1121,3.47414 L17.319,3.52586 L17.7069,3.5 L18.069,3.39655 L18.2241,3.31897 L18.2241,3.2931 L18.2241,3.26724 L18.0172,3.68103 L17.8362,3.91379 L17.6552,4.0431 L16.8276,3.88793 L16.8534,3.86207 z"},{"id":"shape:f0bc4727-356d-9fd1-3108-be0d9d28197d","type":"path","transform":"","fillColor":"#48494b","lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":1,"points":"M6.19828,4.43103 L5.96552,3.99138 L5.93966,4.01724 L5.83621,4.12069 L5.83621,4.22414 L5.86207,4.30172 L5.86207,4.40517 L5.86207,4.50862 L5.86207,4.56034 L5.88793,4.66379 L6.01724,4.76724 L6.22414,4.76724 L6.48276,4.71552 L6.71552,4.61207 L6.74138,4.53448 L6.76724,4.4569 L6.76724,4.37931 L6.76724,4.35345 L6.76724,4.32759 L6.71552,4.25 L6.61207,4.19828 L6.53448,4.14655 L6.4569,4.06897 L6.35345,4.0431 L6.22414,4.01724 L6.17241,4.01724 L6.14655,4.01724 L6.12069,4.01724 L6.09483,4.01724 L6.09483,4.0431 L6.09483,4.06897 L6.06897,4.06897 z"},{"id":"shape:58c642a0-b31f-6e39-873f-4a2d2a0b4bf2","type":"path","transform":"","fillColor":"#48494b","lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":1,"points":"M7.51724,5.25862 L7.69828,5.12931 L7.85345,5 L7.85345,4.97414 z"},{"id":"shape:8b4cc03b-25c3-795f-17fa-1f6546ba3451","type":"path","transform":"","fillColor":"#48494b","lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":1,"points":"M7.85345,5.07759 L7.82759,5.15517 L7.75,5.23276 z"},{"id":"shape:758f6b78-29e1-052b-6b4a-18fdc4f1d251","type":"path","transform":"","fillColor":"#48494b","lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":1,"points":"M 6.741379310344826,5.594827586206896 Lz"},{"id":"shape:7585518f-505e-419b-b114-36bed061971e","type":"path","transform":"","fillColor":"#48494b","lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":1,"points":"M7.23276,5.33621 L7.5431,5.18103 L7.77586,5.05172 L7.80172,5 L7.62069,5.25862 L7.43966,5.41379 L7.38793,5.41379 z"},{"id":"shape:fcf00e61-4ce5-b3cc-2ba3-7279404dd6c5","type":"path","transform":"","fillColor":"#48494b","lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":1,"points":"M 17.551724137931036,5.4655172413793105 Lz"},{"id":"shape:68f8f733-ff53-4663-0ce3-db8dea781241","type":"path","transform":"","fillColor":"#48494b","lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":1,"points":"M17.9138,5.28448 L18.0431,5.25862 L18.25,5.15517 z"},{"id":"shape:89afbcab-c6c7-73e2-3fd5-63fa91e9a0ae","type":"path","transform":"","fillColor":"#48494b","lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":1,"points":"M17.8879,5.41379 L18.1207,5.41379 L18.2241,5.36207 L18.3534,5.28448 L18.3793,5.23276 L18.3534,5.23276 L17.9138,5.46552 L17.1638,5.80172 L17.0603,5.80172 L16.7759,5.80172 L16.75,5.80172 L16.7241,5.80172 L16.7241,5.77586 L16.6207,5.64655 L16.5948,5.46552 L16.5948,5.41379 L16.569,5.38793 L16.5431,5.33621 L16.5948,5.28448 L16.6983,5.31034 L16.75,5.33621 L16.8534,5.33621 L16.9052,5.33621 z"}]
    19.5 \ No newline at end of file
    20.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    20.2 +++ b/onlypaths/big01.txt	Sun Jan 31 12:33:33 2010 -0500
    20.3 @@ -0,0 +1,1 @@
    20.4 +[{type:"doc", left:0, top:0, width:800, height:600, viewBox:"0 0 800 600", bgcolor:"#aa4100", title:"", link:"", meta:""},{"id":"shape:ad345e8b-686e-deec-2812-2223b824c141","type":"rect","transform":"","fillColor":"#ff0000","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"left":-553,"top":-51,"width":92,"height":221},{"id":"shape:024a6285-4065-9d82-6bf4-4523b069474b","type":"rect","transform":"","fillColor":"#aa5555","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"left":-56,"top":65.5,"width":65,"height":66.5},{"id":"shape:bd939915-d845-bcaa-7066-5b56d0235eb1","type":"rect","transform":"","fillColor":"#ff2b2b","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"left":-212,"top":-18.5,"width":47,"height":64.5},{"id":"shape:4644bdbf-a36b-e767-a5bb-60e5255e7cdf","type":"rect","transform":"","fillColor":"#ff3f00","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"left":267,"top":262.5,"width":102,"height":101.5},{"id":"shape:5c84e41e-c6ad-835d-4d7e-0d5587003bc5","type":"rect","transform":"","fillColor":"#ff0000","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"left":593,"top":202.5,"width":57,"height":52.5},{"id":"shape:bfca0e71-6797-34c6-57c0-c877f152167b","type":"rect","transform":"","fillColor":"#ff0000","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"left":129,"top":121.5,"width":44.3908,"height":65.448},{"id":"shape:e4c510a0-b2e8-6f6d-9847-3418d10c6538","type":"rect","transform":"","fillColor":"#ff0000","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"left":41,"top":120.5,"width":68,"height":66.5},{"id":"shape:476b6e25-0bc9-893c-d11c-ebd0c65c2818","type":"rect","transform":"","fillColor":"#ff8080","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"left":407,"top":319.5,"width":80,"height":74.5},{"id":"shape:cca4956b-0143-d4d9-0dee-d98259660d27","type":"ellipse","transform":"","fillColor":"#2b2b2b","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"width":79.7336,"height":73.2682,"left":-118.0998,"top":-44.602639999999994},{"id":"shape:b511fb11-686e-36c8-d1db-c40e28c84345","type":"path","transform":"","fillColor":"#ff0000","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M-25,-23 L-25,-25 L-21,-36 L-9,-45 L8,-48 L20,-42 L31,-30 L36,-15 L33,-1.70419e-13 L27,20 L4,34 L-10,35 L-53,28 L-59,27 L-69,18 L-80,7 L-92,-3 L-107,-17 L-108,-18 L-108,-19 L-109,-20 L-108,-22 L-103,-22 L-96,-23 L-88,-23 L-85,-21 L-83,-18 L-80,-12 L-77,-5 L-74,1 L-72,6 L-67,12 L-61,16 L-53,21 L-47,21 L-41,21 L-35,18 L-34,16 L-34,13 L-34,11 L-35,9 L-37,7 L-38,5 L-41,3 L-44,1 L-53,-2 L-59,-3 L-61,-4 L-63,-5 L-65,-7 L-67,-10 L-68,-11 L-68,-16 L-68,-23 L-65,-27 L-61,-29 L-57,-31 L-49,-31 L-46,-31 L-44,-28 L-41,-25 L-39,-20 L-39,-17 L-43,-15 L-47,-14 L-50,-13 L-52,-12 L-54,-11 L-55,-11 L-56,-10 L-55,-10 L-53,-9 L-49,-7 L-46,-7 L-45,-7 L-41,-7 L-36,-7 L-33,-7 L-31,-7 L-28,-6 L-25,-4 L-20,-2 L-17,-1.70419e-13 L-14,1 L-12,2 L-11,2 L-10,3 L-9,3 L-9,4 L-8,4 L-8,6 L-8,7 L-8,8 L-8,9 L-8,8 z"},{"id":"shape:b66ba1a2-35e3-d19f-aa11-6ba608978d47","type":"path","transform":"","fillColor":"#d52b2b","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M210,140.5 L210,139.5 L210,131.5 L213,121.5 L246,111.5 L267,112.5 L279,130.5 L281,158.5 L279,179.5 L263,191.5 L222,191.5 L221,190.5 L248,205.5 L294,232.5 L307,242.5 L303,248.5 L298,252.5 L294,250.5 L289,241.5 L283,234.5 L272,232.5 L267,232.5 L242,218.5 L228,212.5 L210,211.5 L208,211.5 L204,205.5 L203,200.5 L203,195.5 L203,192.5 L203,188.5 L203,186.5 L203,185.5 L203,183.5 L204,180.5 L209,177.5 L215,174.5 L219,173.5 L221,172.5 L222,170.5 L225,168.5 L229,166.5 L230,165.5 L230,163.5 L231,162.5 L232,159.5 L232,158.5 L232,157.5 L232,154.5 L231,152.5 L230,152.5 L229,151.5 L228,150.5 L224,149.5 L217,149.5 L214,151.5 L213,152.5 L212,152.5 L212,151.5 L211,150.5 L210,149.5 L209,148.5 L208,148.5 L208,147.5 z"},{"id":"shape:8f098032-89e5-23ca-83cc-da5b995719f6","type":"text","transform":"","textFamily":"Arial","textSize":90,"top":182.5,"left":162,"text":"BIG 01","lineWidth":1,"fillColor":"#aa4100","lineColor":"none","fillOpac":1,"lineOpac":1},{"id":"shape:c8fc5771-6dcd-3b56-5935-5650d374a34f","type":"image","transform":"","fillColor":"#ff0000","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"left":410,"top":125.5,"width":222,"height":175.745,"href":"http://www.wtv-zone.com/pbarikmo/images3/redrose2.png"},{"id":"shape:6c01d872-cd26-93bb-b6c1-10d2ccb0700f","type":"rect","transform":"","fillColor":"#aa5555","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"left":-331,"top":-80.5,"width":63,"height":36.5},{"id":"shape:decdb300-5d61-ea88-28e7-75b254885418","type":"rect","transform":"","fillColor":"#ff3f00","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"left":491,"top":255.5,"width":71,"height":58.5}]
    20.5 \ No newline at end of file
    21.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    21.2 +++ b/onlypaths/biglong.txt	Sun Jan 31 12:33:33 2010 -0500
    21.3 @@ -0,0 +1,1 @@
    21.4 +[{type:"doc", left:0, top:0, width:700, height:100, viewBox:"0 0 700 100", bgcolor:"#ff0000", title:"", link:"", meta:""}, {"id":"shape:215bc924-1e9c-dd4c-d46e-5ccde448bedd","type":"rect","transform":"","fillColor":"#ff00f7","lineColor":"none","fillOpac":1,"lineOpac":1,"lineWidth":1,"left":-3,"top":-0.5,"width":709,"height":102.5},{"id":"defs","type":"defs","transform":"","fillColor":null,"lineColor":null,"fillOpac":null,"lineOpac":null,"lineWidth":null},{"id":"defs","type":"defs","transform":"","fillColor":null,"lineColor":null,"fillOpac":null,"lineOpac":null,"lineWidth":null},{"id":"shape:e01a13f5-dcad-b193-70b6-29b4c4249138","type":"ellipse","transform":"","fillColor":"#000000","lineColor":"#8600ff","fillOpac":1,"lineOpac":1,"lineWidth":1,"width":62,"height":59.5,"left":236,"top":19.5},{"id":"defs","type":"defs","transform":"","fillColor":null,"lineColor":null,"fillOpac":null,"lineOpac":null,"lineWidth":null},{"id":"defs","type":"defs","transform":"","fillColor":null,"lineColor":null,"fillOpac":null,"lineOpac":null,"lineWidth":null},{"id":"shape:162076f4-6cf9-cc2b-e7fc-ca0bde93109e","type":"roundrect","transform":"","fillColor":"#ff0000","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"rx":18,"ry":18,"left":151,"top":2.5,"width":105,"height":94.5},{"id":"shape:e24b5dc8-10af-775f-ea34-50e48f6705fa","type":"path","transform":"","fillColor":"#009aff","lineColor":"#9a2bff","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M291,52.5 L290,52.5 L289,52.5 L288,52.5 L286,51.5 L282,49.5 L274,42.5 L266,34.5 L263,28.5 L263,21.5 L271,14.5 L284,8.5 L308,3.5 L337,3.5 L353,7.5 L359,14.5 L360,26.5 L361,38.5 L361,45.5 L362,52.5 L370,56.5 L389,59.5 L417,60.5 L445,60.5 L465,60.5 L467,60.5 L467,65.5 L463,76.5 L457,88.5 L448,104.5 L443,114.5 L439,121.5 L435,125.5 L431,128.5 L422,129.5 L414,129.5 L405,130.5 L401,130.5 L397,130.5 L393,130.5 L393,129.5 L393,127.5 L390,123.5 z"},{"id":"shape:f1b9467a-0f1a-33af-6615-e97fa5a35554","type":"ellipse","transform":"","fillColor":"#000000","lineColor":"#8600ff","fillOpac":1,"lineOpac":1,"lineWidth":1,"width":59,"height":50.5,"left":431,"top":41.5},{"id":"shape:ec0fd89f-aa44-8606-3099-1cb03fac7b3b","type":"text","transform":"","textFamily":"Arial","textSize":50,"top":52.5,"left":478,"text":"xx","lineWidth":1,"fillColor":"#000000","lineColor":"none","fillOpac":1,"lineOpac":1},{"id":"shape:b2af5bb0-d470-faad-f3b0-bd5b3ad3c344","type":"path","transform":"","fillColor":"#000000","lineColor":"none","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M524,57.294 C533.608,57.294 541.395,49.505 541.395,39.897 C541.395,30.29 533.608,22.5 524,22.5"},{"id":"shape:409450b5-b68e-b3e9-e1c6-a6111d95381e","type":"path","transform":"","fillColor":"#ff7f00","lineColor":"#16002b","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M150.395,65.294 C140.787,65.294 133,57.505 133,47.897 C133,38.29 140.787,30.5 150.395,30.5"},{"id":"shape:66843d3d-7129-729f-94e4-f32421a017fa","type":"image","transform":"","fillColor":"none","lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"left":544,"top":-0.5,"width":177.155,"height":73.2046,"href":"http://www.grescid.com/thumbnails/hispalis/cenefa-italica.gif"},{"id":"shape:b405ed88-c838-1f2f-c7ac-30f3480cf7f2","type":"rect","transform":"","fillColor":"none","lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"left":452,"top":64,"width":96,"height":25.5},{"id":"shape:762ffa9f-bef6-c225-8247-d8924a1b7c3b","type":"rect","transform":"","fillColor":"none","lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"left":567,"top":54.5,"width":143,"height":163.5},{"id":"shape:969b2a12-7a03-1604-473a-87be34cd69b6","type":"rect","transform":"","fillColor":"none","lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"left":460,"top":73.5,"width":126,"height":127.5},{"id":"shape:89c2bcf1-d292-5d76-b37e-292f8b12321e","type":"rect","transform":"","fillColor":"#000000","lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"left":535,"top":0.5,"width":10,"height":72},{"id":"shape:48667707-d32a-926b-2d8b-5e1590a70057","type":"path","transform":"","fillColor":"none","lineColor":"#16002b","fillOpac":1,"lineOpac":1,"lineWidth":5,"points":"M52,48.5 C48,42.5 45,28.5 59,12.5 C82,8.5 92,25.5 76,59.5 C71,60.5 62,49.5 72,47.5 C93,59.5 98,64.5 99,66.5 C100,64.5 118,38.5 112,30.5 C92,43.5 79,56.5 77,59.5 C77,58.5 77,58.5 77,57.5 z"},{"id":"shape:c88a98fc-35bf-9a4d-c743-c258d2bbf9f6","type":"path","transform":"","fillColor":"none","lineColor":"#16002b","fillOpac":1,"lineOpac":1,"lineWidth":5,"points":"M52,48.5 C48,42.5 45,28.5 59,12.5 C82,8.5 92,25.5 76,59.5 C71,60.5 62,49.5 72,47.5 C93,59.5 98,64.5 99,66.5 C100,64.5 118,38.5 112,30.5 C92,43.5 79,56.5 77,59.5 C77,58.5 77,58.5 77,57.5 z"},{"id":"shape:3e6e0bf3-635a-4797-475d-8cf90a6bbccd","type":"path","transform":"","fillColor":"none","lineColor":"#16002b","fillOpac":1,"lineOpac":1,"lineWidth":5,"points":"M109.869,48.5 C113.869,42.5 116.869,28.5 102.869,12.5 C79.8691,8.5 69.8691,25.5 85.8691,59.5 C90.8691,60.5 99.8691,49.5 89.8691,47.5 C68.8691,59.5 63.8691,64.5 62.8691,66.5 C61.8691,64.5 43.8691,38.5 49.8691,30.5 C69.8691,43.5 82.8691,56.5 84.8691,59.5 C84.8691,58.5 84.8691,58.5 84.8691,57.5 z"},{"id":"shape:2cad90c3-f6fc-874b-ec75-0897c57430a8","type":"image","transform":"","fillColor":"none","lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"left":180,"top":11.5,"width":48,"height":73.2046,"href":"http://www.grescid.com/thumbnails/hispalis/cenefa-italica.gif"},{"id":"shape:3f09dd8b-e90b-367d-4b01-ae8e487a414c","type":"text","transform":"","textFamily":"Arial","textSize":50,"top":51.5,"left":-14,"text":"xx","lineWidth":1,"fillColor":"#000000","lineColor":"none","fillOpac":1,"lineOpac":1},{"id":"shape:ffd7ea15-982b-89fa-9132-447cc666d3e3","type":"text","transform":"","textFamily":"Arial","textSize":50,"top":162.5,"left":-229,"text":"xx","lineWidth":1,"fillColor":"#000000","lineColor":"none","fillOpac":1,"lineOpac":1},{"id":"shape:4ac370aa-b9c1-d71e-0cc5-8407fc4c940a","type":"path","transform":"","fillColor":"#000000","lineColor":"none","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M31,55.294 C40.608,55.294 48.395,47.505 48.395,37.897 C48.395,28.29 40.608,20.5 31,20.5"}]
    22.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    22.2 +++ b/onlypaths/css/me.css	Sun Jan 31 12:33:33 2010 -0500
    22.3 @@ -0,0 +1,293 @@
    22.4 +/*
    22.5 + * Ext JS Library 2.1
    22.6 + * Copyright(c) 2006-2008, Ext JS, LLC.
    22.7 + * licensing@extjs.com
    22.8 + * 
    22.9 + * http://extjs.com/license
   22.10 + */
   22.11 +html, body {           overflow:hidden;
   22.12 +        height:100%;  
   22.13 + }
   22.14 +#me-container{
   22.15 +       position:relative;
   22.16 +    left:0px;
   22.17 +    top:0px;
   22.18 +           margin:0;
   22.19 +        padding:0;
   22.20 +        border:0 none;
   22.21 +        
   22.22 +        font-size:9px;
   22.23 +	background-color:#ccccdd !important;
   22.24 +        font-family:helvetica,tahoma,verdana,sans-serif;   
   22.25 +
   22.26 +}
   22.27 +#divformfill{
   22.28 +    position:absolute;
   22.29 +    left:53px;
   22.30 +    top:0px;
   22.31 +    width:50px; 
   22.32 +    height:240px;
   22.33 +    padding-top:0px;
   22.34 +    padding-left:0px;
   22.35 +    font-size:8px;
   22.36 +    border:0px solid #6593cf;
   22.37 +    padding:2px; 
   22.38 +    visibility:hidden;
   22.39 +} 
   22.40 +#divformstroke{
   22.41 +    position:absolute;
   22.42 +    left:53px;
   22.43 +    top:115px;
   22.44 +    width:50px; 
   22.45 +    height:240px;
   22.46 +    padding-top:0px;
   22.47 +    padding-left:0px;
   22.48 +    font-size:9px;
   22.49 +    border:0px solid #6593cf;
   22.50 +    padding:0px; 
   22.51 +    visibility:hidden;
   22.52 +}
   22.53 +.field {
   22.54 +  margin:1px;
   22.55 +  padding:1px;
   22.56 +  font-size:9px;
   22.57 +  vertical-align: middle;
   22.58 +  width:50px; 
   22.59 +
   22.60 +}
   22.61 + 
   22.62 +.loading-indicator {
   22.63 +    font-size:8pt;
   22.64 +    background-image:url('theme/images/loading.gif');
   22.65 +    background-repeat: no-repeat;
   22.66 +    background-position:top left;
   22.67 +    padding-left:20px;
   22.68 +	height:18px;
   22.69 +	text-align:left;
   22.70 +}    
   22.71 + #loading-mask {
   22.72 +    width:100%;
   22.73 +    height:100%;
   22.74 +    background:#000033;
   22.75 +    position:absolute;
   22.76 +    left:0;
   22.77 +    top:0;
   22.78 +	
   22.79 +    }
   22.80 +#loading{
   22.81 +	position:absolute;
   22.82 +	left:45%;
   22.83 +	top:40%;
   22.84 +	border:1px solid #3333cf;
   22.85 +	padding:2px;
   22.86 +	background:#000033;
   22.87 +	width:150px;
   22.88 +	text-align:center;
   22.89 +	z-index:20001;
   22.90 +}
   22.91 +#loading .loading-indicator{
   22.92 +	border:1px solid #a3bad9;
   22.93 +	background:white url('') repeat-x;
   22.94 +	color:#003366;
   22.95 +	font:bold 13px tahoma,arial,helvetica;
   22.96 +	padding:10px;
   22.97 +	margin:0;
   22.98 +}
   22.99 +#fill-me{ 
  22.100 +    width:50px; 
  22.101 +    height:100px;
  22.102 +    padding-top:0px;  
  22.103 +    padding-left:0px;
  22.104 +    position:relative;
  22.105 +    left:0px;
  22.106 +    top:0px;
  22.107 +    border-style:solid;
  22.108 +    border-width:0px;
  22.109 +    border-color:#000000; 
  22.110 +    font-size:9px;
  22.111 +   font-family:helvetica,tahoma,verdana,sans-serif;   
  22.112 +    overflow: hidden;
  22.113 +      
  22.114 +}
  22.115 +#fill-square{
  22.116 +    width:20px; 
  22.117 +    height:10px;
  22.118 +    padding-top:0px;  
  22.119 +    padding-left:0px;
  22.120 +    font-size:7px; 
  22.121 +    border-width: 2px;
  22.122 +    
  22.123 +} 
  22.124 +#stroke-me{
  22.125 +    width:50px; 
  22.126 +    height:140px;
  22.127 +    padding-top:0px;
  22.128 +    padding-left:0px;
  22.129 +    position:relative; 
  22.130 +    left:0px;
  22.131 +    top:0px;
  22.132 +    border-style:solid;
  22.133 +    border-width:0px;
  22.134 +    border-color:#000000;   
  22.135 +       font-size:9px;
  22.136 +   font-family:helvetica,tahoma,verdana,sans-serif;   
  22.137 +    overflow: hidden;
  22.138 +}
  22.139 +#stroke-square{  
  22.140 +   position:absolute; 
  22.141 +    left:30px;
  22.142 +    top:0px;
  22.143 +    width:16px; 
  22.144 +    height:10px;
  22.145 +    padding-top:0px;
  22.146 +    padding-left:0px;
  22.147 +    font-size:7px;  
  22.148 +    border-style:solid;
  22.149 +     border-width: 2px;
  22.150 +} 
  22.151 +
  22.152 +
  22.153 +#fillContainer {
  22.154 +	width: 50px;
  22.155 +	height: 45px;
  22.156 +        position: relative; 
  22.157 +        top:-8px;
  22.158 +        left:1px;    
  22.159 +        margin:0;
  22.160 +        padding:0;
  22.161 +
  22.162 +}
  22.163 +.colorFillSquare {
  22.164 +	height: 8px;  
  22.165 +	
  22.166 +	position: absolute; 
  22.167 +	background-color:transparent;
  22.168 +	border-color: #000;
  22.169 +	border-style: solid;
  22.170 +	border-width: 0px 0px 0px 0px;
  22.171 +        font-size:7px;
  22.172 +}
  22.173 +#strokeContainer {
  22.174 +	width: 50px;
  22.175 +	height: 45px;
  22.176 +        position: relative; 
  22.177 +        top:-8px;
  22.178 +        left:1px;
  22.179 +}
  22.180 +.colorStrokeSquare {
  22.181 +	height: 8px; 
  22.182 +	position: absolute; 
  22.183 +	background-color: transparent;
  22.184 +	border-color: #000;
  22.185 +	border-style: solid;
  22.186 +	border-width: 0px 0px 0px 0px;
  22.187 +        font-size:7px;
  22.188 +}
  22.189 +
  22.190 +
  22.191 +#fill-square {
  22.192 +	width: 16px;
  22.193 +	height: 10px;
  22.194 +        position: absolute; 
  22.195 +        top:0px;
  22.196 +        left:30px; 
  22.197 +        background-color: #ff0000;
  22.198 +	border-color: #000;
  22.199 +	border-style: solid;
  22.200 +	border-width: 2px 2px 2px 2px;
  22.201 +        font-size:8px;
  22.202 +} 
  22.203 +#stroke-selected {
  22.204 +	width: 16px;
  22.205 +	height: 10px;
  22.206 +        position: absolute; 
  22.207 +        top:0px;
  22.208 +        left:30px; 
  22.209 +        background-color: #ff0000;
  22.210 +	border-color: #000;
  22.211 +	border-style: solid;
  22.212 +	border-width: 2px 2px 2px 2px;
  22.213 +        font-size:8px;
  22.214 +}
  22.215 +#toolbox_fill {
  22.216 +	text-align:center;
  22.217 +        position:relative;
  22.218 +        position: relative; 
  22.219 +        top:-10px;
  22.220 +        background-color: #ffffff;
  22.221 +        padding-top:2px;
  22.222 +
  22.223 +}    
  22.224 +#toolbox_stroke {
  22.225 +	text-align:center;
  22.226 +        position:relative;
  22.227 +        position: relative; 
  22.228 +        top:-20px;
  22.229 +        background-color: #ffffff; 
  22.230 +        padding-top:2px;
  22.231 +} 
  22.232 +#img_okfill{
  22.233 +        cursor:pointer;  
  22.234 +        padding:0px; border:0px solid orange;  
  22.235 +} 
  22.236 +
  22.237 +#img_okstroke{
  22.238 +        cursor:pointer; 
  22.239 +          
  22.240 +} 
  22.241 +
  22.242 +.toolboxItem {
  22.243 +      vertical-align: middle;
  22.244 +        
  22.245 +        width: 12px;
  22.246 +	height: 12px;
  22.247 +
  22.248 +}   
  22.249 +.sans{ padding:0px; border:0px solid orange; }
  22.250 +SPAN.toolboxItem { 
  22.251 + 
  22.252 +	background-repeat: no-repeat;
  22.253 +	cursor:pointer; 
  22.254 +	background-image: url(theme/images/buttonSprite_12px.png);
  22.255 +	width:10px; 
  22.256 +	height:10px; 
  22.257 +       
  22.258 +	cursor:pointer;
  22.259 +        vertical-align: middle; 
  22.260 +        background-position: 0px 120px;
  22.261 +        margin:0;
  22.262 +        padding:0;
  22.263 +
  22.264 +} 
  22.265 +                          
  22.266 +#linear-fill-gradient{
  22.267 +        width: 12px;
  22.268 +	height: 12px;
  22.269 +      
  22.270 +}
  22.271 +#linear-stroke-gradient{
  22.272 +        width: 12px;
  22.273 +	height: 12px;
  22.274 +    
  22.275 +} 
  22.276 +#radial-fill-gradient{
  22.277 +        width: 12px;
  22.278 +	height: 12px;
  22.279 +  
  22.280 +}
  22.281 +#radial-stroke-gradient{
  22.282 +        width: 12px;
  22.283 +	height: 12px;
  22.284 +
  22.285 +} 
  22.286 +#no-fill-gradient{
  22.287 +        width: 12px;
  22.288 +	height: 12px;
  22.289 +
  22.290 +}
  22.291 +#no-stroke-gradient{
  22.292 +        width: 12px;
  22.293 +	height: 12px;
  22.294 +} 
  22.295 +
  22.296 +                              
  22.297 \ No newline at end of file
    23.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    23.2 +++ b/onlypaths/css/me.css.bak	Sun Jan 31 12:33:33 2010 -0500
    23.3 @@ -0,0 +1,293 @@
    23.4 +/*
    23.5 + * Ext JS Library 2.1
    23.6 + * Copyright(c) 2006-2008, Ext JS, LLC.
    23.7 + * licensing@extjs.com
    23.8 + * 
    23.9 + * http://extjs.com/license
   23.10 + */
   23.11 +html, body {           overflow:hidden;
   23.12 +        height:100%;  
   23.13 + }
   23.14 +#me-container{
   23.15 +       position:relative;
   23.16 +    left:0px;
   23.17 +    top:0px;
   23.18 +           margin:0;
   23.19 +        padding:0;
   23.20 +        border:0 none;
   23.21 +
   23.22 +        font-size:9px;
   23.23 +	background-color:#ccccdd !important;
   23.24 +        font-family:helvetica,tahoma,verdana,sans-serif;   
   23.25 +
   23.26 +}
   23.27 +#divformfill{
   23.28 +    position:absolute;
   23.29 +    left:53px;
   23.30 +    top:0px;
   23.31 +    width:50px; 
   23.32 +    height:240px;
   23.33 +    padding-top:0px;
   23.34 +    padding-left:0px;
   23.35 +    font-size:8px;
   23.36 +    border:0px solid #6593cf;
   23.37 +    padding:2px; 
   23.38 +    visibility:hidden;
   23.39 +} 
   23.40 +#divformstroke{
   23.41 +    position:absolute;
   23.42 +    left:53px;
   23.43 +    top:115px;
   23.44 +    width:50px; 
   23.45 +    height:240px;
   23.46 +    padding-top:0px;
   23.47 +    padding-left:0px;
   23.48 +    font-size:9px;
   23.49 +    border:0px solid #6593cf;
   23.50 +    padding:0px; 
   23.51 +    visibility:hidden;
   23.52 +}
   23.53 +.field {
   23.54 +  margin:1px;
   23.55 +  padding:1px;
   23.56 +  font-size:9px;
   23.57 +  vertical-align: middle;
   23.58 +  width:50px; 
   23.59 +
   23.60 +}
   23.61 + 
   23.62 +.loading-indicator {
   23.63 +    font-size:8pt;
   23.64 +    background-image:url('theme/images/loading.gif');
   23.65 +    background-repeat: no-repeat;
   23.66 +    background-position:top left;
   23.67 +    padding-left:20px;
   23.68 +	height:18px;
   23.69 +	text-align:left;
   23.70 +}    
   23.71 + #loading-mask {
   23.72 +    width:100%;
   23.73 +    height:100%;
   23.74 +    background:#000033;
   23.75 +    position:absolute;
   23.76 +    left:0;
   23.77 +    top:0;
   23.78 +	
   23.79 +    }
   23.80 +#loading{
   23.81 +	position:absolute;
   23.82 +	left:45%;
   23.83 +	top:40%;
   23.84 +	border:1px solid #3333cf;
   23.85 +	padding:2px;
   23.86 +	background:#000033;
   23.87 +	width:150px;
   23.88 +	text-align:center;
   23.89 +	z-index:20001;
   23.90 +}
   23.91 +#loading .loading-indicator{
   23.92 +	border:1px solid #a3bad9;
   23.93 +	background:white url('') repeat-x;
   23.94 +	color:#003366;
   23.95 +	font:bold 13px tahoma,arial,helvetica;
   23.96 +	padding:10px;
   23.97 +	margin:0;
   23.98 +}
   23.99 +#fill-me{ 
  23.100 +    width:50px; 
  23.101 +    height:100px;
  23.102 +    padding-top:0px;  
  23.103 +    padding-left:0px;
  23.104 +    position:relative;
  23.105 +    left:0px;
  23.106 +    top:0px;
  23.107 +    border-style:solid;
  23.108 +    border-width:0px;
  23.109 +    border-color:#000000; 
  23.110 +    font-size:9px;
  23.111 +   font-family:helvetica,tahoma,verdana,sans-serif;   
  23.112 +    overflow: hidden;
  23.113 +      
  23.114 +}
  23.115 +#fill-square{
  23.116 +    width:20px; 
  23.117 +    height:10px;
  23.118 +    padding-top:0px;  
  23.119 +    padding-left:0px;
  23.120 +    font-size:7px; 
  23.121 +    border-width: 2px;
  23.122 +    
  23.123 +} 
  23.124 +#stroke-me{
  23.125 +    width:50px; 
  23.126 +    height:140px;
  23.127 +    padding-top:0px;
  23.128 +    padding-left:0px;
  23.129 +    position:relative; 
  23.130 +    left:0px;
  23.131 +    top:0px;
  23.132 +    border-style:solid;
  23.133 +    border-width:0px;
  23.134 +    border-color:#000000;   
  23.135 +       font-size:9px;
  23.136 +   font-family:helvetica,tahoma,verdana,sans-serif;   
  23.137 +    overflow: hidden;
  23.138 +}
  23.139 +#stroke-square{  
  23.140 +   position:absolute; 
  23.141 +    left:30px;
  23.142 +    top:0px;
  23.143 +    width:16px; 
  23.144 +    height:10px;
  23.145 +    padding-top:0px;
  23.146 +    padding-left:0px;
  23.147 +    font-size:7px;  
  23.148 +    border-style:solid;
  23.149 +     border-width: 2px;
  23.150 +} 
  23.151 +
  23.152 +
  23.153 +#fillContainer {
  23.154 +	width: 50px;
  23.155 +	height: 45px;
  23.156 +        position: relative; 
  23.157 +        top:-8px;
  23.158 +        left:1px;    
  23.159 +        margin:0;
  23.160 +        padding:0;
  23.161 +
  23.162 +}
  23.163 +.colorFillSquare {
  23.164 +	height: 8px;  
  23.165 +	
  23.166 +	position: absolute; 
  23.167 +	background-color:transparent;
  23.168 +	border-color: #000;
  23.169 +	border-style: solid;
  23.170 +	border-width: 0px 0px 0px 0px;
  23.171 +        font-size:7px;
  23.172 +}
  23.173 +#strokeContainer {
  23.174 +	width: 50px;
  23.175 +	height: 45px;
  23.176 +        position: relative; 
  23.177 +        top:-8px;
  23.178 +        left:1px;
  23.179 +}
  23.180 +.colorStrokeSquare {
  23.181 +	height: 8px; 
  23.182 +	position: absolute; 
  23.183 +	background-color: transparent;
  23.184 +	border-color: #000;
  23.185 +	border-style: solid;
  23.186 +	border-width: 0px 0px 0px 0px;
  23.187 +        font-size:7px;
  23.188 +}
  23.189 +
  23.190 +
  23.191 +#fill-square {
  23.192 +	width: 16px;
  23.193 +	height: 10px;
  23.194 +        position: absolute; 
  23.195 +        top:0px;
  23.196 +        left:30px; 
  23.197 +        background-color: #ff0000;
  23.198 +	border-color: #000;
  23.199 +	border-style: solid;
  23.200 +	border-width: 2px 2px 2px 2px;
  23.201 +        font-size:8px;
  23.202 +} 
  23.203 +#stroke-selected {
  23.204 +	width: 16px;
  23.205 +	height: 10px;
  23.206 +        position: absolute; 
  23.207 +        top:0px;
  23.208 +        left:30px; 
  23.209 +        background-color: #ff0000;
  23.210 +	border-color: #000;
  23.211 +	border-style: solid;
  23.212 +	border-width: 2px 2px 2px 2px;
  23.213 +        font-size:8px;
  23.214 +}
  23.215 +#toolbox_fill {
  23.216 +	text-align:center;
  23.217 +        position:relative;
  23.218 +        position: relative; 
  23.219 +        top:-10px;
  23.220 +        background-color: #ffffff;
  23.221 +        padding-top:2px;
  23.222 +
  23.223 +}    
  23.224 +#toolbox_stroke {
  23.225 +	text-align:center;
  23.226 +        position:relative;
  23.227 +        position: relative; 
  23.228 +        top:-20px;
  23.229 +        background-color: #ffffff; 
  23.230 +        padding-top:2px;
  23.231 +} 
  23.232 +#img_okfill{
  23.233 +        cursor:pointer;  
  23.234 +        padding:0px; border:0px solid orange;  
  23.235 +} 
  23.236 +
  23.237 +#img_okstroke{
  23.238 +        cursor:pointer; 
  23.239 +          
  23.240 +} 
  23.241 +
  23.242 +.toolboxItem {
  23.243 +      vertical-align: middle;
  23.244 +        
  23.245 +        width: 12px;
  23.246 +	height: 12px;
  23.247 +
  23.248 +}   
  23.249 +.sans{ padding:0px; border:0px solid orange; }
  23.250 +SPAN.toolboxItem { 
  23.251 + 
  23.252 +	background-repeat: no-repeat;
  23.253 +	cursor:pointer; 
  23.254 +	background-image: url(theme/images/buttonSprite_12px.png);
  23.255 +	width:10px; 
  23.256 +	height:10px; 
  23.257 +       
  23.258 +	cursor:pointer;
  23.259 +        vertical-align: middle; 
  23.260 +        background-position: 0px 120px;
  23.261 +        margin:0;
  23.262 +        padding:0;
  23.263 +
  23.264 +} 
  23.265 +                          
  23.266 +#linear-fill-gradient{
  23.267 +        width: 12px;
  23.268 +	height: 12px;
  23.269 +      
  23.270 +}
  23.271 +#linear-stroke-gradient{
  23.272 +        width: 12px;
  23.273 +	height: 12px;
  23.274 +    
  23.275 +} 
  23.276 +#radial-fill-gradient{
  23.277 +        width: 12px;
  23.278 +	height: 12px;
  23.279 +  
  23.280 +}
  23.281 +#radial-stroke-gradient{
  23.282 +        width: 12px;
  23.283 +	height: 12px;
  23.284 +
  23.285 +} 
  23.286 +#no-fill-gradient{
  23.287 +        width: 12px;
  23.288 +	height: 12px;
  23.289 +
  23.290 +}
  23.291 +#no-stroke-gradient{
  23.292 +        width: 12px;
  23.293 +	height: 12px;
  23.294 +} 
  23.295 +
  23.296 +                              
  23.297 \ No newline at end of file
    24.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    24.2 +++ b/onlypaths/css/onlypaths.css	Sun Jan 31 12:33:33 2010 -0500
    24.3 @@ -0,0 +1,7 @@
    24.4 +   body  { overflow:auto;font-family:verdana,arial; font-size:10pt; background-color:wheat}
    24.5 +   div   { vertical-align: middle; }
    24.6 +   div img { padding:2px; border:2px solid orange;} 
    24.7 +   .mini  { font-family:verdana,arial; font-size:8pt;color:#777755 } 
    24.8 +   .titlep { font-family:verdana,arial; font-size:12pt; }  
    24.9 +   input {vertical-align: top;font-size:10px }
   24.10 +   .loading-indicator{border-width:0px}
   24.11 \ No newline at end of file
    25.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    25.2 +++ b/onlypaths/css/onlypaths.css.bak	Sun Jan 31 12:33:33 2010 -0500
    25.3 @@ -0,0 +1,6 @@
    25.4 +   body  { overflow:auto;font-family:verdana,arial; font-size:10pt; background-color:wheat}
    25.5 +   div   { vertical-align: middle; }
    25.6 +   div img { padding:2px; border:2px solid orange;} 
    25.7 +   .mini  { font-family:verdana,arial; font-size:8pt;color:#777755 } 
    25.8 +   .titlep { font-family:verdana,arial; font-size:12pt; }  
    25.9 +   input {vertical-align: top;font-size:10px }
    26.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    26.2 +++ b/onlypaths/css/slider.css	Sun Jan 31 12:33:33 2010 -0500
    26.3 @@ -0,0 +1,136 @@
    26.4 +/*
    26.5 + * Ext JS Library 2.1
    26.6 + * Copyright(c) 2006-2008, Ext JS, LLC.
    26.7 + * licensing@extjs.com
    26.8 + * 
    26.9 + * http://extjs.com/license
   26.10 + */
   26.11 +#slider-fill {
   26.12 +    width:50px; 
   26.13 +    height:20px;
   26.14 +    padding:0px;
   26.15 +    margin:0px;   
   26.16 +    background-image:url(../img/rainbow1.png);  
   26.17 +    background-position: 0px 2px;  
   26.18 +    background-repeat: no-repeat; 
   26.19 +    
   26.20 +}  
   26.21 +#slider-stroke {
   26.22 +    width:50px; 
   26.23 +    height:20px;
   26.24 +    padding:0px;
   26.25 +    margin:0px;   
   26.26 +    background-image:url(../img/rainbow1.png);  
   26.27 +    background-position: 0px 2px;  
   26.28 +    background-repeat: no-repeat;
   26.29 +}    
   26.30 +#opacity-slider-fill {  
   26.31 +    position: relative; 
   26.32 +    top:-3px;
   26.33 +
   26.34 +    width:50px; 
   26.35 +    height:14px;
   26.36 +    padding-top:0px;
   26.37 +    padding-left:0px;
   26.38 +    padding-right:0px; 
   26.39 +    margin-left:0px; 
   26.40 +    margin-right:0px;   
   26.41 +    background-image:url(../img/bar.gif);  
   26.42 +    background-position: 0px 2px;  
   26.43 +    background-repeat: repeat-x;    
   26.44 +    background-color: #ff0000;
   26.45 +    opacity: 1;
   26.46 +    -moz-opacity: 1;
   26.47 +    filter: alpha(opacity=100);
   26.48 +
   26.49 +}
   26.50 +
   26.51 +#opacity-slider-stroke {   
   26.52 +    position: relative; 
   26.53 +    top:-20px;
   26.54 +
   26.55 +
   26.56 +    width:50px; 
   26.57 +    height:14px;
   26.58 +    padding-top:0px; 
   26.59 +    padding-left:0px;
   26.60 +    padding-right:0px;
   26.61 +    margin-left:0px;  
   26.62 +    margin-right:0px; 
   26.63 +    background-image:url(../img/bar.gif);  
   26.64 +    background-position: 0px 2px;  
   26.65 +    background-repeat: repeat-x;  
   26.66 +    background-color: #000000;  
   26.67 +    opacity: 1;
   26.68 +    -moz-opacity: 1;
   26.69 +    filter: alpha(opacity=100);
   26.70 +
   26.71 +} 
   26.72 +
   26.73 +#width-slider-stroke-mask {   
   26.74 +    position: relative; 
   26.75 +    top:-4px;
   26.76 +    width:1px; 
   26.77 +    height:14px;      
   26.78 +    padding-top:0px; 
   26.79 +    padding-left:0px;
   26.80 +    padding-right:0px;
   26.81 +    margin-left:0px;  
   26.82 +    margin-right:0px; 
   26.83 +    background-color: #000000; 
   26.84 + 
   26.85 +} 
   26.86 +#width-slider-stroke { 
   26.87 +    position:relative;
   26.88 +    width:50px; 
   26.89 +    height:14px;
   26.90 +    top:-18px;
   26.91 +    padding-top:0px; 
   26.92 +    padding-left:0px;
   26.93 +    padding-right:0px;
   26.94 +    margin-left:0px;  
   26.95 +    margin-right:0px; 
   26.96 +    background-image:url(../img/bar.gif);  
   26.97 +    background-position: 0px 2px;  
   26.98 +    background-repeat: repeat-x;  
   26.99 +    background-color: transparent; 
  26.100 + 
  26.101 +} 
  26.102 +#slider-fill .x-slider-thumb { 
  26.103 +    top:0px; 
  26.104 +    height:12px;
  26.105 +    background-image:url(../img/slider-point.gif); 
  26.106 +        padding:0px;
  26.107 +    margin:0px;   
  26.108 +
  26.109 +}
  26.110 +#slider-stroke .x-slider-thumb { 
  26.111 +    top:0px;  
  26.112 +    height:12px;
  26.113 +    background-image:url(../img/slider-point.gif); 
  26.114 +}
  26.115 +#opacity-slider-fill .x-slider-thumb { 
  26.116 +    top:0px;
  26.117 +    background-image:url(../img/slider-metal.gif); 
  26.118 +}
  26.119 +#opacity-slider-stroke .x-slider-thumb { 
  26.120 +    top:0px;
  26.121 +    background-image:url(../img/slider-metal.gif);  
  26.122 +}
  26.123 +#width-slider-stroke .x-slider-thumb { 
  26.124 +    top:0px;
  26.125 +    background-image:url(../img/slider-metal.gif); 
  26.126 +}
  26.127 +
  26.128 +.x-slider{zoom:1;}
  26.129 +.x-slider-inner{position:relative;left:0;top:0;overflow:visible;zoom:1;}
  26.130 +.x-slider-focus{position:absolute;left:0;top:0;width:1px;height:1px;line-height:1px;font-size:1px;-moz-outline:0 none;outline:0 none;-moz-user-select:normal;-khtml-user-select:normal;}
  26.131 +
  26.132 +.x-slider-horz .x-slider-thumb-over{background-position:-14px -15px;}
  26.133 +.x-slider-horz .x-slider-thumb-drag{background-position:-28px -30px;}
  26.134 +
  26.135 +
  26.136 +.x-slider-horz{padding-left:7px;background:transparent url() no-repeat 0 -22px;}
  26.137 +.x-slider-horz .x-slider-end{padding-right:7px;zoom:1;background:transparent url() no-repeat right -44px;}
  26.138 +.x-slider-horz .x-slider-inner{background:transparent url() repeat-x 0 0;height:22px;}
  26.139 +.x-slider-horz .x-slider-thumb{width:14px;height:15px;position:absolute;left:0;top:3px;background:transparent url() no-repeat 0 0;}
    27.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    27.2 +++ b/onlypaths/css/svgpaths.htm	Sun Jan 31 12:33:33 2010 -0500
    27.3 @@ -0,0 +1,40 @@
    27.4 +<html xmlns="http://www.w3.org/1999/xhtml" xmlns:svg="http://www.w3.org/2000/svg" xml:lang="en" lang="en">
    27.5 +  <head>
    27.6 +    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
    27.7 +    <meta http-equiv="keywords" content="SVG,scalable vector graphics,tutorial,XML"/>
    27.8 +    
    27.9 +   
   27.10 +    <title>SVG</title> 
   27.11 +     <script type="text/javascript" src="js/svgpaths.js"></script>
   27.12 +    <script>
   27.13 +function ini(){
   27.14 +var colorpage= parent.colorpage; 
   27.15 +//document.body.style.backgroundColor =colorpage;
   27.16 +} 
   27.17 +
   27.18 +    </script>
   27.19 +    
   27.20 +<style>
   27.21 +body{border-style:outset;border-width:0px;background-color:#ffffff;font-family:verdana,arial; font-size:10pt;} 
   27.22 +.front{position:absolute;top:4px;left:1px;width:200px;overflow:hidden;}
   27.23 +.color1{color:#ff5500} 
   27.24 +.color2{color:#220044}
   27.25 +</style>    
   27.26 +  </head>
   27.27 +  <body onload="ini()";> 
   27.28 +  <div class="front">
   27.29 + <script>   
   27.30 +        var cadena='';  var a=1;
   27.31 +
   27.32 +var color='';
   27.33 + for(var a=0; a < paths.length; a++)
   27.34 +{       if(a%2==0){color='color1';}else{color='color2';}
   27.35 +        cadena+='<a onclick="parent.document.forms[0].codebase.value='+"'"+paths[a].data+"'"+';parent.setShape()"><span class="'+color+'">'+paths[a].name+' </span></a>';
   27.36 +}  
   27.37 +
   27.38 +  document.write(cadena);  
   27.39 +
   27.40 + </script>      
   27.41 + </div>                       
   27.42 +          </body>
   27.43 +</html> 
    28.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    28.2 +++ b/onlypaths/danger.txt	Sun Jan 31 12:33:33 2010 -0500
    28.3 @@ -0,0 +1,1 @@
    28.4 +[{type:"doc", left:0, top:0, width:250, height:200, viewBox:"0 0 600 500"}, {id:"defsGradient", type:"defs", transform:""}, {id:"Linear-gradient", type:"linearGradient", transform:"", fillColor:null, filter:null, lineColor:null, fillOpac:NaN, lineOpac:NaN, lineWidth:NaN, text:null, left:"0%", top:"100%", width:"0%", height:"0%", href:null, parent:"defsGradient"}, {id:"init000000", type:"stop", transform:"", fillColor:"#000055", fillOpac:"1", lineOpac:"0", parent:"Linear-gradient"}, {id:"mid000000", type:"stop", transform:"", fillColor:"#ffff00", fillOpac:"1", lineOpac:"0.3", parent:"Linear-gradient"}, {id:"end000000", type:"stop", transform:"", fillColor:"#ffffdd", fillOpac:"1", lineOpac:"1", parent:"Linear-gradient"}, {id:"Radial-gradient", type:"radialGradient", transform:"", fillColor:null, filter:null, lineColor:null, fillOpac:NaN, lineOpac:NaN, lineWidth:"100%", text:null, left:"20%", top:"20%", width:"30%", height:"30%", href:null, parent:"defsGradient"}, {id:"initR000000", type:"stop", transform:"", fillColor:"#ffffdd", fillOpac:"1", lineOpac:"0", parent:"Radial-gradient"}, {id:"midR000000", type:"stop", transform:"", fillColor:"#ffff00", fillOpac:"1", lineOpac:"0.3", parent:"Radial-gradient"}, {id:"endR000000", type:"stop", transform:"", fillColor:"#000055", fillOpac:"1", lineOpac:"1", parent:"Radial-gradient"}, {id:"defs", type:"defs", transform:""}, {id:"defs", type:"defs", transform:""}, {id:"g1", type:"linearGradient", transform:"", fillColor:null, filter:null, lineColor:null, fillOpac:NaN, lineOpac:NaN, lineWidth:NaN, text:"userSpaceOnUse", left:"41.1949", top:"616.477", width:"118.931", height:"527.555", href:null, parent:"defs"}, {id:"null", type:"stop", transform:"", fillColor:"#b00", fillOpac:"", lineOpac:"0", parent:"g1"}, {id:"null", type:"stop", transform:"", fillColor:"#5f0000", fillOpac:"", lineOpac:"1", parent:"g1"}, {id:"g2", type:"linearGradient", transform:"", fillColor:null, filter:null, lineColor:null, fillOpac:NaN, lineOpac:NaN, lineWidth:NaN, text:"userSpaceOnUse", left:"530.81", top:"486.631", width:"174.805", height:"211.23", href:null, parent:"defs"}, {id:"null", type:"stop", transform:"", fillColor:"#9a0000", fillOpac:"", lineOpac:"0", parent:"g2"}, {id:"null", type:"stop", transform:"", fillColor:"#f22803", fillOpac:"", lineOpac:"1", parent:"g2"}, {id:"g3", type:"linearGradient", transform:"", fillColor:null, filter:null, lineColor:null, fillOpac:NaN, lineOpac:NaN, lineWidth:NaN, text:"userSpaceOnUse", left:"187.874", top:"224.599", width:"581.837", height:"483.1", href:null, parent:"defs"}, {id:"null", type:"stop", transform:"", fillColor:"#ec6c60", fillOpac:"", lineOpac:"0", parent:"g3"}, {id:"null", type:"stop", transform:"", fillColor:"#d11412", fillOpac:"", lineOpac:"1", parent:"g3"}, {id:"g4", type:"linearGradient", transform:"", fillColor:null, filter:null, lineColor:null, fillOpac:NaN, lineOpac:NaN, lineWidth:NaN, text:"userSpaceOnUse", left:"250.398", top:"101.536", width:"412.094", height:"264.542", href:null, parent:"defs"}, {id:"null", type:"stop", transform:"", fillColor:"#ffd9d9", fillOpac:"", lineOpac:"0", parent:"g4"}, {id:"null", type:"stop", transform:"", fillColor:"#ff2727", fillOpac:"", lineOpac:"1", parent:"g4"}, {id:"g5", type:"radialGradient", transform:"", fillColor:null, filter:null, lineColor:null, fillOpac:NaN, lineOpac:NaN, lineWidth:"179.55", text:"userSpaceOnUse", left:"295.471", top:"186.096", width:"50%", height:"50%", href:null, parent:"defs"}, {id:"null", type:"stop", transform:"", fillColor:"#fff", fillOpac:"", lineOpac:"0", parent:"g5"}, {id:"null", type:"stop", transform:"", fillColor:"#fff", fillOpac:"", lineOpac:"0.5", parent:"g5"}, {id:"null", type:"stop", transform:"", fillColor:"#d5d5d5", fillOpac:"", lineOpac:"1", parent:"g5"}, {id:"null", type:"path", transform:"", fillColor:"none", filter:null, lineColor:"none", fillOpac:0.178571, lineOpac:NaN, lineWidth:NaN, points:"M287.044,30.6846 C287.044,30.6846 26.8824,457.887 26.8824,457.887 C21.8903,466.047 21.8903,476.127 26.8824,484.287 C31.7784,492.351 40.9945,497.439 50.9785,497.439 L571.302,497.439 C581.19,497.439 590.406,492.351 595.398,484.287 C600.294,476.127 600.294,466.047 595.398,457.887 L335.236,30.6846 C330.244,22.5246 321.028,17.4365 311.14,17.4365 C301.252,17.4365 292.036,22.5246 287.044,30.6846 z"}, {id:"null", type:"path", transform:"", fillColor:"url(#g1)", filter:null, lineColor:"none", fillOpac:NaN, lineOpac:NaN, lineWidth:NaN, points:"M275.586,23.0357 C275.586,23.0357 15.4247,450.238 15.4247,450.238 C10.4327,458.398 10.4327,468.478 15.4247,476.638 C20.3208,484.702 29.5368,489.79 39.5209,489.79 L559.844,489.79 C569.732,489.79 578.948,484.702 583.94,476.638 C588.836,468.478 588.836,458.398 583.94,450.238 L323.779,23.0357 C318.786,14.8756 309.57,9.78757 299.682,9.78757 C289.794,9.78757 280.578,14.8756 275.586,23.0357 z"}, {id:"null", type:"path", transform:"", fillColor:"url(#g2)", filter:null, lineColor:"none", fillOpac:NaN, lineOpac:NaN, lineWidth:NaN, points:"M299.682,31.7717 C298.05,31.7717 296.514,32.6357 295.65,33.9797 L165.57,247.581 L35.4888,461.182 C34.6248,462.526 34.6248,464.254 35.4888,465.598 C36.3529,466.942 37.8889,467.806 39.5209,467.806 L559.844,467.806 C561.476,467.806 563.012,466.942 563.876,465.598 C564.74,464.254 564.74,462.526 563.876,461.182 L303.714,33.9797 C302.85,32.6357 301.314,31.7717 299.682,31.7717 z"}, {id:"null", type:"path", transform:"", fillColor:"none", filter:null, lineColor:"url(#g3)", fillOpac:NaN, lineOpac:NaN, lineWidth:NaN, points:"M299.646,31.7717 C298.014,31.7717 296.478,32.6357 295.614,33.9797 L165.534,247.581 L35.4528,461.182 C34.5888,462.526 34.5888,464.254 35.4528,465.598 C36.3168,466.942 37.8528,467.806 39.4849,467.806 L559.808,467.806 C561.44,467.806 562.976,466.942 563.84,465.598 C564.704,464.254 564.704,462.526 563.84,461.182 L303.678,33.9797 C302.814,32.6357 301.278,31.7717 299.646,31.7717 z"}, {id:"null", type:"path", transform:"", fillColor:"url(#g4)", filter:null, lineColor:"none", fillOpac:NaN, lineOpac:NaN, lineWidth:NaN, points:"M299.751,39.4651 C298.206,39.5415 296.765,40.4041 295.941,41.6851 L165.861,255.286 L147.74,285.047 C191.875,311.54 243.513,326.807 298.701,326.807 C354.673,326.807 407.009,311.129 451.552,283.937 L304.011,41.6851 C303.147,40.3411 301.623,39.4651 299.991,39.4651 C299.915,39.4651 299.827,39.4614 299.751,39.4651 z"}, {id:"null", type:"path", transform:"", fillColor:"url(#g5)", filter:null, lineColor:"none", fillOpac:NaN, lineOpac:NaN, lineWidth:NaN, points:"M286.434,145.724 L129.281,403.678 C126.593,408.19 126.593,413.758 129.281,418.174 C131.969,422.686 137.057,425.47 142.529,425.47 L456.74,425.47 C462.211,425.47 467.3,422.686 469.988,418.174 C472.676,413.662 472.676,408.19 469.988,403.678 L312.931,145.724 C310.243,141.212 305.155,138.428 299.682,138.428 C294.211,138.428 289.122,141.212 286.434,145.724 z"}, {id:"null", type:"path", transform:"", fillColor:"none", filter:null, lineColor:"none", fillOpac:NaN, lineOpac:NaN, lineWidth:NaN, points:"M291.397,416.317 C282.393,412.005 275.536,401.636 275.536,392.333 C275.536,375.012 293.637,361.963 310.762,366.94 C322.315,370.297 330.167,380.723 330.071,392.577 C329.989,402.647 325.631,410.066 316.734,415.277 C309.924,419.267 298.531,419.734 291.397,416.317 z M293.443,347.919 C292.318,347.301 289.667,345.147 287.553,343.134 C280.166,336.098 280.176,336.16 275.361,260.882 C271.081,193.964 271.045,192.924 272.882,188.117 C277.013,177.303 286.22,172.567 301.548,173.371 C311.292,173.883 318.796,177.305 323.674,183.461 C327.84,188.719 328.746,191.692 328.742,200.092 C328.738,209.221 322.907,321.17 322.078,328.03 C320.993,337.016 315.747,344.307 308.057,347.518 C303.664,349.353 296.414,349.552 293.443,347.919 z"}]
    29.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    29.2 +++ b/onlypaths/events-in-canvas.txt	Sun Jan 31 12:33:33 2010 -0500
    29.3 @@ -0,0 +1,1 @@
    29.4 +[{"type":"doc","left":0,"top":0,"width":800,"height":600,"viewBox":"0 0 800 600","bgcolor":"#ffffff","title":"","link":"","meta":""},{"id":"shape:712ee0c8-b2a8-d0eb-7417-baed7b9025b0","type":"roundrect","transform":"","fillColor":"#f5f5f5","filter":null,"lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"rx":0,"ry":0,"left":115.789,"top":53.6842,"width":82.1053,"height":22.1053},{"id":"shape:79d46138-bb5e-e2b0-2c13-d48eb6a96e3b","type":"roundrect","transform":"","fillColor":"#f5f5f5","filter":null,"lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"rx":0,"ry":0,"left":30.5263,"top":12.6316,"width":146.842,"height":30},{"id":"shape:cf7bed82-4da8-9dd7-ddef-55158b6283a8","type":"text","transform":"","textFamily":"Arial","textSize":18,"top":34.7368,"left":40,"text":"Events in canvas ","lineWidth":3,"fillColor":"#002925","filter":null,"lineColor":"none","fillOpac":null,"lineOpac":null},{"id":"shape:9b46c937-13a2-ba20-0be9-d945895fbae1","type":"text","transform":"","textFamily":"Arial","textSize":14,"top":69.4737,"left":123.684,"text":"Container","lineWidth":3,"fillColor":"#002925","filter":null,"lineColor":"none","fillOpac":null,"lineOpac":null},{"id":"shape:b3755abe-abf8-e9ab-fd1b-1a9757c6685a","type":"text","transform":"","textFamily":"Arial","textSize":12,"top":51.9474,"left":235.211,"text":"mousedown","lineWidth":3,"fillColor":"#002925","filter":null,"lineColor":"none","fillOpac":null,"lineOpac":null},{"id":"shape:0ac08ab4-c0a5-51a6-84f7-8b91dd222213","type":"text","transform":"","textFamily":"Arial","textSize":12,"top":50.7895,"left":331.526,"text":"mouseup","lineWidth":3,"fillColor":"#002925","filter":null,"lineColor":"none","fillOpac":null,"lineOpac":null},{"id":"shape:3315f3e6-c102-7841-20a4-f755c134e096","type":"text","transform":"","textFamily":"Arial","textSize":12,"top":52.6316,"left":408.316,"text":"mousemove","lineWidth":3,"fillColor":"#002925","filter":null,"lineColor":"none","fillOpac":null,"lineOpac":null},{"id":"shape:d9a3d05d-d273-1f6a-d4b7-de62cb4ee33a","type":"text","transform":"","textFamily":"Arial","textSize":12,"top":51.7755,"left":495.737,"text":"selectstart","lineWidth":3,"fillColor":"#002925","filter":null,"lineColor":"none","fillOpac":null,"lineOpac":null},{"id":"shape:dc668903-0eef-6d5c-3a15-409d8805a815","type":"text","transform":"","textFamily":"Arial","textSize":12,"top":66.3158,"left":256.316,"text":"onMouseDown","lineWidth":1,"fillColor":"#2b0000","filter":null,"lineColor":"none","fillOpac":1,"lineOpac":1},{"id":"shape:872c0900-accf-3714-4a8b-8ed2865b2d6d","type":"text","transform":"","textFamily":"Arial","textSize":12,"top":66.1579,"left":355.211,"text":"onMouseUp","lineWidth":1,"fillColor":"#2b0000","filter":null,"lineColor":"none","fillOpac":1,"lineOpac":1},{"id":"shape:cf2cd7a9-5e74-a026-989c-c5d2995ed044","type":"text","transform":"","textFamily":"Arial","textSize":12,"top":66.1579,"left":443.632,"text":"onMouseMove","lineWidth":1,"fillColor":"#2b0000","filter":null,"lineColor":"none","fillOpac":1,"lineOpac":1},{"id":"shape:ba20dfb9-a3be-ea51-56c8-d1f6c07079fc","type":"text","transform":"","textFamily":"Arial","textSize":12,"top":65.986,"left":546.263,"text":"onSelectStart","lineWidth":1,"fillColor":"#2b0000","filter":null,"lineColor":"none","fillOpac":1,"lineOpac":1},{"id":"shape:b710b1a6-bc19-99ab-eb4b-676791e93320","type":"text","transform":"","textFamily":"Arial","textSize":30,"top":277.895,"left":55.7895,"text":"I'm make event on canvas ","lineWidth":1,"fillColor":"#aa0000","filter":null,"lineColor":"none","fillOpac":1,"lineOpac":1}]
    29.5 \ No newline at end of file
    30.1 Binary file onlypaths/img/Thumbs.db has changed
    31.1 Binary file onlypaths/img/bar.gif has changed
    32.1 Binary file onlypaths/img/circle.gif has changed
    33.1 Binary file onlypaths/img/delete.gif has changed
    34.1 Binary file onlypaths/img/editpath.gif has changed
    35.1 Binary file onlypaths/img/image.gif has changed
    36.1 Binary file onlypaths/img/line.gif has changed
    37.1 Binary file onlypaths/img/loadcode.gif has changed
    38.1 Binary file onlypaths/img/oneback.gif has changed
    39.1 Binary file onlypaths/img/onetop.gif has changed
    40.1 Binary file onlypaths/img/path2.gif has changed
    41.1 Binary file onlypaths/img/path3.gif has changed
    42.1 Binary file onlypaths/img/rainbow1.png has changed
    43.1 Binary file onlypaths/img/rectangle.gif has changed
    44.1 Binary file onlypaths/img/reflect_h.gif has changed
    45.1 Binary file onlypaths/img/reflect_v.gif has changed
    46.1 Binary file onlypaths/img/reset.gif has changed
    47.1 Binary file onlypaths/img/roundrect.gif has changed
    48.1 Binary file onlypaths/img/select.gif has changed
    49.1 Binary file onlypaths/img/select3.gif has changed
    50.1 Binary file onlypaths/img/setpath1.gif has changed
    51.1 Binary file onlypaths/img/shape.gif has changed
    52.1 Binary file onlypaths/img/slider-metal.gif has changed
    53.1 Binary file onlypaths/img/slider-point.gif has changed
    54.1 Binary file onlypaths/img/text.gif has changed
    55.1 Binary file onlypaths/img/theme/images/Thumbs.db has changed
    56.1 Binary file onlypaths/img/theme/images/no.gif has changed
    57.1 Binary file onlypaths/img/theme/images/ok.gif has changed
    58.1 Binary file onlypaths/img/tocurve.gif has changed
    59.1 Binary file onlypaths/img/totheback.gif has changed
    60.1 Binary file onlypaths/img/tothetop.gif has changed
    61.1 Binary file onlypaths/img/viewcode.gif has changed
    62.1 Binary file onlypaths/img/white01.gif has changed
    63.1 Binary file onlypaths/img/zoom.gif has changed
    64.1 Binary file onlypaths/img/zoom_frame.gif has changed
    65.1 Binary file onlypaths/img/zoom_hand.gif has changed
    66.1 Binary file onlypaths/img/zoom_minus.gif has changed
    67.1 Binary file onlypaths/img/zoom_more.gif has changed
    68.1 Binary file onlypaths/img/zoom_window.gif has changed
    69.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    69.2 +++ b/onlypaths/index.htm	Sun Jan 31 12:33:33 2010 -0500
    69.3 @@ -0,0 +1,93 @@
    69.4 +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    69.5 +        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    69.6 +      <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
    69.7 +  <head>
    69.8 +
    69.9 +  <title>Onlypaths Symply Web 0.2.3</title> 
   69.10 +
   69.11 +  <link rel="stylesheet" type="text/css" href="theme/css/ext-all.css"> 
   69.12 +   
   69.13 +  <script type="text/javascript" src="js/ext/ext-base.js"></script> 
   69.14 +  <script type="text/javascript" src="js/ext/ext-all-debug.js"></script>
   69.15 +  <script type="text/javascript" src="js/ext/keymap.js"></script>
   69.16 + 
   69.17 +  <script type="text/javascript" src="js/onlypaths.js"></script> 
   69.18 +  <script type="text/javascript" src="js/format.js"></script>  
   69.19 +  
   69.20 +  <script type="text/javascript" src="js/sylvester.js"></script>
   69.21 +  <script type="text/javascript" src="js/svgrenderer.js"></script>
   69.22 +  <script type="text/javascript" src="js/vmlrenderer.js"></script>
   69.23 +  <script type="text/javascript" src="js/features.js"></script>
   69.24 +
   69.25 +  <script type="text/javascript" src="js/application.js"></script>
   69.26 +  <script type="text/javascript" src="js/me.js"></script>  
   69.27 +
   69.28 +  <link rel="stylesheet" type="text/css" href="css/slider.css">
   69.29 +  <link rel="stylesheet" type="text/css" href="css/me.css"> 
   69.30 +  <link rel="stylesheet" type="text/css" href="css/onlypaths.css"> 
   69.31 + 
   69.32 +</head>
   69.33 +
   69.34 +<body onload="demo();">
   69.35 +
   69.36 +<form name="richdrawform" > 
   69.37 +
   69.38 + 
   69.39 +  <div id="NORTHmenu" style="margin-top:0px;position:absolute;width:100%;"></div> 
   69.40 +  <div id="NORTHglobals" style="margin-top:0px; position:absolute;width:100%;"></div> 
   69.41 +  <div id="NORTHoptions" style="font-size:10px;position:absolute;width:100%;"></div>
   69.42 +  
   69.43 +  <div id="SUD" style="position:absolute;width:100%;padding:0px 0px 0px 0px;text-align:center;" ></div>
   69.44 +  <div id="EST" style="position:absolute;left:0px;padding:0px 0px 0px 0px;text-align:center;"></div> 
   69.45 +  <div id="WEST" style="overflow:hidden;position:absolute;padding-left:0px;text-align:left;"></div>  
   69.46 +  <div id="FRONT" style="overflow:hidden;position:absolute;background-color:#000000; text-align:center; vertical-align:middle">
   69.47 +     <div id="richdraw"  style="background-image:url();background-color:#ff0000;position:relative; border:0px outset black;left:0px;top:0px;width:800px;height:600px; "></div>
   69.48 +  </div>
   69.49 +
   69.50 +
   69.51 +  <!-- FLOATING -->
   69.52 +  <div id="status" style="visibility:hidden;position:absolute;top:0px;left:5px;width:2px;height:20px;"> </div> 
   69.53 +  <div id="showInfo"> </div>
   69.54 +  <!--<div id="frameCode" style="visibility:hidden;"></div> -->
   69.55 +  <div id="docProperties"  style="padding:5px 5px 5px 15px"> 
   69.56 +  X&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input name="xDocument" size="3" type="text" value=""><br>
   69.57 +  Y&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input name="yDocument" size="3" type="text" value=""><br>
   69.58 +   Width&nbsp; <input name="widthDocument" type="text" value=""><br>
   69.59 +   Height <input name="heightDocument" type="text value="">
   69.60 +   <input type="button" value="Change" onclick="changeDocumentProperties()">
   69.61 +  </div>
   69.62 +   
   69.63 +  <div id="divopenFile" style="padding:5px 5px 5px 9px">  
   69.64 +     File:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input name="file" size="53" type="text" value="">
   69.65 +     <input type="button" value="Charge" onclick="changeInitialFile()"><br> 
   69.66 +    <table>
   69.67 +     <tr><td>
   69.68 +      <div id="filesListDIV" style="width:100px;height:70px;overflow-x:hidden; overflow-y:scroll;">
   69.69 +       <a onclick="document.forms[0].file.value='onerobot.txt'">onerobot</a><br>
   69.70 +       <a onclick="document.forms[0].file.value='big01.txt'">big01</a><br>  
   69.71 +       <a onclick="document.forms[0].file.value='danger.txt'">danger</a><br>
   69.72 +       <a onclick="document.forms[0].file.value='biglong.txt'">Biglong</a><br>
   69.73 +       <a onclick="document.forms[0].file.value='solids.txt'">Solids</a><br>
   69.74 +     
   69.75 +     </td><td>
   69.76 +       <div id="draw1" style="width:100px;height:70px">
   69.77 +       </div>
   69.78 +     </td></tr>
   69.79 +    </table> 
   69.80 +  </div>
   69.81 +  <div id="divCode"> 
   69.82 +    <textarea name="code" id="code"  style="width:420px;height:200px;padding:0px"></textarea>
   69.83 +    <input type="button" value="Change" onclick="changeDocumentProperties()">
   69.84 +  </div>
   69.85 +  
   69.86 + </form>  
   69.87 + 
   69.88 +  <!-- INIT  
   69.89 +  -->
   69.90 + <div id="loading-mask" style="background-image:url('');width:100%;height:100%;background:#c3daf9;position :absolute;z-index:20000;left:0;top:0;"></div>
   69.91 + <div id="loading" >
   69.92 +  <div class="loading-indicator"><img src="http://www.funmunch.com/events/patricks/st_patricks_day_graphics/st_patricks_day_animated_gifs/st_patricks_day_animated_gif_1.gif" style="width:116px;height:116px;" align="absmiddle"></div>
   69.93 + </div> 
   69.94 +
   69.95 +</body>
   69.96 +</html>
    70.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    70.2 +++ b/onlypaths/js/application.js	Sun Jan 31 12:33:33 2010 -0500
    70.3 @@ -0,0 +1,1670 @@
    70.4 +
    70.5 +/*
    70.6 + * 
    70.7 + */ 
    70.8 +
    70.9 +Ext.BLANK_IMAGE_URL = 'theme/images/default/s.gif';
   70.10 +
   70.11 +if(typeof console != 'object') {
   70.12 +  console = {};
   70.13 +  console.log = function(){return false;};
   70.14 +}     
   70.15 +
   70.16 +
   70.17 +  function $(e){return Ext.get(e).dom}
   70.18 +  var c, browser, browserpath; 
   70.19 +  var colorpage="#ccccdd"; 
   70.20 +  var colorpage1a="#ee00aa"; //north  
   70.21 +  var colorpage1b="#ee00cc"; 
   70.22 +  var colorpage1c="#ee00ee"; 
   70.23 +  var colorpage2="#77aaaa";  //sud
   70.24 +  var colorpage3="#ddee00";  //est
   70.25 +  var colorpage4="#ccee00";  //west           
   70.26 +  
   70.27 +  var selectmode='';
   70.28 +  var selectedit='';
   70.29 +  
   70.30 +  
   70.31 +  ie = navigator.appVersion.match(/MSIE (\d\.\d)/);
   70.32 +  opera = (navigator.userAgent.toLowerCase().indexOf("opera") != -1);
   70.33 +  
   70.34 +  
   70.35 +  
   70.36 +  window.onresize = doResize; 
   70.37 +  var initialFile='onerobot.txt';
   70.38 +  var docx=0;
   70.39 +  var docy=0;
   70.40 +  var docw=600;
   70.41 +  var doch=400;
   70.42 +  var canvasWidth=600;//FRONTsize[0];  
   70.43 +  var canvasW=canvasWidth;  
   70.44 +  var canvasHeight=400;//FRONTsize[1];  
   70.45 +  var canvasH=canvasHeight;
   70.46 +  var canvasX=0; 
   70.47 +  var canvasY=0; 
   70.48 +  var zoomx=docx;
   70.49 +  var zoomy=docy;
   70.50 +  var zoomw=docw;
   70.51 +  var zoomh=doch;   
   70.52 +  var marginx=0;
   70.53 +  var marginy=0;      
   70.54 +  var margin=100;   
   70.55 +  var screenSize=myWorkSize();
   70.56 +  var scrW = screenSize[0];//screen.availWidth;
   70.57 +  var scrH = screenSize[1];//screen.availHeight; 
   70.58 +  
   70.59 +  var canvasYpercent=100;
   70.60 +  var canvasXpercent=100;
   70.61 +  
   70.62 + 
   70.63 +//?
   70.64 +  var wndW=scrW;//window.width;
   70.65 +  var wndH=scrH;//window.height;
   70.66 +//  
   70.67 +  var proporWindow= scrW/scrH;
   70.68 +  var proporCanvas=canvasW/canvasH;  
   70.69 +  var proporDoc=docw/doch; 
   70.70 +  var proporZoom= zoomw/zoomh; 
   70.71 +  var proporx=proporCanvas; //IE  
   70.72 +  var propory=1;      //IE  
   70.73 +  var viewMode='canvas';//'canvas' or 'preview'
   70.74 +
   70.75 +  var zoominit=docx+' '+docy+' '+docw+' '+doch; 
   70.76 +  var zoominit1 =zoominit;  
   70.77 +  var zoominit2 =zoominit;
   70.78 +
   70.79 +  var fieldViewx=Math.round(canvasH*proporCanvas); 
   70.80 +  var fieldViewy=canvasH;  
   70.81 +  var diagonalFrame=dist2p(0,0,fieldViewx,fieldViewy);
   70.82 +  var diagonalAngle=getAngle(fieldViewx,fieldViewy);                                  
   70.83 +  var diagonalinit=diagonalFrame;  
   70.84 +  //alert(diagonalinit);
   70.85 +  
   70.86 +  // double?
   70.87 +  var diagonalMidx=fieldViewx/2; 
   70.88 +  var diagonalMidy=fieldViewy/2;   
   70.89 +  var centerZoomx=diagonalMidx;//Math.round(zoomw/2);
   70.90 +  var centerZoomy=diagonalMidy;//Math.round(zoomh/2);        
   70.91 +  //
   70.92 +  
   70.93 +  
   70.94 +  var proporDiagonal=diagonalFrame/diagonalinit; 
   70.95 +  //////////////////////////
   70.96 +  
   70.97 +  var wProportion={x:35, y:24}
   70.98 +  
   70.99 +  var vertexNORTHmenu={};
  70.100 +  var vertexNORTHglobals={};
  70.101 +  var vertexNORTHoptions={};    
  70.102 +  var vertexSUD={};
  70.103 +  var vertexEST={};
  70.104 +  var vertexWEST={};
  70.105 +  var vertexFRONT={};
  70.106 + 
  70.107 +  var NORTHmenusize=[];
  70.108 +  var NORTHglobalssize=[];
  70.109 +  var NORTHoptionssize=[];  
  70.110 +  var SUDsize=[]; 
  70.111 +  var ESTsize=[]; 
  70.112 +  var WESTsize=[]; 
  70.113 +  var FRONTsize=[]; 
  70.114 +  
  70.115 +  
  70.116 +  vertexFrames();
  70.117 + 
  70.118 +
  70.119 +  var FRONT='';
  70.120 +  //FRONT+='  <div id="richdraw"  style="background-image:url();background-color:#ff0000;position:relative; border:0px outset black;left:'+canvasX+'px;top:'+canvasY+'px;width:'+canvasW+'px;height:'+canvasH+'px; "></div>';
  70.121 +  
  70.122 +  var NORTHmenu='';
  70.123 +  NORTHmenu+='&nbsp;&nbsp;<span id="file">File</span>&nbsp;&nbsp;<span id="edit">Edit</span>&nbsp;&nbsp;<span id="view">View</span>';   
  70.124 + 
  70.125 +  var NORTHglobals='';
  70.126 +  NORTHglobals+='<span id="options_select" style="visibility:visible;position:relative;top:0px;left:'+canvasX+'px; padding:1px; margin-top:1px; background-color:transparent;">';
  70.127 +  NORTHglobals+=' <img id="select_deleteone" title="Delete one" onclick="selectedit='+"'"+'deleteone'+"'"+';info_select()" src="img/delete.gif" >';    
  70.128 +  NORTHglobals+=' <img id="select_deleteall" title="Delete all" onclick="selectedit='+"'"+'deleteall'+"'"+';info_select()" src="img/reset.gif" >'    
  70.129 +  NORTHglobals+=' <img id="select_tothetop" title="To the top" onclick="selectedit='+"'"+'tothetop'+"'"+';info_select()" src="img/tothetop.gif" >';    
  70.130 +  NORTHglobals+=' <img id="select_totheback" title="To the back" onclick="selectedit='+"'"+'totheback'+"'"+';info_select()" src="img/totheback.gif" >';    
  70.131 +  NORTHglobals+=' <img id="select_onetop" title="One top" onclick="selectedit='+"'"+'onetop'+"'"+';info_select()" src="img/onetop.gif" >';    
  70.132 +  NORTHglobals+=' <img id="select_oneback" title="One back" onclick="selectedit='+"'"+'oneback'+"'"+';info_select()" src="img/oneback.gif" >';    
  70.133 +  NORTHglobals+=' <img id="select_reflectV" title="Vertical reflect" onclick="selectedit='+"'"+'reflectV'+"'"+';info_select()" src="img/reflect_h.gif" >',    
  70.134 +  NORTHglobals+=' <img id="select_reflectH" title="Horizontal reflect" onclick="selectedit='+"'"+'reflectH'+"'"+';info_select()" src="img/reflect_v.gif" >';    
  70.135 +  NORTHglobals+='</span>';
  70.136 +
  70.137 +  var NORTHoptions='';  
  70.138 +    // <!-- OPTIONS_SELECT_PATH --> 
  70.139 +  NORTHoptions+='<div id="options_select_path" style="font-size:9px;visibility:hidden;position:absolute;top:0px;left:5px;height:14px;width:100%; padding:1px; margin-top:1px; background-color:transparent;">';
  70.140 +  NORTHoptions+='<input type="text" name="codebase" id="codebase" style="height:15px;width:600px; padding:1px 1px 1px 4px; margin:0px; background-color:#ffffff;" value=""><img id="envshape" style="background-color:orange;" align="top"  title="Submit Shape" onclick="setShape();" border="0px" src="img/setpath1.gif">';
  70.141 +  NORTHoptions+='</div>'; 
  70.142 +  // <!-- OPTIONS_RECT --> 
  70.143 +  NORTHoptions+='<div id="options_rect" style="font-size:9px;visibility:hidden;position:absolute;top:0px;left:5px;height:14px;width:100%; padding:1px; margin-top:1px; background-color:transparent;">';
  70.144 +  NORTHoptions+='   trX<input id="option_rect_trx" type="text" size="1"  style="background-color:#ffffdd" value="0" onKeyPress="return edit(this,event)">'; 
  70.145 +  NORTHoptions+='   trY<input id="option_rect_try" type="text" size="1"  style="background-color:#ffffdd" value="0"onKeyPress="return edit(this,event)">'; 
  70.146 +  NORTHoptions+='   wx<input id="option_rect_sclx" type="text" size="1" style="background-color:#ddffdd" value="1" onKeyPress="return edit(this,event)">'; 
  70.147 +  NORTHoptions+='   wy<input id="option_rect_scly" type="text" size="1" style="background-color:#ddffdd" value="1" onKeyPress="return edit(this,event)">';   
  70.148 +  NORTHoptions+='   rot<input id="option_rect_rot" type="text" size="1" style="background-color:#ffdddd"  value="0" onKeyPress="return edit(this,event)">'; 
  70.149 +  NORTHoptions+='</div>';
  70.150 +  // <!-- OPTIONS_IMAGE -->
  70.151 +  NORTHoptions+='<div id="options_image" style="font-size:9px;visibility:hidden;position:absolute;top:0px;left:5px;height:14px;width:100%; padding:1px; margin-top:1px; background-color:transparent;">';
  70.152 +  NORTHoptions+=' trX<input id="option_img_trx" type="text" size="1"  style="background-color:#ffffdd" value="0" onKeyPress="return edit(this,event)">'; 
  70.153 +  NORTHoptions+=' trY<input id="option_img_try" type="text" size="1"  style="background-color:#ffffdd" value="0"onKeyPress="return edit(this,event)">'; 
  70.154 +  NORTHoptions+=' wx<input id="option_img_sclx" type="text" size="1" style="background-color:#ddffdd" value="1" onKeyPress="return edit(this,event)">'; 
  70.155 +  NORTHoptions+=' wy<input id="option_img_scly" type="text" size="1" style="background-color:#ddffdd" value="1" onKeyPress="return edit(this,event)">';   
  70.156 +  NORTHoptions+=' rot<input id="option_img_rot" type="text" size="1" style="background-color:#ffdddd"  value="0" onKeyPress="return edit(this,event)">'; 
  70.157 +  NORTHoptions+=' Source: <input name="option_image_href" type="text" size="62" id="option_image_href"  value="http://tavmjong.free.fr/INKSCAPE/MANUAL/images/QUICKSTART/SOUPCAN/SoupCan_SoupedUp.png" onmouseover="" onKeyPress="return edit(this,event)">';
  70.158 +  NORTHoptions+='</div>';  
  70.159 +  //<!-- OPTIONS_PATH -->
  70.160 +  NORTHoptions+='<div id="options_path" style="font-size:9px;visibility:hidden;position:absolute;top:0px;left:5px;height:14px;width:100%; padding:1px; margin-top:1px; background-color:transparent;">';
  70.161 +  NORTHoptions+=' trX<input id="option_path_trx" type="text" size="1"  style="background-color:#ffffdd" value="0" onKeyPress="return edit(this,event)">'; 
  70.162 +  NORTHoptions+=' trY<input id="option_path_try" type="text" size="1"  style="background-color:#ffffdd" value="0"onKeyPress="return edit(this,event)">'; 
  70.163 +  NORTHoptions+=' <input id="option_path_sclx" type="hidden" size="1" style="background-color:#ddffdd" value="1" onKeyPress="return edit(this,event)">'; 
  70.164 +  NORTHoptions+=' <input id="option_path_scly" type="hidden" size="1" style="background-color:#ddffdd" value="1" onKeyPress="return edit(this,event)">';   
  70.165 +  NORTHoptions+=' rot<input id="option_path_rot" type="text" size="1" style="background-color:#ffdddd"  value="0" onKeyPress="return edit(this,event)">'; 
  70.166 +  NORTHoptions+=' Open/Close: <input CHECKED name="option_path_close"  id="option_path_close" type="checkbox">';
  70.167 +  NORTHoptions+=' <input type="text" name="control_codebase" id="control_codebase" style="height:15px;width:300px; padding:1px 1px 1px 4px; margin:0px; background-color:#ffffff;" onmouseover="" value="" onKeyPress="return edit(this,event)">';
  70.168 +  NORTHoptions+=' <img style="cursor:pointer" align="top" title="to curve" onclick="c.renderer.tocurve();" src="img/tocurve.gif">';
  70.169 +  NORTHoptions+=' <input id="option_path_num" type="hidden" size="1" style="background-color:#ffdddd"  value="0">';
  70.170 +  NORTHoptions+=' Px<input id="option_path_x" type="text" size="1" style="background-color:#ffdddd"  value="0" onKeyPress="return editPath(this,event)">';
  70.171 +  NORTHoptions+=' Py<input id="option_path_y" type="text" size="1" style="background-color:#ffdddd"  value="0" onKeyPress="return editPath(this,event)">';   
  70.172 +  NORTHoptions+='</div>';
  70.173 +  //<!--OPTIONS ELLIPSE-->    
  70.174 +  NORTHoptions+='<div id="options_ellipse" style="font-size:9px;visibility:hidden;position:absolute;top:0px;left:5px;height:14px;width:100%; padding:1px; margin-top:1px; background-color:transparent;">';
  70.175 +  NORTHoptions+=' trX<input id="option_ellipse_trx" type="text" size="1"  style="background-color:#ffffdd" value="0" onKeyPress="return edit(this,event)">'; 
  70.176 +  NORTHoptions+=' trY<input id="option_ellipse_try" type="text" size="1"  style="background-color:#ffffdd" value="0"onKeyPress="return edit(this,event)">'; 
  70.177 +  NORTHoptions+=' wx<input id="option_ellipse_sclx" type="text" size="1" style="background-color:#ddffdd" value="1" onKeyPress="return edit(this,event)">'; 
  70.178 +  NORTHoptions+=' wy<input id="option_ellipse_scly" type="text" size="1" style="background-color:#ddffdd" value="1" onKeyPress="return edit(this,event)">';   
  70.179 +  NORTHoptions+=' rot<input id="option_ellipse_rot" type="text" size="1" style="background-color:#ffdddd"  value="0" onKeyPress="return edit(this,event)">'; 
  70.180 +  NORTHoptions+='</div>';
  70.181 +  //<!-- OPTIONS_ZOOM -->
  70.182 +  NORTHoptions+='<div id="options_zoom" style="font-size:9px;visibility:hidden;position:relative;top:0px;left:'+canvasX+'px; padding:0px; margin-top:0px; background-color:transparent;">';
  70.183 +  NORTHoptions+=' <img id="zoom_more" title="More zoom" onclick="zoommode='+"'"+'more'+"'"+';info_zoom()" src="img/zoom_more.gif" >';    
  70.184 +  NORTHoptions+=' <img id="zoom_minus" title="Minus zoom" onclick="zoommode='+"'"+'minus'+"'"+';info_zoom()" src="img/zoom_minus.gif" >';    
  70.185 +  NORTHoptions+=' <img id="zoom_frame" title="Frame zoom" onclick="zoommode='+"'"+'frame'+"'"+';info_zoom()" src="img/zoom_frame.gif" >';    
  70.186 +  NORTHoptions+=' <img id="zoom_window" title="Window zoom" onclick="zoommode='+"'"+'window'+"'"+';info_zoom()" src="img/zoom_window.gif" >';    
  70.187 +  NORTHoptions+=' <img id="zoom_hand" title="Hand zoom" onclick="zoommode='+"'"+'hand'+"'"+';info_zoom()" src="img/zoom_hand.gif" >';    
  70.188 +  NORTHoptions+='</div>';
  70.189 +  //<!-- OPTIONS TEXT-->
  70.190 +  NORTHoptions+='<div id="options_text" style="font-size:9px;visibility:hidden;position:absolute;top:0px;left:90px;width:100%; padding:1px; margin-top:1px;z-index:200; background-color:transparent;">';
  70.191 +  NORTHoptions+=' <input name="option_text_message"  type="text"   size="22" id="option_text_message"  value="My text" onKeyPress="return edit(this,event)" style="visibility:inherit!important" />'; 
  70.192 +  NORTHoptions+=' Size:<input type="text" size="3" id="option_text_size"  name="option_text_size" value="30" onKeyPress="return edit(this,event)" style="">'; 
  70.193 +  NORTHoptions+=' Family:<select id="select_option_text_family" name="select_option_text_family" onchange="setTextFamily(this);" style="font-size:9px;">';
  70.194 +  NORTHoptions+='     <option style="font-family:Arial;" value="Arial">Arial</option>';
  70.195 +  NORTHoptions+='    <option  style="font-family:Verdana;"  value="Verdana">Verdana</option>';
  70.196 +  NORTHoptions+='    <option  style="font-family:Times;" value="Times">Times</option>'; 
  70.197 +  NORTHoptions+='    <option  style="font-family:Times;" value="Tahoma">Tahoma</option>';
  70.198 +  NORTHoptions+='    <option  style="font-family:Times;" value="Impact">Impact</option>';
  70.199 +  NORTHoptions+='  </select>';
  70.200 +  NORTHoptions+='  <input type="hidden" name="option_text_family" id="option_text_family" value="Arial" >';
  70.201 +  NORTHoptions+='</div>';  
  70.202 +  
  70.203 +  
  70.204 +  var EST='';
  70.205 +   EST+='<img id="select" title="Select shapes" onclick="c.pathsEdit=false; setMode('+"'"+'select'+"'"+', '+"'"+'Selection'+"'"+');" src="img/select3.gif" >';
  70.206 +   EST+='<img id="pathsEdit" title="Edit path" onclick="c.pathsEdit=true; setMode('+"'"+'pathsEdit'+"'"+', '+"'"+'Path Edit'+"'"+');" src="img/editpath.gif" >';
  70.207 +   EST+='<img id="zoom" title="Select zoom" onclick="setMode('+"'"+'zoom'+"'"+', '+"'"+'Zoom'+"'"+');" src="img/zoom.gif" >';
  70.208 +   EST+='<img id="rect" title="Draw a rectangle" onclick="setMode('+"'"+'rect'+"'"+', '+"'"+'Rectangle'+"'"+');" src="img/rectangle.gif" >';
  70.209 +   EST+='<img id="roundrect" title="Draw a rounded rectangle" onclick="setMode('+"'"+'roundrect'+"'"+', '+"'"+'Rounded Rectangle'+"'"+');" src="img/roundrect.gif" >';
  70.210 +   EST+='<img id="ellipse" title="Draw an ellipse" onclick="setMode('+"'"+'ellipse'+"'"+', '+"'"+'Ellipse / Circle'+"'"+');" src="img/circle.gif" >';
  70.211 +   EST+='<img id="line" title="Draw a line" onclick="setMode('+"'"+'line'+"'"+', '+"'"+'Line'+"'"+');" src="img/line.gif" >';  
  70.212 +   EST+='<img id="path" title="Draw a path" onclick="setMode('+"'"+'path'+"'"+', '+"'"+'Path'+"'"+');" src="img/path2.gif">';
  70.213 +   EST+='<img id="controlpath" title="Draw a path" onclick="setMode('+"'"+'controlpath'+"'"+', '+"'"+'controlPath'+"'"+');" src="img/path3.gif">';
  70.214 +   EST+='<img id="text" title="Write a text" onclick="setMode('+"'"+'text'+"'"+', '+"'"+'Text'+"'"+');" src="img/text.gif">';   
  70.215 +   EST+='<img id="shape" title="Open a shape" onclick="setMode('+"'"+'shape'+"'"+', '+"'"+'Shape'+"'"+');" src="img/shape.gif">';
  70.216 +   EST+='<img id="image" title="Put a image" onclick="setMode('+"'"+'image'+"'"+', '+"'"+'Image'+"'"+');" src="img/image.gif" >';    
  70.217 +
  70.218 +   var WEST='';   
  70.219 +   WEST+='<div id="xyinput"  style="width:40px;background-color:transparent">0,0</div>';
  70.220 +   WEST+='<div id="zoomOverInput"  style="width:40px;background-color:transparent">0,0</div>';
  70.221 +
  70.222 +   WEST+='<div style="font-size:9px">Grid:</div>';
  70.223 +   WEST+='<select id="gridwidth" style="font-size:9px">';
  70.224 +       var chain='';
  70.225 +       for(var num=1;num<=30;num++)
  70.226 +       {
  70.227 +         chain+='<option value="'+num+'">'+num+'px</option>';
  70.228 +       }   
  70.229 +   WEST+=chain;    
  70.230 +   WEST+='</select>';
  70.231 +   WEST+='<br>'; 
  70.232 + 
  70.233 +   WEST+=' <div name="me-container">';
  70.234 +   WEST+=' <div id="fill-me">'; 
  70.235 +   WEST+=' <img style=" padding:0px; border:0px solid orange;" id="img_okfill" onclick="setbe(1,'+"'"+'img_okfill'+"'"+')" src="img/theme/images/ok.gif">Fill<div id="fill-square"></div>';
  70.236 +   WEST+=' <div id="slider-fill"></div>'; 
  70.237 +   WEST+=' <div id="fillContainer"></div>';  
  70.238 +   WEST+=' <div id="opacity-slider-fill" title="Fill opacity"></div>';  
  70.239 +   WEST+=' </div>'; 
  70.240 +   WEST+=' <div id="stroke-me">'; 
  70.241 +   WEST+='  <img style=" padding:0px; border:0px solid orange;" id="img_okstroke" onclick="setbe(2,'+"'"+'img_okstroke'+"'"+')" src="img/theme/images/ok.gif">Line<div id="stroke-square"></div>';
  70.242 +   WEST+=' <div id="slider-stroke"></div>';
  70.243 +   WEST+=' <div id="strokeContainer"></div>'; 
  70.244 +   WEST+='  <div id="width-slider-stroke-mask"></div><div id="width-slider-stroke" title="Stroke width"></div>'; 
  70.245 +   WEST+='  <div id="opacity-slider-stroke" title="Stroke opacity"></div>'; 
  70.246 +   WEST+='  </div>'; 
  70.247 +   WEST+='  <div id="divformfill">'; 
  70.248 +   WEST+='  </div>';
  70.249 +   WEST+='  <div id="divformstroke">'; 
  70.250 +   WEST+='  </div>';
  70.251 + 
  70.252 +   WEST+='</div>';
  70.253 +   WEST+=' <div id="panel_shapes" style="overflow:auto;font-size:9px;visibility:hidden;position:absolute;top:270px;left:0px;height:100px;width:200px; padding:1px; margin-top:1px; background-color:transparent;">';
  70.254 +   WEST+='    <iframe id="linksPaths" style="visibility:hidden;overflow:auto;padding:0px;border-style:outset;border-width:0px;margin:0px;width:200px;height:122px;background-color:wheat;" src="svgpaths.htm"></iframe>';
  70.255 +   WEST+=' </div> ';
  70.256 +
  70.257 +   var SUD="";
  70.258 +   //SUD+='<img id="showcode" title="Show the code" alt="" onclick="showMarkupCode();" src="img/viewcode.gif" style="border-color:#dd7700" >';
  70.259 +   //SUD+='<img id="showmarkup" title="Show the raw markup" alt="" onclick="shm();" src="img/viewcode.gif" >';
  70.260 +   //SUD+='<img id="loadmarkup" title="Load the raw markup" alt="" onclick="lcm();" src="img/loadcode.gif" >';
  70.261 +   //SUD+='<br>&nbsp;';
  70.262 +   SUD+='<br>&nbsp;';
  70.263 +   SUD+='<input type="text"  id="someinfo" value="No Data" name="someinfo" style="width:80%;">';
  70.264 +  // SUD+='<textarea name="code" id="code"  style="width:420px;height:200px;padding:0px"></textarea>';
  70.265 +  // SUD+='<div>';
  70.266 +  // SUD+='</div>';
  70.267 +
  70.268 + var currentEditStatus='off'; 
  70.269 + var currentFileStatus='off';   
  70.270 + var currentViewStatus='off';
  70.271 +  var infoFrame, docFrame;
  70.272 +Ext.onReady(function() {  
  70.273 +
  70.274 +
  70.275 +  //var map = new Ext.KeyMap(document, {  
  70.276 +  // key: [Ext.EventObject.LEFT, Ext.EventObject.RIGHT],  
  70.277 +  // ctrl: true,  
  70.278 +  // fn: keypresshandler  
  70.279 +  //});  
  70.280 +  //Ext.get("FRONT").dom.innerHTML=(FRONT);
  70.281 +  Ext.get("NORTHmenu").dom.innerHTML=(NORTHmenu); 
  70.282 +  Ext.get("NORTHglobals").dom.innerHTML=(NORTHglobals);  
  70.283 +  Ext.get("NORTHoptions").dom.innerHTML=(NORTHoptions);
  70.284 +  Ext.get("EST").dom.innerHTML=(EST);
  70.285 +  Ext.get("WEST").dom.innerHTML=(WEST);    
  70.286 +  Ext.get("SUD").dom.innerHTML=(SUD); 
  70.287 +  
  70.288 +  resizeFrame();
  70.289 +  var map= new Ext.KeyMap(document, [
  70.290 +    {
  70.291 +        key: [46],//DELETE
  70.292 +        fn: function(){ c.deleteSelection(); }
  70.293 +    }, {
  70.294 +        key: "x",
  70.295 +        ctrl:true,
  70.296 +        fn: function(){ 	
  70.297 +        	c.clipboard=c.renderer.copy(c.selected);
  70.298 +	     	c.deleteSelection();  
  70.299 +	      }    
  70.300 +    }, {
  70.301 +        key: "c",
  70.302 +        ctrl:true,
  70.303 +        fn: function(){ 	
  70.304 +			 c.clipboard=c.renderer.copy(c.selected);
  70.305 +	      }	      
  70.306 +    }, {
  70.307 +        key: "d",
  70.308 +        ctrl:true,
  70.309 +        fn: function(){ 	
  70.310 +			 c.selected=c.renderer.duplicate(c.selected);
  70.311 +			 c.selected.id = 'shape:' + createUUID();
  70.312 +    			Ext.get(c.selected).on( "mousedown", c.onHit,c);  
  70.313 +	      }	      
  70.314 +    }, {
  70.315 +        key: "v",
  70.316 +        ctrl:true,
  70.317 +        fn: function(){ 	
  70.318 +			 c.selected=c.renderer.paste(c.clipboard,c.mouseDownX,c.mouseDownY);
  70.319 +			 c.selected.id = 'shape:' + createUUID();
  70.320 + 			Ext.get(c.selected).on( "mousedown", c.onHit,c);  
  70.321 +	      }	      
  70.322 +    }, {
  70.323 +        key: "z", //UNDO
  70.324 +        ctrl:true,
  70.325 +        shift:false,
  70.326 +        fn: function(){ c.clipboard=c.renderer.undo(); }
  70.327 +    }
  70.328 +]);                                  
  70.329 +
  70.330 +  /*
  70.331 +  Ext.get("richdraw").dom.style.width=(canvasWidth);
  70.332 +  Ext.get("richdraw").dom.style.height=(canvasHeight);
  70.333 +  Ext.get("richdraw").dom.style.left=(canvasX);
  70.334 +  Ext.get("richdraw").dom.style.top=(canvasY);
  70.335 + */ 
  70.336 +  
  70.337 +  
  70.338 +  
  70.339 + menuEdit = new Ext.menu.Menu({
  70.340 +  id: 'menuedit',
  70.341 +  items: [
  70.342 +   {icon: "img/viewcode.gif", text: 'Copy all     ', handler: shm},
  70.343 +   {icon: "img/viewcode.gif", text: 'Paste all    ', handler: lcm},
  70.344 +   {icon: "img/viewcode.gif", text: 'Delete all   ', handler: deleteAllShapes},
  70.345 +   {icon: "img/viewcode.gif", text: 'Duplicate&nbsp;&nbsp;<b>Ctrl+d</b>', handler: duplicateSelected},
  70.346 +   {icon: "img/viewcode.gif", text: 'Cut&nbsp;&nbsp;&nbsp;&nbsp;<b>Ctrl+x</b>', handler: cutSelected},
  70.347 +   {icon: "img/viewcode.gif", text: 'Copy&nbsp;&nbsp;&nbsp;&nbsp;<b>Ctrl+c</b>', handler: copySelected},
  70.348 +   {icon: "img/viewcode.gif", text: 'Paste&nbsp;&nbsp;<b>Ctrl+v</b>', handler: pasteSelected},
  70.349 +   {icon: "img/viewcode.gif", text: 'Delete&nbsp;&nbsp;&nbsp;<b>Supr</b>', handler: deleteShape},
  70.350 +   {icon: "img/viewcode.gif", text: 'Delete last&nbsp;<b>Ctrl+z</b>', handler: deleteLastShapes},
  70.351 +
  70.352 +  ] 
  70.353 + });   
  70.354 + 
  70.355 + menuFile = new Ext.menu.Menu({
  70.356 +  id: 'menufile',  
  70.357 +   
  70.358 +  items: [
  70.359 +   new Ext.menu.Item({ icon: "img/viewcode.gif", text: 'New    ', handler: newFile   }),
  70.360 +   new Ext.menu.Item({ icon: "img/viewcode.gif", text: 'Open    ', handler: openFile   }),
  70.361 +   new Ext.menu.Item({ icon: "img/viewcode.gif", text: 'View SVG code    ', handler: showMarkupCode   }),
  70.362 +   new Ext.menu.Item({icon: "img/viewcode.gif", text: 'View OPF code    ', handler: showMarkup   }), 
  70.363 +   new Ext.menu.Item({icon: "img/viewcode.gif", text: 'Document properties    ', handler: documentProperties   })
  70.364 +  ] 
  70.365 + });      
  70.366 + menuView = new Ext.menu.Menu({
  70.367 +  id: 'menuview',  
  70.368 +   
  70.369 +  items: [
  70.370 +   {icon: "img/viewcode.gif", text: 'Preview     ', handler: preView},
  70.371 +   {icon: "img/viewcode.gif", text: 'Canvas    ', handler: canvasView}
  70.372 +  ] 
  70.373 + });
  70.374 +/*
  70.375 +  items: [ 
  70.376 +   {icon: "img/viewcode.gif", text: 'View SVG code    ', handler: showMarkupCode },
  70.377 +   {icon: "img/viewcode.gif", text: 'View OPF code    ', handler: showMarkup }, 
  70.378 +   {icon: "img/viewcode.gif", text: 'Document properties    ', handler: documentProperties },
  70.379 +
  70.380 +  ] 
  70.381 +*/ 
  70.382 +// define the handler for mouseover/out of either button or menu itself
  70.383 + var editHandler = function(e) 
  70.384 + {
  70.385 +  if(currentEditStatus=='on')
  70.386 +   {
  70.387 +    var edit = menuEdit.getEl();
  70.388 +    var buttonEdit = Ext.get('edit');
  70.389 +    if(!edit.getRegion().contains(e.getPoint()) && !buttonEdit.getRegion().contains(e.getPoint()))
  70.390 +     {
  70.391 +      menuEdit.hide();
  70.392 +      currentEditStatus='off';
  70.393 +     }
  70.394 +   }
  70.395 +    else
  70.396 +   {
  70.397 +    menuEdit.show('edit');
  70.398 +    currentEditStatus='on';
  70.399 +   }
  70.400 + }
  70.401 +
  70.402 + var fileHandler = function(e) 
  70.403 + {
  70.404 +  if(currentFileStatus=='on')
  70.405 +   {
  70.406 +    var file = menuFile.getEl();
  70.407 +    var buttonFile = Ext.get('file');
  70.408 +    if(!file.getRegion().contains(e.getPoint()) && !buttonFile.getRegion().contains(e.getPoint()))
  70.409 +     {
  70.410 +      menuFile.hide();
  70.411 +      currentFileStatus='off';
  70.412 +     }
  70.413 +   }
  70.414 +    else
  70.415 +   {
  70.416 +    menuFile.show('file');
  70.417 +    currentFileStatus='on';
  70.418 +   }
  70.419 + }   
  70.420 + 
  70.421 + 
  70.422 + var viewHandler = function(e) 
  70.423 +  {
  70.424 +   if(currentViewStatus=='on')
  70.425 +    {
  70.426 +     var view = menuView.getEl();
  70.427 +     var buttonView = Ext.get('view');
  70.428 +     if(!view.getRegion().contains(e.getPoint()) && !buttonView.getRegion().contains(e.getPoint()))
  70.429 +      {
  70.430 +       menuView.hide();
  70.431 +       currentViewStatus='off';
  70.432 +      }
  70.433 +    }
  70.434 +     else
  70.435 +    {
  70.436 +     menuView.show('view');
  70.437 +     currentViewStatus='on';
  70.438 +    }
  70.439 +  }  
  70.440 +  
  70.441 + // define the events to observe 
  70.442 + Ext.get('edit').on('mouseover',editHandler);
  70.443 + Ext.get('edit').on('mouseout',editHandler);
  70.444 + menuEdit.getEl().on('mouseout',editHandler); 
  70.445 + 
  70.446 + Ext.get('file').on('mouseover',fileHandler);
  70.447 + Ext.get('file').on('mouseout',fileHandler);
  70.448 + menuFile.getEl().on('mouseout',fileHandler);
  70.449 +
  70.450 + Ext.get('view').on('mouseover',viewHandler);
  70.451 + Ext.get('view').on('mouseout',viewHandler);
  70.452 + menuView.getEl().on('mouseout',viewHandler);
  70.453 +
  70.454 + 
  70.455 +
  70.456 +}); 
  70.457 +
  70.458 +//  end ONREADY 
  70.459 +
  70.460 +function borderDoc(){  
  70.461 + //c.rectCanvas(docx,docy,docw,doch,viewBox)
  70.462 +     if(viewMode=='canvas')
  70.463 +         {  
  70.464 +         var obj=document.getElementById("rectDoc"); 
  70.465 +         if(obj){c.renderer.remove(obj) }
  70.466 +         c.renderer.rectDoc(zoominit); 
  70.467 +         //c.renderer.rectDoc(zoominit1); 
  70.468 +         //pst.id = "rectCanvas";
  70.469 +               //c.selected=obj;
  70.470 +                // c.renderer.remove(obj) 
  70.471 +         //var clip=c.renderer.copy(obj);
  70.472 +        
  70.473 +         
  70.474 +         
  70.475 +         //var pst=c.container.appendChild( clip );
  70.476 +         //c.renderer.paste(clip,0,0); 
  70.477 +         //pst.id = "rectCanvas";
  70.478 +         
  70.479 +         
  70.480 +         //pasteSelected();
  70.481 +
  70.482 +          //c.renderer.duplicate(document.getElementById("rectCanvas"))
  70.483 +          //c.renderer.remove(document.getElementById("rectCanvas"));
  70.484 +         }  
  70.485 +      if(viewMode=='preview')
  70.486 +         {  
  70.487 +         var obj=document.getElementById("rectDoc"); 
  70.488 +         if(obj){c.renderer.remove(obj) } 
  70.489 +         }   
  70.490 +}
  70.491 + function demo() {   
  70.492 +    _dom=document.all?3:(document.getElementById?1:(document.layers?2:0));
  70.493 +      ie = navigator.appVersion.match(/MSIE (\d\.\d)/);
  70.494 +      opera = (navigator.userAgent.toLowerCase().indexOf("opera") != -1);
  70.495 +
  70.496 +    var renderer;
  70.497 +
  70.498 +    if ((!ie) || (opera)) {
  70.499 +      renderer = new SVGRenderer();
  70.500 +      browser='svg';
  70.501 +      browserpath="linkspath.htm";
  70.502 +    }
  70.503 +    else {
  70.504 +      renderer = new VMLRenderer(); 
  70.505 +      browser='vml';
  70.506 +      browserpath="vmlpaths.htm";
  70.507 +    }
  70.508 +
  70.509 +    c = new RichDrawEditor(document.getElementById('richdraw'), renderer); 
  70.510 +   
  70.511 +    c.onInputXY = function(x,y){$('xyinput').innerHTML = parseInt(x)+','+parseInt(y)}//[x,y].join("<br>")}
  70.512 +    c.onViewInputXY = function(x,y){$('zoomOverInput').innerHTML = parseInt(x)+','+parseInt(y)}//[x,y].join("<br>")}
  70.513 +  
  70.514 +    c.onselect = onSelect;
  70.515 +    c.onunselect = onUnselect;  
  70.516 +   
  70.517 +     
  70.518 +
  70.519 +    // c.onkeydown = keypresshandler;     
  70.520 +   //c.onkeypress = c.onKeyPress;
  70.521 +    //document.onkeypress = c.onKeyPress;
  70.522 +       
  70.523 +    
  70.524 +    
  70.525 +    c.editCommand('fillcolor', 'red');
  70.526 +    c.editCommand('linecolor', 'black');
  70.527 +    c.editCommand('linewidth', '1px');   
  70.528 +    
  70.529 +  
  70.530 +    //setMode('path', 'Path');
  70.531 +    setMode('select', 'Selection');
  70.532 +
  70.533 +   document.body.style.backgroundColor = colorpage;     
  70.534 + 
  70.535 +
  70.536 +  //alert(vertexSUD.SUD1[0]+' '+vertexSUD.SUD1[1]+ '--'+wndW+' '+wndH);
  70.537 +
  70.538 +  setTimeout(loadDemo,500)    
  70.539 +  //Ext.get("richdraw").on('keydown', function(e){alert('dfsd'); }, false);
  70.540 +   //Ext.get("richdraw").on('keydown', function(e){alert(e.keyCode); });
  70.541 +    //document.onkeydown = keypresshandler;
  70.542 +//richdraw.svgRoot.setAttributeNS(null,'viewBox', '0 0 700 500');
  70.543 +
  70.544 +  //setTimeout(borderDoc,500)  
  70.545 +
  70.546 +  }   //END demo
  70.547 +
  70.548 +
  70.549 +/////////////////
  70.550 +
  70.551 +
  70.552 +//////////////////
  70.553 +var Docs = function(){
  70.554 + return {
  70.555 +   init : function(){
  70.556 +    var loading = Ext.get('loading');
  70.557 +    var mask = Ext.get('loading-mask');
  70.558 +    mask.setOpacity(.7);
  70.559 +    mask.shift({
  70.560 +     xy:loading.getXY(),
  70.561 +     width:loading.getWidth(),
  70.562 +     height:loading.getHeight(),
  70.563 +     remove:true,
  70.564 +     duration:2,
  70.565 +     opacity:.8,
  70.566 +     easing:'bounceOut',
  70.567 +     callback : function(){
  70.568 +      loading.fadeOut({duration:.2,remove:true});
  70.569 +     }
  70.570 +    });
  70.571 +   }
  70.572 +  };
  70.573 +}();
  70.574 +
  70.575 +
  70.576 +Ext.onReady(Docs.init, Docs, true);
  70.577 +
  70.578 +//var win;
  70.579 +
  70.580 +function showinfoFrame(wtitle) {   
  70.581 +       var win = new Ext.Window({   
  70.582 +        closeAction: 'hide',
  70.583 +        renderTo: 'showInfo',
  70.584 +        autoScroll:true,
  70.585 +        modal:true,
  70.586 +	width: '440',
  70.587 +	height:'300', 
  70.588 +	x: '120',
  70.589 +	y: '40',
  70.590 +	title: wtitle, 
  70.591 +	draggable :true,
  70.592 +	html: '', 
  70.593 +	hidden: true,
  70.594 +	contentEl: 'divCode',
  70.595 +	collapsed: true 
  70.596 +	
  70.597 + });  
  70.598 + win.show();
  70.599 +} 
  70.600 +function showdocFrame(wtitle) {   
  70.601 +       var win = new Ext.Window({ 
  70.602 +        closeAction: 'hide', 
  70.603 +        renderTo: 'showInfo',
  70.604 +       	width: '340',
  70.605 +	height:'300', 
  70.606 +	x: '120',
  70.607 +	y: '40',
  70.608 +	title: wtitle, 
  70.609 +	draggable :true,
  70.610 +	html: '', 
  70.611 +	hidden: true,
  70.612 +	contentEl: 'docProperties',
  70.613 +	collapsed: true 
  70.614 +	
  70.615 + });  
  70.616 + win.show();
  70.617 +}    
  70.618 +function showopenFile(wtitle) {   
  70.619 +      var  win = new Ext.Window({  
  70.620 +        autoScroll:true,
  70.621 +        closeAction: 'hide', 
  70.622 +        renderTo: 'showInfo',
  70.623 +       	width: '440',
  70.624 +	height:'300', 
  70.625 +	x: '120',
  70.626 +	y: '40',
  70.627 +	title: wtitle, 
  70.628 +	draggable :true,
  70.629 +	html: '', 
  70.630 +	hidden: true,
  70.631 +	contentEl: 'divopenFile',
  70.632 +	collapsed: true 
  70.633 +	
  70.634 + });  
  70.635 + win.show();
  70.636 +}  
  70.637 +
  70.638 +function preView() {   
  70.639 + viewMode='preview';  
  70.640 + //
  70.641 + //document.forms[0].code.value=Ext.util.JSON.encode(canvas(c));
  70.642 + //myOPF=document.forms[0].code.value;
  70.643 +    c.renderer.view(docx,docy,docw,doch,zoominit);
  70.644 +    borderDoc();                            
  70.645 +
  70.646 + //var all=canvas(c) ; 
  70.647 + // deleteAllShapes()
  70.648 +  //load(all,c); 
  70.649 + 
  70.650 +} 
  70.651 +
  70.652 +function canvasView() {   
  70.653 + viewMode='canvas'; 
  70.654 + //deleteAllShapes() 
  70.655 + //document.forms[0].code.value=Ext.util.JSON.encode(canvas(c));
  70.656 + //myOPF=document.forms[0].code.value;
  70.657 +  //load(myOPF,c);
  70.658 +   c.renderer.view(docx,docy,docw,doch,zoominit);
  70.659 +    borderDoc();                            
  70.660 +   //var all=canvas(c) ; 
  70.661 +  //deleteAllShapes()
  70.662 +  //load(all,c); 
  70.663 +  
  70.664 +} 
  70.665 +
  70.666 +
  70.667 +/////////////////////////////
  70.668 +//FUNCTIONS 
  70.669 +/////////////////////////////
  70.670 +
  70.671 +function changeInitialFile() 
  70.672 +{  
  70.673 +   initialFile=document.forms[0].file.value; 
  70.674 +   c.renderer.removeAll()
  70.675 +   loadDemo(); 
  70.676 +   if(viewMode=='canvas')
  70.677 +    {  
  70.678 +     c.renderer.rectDoc(zoominit)
  70.679 +    }
  70.680 +   //win.hide();
  70.681 +   //document.getElementById("showInfo").style.display='none';
  70.682 +} 
  70.683 + 
  70.684 + function setMode(mode, status) 
  70.685 +   { 
  70.686 +    
  70.687 +   
  70.688 +    selectmode=mode;
  70.689 +    if(mode=='shape')
  70.690 +     { 
  70.691 +            c.editCommand('mode', 'select');
  70.692 +     }else{              
  70.693 +            if(mode=='pathsEdit' )
  70.694 +             {
  70.695 +                mode='select';
  70.696 +             }
  70.697 +            c.editCommand('mode', mode);
  70.698 +     }
  70.699 +     
  70.700 +     var imgs = $('EST').getElementsByTagName('img');
  70.701 +     
  70.702 +     for (var i=0; i<imgs.length; i++) 
  70.703 +     {
  70.704 +       imgs[i].style.backgroundColor = '';
  70.705 +     }
  70.706 +     if(c.pathsEdit==true){
  70.707 +       $('pathsEdit').style.backgroundColor = 'orange';
  70.708 +     }else{
  70.709 +      $(mode).style.backgroundColor = 'orange';
  70.710 +     } 
  70.711 +     
  70.712 +     
  70.713 +     if (mode == 'select') 
  70.714 +      {
  70.715 +       //$('status').innerHTML = 'Select/Move' ;
  70.716 +       info_select();
  70.717 +      } 
  70.718 +     else
  70.719 +      {
  70.720 +       //$('status').innerHTML = 'Draw ' + status;
  70.721 +      } 
  70.722 +    
  70.723 +    ///////////
  70.724 +    
  70.725 +    hiddenAllMenus();
  70.726 +
  70.727 +    if(mode=='text')
  70.728 +     {
  70.729 +	info_text();
  70.730 +     }
  70.731 +
  70.732 +    if(mode=='shape')
  70.733 +     {
  70.734 +	info_shape();
  70.735 +     }
  70.736 +    if(mode=='ellipse')
  70.737 +     {
  70.738 +	info_ellipse();
  70.739 +     }
  70.740 +
  70.741 +     if(mode=='rect')
  70.742 +     {
  70.743 +	info_rect();
  70.744 +     }  
  70.745 +     
  70.746 +     if(mode=='image')
  70.747 +     {
  70.748 +	info_image();
  70.749 +     }  
  70.750 +
  70.751 +     if(mode=='path')
  70.752 +     {
  70.753 +	info_path();
  70.754 +     }  
  70.755 +     if(mode=='controlpath')
  70.756 +     {
  70.757 +	info_controlpath();
  70.758 +     }  
  70.759 +     if(mode=='zoom')
  70.760 +     {
  70.761 +	info_zoom();
  70.762 +	
  70.763 +     } 
  70.764 +     if(mode=='select')
  70.765 +     {  
  70.766 +        if(c.pathsEdit==true)
  70.767 +         { 
  70.768 +          info_pathsEdit();
  70.769 +         }
  70.770 +          else
  70.771 +         { 
  70.772 +	  info_select();
  70.773 +	 } 
  70.774 +	
  70.775 +     }
  70.776 +     //c.renderer.zoom(0,0);   
  70.777 +     //document.getElementById('richdraw').focus();
  70.778 +     
  70.779 +  } 
  70.780 + 
  70.781 + ///////////////////////// 
  70.782 + 
  70.783 +  function hiddenAllMenus()
  70.784 +   { 
  70.785 +       
  70.786 +        document.getElementById('richdraw').style.cursor='default'; 
  70.787 +  	$('options_text').style.visibility = 'hidden';
  70.788 +  	$('options_select_path').style.visibility = 'hidden';  
  70.789 +  	$('panel_shapes').style.visibility = 'hidden'; 
  70.790 +  	$('linksPaths').style.visibility = 'hidden';  
  70.791 +        $('options_rect').style.visibility = 'hidden';
  70.792 +        $('options_ellipse').style.visibility = 'hidden';      
  70.793 +        $('options_image').style.visibility = 'hidden';  
  70.794 +        $('options_path').style.visibility = 'hidden';   
  70.795 +        //$('options_controlpath').style.visibility = 'hidden';   
  70.796 +        $('options_zoom').style.visibility = 'hidden';   
  70.797 +        $('options_select').style.visibility = 'hidden';
  70.798 +        
  70.799 +        
  70.800 +        selectedit='';
  70.801 +   }
  70.802 +  
  70.803 +  function info_text()
  70.804 +   {
  70.805 +	$('options_text').style.visibility = 'visible';
  70.806 +   }
  70.807 +  function info_shape()
  70.808 +   {
  70.809 +	$('options_select_path').style.visibility = 'visible';  
  70.810 +	$('linksPaths').style.visibility = 'visible'; 
  70.811 +	$('panel_shapes').style.visibility= 'visible';  
  70.812 +   }
  70.813 +  function info_rect()
  70.814 +   {
  70.815 +	$('options_rect').style.visibility = 'visible';  
  70.816 +   } 
  70.817 +  function info_ellipse()
  70.818 +   {
  70.819 +	$('options_ellipse').style.visibility = 'visible';  
  70.820 +   } 
  70.821 +
  70.822 +  function info_image()
  70.823 +   {
  70.824 +	$('options_image').style.visibility = 'visible';  
  70.825 +   }   
  70.826 +  function info_path()
  70.827 +   {
  70.828 +	$('options_path').style.visibility = 'visible'; 
  70.829 +	
  70.830 +   }
  70.831 +  function info_controlpath()
  70.832 +   {
  70.833 +	$('options_path').style.visibility = 'visible'; 
  70.834 +	
  70.835 +   } 
  70.836 +   function info_zoom()
  70.837 +   {
  70.838 +	$('options_zoom').style.visibility = 'visible';   
  70.839 +	//$('options_zoom').style.backgroundColor = colorpage; 
  70.840 +	if(zoommode=='hand')
  70.841 +	 {
  70.842 +	   document.getElementById('richdraw').style.cursor='move'; 
  70.843 +	   
  70.844 +	 }else{ 
  70.845 +	    if(zoommode=='window')
  70.846 +	     {
  70.847 +	     
  70.848 +	     }else{
  70.849 +	      c.renderer.zoom(0,0);       
  70.850 +	     }
  70.851 +	 }
  70.852 +        var imgs = $('options_zoom').getElementsByTagName('img');
  70.853 +        for (var i=0; i<imgs.length; i++) 
  70.854 +         {
  70.855 +            imgs[i].style.backgroundColor = '';
  70.856 +         }
  70.857 +        $('zoom_'+zoommode).style.backgroundColor = 'orange';
  70.858 +        
  70.859 +       
  70.860 +        
  70.861 +   }   
  70.862 +   
  70.863 +   function info_pathsEdit(){
  70.864 +	$('options_path').style.visibility = 'visible'; 
  70.865 +   }
  70.866 +
  70.867 +   function info_select()
  70.868 +   {
  70.869 +	$('options_select').style.visibility = 'visible';   
  70.870 +	//$('options_select').style.backgroundColor = colorpage; 
  70.871 +
  70.872 +	if(selectedit=='deleteone')
  70.873 +	 {
  70.874 +	     deleteShape();
  70.875 +	 }
  70.876 +	if(selectedit=='deleteall')
  70.877 +	 {
  70.878 +	     deleteAllShapes();
  70.879 +	 }
  70.880 +	if(selectedit=='tothetop')
  70.881 +	 {
  70.882 +	     toFront(-1);
  70.883 +	 }
  70.884 + 	if(selectedit=='totheback')
  70.885 +	 {
  70.886 +	     toFront(0);
  70.887 +	 }
  70.888 +  	if(selectedit=='oneback')
  70.889 +	 {
  70.890 +	     toFront(1);
  70.891 +	 }
  70.892 +   	if(selectedit=='onetop')
  70.893 +	 {
  70.894 +	     toFront(2);
  70.895 +	 }
  70.896 +   	if(selectedit=='reflectV')
  70.897 +	 {
  70.898 +	     c.reflect('V');
  70.899 +	 } 
  70.900 +	if(selectedit=='reflectH')
  70.901 +	 {
  70.902 +	     c.reflect('H');
  70.903 +	 }
  70.904 +
  70.905 +        var imgs = $('options_select').getElementsByTagName('img');
  70.906 +        for (var i=0; i<imgs.length; i++) 
  70.907 +         {
  70.908 +            imgs[i].style.backgroundColor = '';
  70.909 +         } 
  70.910 +        if(selectedit != '')
  70.911 +        {
  70.912 +                $('select_'+selectedit).style.backgroundColor = 'orange';
  70.913 +        } 
  70.914 +         
  70.915 +   }   
  70.916 +  
  70.917 +   
  70.918 +////////////////////////////
  70.919 +
  70.920 +        
  70.921 +  function setShape() 
  70.922 +   {   
  70.923 +       if(selectmode=='select' || selectmode=='control_path' || selectmode=='path'){
  70.924 +          c.submitShape(document.forms[0].control_codebase.value);
  70.925 +        }else{
  70.926 +          setMode('path', 'Path'); 
  70.927 +          c.submitShape(document.forms[0].codebase.value);  
  70.928 +        }
  70.929 +   }
  70.930 +  
  70.931 +  //function onKeyPress(){
  70.932 +    //c.onKeyPress();
  70.933 +  //}
  70.934 +  
  70.935 +  
  70.936 +  function deleteShape() 
  70.937 +   {
  70.938 +    c.deleteSelection();
  70.939 +   } 
  70.940 +   
  70.941 +  function deleteAllShapes() 
  70.942 +   {
  70.943 +    c.deleteAll();
  70.944 +   } 
  70.945 +
  70.946 +  function deleteLastShapes() 
  70.947 +   {
  70.948 +    //c.deleteLast();
  70.949 +    c.clipboard=c.renderer.undo();
  70.950 +   } 
  70.951 +  function toFront(num) 
  70.952 +   {
  70.953 +    c.toFront(num);
  70.954 +   } 
  70.955 +  function cutSelected()
  70.956 +   { 
  70.957 +     
  70.958 +     c.clipboard=c.renderer.copy(c.selected);
  70.959 +     c.deleteSelection();
  70.960 +   }   
  70.961 +  function copySelected()
  70.962 +   {
  70.963 +    c.clipboard=c.renderer.copy(c.selected);
  70.964 +   }
  70.965 +  function pasteSelected()
  70.966 +   {
  70.967 +    c.selected=c.renderer.paste(c.clipboard,c.mouseDownX,c.mouseDownY);
  70.968 +    c.selected.id = 'shape:' + createUUID();
  70.969 +    Ext.get(c.selected).on( "mousedown", c.onHit,c);  
  70.970 +   } 
  70.971 +  function duplicateSelected()
  70.972 +   { 
  70.973 +    c.selected=c.renderer.duplicate(c.selected);
  70.974 +    c.selected.id = 'shape:' + createUUID();
  70.975 +    Ext.get(c.selected).on( "mousedown", c.onHit,c);  
  70.976 +  }                           
  70.977 +///////////////////////////
  70.978 +
  70.979 +                    
  70.980 +  function setFillColor(color)   //colors --
  70.981 +   {
  70.982 +    //-- var color = colors.options[colors.selectedIndex].value;
  70.983 +    //-- colors.style.backgroundColor = color;
  70.984 +    
  70.985 +    c.editCommand('fillcolor', color);
  70.986 +   }
  70.987 +  
  70.988 +  function setLineColor(color)  //colors -- 
  70.989 +   {
  70.990 +    //--var color = colors.options[colors.selectedIndex].value;
  70.991 +    //-- colors.style.backgroundColor = color;
  70.992 +
  70.993 +    c.editCommand('linecolor', color);
  70.994 +   }
  70.995 +  
  70.996 +  function setLineWidth(width) //width --
  70.997 +   {
  70.998 +    //-- var width = widths.options[widths.selectedIndex].value;
  70.999 +    c.editCommand('linewidth', width);
 70.1000 +   }
 70.1001 +  ////
 70.1002 +  //++
 70.1003 +  function setFillOpacity(opacity) 
 70.1004 +   {
 70.1005 +     c.editCommand('fillopacity', opacity);
 70.1006 +   } 
 70.1007 +   ////
 70.1008 +   //++
 70.1009 +   function setLineOpacity(opacity) 
 70.1010 +    {
 70.1011 +     c.editCommand('lineopacity', opacity);
 70.1012 +    }
 70.1013 +
 70.1014 +  function setTextFamily(types) 
 70.1015 +   {
 70.1016 +    var type = types.options[types.selectedIndex].value;
 70.1017 +    document.forms[0].option_text_family.value=type; //bad :-(
 70.1018 +    data_text_family = type;
 70.1019 +    c.submitShape($('option_text_message').value+'<;>'+$('option_text_size').value+'<;>'+$('option_text_family').value);
 70.1020 +   }
 70.1021 +
 70.1022 +  function setGridWidth(widths) 
 70.1023 +   {
 70.1024 +    var width = eval(widths.options[widths.selectedIndex].value);
 70.1025 +    RichDrawEditor.prototype.setGrid(width, width);
 70.1026 +   }
 70.1027 +
 70.1028 +///////////////////////////////
 70.1029 +  
 70.1030 +
 70.1031 +  function getOptionByValue(select, value)
 70.1032 +  {
 70.1033 +    /*for (var i=0; i<select.length; i++) 
 70.1034 +     {
 70.1035 +        if (select.options[i].value == value) 
 70.1036 +         {
 70.1037 +            return i;
 70.1038 +         }
 70.1039 +    }
 70.1040 +    return -1;
 70.1041 +    */
 70.1042 +  }      
 70.1043 +  
 70.1044 +/////////////////////////////
 70.1045 +
 70.1046 + function showMarkupCode() 
 70.1047 +  {
 70.1048 +    $('code').value = c.renderer.getMarkup(); 
 70.1049 +    //document.forms[0].code.focus();
 70.1050 +    //$('code').select; 
 70.1051 +    showinfoFrame('SVG code')
 70.1052 +    //infoFrame.setTitle('SVG code');  
 70.1053 +    //infoFrame.show();
 70.1054 +    
 70.1055 +  }  
 70.1056 + function newFile() 
 70.1057 +  {             
 70.1058 +    initialFile='new.txt'; 
 70.1059 +    document.forms[0].file.value = initialFile; 
 70.1060 +    changeInitialFile()
 70.1061 +    
 70.1062 +  }
 70.1063 + function openFile() 
 70.1064 +  {
 70.1065 +    $('file').value = initialFile; 
 70.1066 +    //document.forms[0].code.focus();
 70.1067 +    //$('code').select; 
 70.1068 +    showopenFile('Open File')
 70.1069 +    //infoFrame.setTitle('SVG code');  
 70.1070 +    //infoFrame.show();
 70.1071 +    
 70.1072 +  }
 70.1073 + function showMarkup() 
 70.1074 +  {
 70.1075 +   document.forms[0].code.value=Ext.util.JSON.encode(canvas(c));
 70.1076 +    //infoFrame.setTitle('OPF code');
 70.1077 +    //infoFrame.show();
 70.1078 +     showinfoFrame('OPF code')
 70.1079 +
 70.1080 +   
 70.1081 +  }
 70.1082 +
 70.1083 +  function shm()
 70.1084 +   {
 70.1085 +   var json = Ext.util.JSON.encode(canvas(c))
 70.1086 +    $('someinfo').value = "JSON File Format Saved : "+( c.renderer.getMarkup().length - json.length )+" characters; JSON Character Total: "+json.length
 70.1087 +    $('code').value=json;
 70.1088 +   }
 70.1089 +  
 70.1090 +  function lcm()
 70.1091 +   {
 70.1092 +     load(Ext.util.JSON.decode(document.forms[0].code.value),c)   
 70.1093 +     c.renderer.rectDoc(zoominit)
 70.1094 +
 70.1095 +       
 70.1096 +   }
 70.1097 +
 70.1098 +////////////////////////////////////////
 70.1099 +
 70.1100 +  
 70.1101 +  function onSelect() 
 70.1102 +   {
 70.1103 +    /*$('fillcolor').selectedIndex = getOptionByValue($('fillcolor'), c.queryCommand('fillcolor'));
 70.1104 +    $('fillcolor').style.backgroundColor = c.queryCommand('fillcolor');
 70.1105 +    $('linecolor').selectedIndex = getOptionByValue($('linecolor'), c.queryCommand('linecolor'));
 70.1106 +    $('linecolor').style.backgroundColor = c.queryCommand('linecolor');
 70.1107 +    $('linewidth').selectedIndex = getOptionByValue($('linewidth'), c.queryCommand('linewidth'));
 70.1108 +    */ 
 70.1109 +    hiddenAllMenus();
 70.1110 +    info_select();
 70.1111 +      
 70.1112 +    if (c.selected.tagName == 'rect'){
 70.1113 +        //setMode('rect', 'Rectangle')
 70.1114 +         info_rect();
 70.1115 +     } 
 70.1116 +    if (c.selected.tagName == 'image'){
 70.1117 +         info_image();
 70.1118 +     }
 70.1119 +    if (c.selected.tagName == 'text'){
 70.1120 +          info_text();
 70.1121 +     }
 70.1122 +    if (c.selected.tagName == 'line'){ 
 70.1123 +           //info_line();
 70.1124 +     }   
 70.1125 +    if (c.selected.tagName == 'ellipse'){
 70.1126 +           info_ellipse()
 70.1127 +     }
 70.1128 +    if (c.selected.tagName == 'path') { 
 70.1129 +       
 70.1130 +           info_path();
 70.1131 +     }  
 70.1132 +    if (c.selected.tagName == 'shape'){
 70.1133 +         var detail=c.selected.children[0].tagName;
 70.1134 +         $('someinfo').value=detail;
 70.1135 +         if(detail=='path'){ info_path(); }  
 70.1136 +          if(detail=='textpath'){ info_text(); }
 70.1137 +    } 
 70.1138 +    if (c.selected.tagName == 'oval') { 
 70.1139 +       
 70.1140 +           info_ellipse();
 70.1141 +     }  
 70.1142 + 
 70.1143 +      //frames['mondrianstyle'].setcolorhex(c.queryCommand('linecolor'),'stroke');
 70.1144 +      //frames['mondrianstyle'].setcolorhex(c.queryCommand('fillcolor'),'fill');       
 70.1145 +   }
 70.1146 +
 70.1147 +  function onUnselect() 
 70.1148 +   {  
 70.1149 +   
 70.1150 +   /*
 70.1151 +    $('fillcolor').selectedIndex = getOptionByValue($('fillcolor'), c.queryCommand('fillcolor'));
 70.1152 +    $('fillcolor').style.backgroundColor = c.queryCommand('fillcolor');
 70.1153 +    $('linecolor').selectedIndex = getOptionByValue($('linecolor'), c.queryCommand('linecolor'));
 70.1154 +    $('linecolor').style.backgroundColor = c.queryCommand('linecolor');
 70.1155 +    $('linewidth').selectedIndex = getOptionByValue($('linewidth'), c.queryCommand('linewidth'));
 70.1156 +    */ 
 70.1157 +    
 70.1158 +   } 
 70.1159 + 
 70.1160 + function editPath(myfield,e)
 70.1161 +   {  
 70.1162 +
 70.1163 +    var keycode;
 70.1164 +    
 70.1165 +    
 70.1166 +    // ++? if (window.event) keycode = window.event.e;
 70.1167 +     
 70.1168 +      e= (e) ? e : ((window.event) ? event : null);
 70.1169 +     keycode=e.keyCode;
 70.1170 +    var shs= myfield.id.split('_');
 70.1171 +    var sh=shs[1];  
 70.1172 +    
 70.1173 +    var mypath=$('control_codebase').value;    
 70.1174 +    
 70.1175 +    
 70.1176 +     var  x= $('option_path_x').value;
 70.1177 +      var y= $('option_path_y').value; 
 70.1178 +     var precoord=x+','+y; 
 70.1179 +
 70.1180 +    
 70.1181 +    var mypointNum=$('option_path_num').value;
 70.1182 +    var controlNodeNum=2;  
 70.1183 +    
 70.1184 +     if (keycode == 38)//#26
 70.1185 +     {  
 70.1186 +          myfield.value=eval(myfield.value)+1; 
 70.1187 +     }    
 70.1188 +    if (keycode == 40)// #28
 70.1189 +     {       
 70.1190 +        myfield.value=eval(myfield.value)-1;   
 70.1191 +     }    
 70.1192 +    if (keycode == 13  || keycode == 40   || keycode == 38)
 70.1193 +     {
 70.1194 +     var  cadx= $('option_path_x').value;
 70.1195 +     var cady= $('option_path_y').value; 
 70.1196 +     var coord=cadx+','+cady;
 70.1197 +                    
 70.1198 +      //$('code').value=coord;  
 70.1199 +      
 70.1200 +      var cad1=new RegExp(precoord,"g");
 70.1201 +      
 70.1202 +      
 70.1203 +      var result=mypath.replace(cad1, coord);
 70.1204 +      
 70.1205 +      $('control_codebase').value=' ';
 70.1206 +      $('control_codebase').value=result; 
 70.1207 +      
 70.1208 +      $('someinfo').value=precoord;
 70.1209 +      //alert(myfield.id);
 70.1210 +      setShape(); //c.renderer.tocurve();
 70.1211 +
 70.1212 +      return false;
 70.1213 +      
 70.1214 +     } 
 70.1215 +    else
 70.1216 +    return true;
 70.1217 +  }
 70.1218 +
 70.1219 +
 70.1220 +  function editPathXX(myfield,e)
 70.1221 +   {  
 70.1222 +
 70.1223 +    var keycode;
 70.1224 +    
 70.1225 +    
 70.1226 +    // ++? if (window.event) keycode = window.event.e;
 70.1227 +     
 70.1228 +      e= (e) ? e : ((window.event) ? event : null);
 70.1229 +     keycode=e.keyCode;
 70.1230 +    var shs= myfield.id.split('_');
 70.1231 +    var sh=shs[1];  
 70.1232 +    
 70.1233 +    var mypath=$('control_codebase').value;   
 70.1234 +    var mypointNum=$('option_path_num').value;
 70.1235 +    var controlNodeNum=2;  
 70.1236 +    
 70.1237 +     if (keycode == 38)//#26
 70.1238 +     {  
 70.1239 +          myfield.value=eval(myfield.value)+1; 
 70.1240 +     }    
 70.1241 +    if (keycode == 40)// #28
 70.1242 +     {       
 70.1243 +        myfield.value=eval(myfield.value)-1;   
 70.1244 +     }    
 70.1245 +  
 70.1246 +   
 70.1247 +     var points=mypath.split('C');
 70.1248 +     var chain='';
 70.1249 +     var segment=' ';  
 70.1250 +     prevControl=' ';
 70.1251 +     nextControl=' ';
 70.1252 +     nodePoint=' ';
 70.1253 +      var init=points[0].split('M'); 
 70.1254 +      var allcoords=init[1].split(' ');
 70.1255 +      var point=allcoords[0].split(',');
 70.1256 +      
 70.1257 +      if(mypointNum==0){
 70.1258 +      
 70.1259 +             point[1]= $('option_path_x').value;
 70.1260 +             point[2]= $('option_path_y').value;
 70.1261 +             var change=point.join(',')
 70.1262 +        
 70.1263 +        chain+='M' + change+' ';
 70.1264 +         }else{  
 70.1265 +           chain+='M'+points[0]+' '; 
 70.1266 +         }  
 70.1267 +      
 70.1268 +     var numpoints=points.length-1;
 70.1269 +     if(numpoints>1){
 70.1270 +     for(var a=1;a<=numpoints;a++)
 70.1271 +      { 
 70.1272 +        
 70.1273 +         if(a==mypointNum){
 70.1274 +          
 70.1275 +        segment=points[a].split(' ');
 70.1276 +         prevControl=segment[0]+' '; 
 70.1277 +         nextControl=segment[1]+' '; 
 70.1278 +         nodePoint=segment[2]+' '; 
 70.1279 +         
 70.1280 +           
 70.1281 +         /*if(controlNodeNum==0){chain+=prevControl; var point=prevControl.split(',');}  
 70.1282 +         if(controlNodeNum==1){chain+=nextControl; var point=nextControl.split(',');}  
 70.1283 +         if(controlNodeNum==2){chain+=nodePoint; var point=nodePoint.split(',');}  
 70.1284 +         */ 
 70.1285 +         
 70.1286 +        var point=nodePoint.split(',');
 70.1287 +             point[1]= $('option_path_x').value;
 70.1288 +             point[2]= $('option_path_y').value;
 70.1289 +             var change=point.join(',')
 70.1290 +        
 70.1291 +        chain+='C'+prevControl+ nextControl + change+' ';
 70.1292 +         }else{  
 70.1293 +           chain+='C'+points[a]; 
 70.1294 +         }           
 70.1295 +         
 70.1296 +      }
 70.1297 +      
 70.1298 +     }else{                      
 70.1299 +       chain+='C'+points[1]; 
 70.1300 +     
 70.1301 +     }                      
 70.1302 +      //$('someinfo').value= chain;
 70.1303 +       $('control_codebase').value=chain;
 70.1304 +      
 70.1305 +
 70.1306 +       
 70.1307 +    
 70.1308 +    
 70.1309 +    if (keycode == 13  || keycode == 40   || keycode == 38)
 70.1310 +     { 
 70.1311 +      //alert(myfield.id);
 70.1312 +       c.renderer.tocurve();
 70.1313 +
 70.1314 +      return false;
 70.1315 +      
 70.1316 +     } 
 70.1317 +    else
 70.1318 +    return true;
 70.1319 +  }
 70.1320 +
 70.1321 +
 70.1322 +  
 70.1323 +  function edit(myfield,e)
 70.1324 +   { 
 70.1325 +   
 70.1326 +    var keycode;
 70.1327 +    
 70.1328 +    
 70.1329 +    // ++? if (window.event) keycode = window.event.e;
 70.1330 +    //else if (e) keycode = e.which;
 70.1331 +     
 70.1332 +      e= (e) ? e : ((window.event) ? event : null);
 70.1333 +     keycode=e.keyCode;
 70.1334 +   //var keycode = e.which?e.which:e.keycode 
 70.1335 +    
 70.1336 +    //document.layers ? e.which :
 70.1337 +    //document.all ? e.keyCode :
 70.1338 +    //document.getElementById ? e.keyCode : 0;
 70.1339 +    //else return true;               
 70.1340 +    var keyChar = String.fromCharCode(keycode);
 70.1341 +    //var numCheck = /\d/;
 70.1342 +     //if (((keyChar=='.')&&(obj.value.indexOf('.')==-1))¦¦(keycode<32)¦¦numCheck.test(keyChar)¦¦((keycode>=37)&&(keycode<=40)&&(!e.modifiers&&!e.shiftKey))) { 
 70.1343 +    
 70.1344 +    //alert(keycode+' _ '+keyChar); 
 70.1345 +    var shs= myfield.id.split('_');
 70.1346 +    var sh=shs[1];
 70.1347 +  if(myfield.id.indexOf('control_codebase')<=0) 
 70.1348 +  {
 70.1349 +     if (keycode == 38)//#26
 70.1350 +     {  
 70.1351 +       
 70.1352 +       if(eval(myfield.value)>0) 
 70.1353 +        {   
 70.1354 +          myfield.value=eval(myfield.value)+1; 
 70.1355 +          //alert(myfield.value);
 70.1356 +        }  
 70.1357 +       //return false;
 70.1358 +       //alert('keycode')         
 70.1359 +       
 70.1360 +     }    
 70.1361 +    if (keycode == 40)// #28
 70.1362 +     {       
 70.1363 +        myfield.value=eval(myfield.value)-1;   
 70.1364 +        if(myfield.id=='option_path_sclx'  || myfield.id=='option_path_scly')
 70.1365 +         {
 70.1366 +           if( eval(myfield.value)<=0  )
 70.1367 +            {
 70.1368 +              myfield.value=1;
 70.1369 +            }
 70.1370 +         }  
 70.1371 +         
 70.1372 +        if(myfield.id=='option_text_size')
 70.1373 +         {
 70.1374 +           if( eval(myfield.value)<=0  )
 70.1375 +            {
 70.1376 +              myfield.value=1;
 70.1377 +            }
 70.1378 +         }
 70.1379 +     }    
 70.1380 +       
 70.1381 +  }  
 70.1382 +    
 70.1383 +    if (keycode == 13  || keycode == 40   || keycode == 38)
 70.1384 +     { 
 70.1385 +      var check=0;
 70.1386 +      if(myfield.id=='control_codebase') 
 70.1387 +       { 
 70.1388 +         //alert(myfield.id)
 70.1389 +         //c.submitShape($('control_codebase').value+'');
 70.1390 +         check=1;
 70.1391 +         setShape();
 70.1392 +       }  
 70.1393 +
 70.1394 +      if(myfield.id.indexOf('href')>0) 
 70.1395 +       {
 70.1396 +         c.submitShape(myfield.value)
 70.1397 +       }
 70.1398 +         
 70.1399 +      if(myfield.id.indexOf('tr')>0 || myfield.id.indexOf('scl')>0)
 70.1400 +       {
 70.1401 +             if(check==0)
 70.1402 +              {
 70.1403 +                 c.submitShape($('option_'+sh+'_trx').value+';'+$('option_'+sh+'_try').value+';'+$('option_'+sh+'_sclx').value+';'+$('option_'+sh+'_scly').value+';'+$('option_'+sh+'_rot').value)
 70.1404 +               }  
 70.1405 +       } 
 70.1406 +       
 70.1407 +      if(myfield.id.indexOf('rot')>0) 
 70.1408 +       {
 70.1409 +         c.submitShape($('option_'+sh+'_trx').value+';'+$('option_'+sh+'_try').value+';'+$('option_'+sh+'_sclx').value+';'+$('option_'+sh+'_scly').value+';'+$('option_'+sh+'_rot').value)
 70.1410 +       }  
 70.1411 +       
 70.1412 +      if(myfield.id.indexOf('text')>0) 
 70.1413 +       {
 70.1414 +         c.submitShape($('option_text_message').value+'<;>'+$('option_text_size').value+'<;>'+$('option_text_family').value);
 70.1415 +       }  
 70.1416 +      //alert(myfield.id);
 70.1417 +      return false;
 70.1418 +      
 70.1419 +     } 
 70.1420 +    else
 70.1421 +    return true;
 70.1422 +  }
 70.1423 +
 70.1424 +
 70.1425 + 
 70.1426 +
 70.1427 +function env(myfield,delta)
 70.1428 + {
 70.1429 +  
 70.1430 +    //alert(keycode+' _ '+keyChar); 
 70.1431 +    
 70.1432 +     if (delta >0)//#26
 70.1433 +     {     
 70.1434 +       myfield.value=eval(myfield.value)+1; 
 70.1435 +       //return false;
 70.1436 +       //alert('keycode')
 70.1437 +     }    
 70.1438 +      else
 70.1439 +           {     
 70.1440 +       myfield.value=eval(myfield.value)-1;
 70.1441 +       //return false;
 70.1442 +     }
 70.1443 +    
 70.1444 +    
 70.1445 +      if(myfield.id=='option_image_href') 
 70.1446 +       {
 70.1447 +         c.submitShape(myfield.value)
 70.1448 +       }  
 70.1449 +       if(myfield.id=='option_select_trx' || myfield.id=='option_select_try' || myfield.id=='option_select_sclx'  || myfield.id=='option_select_scly') 
 70.1450 +       {
 70.1451 +         c.submitShape($('option_select_trx').value+';'+$('option_select_try').value+';'+$('option_select_sclx').value+';'+$('option_select_scly').value+';'+$('option_select_rot').value)
 70.1452 +       }
 70.1453 +       if(myfield.id=='option_select_rot') 
 70.1454 +       {
 70.1455 +         c.submitShape($('option_select_trx').value+';'+$('option_select_try').value+';'+$('option_select_sclx').value+';'+$('option_select_scly').value+';'+$('option_select_rot').value)
 70.1456 +       }  
 70.1457 + 
 70.1458 +    }  
 70.1459 +
 70.1460 +
 70.1461 +   function clockdata(){
 70.1462 +  //////////////
 70.1463 +  //++
 70.1464 +        
 70.1465 +   data_path_close = $('option_path_close').checked;
 70.1466 +   data_text_family = $('option_text_family').value; 
 70.1467 +   data_text_size = parseFloat($('option_text_size').value);
 70.1468 +   data_text_messaje = $('option_text_message').value;  
 70.1469 +   data_image_href = $('option_image_href').value;
 70.1470 + 
 70.1471 +  ////////////          
 70.1472 +  }
 70.1473 +
 70.1474 + function myWorkSize() {
 70.1475 +  var myWidth = 0, myHeight = 0;
 70.1476 +  if( typeof( window.innerWidth ) == 'number' ) {
 70.1477 +    //Non-IE
 70.1478 +    myWidth = window.innerWidth;
 70.1479 +    myHeight = window.innerHeight;
 70.1480 +  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
 70.1481 +    //IE 6+ in 'standards compliant mode'
 70.1482 +    myWidth = document.documentElement.clientWidth;
 70.1483 +    myHeight = document.documentElement.clientHeight;
 70.1484 +  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
 70.1485 +    //IE 4 compatible
 70.1486 +    myWidth = document.body.clientWidth;
 70.1487 +    myHeight = document.body.clientHeight;
 70.1488 +  }
 70.1489 +  return [ myWidth, myHeight] ;
 70.1490 +} 
 70.1491 + 
 70.1492 +function doResize(){  
 70.1493 +     //deleteAllShapes(); 
 70.1494 + vertexFrames();
 70.1495 + resizeFrame();  
 70.1496 +    //c.renderer.zoomFrame(zoominit); 
 70.1497 + //c.renderer.view(canvasX,canvasY,canvasW,canvasH,zoominit)
 70.1498 + //c.renderer.view(docx,docy,docw,doch,zoominit1)  
 70.1499 +    // delete rectCanvas 
 70.1500 + //   var vB=zoomx+' '+zoomy+' '+zoomw+' '+zoomh;
 70.1501 +    
 70.1502 +     //c.renderer.rectCanvas(docx,docy,docw,doch,vB);
 70.1503 +}
 70.1504 +
 70.1505 +function vertexFrames(){
 70.1506 +
 70.1507 +  var screenSize=myWorkSize();
 70.1508 +   scrW = screenSize[0];//screen.availWidth;
 70.1509 +   scrH = screenSize[1];//screen.availHeight; 
 70.1510 +  
 70.1511 +   wndW=scrW;//window.width;
 70.1512 +   wndH=scrH;//window.height;
 70.1513 +  
 70.1514 +  
 70.1515 +  if (scrW != wndW || scrH != wndH) {
 70.1516 +      //window.resizeTo(scrW, scrH);
 70.1517 +      //window.moveTo(0, 0);
 70.1518 +  }
 70.1519 +  //var wProportion={x:35, y:24}
 70.1520 +  
 70.1521 +   vertexNORTHmenu={ NORTHmenu1:[0,0],NORTHmenu2:[scrW,0],NORTHmenu3:[0,wProportion.y],NORTHmenu4:[scrW,wProportion.y] };
 70.1522 +   vertexNORTHglobals={ NORTHglobals1:[0,wProportion.y],NORTHglobals2:[scrW,wProportion.y],NORTHglobals3:[0,wProportion.y*2],NORTHglobals4:[scrW,wProportion.y*2] };
 70.1523 +   vertexNORTHoptions={ NORTHoptions1:[0,wProportion.y*2],NORTHoptions2:[scrW,wProportion.y*2],NORTHoptions3:[0,wProportion.y*3],NORTHoptions4:[scrW,wProportion.y*3] };    
 70.1524 +   vertexSUD={ SUD1:[0,wndH-wProportion.y*3], SUD2:[scrW,(wndH-wProportion.y*3)], SUD3:[0,wndH], SUD4:[scrW,wndH]};
 70.1525 +   vertexEST={ EST1:[0,wProportion.y*3], EST2:[wProportion.x,wProportion.y*3], EST3:[0,(wndH-wProportion.y*3)], EST4:[wProportion.x,(wndH-wProportion.y*3)] };
 70.1526 +   vertexWEST={ WEST1:[(scrW-wProportion.x*3),wProportion.y*3], WEST2:[scrW,wProportion.y*3], WEST3:[(scrW-wProportion.x*3),(wndH-wProportion.y*3)], WEST4:[scrW,(wndH-wProportion.y*3)] };
 70.1527 +   vertexFRONT={ FRONT1:[vertexEST.EST2[0],vertexEST.EST2[1]], FRONT2:[vertexWEST.WEST1[0],vertexWEST.WEST1[1]], FRONT3:[vertexEST.EST4[0],vertexEST.EST4[1]], FRONT4:[vertexWEST.WEST3[0],vertexWEST.WEST3[1]] };
 70.1528 + 
 70.1529 +   NORTHmenusize=[vertexNORTHmenu.NORTHmenu4[0]-vertexNORTHmenu.NORTHmenu1[0],vertexNORTHmenu.NORTHmenu4[1]-vertexNORTHmenu.NORTHmenu1[1]];
 70.1530 +   NORTHglobalssize=[vertexNORTHglobals.NORTHglobals4[0]-vertexNORTHglobals.NORTHglobals1[0],vertexNORTHglobals.NORTHglobals4[1]-vertexNORTHglobals.NORTHglobals1[1]];
 70.1531 +   NORTHoptionssize=[vertexNORTHoptions.NORTHoptions4[0]-vertexNORTHoptions.NORTHoptions1[0],vertexNORTHoptions.NORTHoptions4[1]-vertexNORTHoptions.NORTHoptions1[1]];  
 70.1532 +   SUDsize=[vertexSUD.SUD4[0]-vertexSUD.SUD1[0],vertexSUD.SUD4[1]-vertexSUD.SUD1[1]]; 
 70.1533 +   ESTsize=[vertexEST.EST4[0]-vertexEST.EST1[0],vertexEST.EST4[1]-vertexEST.EST1[1]]; 
 70.1534 +   WESTsize=[vertexWEST.WEST4[0]-vertexWEST.WEST1[0],vertexWEST.WEST4[1]-vertexWEST.WEST1[1]]; 
 70.1535 +   FRONTsize=[vertexFRONT.FRONT4[0]-vertexFRONT.FRONT1[0],vertexFRONT.FRONT4[1]-vertexFRONT.FRONT1[1]]; 
 70.1536 +   
 70.1537 +
 70.1538 +   
 70.1539 +   //percent of FRONTsize
 70.1540 +   proporDoc= FRONTsize[0]/FRONTsize[1];
 70.1541 +   canvasYpercent=100;
 70.1542 +   canvasXpercent=100;
 70.1543 +   canvasWidth=Math.round(FRONTsize[0]*canvasXpercent/100);//FRONTsize[0];  
 70.1544 +   canvasW=canvasWidth;  
 70.1545 +   canvasHeight=Math.round(canvasYpercent*FRONTsize[1]/100);//FRONTsize[1];  
 70.1546 +   canvasH=canvasHeight;
 70.1547 +   canvasX=Math.round((FRONTsize[0]-canvasW)/2); 
 70.1548 +   canvasY=Math.round((FRONTsize[1]-canvasH)/2);
 70.1549 +
 70.1550 +
 70.1551 +   //vertexFRONTcanvas={ FRONT1:[vertexEST.EST2[0],vertexEST.EST2[1]], FRONT2:[vertexWEST.WEST1[0],vertexWEST.WEST1[1]], FRONT3:[vertexEST.EST4[0],vertexEST.EST4[1]], FRONT4:[vertexWEST.WEST3[0],vertexWEST.WEST3[1]] };
 70.1552 +   //FRONTcanvassize=[vertexFRONT.FRONT4[0]-vertexFRONT.FRONT1[0],vertexFRONT.FRONT4[1]-vertexFRONT.FRONT1[1]]; 
 70.1553 +
 70.1554 +   
 70.1555 +   //centerZoomx=Math.round(canvasWidth/2);
 70.1556 +   //centerZoomy=Math.round(canvasHeight/2);  
 70.1557 +    if(canvasH==0){ canvasH=0.00000001; }
 70.1558 +    proporCanvas= canvasW/canvasH ;    
 70.1559 +   //zoominit='0 0 '+zoomw+' '+zoomh;// 
 70.1560 +   
 70.1561 +   makeWorkSite(canvasH,(-canvasW/2)+(docw/2),(-canvasH/2)+(doch/2));
 70.1562 +   diagonalinit=diagonalFrame;
 70.1563 +   proporDiagonal=diagonalFrame/diagonalinit;  
 70.1564 +   zoominit=(zoomx)+' '+(zoomy)+' '+zoomw+' '+zoomh;  
 70.1565 +   //$('someinfo').value= zoominit;
 70.1566 +   //document.forms[0].someinfo.value= zoominit; 
 70.1567 +   //document.getElementById("someinfo").value = zoominit
 70.1568 +   //Ext.get('richdraw').dom.style.scrollTop = ('40%');
 70.1569 +   //alert(zoominit);
 70.1570 +}
 70.1571 +
 70.1572 +function resizeFrame(){
 70.1573 +  
 70.1574 +  Ext.get('NORTHmenu').dom.style.backgroundColor = (colorpage1a);   
 70.1575 +  Ext.get('NORTHglobals').dom.style.backgroundColor = (colorpage1b);   
 70.1576 +  Ext.get('NORTHoptions').dom.style.backgroundColor = (colorpage1c);   
 70.1577 +
 70.1578 +  Ext.get('SUD').dom.style.backgroundColor = (colorpage2); 
 70.1579 +  Ext.get('EST').dom.style.backgroundColor = (colorpage3); 
 70.1580 +  Ext.get('WEST').dom.style.backgroundColor = (colorpage4);   
 70.1581 +  
 70.1582 +  Ext.get('linksPaths').dom.style.backgroundColor = (colorpage); // bad
 70.1583 +  
 70.1584 +
 70.1585 +  Ext.get('NORTHmenu').dom.style.left =(vertexNORTHmenu.NORTHmenu1[0]+'px'); Ext.get('NORTHmenu').dom.style.top =(vertexNORTHmenu.NORTHmenu1[1]+'px');Ext.get('NORTHmenu').dom.style.width =(NORTHmenusize[0]+'px'); Ext.get('NORTHmenu').dom.style.height = (NORTHmenusize[1]+'px');
 70.1586 +  Ext.get('NORTHglobals').dom.style.left =(vertexNORTHglobals.NORTHglobals1[0]+'px'); Ext.get('NORTHglobals').dom.style.top =(vertexNORTHglobals.NORTHglobals1[1]+'px');Ext.get('NORTHglobals').dom.style.width =(NORTHglobalssize[0]+'px'); Ext.get('NORTHglobals').dom.style.height =(NORTHglobalssize[1]+'px');
 70.1587 +  Ext.get('NORTHoptions').dom.style.left =(vertexNORTHoptions.NORTHoptions1[0]+'px'); Ext.get('NORTHoptions').dom.style.top =(vertexNORTHoptions.NORTHoptions1[1]+'px');Ext.get('NORTHoptions').dom.style.width =(NORTHoptionssize[0]+'px'); Ext.get('NORTHoptions').dom.style.height =(NORTHoptionssize[1]+'px');
 70.1588 +  Ext.get('SUD').dom.style.left =(vertexSUD.SUD1[0]+'px'); Ext.get('SUD').dom.style.top =(vertexSUD.SUD1[1]+'px');Ext.get('SUD').dom.style.width=(SUDsize[0]+'px'); Ext.get('SUD').dom.style.height =(SUDsize[1]+'px');
 70.1589 +  Ext.get('EST').dom.style.left =(vertexEST.EST1[0]+'px'); Ext.get('EST').dom.style.top =(vertexEST.EST1[1]+'px');Ext.get('EST').dom.style.width=(ESTsize[0]+'px'); Ext.get('EST').dom.style.height =((ESTsize[1]+'px'));
 70.1590 +  Ext.get('WEST').dom.style.left =(vertexWEST.WEST1[0]+'px'); Ext.get('WEST').dom.style.top =(vertexWEST.WEST1[1]+'px');Ext.get('WEST').dom.style.width=(WESTsize[0]+'px'); Ext.get('WEST').dom.style.height =((WESTsize[1]+'px'));
 70.1591 +  Ext.get('FRONT').dom.style.left =(vertexFRONT.FRONT1[0]+'px'); Ext.get('FRONT').dom.style.top =(vertexFRONT.FRONT1[1]+'px');Ext.get('FRONT').dom.style.width=(FRONTsize[0]+'px'); Ext.get('FRONT').dom.style.height =(FRONTsize[1]+'px');
 70.1592 +  
 70.1593 +  Ext.get('richdraw').dom.style.left =(canvasX+'px'); Ext.get('richdraw').dom.style.top =(canvasY+'px');Ext.get('richdraw').dom.style.width=(canvasW+'px'); Ext.get('richdraw').dom.style.height =(canvasH+'px');
 70.1594 + 
 70.1595 +}
 70.1596 +
 70.1597 +function documentProperties(){ 
 70.1598 +    var tokens = zoominit.split(' ');       
 70.1599 +  
 70.1600 +    document.forms[0].xDocument.value=tokens[0];
 70.1601 +    document.forms[0].yDocument.value=tokens[1];
 70.1602 +
 70.1603 +    document.forms[0].widthDocument.value=tokens[2];
 70.1604 +    document.forms[0].heightDocument.value=tokens[3]; 
 70.1605 +    showdocFrame('Document properties')
 70.1606 +    //docFrame.setTitle('Document properties');
 70.1607 +    //docFrame.show();
 70.1608 +
 70.1609 +}
 70.1610 +function changeDocumentProperties(){ 
 70.1611 +
 70.1612 +    //percent of FRONTsize
 70.1613 +   proporSpace= FRONTsize[0]/FRONTsize[1];
 70.1614 +   //PERCENT 
 70.1615 +   
 70.1616 +   //canvasYpercent=95;
 70.1617 +   //canvasXpercent=97;
 70.1618 +   /*
 70.1619 +   canvasWidth=Math.round(FRONTsize[0]*canvasXpercent/100);//FRONTsize[0];  
 70.1620 +   canvasW=canvasWidth;  
 70.1621 +   canvasHeight=Math.round(canvasYpercent*FRONTsize[1]/100);//FRONTsize[1];  
 70.1622 +   canvasH=canvasHeight;
 70.1623 +   */ 
 70.1624 +   
 70.1625 +   docx=eval(document.forms[0].xDocument.value);
 70.1626 +   docy=eval(document.forms[0].yDocument.value); 
 70.1627 +
 70.1628 +   docw=eval(document.forms[0].widthDocument.value);
 70.1629 +   doch=eval(document.forms[0].heightDocument.value); 
 70.1630 +   zoominit= docx+' '+docy+' '+docw+' '+doch;
 70.1631 +   c.renderer.view(docx,docy,docw,doch,zoominit);
 70.1632 +    borderDoc();
 70.1633 +  
 70.1634 +   //doResize();
 70.1635 +   //canvasX=Math.round((FRONTsize[0]-canvasW)/2); 
 70.1636 +   //canvasY=Math.round((FRONTsize[1]-canvasH)/2);
 70.1637 +
 70.1638 + 
 70.1639 +  //Ext.get('richdraw').dom.style.left =(canvasX+'px'); Ext.get('richdraw').dom.style.top =(canvasY+'px');Ext.get('richdraw').dom.style.width=(canvasW+'px'); Ext.get('richdraw').dom.style.height =(canvasH+'px');
 70.1640 +
 70.1641 +}                 
 70.1642 +function makeWorkSite(width,left,top) {
 70.1643 +    fieldViewx=Math.round(width*proporCanvas)*1; 
 70.1644 +    fieldViewy=width*1;  
 70.1645 +    diagonalFrame=dist2p(0,0,fieldViewx*1,fieldViewy*1);
 70.1646 +    diagonalAngle=getAngle(fieldViewx,fieldViewy);                                  
 70.1647 +    diagonalMidx=fieldViewx/2; 
 70.1648 +    diagonalMidy=fieldViewy/2;   
 70.1649 +    centerZoomx=diagonalMidx;
 70.1650 +    centerZoomy=diagonalMidy;   
 70.1651 +       
 70.1652 +    //alert(diagonalinit+' '+diagonalFrame+'    '+proporDiagonal);
 70.1653 +    //alert(canvasW+''+canvasW+' propor:'+proporCanvas+' Docy:'+docy+' fieldView:'+fieldViewx+' '+fieldViewy);
 70.1654 +    zoomx=(diagonalMidx+(diagonalFrame/2)*Math.cos(diagonalAngle+Math.PI))+left;//-(fieldViewx/8);//-(canvasW/2)docx-fieldViewx;
 70.1655 +    zoomy=(diagonalMidy+(diagonalFrame/2)*Math.sin(diagonalAngle+Math.PI))+top;//-(fieldViewy/8);//-(canvasH/2);//docy-fieldViewy;
 70.1656 +    zoomw=diagonalMidx+(diagonalFrame/2)*Math.cos(diagonalAngle);//fieldViewx*1.25;//docw+fieldViewx*2;
 70.1657 +    zoomh=diagonalMidy+(diagonalFrame/2)*Math.sin(diagonalAngle);//fieldViewy*1.25;//doch+fieldViewy*2;    
 70.1658 +}  
 70.1659 +
 70.1660 +
 70.1661 +function RichDrawViewer(elem, renderer) 
 70.1662 +{
 70.1663 + this.container = elem;
 70.1664 + this.renderer = renderer;
 70.1665 + this.renderer.init(this.container);
 70.1666 + this.renderer.editor = this;
 70.1667 +}          
 70.1668 +/*
 70.1669 +onResize : function(){
 70.1670 +	        Ext.TabPanel.superclass.onResize.apply(this, arguments);
 70.1671 + 	        this.delegateUpdates();
 70.1672 + 	    },
 70.1673 + 	 */   
 70.1674 \ No newline at end of file
    71.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    71.2 +++ b/onlypaths/js/application_mini.js	Sun Jan 31 12:33:33 2010 -0500
    71.3 @@ -0,0 +1,1574 @@
    71.4 +
    71.5 +/*
    71.6 + * 
    71.7 + */ 
    71.8 +
    71.9 +Ext.BLANK_IMAGE_URL = 'theme/images/default/s.gif';
   71.10 +
   71.11 +if(typeof console != 'object') {
   71.12 +  console = {};
   71.13 +  console.log = function(){return false;};
   71.14 +}     
   71.15 +
   71.16 +
   71.17 +  function $(e){return Ext.get(e).dom}
   71.18 +  var c, browser, browserpath; 
   71.19 +  var colorpage="#ccccdd"; 
   71.20 +  var colorpage1a="#ee00aa"; //north  
   71.21 +  var colorpage1b="#ee00cc"; 
   71.22 +  var colorpage1c="#ee00ee"; 
   71.23 +  var colorpage2="#77aaaa";  //sud
   71.24 +  var colorpage3="#ddee00";  //est
   71.25 +  var colorpage4="#ccee00";  //west           
   71.26 +  
   71.27 +  var selectmode='';
   71.28 +  var selectedit='';
   71.29 +  
   71.30 +  
   71.31 +  ie = navigator.appVersion.match(/MSIE (\d\.\d)/);
   71.32 +  opera = (navigator.userAgent.toLowerCase().indexOf("opera") != -1);
   71.33 +  
   71.34 +  
   71.35 +  
   71.36 +  window.onresize = doResize; 
   71.37 +  var initialFile='big01.txt';
   71.38 +  var docx=0;
   71.39 +  var docy=0;
   71.40 +  var docw=600;
   71.41 +  var doch=400;
   71.42 +  var canvasWidth=600;//FRONTsize[0];  
   71.43 +  var canvasW=canvasWidth;  
   71.44 +  var canvasHeight=400;//FRONTsize[1];  
   71.45 +  var canvasH=canvasHeight;
   71.46 +  var canvasX=0; 
   71.47 +  var canvasY=0; 
   71.48 +  var zoomx=docx;
   71.49 +  var zoomy=docy;
   71.50 +  var zoomw=docw;
   71.51 +  var zoomh=doch;   
   71.52 +  var marginx=0;
   71.53 +  var marginy=0;      
   71.54 +  var margin=100;   
   71.55 +  var screenSize=myWorkSize();
   71.56 +  var scrW = screenSize[0];//screen.availWidth;
   71.57 +  var scrH = screenSize[1];//screen.availHeight; 
   71.58 +  
   71.59 +  var canvasYpercent=100;
   71.60 +  var canvasXpercent=100;
   71.61 +  
   71.62 + 
   71.63 +//?
   71.64 +  var wndW=scrW;//window.width;
   71.65 +  var wndH=scrH;//window.height;
   71.66 +//  
   71.67 +  var proporWindow= scrW/scrH;
   71.68 +  var proporCanvas=canvasW/canvasH;  
   71.69 +  var proporDoc=docw/doch; 
   71.70 +  var proporZoom= zoomw/zoomh; 
   71.71 +  var proporx=proporCanvas; //IE  
   71.72 +  var propory=1;      //IE  
   71.73 +  var mode='canvas';//'canvas' or 'preview'
   71.74 +
   71.75 +  var zoominit=docx+' '+docy+' '+docw+' '+doch; 
   71.76 +  var zoominit1 =zoominit;  
   71.77 +  var zoominit2 =zoominit;
   71.78 +
   71.79 +  var fieldViewx=Math.round(canvasH*proporCanvas); 
   71.80 +  var fieldViewy=canvasH;  
   71.81 +  var diagonalFrame=dist2p(0,0,fieldViewx,fieldViewy);
   71.82 +  var diagonalAngle=getAngle(fieldViewx,fieldViewy);                                  
   71.83 +  var diagonalinit=diagonalFrame;  
   71.84 +  //alert(diagonalinit);
   71.85 +  
   71.86 +  // double?
   71.87 +  var diagonalMidx=fieldViewx/2; 
   71.88 +  var diagonalMidy=fieldViewy/2;   
   71.89 +  var centerZoomx=diagonalMidx;//Math.round(zoomw/2);
   71.90 +  var centerZoomy=diagonalMidy;//Math.round(zoomh/2);        
   71.91 +  //
   71.92 +  
   71.93 +  
   71.94 +  var proporDiagonal=diagonalFrame/diagonalinit; 
   71.95 +  //////////////////////////
   71.96 +  
   71.97 +  var wProportion={x:35, y:24}
   71.98 +  
   71.99 +  var vertexNORTHmenu={};
  71.100 +  var vertexNORTHglobals={};
  71.101 +  var vertexNORTHoptions={};    
  71.102 +  var vertexSUD={};
  71.103 +  var vertexEST={};
  71.104 +  var vertexWEST={};
  71.105 +  var vertexFRONT={};
  71.106 + 
  71.107 +  var NORTHmenusize=[];
  71.108 +  var NORTHglobalssize=[];
  71.109 +  var NORTHoptionssize=[];  
  71.110 +  var SUDsize=[]; 
  71.111 +  var ESTsize=[]; 
  71.112 +  var WESTsize=[]; 
  71.113 +  var FRONTsize=[]; 
  71.114 +  
  71.115 +  
  71.116 +  vertexFrames();
  71.117 + 
  71.118 +
  71.119 +  var FRONT='';
  71.120 +  FRONT+='  <div id="richdraw"  style="background-image:url();background-color:#ff0000;position:relative; border:0px outset black;left:'+canvasX+'px;top:'+canvasY+'px;width:'+canvasW+'px;height:'+canvasH+'px; "></div>';
  71.121 +  
  71.122 +  var NORTHmenu='';
  71.123 +  NORTHmenu+='&nbsp;&nbsp;<span id="file">File</span>&nbsp;&nbsp;<span id="edit">Edit</span>';   
  71.124 + 
  71.125 +  var NORTHglobals='';
  71.126 +  NORTHglobals+='<span id="options_select" style="visibility:visible;position:relative;top:0px;left:'+canvasX+'px; padding:1px; margin-top:1px; background-color:tranparent;">';
  71.127 +  NORTHglobals+=' <img id="select_deleteone" title="Delete one" onclick="selectedit='+"'"+'deleteone'+"'"+';info_select()" src="img/delete.gif" >';    
  71.128 +  NORTHglobals+=' <img id="select_deleteall" title="Delete all" onclick="selectedit='+"'"+'deleteall'+"'"+';info_select()" src="img/reset.gif" >'    
  71.129 +  NORTHglobals+=' <img id="select_tothetop" title="To the top" onclick="selectedit='+"'"+'tothetop'+"'"+';info_select()" src="img/tothetop.gif" >';    
  71.130 +  NORTHglobals+=' <img id="select_totheback" title="To the back" onclick="selectedit='+"'"+'totheback'+"'"+';info_select()" src="img/totheback.gif" >';    
  71.131 +  NORTHglobals+=' <img id="select_onetop" title="One top" onclick="selectedit='+"'"+'onetop'+"'"+';info_select()" src="img/onetop.gif" >';    
  71.132 +  NORTHglobals+=' <img id="select_oneback" title="One back" onclick="selectedit='+"'"+'oneback'+"'"+';info_select()" src="img/oneback.gif" >';    
  71.133 +  NORTHglobals+=' <img id="select_reflectV" title="Vertical reflect" onclick="selectedit='+"'"+'reflectV'+"'"+';info_select()" src="img/reflect_h.gif" >',    
  71.134 +  NORTHglobals+=' <img id="select_reflectH" title="Horizontal reflect" onclick="selectedit='+"'"+'reflectH'+"'"+';info_select()" src="img/reflect_v.gif" >';    
  71.135 +  NORTHglobals+='</span>';
  71.136 +
  71.137 +  var NORTHoptions='';  
  71.138 +    // <!-- OPTIONS_SELECT_PATH --> 
  71.139 +  NORTHoptions+='<div id="options_select_path" style="font-size:9px;visibility:hidden;position:absolute;top:0px;left:5px;height:14px;width:100%; padding:1px; margin-top:1px; background-color:none;">';
  71.140 +  NORTHoptions+='<input type="text" name="codebase" id="codebase" style="height:15px;width:600px; padding:1px 1px 1px 4px; margin:0px; background-color:#ffffff;" value=""><img id="envshape" style="background-color:orange;" align="top"  title="Submit Shape" onclick="setShape();" border="0px" src="img/setpath1.gif">';
  71.141 +  NORTHoptions+='</div>'; 
  71.142 +  // <!-- OPTIONS_RECT --> 
  71.143 +  NORTHoptions+='<div id="options_rect" style="font-size:9px;visibility:hidden;position:absolute;top:0px;left:5px;height:14px;width:100%; padding:1px; margin-top:1px; background-color:none;">';
  71.144 +  NORTHoptions+='   trX<input id="option_rect_trx" type="text" size="1"  style="background-color:#ffffdd" value="0" onKeyPress="return edit(this,event)">'; 
  71.145 +  NORTHoptions+='   trY<input id="option_rect_try" type="text" size="1"  style="background-color:#ffffdd" value="0"onKeyPress="return edit(this,event)">'; 
  71.146 +  NORTHoptions+='   wx<input id="option_rect_sclx" type="text" size="1" style="background-color:#ddffdd" value="1" onKeyPress="return edit(this,event)">'; 
  71.147 +  NORTHoptions+='   wy<input id="option_rect_scly" type="text" size="1" style="background-color:#ddffdd" value="1" onKeyPress="return edit(this,event)">';   
  71.148 +  NORTHoptions+='   rot<input id="option_rect_rot" type="text" size="1" style="background-color:#ffdddd"  value="0" onKeyPress="return edit(this,event)">'; 
  71.149 +  NORTHoptions+='</div>';
  71.150 +  // <!-- OPTIONS_IMAGE -->
  71.151 +  NORTHoptions+='<div id="options_image" style="font-size:9px;visibility:hidden;position:absolute;top:0px;left:5px;height:14px;width:100%; padding:1px; margin-top:1px; background-color:none;">';
  71.152 +  NORTHoptions+=' trX<input id="option_img_trx" type="text" size="1"  style="background-color:#ffffdd" value="0" onKeyPress="return edit(this,event)">'; 
  71.153 +  NORTHoptions+=' trY<input id="option_img_try" type="text" size="1"  style="background-color:#ffffdd" value="0"onKeyPress="return edit(this,event)">'; 
  71.154 +  NORTHoptions+=' wx<input id="option_img_sclx" type="text" size="1" style="background-color:#ddffdd" value="1" onKeyPress="return edit(this,event)">'; 
  71.155 +  NORTHoptions+=' wy<input id="option_img_scly" type="text" size="1" style="background-color:#ddffdd" value="1" onKeyPress="return edit(this,event)">';   
  71.156 +  NORTHoptions+=' rot<input id="option_img_rot" type="text" size="1" style="background-color:#ffdddd"  value="0" onKeyPress="return edit(this,event)">'; 
  71.157 +  NORTHoptions+=' Source: <input name="option_image_href" type="text" size="62" id="option_image_href"  value="http://tavmjong.free.fr/INKSCAPE/MANUAL/images/QUICKSTART/SOUPCAN/SoupCan_SoupedUp.png" onmouseover="" onKeyPress="return edit(this,event)">';
  71.158 +  NORTHoptions+='</div>';  
  71.159 +  //<!-- OPTIONS_PATH -->
  71.160 +  NORTHoptions+='<div id="options_path" style="font-size:9px;visibility:hidden;position:absolute;top:0px;left:5px;height:14px;width:100%; padding:1px; margin-top:1px; background-color:none;">';
  71.161 +  NORTHoptions+=' trX<input id="option_path_trx" type="text" size="1"  style="background-color:#ffffdd" value="0" onKeyPress="return edit(this,event)">'; 
  71.162 +  NORTHoptions+=' trY<input id="option_path_try" type="text" size="1"  style="background-color:#ffffdd" value="0"onKeyPress="return edit(this,event)">'; 
  71.163 +  NORTHoptions+=' <input id="option_path_sclx" type="hidden" size="1" style="background-color:#ddffdd" value="1" onKeyPress="return edit(this,event)">'; 
  71.164 +  NORTHoptions+=' <input id="option_path_scly" type="hidden" size="1" style="background-color:#ddffdd" value="1" onKeyPress="return edit(this,event)">';   
  71.165 +  NORTHoptions+=' rot<input id="option_path_rot" type="text" size="1" style="background-color:#ffdddd"  value="0" onKeyPress="return edit(this,event)">'; 
  71.166 +  NORTHoptions+=' Open/Close: <input CHECKED name="option_path_close"  id="option_path_close" type="checkbox">';
  71.167 +  NORTHoptions+=' <input type="text" name="control_codebase" id="control_codebase" style="height:15px;width:300px; padding:1px 1px 1px 4px; margin:0px; background-color:#ffffff;" onmouseover="" value="" onKeyPress="return edit(this,event)">';
  71.168 +  NORTHoptions+=' <img style="cursor:pointer" align="top" title="to curve" onclick="c.renderer.tocurve();" src="img/tocurve.gif">';
  71.169 +  NORTHoptions+=' <input id="option_path_num" type="hidden" size="1" style="background-color:#ffdddd"  value="0">';
  71.170 +  NORTHoptions+=' Px<input id="option_path_x" type="text" size="1" style="background-color:#ffdddd"  value="0" onKeyPress="return editPath(this,event)">';
  71.171 +  NORTHoptions+=' Py<input id="option_path_y" type="text" size="1" style="background-color:#ffdddd"  value="0" onKeyPress="return editPath(this,event)">';   
  71.172 +  NORTHoptions+='</div>';
  71.173 +  //<!--OPTIONS ELLIPSE-->    
  71.174 +  NORTHoptions+='<div id="options_ellipse" style="font-size:9px;visibility:hidden;position:absolute;top:0px;left:5px;height:14px;width:100%; padding:1px; margin-top:1px; background-color:none;">';
  71.175 +  NORTHoptions+=' trX<input id="option_ellipse_trx" type="text" size="1"  style="background-color:#ffffdd" value="0" onKeyPress="return edit(this,event)">'; 
  71.176 +  NORTHoptions+=' trY<input id="option_ellipse_try" type="text" size="1"  style="background-color:#ffffdd" value="0"onKeyPress="return edit(this,event)">'; 
  71.177 +  NORTHoptions+=' wx<input id="option_ellipse_sclx" type="text" size="1" style="background-color:#ddffdd" value="1" onKeyPress="return edit(this,event)">'; 
  71.178 +  NORTHoptions+=' wy<input id="option_ellipse_scly" type="text" size="1" style="background-color:#ddffdd" value="1" onKeyPress="return edit(this,event)">';   
  71.179 +  NORTHoptions+=' rot<input id="option_ellipse_rot" type="text" size="1" style="background-color:#ffdddd"  value="0" onKeyPress="return edit(this,event)">'; 
  71.180 +  NORTHoptions+='</div>';
  71.181 +  //<!-- OPTIONS_ZOOM -->
  71.182 +  NORTHoptions+='<div id="options_zoom" style="font-size:9px;visibility:hidden;position:relative;top:0px;left:'+canvasX+'px; padding:0px; margin-top:0px; background-color:tranparent;">';
  71.183 +  NORTHoptions+=' <img id="zoom_more" title="More zoom" onclick="zoommode='+"'"+'more'+"'"+';info_zoom()" src="img/zoom_more.gif" >';    
  71.184 +  NORTHoptions+=' <img id="zoom_minus" title="Minus zoom" onclick="zoommode='+"'"+'minus'+"'"+';info_zoom()" src="img/zoom_minus.gif" >';    
  71.185 +  NORTHoptions+=' <img id="zoom_frame" title="Frame zoom" onclick="zoommode='+"'"+'frame'+"'"+';info_zoom()" src="img/zoom_frame.gif" >';    
  71.186 +  NORTHoptions+=' <img id="zoom_window" title="Window zoom" onclick="zoommode='+"'"+'window'+"'"+';info_zoom()" src="img/zoom_window.gif" >';    
  71.187 +  NORTHoptions+=' <img id="zoom_hand" title="Hand zoom" onclick="zoommode='+"'"+'hand'+"'"+';info_zoom()" src="img/zoom_hand.gif" >';    
  71.188 +  NORTHoptions+='</div>';
  71.189 +  //<!-- OPTIONS TEXT-->
  71.190 +  NORTHoptions+='<div id="options_text" style="font-size:9px;visibility:hidden;position:absolute;top:0px;left:90px;width:100%; padding:1px; margin-top:1px;z-index:200; background-color:transparent;">';
  71.191 +  NORTHoptions+=' <input name="option_text_message"  type="text"   size="22" id="option_text_message"  value="My text" onKeyPress="return edit(this,event)" style="visibility:inherit!important" />'; 
  71.192 +  NORTHoptions+=' Size:<input type="text" size="3" id="option_text_size"  name="option_text_size" value="30" onKeyPress="return edit(this,event)" style="">'; 
  71.193 +  NORTHoptions+=' Family:<select id="select_option_text_family" name="select_option_text_family" onchange="setTextFamily(this);" style="font-size:9px;">';
  71.194 +  NORTHoptions+='     <option style="font-family:Arial;" value="Arial">Arial</option>';
  71.195 +  NORTHoptions+='    <option  style="font-family:Verdana;"  value="Verdana">Verdana</option>';
  71.196 +  NORTHoptions+='    <option  style="font-family:Times;" value="Times">Times</option>'; 
  71.197 +  NORTHoptions+='    <option  style="font-family:Times;" value="Tahoma">Tahoma</option>';
  71.198 +  NORTHoptions+='    <option  style="font-family:Times;" value="Impact">Impact</option>';
  71.199 +  NORTHoptions+='  </select>';
  71.200 +  NORTHoptions+='  <input type="hidden" name="option_text_family" id="option_text_family" value="Arial" >';
  71.201 +  NORTHoptions+='</div>';  
  71.202 +  
  71.203 +  
  71.204 +  var EST='';
  71.205 +   EST+='<img id="select" title="Select shapes" onclick="c.pathsEdit=false; setMode('+"'"+'select'+"'"+', '+"'"+'Selection'+"'"+');" src="img/select3.gif" >';
  71.206 +   EST+='<img id="pathsEdit" title="Edit path" onclick="c.pathsEdit=true; setMode('+"'"+'pathsEdit'+"'"+', '+"'"+'Path Edit'+"'"+');" src="img/editpath.gif" >';
  71.207 +   EST+='<img id="zoom" title="Select zoom" onclick="setMode('+"'"+'zoom'+"'"+', '+"'"+'Zoom'+"'"+');" src="img/zoom.gif" >';
  71.208 +   EST+='<img id="rect" title="Draw a rectangle" onclick="setMode('+"'"+'rect'+"'"+', '+"'"+'Rectangle'+"'"+');" src="img/rectangle.gif" >';
  71.209 +   EST+='<img id="roundrect" title="Draw a rounded rectangle" onclick="setMode('+"'"+'roundrect'+"'"+', '+"'"+'Rounded Rectangle'+"'"+');" src="img/roundrect.gif" >';
  71.210 +   EST+='<img id="ellipse" title="Draw an ellipse" onclick="setMode('+"'"+'ellipse'+"'"+', '+"'"+'Ellipse / Circle'+"'"+');" src="img/circle.gif" >';
  71.211 +   EST+='<img id="line" title="Draw a line" onclick="setMode('+"'"+'line'+"'"+', '+"'"+'Line'+"'"+');" src="img/line.gif" >';  
  71.212 +   EST+='<img id="path" title="Draw a path" onclick="setMode('+"'"+'path'+"'"+', '+"'"+'Path'+"'"+');" src="img/path2.gif">';
  71.213 +   EST+='<img id="controlpath" title="Draw a path" onclick="setMode('+"'"+'controlpath'+"'"+', '+"'"+'controlPath'+"'"+');" src="img/path3.gif">';
  71.214 +   EST+='<img id="text" title="Write a text" onclick="setMode('+"'"+'text'+"'"+', '+"'"+'Text'+"'"+');" src="img/text.gif">';   
  71.215 +   EST+='<img id="shape" title="Open a shape" onclick="setMode('+"'"+'shape'+"'"+', '+"'"+'Shape'+"'"+');" src="img/shape.gif">';
  71.216 +   EST+='<img id="image" title="Put a image" onclick="setMode('+"'"+'image'+"'"+', '+"'"+'Image'+"'"+');" src="img/image.gif" >';    
  71.217 +
  71.218 +   var WEST='';   
  71.219 +   WEST+='<div id="xyinput"  style="width:40px;background-color:none">0,0</div>';
  71.220 +   WEST+='<div style="font-size:9px">Grid:</div>';
  71.221 +   WEST+='<select id="gridwidth" style="font-size:9px">';
  71.222 +       var chain='';
  71.223 +       for(var num=1;num<=30;num++)
  71.224 +       {
  71.225 +         chain+='<option value="'+num+'">'+num+'px</option>';
  71.226 +       }   
  71.227 +   WEST+=chain;    
  71.228 +   WEST+='</select>';
  71.229 +   WEST+='<br>'; 
  71.230 + 
  71.231 +   WEST+=' <div name="me-container">';
  71.232 +   WEST+=' <div id="fill-me">'; 
  71.233 +   WEST+=' <img style=" padding:0px; border:0px solid orange;" id="img_okfill" onclick="setbe(1,'+"'"+'img_okfill'+"'"+')" src="img/theme/images/ok.gif">Fill<div id="fill-square"></div>';
  71.234 +   WEST+=' <div id="slider-fill"></div>'; 
  71.235 +   WEST+=' <div id="fillContainer"></div>';  
  71.236 +   WEST+=' <div id="opacity-slider-fill" title="Fill opacity"></div>';  
  71.237 +   WEST+=' </div>'; 
  71.238 +   WEST+=' <div id="stroke-me">'; 
  71.239 +   WEST+='  <img style=" padding:0px; border:0px solid orange;" id="img_okstroke" onclick="setbe(2,'+"'"+'img_okstroke'+"'"+')" src="img/theme/images/ok.gif">Line<div id="stroke-square"></div>';
  71.240 +   WEST+=' <div id="slider-stroke"></div>';
  71.241 +   WEST+=' <div id="strokeContainer"></div>'; 
  71.242 +   WEST+='  <div id="width-slider-stroke-mask"></div><div id="width-slider-stroke" title="Stroke width"></div>'; 
  71.243 +   WEST+='  <div id="opacity-slider-stroke" title="Stroke opacity"></div>'; 
  71.244 +   WEST+='  </div>'; 
  71.245 +   WEST+='  <div id="divformfill">'; 
  71.246 +   WEST+='  </div>';
  71.247 +   WEST+='  <div id="divformstroke">'; 
  71.248 +   WEST+='  </div>';
  71.249 + 
  71.250 +   WEST+='</div>';
  71.251 +   WEST+=' <div id="panel_shapes" style="overflow:auto;font-size:9px;visibility:hidden;position:absolute;top:200px;left:0px;height:122px;width:200px; padding:1px; margin-top:1px; background-color:none;">';
  71.252 +   WEST+='    <iframe id="linksPaths" style="visibility:hidden;overflow:auto;padding:0px;border-style:outset;border-width:0px;margin:0px;width:200px;height:122px;background-color:wheat;" src="svgpaths.htm"></iframe>';
  71.253 +   WEST+=' </div> ';
  71.254 +
  71.255 +   var SUD="";
  71.256 +   //SUD+='<img id="showcode" title="Show the code" alt="" onclick="showMarkupCode();" src="img/viewcode.gif" style="border-color:#dd7700" >';
  71.257 +   //SUD+='<img id="showmarkup" title="Show the raw markup" alt="" onclick="shm();" src="img/viewcode.gif" >';
  71.258 +   //SUD+='<img id="loadmarkup" title="Load the raw markup" alt="" onclick="lcm();" src="img/loadcode.gif" >';
  71.259 +   //SUD+='<br>&nbsp;';
  71.260 +   SUD+='<br>&nbsp;';
  71.261 +   SUD+='<input type="text"  id="someinfo" value="No Data" name="someinfo" style="width:80%;">';
  71.262 +  // SUD+='<textarea name="code" id="code"  style="width:420px;height:200px;padding:0px"></textarea>';
  71.263 +  // SUD+='<div>';
  71.264 +  // SUD+='</div>';
  71.265 +
  71.266 + var currentEditStatus='off'; 
  71.267 + var currentFileStatus='off';
  71.268 +  var infoFrame, docFrame;
  71.269 +Ext.onReady(function() {  
  71.270 +
  71.271 +
  71.272 +  //var map = new Ext.KeyMap(document, {  
  71.273 +  // key: [Ext.EventObject.LEFT, Ext.EventObject.RIGHT],  
  71.274 +  // ctrl: true,  
  71.275 +  // fn: keypresshandler  
  71.276 +  //});  
  71.277 +  Ext.get("FRONT").dom.innerHTML=(FRONT);
  71.278 +  Ext.get("NORTHmenu").dom.innerHTML=(NORTHmenu); 
  71.279 +  Ext.get("NORTHglobals").dom.innerHTML=(NORTHglobals);  
  71.280 +  Ext.get("NORTHoptions").dom.innerHTML=(NORTHoptions);
  71.281 +  Ext.get("EST").dom.innerHTML=(EST);
  71.282 +  Ext.get("WEST").dom.innerHTML=(WEST);    
  71.283 +  Ext.get("SUD").dom.innerHTML=(SUD); 
  71.284 +  
  71.285 +  resizeFrame();
  71.286 +  var map= new Ext.KeyMap(document, [
  71.287 +    {
  71.288 +        key: [46],//DELETE
  71.289 +        fn: function(){ c.deleteSelection(); }
  71.290 +    }, {
  71.291 +        key: "x",
  71.292 +        ctrl:true,
  71.293 +        fn: function(){ 	
  71.294 +        	c.clipboard=c.renderer.copy(c.selected);
  71.295 +	     	c.deleteSelection();  
  71.296 +	      }    
  71.297 +    }, {
  71.298 +        key: "c",
  71.299 +        ctrl:true,
  71.300 +        fn: function(){ 	
  71.301 +			 c.clipboard=c.renderer.copy(c.selected);
  71.302 +	      }	      
  71.303 +    }, {
  71.304 +        key: "d",
  71.305 +        ctrl:true,
  71.306 +        fn: function(){ 	
  71.307 +			 c.selected=c.renderer.duplicate(c.selected);
  71.308 +			 c.selected.id = 'shape:' + createUUID();
  71.309 +    			Ext.get(c.selected).on( "mousedown", c.onHit,c);  
  71.310 +	      }	      
  71.311 +    }, {
  71.312 +        key: "v",
  71.313 +        ctrl:true,
  71.314 +        fn: function(){ 	
  71.315 +			 c.selected=c.renderer.paste(c.clipboard,c.mouseDownX,c.mouseDownY);
  71.316 +			 c.selected.id = 'shape:' + createUUID();
  71.317 + 			Ext.get(c.selected).on( "mousedown", c.onHit,c);  
  71.318 +	      }	      
  71.319 +    }, {
  71.320 +        key: "z", //UNDO
  71.321 +        ctrl:true,
  71.322 +        shift:false,
  71.323 +        fn: function(){ c.clipboard=c.renderer.undo(); }
  71.324 +    }
  71.325 +]);                                  
  71.326 +
  71.327 +  /*
  71.328 +  Ext.get("richdraw").dom.style.width=(canvasWidth);
  71.329 +  Ext.get("richdraw").dom.style.height=(canvasHeight);
  71.330 +  Ext.get("richdraw").dom.style.left=(canvasX);
  71.331 +  Ext.get("richdraw").dom.style.top=(canvasY);
  71.332 + */ 
  71.333 +  
  71.334 +  
  71.335 +  
  71.336 + menuEdit = new Ext.menu.Menu({
  71.337 +  id: 'menuedit',
  71.338 +  items: [
  71.339 +   {icon: "img/viewcode.gif", text: 'Copy all     ', handler: shm},
  71.340 +   {icon: "img/viewcode.gif", text: 'Paste all    ', handler: lcm},
  71.341 +   {icon: "img/viewcode.gif", text: 'Delete all   ', handler: deleteAllShapes},
  71.342 +   {icon: "img/viewcode.gif", text: 'Duplicate&nbsp;&nbsp;<b>Ctrl+d</b>', handler: duplicateSelected},
  71.343 +   {icon: "img/viewcode.gif", text: 'Cut&nbsp;&nbsp;&nbsp;&nbsp;<b>Ctrl+x</b>', handler: cutSelected},
  71.344 +   {icon: "img/viewcode.gif", text: 'Copy&nbsp;&nbsp;&nbsp;&nbsp;<b>Ctrl+c</b>', handler: copySelected},
  71.345 +   {icon: "img/viewcode.gif", text: 'Paste&nbsp;&nbsp;<b>Ctrl+v</b>', handler: pasteSelected},
  71.346 +   {icon: "img/viewcode.gif", text: 'Delete&nbsp;&nbsp;&nbsp;<b>Supr</b>', handler: deleteShape},
  71.347 +   {icon: "img/viewcode.gif", text: 'Delete last&nbsp;<b>Ctrl+z</b>', handler: deleteLastShapes},
  71.348 +
  71.349 +  ] 
  71.350 + });   
  71.351 + 
  71.352 + menuFile = new Ext.menu.Menu({
  71.353 +  id: 'menufile',  
  71.354 +   
  71.355 +  items: [  
  71.356 +   new Ext.menu.Item({ icon: "img/viewcode.gif", text: 'Open    ', handler: openFile   }),
  71.357 +   new Ext.menu.Item({ icon: "img/viewcode.gif", text: 'View SVG code    ', handler: showMarkupCode   }),
  71.358 +   new Ext.menu.Item({icon: "img/viewcode.gif", text: 'View OPF code    ', handler: showMarkup   }), 
  71.359 +   new Ext.menu.Item({icon: "img/viewcode.gif", text: 'Document properties    ', handler: documentProperties   })
  71.360 +  ] 
  71.361 + });
  71.362 +/*
  71.363 +  items: [ 
  71.364 +   {icon: "img/viewcode.gif", text: 'View SVG code    ', handler: showMarkupCode },
  71.365 +   {icon: "img/viewcode.gif", text: 'View OPF code    ', handler: showMarkup }, 
  71.366 +   {icon: "img/viewcode.gif", text: 'Document properties    ', handler: documentProperties },
  71.367 +
  71.368 +  ] 
  71.369 +*/ 
  71.370 +// define the handler for mouseover/out of either button or menu itself
  71.371 + var editHandler = function(e) 
  71.372 + {
  71.373 +  if(currentEditStatus=='on')
  71.374 +   {
  71.375 +    var edit = menuEdit.getEl();
  71.376 +    var buttonEdit = Ext.get('edit');
  71.377 +    if(!edit.getRegion().contains(e.getPoint()) && !buttonEdit.getRegion().contains(e.getPoint()))
  71.378 +     {
  71.379 +      menuEdit.hide();
  71.380 +      currentEditStatus='off';
  71.381 +     }
  71.382 +   }
  71.383 +    else
  71.384 +   {
  71.385 +    menuEdit.show('edit');
  71.386 +    currentEditStatus='on';
  71.387 +   }
  71.388 + }
  71.389 +
  71.390 + var fileHandler = function(e) 
  71.391 + {
  71.392 +  if(currentFileStatus=='on')
  71.393 +   {
  71.394 +    var file = menuFile.getEl();
  71.395 +    var buttonFile = Ext.get('file');
  71.396 +    if(!file.getRegion().contains(e.getPoint()) && !buttonFile.getRegion().contains(e.getPoint()))
  71.397 +     {
  71.398 +      menuFile.hide();
  71.399 +      currentFileStatus='off';
  71.400 +     }
  71.401 +   }
  71.402 +    else
  71.403 +   {
  71.404 +    menuFile.show('file');
  71.405 +    currentFileStatus='on';
  71.406 +   }
  71.407 + }
  71.408 +
  71.409 + // define the events to observe 
  71.410 + Ext.get('edit').on('mouseover',editHandler);
  71.411 + Ext.get('edit').on('mouseout',editHandler);
  71.412 + menuEdit.getEl().on('mouseout',editHandler); 
  71.413 + 
  71.414 + Ext.get('file').on('mouseover',fileHandler);
  71.415 + Ext.get('file').on('mouseout',fileHandler);
  71.416 + menuFile.getEl().on('mouseout',fileHandler);
  71.417 +
  71.418 +
  71.419 + 
  71.420 +
  71.421 +}); 
  71.422 +
  71.423 +//  end ONREADY 
  71.424 +
  71.425 +function borderDoc(){  
  71.426 + //c.rectCanvas(docx,docy,docw,doch,viewBox)
  71.427 +     if(mode=='canvas')
  71.428 +         {  
  71.429 +         var obj=document.getElementById("rectDoc"); 
  71.430 +         if(obj){c.renderer.remove(obj) }
  71.431 +         c.renderer.rectDoc(zoominit1); 
  71.432 +         //pst.id = "rectCanvas";
  71.433 +               //c.selected=obj;
  71.434 +                // c.renderer.remove(obj) 
  71.435 +         //var clip=c.renderer.copy(obj);
  71.436 +        
  71.437 +         
  71.438 +         
  71.439 +         //var pst=c.container.appendChild( clip );
  71.440 +         //c.renderer.paste(clip,0,0); 
  71.441 +         //pst.id = "rectCanvas";
  71.442 +         
  71.443 +         
  71.444 +         //pasteSelected();
  71.445 +
  71.446 +          //c.renderer.duplicate(document.getElementById("rectCanvas"))
  71.447 +          //c.renderer.remove(document.getElementById("rectCanvas"));
  71.448 +         }
  71.449 +}
  71.450 + function demo() {   
  71.451 +    _dom=document.all?3:(document.getElementById?1:(document.layers?2:0));
  71.452 +
  71.453 +    var renderer;
  71.454 +
  71.455 +    if ((!ie) || (opera)) {
  71.456 +      renderer = new SVGRenderer();
  71.457 +      browser='svg';
  71.458 +      browserpath="linkspath.htm";
  71.459 +    }
  71.460 +    else {
  71.461 +      renderer = new VMLRenderer(); 
  71.462 +      browser='vml';
  71.463 +      browserpath="vmlpaths.htm";
  71.464 +    }
  71.465 +
  71.466 +    c = new RichDrawEditor(document.getElementById('richdraw'), renderer); 
  71.467 +   
  71.468 +    c.onInputXY = function(x,y){$('xyinput').innerHTML = parseInt(x)+','+parseInt(y)}//[x,y].join("<br>")}
  71.469 +    
  71.470 +    c.onselect = onSelect;
  71.471 +    c.onunselect = onUnselect;  
  71.472 +   
  71.473 +     
  71.474 +
  71.475 +    // c.onkeydown = keypresshandler;     
  71.476 +   //c.onkeypress = c.onKeyPress;
  71.477 +    //document.onkeypress = c.onKeyPress;
  71.478 +       
  71.479 +    
  71.480 +    
  71.481 +    c.editCommand('fillcolor', 'red');
  71.482 +    c.editCommand('linecolor', 'black');
  71.483 +    c.editCommand('linewidth', '1px');   
  71.484 +    
  71.485 +  
  71.486 +    //setMode('path', 'Path');
  71.487 +    setMode('select', 'Selection');
  71.488 +
  71.489 +   document.body.style.backgroundColor = colorpage;     
  71.490 + 
  71.491 +
  71.492 +  //alert(vertexSUD.SUD1[0]+' '+vertexSUD.SUD1[1]+ '--'+wndW+' '+wndH);
  71.493 +
  71.494 +  setTimeout(loadDemo,500)    
  71.495 +  //Ext.get("richdraw").on('keydown', function(e){alert('dfsd'); }, false);
  71.496 +   //Ext.get("richdraw").on('keydown', function(e){alert(e.keyCode); });
  71.497 +    //document.onkeydown = keypresshandler;
  71.498 +//richdraw.svgRoot.setAttributeNS(null,'viewBox', '0 0 700 500');
  71.499 +
  71.500 +  //setTimeout(borderDoc,500)  
  71.501 +
  71.502 +  }   //END demo
  71.503 +
  71.504 +
  71.505 +/////////////////
  71.506 +
  71.507 +
  71.508 +//////////////////
  71.509 +var Docs = function(){
  71.510 + return {
  71.511 +   init : function(){
  71.512 +    var loading = Ext.get('loading');
  71.513 +    var mask = Ext.get('loading-mask');
  71.514 +    mask.setOpacity(.7);
  71.515 +    mask.shift({
  71.516 +     xy:loading.getXY(),
  71.517 +     width:loading.getWidth(),
  71.518 +     height:loading.getHeight(),
  71.519 +     remove:true,
  71.520 +     duration:2,
  71.521 +     opacity:.8,
  71.522 +     easing:'bounceOut',
  71.523 +     callback : function(){
  71.524 +      loading.fadeOut({duration:.2,remove:true});
  71.525 +     }
  71.526 +    });
  71.527 +   }
  71.528 +  };
  71.529 +}();
  71.530 +
  71.531 +
  71.532 +Ext.onReady(Docs.init, Docs, true);
  71.533 +
  71.534 +function showinfoFrame(wtitle) {   
  71.535 +      var win = new Ext.Window({   
  71.536 +        closeAction: 'hide',
  71.537 +        renderTo: 'showInfo',
  71.538 +        autoScroll:true,
  71.539 +        modal:true,
  71.540 +	width: '440',
  71.541 +	height:'300', 
  71.542 +	x: '120',
  71.543 +	y: '40',
  71.544 +	title: wtitle, 
  71.545 +	draggable :true,
  71.546 +	html: '', 
  71.547 +	hidden: true,
  71.548 +	contentEl: 'divCode',
  71.549 +	collapsed: true 
  71.550 +	
  71.551 + });  
  71.552 + win.show();
  71.553 +} 
  71.554 +function showdocFrame(wtitle) {   
  71.555 +      var win = new Ext.Window({ 
  71.556 +        closeAction: 'hide', 
  71.557 +        renderTo: 'showInfo',
  71.558 +       	width: '340',
  71.559 +	height:'300', 
  71.560 +	x: '120',
  71.561 +	y: '40',
  71.562 +	title: wtitle, 
  71.563 +	draggable :true,
  71.564 +	html: '', 
  71.565 +	hidden: true,
  71.566 +	contentEl: 'docProperties',
  71.567 +	collapsed: true 
  71.568 +	
  71.569 + });  
  71.570 + win.show();
  71.571 +}    
  71.572 +function showopenFile(wtitle) {   
  71.573 +      var win = new Ext.Window({  
  71.574 +        autoScroll:true,
  71.575 +        closeAction: 'hide', 
  71.576 +        renderTo: 'showInfo',
  71.577 +       	width: '440',
  71.578 +	height:'300', 
  71.579 +	x: '120',
  71.580 +	y: '40',
  71.581 +	title: wtitle, 
  71.582 +	draggable :true,
  71.583 +	html: '', 
  71.584 +	hidden: true,
  71.585 +	contentEl: 'divopenFile',
  71.586 +	collapsed: true 
  71.587 +	
  71.588 + });  
  71.589 + win.show();
  71.590 +}      
  71.591 +
  71.592 +/////////////////////////////
  71.593 +//FUNCTIONS 
  71.594 +/////////////////////////////
  71.595 +
  71.596 +function changeInitialFile() 
  71.597 +{  
  71.598 +   initialFile=document.forms[0].file.value; 
  71.599 +   c.renderer.removeAll()
  71.600 +   loadDemo(); 
  71.601 +  
  71.602 +} 
  71.603 + 
  71.604 + function setMode(mode, status) 
  71.605 +   { 
  71.606 +    
  71.607 +   
  71.608 +    selectmode=mode;
  71.609 +    if(mode=='shape')
  71.610 +     { 
  71.611 +            c.editCommand('mode', 'select');
  71.612 +     }else{              
  71.613 +            if(mode=='pathsEdit' )
  71.614 +             {
  71.615 +                mode='select';
  71.616 +             }
  71.617 +            c.editCommand('mode', mode);
  71.618 +     }
  71.619 +     
  71.620 +     var imgs = $('EST').getElementsByTagName('img');
  71.621 +     
  71.622 +     for (var i=0; i<imgs.length; i++) 
  71.623 +     {
  71.624 +       imgs[i].style.backgroundColor = '';
  71.625 +     }
  71.626 +     if(c.pathsEdit==true){
  71.627 +       $('pathsEdit').style.backgroundColor = 'orange';
  71.628 +     }else{
  71.629 +      $(mode).style.backgroundColor = 'orange';
  71.630 +     } 
  71.631 +     
  71.632 +     
  71.633 +     if (mode == 'select') 
  71.634 +      {
  71.635 +       //$('status').innerHTML = 'Select/Move' ;
  71.636 +       info_select();
  71.637 +      } 
  71.638 +     else
  71.639 +      {
  71.640 +       //$('status').innerHTML = 'Draw ' + status;
  71.641 +      } 
  71.642 +    
  71.643 +    ///////////
  71.644 +    
  71.645 +    hiddenAllMenus();
  71.646 +
  71.647 +    if(mode=='text')
  71.648 +     {
  71.649 +	info_text();
  71.650 +     }
  71.651 +
  71.652 +    if(mode=='shape')
  71.653 +     {
  71.654 +	info_shape();
  71.655 +     }
  71.656 +    if(mode=='ellipse')
  71.657 +     {
  71.658 +	info_ellipse();
  71.659 +     }
  71.660 +
  71.661 +     if(mode=='rect')
  71.662 +     {
  71.663 +	info_rect();
  71.664 +     }  
  71.665 +     
  71.666 +     if(mode=='image')
  71.667 +     {
  71.668 +	info_image();
  71.669 +     }  
  71.670 +
  71.671 +     if(mode=='path')
  71.672 +     {
  71.673 +	info_path();
  71.674 +     }  
  71.675 +     if(mode=='controlpath')
  71.676 +     {
  71.677 +	info_controlpath();
  71.678 +     }  
  71.679 +     if(mode=='zoom')
  71.680 +     {
  71.681 +	info_zoom();
  71.682 +	
  71.683 +     } 
  71.684 +     if(mode=='select')
  71.685 +     {  
  71.686 +        if(c.pathsEdit==true)
  71.687 +         { 
  71.688 +          info_pathsEdit();
  71.689 +         }
  71.690 +          else
  71.691 +         { 
  71.692 +	  info_select();
  71.693 +	 } 
  71.694 +	
  71.695 +     }
  71.696 +     //c.renderer.zoom(0,0);   
  71.697 +     //document.getElementById('richdraw').focus();
  71.698 +     
  71.699 +  } 
  71.700 + 
  71.701 + ///////////////////////// 
  71.702 + 
  71.703 +  function hiddenAllMenus()
  71.704 +   {     
  71.705 +        document.getElementById('richdraw').style.cursor='default'; 
  71.706 +  	$('options_text').style.visibility = 'hidden';
  71.707 +  	$('options_select_path').style.visibility = 'hidden';  
  71.708 +  	$('panel_shapes').style.visibility = 'hidden'; 
  71.709 +  	$('linksPaths').style.visibility = 'hidden';  
  71.710 +        $('options_rect').style.visibility = 'hidden';
  71.711 +        $('options_ellipse').style.visibility = 'hidden';      
  71.712 +        $('options_image').style.visibility = 'hidden';  
  71.713 +        $('options_path').style.visibility = 'hidden';   
  71.714 +        //$('options_controlpath').style.visibility = 'hidden';   
  71.715 +        $('options_zoom').style.visibility = 'hidden';   
  71.716 +        $('options_select').style.visibility = 'hidden';
  71.717 +        
  71.718 +        
  71.719 +        selectedit='';
  71.720 +   }
  71.721 +  
  71.722 +  function info_text()
  71.723 +   {
  71.724 +	$('options_text').style.visibility = 'visible';
  71.725 +   }
  71.726 +  function info_shape()
  71.727 +   {
  71.728 +	$('options_select_path').style.visibility = 'visible';  
  71.729 +	$('linksPaths').style.visibility = 'visible'; 
  71.730 +	$('panel_shapes').style.visibility= 'visible';  
  71.731 +   }
  71.732 +  function info_rect()
  71.733 +   {
  71.734 +	$('options_rect').style.visibility = 'visible';  
  71.735 +   } 
  71.736 +  function info_ellipse()
  71.737 +   {
  71.738 +	$('options_ellipse').style.visibility = 'visible';  
  71.739 +   } 
  71.740 +
  71.741 +  function info_image()
  71.742 +   {
  71.743 +	$('options_image').style.visibility = 'visible';  
  71.744 +   }   
  71.745 +  function info_path()
  71.746 +   {
  71.747 +	$('options_path').style.visibility = 'visible'; 
  71.748 +	
  71.749 +   }
  71.750 +  function info_controlpath()
  71.751 +   {
  71.752 +	$('options_path').style.visibility = 'visible'; 
  71.753 +	
  71.754 +   } 
  71.755 +   function info_zoom()
  71.756 +   {
  71.757 +	$('options_zoom').style.visibility = 'visible';   
  71.758 +	//$('options_zoom').style.backgroundColor = colorpage; 
  71.759 +	if(zoommode=='hand')
  71.760 +	 {
  71.761 +	   document.getElementById('richdraw').style.cursor='move'; 
  71.762 +	   
  71.763 +	 }else{ 
  71.764 +	    if(zoommode=='window')
  71.765 +	     {
  71.766 +	     
  71.767 +	     }else{
  71.768 +	      c.renderer.zoom(0,0);       
  71.769 +	     }
  71.770 +	 }
  71.771 +        var imgs = $('options_zoom').getElementsByTagName('img');
  71.772 +        for (var i=0; i<imgs.length; i++) 
  71.773 +         {
  71.774 +            imgs[i].style.backgroundColor = '';
  71.775 +         }
  71.776 +        $('zoom_'+zoommode).style.backgroundColor = 'orange';
  71.777 +        
  71.778 +       
  71.779 +        
  71.780 +   }   
  71.781 +   
  71.782 +   function info_pathsEdit(){
  71.783 +	$('options_path').style.visibility = 'visible'; 
  71.784 +   }
  71.785 +
  71.786 +   function info_select()
  71.787 +   {
  71.788 +	$('options_select').style.visibility = 'visible';   
  71.789 +	//$('options_select').style.backgroundColor = colorpage; 
  71.790 +
  71.791 +	if(selectedit=='deleteone')
  71.792 +	 {
  71.793 +	     deleteShape();
  71.794 +	 }
  71.795 +	if(selectedit=='deleteall')
  71.796 +	 {
  71.797 +	     deleteAllShapes();
  71.798 +	 }
  71.799 +	if(selectedit=='tothetop')
  71.800 +	 {
  71.801 +	     toFront(-1);
  71.802 +	 }
  71.803 + 	if(selectedit=='totheback')
  71.804 +	 {
  71.805 +	     toFront(0);
  71.806 +	 }
  71.807 +  	if(selectedit=='oneback')
  71.808 +	 {
  71.809 +	     toFront(1);
  71.810 +	 }
  71.811 +   	if(selectedit=='onetop')
  71.812 +	 {
  71.813 +	     toFront(2);
  71.814 +	 }
  71.815 +   	if(selectedit=='reflectV')
  71.816 +	 {
  71.817 +	     c.reflect('V');
  71.818 +	 } 
  71.819 +	if(selectedit=='reflectH')
  71.820 +	 {
  71.821 +	     c.reflect('H');
  71.822 +	 }
  71.823 +
  71.824 +        var imgs = $('options_select').getElementsByTagName('img');
  71.825 +        for (var i=0; i<imgs.length; i++) 
  71.826 +         {
  71.827 +            imgs[i].style.backgroundColor = '';
  71.828 +         } 
  71.829 +        if(selectedit != '')
  71.830 +        {
  71.831 +                $('select_'+selectedit).style.backgroundColor = 'orange';
  71.832 +        } 
  71.833 +        
  71.834 +   }   
  71.835 +  
  71.836 +   
  71.837 +////////////////////////////
  71.838 +
  71.839 +        
  71.840 +  function setShape() 
  71.841 +   {   
  71.842 +       if(selectmode=='select' || selectmode=='control_path' || selectmode=='path'){
  71.843 +          c.submitShape(document.forms[0].control_codebase.value);
  71.844 +        }else{
  71.845 +          setMode('path', 'Path'); 
  71.846 +          c.submitShape(document.forms[0].codebase.value);  
  71.847 +        }
  71.848 +   }
  71.849 +  
  71.850 +  //function onKeyPress(){
  71.851 +    //c.onKeyPress();
  71.852 +  //}
  71.853 +  
  71.854 +  
  71.855 +  function deleteShape() 
  71.856 +   {
  71.857 +    c.deleteSelection();
  71.858 +   } 
  71.859 +   
  71.860 +  function deleteAllShapes() 
  71.861 +   {
  71.862 +    c.deleteAll();
  71.863 +   } 
  71.864 +
  71.865 +  function deleteLastShapes() 
  71.866 +   {
  71.867 +    //c.deleteLast();
  71.868 +    c.clipboard=c.renderer.undo();
  71.869 +   } 
  71.870 +  function toFront(num) 
  71.871 +   {
  71.872 +    c.toFront(num);
  71.873 +   } 
  71.874 +  function cutSelected()
  71.875 +   { 
  71.876 +     
  71.877 +     c.clipboard=c.renderer.copy(c.selected);
  71.878 +     c.deleteSelection();
  71.879 +   }   
  71.880 +  function copySelected()
  71.881 +   {
  71.882 +    c.clipboard=c.renderer.copy(c.selected);
  71.883 +   }
  71.884 +  function pasteSelected()
  71.885 +   {
  71.886 +    c.selected=c.renderer.paste(c.clipboard,c.mouseDownX,c.mouseDownY);
  71.887 +    c.selected.id = 'shape:' + createUUID();
  71.888 +    Ext.get(c.selected).on( "mousedown", c.onHit,c);  
  71.889 +   } 
  71.890 +  function duplicateSelected()
  71.891 +   { 
  71.892 +    c.selected=c.renderer.duplicate(c.selected);
  71.893 +    c.selected.id = 'shape:' + createUUID();
  71.894 +    Ext.get(c.selected).on( "mousedown", c.onHit,c);  
  71.895 +  }                           
  71.896 +///////////////////////////
  71.897 +
  71.898 +                    
  71.899 +  function setFillColor(color)   //colors --
  71.900 +   {
  71.901 +    //-- var color = colors.options[colors.selectedIndex].value;
  71.902 +    //-- colors.style.backgroundColor = color;
  71.903 +    
  71.904 +    c.editCommand('fillcolor', color);
  71.905 +   }
  71.906 +  
  71.907 +  function setLineColor(color)  //colors -- 
  71.908 +   {
  71.909 +    //--var color = colors.options[colors.selectedIndex].value;
  71.910 +    //-- colors.style.backgroundColor = color;
  71.911 +
  71.912 +    c.editCommand('linecolor', color);
  71.913 +   }
  71.914 +  
  71.915 +  function setLineWidth(width) //width --
  71.916 +   {
  71.917 +    //-- var width = widths.options[widths.selectedIndex].value;
  71.918 +    c.editCommand('linewidth', width);
  71.919 +   }
  71.920 +  ////
  71.921 +  //++
  71.922 +  function setFillOpacity(opacity) 
  71.923 +   {
  71.924 +     c.editCommand('fillopacity', opacity);
  71.925 +   } 
  71.926 +   ////
  71.927 +   //++
  71.928 +   function setLineOpacity(opacity) 
  71.929 +    {
  71.930 +     c.editCommand('lineopacity', opacity);
  71.931 +    }
  71.932 +
  71.933 +  function setTextFamily(types) 
  71.934 +   {
  71.935 +    var type = types.options[types.selectedIndex].value;
  71.936 +    document.forms[0].option_text_family.value=type; //bad :-(
  71.937 +    data_text_family = type;
  71.938 +    c.submitShape($('option_text_message').value+'<;>'+$('option_text_size').value+'<;>'+$('option_text_family').value);
  71.939 +   }
  71.940 +
  71.941 +  function setGridWidth(widths) 
  71.942 +   {
  71.943 +    var width = eval(widths.options[widths.selectedIndex].value);
  71.944 +    RichDrawEditor.prototype.setGrid(width, width);
  71.945 +   }
  71.946 +
  71.947 +///////////////////////////////
  71.948 +  
  71.949 +
  71.950 +  function getOptionByValue(select, value)
  71.951 +  {
  71.952 +    /*for (var i=0; i<select.length; i++) 
  71.953 +     {
  71.954 +        if (select.options[i].value == value) 
  71.955 +         {
  71.956 +            return i;
  71.957 +         }
  71.958 +    }
  71.959 +    return -1;
  71.960 +    */
  71.961 +  }      
  71.962 +  
  71.963 +/////////////////////////////
  71.964 +
  71.965 + function showMarkupCode() 
  71.966 +  {
  71.967 +    $('code').value = c.renderer.getMarkup(); 
  71.968 +    //document.forms[0].code.focus();
  71.969 +    //$('code').select; 
  71.970 +    showinfoFrame('SVG code')
  71.971 +    //infoFrame.setTitle('SVG code');  
  71.972 +    //infoFrame.show();
  71.973 +    
  71.974 +  }
  71.975 + function openFile() 
  71.976 +  {
  71.977 +    $('file').value = initialFile; 
  71.978 +    //document.forms[0].code.focus();
  71.979 +    //$('code').select; 
  71.980 +    showopenFile('Open File')
  71.981 +    //infoFrame.setTitle('SVG code');  
  71.982 +    //infoFrame.show();
  71.983 +    
  71.984 +  }
  71.985 + function showMarkup() 
  71.986 +  {
  71.987 +   document.forms[0].code.value=Ext.util.JSON.encode(canvas(c));
  71.988 +    //infoFrame.setTitle('OPF code');
  71.989 +    //infoFrame.show();
  71.990 +     showinfoFrame('OPF code')
  71.991 +
  71.992 +   
  71.993 +  }
  71.994 +
  71.995 +  function shm()
  71.996 +   {
  71.997 +   var json = Ext.util.JSON.encode(canvas(c))
  71.998 +    $('someinfo').value = "JSON File Format Saved : "+( c.renderer.getMarkup().length - json.length )+" characters; JSON Character Total: "+json.length
  71.999 +    $('code').value=json;
 71.1000 +   }
 71.1001 +  
 71.1002 +  function lcm()
 71.1003 +   {
 71.1004 +        load(Ext.util.JSON.decode(document.forms[0].code.value),c)   
 71.1005 +       
 71.1006 +   }
 71.1007 +
 71.1008 +////////////////////////////////////////
 71.1009 +
 71.1010 +  
 71.1011 +  function onSelect() 
 71.1012 +   {
 71.1013 +    /*$('fillcolor').selectedIndex = getOptionByValue($('fillcolor'), c.queryCommand('fillcolor'));
 71.1014 +    $('fillcolor').style.backgroundColor = c.queryCommand('fillcolor');
 71.1015 +    $('linecolor').selectedIndex = getOptionByValue($('linecolor'), c.queryCommand('linecolor'));
 71.1016 +    $('linecolor').style.backgroundColor = c.queryCommand('linecolor');
 71.1017 +    $('linewidth').selectedIndex = getOptionByValue($('linewidth'), c.queryCommand('linewidth'));
 71.1018 +    */ 
 71.1019 +    hiddenAllMenus();
 71.1020 +    info_select();
 71.1021 +      
 71.1022 +    if (c.selected.tagName == 'rect'){
 71.1023 +        //setMode('rect', 'Rectangle')
 71.1024 +         info_rect();
 71.1025 +     } 
 71.1026 +    if (c.selected.tagName == 'image'){
 71.1027 +         info_image();
 71.1028 +     }
 71.1029 +    if (c.selected.tagName == 'text'){
 71.1030 +          info_text();
 71.1031 +     }
 71.1032 +    if (c.selected.tagName == 'line'){ 
 71.1033 +           //info_line();
 71.1034 +     }   
 71.1035 +    if (c.selected.tagName == 'ellipse'){
 71.1036 +           info_ellipse()
 71.1037 +     }
 71.1038 +    if (c.selected.tagName == 'path') { 
 71.1039 +       
 71.1040 +           info_path();
 71.1041 +     }  
 71.1042 +    if (c.selected.tagName == 'shape'){
 71.1043 +         var detail=c.selected.children[0].tagName;
 71.1044 +         $('someinfo').value=detail;
 71.1045 +         if(detail=='path'){ info_path(); }  
 71.1046 +          if(detail=='textpath'){ info_text(); }
 71.1047 +    } 
 71.1048 +    if (c.selected.tagName == 'oval') { 
 71.1049 +       
 71.1050 +           info_ellipse();
 71.1051 +     }  
 71.1052 + 
 71.1053 +      //frames['mondrianstyle'].setcolorhex(c.queryCommand('linecolor'),'stroke');
 71.1054 +      //frames['mondrianstyle'].setcolorhex(c.queryCommand('fillcolor'),'fill');       
 71.1055 +   }
 71.1056 +
 71.1057 +  function onUnselect() 
 71.1058 +   {  
 71.1059 +   
 71.1060 +   /*
 71.1061 +    $('fillcolor').selectedIndex = getOptionByValue($('fillcolor'), c.queryCommand('fillcolor'));
 71.1062 +    $('fillcolor').style.backgroundColor = c.queryCommand('fillcolor');
 71.1063 +    $('linecolor').selectedIndex = getOptionByValue($('linecolor'), c.queryCommand('linecolor'));
 71.1064 +    $('linecolor').style.backgroundColor = c.queryCommand('linecolor');
 71.1065 +    $('linewidth').selectedIndex = getOptionByValue($('linewidth'), c.queryCommand('linewidth'));
 71.1066 +    */ 
 71.1067 +    
 71.1068 +   } 
 71.1069 + 
 71.1070 + function editPath(myfield,e)
 71.1071 +   {  
 71.1072 +
 71.1073 +    var keycode;
 71.1074 +    
 71.1075 +    
 71.1076 +    // ++? if (window.event) keycode = window.event.e;
 71.1077 +     
 71.1078 +      e= (e) ? e : ((window.event) ? event : null);
 71.1079 +     keycode=e.keyCode;
 71.1080 +    var shs= myfield.id.split('_');
 71.1081 +    var sh=shs[1];  
 71.1082 +    
 71.1083 +    var mypath=$('control_codebase').value;    
 71.1084 +    
 71.1085 +    
 71.1086 +     var  x= $('option_path_x').value;
 71.1087 +      var y= $('option_path_y').value; 
 71.1088 +     var precoord=x+','+y; 
 71.1089 +
 71.1090 +    
 71.1091 +    var mypointNum=$('option_path_num').value;
 71.1092 +    var controlNodeNum=2;  
 71.1093 +    
 71.1094 +     if (keycode == 38)//#26
 71.1095 +     {  
 71.1096 +          myfield.value=eval(myfield.value)+1; 
 71.1097 +     }    
 71.1098 +    if (keycode == 40)// #28
 71.1099 +     {       
 71.1100 +        myfield.value=eval(myfield.value)-1;   
 71.1101 +     }    
 71.1102 +    if (keycode == 13  || keycode == 40   || keycode == 38)
 71.1103 +     {
 71.1104 +     var  cadx= $('option_path_x').value;
 71.1105 +     var cady= $('option_path_y').value; 
 71.1106 +     var coord=cadx+','+cady;
 71.1107 +                    
 71.1108 +      //$('code').value=coord;  
 71.1109 +      
 71.1110 +      var cad1=new RegExp(precoord,"g");
 71.1111 +      
 71.1112 +      
 71.1113 +      var result=mypath.replace(cad1, coord);
 71.1114 +      
 71.1115 +      $('control_codebase').value=' ';
 71.1116 +      $('control_codebase').value=result; 
 71.1117 +      
 71.1118 +      $('someinfo').value=precoord;
 71.1119 +      //alert(myfield.id);
 71.1120 +      setShape(); //c.renderer.tocurve();
 71.1121 +
 71.1122 +      return false;
 71.1123 +      
 71.1124 +     } 
 71.1125 +    else
 71.1126 +    return true;
 71.1127 +  }
 71.1128 +
 71.1129 +
 71.1130 +  function editPathXX(myfield,e)
 71.1131 +   {  
 71.1132 +
 71.1133 +    var keycode;
 71.1134 +    
 71.1135 +    
 71.1136 +    // ++? if (window.event) keycode = window.event.e;
 71.1137 +     
 71.1138 +      e= (e) ? e : ((window.event) ? event : null);
 71.1139 +     keycode=e.keyCode;
 71.1140 +    var shs= myfield.id.split('_');
 71.1141 +    var sh=shs[1];  
 71.1142 +    
 71.1143 +    var mypath=$('control_codebase').value;   
 71.1144 +    var mypointNum=$('option_path_num').value;
 71.1145 +    var controlNodeNum=2;  
 71.1146 +    
 71.1147 +     if (keycode == 38)//#26
 71.1148 +     {  
 71.1149 +          myfield.value=eval(myfield.value)+1; 
 71.1150 +     }    
 71.1151 +    if (keycode == 40)// #28
 71.1152 +     {       
 71.1153 +        myfield.value=eval(myfield.value)-1;   
 71.1154 +     }    
 71.1155 +  
 71.1156 +   
 71.1157 +     var points=mypath.split('C');
 71.1158 +     var chain='';
 71.1159 +     var segment=' ';  
 71.1160 +     prevControl=' ';
 71.1161 +     nextControl=' ';
 71.1162 +     nodePoint=' ';
 71.1163 +      var init=points[0].split('M'); 
 71.1164 +      var allcoords=init[1].split(' ');
 71.1165 +      var point=allcoords[0].split(',');
 71.1166 +      
 71.1167 +      if(mypointNum==0){
 71.1168 +      
 71.1169 +             point[1]= $('option_path_x').value;
 71.1170 +             point[2]= $('option_path_y').value;
 71.1171 +             var change=point.join(',')
 71.1172 +        
 71.1173 +        chain+='M' + change+' ';
 71.1174 +         }else{  
 71.1175 +           chain+='M'+points[0]+' '; 
 71.1176 +         }  
 71.1177 +      
 71.1178 +     var numpoints=points.length-1;
 71.1179 +     if(numpoints>1){
 71.1180 +     for(var a=1;a<=numpoints;a++)
 71.1181 +      { 
 71.1182 +        
 71.1183 +         if(a==mypointNum){
 71.1184 +          
 71.1185 +        segment=points[a].split(' ');
 71.1186 +         prevControl=segment[0]+' '; 
 71.1187 +         nextControl=segment[1]+' '; 
 71.1188 +         nodePoint=segment[2]+' '; 
 71.1189 +         
 71.1190 +           
 71.1191 +         /*if(controlNodeNum==0){chain+=prevControl; var point=prevControl.split(',');}  
 71.1192 +         if(controlNodeNum==1){chain+=nextControl; var point=nextControl.split(',');}  
 71.1193 +         if(controlNodeNum==2){chain+=nodePoint; var point=nodePoint.split(',');}  
 71.1194 +         */ 
 71.1195 +         
 71.1196 +        var point=nodePoint.split(',');
 71.1197 +             point[1]= $('option_path_x').value;
 71.1198 +             point[2]= $('option_path_y').value;
 71.1199 +             var change=point.join(',')
 71.1200 +        
 71.1201 +        chain+='C'+prevControl+ nextControl + change+' ';
 71.1202 +         }else{  
 71.1203 +           chain+='C'+points[a]; 
 71.1204 +         }           
 71.1205 +         
 71.1206 +      }
 71.1207 +      
 71.1208 +     }else{                      
 71.1209 +       chain+='C'+points[1]; 
 71.1210 +     
 71.1211 +     }                      
 71.1212 +      //$('someinfo').value= chain;
 71.1213 +       $('control_codebase').value=chain;
 71.1214 +      
 71.1215 +
 71.1216 +       
 71.1217 +    
 71.1218 +    
 71.1219 +    if (keycode == 13  || keycode == 40   || keycode == 38)
 71.1220 +     { 
 71.1221 +      //alert(myfield.id);
 71.1222 +       c.renderer.tocurve();
 71.1223 +
 71.1224 +      return false;
 71.1225 +      
 71.1226 +     } 
 71.1227 +    else
 71.1228 +    return true;
 71.1229 +  }
 71.1230 +
 71.1231 +
 71.1232 +  
 71.1233 +  function edit(myfield,e)
 71.1234 +   { 
 71.1235 +   
 71.1236 +    var keycode;
 71.1237 +    
 71.1238 +    
 71.1239 +    // ++? if (window.event) keycode = window.event.e;
 71.1240 +    //else if (e) keycode = e.which;
 71.1241 +     
 71.1242 +      e= (e) ? e : ((window.event) ? event : null);
 71.1243 +     keycode=e.keyCode;
 71.1244 +   //var keycode = e.which?e.which:e.keycode 
 71.1245 +    
 71.1246 +    //document.layers ? e.which :
 71.1247 +    //document.all ? e.keyCode :
 71.1248 +    //document.getElementById ? e.keyCode : 0;
 71.1249 +    //else return true;               
 71.1250 +    var keyChar = String.fromCharCode(keycode);
 71.1251 +    //var numCheck = /\d/;
 71.1252 +     //if (((keyChar=='.')&&(obj.value.indexOf('.')==-1))¦¦(keycode<32)¦¦numCheck.test(keyChar)¦¦((keycode>=37)&&(keycode<=40)&&(!e.modifiers&&!e.shiftKey))) { 
 71.1253 +    
 71.1254 +    //alert(keycode+' _ '+keyChar); 
 71.1255 +    var shs= myfield.id.split('_');
 71.1256 +    var sh=shs[1];
 71.1257 +  if(myfield.id.indexOf('control_codebase')<=0) 
 71.1258 +  {
 71.1259 +     if (keycode == 38)//#26
 71.1260 +     {  
 71.1261 +       
 71.1262 +       if(eval(myfield.value)>0) 
 71.1263 +        {   
 71.1264 +          myfield.value=eval(myfield.value)+1; 
 71.1265 +          //alert(myfield.value);
 71.1266 +        }  
 71.1267 +       //return false;
 71.1268 +       //alert('keycode')         
 71.1269 +       
 71.1270 +     }    
 71.1271 +    if (keycode == 40)// #28
 71.1272 +     {       
 71.1273 +        myfield.value=eval(myfield.value)-1;   
 71.1274 +        if(myfield.id=='option_path_sclx'  || myfield.id=='option_path_scly')
 71.1275 +         {
 71.1276 +           if( eval(myfield.value)<=0  )
 71.1277 +            {
 71.1278 +              myfield.value=1;
 71.1279 +            }
 71.1280 +         }  
 71.1281 +         
 71.1282 +        if(myfield.id=='option_text_size')
 71.1283 +         {
 71.1284 +           if( eval(myfield.value)<=0  )
 71.1285 +            {
 71.1286 +              myfield.value=1;
 71.1287 +            }
 71.1288 +         }
 71.1289 +     }    
 71.1290 +       
 71.1291 +  }  
 71.1292 +    
 71.1293 +    if (keycode == 13  || keycode == 40   || keycode == 38)
 71.1294 +     { 
 71.1295 +      var check=0;
 71.1296 +      if(myfield.id=='control_codebase') 
 71.1297 +       { 
 71.1298 +         //alert(myfield.id)
 71.1299 +         //c.submitShape($('control_codebase').value+'');
 71.1300 +         check=1;
 71.1301 +         setShape();
 71.1302 +       }  
 71.1303 +
 71.1304 +      if(myfield.id.indexOf('href')>0) 
 71.1305 +       {
 71.1306 +         c.submitShape(myfield.value)
 71.1307 +       }
 71.1308 +         
 71.1309 +      if(myfield.id.indexOf('tr')>0 || myfield.id.indexOf('scl')>0)
 71.1310 +       {
 71.1311 +             if(check==0)
 71.1312 +              {
 71.1313 +                 c.submitShape($('option_'+sh+'_trx').value+';'+$('option_'+sh+'_try').value+';'+$('option_'+sh+'_sclx').value+';'+$('option_'+sh+'_scly').value+';'+$('option_'+sh+'_rot').value)
 71.1314 +               }  
 71.1315 +       } 
 71.1316 +       
 71.1317 +      if(myfield.id.indexOf('rot')>0) 
 71.1318 +       {
 71.1319 +         c.submitShape($('option_'+sh+'_trx').value+';'+$('option_'+sh+'_try').value+';'+$('option_'+sh+'_sclx').value+';'+$('option_'+sh+'_scly').value+';'+$('option_'+sh+'_rot').value)
 71.1320 +       }  
 71.1321 +       
 71.1322 +      if(myfield.id.indexOf('text')>0) 
 71.1323 +       {
 71.1324 +         c.submitShape($('option_text_message').value+'<;>'+$('option_text_size').value+'<;>'+$('option_text_family').value);
 71.1325 +       }  
 71.1326 +      //alert(myfield.id);
 71.1327 +      return false;
 71.1328 +      
 71.1329 +     } 
 71.1330 +    else
 71.1331 +    return true;
 71.1332 +  }
 71.1333 +
 71.1334 +
 71.1335 + 
 71.1336 +
 71.1337 +function env(myfield,delta)
 71.1338 + {
 71.1339 +  
 71.1340 +    //alert(keycode+' _ '+keyChar); 
 71.1341 +    
 71.1342 +     if (delta >0)//#26
 71.1343 +     {     
 71.1344 +       myfield.value=eval(myfield.value)+1; 
 71.1345 +       //return false;
 71.1346 +       //alert('keycode')
 71.1347 +     }    
 71.1348 +      else
 71.1349 +           {     
 71.1350 +       myfield.value=eval(myfield.value)-1;
 71.1351 +       //return false;
 71.1352 +     }
 71.1353 +    
 71.1354 +    
 71.1355 +      if(myfield.id=='option_image_href') 
 71.1356 +       {
 71.1357 +         c.submitShape(myfield.value)
 71.1358 +       }  
 71.1359 +       if(myfield.id=='option_select_trx' || myfield.id=='option_select_try' || myfield.id=='option_select_sclx'  || myfield.id=='option_select_scly') 
 71.1360 +       {
 71.1361 +         c.submitShape($('option_select_trx').value+';'+$('option_select_try').value+';'+$('option_select_sclx').value+';'+$('option_select_scly').value+';'+$('option_select_rot').value)
 71.1362 +       }
 71.1363 +       if(myfield.id=='option_select_rot') 
 71.1364 +       {
 71.1365 +         c.submitShape($('option_select_trx').value+';'+$('option_select_try').value+';'+$('option_select_sclx').value+';'+$('option_select_scly').value+';'+$('option_select_rot').value)
 71.1366 +       }  
 71.1367 + 
 71.1368 +    }  
 71.1369 +
 71.1370 +
 71.1371 +   function clockdata(){
 71.1372 +  //////////////
 71.1373 +  //++
 71.1374 +        
 71.1375 +   data_path_close = $('option_path_close').checked;
 71.1376 +   data_text_family = $('option_text_family').value; 
 71.1377 +   data_text_size = parseFloat($('option_text_size').value);
 71.1378 +   data_text_messaje = $('option_text_message').value;  
 71.1379 +   data_image_href = $('option_image_href').value;
 71.1380 + 
 71.1381 +  ////////////          
 71.1382 +  }
 71.1383 +
 71.1384 + function myWorkSize() {
 71.1385 +  var myWidth = 0, myHeight = 0;
 71.1386 +  if( typeof( window.innerWidth ) == 'number' ) {
 71.1387 +    //Non-IE
 71.1388 +    myWidth = window.innerWidth;
 71.1389 +    myHeight = window.innerHeight;
 71.1390 +  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
 71.1391 +    //IE 6+ in 'standards compliant mode'
 71.1392 +    myWidth = document.documentElement.clientWidth;
 71.1393 +    myHeight = document.documentElement.clientHeight;
 71.1394 +  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
 71.1395 +    //IE 4 compatible
 71.1396 +    myWidth = document.body.clientWidth;
 71.1397 +    myHeight = document.body.clientHeight;
 71.1398 +  }
 71.1399 +  return [ myWidth, myHeight] ;
 71.1400 +} 
 71.1401 + 
 71.1402 +function doResize(){  
 71.1403 +     //deleteAllShapes(); 
 71.1404 + vertexFrames();
 71.1405 + resizeFrame();  
 71.1406 +    //c.renderer.zoomFrame(zoominit); 
 71.1407 + //c.renderer.view(canvasX,canvasY,canvasW,canvasH,zoominit)
 71.1408 + //c.renderer.view(docx,docy,docw,doch,zoominit1)  
 71.1409 +    // delete rectCanvas 
 71.1410 + //   var vB=zoomx+' '+zoomy+' '+zoomw+' '+zoomh;
 71.1411 +    
 71.1412 +     //c.renderer.rectCanvas(docx,docy,docw,doch,vB);
 71.1413 +}
 71.1414 +
 71.1415 +function vertexFrames(){
 71.1416 +
 71.1417 +  var screenSize=myWorkSize();
 71.1418 +   scrW = screenSize[0];//screen.availWidth;
 71.1419 +   scrH = screenSize[1];//screen.availHeight; 
 71.1420 +  
 71.1421 +   wndW=scrW;//window.width;
 71.1422 +   wndH=scrH;//window.height;
 71.1423 +  
 71.1424 +  
 71.1425 +  if (scrW != wndW || scrH != wndH) {
 71.1426 +      //window.resizeTo(scrW, scrH);
 71.1427 +      //window.moveTo(0, 0);
 71.1428 +  }
 71.1429 +  //var wProportion={x:35, y:24}
 71.1430 +  
 71.1431 +   vertexNORTHmenu={ NORTHmenu1:[0,0],NORTHmenu2:[scrW,0],NORTHmenu3:[0,wProportion.y],NORTHmenu4:[scrW,wProportion.y] };
 71.1432 +   vertexNORTHglobals={ NORTHglobals1:[0,wProportion.y],NORTHglobals2:[scrW,wProportion.y],NORTHglobals3:[0,wProportion.y*2],NORTHglobals4:[scrW,wProportion.y*2] };
 71.1433 +   vertexNORTHoptions={ NORTHoptions1:[0,wProportion.y*2],NORTHoptions2:[scrW,wProportion.y*2],NORTHoptions3:[0,wProportion.y*3],NORTHoptions4:[scrW,wProportion.y*3] };    
 71.1434 +   vertexSUD={ SUD1:[0,wndH-wProportion.y*3], SUD2:[scrW,(wndH-wProportion.y*3)], SUD3:[0,wndH], SUD4:[scrW,wndH]};
 71.1435 +   vertexEST={ EST1:[0,wProportion.y*3], EST2:[wProportion.x,wProportion.y*3], EST3:[0,(wndH-wProportion.y*3)], EST4:[wProportion.x,(wndH-wProportion.y*3)] };
 71.1436 +   vertexWEST={ WEST1:[(scrW-wProportion.x*3),wProportion.y*3], WEST2:[scrW,wProportion.y*3], WEST3:[(scrW-wProportion.x*3),(wndH-wProportion.y*3)], WEST4:[scrW,(wndH-wProportion.y*3)] };
 71.1437 +   vertexFRONT={ FRONT1:[vertexEST.EST2[0],vertexEST.EST2[1]], FRONT2:[vertexWEST.WEST1[0],vertexWEST.WEST1[1]], FRONT3:[vertexEST.EST4[0],vertexEST.EST4[1]], FRONT4:[vertexWEST.WEST3[0],vertexWEST.WEST3[1]] };
 71.1438 + 
 71.1439 +   NORTHmenusize=[vertexNORTHmenu.NORTHmenu4[0]-vertexNORTHmenu.NORTHmenu1[0],vertexNORTHmenu.NORTHmenu4[1]-vertexNORTHmenu.NORTHmenu1[1]];
 71.1440 +   NORTHglobalssize=[vertexNORTHglobals.NORTHglobals4[0]-vertexNORTHglobals.NORTHglobals1[0],vertexNORTHglobals.NORTHglobals4[1]-vertexNORTHglobals.NORTHglobals1[1]];
 71.1441 +   NORTHoptionssize=[vertexNORTHoptions.NORTHoptions4[0]-vertexNORTHoptions.NORTHoptions1[0],vertexNORTHoptions.NORTHoptions4[1]-vertexNORTHoptions.NORTHoptions1[1]];  
 71.1442 +   SUDsize=[vertexSUD.SUD4[0]-vertexSUD.SUD1[0],vertexSUD.SUD4[1]-vertexSUD.SUD1[1]]; 
 71.1443 +   ESTsize=[vertexEST.EST4[0]-vertexEST.EST1[0],vertexEST.EST4[1]-vertexEST.EST1[1]]; 
 71.1444 +   WESTsize=[vertexWEST.WEST4[0]-vertexWEST.WEST1[0],vertexWEST.WEST4[1]-vertexWEST.WEST1[1]]; 
 71.1445 +   FRONTsize=[vertexFRONT.FRONT4[0]-vertexFRONT.FRONT1[0],vertexFRONT.FRONT4[1]-vertexFRONT.FRONT1[1]]; 
 71.1446 +   
 71.1447 +
 71.1448 +   
 71.1449 +   //percent of FRONTsize
 71.1450 +   proporDoc= FRONTsize[0]/FRONTsize[1];
 71.1451 +   canvasYpercent=100;
 71.1452 +   canvasXpercent=100;
 71.1453 +   canvasWidth=Math.round(FRONTsize[0]*canvasXpercent/100);//FRONTsize[0];  
 71.1454 +   canvasW=canvasWidth;  
 71.1455 +   canvasHeight=Math.round(canvasYpercent*FRONTsize[1]/100);//FRONTsize[1];  
 71.1456 +   canvasH=canvasHeight;
 71.1457 +   canvasX=Math.round((FRONTsize[0]-canvasW)/2); 
 71.1458 +   canvasY=Math.round((FRONTsize[1]-canvasH)/2);
 71.1459 +
 71.1460 +
 71.1461 +   //vertexFRONTcanvas={ FRONT1:[vertexEST.EST2[0],vertexEST.EST2[1]], FRONT2:[vertexWEST.WEST1[0],vertexWEST.WEST1[1]], FRONT3:[vertexEST.EST4[0],vertexEST.EST4[1]], FRONT4:[vertexWEST.WEST3[0],vertexWEST.WEST3[1]] };
 71.1462 +   //FRONTcanvassize=[vertexFRONT.FRONT4[0]-vertexFRONT.FRONT1[0],vertexFRONT.FRONT4[1]-vertexFRONT.FRONT1[1]]; 
 71.1463 +
 71.1464 +   
 71.1465 +   //centerZoomx=Math.round(canvasWidth/2);
 71.1466 +   //centerZoomy=Math.round(canvasHeight/2);  
 71.1467 +    if(canvasH==0){ canvasH=0.00000001; }
 71.1468 +    proporCanvas= canvasW/canvasH ;    
 71.1469 +   //zoominit='0 0 '+zoomw+' '+zoomh;// 
 71.1470 +   
 71.1471 +   makeWorkSite(canvasH,(-canvasW/2)+(docw/2),(-canvasH/2)+(doch/2));
 71.1472 +   diagonalinit=diagonalFrame;
 71.1473 +   proporDiagonal=diagonalFrame/diagonalinit;  
 71.1474 +   zoominit=(zoomx)+' '+(zoomy)+' '+zoomw+' '+zoomh;  
 71.1475 +   //$('someinfo').value= zoominit;
 71.1476 +   //document.forms[0].someinfo.value= zoominit; 
 71.1477 +   //document.getElementById("someinfo").value = zoominit
 71.1478 +   //Ext.get('richdraw').dom.style.scrollTop = ('40%');
 71.1479 +   //alert(zoominit);
 71.1480 +}
 71.1481 +
 71.1482 +function resizeFrame(){
 71.1483 +  
 71.1484 +  Ext.get('NORTHmenu').dom.style.backgroundColor = (colorpage1a);   
 71.1485 +  Ext.get('NORTHglobals').dom.style.backgroundColor = (colorpage1b);   
 71.1486 +  Ext.get('NORTHoptions').dom.style.backgroundColor = (colorpage1c);   
 71.1487 +
 71.1488 +  Ext.get('SUD').dom.style.backgroundColor = (colorpage2); 
 71.1489 +  Ext.get('EST').dom.style.backgroundColor = (colorpage3); 
 71.1490 +  Ext.get('WEST').dom.style.backgroundColor = (colorpage4);   
 71.1491 +  
 71.1492 +  Ext.get('linksPaths').dom.style.backgroundColor = (colorpage); // bad
 71.1493 +  
 71.1494 +
 71.1495 +  Ext.get('NORTHmenu').dom.style.left =(vertexNORTHmenu.NORTHmenu1[0]+'px'); Ext.get('NORTHmenu').dom.style.top =(vertexNORTHmenu.NORTHmenu1[1]+'px');Ext.get('NORTHmenu').dom.style.width =(NORTHmenusize[0]+'px'); Ext.get('NORTHmenu').dom.style.height = (NORTHmenusize[1]+'px');
 71.1496 +  Ext.get('NORTHglobals').dom.style.left =(vertexNORTHglobals.NORTHglobals1[0]+'px'); Ext.get('NORTHglobals').dom.style.top =(vertexNORTHglobals.NORTHglobals1[1]+'px');Ext.get('NORTHglobals').dom.style.width =(NORTHglobalssize[0]+'px'); Ext.get('NORTHglobals').dom.style.height =(NORTHglobalssize[1]+'px');
 71.1497 +  Ext.get('NORTHoptions').dom.style.left =(vertexNORTHoptions.NORTHoptions1[0]+'px'); Ext.get('NORTHoptions').dom.style.top =(vertexNORTHoptions.NORTHoptions1[1]+'px');Ext.get('NORTHoptions').dom.style.width =(NORTHoptionssize[0]+'px'); Ext.get('NORTHoptions').dom.style.height =(NORTHoptionssize[1]+'px');
 71.1498 +  Ext.get('SUD').dom.style.left =(vertexSUD.SUD1[0]+'px'); Ext.get('SUD').dom.style.top =(vertexSUD.SUD1[1]+'px');Ext.get('SUD').dom.style.width=(SUDsize[0]+'px'); Ext.get('SUD').dom.style.height =(SUDsize[1]+'px');
 71.1499 +  Ext.get('EST').dom.style.left =(vertexEST.EST1[0]+'px'); Ext.get('EST').dom.style.top =(vertexEST.EST1[1]+'px');Ext.get('EST').dom.style.width=(ESTsize[0]+'px'); Ext.get('EST').dom.style.height =((ESTsize[1]+'px'));
 71.1500 +  Ext.get('WEST').dom.style.left =(vertexWEST.WEST1[0]+'px'); Ext.get('WEST').dom.style.top =(vertexWEST.WEST1[1]+'px');Ext.get('WEST').dom.style.width=(WESTsize[0]+'px'); Ext.get('WEST').dom.style.height =((WESTsize[1]+'px'));
 71.1501 +  Ext.get('FRONT').dom.style.left =(vertexFRONT.FRONT1[0]+'px'); Ext.get('FRONT').dom.style.top =(vertexFRONT.FRONT1[1]+'px');Ext.get('FRONT').dom.style.width=(FRONTsize[0]+'px'); Ext.get('FRONT').dom.style.height =(FRONTsize[1]+'px');
 71.1502 +  
 71.1503 +  Ext.get('richdraw').dom.style.left =(canvasX+'px'); Ext.get('richdraw').dom.style.top =(canvasY+'px');Ext.get('richdraw').dom.style.width=(canvasW+'px'); Ext.get('richdraw').dom.style.height =(canvasH+'px');
 71.1504 + 
 71.1505 +}
 71.1506 +
 71.1507 +function documentProperties(){   
 71.1508 +    document.forms[0].xDocument.value=docx;
 71.1509 +    document.forms[0].yDocument.value=docy;
 71.1510 +
 71.1511 +    document.forms[0].widthDocument.value=docw;
 71.1512 +    document.forms[0].heightDocument.value=doch; 
 71.1513 +    showdocFrame('Document properties')
 71.1514 +    //docFrame.setTitle('Document properties');
 71.1515 +    //docFrame.show();
 71.1516 +
 71.1517 +}
 71.1518 +function changeDocumentProperties(){ 
 71.1519 +
 71.1520 +    //percent of FRONTsize
 71.1521 +   proporSpace= FRONTsize[0]/FRONTsize[1];
 71.1522 +   //PERCENT 
 71.1523 +   
 71.1524 +   //canvasYpercent=95;
 71.1525 +   //canvasXpercent=97;
 71.1526 +   /*
 71.1527 +   canvasWidth=Math.round(FRONTsize[0]*canvasXpercent/100);//FRONTsize[0];  
 71.1528 +   canvasW=canvasWidth;  
 71.1529 +   canvasHeight=Math.round(canvasYpercent*FRONTsize[1]/100);//FRONTsize[1];  
 71.1530 +   canvasH=canvasHeight;
 71.1531 +   */ 
 71.1532 +   docx=eval(document.forms[0].xDocument.value);
 71.1533 +   docy=eval(document.forms[0].yDocument.value); 
 71.1534 +
 71.1535 +   docw=eval(document.forms[0].widthDocument.value);
 71.1536 +   doch=eval(document.forms[0].heightDocument.value); 
 71.1537 +   zoominit1= docx+' '+docy+' '+docw+' '+doch;
 71.1538 +   c.renderer.view(docx,docy,docw,doch,zoominit1);
 71.1539 +    borderDoc();
 71.1540 +  
 71.1541 +   //doResize();
 71.1542 +   //canvasX=Math.round((FRONTsize[0]-canvasW)/2); 
 71.1543 +   //canvasY=Math.round((FRONTsize[1]-canvasH)/2);
 71.1544 +
 71.1545 + 
 71.1546 +  //Ext.get('richdraw').dom.style.left =(canvasX+'px'); Ext.get('richdraw').dom.style.top =(canvasY+'px');Ext.get('richdraw').dom.style.width=(canvasW+'px'); Ext.get('richdraw').dom.style.height =(canvasH+'px');
 71.1547 +
 71.1548 +}                 
 71.1549 +function makeWorkSite(width,left,top) {
 71.1550 +    fieldViewx=Math.round(width*proporCanvas)*1; 
 71.1551 +    fieldViewy=width*1;  
 71.1552 +    diagonalFrame=dist2p(0,0,fieldViewx*1,fieldViewy*1);
 71.1553 +    diagonalAngle=getAngle(fieldViewx,fieldViewy);                                  
 71.1554 +    diagonalMidx=fieldViewx/2; 
 71.1555 +    diagonalMidy=fieldViewy/2;   
 71.1556 +    centerZoomx=diagonalMidx;
 71.1557 +    centerZoomy=diagonalMidy;   
 71.1558 +       
 71.1559 +    //alert(diagonalinit+' '+diagonalFrame+'    '+proporDiagonal);
 71.1560 +    //alert(canvasW+''+canvasW+' propor:'+proporCanvas+' Docy:'+docy+' fieldView:'+fieldViewx+' '+fieldViewy);
 71.1561 +    zoomx=(diagonalMidx+(diagonalFrame/2)*Math.cos(diagonalAngle+Math.PI))+left;//-(fieldViewx/8);//-(canvasW/2)docx-fieldViewx;
 71.1562 +    zoomy=(diagonalMidy+(diagonalFrame/2)*Math.sin(diagonalAngle+Math.PI))+top;//-(fieldViewy/8);//-(canvasH/2);//docy-fieldViewy;
 71.1563 +    zoomw=diagonalMidx+(diagonalFrame/2)*Math.cos(diagonalAngle);//fieldViewx*1.25;//docw+fieldViewx*2;
 71.1564 +    zoomh=diagonalMidy+(diagonalFrame/2)*Math.sin(diagonalAngle);//fieldViewy*1.25;//doch+fieldViewy*2;    
 71.1565 +}
 71.1566 +function RichDrawViewer(elem, renderer) {
 71.1567 +this.container = elem;
 71.1568 +this.renderer = renderer;
 71.1569 +this.renderer.init(this.container);
 71.1570 +this.renderer.editor = this;
 71.1571 +}          
 71.1572 +/*
 71.1573 +onResize : function(){
 71.1574 +	        Ext.TabPanel.superclass.onResize.apply(this, arguments);
 71.1575 + 	        this.delegateUpdates();
 71.1576 + 	    },
 71.1577 + 	 */   
 71.1578 \ No newline at end of file
    72.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    72.2 +++ b/onlypaths/js/ext/ext-all-debug.js	Sun Jan 31 12:33:33 2010 -0500
    72.3 @@ -0,0 +1,34343 @@
    72.4 +/*
    72.5 + * Ext JS Library 2.1
    72.6 + * Copyright(c) 2006-2008, Ext JS, LLC.
    72.7 + * licensing@extjs.com
    72.8 + * 
    72.9 + * http://extjs.com/license
   72.10 + */
   72.11 +
   72.12 +
   72.13 +Ext.DomHelper = function(){
   72.14 +    var tempTableEl = null;
   72.15 +    var emptyTags = /^(?:br|frame|hr|img|input|link|meta|range|spacer|wbr|area|param|col)$/i;
   72.16 +    var tableRe = /^table|tbody|tr|td$/i;
   72.17 +
   72.18 +        var createHtml = function(o){
   72.19 +        if(typeof o == 'string'){
   72.20 +            return o;
   72.21 +        }
   72.22 +        var b = "";
   72.23 +        if (Ext.isArray(o)) {
   72.24 +            for (var i = 0, l = o.length; i < l; i++) {
   72.25 +                b += createHtml(o[i]);
   72.26 +            }
   72.27 +            return b;
   72.28 +        }
   72.29 +        if(!o.tag){
   72.30 +            o.tag = "div";
   72.31 +        }
   72.32 +        b += "<" + o.tag;
   72.33 +        for(var attr in o){
   72.34 +            if(attr == "tag" || attr == "children" || attr == "cn" || attr == "html" || typeof o[attr] == "function") continue;
   72.35 +            if(attr == "style"){
   72.36 +                var s = o["style"];
   72.37 +                if(typeof s == "function"){
   72.38 +                    s = s.call();
   72.39 +                }
   72.40 +                if(typeof s == "string"){
   72.41 +                    b += ' style="' + s + '"';
   72.42 +                }else if(typeof s == "object"){
   72.43 +                    b += ' style="';
   72.44 +                    for(var key in s){
   72.45 +                        if(typeof s[key] != "function"){
   72.46 +                            b += key + ":" + s[key] + ";";
   72.47 +                        }
   72.48 +                    }
   72.49 +                    b += '"';
   72.50 +                }
   72.51 +            }else{
   72.52 +                if(attr == "cls"){
   72.53 +                    b += ' class="' + o["cls"] + '"';
   72.54 +                }else if(attr == "htmlFor"){
   72.55 +                    b += ' for="' + o["htmlFor"] + '"';
   72.56 +                }else{
   72.57 +                    b += " " + attr + '="' + o[attr] + '"';
   72.58 +                }
   72.59 +            }
   72.60 +        }
   72.61 +        if(emptyTags.test(o.tag)){
   72.62 +            b += "/>";
   72.63 +        }else{
   72.64 +            b += ">";
   72.65 +            var cn = o.children || o.cn;
   72.66 +            if(cn){
   72.67 +                b += createHtml(cn);
   72.68 +            } else if(o.html){
   72.69 +                b += o.html;
   72.70 +            }
   72.71 +            b += "</" + o.tag + ">";
   72.72 +        }
   72.73 +        return b;
   72.74 +    };
   72.75 +
   72.76 +        
   72.77 +    var createDom = function(o, parentNode){
   72.78 +        var el;
   72.79 +        if (Ext.isArray(o)) {                                   el = document.createDocumentFragment();             for(var i = 0, l = o.length; i < l; i++) {
   72.80 +                createDom(o[i], el);
   72.81 +            }
   72.82 +        } else if (typeof o == "string") {                     el = document.createTextNode(o);
   72.83 +        } else {
   72.84 +            el = document.createElement(o.tag||'div');
   72.85 +            var useSet = !!el.setAttribute;             for(var attr in o){
   72.86 +                if(attr == "tag" || attr == "children" || attr == "cn" || attr == "html" || attr == "style" || typeof o[attr] == "function") continue;
   72.87 +                if(attr=="cls"){
   72.88 +                    el.className = o["cls"];
   72.89 +                }else{
   72.90 +                    if(useSet) el.setAttribute(attr, o[attr]);
   72.91 +                    else el[attr] = o[attr];
   72.92 +                }
   72.93 +            }
   72.94 +            Ext.DomHelper.applyStyles(el, o.style);
   72.95 +            var cn = o.children || o.cn;
   72.96 +            if(cn){
   72.97 +                createDom(cn, el);
   72.98 +            } else if(o.html){
   72.99 +                el.innerHTML = o.html;
  72.100 +            }
  72.101 +        }
  72.102 +        if(parentNode){
  72.103 +           parentNode.appendChild(el);
  72.104 +        }
  72.105 +        return el;
  72.106 +    };
  72.107 +
  72.108 +    var ieTable = function(depth, s, h, e){
  72.109 +        tempTableEl.innerHTML = [s, h, e].join('');
  72.110 +        var i = -1, el = tempTableEl;
  72.111 +        while(++i < depth){
  72.112 +            el = el.firstChild;
  72.113 +        }
  72.114 +        return el;
  72.115 +    };
  72.116 +
  72.117 +        var ts = '<table>',
  72.118 +        te = '</table>',
  72.119 +        tbs = ts+'<tbody>',
  72.120 +        tbe = '</tbody>'+te,
  72.121 +        trs = tbs + '<tr>',
  72.122 +        tre = '</tr>'+tbe;
  72.123 +
  72.124 +    
  72.125 +    var insertIntoTable = function(tag, where, el, html){
  72.126 +        if(!tempTableEl){
  72.127 +            tempTableEl = document.createElement('div');
  72.128 +        }
  72.129 +        var node;
  72.130 +        var before = null;
  72.131 +        if(tag == 'td'){
  72.132 +            if(where == 'afterbegin' || where == 'beforeend'){                 return;
  72.133 +            }
  72.134 +            if(where == 'beforebegin'){
  72.135 +                before = el;
  72.136 +                el = el.parentNode;
  72.137 +            } else{
  72.138 +                before = el.nextSibling;
  72.139 +                el = el.parentNode;
  72.140 +            }
  72.141 +            node = ieTable(4, trs, html, tre);
  72.142 +        }
  72.143 +        else if(tag == 'tr'){
  72.144 +            if(where == 'beforebegin'){
  72.145 +                before = el;
  72.146 +                el = el.parentNode;
  72.147 +                node = ieTable(3, tbs, html, tbe);
  72.148 +            } else if(where == 'afterend'){
  72.149 +                before = el.nextSibling;
  72.150 +                el = el.parentNode;
  72.151 +                node = ieTable(3, tbs, html, tbe);
  72.152 +            } else{                 if(where == 'afterbegin'){
  72.153 +                    before = el.firstChild;
  72.154 +                }
  72.155 +                node = ieTable(4, trs, html, tre);
  72.156 +            }
  72.157 +        } else if(tag == 'tbody'){
  72.158 +            if(where == 'beforebegin'){
  72.159 +                before = el;
  72.160 +                el = el.parentNode;
  72.161 +                node = ieTable(2, ts, html, te);
  72.162 +            } else if(where == 'afterend'){
  72.163 +                before = el.nextSibling;
  72.164 +                el = el.parentNode;
  72.165 +                node = ieTable(2, ts, html, te);
  72.166 +            } else{
  72.167 +                if(where == 'afterbegin'){
  72.168 +                    before = el.firstChild;
  72.169 +                }
  72.170 +                node = ieTable(3, tbs, html, tbe);
  72.171 +            }
  72.172 +        } else{             if(where == 'beforebegin' || where == 'afterend'){                 return;
  72.173 +            }
  72.174 +            if(where == 'afterbegin'){
  72.175 +                before = el.firstChild;
  72.176 +            }
  72.177 +            node = ieTable(2, ts, html, te);
  72.178 +        }
  72.179 +        el.insertBefore(node, before);
  72.180 +        return node;
  72.181 +    };
  72.182 +
  72.183 +
  72.184 +    return {
  72.185 +    
  72.186 +    useDom : false,
  72.187 +
  72.188 +    
  72.189 +    markup : function(o){
  72.190 +        return createHtml(o);
  72.191 +    },
  72.192 +
  72.193 +    
  72.194 +    applyStyles : function(el, styles){
  72.195 +        if(styles){
  72.196 +           el = Ext.fly(el);
  72.197 +           if(typeof styles == "string"){
  72.198 +               var re = /\s?([a-z\-]*)\:\s?([^;]*);?/gi;
  72.199 +               var matches;
  72.200 +               while ((matches = re.exec(styles)) != null){
  72.201 +                   el.setStyle(matches[1], matches[2]);
  72.202 +               }
  72.203 +           }else if (typeof styles == "object"){
  72.204 +               for (var style in styles){
  72.205 +                  el.setStyle(style, styles[style]);
  72.206 +               }
  72.207 +           }else if (typeof styles == "function"){
  72.208 +                Ext.DomHelper.applyStyles(el, styles.call());
  72.209 +           }
  72.210 +        }
  72.211 +    },
  72.212 +
  72.213 +    
  72.214 +    insertHtml : function(where, el, html){
  72.215 +        where = where.toLowerCase();
  72.216 +        if(el.insertAdjacentHTML){
  72.217 +            if(tableRe.test(el.tagName)){
  72.218 +                var rs;
  72.219 +                if(rs = insertIntoTable(el.tagName.toLowerCase(), where, el, html)){
  72.220 +                    return rs;
  72.221 +                }
  72.222 +            }
  72.223 +            switch(where){
  72.224 +                case "beforebegin":
  72.225 +                    el.insertAdjacentHTML('BeforeBegin', html);
  72.226 +                    return el.previousSibling;
  72.227 +                case "afterbegin":
  72.228 +                    el.insertAdjacentHTML('AfterBegin', html);
  72.229 +                    return el.firstChild;
  72.230 +                case "beforeend":
  72.231 +                    el.insertAdjacentHTML('BeforeEnd', html);
  72.232 +                    return el.lastChild;
  72.233 +                case "afterend":
  72.234 +                    el.insertAdjacentHTML('AfterEnd', html);
  72.235 +                    return el.nextSibling;
  72.236 +            }
  72.237 +            throw 'Illegal insertion point -> "' + where + '"';
  72.238 +        }
  72.239 +        var range = el.ownerDocument.createRange();
  72.240 +        var frag;
  72.241 +        switch(where){
  72.242 +             case "beforebegin":
  72.243 +                range.setStartBefore(el);
  72.244 +                frag = range.createContextualFragment(html);
  72.245 +                el.parentNode.insertBefore(frag, el);
  72.246 +                return el.previousSibling;
  72.247 +             case "afterbegin":
  72.248 +                if(el.firstChild){
  72.249 +                    range.setStartBefore(el.firstChild);
  72.250 +                    frag = range.createContextualFragment(html);
  72.251 +                    el.insertBefore(frag, el.firstChild);
  72.252 +                    return el.firstChild;
  72.253 +                }else{
  72.254 +                    el.innerHTML = html;
  72.255 +                    return el.firstChild;
  72.256 +                }
  72.257 +            case "beforeend":
  72.258 +                if(el.lastChild){
  72.259 +                    range.setStartAfter(el.lastChild);
  72.260 +                    frag = range.createContextualFragment(html);
  72.261 +                    el.appendChild(frag);
  72.262 +                    return el.lastChild;
  72.263 +                }else{
  72.264 +                    el.innerHTML = html;
  72.265 +                    return el.lastChild;
  72.266 +                }
  72.267 +            case "afterend":
  72.268 +                range.setStartAfter(el);
  72.269 +                frag = range.createContextualFragment(html);
  72.270 +                el.parentNode.insertBefore(frag, el.nextSibling);
  72.271 +                return el.nextSibling;
  72.272 +            }
  72.273 +            throw 'Illegal insertion point -> "' + where + '"';
  72.274 +    },
  72.275 +
  72.276 +    
  72.277 +    insertBefore : function(el, o, returnElement){
  72.278 +        return this.doInsert(el, o, returnElement, "beforeBegin");
  72.279 +    },
  72.280 +
  72.281 +    
  72.282 +    insertAfter : function(el, o, returnElement){
  72.283 +        return this.doInsert(el, o, returnElement, "afterEnd", "nextSibling");
  72.284 +    },
  72.285 +
  72.286 +    
  72.287 +    insertFirst : function(el, o, returnElement){
  72.288 +        return this.doInsert(el, o, returnElement, "afterBegin", "firstChild");
  72.289 +    },
  72.290 +
  72.291 +        doInsert : function(el, o, returnElement, pos, sibling){
  72.292 +        el = Ext.getDom(el);
  72.293 +        var newNode;
  72.294 +        if(this.useDom){
  72.295 +            newNode = createDom(o, null);
  72.296 +            (sibling === "firstChild" ? el : el.parentNode).insertBefore(newNode, sibling ? el[sibling] : el);
  72.297 +        }else{
  72.298 +            var html = createHtml(o);
  72.299 +            newNode = this.insertHtml(pos, el, html);
  72.300 +        }
  72.301 +        return returnElement ? Ext.get(newNode, true) : newNode;
  72.302 +    },
  72.303 +
  72.304 +    
  72.305 +    append : function(el, o, returnElement){
  72.306 +        el = Ext.getDom(el);
  72.307 +        var newNode;
  72.308 +        if(this.useDom){
  72.309 +            newNode = createDom(o, null);
  72.310 +            el.appendChild(newNode);
  72.311 +        }else{
  72.312 +            var html = createHtml(o);
  72.313 +            newNode = this.insertHtml("beforeEnd", el, html);
  72.314 +        }
  72.315 +        return returnElement ? Ext.get(newNode, true) : newNode;
  72.316 +    },
  72.317 +
  72.318 +    
  72.319 +    overwrite : function(el, o, returnElement){
  72.320 +        el = Ext.getDom(el);
  72.321 +        el.innerHTML = createHtml(o);
  72.322 +        return returnElement ? Ext.get(el.firstChild, true) : el.firstChild;
  72.323 +    },
  72.324 +
  72.325 +    
  72.326 +    createTemplate : function(o){
  72.327 +        var html = createHtml(o);
  72.328 +        return new Ext.Template(html);
  72.329 +    }
  72.330 +    };
  72.331 +}();
  72.332 +
  72.333 +
  72.334 +Ext.Template = function(html){
  72.335 +    var a = arguments;
  72.336 +    if(Ext.isArray(html)){
  72.337 +        html = html.join("");
  72.338 +    }else if(a.length > 1){
  72.339 +        var buf = [];
  72.340 +        for(var i = 0, len = a.length; i < len; i++){
  72.341 +            if(typeof a[i] == 'object'){
  72.342 +                Ext.apply(this, a[i]);
  72.343 +            }else{
  72.344 +                buf[buf.length] = a[i];
  72.345 +            }
  72.346 +        }
  72.347 +        html = buf.join('');
  72.348 +    }
  72.349 +    
  72.350 +    this.html = html;
  72.351 +    if(this.compiled){
  72.352 +        this.compile();
  72.353 +    }
  72.354 +};
  72.355 +Ext.Template.prototype = {
  72.356 +    
  72.357 +    applyTemplate : function(values){
  72.358 +        if(this.compiled){
  72.359 +            return this.compiled(values);
  72.360 +        }
  72.361 +        var useF = this.disableFormats !== true;
  72.362 +        var fm = Ext.util.Format, tpl = this;
  72.363 +        var fn = function(m, name, format, args){
  72.364 +            if(format && useF){
  72.365 +                if(format.substr(0, 5) == "this."){
  72.366 +                    return tpl.call(format.substr(5), values[name], values);
  72.367 +                }else{
  72.368 +                    if(args){
  72.369 +                                                                                                var re = /^\s*['"](.*)["']\s*$/;
  72.370 +                        args = args.split(',');
  72.371 +                        for(var i = 0, len = args.length; i < len; i++){
  72.372 +                            args[i] = args[i].replace(re, "$1");
  72.373 +                        }
  72.374 +                        args = [values[name]].concat(args);
  72.375 +                    }else{
  72.376 +                        args = [values[name]];
  72.377 +                    }
  72.378 +                    return fm[format].apply(fm, args);
  72.379 +                }
  72.380 +            }else{
  72.381 +                return values[name] !== undefined ? values[name] : "";
  72.382 +            }
  72.383 +        };
  72.384 +        return this.html.replace(this.re, fn);
  72.385 +    },
  72.386 +
  72.387 +    
  72.388 +    set : function(html, compile){
  72.389 +        this.html = html;
  72.390 +        this.compiled = null;
  72.391 +        if(compile){
  72.392 +            this.compile();
  72.393 +        }
  72.394 +        return this;
  72.395 +    },
  72.396 +
  72.397 +    
  72.398 +    disableFormats : false,
  72.399 +
  72.400 +    
  72.401 +    re : /\{([\w-]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?\}/g,
  72.402 +
  72.403 +    
  72.404 +    compile : function(){
  72.405 +        var fm = Ext.util.Format;
  72.406 +        var useF = this.disableFormats !== true;
  72.407 +        var sep = Ext.isGecko ? "+" : ",";
  72.408 +        var fn = function(m, name, format, args){
  72.409 +            if(format && useF){
  72.410 +                args = args ? ',' + args : "";
  72.411 +                if(format.substr(0, 5) != "this."){
  72.412 +                    format = "fm." + format + '(';
  72.413 +                }else{
  72.414 +                    format = 'this.call("'+ format.substr(5) + '", ';
  72.415 +                    args = ", values";
  72.416 +                }
  72.417 +            }else{
  72.418 +                args= ''; format = "(values['" + name + "'] == undefined ? '' : ";
  72.419 +            }
  72.420 +            return "'"+ sep + format + "values['" + name + "']" + args + ")"+sep+"'";
  72.421 +        };
  72.422 +        var body;
  72.423 +                if(Ext.isGecko){
  72.424 +            body = "this.compiled = function(values){ return '" +
  72.425 +                   this.html.replace(/\\/g, '\\\\').replace(/(\r\n|\n)/g, '\\n').replace(/'/g, "\\'").replace(this.re, fn) +
  72.426 +                    "';};";
  72.427 +        }else{
  72.428 +            body = ["this.compiled = function(values){ return ['"];
  72.429 +            body.push(this.html.replace(/\\/g, '\\\\').replace(/(\r\n|\n)/g, '\\n').replace(/'/g, "\\'").replace(this.re, fn));
  72.430 +            body.push("'].join('');};");
  72.431 +            body = body.join('');
  72.432 +        }
  72.433 +        eval(body);
  72.434 +        return this;
  72.435 +    },
  72.436 +
  72.437 +        call : function(fnName, value, allValues){
  72.438 +        return this[fnName](value, allValues);
  72.439 +    },
  72.440 +
  72.441 +    
  72.442 +    insertFirst: function(el, values, returnElement){
  72.443 +        return this.doInsert('afterBegin', el, values, returnElement);
  72.444 +    },
  72.445 +
  72.446 +    
  72.447 +    insertBefore: function(el, values, returnElement){
  72.448 +        return this.doInsert('beforeBegin', el, values, returnElement);
  72.449 +    },
  72.450 +
  72.451 +    
  72.452 +    insertAfter : function(el, values, returnElement){
  72.453 +        return this.doInsert('afterEnd', el, values, returnElement);
  72.454 +    },
  72.455 +
  72.456 +    
  72.457 +    append : function(el, values, returnElement){
  72.458 +        return this.doInsert('beforeEnd', el, values, returnElement);
  72.459 +    },
  72.460 +
  72.461 +    doInsert : function(where, el, values, returnEl){
  72.462 +        el = Ext.getDom(el);
  72.463 +        var newNode = Ext.DomHelper.insertHtml(where, el, this.applyTemplate(values));
  72.464 +        return returnEl ? Ext.get(newNode, true) : newNode;
  72.465 +    },
  72.466 +
  72.467 +    
  72.468 +    overwrite : function(el, values, returnElement){
  72.469 +        el = Ext.getDom(el);
  72.470 +        el.innerHTML = this.applyTemplate(values);
  72.471 +        return returnElement ? Ext.get(el.firstChild, true) : el.firstChild;
  72.472 +    }
  72.473 +};
  72.474 +
  72.475 +Ext.Template.prototype.apply = Ext.Template.prototype.applyTemplate;
  72.476 +
  72.477 +Ext.DomHelper.Template = Ext.Template;
  72.478 +
  72.479 +
  72.480 +Ext.Template.from = function(el, config){
  72.481 +    el = Ext.getDom(el);
  72.482 +    return new Ext.Template(el.value || el.innerHTML, config || '');
  72.483 +};
  72.484 +
  72.485 +
  72.486 +Ext.DomQuery = function(){
  72.487 +    var cache = {}, simpleCache = {}, valueCache = {};
  72.488 +    var nonSpace = /\S/;
  72.489 +    var trimRe = /^\s+|\s+$/g;
  72.490 +    var tplRe = /\{(\d+)\}/g;
  72.491 +    var modeRe = /^(\s?[\/>+~]\s?|\s|$)/;
  72.492 +    var tagTokenRe = /^(#)?([\w-\*]+)/;
  72.493 +    var nthRe = /(\d*)n\+?(\d*)/, nthRe2 = /\D/;
  72.494 +
  72.495 +    function child(p, index){
  72.496 +        var i = 0;
  72.497 +        var n = p.firstChild;
  72.498 +        while(n){
  72.499 +            if(n.nodeType == 1){
  72.500 +               if(++i == index){
  72.501 +                   return n;
  72.502 +               }
  72.503 +            }
  72.504 +            n = n.nextSibling;
  72.505 +        }
  72.506 +        return null;
  72.507 +    };
  72.508 +
  72.509 +    function next(n){
  72.510 +        while((n = n.nextSibling) && n.nodeType != 1);
  72.511 +        return n;
  72.512 +    };
  72.513 +
  72.514 +    function prev(n){
  72.515 +        while((n = n.previousSibling) && n.nodeType != 1);
  72.516 +        return n;
  72.517 +    };
  72.518 +
  72.519 +    function children(d){
  72.520 +        var n = d.firstChild, ni = -1;
  72.521 + 	    while(n){
  72.522 + 	        var nx = n.nextSibling;
  72.523 + 	        if(n.nodeType == 3 && !nonSpace.test(n.nodeValue)){
  72.524 + 	            d.removeChild(n);
  72.525 + 	        }else{
  72.526 + 	            n.nodeIndex = ++ni;
  72.527 + 	        }
  72.528 + 	        n = nx;
  72.529 + 	    }
  72.530 + 	    return this;
  72.531 + 	};
  72.532 +
  72.533 +    function byClassName(c, a, v){
  72.534 +        if(!v){
  72.535 +            return c;
  72.536 +        }
  72.537 +        var r = [], ri = -1, cn;
  72.538 +        for(var i = 0, ci; ci = c[i]; i++){
  72.539 +            if((' '+ci.className+' ').indexOf(v) != -1){
  72.540 +                r[++ri] = ci;
  72.541 +            }
  72.542 +        }
  72.543 +        return r;
  72.544 +    };
  72.545 +
  72.546 +    function attrValue(n, attr){
  72.547 +        if(!n.tagName && typeof n.length != "undefined"){
  72.548 +            n = n[0];
  72.549 +        }
  72.550 +        if(!n){
  72.551 +            return null;
  72.552 +        }
  72.553 +        if(attr == "for"){
  72.554 +            return n.htmlFor;
  72.555 +        }
  72.556 +        if(attr == "class" || attr == "className"){
  72.557 +            return n.className;
  72.558 +        }
  72.559 +        return n.getAttribute(attr) || n[attr];
  72.560 +
  72.561 +    };
  72.562 +
  72.563 +    function getNodes(ns, mode, tagName){
  72.564 +        var result = [], ri = -1, cs;
  72.565 +        if(!ns){
  72.566 +            return result;
  72.567 +        }
  72.568 +        tagName = tagName || "*";
  72.569 +        if(typeof ns.getElementsByTagName != "undefined"){
  72.570 +            ns = [ns];
  72.571 +        }
  72.572 +        if(!mode){
  72.573 +            for(var i = 0, ni; ni = ns[i]; i++){
  72.574 +                cs = ni.getElementsByTagName(tagName);
  72.575 +                for(var j = 0, ci; ci = cs[j]; j++){
  72.576 +                    result[++ri] = ci;
  72.577 +                }
  72.578 +            }
  72.579 +        }else if(mode == "/" || mode == ">"){
  72.580 +            var utag = tagName.toUpperCase();
  72.581 +            for(var i = 0, ni, cn; ni = ns[i]; i++){
  72.582 +                cn = ni.children || ni.childNodes;
  72.583 +                for(var j = 0, cj; cj = cn[j]; j++){
  72.584 +                    if(cj.nodeName == utag || cj.nodeName == tagName  || tagName == '*'){
  72.585 +                        result[++ri] = cj;
  72.586 +                    }
  72.587 +                }
  72.588 +            }
  72.589 +        }else if(mode == "+"){
  72.590 +            var utag = tagName.toUpperCase();
  72.591 +            for(var i = 0, n; n = ns[i]; i++){
  72.592 +                while((n = n.nextSibling) && n.nodeType != 1);
  72.593 +                if(n && (n.nodeName == utag || n.nodeName == tagName || tagName == '*')){
  72.594 +                    result[++ri] = n;
  72.595 +                }
  72.596 +            }
  72.597 +        }else if(mode == "~"){
  72.598 +            for(var i = 0, n; n = ns[i]; i++){
  72.599 +                while((n = n.nextSibling) && (n.nodeType != 1 || (tagName == '*' || n.tagName.toLowerCase()!=tagName)));
  72.600 +                if(n){
  72.601 +                    result[++ri] = n;
  72.602 +                }
  72.603 +            }
  72.604 +        }
  72.605 +        return result;
  72.606 +    };
  72.607 +
  72.608 +    function concat(a, b){
  72.609 +        if(b.slice){
  72.610 +            return a.concat(b);
  72.611 +        }
  72.612 +        for(var i = 0, l = b.length; i < l; i++){
  72.613 +            a[a.length] = b[i];
  72.614 +        }
  72.615 +        return a;
  72.616 +    }
  72.617 +
  72.618 +    function byTag(cs, tagName){
  72.619 +        if(cs.tagName || cs == document){
  72.620 +            cs = [cs];
  72.621 +        }
  72.622 +        if(!tagName){
  72.623 +            return cs;
  72.624 +        }
  72.625 +        var r = [], ri = -1;
  72.626 +        tagName = tagName.toLowerCase();
  72.627 +        for(var i = 0, ci; ci = cs[i]; i++){
  72.628 +            if(ci.nodeType == 1 && ci.tagName.toLowerCase()==tagName){
  72.629 +                r[++ri] = ci;
  72.630 +            }
  72.631 +        }
  72.632 +        return r;
  72.633 +    };
  72.634 +
  72.635 +    function byId(cs, attr, id){
  72.636 +        if(cs.tagName || cs == document){
  72.637 +            cs = [cs];
  72.638 +        }
  72.639 +        if(!id){
  72.640 +            return cs;
  72.641 +        }
  72.642 +        var r = [], ri = -1;
  72.643 +        for(var i = 0,ci; ci = cs[i]; i++){
  72.644 +            if(ci && ci.id == id){
  72.645 +                r[++ri] = ci;
  72.646 +                return r;
  72.647 +            }
  72.648 +        }
  72.649 +        return r;
  72.650 +    };
  72.651 +
  72.652 +    function byAttribute(cs, attr, value, op, custom){
  72.653 +        var r = [], ri = -1, st = custom=="{";
  72.654 +        var f = Ext.DomQuery.operators[op];
  72.655 +        for(var i = 0, ci; ci = cs[i]; i++){
  72.656 +            var a;
  72.657 +            if(st){
  72.658 +                a = Ext.DomQuery.getStyle(ci, attr);
  72.659 +            }
  72.660 +            else if(attr == "class" || attr == "className"){
  72.661 +                a = ci.className;
  72.662 +            }else if(attr == "for"){
  72.663 +                a = ci.htmlFor;
  72.664 +            }else if(attr == "href"){
  72.665 +                a = ci.getAttribute("href", 2);
  72.666 +            }else{
  72.667 +                a = ci.getAttribute(attr);
  72.668 +            }
  72.669 +            if((f && f(a, value)) || (!f && a)){
  72.670 +                r[++ri] = ci;
  72.671 +            }
  72.672 +        }
  72.673 +        return r;
  72.674 +    };
  72.675 +
  72.676 +    function byPseudo(cs, name, value){
  72.677 +        return Ext.DomQuery.pseudos[name](cs, value);
  72.678 +    };
  72.679 +
  72.680 +    
  72.681 +    
  72.682 +    
  72.683 +    var isIE = window.ActiveXObject ? true : false;
  72.684 +
  72.685 +    
  72.686 +    
  72.687 +    eval("var batch = 30803;");
  72.688 +
  72.689 +    var key = 30803;
  72.690 +
  72.691 +    function nodupIEXml(cs){
  72.692 +        var d = ++key;
  72.693 +        cs[0].setAttribute("_nodup", d);
  72.694 +        var r = [cs[0]];
  72.695 +        for(var i = 1, len = cs.length; i < len; i++){
  72.696 +            var c = cs[i];
  72.697 +            if(!c.getAttribute("_nodup") != d){
  72.698 +                c.setAttribute("_nodup", d);
  72.699 +                r[r.length] = c;
  72.700 +            }
  72.701 +        }
  72.702 +        for(var i = 0, len = cs.length; i < len; i++){
  72.703 +            cs[i].removeAttribute("_nodup");
  72.704 +        }
  72.705 +        return r;
  72.706 +    }
  72.707 +
  72.708 +    function nodup(cs){
  72.709 +        if(!cs){
  72.710 +            return [];
  72.711 +        }
  72.712 +        var len = cs.length, c, i, r = cs, cj, ri = -1;
  72.713 +        if(!len || typeof cs.nodeType != "undefined" || len == 1){
  72.714 +            return cs;
  72.715 +        }
  72.716 +        if(isIE && typeof cs[0].selectSingleNode != "undefined"){
  72.717 +            return nodupIEXml(cs);
  72.718 +        }
  72.719 +        var d = ++key;
  72.720 +        cs[0]._nodup = d;
  72.721 +        for(i = 1; c = cs[i]; i++){
  72.722 +            if(c._nodup != d){
  72.723 +                c._nodup = d;
  72.724 +            }else{
  72.725 +                r = [];
  72.726 +                for(var j = 0; j < i; j++){
  72.727 +                    r[++ri] = cs[j];
  72.728 +                }
  72.729 +                for(j = i+1; cj = cs[j]; j++){
  72.730 +                    if(cj._nodup != d){
  72.731 +                        cj._nodup = d;
  72.732 +                        r[++ri] = cj;
  72.733 +                    }
  72.734 +                }
  72.735 +                return r;
  72.736 +            }
  72.737 +        }
  72.738 +        return r;
  72.739 +    }
  72.740 +
  72.741 +    function quickDiffIEXml(c1, c2){
  72.742 +        var d = ++key;
  72.743 +        for(var i = 0, len = c1.length; i < len; i++){
  72.744 +            c1[i].setAttribute("_qdiff", d);
  72.745 +        }
  72.746 +        var r = [];
  72.747 +        for(var i = 0, len = c2.length; i < len; i++){
  72.748 +            if(c2[i].getAttribute("_qdiff") != d){
  72.749 +                r[r.length] = c2[i];
  72.750 +            }
  72.751 +        }
  72.752 +        for(var i = 0, len = c1.length; i < len; i++){
  72.753 +           c1[i].removeAttribute("_qdiff");
  72.754 +        }
  72.755 +        return r;
  72.756 +    }
  72.757 +
  72.758 +    function quickDiff(c1, c2){
  72.759 +        var len1 = c1.length;
  72.760 +        if(!len1){
  72.761 +            return c2;
  72.762 +        }
  72.763 +        if(isIE && c1[0].selectSingleNode){
  72.764 +            return quickDiffIEXml(c1, c2);
  72.765 +        }
  72.766 +        var d = ++key;
  72.767 +        for(var i = 0; i < len1; i++){
  72.768 +            c1[i]._qdiff = d;
  72.769 +        }
  72.770 +        var r = [];
  72.771 +        for(var i = 0, len = c2.length; i < len; i++){
  72.772 +            if(c2[i]._qdiff != d){
  72.773 +                r[r.length] = c2[i];
  72.774 +            }
  72.775 +        }
  72.776 +        return r;
  72.777 +    }
  72.778 +
  72.779 +    function quickId(ns, mode, root, id){
  72.780 +        if(ns == root){
  72.781 +           var d = root.ownerDocument || root;
  72.782 +           return d.getElementById(id);
  72.783 +        }
  72.784 +        ns = getNodes(ns, mode, "*");
  72.785 +        return byId(ns, null, id);
  72.786 +    }
  72.787 +
  72.788 +    return {
  72.789 +        getStyle : function(el, name){
  72.790 +            return Ext.fly(el).getStyle(name);
  72.791 +        },
  72.792 +        
  72.793 +        compile : function(path, type){
  72.794 +            type = type || "select";
  72.795 +
  72.796 +            var fn = ["var f = function(root){\n var mode; ++batch; var n = root || document;\n"];
  72.797 +            var q = path, mode, lq;
  72.798 +            var tk = Ext.DomQuery.matchers;
  72.799 +            var tklen = tk.length;
  72.800 +            var mm;
  72.801 +
  72.802 +            
  72.803 +            var lmode = q.match(modeRe);
  72.804 +            if(lmode && lmode[1]){
  72.805 +                fn[fn.length] = 'mode="'+lmode[1].replace(trimRe, "")+'";';
  72.806 +                q = q.replace(lmode[1], "");
  72.807 +            }
  72.808 +            
  72.809 +            while(path.substr(0, 1)=="/"){
  72.810 +                path = path.substr(1);
  72.811 +            }
  72.812 +
  72.813 +            while(q && lq != q){
  72.814 +                lq = q;
  72.815 +                var tm = q.match(tagTokenRe);
  72.816 +                if(type == "select"){
  72.817 +                    if(tm){
  72.818 +                        if(tm[1] == "#"){
  72.819 +                            fn[fn.length] = 'n = quickId(n, mode, root, "'+tm[2]+'");';
  72.820 +                        }else{
  72.821 +                            fn[fn.length] = 'n = getNodes(n, mode, "'+tm[2]+'");';
  72.822 +                        }
  72.823 +                        q = q.replace(tm[0], "");
  72.824 +                    }else if(q.substr(0, 1) != '@'){
  72.825 +                        fn[fn.length] = 'n = getNodes(n, mode, "*");';
  72.826 +                    }
  72.827 +                }else{
  72.828 +                    if(tm){
  72.829 +                        if(tm[1] == "#"){
  72.830 +                            fn[fn.length] = 'n = byId(n, null, "'+tm[2]+'");';
  72.831 +                        }else{
  72.832 +                            fn[fn.length] = 'n = byTag(n, "'+tm[2]+'");';
  72.833 +                        }
  72.834 +                        q = q.replace(tm[0], "");
  72.835 +                    }
  72.836 +                }
  72.837 +                while(!(mm = q.match(modeRe))){
  72.838 +                    var matched = false;
  72.839 +                    for(var j = 0; j < tklen; j++){
  72.840 +                        var t = tk[j];
  72.841 +                        var m = q.match(t.re);
  72.842 +                        if(m){
  72.843 +                            fn[fn.length] = t.select.replace(tplRe, function(x, i){
  72.844 +                                                    return m[i];
  72.845 +                                                });
  72.846 +                            q = q.replace(m[0], "");
  72.847 +                            matched = true;
  72.848 +                            break;
  72.849 +                        }
  72.850 +                    }
  72.851 +                    
  72.852 +                    if(!matched){
  72.853 +                        throw 'Error parsing selector, parsing failed at "' + q + '"';
  72.854 +                    }
  72.855 +                }
  72.856 +                if(mm[1]){
  72.857 +                    fn[fn.length] = 'mode="'+mm[1].replace(trimRe, "")+'";';
  72.858 +                    q = q.replace(mm[1], "");
  72.859 +                }
  72.860 +            }
  72.861 +            fn[fn.length] = "return nodup(n);\n}";
  72.862 +            eval(fn.join(""));
  72.863 +            return f;
  72.864 +        },
  72.865 +
  72.866 +        
  72.867 +        select : function(path, root, type){
  72.868 +            if(!root || root == document){
  72.869 +                root = document;
  72.870 +            }
  72.871 +            if(typeof root == "string"){
  72.872 +                root = document.getElementById(root);
  72.873 +            }
  72.874 +            var paths = path.split(",");
  72.875 +            var results = [];
  72.876 +            for(var i = 0, len = paths.length; i < len; i++){
  72.877 +                var p = paths[i].replace(trimRe, "");
  72.878 +                if(!cache[p]){
  72.879 +                    cache[p] = Ext.DomQuery.compile(p);
  72.880 +                    if(!cache[p]){
  72.881 +                        throw p + " is not a valid selector";
  72.882 +                    }
  72.883 +                }
  72.884 +                var result = cache[p](root);
  72.885 +                if(result && result != document){
  72.886 +                    results = results.concat(result);
  72.887 +                }
  72.888 +            }
  72.889 +            if(paths.length > 1){
  72.890 +                return nodup(results);
  72.891 +            }
  72.892 +            return results;
  72.893 +        },
  72.894 +
  72.895 +        
  72.896 +        selectNode : function(path, root){
  72.897 +            return Ext.DomQuery.select(path, root)[0];
  72.898 +        },
  72.899 +
  72.900 +        
  72.901 +        selectValue : function(path, root, defaultValue){
  72.902 +            path = path.replace(trimRe, "");
  72.903 +            if(!valueCache[path]){
  72.904 +                valueCache[path] = Ext.DomQuery.compile(path, "select");
  72.905 +            }
  72.906 +            var n = valueCache[path](root);
  72.907 +            n = n[0] ? n[0] : n;
  72.908 +            var v = (n && n.firstChild ? n.firstChild.nodeValue : null);
  72.909 +            return ((v === null||v === undefined||v==='') ? defaultValue : v);
  72.910 +        },
  72.911 +
  72.912 +        
  72.913 +        selectNumber : function(path, root, defaultValue){
  72.914 +            var v = Ext.DomQuery.selectValue(path, root, defaultValue || 0);
  72.915 +            return parseFloat(v);
  72.916 +        },
  72.917 +
  72.918 +        
  72.919 +        is : function(el, ss){
  72.920 +            if(typeof el == "string"){
  72.921 +                el = document.getElementById(el);
  72.922 +            }
  72.923 +            var isArray = Ext.isArray(el);
  72.924 +            var result = Ext.DomQuery.filter(isArray ? el : [el], ss);
  72.925 +            return isArray ? (result.length == el.length) : (result.length > 0);
  72.926 +        },
  72.927 +
  72.928 +        
  72.929 +        filter : function(els, ss, nonMatches){
  72.930 +            ss = ss.replace(trimRe, "");
  72.931 +            if(!simpleCache[ss]){
  72.932 +                simpleCache[ss] = Ext.DomQuery.compile(ss, "simple");
  72.933 +            }
  72.934 +            var result = simpleCache[ss](els);
  72.935 +            return nonMatches ? quickDiff(result, els) : result;
  72.936 +        },
  72.937 +
  72.938 +        
  72.939 +        matchers : [{
  72.940 +                re: /^\.([\w-]+)/,
  72.941 +                select: 'n = byClassName(n, null, " {1} ");'
  72.942 +            }, {
  72.943 +                re: /^\:([\w-]+)(?:\(((?:[^\s>\/]*|.*?))\))?/,
  72.944 +                select: 'n = byPseudo(n, "{1}", "{2}");'
  72.945 +            },{
  72.946 +                re: /^(?:([\[\{])(?:@)?([\w-]+)\s?(?:(=|.=)\s?['"]?(.*?)["']?)?[\]\}])/,
  72.947 +                select: 'n = byAttribute(n, "{2}", "{4}", "{3}", "{1}");'
  72.948 +            }, {
  72.949 +                re: /^#([\w-]+)/,
  72.950 +                select: 'n = byId(n, null, "{1}");'
  72.951 +            },{
  72.952 +                re: /^@([\w-]+)/,
  72.953 +                select: 'return {firstChild:{nodeValue:attrValue(n, "{1}")}};'
  72.954 +            }
  72.955 +        ],
  72.956 +
  72.957 +        
  72.958 +        operators : {
  72.959 +            "=" : function(a, v){
  72.960 +                return a == v;
  72.961 +            },
  72.962 +            "!=" : function(a, v){
  72.963 +                return a != v;
  72.964 +            },
  72.965 +            "^=" : function(a, v){
  72.966 +                return a && a.substr(0, v.length) == v;
  72.967 +            },
  72.968 +            "$=" : function(a, v){
  72.969 +                return a && a.substr(a.length-v.length) == v;
  72.970 +            },
  72.971 +            "*=" : function(a, v){
  72.972 +                return a && a.indexOf(v) !== -1;
  72.973 +            },
  72.974 +            "%=" : function(a, v){
  72.975 +                return (a % v) == 0;
  72.976 +            },
  72.977 +            "|=" : function(a, v){
  72.978 +                return a && (a == v || a.substr(0, v.length+1) == v+'-');
  72.979 +            },
  72.980 +            "~=" : function(a, v){
  72.981 +                return a && (' '+a+' ').indexOf(' '+v+' ') != -1;
  72.982 +            }
  72.983 +        },
  72.984 +
  72.985 +        
  72.986 +        pseudos : {
  72.987 +            "first-child" : function(c){
  72.988 +                var r = [], ri = -1, n;
  72.989 +                for(var i = 0, ci; ci = n = c[i]; i++){
  72.990 +                    while((n = n.previousSibling) && n.nodeType != 1);
  72.991 +                    if(!n){
  72.992 +                        r[++ri] = ci;
  72.993 +                    }
  72.994 +                }
  72.995 +                return r;
  72.996 +            },
  72.997 +
  72.998 +            "last-child" : function(c){
  72.999 +                var r = [], ri = -1, n;
 72.1000 +                for(var i = 0, ci; ci = n = c[i]; i++){
 72.1001 +                    while((n = n.nextSibling) && n.nodeType != 1);
 72.1002 +                    if(!n){
 72.1003 +                        r[++ri] = ci;
 72.1004 +                    }
 72.1005 +                }
 72.1006 +                return r;
 72.1007 +            },
 72.1008 +
 72.1009 +            "nth-child" : function(c, a) {
 72.1010 +                var r = [], ri = -1;
 72.1011 +                var m = nthRe.exec(a == "even" && "2n" || a == "odd" && "2n+1" || !nthRe2.test(a) && "n+" + a || a);
 72.1012 +                var f = (m[1] || 1) - 0, l = m[2] - 0;
 72.1013 +                for(var i = 0, n; n = c[i]; i++){
 72.1014 +                    var pn = n.parentNode;
 72.1015 +                    if (batch != pn._batch) {
 72.1016 +                        var j = 0;
 72.1017 +                        for(var cn = pn.firstChild; cn; cn = cn.nextSibling){
 72.1018 +                            if(cn.nodeType == 1){
 72.1019 +                               cn.nodeIndex = ++j;
 72.1020 +                            }
 72.1021 +                        }
 72.1022 +                        pn._batch = batch;
 72.1023 +                    }
 72.1024 +                    if (f == 1) {
 72.1025 +                        if (l == 0 || n.nodeIndex == l){
 72.1026 +                            r[++ri] = n;
 72.1027 +                        }
 72.1028 +                    } else if ((n.nodeIndex + l) % f == 0){
 72.1029 +                        r[++ri] = n;
 72.1030 +                    }
 72.1031 +                }
 72.1032 +
 72.1033 +                return r;
 72.1034 +            },
 72.1035 +
 72.1036 +            "only-child" : function(c){
 72.1037 +                var r = [], ri = -1;;
 72.1038 +                for(var i = 0, ci; ci = c[i]; i++){
 72.1039 +                    if(!prev(ci) && !next(ci)){
 72.1040 +                        r[++ri] = ci;
 72.1041 +                    }
 72.1042 +                }
 72.1043 +                return r;
 72.1044 +            },
 72.1045 +
 72.1046 +            "empty" : function(c){
 72.1047 +                var r = [], ri = -1;
 72.1048 +                for(var i = 0, ci; ci = c[i]; i++){
 72.1049 +                    var cns = ci.childNodes, j = 0, cn, empty = true;
 72.1050 +                    while(cn = cns[j]){
 72.1051 +                        ++j;
 72.1052 +                        if(cn.nodeType == 1 || cn.nodeType == 3){
 72.1053 +                            empty = false;
 72.1054 +                            break;
 72.1055 +                        }
 72.1056 +                    }
 72.1057 +                    if(empty){
 72.1058 +                        r[++ri] = ci;
 72.1059 +                    }
 72.1060 +                }
 72.1061 +                return r;
 72.1062 +            },
 72.1063 +
 72.1064 +            "contains" : function(c, v){
 72.1065 +                var r = [], ri = -1;
 72.1066 +                for(var i = 0, ci; ci = c[i]; i++){
 72.1067 +                    if((ci.textContent||ci.innerText||'').indexOf(v) != -1){
 72.1068 +                        r[++ri] = ci;
 72.1069 +                    }
 72.1070 +                }
 72.1071 +                return r;
 72.1072 +            },
 72.1073 +
 72.1074 +            "nodeValue" : function(c, v){
 72.1075 +                var r = [], ri = -1;
 72.1076 +                for(var i = 0, ci; ci = c[i]; i++){
 72.1077 +                    if(ci.firstChild && ci.firstChild.nodeValue == v){
 72.1078 +                        r[++ri] = ci;
 72.1079 +                    }
 72.1080 +                }
 72.1081 +                return r;
 72.1082 +            },
 72.1083 +
 72.1084 +            "checked" : function(c){
 72.1085 +                var r = [], ri = -1;
 72.1086 +                for(var i = 0, ci; ci = c[i]; i++){
 72.1087 +                    if(ci.checked == true){
 72.1088 +                        r[++ri] = ci;
 72.1089 +                    }
 72.1090 +                }
 72.1091 +                return r;
 72.1092 +            },
 72.1093 +
 72.1094 +            "not" : function(c, ss){
 72.1095 +                return Ext.DomQuery.filter(c, ss, true);
 72.1096 +            },
 72.1097 +
 72.1098 +            "any" : function(c, selectors){
 72.1099 +                var ss = selectors.split('|');
 72.1100 +                var r = [], ri = -1, s;
 72.1101 +                for(var i = 0, ci; ci = c[i]; i++){
 72.1102 +                    for(var j = 0; s = ss[j]; j++){
 72.1103 +                        if(Ext.DomQuery.is(ci, s)){
 72.1104 +                            r[++ri] = ci;
 72.1105 +                            break;
 72.1106 +                        }
 72.1107 +                    }
 72.1108 +                }
 72.1109 +                return r;
 72.1110 +            },
 72.1111 +
 72.1112 +            "odd" : function(c){
 72.1113 +                return this["nth-child"](c, "odd");
 72.1114 +            },
 72.1115 +
 72.1116 +            "even" : function(c){
 72.1117 +                return this["nth-child"](c, "even");
 72.1118 +            },
 72.1119 +
 72.1120 +            "nth" : function(c, a){
 72.1121 +                return c[a-1] || [];
 72.1122 +            },
 72.1123 +
 72.1124 +            "first" : function(c){
 72.1125 +                return c[0] || [];
 72.1126 +            },
 72.1127 +
 72.1128 +            "last" : function(c){
 72.1129 +                return c[c.length-1] || [];
 72.1130 +            },
 72.1131 +
 72.1132 +            "has" : function(c, ss){
 72.1133 +                var s = Ext.DomQuery.select;
 72.1134 +                var r = [], ri = -1;
 72.1135 +                for(var i = 0, ci; ci = c[i]; i++){
 72.1136 +                    if(s(ss, ci).length > 0){
 72.1137 +                        r[++ri] = ci;
 72.1138 +                    }
 72.1139 +                }
 72.1140 +                return r;
 72.1141 +            },
 72.1142 +
 72.1143 +            "next" : function(c, ss){
 72.1144 +                var is = Ext.DomQuery.is;
 72.1145 +                var r = [], ri = -1;
 72.1146 +                for(var i = 0, ci; ci = c[i]; i++){
 72.1147 +                    var n = next(ci);
 72.1148 +                    if(n && is(n, ss)){
 72.1149 +                        r[++ri] = ci;
 72.1150 +                    }
 72.1151 +                }
 72.1152 +                return r;
 72.1153 +            },
 72.1154 +
 72.1155 +            "prev" : function(c, ss){
 72.1156 +                var is = Ext.DomQuery.is;
 72.1157 +                var r = [], ri = -1;
 72.1158 +                for(var i = 0, ci; ci = c[i]; i++){
 72.1159 +                    var n = prev(ci);
 72.1160 +                    if(n && is(n, ss)){
 72.1161 +                        r[++ri] = ci;
 72.1162 +                    }
 72.1163 +                }
 72.1164 +                return r;
 72.1165 +            }
 72.1166 +        }
 72.1167 +    };
 72.1168 +}();
 72.1169 +
 72.1170 +
 72.1171 +Ext.query = Ext.DomQuery.select;
 72.1172 +
 72.1173 +
 72.1174 +Ext.util.Observable = function(){
 72.1175 +    
 72.1176 +    if(this.listeners){
 72.1177 +        this.on(this.listeners);
 72.1178 +        delete this.listeners;
 72.1179 +    }
 72.1180 +};
 72.1181 +Ext.util.Observable.prototype = {
 72.1182 +    
 72.1183 +    fireEvent : function(){
 72.1184 +        if(this.eventsSuspended !== true){
 72.1185 +            var ce = this.events[arguments[0].toLowerCase()];
 72.1186 +            if(typeof ce == "object"){
 72.1187 +                return ce.fire.apply(ce, Array.prototype.slice.call(arguments, 1));
 72.1188 +            }
 72.1189 +        }
 72.1190 +        return true;
 72.1191 +    },
 72.1192 +
 72.1193 +        filterOptRe : /^(?:scope|delay|buffer|single)$/,
 72.1194 +
 72.1195 +    
 72.1196 +    addListener : function(eventName, fn, scope, o){
 72.1197 +        if(typeof eventName == "object"){
 72.1198 +            o = eventName;
 72.1199 +            for(var e in o){
 72.1200 +                if(this.filterOptRe.test(e)){
 72.1201 +                    continue;
 72.1202 +                }
 72.1203 +                if(typeof o[e] == "function"){
 72.1204 +                                        this.addListener(e, o[e], o.scope,  o);
 72.1205 +                }else{
 72.1206 +                                        this.addListener(e, o[e].fn, o[e].scope, o[e]);
 72.1207 +                }
 72.1208 +            }
 72.1209 +            return;
 72.1210 +        }
 72.1211 +        o = (!o || typeof o == "boolean") ? {} : o;
 72.1212 +        eventName = eventName.toLowerCase();
 72.1213 +        var ce = this.events[eventName] || true;
 72.1214 +        if(typeof ce == "boolean"){
 72.1215 +            ce = new Ext.util.Event(this, eventName);
 72.1216 +            this.events[eventName] = ce;
 72.1217 +        }
 72.1218 +        ce.addListener(fn, scope, o);
 72.1219 +    },
 72.1220 +
 72.1221 +    
 72.1222 +    removeListener : function(eventName, fn, scope){
 72.1223 +        var ce = this.events[eventName.toLowerCase()];
 72.1224 +        if(typeof ce == "object"){
 72.1225 +            ce.removeListener(fn, scope);
 72.1226 +        }
 72.1227 +    },
 72.1228 +
 72.1229 +    
 72.1230 +    purgeListeners : function(){
 72.1231 +        for(var evt in this.events){
 72.1232 +            if(typeof this.events[evt] == "object"){
 72.1233 +                 this.events[evt].clearListeners();
 72.1234 +            }
 72.1235 +        }
 72.1236 +    },
 72.1237 +
 72.1238 +    
 72.1239 +    relayEvents : function(o, events){
 72.1240 +        var createHandler = function(ename){
 72.1241 +            return function(){
 72.1242 +                return this.fireEvent.apply(this, Ext.combine(ename, Array.prototype.slice.call(arguments, 0)));
 72.1243 +            };
 72.1244 +        };
 72.1245 +        for(var i = 0, len = events.length; i < len; i++){
 72.1246 +            var ename = events[i];
 72.1247 +            if(!this.events[ename]){ this.events[ename] = true; };
 72.1248 +            o.on(ename, createHandler(ename), this);
 72.1249 +        }
 72.1250 +    },
 72.1251 +
 72.1252 +    
 72.1253 +    addEvents : function(o){
 72.1254 +        if(!this.events){
 72.1255 +            this.events = {};
 72.1256 +        }
 72.1257 +        if(typeof o == 'string'){
 72.1258 +            for(var i = 0, a = arguments, v; v = a[i]; i++){
 72.1259 +                if(!this.events[a[i]]){
 72.1260 +                    this.events[a[i]] = true;
 72.1261 +                }
 72.1262 +            }
 72.1263 +        }else{
 72.1264 +            Ext.applyIf(this.events, o);
 72.1265 +        }
 72.1266 +    },
 72.1267 +
 72.1268 +    
 72.1269 +    hasListener : function(eventName){
 72.1270 +        var e = this.events[eventName];
 72.1271 +        return typeof e == "object" && e.listeners.length > 0;
 72.1272 +    },
 72.1273 +
 72.1274 +    
 72.1275 +    suspendEvents : function(){
 72.1276 +        this.eventsSuspended = true;
 72.1277 +    },
 72.1278 +
 72.1279 +    
 72.1280 +    resumeEvents : function(){
 72.1281 +        this.eventsSuspended = false;
 72.1282 +    },
 72.1283 +
 72.1284 +                getMethodEvent : function(method){
 72.1285 +        if(!this.methodEvents){
 72.1286 +            this.methodEvents = {};
 72.1287 +        }
 72.1288 +        var e = this.methodEvents[method];
 72.1289 +        if(!e){
 72.1290 +            e = {};
 72.1291 +            this.methodEvents[method] = e;
 72.1292 +
 72.1293 +            e.originalFn = this[method];
 72.1294 +            e.methodName = method;
 72.1295 +            e.before = [];
 72.1296 +            e.after = [];
 72.1297 +
 72.1298 +
 72.1299 +            var returnValue, v, cancel;
 72.1300 +            var obj = this;
 72.1301 +
 72.1302 +            var makeCall = function(fn, scope, args){
 72.1303 +                if((v = fn.apply(scope || obj, args)) !== undefined){
 72.1304 +                    if(typeof v === 'object'){
 72.1305 +                        if(v.returnValue !== undefined){
 72.1306 +                            returnValue = v.returnValue;
 72.1307 +                        }else{
 72.1308 +                            returnValue = v;
 72.1309 +                        }
 72.1310 +                        if(v.cancel === true){
 72.1311 +                            cancel = true;
 72.1312 +                        }
 72.1313 +                    }else if(v === false){
 72.1314 +                        cancel = true;
 72.1315 +                    }else {
 72.1316 +                        returnValue = v;
 72.1317 +                    }
 72.1318 +                }
 72.1319 +            }
 72.1320 +
 72.1321 +            this[method] = function(){
 72.1322 +                returnValue = v = undefined; cancel = false;
 72.1323 +                var args = Array.prototype.slice.call(arguments, 0);
 72.1324 +                for(var i = 0, len = e.before.length; i < len; i++){
 72.1325 +                    makeCall(e.before[i].fn, e.before[i].scope, args);
 72.1326 +                    if(cancel){
 72.1327 +                        return returnValue;
 72.1328 +                    }
 72.1329 +                }
 72.1330 +
 72.1331 +                if((v = e.originalFn.apply(obj, args)) !== undefined){
 72.1332 +                    returnValue = v;
 72.1333 +                }
 72.1334 +
 72.1335 +                for(var i = 0, len = e.after.length; i < len; i++){
 72.1336 +                    makeCall(e.after[i].fn, e.after[i].scope, args);
 72.1337 +                    if(cancel){
 72.1338 +                        return returnValue;
 72.1339 +                    }
 72.1340 +                }
 72.1341 +                return returnValue;
 72.1342 +            };
 72.1343 +        }
 72.1344 +        return e;
 72.1345 +    },
 72.1346 +
 72.1347 +        beforeMethod : function(method, fn, scope){
 72.1348 +        var e = this.getMethodEvent(method);
 72.1349 +        e.before.push({fn: fn, scope: scope});
 72.1350 +    },
 72.1351 +
 72.1352 +        afterMethod : function(method, fn, scope){
 72.1353 +        var e = this.getMethodEvent(method);
 72.1354 +        e.after.push({fn: fn, scope: scope});
 72.1355 +    },
 72.1356 +
 72.1357 +    removeMethodListener : function(method, fn, scope){
 72.1358 +        var e = this.getMethodEvent(method);
 72.1359 +        for(var i = 0, len = e.before.length; i < len; i++){
 72.1360 +            if(e.before[i].fn == fn && e.before[i].scope == scope){
 72.1361 +                e.before.splice(i, 1);
 72.1362 +                return;
 72.1363 +            }
 72.1364 +        }
 72.1365 +        for(var i = 0, len = e.after.length; i < len; i++){
 72.1366 +            if(e.after[i].fn == fn && e.after[i].scope == scope){
 72.1367 +                e.after.splice(i, 1);
 72.1368 +                return;
 72.1369 +            }
 72.1370 +        }
 72.1371 +    }
 72.1372 +};
 72.1373 +
 72.1374 +Ext.util.Observable.prototype.on = Ext.util.Observable.prototype.addListener;
 72.1375 +
 72.1376 +Ext.util.Observable.prototype.un = Ext.util.Observable.prototype.removeListener;
 72.1377 +
 72.1378 +
 72.1379 +Ext.util.Observable.capture = function(o, fn, scope){
 72.1380 +    o.fireEvent = o.fireEvent.createInterceptor(fn, scope);
 72.1381 +};
 72.1382 +
 72.1383 +
 72.1384 +Ext.util.Observable.releaseCapture = function(o){
 72.1385 +    o.fireEvent = Ext.util.Observable.prototype.fireEvent;
 72.1386 +};
 72.1387 +
 72.1388 +(function(){
 72.1389 +
 72.1390 +    var createBuffered = function(h, o, scope){
 72.1391 +        var task = new Ext.util.DelayedTask();
 72.1392 +        return function(){
 72.1393 +            task.delay(o.buffer, h, scope, Array.prototype.slice.call(arguments, 0));
 72.1394 +        };
 72.1395 +    };
 72.1396 +
 72.1397 +    var createSingle = function(h, e, fn, scope){
 72.1398 +        return function(){
 72.1399 +            e.removeListener(fn, scope);
 72.1400 +            return h.apply(scope, arguments);
 72.1401 +        };
 72.1402 +    };
 72.1403 +
 72.1404 +    var createDelayed = function(h, o, scope){
 72.1405 +        return function(){
 72.1406 +            var args = Array.prototype.slice.call(arguments, 0);
 72.1407 +            setTimeout(function(){
 72.1408 +                h.apply(scope, args);
 72.1409 +            }, o.delay || 10);
 72.1410 +        };
 72.1411 +    };
 72.1412 +
 72.1413 +    Ext.util.Event = function(obj, name){
 72.1414 +        this.name = name;
 72.1415 +        this.obj = obj;
 72.1416 +        this.listeners = [];
 72.1417 +    };
 72.1418 +
 72.1419 +    Ext.util.Event.prototype = {
 72.1420 +        addListener : function(fn, scope, options){
 72.1421 +            scope = scope || this.obj;
 72.1422 +            if(!this.isListening(fn, scope)){
 72.1423 +                var l = this.createListener(fn, scope, options);
 72.1424 +                if(!this.firing){
 72.1425 +                    this.listeners.push(l);
 72.1426 +                }else{                     this.listeners = this.listeners.slice(0);
 72.1427 +                    this.listeners.push(l);
 72.1428 +                }
 72.1429 +            }
 72.1430 +        },
 72.1431 +
 72.1432 +        createListener : function(fn, scope, o){
 72.1433 +            o = o || {};
 72.1434 +            scope = scope || this.obj;
 72.1435 +            var l = {fn: fn, scope: scope, options: o};
 72.1436 +            var h = fn;
 72.1437 +            if(o.delay){
 72.1438 +                h = createDelayed(h, o, scope);
 72.1439 +            }
 72.1440 +            if(o.single){
 72.1441 +                h = createSingle(h, this, fn, scope);
 72.1442 +            }
 72.1443 +            if(o.buffer){
 72.1444 +                h = createBuffered(h, o, scope);
 72.1445 +            }
 72.1446 +            l.fireFn = h;
 72.1447 +            return l;
 72.1448 +        },
 72.1449 +
 72.1450 +        findListener : function(fn, scope){
 72.1451 +            scope = scope || this.obj;
 72.1452 +            var ls = this.listeners;
 72.1453 +            for(var i = 0, len = ls.length; i < len; i++){
 72.1454 +                var l = ls[i];
 72.1455 +                if(l.fn == fn && l.scope == scope){
 72.1456 +                    return i;
 72.1457 +                }
 72.1458 +            }
 72.1459 +            return -1;
 72.1460 +        },
 72.1461 +
 72.1462 +        isListening : function(fn, scope){
 72.1463 +            return this.findListener(fn, scope) != -1;
 72.1464 +        },
 72.1465 +
 72.1466 +        removeListener : function(fn, scope){
 72.1467 +            var index;
 72.1468 +            if((index = this.findListener(fn, scope)) != -1){
 72.1469 +                if(!this.firing){
 72.1470 +                    this.listeners.splice(index, 1);
 72.1471 +                }else{
 72.1472 +                    this.listeners = this.listeners.slice(0);
 72.1473 +                    this.listeners.splice(index, 1);
 72.1474 +                }
 72.1475 +                return true;
 72.1476 +            }
 72.1477 +            return false;
 72.1478 +        },
 72.1479 +
 72.1480 +        clearListeners : function(){
 72.1481 +            this.listeners = [];
 72.1482 +        },
 72.1483 +
 72.1484 +        fire : function(){
 72.1485 +            var ls = this.listeners, scope, len = ls.length;
 72.1486 +            if(len > 0){
 72.1487 +                this.firing = true;
 72.1488 +                var args = Array.prototype.slice.call(arguments, 0);
 72.1489 +                for(var i = 0; i < len; i++){
 72.1490 +                    var l = ls[i];
 72.1491 +                    if(l.fireFn.apply(l.scope||this.obj||window, arguments) === false){
 72.1492 +                        this.firing = false;
 72.1493 +                        return false;
 72.1494 +                    }
 72.1495 +                }
 72.1496 +                this.firing = false;
 72.1497 +            }
 72.1498 +            return true;
 72.1499 +        }
 72.1500 +    };
 72.1501 +})();
 72.1502 +
 72.1503 +Ext.EventManager = function(){
 72.1504 +    var docReadyEvent, docReadyProcId, docReadyState = false;
 72.1505 +    var resizeEvent, resizeTask, textEvent, textSize;
 72.1506 +    var E = Ext.lib.Event;
 72.1507 +    var D = Ext.lib.Dom;
 72.1508 +
 72.1509 +
 72.1510 +    var fireDocReady = function(){
 72.1511 +        if(!docReadyState){
 72.1512 +            docReadyState = true;
 72.1513 +            Ext.isReady = true;
 72.1514 +            if(docReadyProcId){
 72.1515 +                clearInterval(docReadyProcId);
 72.1516 +            }
 72.1517 +            if(Ext.isGecko || Ext.isOpera) {
 72.1518 +                document.removeEventListener("DOMContentLoaded", fireDocReady, false);
 72.1519 +            }
 72.1520 +            if(Ext.isIE){
 72.1521 +                var defer = document.getElementById("ie-deferred-loader");
 72.1522 +                if(defer){
 72.1523 +                    defer.onreadystatechange = null;
 72.1524 +                    defer.parentNode.removeChild(defer);
 72.1525 +                }
 72.1526 +            }
 72.1527 +            if(docReadyEvent){
 72.1528 +                docReadyEvent.fire();
 72.1529 +                docReadyEvent.clearListeners();
 72.1530 +            }
 72.1531 +        }
 72.1532 +    };
 72.1533 +
 72.1534 +    var initDocReady = function(){
 72.1535 +        docReadyEvent = new Ext.util.Event();
 72.1536 +        if(Ext.isGecko || Ext.isOpera) {
 72.1537 +            document.addEventListener("DOMContentLoaded", fireDocReady, false);
 72.1538 +        }else if(Ext.isIE){
 72.1539 +            document.write("<s"+'cript id="ie-deferred-loader" defer="defer" src="/'+'/:"></s'+"cript>");
 72.1540 +            var defer = document.getElementById("ie-deferred-loader");
 72.1541 +            defer.onreadystatechange = function(){
 72.1542 +                if(this.readyState == "complete"){
 72.1543 +                    fireDocReady();
 72.1544 +                }
 72.1545 +            };
 72.1546 +        }else if(Ext.isSafari){
 72.1547 +            docReadyProcId = setInterval(function(){
 72.1548 +                var rs = document.readyState;
 72.1549 +                if(rs == "complete") {
 72.1550 +                    fireDocReady();
 72.1551 +                 }
 72.1552 +            }, 10);
 72.1553 +        }
 72.1554 +        
 72.1555 +        E.on(window, "load", fireDocReady);
 72.1556 +    };
 72.1557 +
 72.1558 +    var createBuffered = function(h, o){
 72.1559 +        var task = new Ext.util.DelayedTask(h);
 72.1560 +        return function(e){
 72.1561 +            
 72.1562 +            e = new Ext.EventObjectImpl(e);
 72.1563 +            task.delay(o.buffer, h, null, [e]);
 72.1564 +        };
 72.1565 +    };
 72.1566 +
 72.1567 +    var createSingle = function(h, el, ename, fn){
 72.1568 +        return function(e){
 72.1569 +            Ext.EventManager.removeListener(el, ename, fn);
 72.1570 +            h(e);
 72.1571 +        };
 72.1572 +    };
 72.1573 +
 72.1574 +    var createDelayed = function(h, o){
 72.1575 +        return function(e){
 72.1576 +            
 72.1577 +            e = new Ext.EventObjectImpl(e);
 72.1578 +            setTimeout(function(){
 72.1579 +                h(e);
 72.1580 +            }, o.delay || 10);
 72.1581 +        };
 72.1582 +    };
 72.1583 +
 72.1584 +    var listen = function(element, ename, opt, fn, scope){
 72.1585 +        var o = (!opt || typeof opt == "boolean") ? {} : opt;
 72.1586 +        fn = fn || o.fn; scope = scope || o.scope;
 72.1587 +        var el = Ext.getDom(element);
 72.1588 +        if(!el){
 72.1589 +            throw "Error listening for \"" + ename + '\". Element "' + element + '" doesn\'t exist.';
 72.1590 +        }
 72.1591 +        var h = function(e){
 72.1592 +            e = Ext.EventObject.setEvent(e);
 72.1593 +            var t;
 72.1594 +            if(o.delegate){
 72.1595 +                t = e.getTarget(o.delegate, el);
 72.1596 +                if(!t){
 72.1597 +                    return;
 72.1598 +                }
 72.1599 +            }else{
 72.1600 +                t = e.target;
 72.1601 +            }
 72.1602 +            if(o.stopEvent === true){
 72.1603 +                e.stopEvent();
 72.1604 +            }
 72.1605 +            if(o.preventDefault === true){
 72.1606 +               e.preventDefault();
 72.1607 +            }
 72.1608 +            if(o.stopPropagation === true){
 72.1609 +                e.stopPropagation();
 72.1610 +            }
 72.1611 +
 72.1612 +            if(o.normalized === false){
 72.1613 +                e = e.browserEvent;
 72.1614 +            }
 72.1615 +
 72.1616 +            fn.call(scope || el, e, t, o);
 72.1617 +        };
 72.1618 +        if(o.delay){
 72.1619 +            h = createDelayed(h, o);
 72.1620 +        }
 72.1621 +        if(o.single){
 72.1622 +            h = createSingle(h, el, ename, fn);
 72.1623 +        }
 72.1624 +        if(o.buffer){
 72.1625 +            h = createBuffered(h, o);
 72.1626 +        }
 72.1627 +        fn._handlers = fn._handlers || [];
 72.1628 +        fn._handlers.push([Ext.id(el), ename, h]);
 72.1629 +
 72.1630 +        E.on(el, ename, h);
 72.1631 +        if(ename == "mousewheel" && el.addEventListener){ 
 72.1632 +            el.addEventListener("DOMMouseScroll", h, false);
 72.1633 +            E.on(window, 'unload', function(){
 72.1634 +                el.removeEventListener("DOMMouseScroll", h, false);
 72.1635 +            });
 72.1636 +        }
 72.1637 +        if(ename == "mousedown" && el == document){ 
 72.1638 +            Ext.EventManager.stoppedMouseDownEvent.addListener(h);
 72.1639 +        }
 72.1640 +        return h;
 72.1641 +    };
 72.1642 +
 72.1643 +    var stopListening = function(el, ename, fn){
 72.1644 +        var id = Ext.id(el), hds = fn._handlers, hd = fn;
 72.1645 +        if(hds){
 72.1646 +            for(var i = 0, len = hds.length; i < len; i++){
 72.1647 +                var h = hds[i];
 72.1648 +                if(h[0] == id && h[1] == ename){
 72.1649 +                    hd = h[2];
 72.1650 +                    hds.splice(i, 1);
 72.1651 +                    break;
 72.1652 +                }
 72.1653 +            }
 72.1654 +        }
 72.1655 +        E.un(el, ename, hd);
 72.1656 +        el = Ext.getDom(el);
 72.1657 +        if(ename == "mousewheel" && el.addEventListener){
 72.1658 +            el.removeEventListener("DOMMouseScroll", hd, false);
 72.1659 +        }
 72.1660 +        if(ename == "mousedown" && el == document){ 
 72.1661 +            Ext.EventManager.stoppedMouseDownEvent.removeListener(hd);
 72.1662 +        }
 72.1663 +    };
 72.1664 +
 72.1665 +    var propRe = /^(?:scope|delay|buffer|single|stopEvent|preventDefault|stopPropagation|normalized|args|delegate)$/;
 72.1666 +    var pub = {
 72.1667 +
 72.1668 +    
 72.1669 +        addListener : function(element, eventName, fn, scope, options){
 72.1670 +            if(typeof eventName == "object"){
 72.1671 +                var o = eventName;
 72.1672 +                for(var e in o){
 72.1673 +                    if(propRe.test(e)){
 72.1674 +                        continue;
 72.1675 +                    }
 72.1676 +                    if(typeof o[e] == "function"){
 72.1677 +                        
 72.1678 +                        listen(element, e, o, o[e], o.scope);
 72.1679 +                    }else{
 72.1680 +                        
 72.1681 +                        listen(element, e, o[e]);
 72.1682 +                    }
 72.1683 +                }
 72.1684 +                return;
 72.1685 +            }
 72.1686 +            return listen(element, eventName, options, fn, scope);
 72.1687 +        },
 72.1688 +
 72.1689 +        
 72.1690 +        removeListener : function(element, eventName, fn){
 72.1691 +            return stopListening(element, eventName, fn);
 72.1692 +        },
 72.1693 +
 72.1694 +        
 72.1695 +        onDocumentReady : function(fn, scope, options){
 72.1696 +            if(docReadyState){ 
 72.1697 +                docReadyEvent.addListener(fn, scope, options);
 72.1698 +                docReadyEvent.fire();
 72.1699 +                docReadyEvent.clearListeners();
 72.1700 +                return;
 72.1701 +            }
 72.1702 +            if(!docReadyEvent){
 72.1703 +                initDocReady();
 72.1704 +            }
 72.1705 +            docReadyEvent.addListener(fn, scope, options);
 72.1706 +        },
 72.1707 +
 72.1708 +        
 72.1709 +        onWindowResize : function(fn, scope, options){
 72.1710 +            if(!resizeEvent){
 72.1711 +                resizeEvent = new Ext.util.Event();
 72.1712 +                resizeTask = new Ext.util.DelayedTask(function(){
 72.1713 +                    resizeEvent.fire(D.getViewWidth(), D.getViewHeight());
 72.1714 +                });
 72.1715 +                E.on(window, "resize", this.fireWindowResize, this);
 72.1716 +            }
 72.1717 +            resizeEvent.addListener(fn, scope, options);
 72.1718 +        },
 72.1719 +
 72.1720 +        
 72.1721 +        fireWindowResize : function(){
 72.1722 +            if(resizeEvent){
 72.1723 +                if((Ext.isIE||Ext.isAir) && resizeTask){
 72.1724 +                    resizeTask.delay(50);
 72.1725 +                }else{
 72.1726 +                    resizeEvent.fire(D.getViewWidth(), D.getViewHeight());
 72.1727 +                }
 72.1728 +            }
 72.1729 +        },
 72.1730 +
 72.1731 +        
 72.1732 +        onTextResize : function(fn, scope, options){
 72.1733 +            if(!textEvent){
 72.1734 +                textEvent = new Ext.util.Event();
 72.1735 +                var textEl = new Ext.Element(document.createElement('div'));
 72.1736 +                textEl.dom.className = 'x-text-resize';
 72.1737 +                textEl.dom.innerHTML = 'X';
 72.1738 +                textEl.appendTo(document.body);
 72.1739 +                textSize = textEl.dom.offsetHeight;
 72.1740 +                setInterval(function(){
 72.1741 +                    if(textEl.dom.offsetHeight != textSize){
 72.1742 +                        textEvent.fire(textSize, textSize = textEl.dom.offsetHeight);
 72.1743 +                    }
 72.1744 +                }, this.textResizeInterval);
 72.1745 +            }
 72.1746 +            textEvent.addListener(fn, scope, options);
 72.1747 +        },
 72.1748 +
 72.1749 +        
 72.1750 +        removeResizeListener : function(fn, scope){
 72.1751 +            if(resizeEvent){
 72.1752 +                resizeEvent.removeListener(fn, scope);
 72.1753 +            }
 72.1754 +        },
 72.1755 +
 72.1756 +        
 72.1757 +        fireResize : function(){
 72.1758 +            if(resizeEvent){
 72.1759 +                resizeEvent.fire(D.getViewWidth(), D.getViewHeight());
 72.1760 +            }
 72.1761 +        },
 72.1762 +        
 72.1763 +        ieDeferSrc : false,
 72.1764 +        
 72.1765 +        textResizeInterval : 50
 72.1766 +    };
 72.1767 +     
 72.1768 +    pub.on = pub.addListener;
 72.1769 +    
 72.1770 +    pub.un = pub.removeListener;
 72.1771 +
 72.1772 +    pub.stoppedMouseDownEvent = new Ext.util.Event();
 72.1773 +    return pub;
 72.1774 +}();
 72.1775 +
 72.1776 +Ext.onReady = Ext.EventManager.onDocumentReady;
 72.1777 +
 72.1778 +Ext.onReady(function(){
 72.1779 +    var bd = Ext.getBody();
 72.1780 +    if(!bd){ return; }
 72.1781 +
 72.1782 +    var cls = [
 72.1783 +            Ext.isIE ? "ext-ie " + (Ext.isIE6 ? 'ext-ie6' : 'ext-ie7')
 72.1784 +            : Ext.isGecko ? "ext-gecko"
 72.1785 +            : Ext.isOpera ? "ext-opera"
 72.1786 +            : Ext.isSafari ? "ext-safari" : ""];
 72.1787 +
 72.1788 +    if(Ext.isMac){
 72.1789 +        cls.push("ext-mac");
 72.1790 +    }
 72.1791 +    if(Ext.isLinux){
 72.1792 +        cls.push("ext-linux");
 72.1793 +    }
 72.1794 +    if(Ext.isBorderBox){
 72.1795 +        cls.push('ext-border-box');
 72.1796 +    }
 72.1797 +    if(Ext.isStrict){ 
 72.1798 +        var p = bd.dom.parentNode;
 72.1799 +        if(p){
 72.1800 +            p.className += ' ext-strict';
 72.1801 +        }
 72.1802 +    }
 72.1803 +    bd.addClass(cls.join(' '));
 72.1804 +});
 72.1805 +
 72.1806 +
 72.1807 +Ext.EventObject = function(){
 72.1808 +
 72.1809 +    var E = Ext.lib.Event;
 72.1810 +
 72.1811 +    
 72.1812 +    var safariKeys = {
 72.1813 +        63234 : 37, 
 72.1814 +        63235 : 39, 
 72.1815 +        63232 : 38, 
 72.1816 +        63233 : 40, 
 72.1817 +        63276 : 33, 
 72.1818 +        63277 : 34, 
 72.1819 +        63272 : 46, 
 72.1820 +        63273 : 36, 
 72.1821 +        63275 : 35  
 72.1822 +    };
 72.1823 +
 72.1824 +    
 72.1825 +    var btnMap = Ext.isIE ? {1:0,4:1,2:2} :
 72.1826 +                (Ext.isSafari ? {1:0,2:1,3:2} : {0:0,1:1,2:2});
 72.1827 +
 72.1828 +    Ext.EventObjectImpl = function(e){
 72.1829 +        if(e){
 72.1830 +            this.setEvent(e.browserEvent || e);
 72.1831 +        }
 72.1832 +    };
 72.1833 +    Ext.EventObjectImpl.prototype = {
 72.1834 +        
 72.1835 +        browserEvent : null,
 72.1836 +        
 72.1837 +        button : -1,
 72.1838 +        
 72.1839 +        shiftKey : false,
 72.1840 +        
 72.1841 +        ctrlKey : false,
 72.1842 +        
 72.1843 +        altKey : false,
 72.1844 +
 72.1845 +        
 72.1846 +        BACKSPACE : 8,
 72.1847 +        
 72.1848 +        TAB : 9,
 72.1849 +        
 72.1850 +        RETURN : 13,
 72.1851 +        
 72.1852 +        ENTER : 13,
 72.1853 +        
 72.1854 +        SHIFT : 16,
 72.1855 +        
 72.1856 +        CONTROL : 17,
 72.1857 +        
 72.1858 +        ESC : 27,
 72.1859 +        
 72.1860 +        SPACE : 32,
 72.1861 +        
 72.1862 +        PAGEUP : 33,
 72.1863 +        
 72.1864 +        PAGEDOWN : 34,
 72.1865 +        
 72.1866 +        END : 35,
 72.1867 +        
 72.1868 +        HOME : 36,
 72.1869 +        
 72.1870 +        LEFT : 37,
 72.1871 +        
 72.1872 +        UP : 38,
 72.1873 +        
 72.1874 +        RIGHT : 39,
 72.1875 +        
 72.1876 +        DOWN : 40,
 72.1877 +        
 72.1878 +        DELETE : 46,
 72.1879 +        
 72.1880 +        F5 : 116,
 72.1881 +
 72.1882 +           
 72.1883 +        setEvent : function(e){
 72.1884 +            if(e == this || (e && e.browserEvent)){ 
 72.1885 +                return e;
 72.1886 +            }
 72.1887 +            this.browserEvent = e;
 72.1888 +            if(e){
 72.1889 +                
 72.1890 +                this.button = e.button ? btnMap[e.button] : (e.which ? e.which-1 : -1);
 72.1891 +                if(e.type == 'click' && this.button == -1){
 72.1892 +                    this.button = 0;
 72.1893 +                }
 72.1894 +                this.type = e.type;
 72.1895 +                this.shiftKey = e.shiftKey;
 72.1896 +                
 72.1897 +                this.ctrlKey = e.ctrlKey || e.metaKey;
 72.1898 +                this.altKey = e.altKey;
 72.1899 +                
 72.1900 +                this.keyCode = e.keyCode;
 72.1901 +                this.charCode = e.charCode;
 72.1902 +                
 72.1903 +                this.target = E.getTarget(e);
 72.1904 +                
 72.1905 +                this.xy = E.getXY(e);
 72.1906 +            }else{
 72.1907 +                this.button = -1;
 72.1908 +                this.shiftKey = false;
 72.1909 +                this.ctrlKey = false;
 72.1910 +                this.altKey = false;
 72.1911 +                this.keyCode = 0;
 72.1912 +                this.charCode =0;
 72.1913 +                this.target = null;
 72.1914 +                this.xy = [0, 0];
 72.1915 +            }
 72.1916 +            return this;
 72.1917 +        },
 72.1918 +
 72.1919 +        
 72.1920 +        stopEvent : function(){
 72.1921 +            if(this.browserEvent){
 72.1922 +                if(this.browserEvent.type == 'mousedown'){
 72.1923 +                    Ext.EventManager.stoppedMouseDownEvent.fire(this);
 72.1924 +                }
 72.1925 +                E.stopEvent(this.browserEvent);
 72.1926 +            }
 72.1927 +        },
 72.1928 +
 72.1929 +        
 72.1930 +        preventDefault : function(){
 72.1931 +            if(this.browserEvent){
 72.1932 +                E.preventDefault(this.browserEvent);
 72.1933 +            }
 72.1934 +        },
 72.1935 +
 72.1936 +        
 72.1937 +        isNavKeyPress : function(){
 72.1938 +            var k = this.keyCode;
 72.1939 +            k = Ext.isSafari ? (safariKeys[k] || k) : k;
 72.1940 +            return (k >= 33 && k <= 40) || k == this.RETURN || k == this.TAB || k == this.ESC;
 72.1941 +        },
 72.1942 +
 72.1943 +        isSpecialKey : function(){
 72.1944 +            var k = this.keyCode;
 72.1945 +            return (this.type == 'keypress' && this.ctrlKey) || k == 9 || k == 13  || k == 40 || k == 27 ||
 72.1946 +            (k == 16) || (k == 17) ||
 72.1947 +            (k >= 18 && k <= 20) ||
 72.1948 +            (k >= 33 && k <= 35) ||
 72.1949 +            (k >= 36 && k <= 39) ||
 72.1950 +            (k >= 44 && k <= 45);
 72.1951 +        },
 72.1952 +        
 72.1953 +        stopPropagation : function(){
 72.1954 +            if(this.browserEvent){
 72.1955 +                if(this.browserEvent.type == 'mousedown'){
 72.1956 +                    Ext.EventManager.stoppedMouseDownEvent.fire(this);
 72.1957 +                }
 72.1958 +                E.stopPropagation(this.browserEvent);
 72.1959 +            }
 72.1960 +        },
 72.1961 +
 72.1962 +        
 72.1963 +        getCharCode : function(){
 72.1964 +            return this.charCode || this.keyCode;
 72.1965 +        },
 72.1966 +
 72.1967 +        
 72.1968 +        getKey : function(){
 72.1969 +            var k = this.keyCode || this.charCode;
 72.1970 +            return Ext.isSafari ? (safariKeys[k] || k) : k;
 72.1971 +        },
 72.1972 +
 72.1973 +        
 72.1974 +        getPageX : function(){
 72.1975 +            return this.xy[0];
 72.1976 +        },
 72.1977 +
 72.1978 +        
 72.1979 +        getPageY : function(){
 72.1980 +            return this.xy[1];
 72.1981 +        },
 72.1982 +
 72.1983 +        
 72.1984 +        getTime : function(){
 72.1985 +            if(this.browserEvent){
 72.1986 +                return E.getTime(this.browserEvent);
 72.1987 +            }
 72.1988 +            return null;
 72.1989 +        },
 72.1990 +
 72.1991 +        
 72.1992 +        getXY : function(){
 72.1993 +            return this.xy;
 72.1994 +        },
 72.1995 +
 72.1996 +        
 72.1997 +        getTarget : function(selector, maxDepth, returnEl){
 72.1998 +            return selector ? Ext.fly(this.target).findParent(selector, maxDepth, returnEl) : (returnEl ? Ext.get(this.target) : this.target);
 72.1999 +        },
 72.2000 +        
 72.2001 +        
 72.2002 +        getRelatedTarget : function(){
 72.2003 +            if(this.browserEvent){
 72.2004 +                return E.getRelatedTarget(this.browserEvent);
 72.2005 +            }
 72.2006 +            return null;
 72.2007 +        },
 72.2008 +
 72.2009 +        
 72.2010 +        getWheelDelta : function(){
 72.2011 +            var e = this.browserEvent;
 72.2012 +            var delta = 0;
 72.2013 +            if(e.wheelDelta){ 
 72.2014 +                delta = e.wheelDelta/120;
 72.2015 +            }else if(e.detail){ 
 72.2016 +                delta = -e.detail/3;
 72.2017 +            }
 72.2018 +            return delta;
 72.2019 +        },
 72.2020 +
 72.2021 +        
 72.2022 +        hasModifier : function(){
 72.2023 +            return ((this.ctrlKey || this.altKey) || this.shiftKey) ? true : false;
 72.2024 +        },
 72.2025 +
 72.2026 +        
 72.2027 +        within : function(el, related){
 72.2028 +            var t = this[related ? "getRelatedTarget" : "getTarget"]();
 72.2029 +            return t && Ext.fly(el).contains(t);
 72.2030 +        },
 72.2031 +
 72.2032 +        getPoint : function(){
 72.2033 +            return new Ext.lib.Point(this.xy[0], this.xy[1]);
 72.2034 +        }
 72.2035 +    };
 72.2036 +
 72.2037 +    return new Ext.EventObjectImpl();
 72.2038 +}();
 72.2039 +
 72.2040 +(function(){
 72.2041 +var D = Ext.lib.Dom;
 72.2042 +var E = Ext.lib.Event;
 72.2043 +var A = Ext.lib.Anim;
 72.2044 +
 72.2045 +var propCache = {};
 72.2046 +var camelRe = /(-[a-z])/gi;
 72.2047 +var camelFn = function(m, a){ return a.charAt(1).toUpperCase(); };
 72.2048 +var view = document.defaultView;
 72.2049 +
 72.2050 +Ext.Element = function(element, forceNew){
 72.2051 +    var dom = typeof element == "string" ?
 72.2052 +            document.getElementById(element) : element;
 72.2053 +    if(!dom){         return null;
 72.2054 +    }
 72.2055 +    var id = dom.id;
 72.2056 +    if(forceNew !== true && id && Ext.Element.cache[id]){         return Ext.Element.cache[id];
 72.2057 +    }
 72.2058 +
 72.2059 +    
 72.2060 +    this.dom = dom;
 72.2061 +
 72.2062 +    
 72.2063 +    this.id = id || Ext.id(dom);
 72.2064 +};
 72.2065 +
 72.2066 +var El = Ext.Element;
 72.2067 +
 72.2068 +El.prototype = {
 72.2069 +    
 72.2070 +    originalDisplay : "",
 72.2071 +
 72.2072 +    visibilityMode : 1,
 72.2073 +    
 72.2074 +    defaultUnit : "px",
 72.2075 +    
 72.2076 +    setVisibilityMode : function(visMode){
 72.2077 +        this.visibilityMode = visMode;
 72.2078 +        return this;
 72.2079 +    },
 72.2080 +    
 72.2081 +    enableDisplayMode : function(display){
 72.2082 +        this.setVisibilityMode(El.DISPLAY);
 72.2083 +        if(typeof display != "undefined") this.originalDisplay = display;
 72.2084 +        return this;
 72.2085 +    },
 72.2086 +
 72.2087 +    
 72.2088 +    findParent : function(simpleSelector, maxDepth, returnEl){
 72.2089 +        var p = this.dom, b = document.body, depth = 0, dq = Ext.DomQuery, stopEl;
 72.2090 +        maxDepth = maxDepth || 50;
 72.2091 +        if(typeof maxDepth != "number"){
 72.2092 +            stopEl = Ext.getDom(maxDepth);
 72.2093 +            maxDepth = 10;
 72.2094 +        }
 72.2095 +        while(p && p.nodeType == 1 && depth < maxDepth && p != b && p != stopEl){
 72.2096 +            if(dq.is(p, simpleSelector)){
 72.2097 +                return returnEl ? Ext.get(p) : p;
 72.2098 +            }
 72.2099 +            depth++;
 72.2100 +            p = p.parentNode;
 72.2101 +        }
 72.2102 +        return null;
 72.2103 +    },
 72.2104 +
 72.2105 +
 72.2106 +    
 72.2107 +    findParentNode : function(simpleSelector, maxDepth, returnEl){
 72.2108 +        var p = Ext.fly(this.dom.parentNode, '_internal');
 72.2109 +        return p ? p.findParent(simpleSelector, maxDepth, returnEl) : null;
 72.2110 +    },
 72.2111 +
 72.2112 +    
 72.2113 +    up : function(simpleSelector, maxDepth){
 72.2114 +        return this.findParentNode(simpleSelector, maxDepth, true);
 72.2115 +    },
 72.2116 +
 72.2117 +
 72.2118 +
 72.2119 +    
 72.2120 +    is : function(simpleSelector){
 72.2121 +        return Ext.DomQuery.is(this.dom, simpleSelector);
 72.2122 +    },
 72.2123 +
 72.2124 +    
 72.2125 +    animate : function(args, duration, onComplete, easing, animType){
 72.2126 +        this.anim(args, {duration: duration, callback: onComplete, easing: easing}, animType);
 72.2127 +        return this;
 72.2128 +    },
 72.2129 +
 72.2130 +    
 72.2131 +    anim : function(args, opt, animType, defaultDur, defaultEase, cb){
 72.2132 +        animType = animType || 'run';
 72.2133 +        opt = opt || {};
 72.2134 +        var anim = Ext.lib.Anim[animType](
 72.2135 +            this.dom, args,
 72.2136 +            (opt.duration || defaultDur) || .35,
 72.2137 +            (opt.easing || defaultEase) || 'easeOut',
 72.2138 +            function(){
 72.2139 +                Ext.callback(cb, this);
 72.2140 +                Ext.callback(opt.callback, opt.scope || this, [this, opt]);
 72.2141 +            },
 72.2142 +            this
 72.2143 +        );
 72.2144 +        opt.anim = anim;
 72.2145 +        return anim;
 72.2146 +    },
 72.2147 +
 72.2148 +        preanim : function(a, i){
 72.2149 +        return !a[i] ? false : (typeof a[i] == "object" ? a[i]: {duration: a[i+1], callback: a[i+2], easing: a[i+3]});
 72.2150 +    },
 72.2151 +
 72.2152 +    
 72.2153 +    clean : function(forceReclean){
 72.2154 +        if(this.isCleaned && forceReclean !== true){
 72.2155 +            return this;
 72.2156 +        }
 72.2157 +        var ns = /\S/;
 72.2158 +        var d = this.dom, n = d.firstChild, ni = -1;
 72.2159 + 	    while(n){
 72.2160 + 	        var nx = n.nextSibling;
 72.2161 + 	        if(n.nodeType == 3 && !ns.test(n.nodeValue)){
 72.2162 + 	            d.removeChild(n);
 72.2163 + 	        }else{
 72.2164 + 	            n.nodeIndex = ++ni;
 72.2165 + 	        }
 72.2166 + 	        n = nx;
 72.2167 + 	    }
 72.2168 + 	    this.isCleaned = true;
 72.2169 + 	    return this;
 72.2170 + 	},
 72.2171 +
 72.2172 +    
 72.2173 +    scrollIntoView : function(container, hscroll){
 72.2174 +        var c = Ext.getDom(container) || Ext.getBody().dom;
 72.2175 +        var el = this.dom;
 72.2176 +
 72.2177 +        var o = this.getOffsetsTo(c),
 72.2178 +            l = o[0] + c.scrollLeft,
 72.2179 +            t = o[1] + c.scrollTop,
 72.2180 +            b = t+el.offsetHeight,
 72.2181 +            r = l+el.offsetWidth;
 72.2182 +
 72.2183 +        var ch = c.clientHeight;
 72.2184 +        var ct = parseInt(c.scrollTop, 10);
 72.2185 +        var cl = parseInt(c.scrollLeft, 10);
 72.2186 +        var cb = ct + ch;
 72.2187 +        var cr = cl + c.clientWidth;
 72.2188 +
 72.2189 +        if(el.offsetHeight > ch || t < ct){
 72.2190 +        	c.scrollTop = t;
 72.2191 +        }else if(b > cb){
 72.2192 +            c.scrollTop = b-ch;
 72.2193 +        }
 72.2194 +        c.scrollTop = c.scrollTop; 
 72.2195 +        if(hscroll !== false){
 72.2196 +			if(el.offsetWidth > c.clientWidth || l < cl){
 72.2197 +                c.scrollLeft = l;
 72.2198 +            }else if(r > cr){
 72.2199 +                c.scrollLeft = r-c.clientWidth;
 72.2200 +            }
 72.2201 +            c.scrollLeft = c.scrollLeft;
 72.2202 +        }
 72.2203 +        return this;
 72.2204 +    },
 72.2205 +
 72.2206 +        scrollChildIntoView : function(child, hscroll){
 72.2207 +        Ext.fly(child, '_scrollChildIntoView').scrollIntoView(this, hscroll);
 72.2208 +    },
 72.2209 +
 72.2210 +    
 72.2211 +    autoHeight : function(animate, duration, onComplete, easing){
 72.2212 +        var oldHeight = this.getHeight();
 72.2213 +        this.clip();
 72.2214 +        this.setHeight(1);         setTimeout(function(){
 72.2215 +            var height = parseInt(this.dom.scrollHeight, 10);             if(!animate){
 72.2216 +                this.setHeight(height);
 72.2217 +                this.unclip();
 72.2218 +                if(typeof onComplete == "function"){
 72.2219 +                    onComplete();
 72.2220 +                }
 72.2221 +            }else{
 72.2222 +                this.setHeight(oldHeight);                 this.setHeight(height, animate, duration, function(){
 72.2223 +                    this.unclip();
 72.2224 +                    if(typeof onComplete == "function") onComplete();
 72.2225 +                }.createDelegate(this), easing);
 72.2226 +            }
 72.2227 +        }.createDelegate(this), 0);
 72.2228 +        return this;
 72.2229 +    },
 72.2230 +
 72.2231 +    
 72.2232 +    contains : function(el){
 72.2233 +        if(!el){return false;}
 72.2234 +        return D.isAncestor(this.dom, el.dom ? el.dom : el);
 72.2235 +    },
 72.2236 +
 72.2237 +    
 72.2238 +    isVisible : function(deep) {
 72.2239 +        var vis = !(this.getStyle("visibility") == "hidden" || this.getStyle("display") == "none");
 72.2240 +        if(deep !== true || !vis){
 72.2241 +            return vis;
 72.2242 +        }
 72.2243 +        var p = this.dom.parentNode;
 72.2244 +        while(p && p.tagName.toLowerCase() != "body"){
 72.2245 +            if(!Ext.fly(p, '_isVisible').isVisible()){
 72.2246 +                return false;
 72.2247 +            }
 72.2248 +            p = p.parentNode;
 72.2249 +        }
 72.2250 +        return true;
 72.2251 +    },
 72.2252 +
 72.2253 +    
 72.2254 +    select : function(selector, unique){
 72.2255 +        return El.select(selector, unique, this.dom);
 72.2256 +    },
 72.2257 +
 72.2258 +    
 72.2259 +    query : function(selector, unique){
 72.2260 +        return Ext.DomQuery.select(selector, this.dom);
 72.2261 +    },
 72.2262 +
 72.2263 +    
 72.2264 +    child : function(selector, returnDom){
 72.2265 +        var n = Ext.DomQuery.selectNode(selector, this.dom);
 72.2266 +        return returnDom ? n : Ext.get(n);
 72.2267 +    },
 72.2268 +
 72.2269 +    
 72.2270 +    down : function(selector, returnDom){
 72.2271 +        var n = Ext.DomQuery.selectNode(" > " + selector, this.dom);
 72.2272 +        return returnDom ? n : Ext.get(n);
 72.2273 +    },
 72.2274 +
 72.2275 +    
 72.2276 +    initDD : function(group, config, overrides){
 72.2277 +        var dd = new Ext.dd.DD(Ext.id(this.dom), group, config);
 72.2278 +        return Ext.apply(dd, overrides);
 72.2279 +    },
 72.2280 +
 72.2281 +    
 72.2282 +    initDDProxy : function(group, config, overrides){
 72.2283 +        var dd = new Ext.dd.DDProxy(Ext.id(this.dom), group, config);
 72.2284 +        return Ext.apply(dd, overrides);
 72.2285 +    },
 72.2286 +
 72.2287 +    
 72.2288 +    initDDTarget : function(group, config, overrides){
 72.2289 +        var dd = new Ext.dd.DDTarget(Ext.id(this.dom), group, config);
 72.2290 +        return Ext.apply(dd, overrides);
 72.2291 +    },
 72.2292 +
 72.2293 +    
 72.2294 +     setVisible : function(visible, animate){
 72.2295 +        if(!animate || !A){
 72.2296 +            if(this.visibilityMode == El.DISPLAY){
 72.2297 +                this.setDisplayed(visible);
 72.2298 +            }else{
 72.2299 +                this.fixDisplay();
 72.2300 +                this.dom.style.visibility = visible ? "visible" : "hidden";
 72.2301 +            }
 72.2302 +        }else{
 72.2303 +                        var dom = this.dom;
 72.2304 +            var visMode = this.visibilityMode;
 72.2305 +            if(visible){
 72.2306 +                this.setOpacity(.01);
 72.2307 +                this.setVisible(true);
 72.2308 +            }
 72.2309 +            this.anim({opacity: { to: (visible?1:0) }},
 72.2310 +                  this.preanim(arguments, 1),
 72.2311 +                  null, .35, 'easeIn', function(){
 72.2312 +                     if(!visible){
 72.2313 +                         if(visMode == El.DISPLAY){
 72.2314 +                             dom.style.display = "none";
 72.2315 +                         }else{
 72.2316 +                             dom.style.visibility = "hidden";
 72.2317 +                         }
 72.2318 +                         Ext.get(dom).setOpacity(1);
 72.2319 +                     }
 72.2320 +                 });
 72.2321 +        }
 72.2322 +        return this;
 72.2323 +    },
 72.2324 +
 72.2325 +    
 72.2326 +    isDisplayed : function() {
 72.2327 +        return this.getStyle("display") != "none";
 72.2328 +    },
 72.2329 +
 72.2330 +    
 72.2331 +    toggle : function(animate){
 72.2332 +        this.setVisible(!this.isVisible(), this.preanim(arguments, 0));
 72.2333 +        return this;
 72.2334 +    },
 72.2335 +
 72.2336 +    
 72.2337 +    setDisplayed : function(value) {
 72.2338 +        if(typeof value == "boolean"){
 72.2339 +           value = value ? this.originalDisplay : "none";
 72.2340 +        }
 72.2341 +        this.setStyle("display", value);
 72.2342 +        return this;
 72.2343 +    },
 72.2344 +
 72.2345 +    
 72.2346 +    focus : function() {
 72.2347 +        try{
 72.2348 +            this.dom.focus();
 72.2349 +        }catch(e){}
 72.2350 +        return this;
 72.2351 +    },
 72.2352 +
 72.2353 +    
 72.2354 +    blur : function() {
 72.2355 +        try{
 72.2356 +            this.dom.blur();
 72.2357 +        }catch(e){}
 72.2358 +        return this;
 72.2359 +    },
 72.2360 +
 72.2361 +    
 72.2362 +    addClass : function(className){
 72.2363 +        if(Ext.isArray(className)){
 72.2364 +            for(var i = 0, len = className.length; i < len; i++) {
 72.2365 +            	this.addClass(className[i]);
 72.2366 +            }
 72.2367 +        }else{
 72.2368 +            if(className && !this.hasClass(className)){
 72.2369 +                this.dom.className = this.dom.className + " " + className;
 72.2370 +            }
 72.2371 +        }
 72.2372 +        return this;
 72.2373 +    },
 72.2374 +
 72.2375 +    
 72.2376 +    radioClass : function(className){
 72.2377 +        var siblings = this.dom.parentNode.childNodes;
 72.2378 +        for(var i = 0; i < siblings.length; i++) {
 72.2379 +        	var s = siblings[i];
 72.2380 +        	if(s.nodeType == 1){
 72.2381 +        	    Ext.get(s).removeClass(className);
 72.2382 +        	}
 72.2383 +        }
 72.2384 +        this.addClass(className);
 72.2385 +        return this;
 72.2386 +    },
 72.2387 +
 72.2388 +    
 72.2389 +    removeClass : function(className){
 72.2390 +        if(!className || !this.dom.className){
 72.2391 +            return this;
 72.2392 +        }
 72.2393 +        if(Ext.isArray(className)){
 72.2394 +            for(var i = 0, len = className.length; i < len; i++) {
 72.2395 +            	this.removeClass(className[i]);
 72.2396 +            }
 72.2397 +        }else{
 72.2398 +            if(this.hasClass(className)){
 72.2399 +                var re = this.classReCache[className];
 72.2400 +                if (!re) {
 72.2401 +                   re = new RegExp('(?:^|\\s+)' + className + '(?:\\s+|$)', "g");
 72.2402 +                   this.classReCache[className] = re;
 72.2403 +                }
 72.2404 +                this.dom.className =
 72.2405 +                    this.dom.className.replace(re, " ");
 72.2406 +            }
 72.2407 +        }
 72.2408 +        return this;
 72.2409 +    },
 72.2410 +
 72.2411 +        classReCache: {},
 72.2412 +
 72.2413 +    
 72.2414 +    toggleClass : function(className){
 72.2415 +        if(this.hasClass(className)){
 72.2416 +            this.removeClass(className);
 72.2417 +        }else{
 72.2418 +            this.addClass(className);
 72.2419 +        }
 72.2420 +        return this;
 72.2421 +    },
 72.2422 +
 72.2423 +    
 72.2424 +    hasClass : function(className){
 72.2425 +        return className && (' '+this.dom.className+' ').indexOf(' '+className+' ') != -1;
 72.2426 +    },
 72.2427 +
 72.2428 +    
 72.2429 +    replaceClass : function(oldClassName, newClassName){
 72.2430 +        this.removeClass(oldClassName);
 72.2431 +        this.addClass(newClassName);
 72.2432 +        return this;
 72.2433 +    },
 72.2434 +
 72.2435 +    
 72.2436 +    getStyles : function(){
 72.2437 +        var a = arguments, len = a.length, r = {};
 72.2438 +        for(var i = 0; i < len; i++){
 72.2439 +            r[a[i]] = this.getStyle(a[i]);
 72.2440 +        }
 72.2441 +        return r;
 72.2442 +    },
 72.2443 +
 72.2444 +    
 72.2445 +    getStyle : function(){
 72.2446 +        return view && view.getComputedStyle ?
 72.2447 +            function(prop){
 72.2448 +                var el = this.dom, v, cs, camel;
 72.2449 +                if(prop == 'float'){
 72.2450 +                    prop = "cssFloat";
 72.2451 +                }
 72.2452 +                if(v = el.style[prop]){
 72.2453 +                    return v;
 72.2454 +                }
 72.2455 +                if(cs = view.getComputedStyle(el, "")){
 72.2456 +                    if(!(camel = propCache[prop])){
 72.2457 +                        camel = propCache[prop] = prop.replace(camelRe, camelFn);
 72.2458 +                    }
 72.2459 +                    return cs[camel];
 72.2460 +                }
 72.2461 +                return null;
 72.2462 +            } :
 72.2463 +            function(prop){
 72.2464 +                var el = this.dom, v, cs, camel;
 72.2465 +                if(prop == 'opacity'){
 72.2466 +                    if(typeof el.style.filter == 'string'){
 72.2467 +                        var m = el.style.filter.match(/alpha\(opacity=(.*)\)/i);
 72.2468 +                        if(m){
 72.2469 +                            var fv = parseFloat(m[1]);
 72.2470 +                            if(!isNaN(fv)){
 72.2471 +                                return fv ? fv / 100 : 0;
 72.2472 +                            }
 72.2473 +                        }
 72.2474 +                    }
 72.2475 +                    return 1;
 72.2476 +                }else if(prop == 'float'){
 72.2477 +                    prop = "styleFloat";
 72.2478 +                }
 72.2479 +                if(!(camel = propCache[prop])){
 72.2480 +                    camel = propCache[prop] = prop.replace(camelRe, camelFn);
 72.2481 +                }
 72.2482 +                if(v = el.style[camel]){
 72.2483 +                    return v;
 72.2484 +                }
 72.2485 +                if(cs = el.currentStyle){
 72.2486 +                    return cs[camel];
 72.2487 +                }
 72.2488 +                return null;
 72.2489 +            };
 72.2490 +    }(),
 72.2491 +
 72.2492 +    
 72.2493 +    setStyle : function(prop, value){
 72.2494 +        if(typeof prop == "string"){
 72.2495 +            var camel;
 72.2496 +            if(!(camel = propCache[prop])){
 72.2497 +                camel = propCache[prop] = prop.replace(camelRe, camelFn);
 72.2498 +            }
 72.2499 +            if(camel == 'opacity') {
 72.2500 +                this.setOpacity(value);
 72.2501 +            }else{
 72.2502 +                this.dom.style[camel] = value;
 72.2503 +            }
 72.2504 +        }else{
 72.2505 +            for(var style in prop){
 72.2506 +                if(typeof prop[style] != "function"){
 72.2507 +                   this.setStyle(style, prop[style]);
 72.2508 +                }
 72.2509 +            }
 72.2510 +        }
 72.2511 +        return this;
 72.2512 +    },
 72.2513 +
 72.2514 +    
 72.2515 +    applyStyles : function(style){
 72.2516 +        Ext.DomHelper.applyStyles(this.dom, style);
 72.2517 +        return this;
 72.2518 +    },
 72.2519 +
 72.2520 +    
 72.2521 +    getX : function(){
 72.2522 +        return D.getX(this.dom);
 72.2523 +    },
 72.2524 +
 72.2525 +    
 72.2526 +    getY : function(){
 72.2527 +        return D.getY(this.dom);
 72.2528 +    },
 72.2529 +
 72.2530 +    
 72.2531 +    getXY : function(){
 72.2532 +        return D.getXY(this.dom);
 72.2533 +    },
 72.2534 +
 72.2535 +    
 72.2536 +    getOffsetsTo : function(el){
 72.2537 +        var o = this.getXY();
 72.2538 +        var e = Ext.fly(el, '_internal').getXY();
 72.2539 +        return [o[0]-e[0],o[1]-e[1]];
 72.2540 +    },
 72.2541 +
 72.2542 +    
 72.2543 +    setX : function(x, animate){
 72.2544 +        if(!animate || !A){
 72.2545 +            D.setX(this.dom, x);
 72.2546 +        }else{
 72.2547 +            this.setXY([x, this.getY()], this.preanim(arguments, 1));
 72.2548 +        }
 72.2549 +        return this;
 72.2550 +    },
 72.2551 +
 72.2552 +    
 72.2553 +    setY : function(y, animate){
 72.2554 +        if(!animate || !A){
 72.2555 +            D.setY(this.dom, y);
 72.2556 +        }else{
 72.2557 +            this.setXY([this.getX(), y], this.preanim(arguments, 1));
 72.2558 +        }
 72.2559 +        return this;
 72.2560 +    },
 72.2561 +
 72.2562 +    
 72.2563 +    setLeft : function(left){
 72.2564 +        this.setStyle("left", this.addUnits(left));
 72.2565 +        return this;
 72.2566 +    },
 72.2567 +
 72.2568 +    
 72.2569 +    setTop : function(top){
 72.2570 +        this.setStyle("top", this.addUnits(top));
 72.2571 +        return this;
 72.2572 +    },
 72.2573 +
 72.2574 +    
 72.2575 +    setRight : function(right){
 72.2576 +        this.setStyle("right", this.addUnits(right));
 72.2577 +        return this;
 72.2578 +    },
 72.2579 +
 72.2580 +    
 72.2581 +    setBottom : function(bottom){
 72.2582 +        this.setStyle("bottom", this.addUnits(bottom));
 72.2583 +        return this;
 72.2584 +    },
 72.2585 +
 72.2586 +    
 72.2587 +    setXY : function(pos, animate){
 72.2588 +        if(!animate || !A){
 72.2589 +            D.setXY(this.dom, pos);
 72.2590 +        }else{
 72.2591 +            this.anim({points: {to: pos}}, this.preanim(arguments, 1), 'motion');
 72.2592 +        }
 72.2593 +        return this;
 72.2594 +    },
 72.2595 +
 72.2596 +    
 72.2597 +    setLocation : function(x, y, animate){
 72.2598 +        this.setXY([x, y], this.preanim(arguments, 2));
 72.2599 +        return this;
 72.2600 +    },
 72.2601 +
 72.2602 +    
 72.2603 +    moveTo : function(x, y, animate){
 72.2604 +        this.setXY([x, y], this.preanim(arguments, 2));
 72.2605 +        return this;
 72.2606 +    },
 72.2607 +
 72.2608 +    
 72.2609 +    getRegion : function(){
 72.2610 +        return D.getRegion(this.dom);
 72.2611 +    },
 72.2612 +
 72.2613 +    
 72.2614 +    getHeight : function(contentHeight){
 72.2615 +        var h = this.dom.offsetHeight || 0;
 72.2616 +        h = contentHeight !== true ? h : h-this.getBorderWidth("tb")-this.getPadding("tb");
 72.2617 +        return h < 0 ? 0 : h;
 72.2618 +    },
 72.2619 +
 72.2620 +    
 72.2621 +    getWidth : function(contentWidth){
 72.2622 +        var w = this.dom.offsetWidth || 0;
 72.2623 +        w = contentWidth !== true ? w : w-this.getBorderWidth("lr")-this.getPadding("lr");
 72.2624 +        return w < 0 ? 0 : w;
 72.2625 +    },
 72.2626 +
 72.2627 +    
 72.2628 +    getComputedHeight : function(){
 72.2629 +        var h = Math.max(this.dom.offsetHeight, this.dom.clientHeight);
 72.2630 +        if(!h){
 72.2631 +            h = parseInt(this.getStyle('height'), 10) || 0;
 72.2632 +            if(!this.isBorderBox()){
 72.2633 +                h += this.getFrameWidth('tb');
 72.2634 +            }
 72.2635 +        }
 72.2636 +        return h;
 72.2637 +    },
 72.2638 +
 72.2639 +    
 72.2640 +    getComputedWidth : function(){
 72.2641 +        var w = Math.max(this.dom.offsetWidth, this.dom.clientWidth);
 72.2642 +        if(!w){
 72.2643 +            w = parseInt(this.getStyle('width'), 10) || 0;
 72.2644 +            if(!this.isBorderBox()){
 72.2645 +                w += this.getFrameWidth('lr');
 72.2646 +            }
 72.2647 +        }
 72.2648 +        return w;
 72.2649 +    },
 72.2650 +
 72.2651 +    
 72.2652 +    getSize : function(contentSize){
 72.2653 +        return {width: this.getWidth(contentSize), height: this.getHeight(contentSize)};
 72.2654 +    },
 72.2655 +
 72.2656 +    getStyleSize : function(){
 72.2657 +        var w, h, d = this.dom, s = d.style;
 72.2658 +        if(s.width && s.width != 'auto'){
 72.2659 +            w = parseInt(s.width, 10);
 72.2660 +            if(Ext.isBorderBox){
 72.2661 +               w -= this.getFrameWidth('lr');
 72.2662 +            }
 72.2663 +        }
 72.2664 +        if(s.height && s.height != 'auto'){
 72.2665 +            h = parseInt(s.height, 10);
 72.2666 +            if(Ext.isBorderBox){
 72.2667 +               h -= this.getFrameWidth('tb');
 72.2668 +            }
 72.2669 +        }
 72.2670 +        return {width: w || this.getWidth(true), height: h || this.getHeight(true)};
 72.2671 +
 72.2672 +    },
 72.2673 +
 72.2674 +    
 72.2675 +    getViewSize : function(){
 72.2676 +        var d = this.dom, doc = document, aw = 0, ah = 0;
 72.2677 +        if(d == doc || d == doc.body){
 72.2678 +            return {width : D.getViewWidth(), height: D.getViewHeight()};
 72.2679 +        }else{
 72.2680 +            return {
 72.2681 +                width : d.clientWidth,
 72.2682 +                height: d.clientHeight
 72.2683 +            };
 72.2684 +        }
 72.2685 +    },
 72.2686 +
 72.2687 +    
 72.2688 +    getValue : function(asNumber){
 72.2689 +        return asNumber ? parseInt(this.dom.value, 10) : this.dom.value;
 72.2690 +    },
 72.2691 +
 72.2692 +        adjustWidth : function(width){
 72.2693 +        if(typeof width == "number"){
 72.2694 +            if(this.autoBoxAdjust && !this.isBorderBox()){
 72.2695 +               width -= (this.getBorderWidth("lr") + this.getPadding("lr"));
 72.2696 +            }
 72.2697 +            if(width < 0){
 72.2698 +                width = 0;
 72.2699 +            }
 72.2700 +        }
 72.2701 +        return width;
 72.2702 +    },
 72.2703 +
 72.2704 +        adjustHeight : function(height){
 72.2705 +        if(typeof height == "number"){
 72.2706 +           if(this.autoBoxAdjust && !this.isBorderBox()){
 72.2707 +               height -= (this.getBorderWidth("tb") + this.getPadding("tb"));
 72.2708 +           }
 72.2709 +           if(height < 0){
 72.2710 +               height = 0;
 72.2711 +           }
 72.2712 +        }
 72.2713 +        return height;
 72.2714 +    },
 72.2715 +
 72.2716 +    
 72.2717 +    setWidth : function(width, animate){
 72.2718 +        width = this.adjustWidth(width);
 72.2719 +        if(!animate || !A){
 72.2720 +            this.dom.style.width = this.addUnits(width);
 72.2721 +        }else{
 72.2722 +            this.anim({width: {to: width}}, this.preanim(arguments, 1));
 72.2723 +        }
 72.2724 +        return this;
 72.2725 +    },
 72.2726 +
 72.2727 +    
 72.2728 +     setHeight : function(height, animate){
 72.2729 +        height = this.adjustHeight(height);
 72.2730 +        if(!animate || !A){
 72.2731 +            this.dom.style.height = this.addUnits(height);
 72.2732 +        }else{
 72.2733 +            this.anim({height: {to: height}}, this.preanim(arguments, 1));
 72.2734 +        }
 72.2735 +        return this;
 72.2736 +    },
 72.2737 +
 72.2738 +    
 72.2739 +     setSize : function(width, height, animate){
 72.2740 +        if(typeof width == "object"){             height = width.height; width = width.width;
 72.2741 +        }
 72.2742 +        width = this.adjustWidth(width); height = this.adjustHeight(height);
 72.2743 +        if(!animate || !A){
 72.2744 +            this.dom.style.width = this.addUnits(width);
 72.2745 +            this.dom.style.height = this.addUnits(height);
 72.2746 +        }else{
 72.2747 +            this.anim({width: {to: width}, height: {to: height}}, this.preanim(arguments, 2));
 72.2748 +        }
 72.2749 +        return this;
 72.2750 +    },
 72.2751 +
 72.2752 +    
 72.2753 +    setBounds : function(x, y, width, height, animate){
 72.2754 +        if(!animate || !A){
 72.2755 +            this.setSize(width, height);
 72.2756 +            this.setLocation(x, y);
 72.2757 +        }else{
 72.2758 +            width = this.adjustWidth(width); height = this.adjustHeight(height);
 72.2759 +            this.anim({points: {to: [x, y]}, width: {to: width}, height: {to: height}},
 72.2760 +                          this.preanim(arguments, 4), 'motion');
 72.2761 +        }
 72.2762 +        return this;
 72.2763 +    },
 72.2764 +
 72.2765 +    
 72.2766 +    setRegion : function(region, animate){
 72.2767 +        this.setBounds(region.left, region.top, region.right-region.left, region.bottom-region.top, this.preanim(arguments, 1));
 72.2768 +        return this;
 72.2769 +    },
 72.2770 +
 72.2771 +    
 72.2772 +    addListener : function(eventName, fn, scope, options){
 72.2773 +        Ext.EventManager.on(this.dom,  eventName, fn, scope || this, options);
 72.2774 +    },
 72.2775 +
 72.2776 +    
 72.2777 +    removeListener : function(eventName, fn){
 72.2778 +        Ext.EventManager.removeListener(this.dom,  eventName, fn);
 72.2779 +        return this;
 72.2780 +    },
 72.2781 +
 72.2782 +    
 72.2783 +    removeAllListeners : function(){
 72.2784 +        E.purgeElement(this.dom);
 72.2785 +        return this;
 72.2786 +    },
 72.2787 +
 72.2788 +    
 72.2789 +    relayEvent : function(eventName, observable){
 72.2790 +        this.on(eventName, function(e){
 72.2791 +            observable.fireEvent(eventName, e);
 72.2792 +        });
 72.2793 +    },
 72.2794 +
 72.2795 +    
 72.2796 +     setOpacity : function(opacity, animate){
 72.2797 +        if(!animate || !A){
 72.2798 +            var s = this.dom.style;
 72.2799 +            if(Ext.isIE){
 72.2800 +                s.zoom = 1;
 72.2801 +                s.filter = (s.filter || '').replace(/alpha\([^\)]*\)/gi,"") +
 72.2802 +                           (opacity == 1 ? "" : " alpha(opacity=" + opacity * 100 + ")");
 72.2803 +            }else{
 72.2804 +                s.opacity = opacity;
 72.2805 +            }
 72.2806 +        }else{
 72.2807 +            this.anim({opacity: {to: opacity}}, this.preanim(arguments, 1), null, .35, 'easeIn');
 72.2808 +        }
 72.2809 +        return this;
 72.2810 +    },
 72.2811 +
 72.2812 +    
 72.2813 +    getLeft : function(local){
 72.2814 +        if(!local){
 72.2815 +            return this.getX();
 72.2816 +        }else{
 72.2817 +            return parseInt(this.getStyle("left"), 10) || 0;
 72.2818 +        }
 72.2819 +    },
 72.2820 +
 72.2821 +    
 72.2822 +    getRight : function(local){
 72.2823 +        if(!local){
 72.2824 +            return this.getX() + this.getWidth();
 72.2825 +        }else{
 72.2826 +            return (this.getLeft(true) + this.getWidth()) || 0;
 72.2827 +        }
 72.2828 +    },
 72.2829 +
 72.2830 +    
 72.2831 +    getTop : function(local) {
 72.2832 +        if(!local){
 72.2833 +            return this.getY();
 72.2834 +        }else{
 72.2835 +            return parseInt(this.getStyle("top"), 10) || 0;
 72.2836 +        }
 72.2837 +    },
 72.2838 +
 72.2839 +    
 72.2840 +    getBottom : function(local){
 72.2841 +        if(!local){
 72.2842 +            return this.getY() + this.getHeight();
 72.2843 +        }else{
 72.2844 +            return (this.getTop(true) + this.getHeight()) || 0;
 72.2845 +        }
 72.2846 +    },
 72.2847 +
 72.2848 +    
 72.2849 +    position : function(pos, zIndex, x, y){
 72.2850 +        if(!pos){
 72.2851 +           if(this.getStyle('position') == 'static'){
 72.2852 +               this.setStyle('position', 'relative');
 72.2853 +           }
 72.2854 +        }else{
 72.2855 +            this.setStyle("position", pos);
 72.2856 +        }
 72.2857 +        if(zIndex){
 72.2858 +            this.setStyle("z-index", zIndex);
 72.2859 +        }
 72.2860 +        if(x !== undefined && y !== undefined){
 72.2861 +            this.setXY([x, y]);
 72.2862 +        }else if(x !== undefined){
 72.2863 +            this.setX(x);
 72.2864 +        }else if(y !== undefined){
 72.2865 +            this.setY(y);
 72.2866 +        }
 72.2867 +    },
 72.2868 +
 72.2869 +    
 72.2870 +    clearPositioning : function(value){
 72.2871 +        value = value ||'';
 72.2872 +        this.setStyle({
 72.2873 +            "left": value,
 72.2874 +            "right": value,
 72.2875 +            "top": value,
 72.2876 +            "bottom": value,
 72.2877 +            "z-index": "",
 72.2878 +            "position" : "static"
 72.2879 +        });
 72.2880 +        return this;
 72.2881 +    },
 72.2882 +
 72.2883 +    
 72.2884 +    getPositioning : function(){
 72.2885 +        var l = this.getStyle("left");
 72.2886 +        var t = this.getStyle("top");
 72.2887 +        return {
 72.2888 +            "position" : this.getStyle("position"),
 72.2889 +            "left" : l,
 72.2890 +            "right" : l ? "" : this.getStyle("right"),
 72.2891 +            "top" : t,
 72.2892 +            "bottom" : t ? "" : this.getStyle("bottom"),
 72.2893 +            "z-index" : this.getStyle("z-index")
 72.2894 +        };
 72.2895 +    },
 72.2896 +
 72.2897 +    
 72.2898 +    getBorderWidth : function(side){
 72.2899 +        return this.addStyles(side, El.borders);
 72.2900 +    },
 72.2901 +
 72.2902 +    
 72.2903 +    getPadding : function(side){
 72.2904 +        return this.addStyles(side, El.paddings);
 72.2905 +    },
 72.2906 +
 72.2907 +    
 72.2908 +    setPositioning : function(pc){
 72.2909 +        this.applyStyles(pc);
 72.2910 +        if(pc.right == "auto"){
 72.2911 +            this.dom.style.right = "";
 72.2912 +        }
 72.2913 +        if(pc.bottom == "auto"){
 72.2914 +            this.dom.style.bottom = "";
 72.2915 +        }
 72.2916 +        return this;
 72.2917 +    },
 72.2918 +
 72.2919 +        fixDisplay : function(){
 72.2920 +        if(this.getStyle("display") == "none"){
 72.2921 +            this.setStyle("visibility", "hidden");
 72.2922 +            this.setStyle("display", this.originalDisplay);             if(this.getStyle("display") == "none"){                 this.setStyle("display", "block");
 72.2923 +            }
 72.2924 +        }
 72.2925 +    },
 72.2926 +
 72.2927 +    	setOverflow : function(v){
 72.2928 +    	if(v=='auto' && Ext.isMac && Ext.isGecko){     		this.dom.style.overflow = 'hidden';
 72.2929 +        	(function(){this.dom.style.overflow = 'auto';}).defer(1, this);
 72.2930 +    	}else{
 72.2931 +    		this.dom.style.overflow = v;
 72.2932 +    	}
 72.2933 +	},
 72.2934 +	
 72.2935 +    
 72.2936 +     setLeftTop : function(left, top){
 72.2937 +        this.dom.style.left = this.addUnits(left);
 72.2938 +        this.dom.style.top = this.addUnits(top);
 72.2939 +        return this;
 72.2940 +    },
 72.2941 +
 72.2942 +    
 72.2943 +     move : function(direction, distance, animate){
 72.2944 +        var xy = this.getXY();
 72.2945 +        direction = direction.toLowerCase();
 72.2946 +        switch(direction){
 72.2947 +            case "l":
 72.2948 +            case "left":
 72.2949 +                this.moveTo(xy[0]-distance, xy[1], this.preanim(arguments, 2));
 72.2950 +                break;
 72.2951 +           case "r":
 72.2952 +           case "right":
 72.2953 +                this.moveTo(xy[0]+distance, xy[1], this.preanim(arguments, 2));
 72.2954 +                break;
 72.2955 +           case "t":
 72.2956 +           case "top":
 72.2957 +           case "up":
 72.2958 +                this.moveTo(xy[0], xy[1]-distance, this.preanim(arguments, 2));
 72.2959 +                break;
 72.2960 +           case "b":
 72.2961 +           case "bottom":
 72.2962 +           case "down":
 72.2963 +                this.moveTo(xy[0], xy[1]+distance, this.preanim(arguments, 2));
 72.2964 +                break;
 72.2965 +        }
 72.2966 +        return this;
 72.2967 +    },
 72.2968 +
 72.2969 +    
 72.2970 +    clip : function(){
 72.2971 +        if(!this.isClipped){
 72.2972 +           this.isClipped = true;
 72.2973 +           this.originalClip = {
 72.2974 +               "o": this.getStyle("overflow"),
 72.2975 +               "x": this.getStyle("overflow-x"),
 72.2976 +               "y": this.getStyle("overflow-y")
 72.2977 +           };
 72.2978 +           this.setStyle("overflow", "hidden");
 72.2979 +           this.setStyle("overflow-x", "hidden");
 72.2980 +           this.setStyle("overflow-y", "hidden");
 72.2981 +        }
 72.2982 +        return this;
 72.2983 +    },
 72.2984 +
 72.2985 +    
 72.2986 +    unclip : function(){
 72.2987 +        if(this.isClipped){
 72.2988 +            this.isClipped = false;
 72.2989 +            var o = this.originalClip;
 72.2990 +            if(o.o){this.setStyle("overflow", o.o);}
 72.2991 +            if(o.x){this.setStyle("overflow-x", o.x);}
 72.2992 +            if(o.y){this.setStyle("overflow-y", o.y);}
 72.2993 +        }
 72.2994 +        return this;
 72.2995 +    },
 72.2996 +
 72.2997 +
 72.2998 +    
 72.2999 +    getAnchorXY : function(anchor, local, s){
 72.3000 +                
 72.3001 +        var w, h, vp = false;
 72.3002 +        if(!s){
 72.3003 +            var d = this.dom;
 72.3004 +            if(d == document.body || d == document){
 72.3005 +                vp = true;
 72.3006 +                w = D.getViewWidth(); h = D.getViewHeight();
 72.3007 +            }else{
 72.3008 +                w = this.getWidth(); h = this.getHeight();
 72.3009 +            }
 72.3010 +        }else{
 72.3011 +            w = s.width;  h = s.height;
 72.3012 +        }
 72.3013 +        var x = 0, y = 0, r = Math.round;
 72.3014 +        switch((anchor || "tl").toLowerCase()){
 72.3015 +            case "c":
 72.3016 +                x = r(w*.5);
 72.3017 +                y = r(h*.5);
 72.3018 +            break;
 72.3019 +            case "t":
 72.3020 +                x = r(w*.5);
 72.3021 +                y = 0;
 72.3022 +            break;
 72.3023 +            case "l":
 72.3024 +                x = 0;
 72.3025 +                y = r(h*.5);
 72.3026 +            break;
 72.3027 +            case "r":
 72.3028 +                x = w;
 72.3029 +                y = r(h*.5);
 72.3030 +            break;
 72.3031 +            case "b":
 72.3032 +                x = r(w*.5);
 72.3033 +                y = h;
 72.3034 +            break;
 72.3035 +            case "tl":
 72.3036 +                x = 0;
 72.3037 +                y = 0;
 72.3038 +            break;
 72.3039 +            case "bl":
 72.3040 +                x = 0;
 72.3041 +                y = h;
 72.3042 +            break;
 72.3043 +            case "br":
 72.3044 +                x = w;
 72.3045 +                y = h;
 72.3046 +            break;
 72.3047 +            case "tr":
 72.3048 +                x = w;
 72.3049 +                y = 0;
 72.3050 +            break;
 72.3051 +        }
 72.3052 +        if(local === true){
 72.3053 +            return [x, y];
 72.3054 +        }
 72.3055 +        if(vp){
 72.3056 +            var sc = this.getScroll();
 72.3057 +            return [x + sc.left, y + sc.top];
 72.3058 +        }
 72.3059 +                var o = this.getXY();
 72.3060 +        return [x+o[0], y+o[1]];
 72.3061 +    },
 72.3062 +
 72.3063 +    
 72.3064 +    getAlignToXY : function(el, p, o){
 72.3065 +        el = Ext.get(el);
 72.3066 +        if(!el || !el.dom){
 72.3067 +            throw "Element.alignToXY with an element that doesn't exist";
 72.3068 +        }
 72.3069 +        var d = this.dom;
 72.3070 +        var c = false;         var p1 = "", p2 = "";
 72.3071 +        o = o || [0,0];
 72.3072 +
 72.3073 +        if(!p){
 72.3074 +            p = "tl-bl";
 72.3075 +        }else if(p == "?"){
 72.3076 +            p = "tl-bl?";
 72.3077 +        }else if(p.indexOf("-") == -1){
 72.3078 +            p = "tl-" + p;
 72.3079 +        }
 72.3080 +        p = p.toLowerCase();
 72.3081 +        var m = p.match(/^([a-z]+)-([a-z]+)(\?)?$/);
 72.3082 +        if(!m){
 72.3083 +           throw "Element.alignTo with an invalid alignment " + p;
 72.3084 +        }
 72.3085 +        p1 = m[1]; p2 = m[2]; c = !!m[3];
 72.3086 +
 72.3087 +                        var a1 = this.getAnchorXY(p1, true);
 72.3088 +        var a2 = el.getAnchorXY(p2, false);
 72.3089 +
 72.3090 +        var x = a2[0] - a1[0] + o[0];
 72.3091 +        var y = a2[1] - a1[1] + o[1];
 72.3092 +
 72.3093 +        if(c){
 72.3094 +                        var w = this.getWidth(), h = this.getHeight(), r = el.getRegion();
 72.3095 +                        var dw = D.getViewWidth()-5, dh = D.getViewHeight()-5;
 72.3096 +
 72.3097 +                                                var p1y = p1.charAt(0), p1x = p1.charAt(p1.length-1);
 72.3098 +           var p2y = p2.charAt(0), p2x = p2.charAt(p2.length-1);
 72.3099 +           var swapY = ((p1y=="t" && p2y=="b") || (p1y=="b" && p2y=="t"));
 72.3100 +           var swapX = ((p1x=="r" && p2x=="l") || (p1x=="l" && p2x=="r"));
 72.3101 +
 72.3102 +           var doc = document;
 72.3103 +           var scrollX = (doc.documentElement.scrollLeft || doc.body.scrollLeft || 0)+5;
 72.3104 +           var scrollY = (doc.documentElement.scrollTop || doc.body.scrollTop || 0)+5;
 72.3105 +
 72.3106 +           if((x+w) > dw + scrollX){
 72.3107 +                x = swapX ? r.left-w : dw+scrollX-w;
 72.3108 +            }
 72.3109 +           if(x < scrollX){
 72.3110 +               x = swapX ? r.right : scrollX;
 72.3111 +           }
 72.3112 +           if((y+h) > dh + scrollY){
 72.3113 +                y = swapY ? r.top-h : dh+scrollY-h;
 72.3114 +            }
 72.3115 +           if (y < scrollY){
 72.3116 +               y = swapY ? r.bottom : scrollY;
 72.3117 +           }
 72.3118 +        }
 72.3119 +        return [x,y];
 72.3120 +    },
 72.3121 +
 72.3122 +        getConstrainToXY : function(){
 72.3123 +        var os = {top:0, left:0, bottom:0, right: 0};
 72.3124 +
 72.3125 +        return function(el, local, offsets, proposedXY){
 72.3126 +            el = Ext.get(el);
 72.3127 +            offsets = offsets ? Ext.applyIf(offsets, os) : os;
 72.3128 +
 72.3129 +            var vw, vh, vx = 0, vy = 0;
 72.3130 +            if(el.dom == document.body || el.dom == document){
 72.3131 +                vw = Ext.lib.Dom.getViewWidth();
 72.3132 +                vh = Ext.lib.Dom.getViewHeight();
 72.3133 +            }else{
 72.3134 +                vw = el.dom.clientWidth;
 72.3135 +                vh = el.dom.clientHeight;
 72.3136 +                if(!local){
 72.3137 +                    var vxy = el.getXY();
 72.3138 +                    vx = vxy[0];
 72.3139 +                    vy = vxy[1];
 72.3140 +                }
 72.3141 +            }
 72.3142 +
 72.3143 +            var s = el.getScroll();
 72.3144 +
 72.3145 +            vx += offsets.left + s.left;
 72.3146 +            vy += offsets.top + s.top;
 72.3147 +
 72.3148 +            vw -= offsets.right;
 72.3149 +            vh -= offsets.bottom;
 72.3150 +
 72.3151 +            var vr = vx+vw;
 72.3152 +            var vb = vy+vh;
 72.3153 +
 72.3154 +            var xy = proposedXY || (!local ? this.getXY() : [this.getLeft(true), this.getTop(true)]);
 72.3155 +            var x = xy[0], y = xy[1];
 72.3156 +            var w = this.dom.offsetWidth, h = this.dom.offsetHeight;
 72.3157 +
 72.3158 +                        var moved = false;
 72.3159 +
 72.3160 +                        if((x + w) > vr){
 72.3161 +                x = vr - w;
 72.3162 +                moved = true;
 72.3163 +            }
 72.3164 +            if((y + h) > vb){
 72.3165 +                y = vb - h;
 72.3166 +                moved = true;
 72.3167 +            }
 72.3168 +                        if(x < vx){
 72.3169 +                x = vx;
 72.3170 +                moved = true;
 72.3171 +            }
 72.3172 +            if(y < vy){
 72.3173 +                y = vy;
 72.3174 +                moved = true;
 72.3175 +            }
 72.3176 +            return moved ? [x, y] : false;
 72.3177 +        };
 72.3178 +    }(),
 72.3179 +
 72.3180 +        adjustForConstraints : function(xy, parent, offsets){
 72.3181 +        return this.getConstrainToXY(parent || document, false, offsets, xy) ||  xy;
 72.3182 +    },
 72.3183 +
 72.3184 +    
 72.3185 +    alignTo : function(element, position, offsets, animate){
 72.3186 +        var xy = this.getAlignToXY(element, position, offsets);
 72.3187 +        this.setXY(xy, this.preanim(arguments, 3));
 72.3188 +        return this;
 72.3189 +    },
 72.3190 +
 72.3191 +    
 72.3192 +    anchorTo : function(el, alignment, offsets, animate, monitorScroll, callback){
 72.3193 +        var action = function(){
 72.3194 +            this.alignTo(el, alignment, offsets, animate);
 72.3195 +            Ext.callback(callback, this);
 72.3196 +        };
 72.3197 +        Ext.EventManager.onWindowResize(action, this);
 72.3198 +        var tm = typeof monitorScroll;
 72.3199 +        if(tm != 'undefined'){
 72.3200 +            Ext.EventManager.on(window, 'scroll', action, this,
 72.3201 +                {buffer: tm == 'number' ? monitorScroll : 50});
 72.3202 +        }
 72.3203 +        action.call(this);         return this;
 72.3204 +    },
 72.3205 +    
 72.3206 +    clearOpacity : function(){
 72.3207 +        if (window.ActiveXObject) {
 72.3208 +            if(typeof this.dom.style.filter == 'string' && (/alpha/i).test(this.dom.style.filter)){
 72.3209 +                this.dom.style.filter = "";
 72.3210 +            }
 72.3211 +        } else {
 72.3212 +            this.dom.style.opacity = "";
 72.3213 +            this.dom.style["-moz-opacity"] = "";
 72.3214 +            this.dom.style["-khtml-opacity"] = "";
 72.3215 +        }
 72.3216 +        return this;
 72.3217 +    },
 72.3218 +
 72.3219 +    
 72.3220 +    hide : function(animate){
 72.3221 +        this.setVisible(false, this.preanim(arguments, 0));
 72.3222 +        return this;
 72.3223 +    },
 72.3224 +
 72.3225 +    
 72.3226 +    show : function(animate){
 72.3227 +        this.setVisible(true, this.preanim(arguments, 0));
 72.3228 +        return this;
 72.3229 +    },
 72.3230 +
 72.3231 +    
 72.3232 +    addUnits : function(size){
 72.3233 +        return Ext.Element.addUnits(size, this.defaultUnit);
 72.3234 +    },
 72.3235 +
 72.3236 +    
 72.3237 +    update : function(html, loadScripts, callback){
 72.3238 +        if(typeof html == "undefined"){
 72.3239 +            html = "";
 72.3240 +        }
 72.3241 +        if(loadScripts !== true){
 72.3242 +            this.dom.innerHTML = html;
 72.3243 +            if(typeof callback == "function"){
 72.3244 +                callback();
 72.3245 +            }
 72.3246 +            return this;
 72.3247 +        }
 72.3248 +        var id = Ext.id();
 72.3249 +        var dom = this.dom;
 72.3250 +
 72.3251 +        html += '<span id="' + id + '"></span>';
 72.3252 +
 72.3253 +        E.onAvailable(id, function(){
 72.3254 +            var hd = document.getElementsByTagName("head")[0];
 72.3255 +            var re = /(?:<script([^>]*)?>)((\n|\r|.)*?)(?:<\/script>)/ig;
 72.3256 +            var srcRe = /\ssrc=([\'\"])(.*?)\1/i;
 72.3257 +            var typeRe = /\stype=([\'\"])(.*?)\1/i;
 72.3258 +
 72.3259 +            var match;
 72.3260 +            while(match = re.exec(html)){
 72.3261 +                var attrs = match[1];
 72.3262 +                var srcMatch = attrs ? attrs.match(srcRe) : false;
 72.3263 +                if(srcMatch && srcMatch[2]){
 72.3264 +                   var s = document.createElement("script");
 72.3265 +                   s.src = srcMatch[2];
 72.3266 +                   var typeMatch = attrs.match(typeRe);
 72.3267 +                   if(typeMatch && typeMatch[2]){
 72.3268 +                       s.type = typeMatch[2];
 72.3269 +                   }
 72.3270 +                   hd.appendChild(s);
 72.3271 +                }else if(match[2] && match[2].length > 0){
 72.3272 +                    if(window.execScript) {
 72.3273 +                       window.execScript(match[2]);
 72.3274 +                    } else {
 72.3275 +                       window.eval(match[2]);
 72.3276 +                    }
 72.3277 +                }
 72.3278 +            }
 72.3279 +            var el = document.getElementById(id);
 72.3280 +            if(el){Ext.removeNode(el);}
 72.3281 +            if(typeof callback == "function"){
 72.3282 +                callback();
 72.3283 +            }
 72.3284 +        });
 72.3285 +        dom.innerHTML = html.replace(/(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)/ig, "");
 72.3286 +        return this;
 72.3287 +    },
 72.3288 +
 72.3289 +    
 72.3290 +    load : function(){
 72.3291 +        var um = this.getUpdater();
 72.3292 +        um.update.apply(um, arguments);
 72.3293 +        return this;
 72.3294 +    },
 72.3295 +
 72.3296 +    
 72.3297 +    getUpdater : function(){
 72.3298 +        if(!this.updateManager){
 72.3299 +            this.updateManager = new Ext.Updater(this);
 72.3300 +        }
 72.3301 +        return this.updateManager;
 72.3302 +    },
 72.3303 +
 72.3304 +    
 72.3305 +    unselectable : function(){
 72.3306 +        this.dom.unselectable = "on";
 72.3307 +        this.swallowEvent("selectstart", true);
 72.3308 +        this.applyStyles("-moz-user-select:none;-khtml-user-select:none;");
 72.3309 +        this.addClass("x-unselectable");
 72.3310 +        return this;
 72.3311 +    },
 72.3312 +
 72.3313 +    
 72.3314 +    getCenterXY : function(){
 72.3315 +        return this.getAlignToXY(document, 'c-c');
 72.3316 +    },
 72.3317 +
 72.3318 +    
 72.3319 +    center : function(centerIn){
 72.3320 +        this.alignTo(centerIn || document, 'c-c');
 72.3321 +        return this;
 72.3322 +    },
 72.3323 +
 72.3324 +    
 72.3325 +    isBorderBox : function(){
 72.3326 +        return noBoxAdjust[this.dom.tagName.toLowerCase()] || Ext.isBorderBox;
 72.3327 +    },
 72.3328 +
 72.3329 +    
 72.3330 +    getBox : function(contentBox, local){
 72.3331 +        var xy;
 72.3332 +        if(!local){
 72.3333 +            xy = this.getXY();
 72.3334 +        }else{
 72.3335 +            var left = parseInt(this.getStyle("left"), 10) || 0;
 72.3336 +            var top = parseInt(this.getStyle("top"), 10) || 0;
 72.3337 +            xy = [left, top];
 72.3338 +        }
 72.3339 +        var el = this.dom, w = el.offsetWidth, h = el.offsetHeight, bx;
 72.3340 +        if(!contentBox){
 72.3341 +            bx = {x: xy[0], y: xy[1], 0: xy[0], 1: xy[1], width: w, height: h};
 72.3342 +        }else{
 72.3343 +            var l = this.getBorderWidth("l")+this.getPadding("l");
 72.3344 +            var r = this.getBorderWidth("r")+this.getPadding("r");
 72.3345 +            var t = this.getBorderWidth("t")+this.getPadding("t");
 72.3346 +            var b = this.getBorderWidth("b")+this.getPadding("b");
 72.3347 +            bx = {x: xy[0]+l, y: xy[1]+t, 0: xy[0]+l, 1: xy[1]+t, width: w-(l+r), height: h-(t+b)};
 72.3348 +        }
 72.3349 +        bx.right = bx.x + bx.width;
 72.3350 +        bx.bottom = bx.y + bx.height;
 72.3351 +        return bx;
 72.3352 +    },
 72.3353 +
 72.3354 +    
 72.3355 +    getFrameWidth : function(sides, onlyContentBox){
 72.3356 +        return onlyContentBox && Ext.isBorderBox ? 0 : (this.getPadding(sides) + this.getBorderWidth(sides));
 72.3357 +    },
 72.3358 +
 72.3359 +    
 72.3360 +    setBox : function(box, adjust, animate){
 72.3361 +        var w = box.width, h = box.height;
 72.3362 +        if((adjust && !this.autoBoxAdjust) && !this.isBorderBox()){
 72.3363 +           w -= (this.getBorderWidth("lr") + this.getPadding("lr"));
 72.3364 +           h -= (this.getBorderWidth("tb") + this.getPadding("tb"));
 72.3365 +        }
 72.3366 +        this.setBounds(box.x, box.y, w, h, this.preanim(arguments, 2));
 72.3367 +        return this;
 72.3368 +    },
 72.3369 +
 72.3370 +    
 72.3371 +     repaint : function(){
 72.3372 +        var dom = this.dom;
 72.3373 +        this.addClass("x-repaint");
 72.3374 +        setTimeout(function(){
 72.3375 +            Ext.get(dom).removeClass("x-repaint");
 72.3376 +        }, 1);
 72.3377 +        return this;
 72.3378 +    },
 72.3379 +
 72.3380 +    
 72.3381 +    getMargins : function(side){
 72.3382 +        if(!side){
 72.3383 +            return {
 72.3384 +                top: parseInt(this.getStyle("margin-top"), 10) || 0,
 72.3385 +                left: parseInt(this.getStyle("margin-left"), 10) || 0,
 72.3386 +                bottom: parseInt(this.getStyle("margin-bottom"), 10) || 0,
 72.3387 +                right: parseInt(this.getStyle("margin-right"), 10) || 0
 72.3388 +            };
 72.3389 +        }else{
 72.3390 +            return this.addStyles(side, El.margins);
 72.3391 +         }
 72.3392 +    },
 72.3393 +
 72.3394 +        addStyles : function(sides, styles){
 72.3395 +        var val = 0, v, w;
 72.3396 +        for(var i = 0, len = sides.length; i < len; i++){
 72.3397 +            v = this.getStyle(styles[sides.charAt(i)]);
 72.3398 +            if(v){
 72.3399 +                 w = parseInt(v, 10);
 72.3400 +                 if(w){ val += (w >= 0 ? w : -1 * w); }
 72.3401 +            }
 72.3402 +        }
 72.3403 +        return val;
 72.3404 +    },
 72.3405 +
 72.3406 +    
 72.3407 +    createProxy : function(config, renderTo, matchBox){
 72.3408 +        config = typeof config == "object" ?
 72.3409 +            config : {tag : "div", cls: config};
 72.3410 +
 72.3411 +        var proxy;
 72.3412 +        if(renderTo){
 72.3413 +            proxy = Ext.DomHelper.append(renderTo, config, true);
 72.3414 +        }else {
 72.3415 +            proxy = Ext.DomHelper.insertBefore(this.dom, config, true);
 72.3416 +        }
 72.3417 +        if(matchBox){
 72.3418 +           proxy.setBox(this.getBox());
 72.3419 +        }
 72.3420 +        return proxy;
 72.3421 +    },
 72.3422 +
 72.3423 +    
 72.3424 +    mask : function(msg, msgCls){
 72.3425 +        if(this.getStyle("position") == "static"){
 72.3426 +            this.setStyle("position", "relative");
 72.3427 +        }
 72.3428 +        if(this._maskMsg){
 72.3429 +            this._maskMsg.remove();
 72.3430 +        }
 72.3431 +        if(this._mask){
 72.3432 +            this._mask.remove();
 72.3433 +        }
 72.3434 +
 72.3435 +        this._mask = Ext.DomHelper.append(this.dom, {cls:"ext-el-mask"}, true);
 72.3436 +
 72.3437 +        this.addClass("x-masked");
 72.3438 +        this._mask.setDisplayed(true);
 72.3439 +        if(typeof msg == 'string'){
 72.3440 +            this._maskMsg = Ext.DomHelper.append(this.dom, {cls:"ext-el-mask-msg", cn:{tag:'div'}}, true);
 72.3441 +            var mm = this._maskMsg;
 72.3442 +            mm.dom.className = msgCls ? "ext-el-mask-msg " + msgCls : "ext-el-mask-msg";
 72.3443 +            mm.dom.firstChild.innerHTML = msg;
 72.3444 +            mm.setDisplayed(true);
 72.3445 +            mm.center(this);
 72.3446 +        }
 72.3447 +        if(Ext.isIE && !(Ext.isIE7 && Ext.isStrict) && this.getStyle('height') == 'auto'){             this._mask.setSize(this.dom.clientWidth, this.getHeight());
 72.3448 +        }
 72.3449 +        return this._mask;
 72.3450 +    },
 72.3451 +
 72.3452 +    
 72.3453 +    unmask : function(){
 72.3454 +        if(this._mask){
 72.3455 +            if(this._maskMsg){
 72.3456 +                this._maskMsg.remove();
 72.3457 +                delete this._maskMsg;
 72.3458 +            }
 72.3459 +            this._mask.remove();
 72.3460 +            delete this._mask;
 72.3461 +        }
 72.3462 +        this.removeClass("x-masked");
 72.3463 +    },
 72.3464 +
 72.3465 +    
 72.3466 +    isMasked : function(){
 72.3467 +        return this._mask && this._mask.isVisible();
 72.3468 +    },
 72.3469 +
 72.3470 +    
 72.3471 +    createShim : function(){
 72.3472 +        var el = document.createElement('iframe');
 72.3473 +        el.frameBorder = 'no';
 72.3474 +        el.className = 'ext-shim';
 72.3475 +        if(Ext.isIE && Ext.isSecure){
 72.3476 +            el.src = Ext.SSL_SECURE_URL;
 72.3477 +        }
 72.3478 +        var shim = Ext.get(this.dom.parentNode.insertBefore(el, this.dom));
 72.3479 +        shim.autoBoxAdjust = false;
 72.3480 +        return shim;
 72.3481 +    },
 72.3482 +
 72.3483 +    
 72.3484 +    remove : function(){
 72.3485 +        Ext.removeNode(this.dom);
 72.3486 +        delete El.cache[this.dom.id];
 72.3487 +    },
 72.3488 +
 72.3489 +    
 72.3490 +    hover : function(overFn, outFn, scope){
 72.3491 +        var preOverFn = function(e){
 72.3492 +            if(!e.within(this, true)){
 72.3493 +                overFn.apply(scope || this, arguments);
 72.3494 +            }
 72.3495 +        };
 72.3496 +        var preOutFn = function(e){
 72.3497 +            if(!e.within(this, true)){
 72.3498 +                outFn.apply(scope || this, arguments);
 72.3499 +            }
 72.3500 +        };
 72.3501 +        this.on("mouseover", preOverFn, this.dom);
 72.3502 +        this.on("mouseout", preOutFn, this.dom);
 72.3503 +        return this;
 72.3504 +    },
 72.3505 +
 72.3506 +    
 72.3507 +    addClassOnOver : function(className){
 72.3508 +        this.hover(
 72.3509 +            function(){
 72.3510 +                Ext.fly(this, '_internal').addClass(className);
 72.3511 +            },
 72.3512 +            function(){
 72.3513 +                Ext.fly(this, '_internal').removeClass(className);
 72.3514 +            }
 72.3515 +        );
 72.3516 +        return this;
 72.3517 +    },
 72.3518 +
 72.3519 +    
 72.3520 +    addClassOnFocus : function(className){
 72.3521 +        this.on("focus", function(){
 72.3522 +            Ext.fly(this, '_internal').addClass(className);
 72.3523 +        }, this.dom);
 72.3524 +        this.on("blur", function(){
 72.3525 +            Ext.fly(this, '_internal').removeClass(className);
 72.3526 +        }, this.dom);
 72.3527 +        return this;
 72.3528 +    },
 72.3529 +    
 72.3530 +    addClassOnClick : function(className){
 72.3531 +        var dom = this.dom;
 72.3532 +        this.on("mousedown", function(){
 72.3533 +            Ext.fly(dom, '_internal').addClass(className);
 72.3534 +            var d = Ext.getDoc();
 72.3535 +            var fn = function(){
 72.3536 +                Ext.fly(dom, '_internal').removeClass(className);
 72.3537 +                d.removeListener("mouseup", fn);
 72.3538 +            };
 72.3539 +            d.on("mouseup", fn);
 72.3540 +        });
 72.3541 +        return this;
 72.3542 +    },
 72.3543 +
 72.3544 +    
 72.3545 +    swallowEvent : function(eventName, preventDefault){
 72.3546 +        var fn = function(e){
 72.3547 +            e.stopPropagation();
 72.3548 +            if(preventDefault){
 72.3549 +                e.preventDefault();
 72.3550 +            }
 72.3551 +        };
 72.3552 +        if(Ext.isArray(eventName)){
 72.3553 +            for(var i = 0, len = eventName.length; i < len; i++){
 72.3554 +                 this.on(eventName[i], fn);
 72.3555 +            }
 72.3556 +            return this;
 72.3557 +        }
 72.3558 +        this.on(eventName, fn);
 72.3559 +        return this;
 72.3560 +    },
 72.3561 +
 72.3562 +    
 72.3563 +    parent : function(selector, returnDom){
 72.3564 +        return this.matchNode('parentNode', 'parentNode', selector, returnDom);
 72.3565 +    },
 72.3566 +
 72.3567 +     
 72.3568 +    next : function(selector, returnDom){
 72.3569 +        return this.matchNode('nextSibling', 'nextSibling', selector, returnDom);
 72.3570 +    },
 72.3571 +
 72.3572 +    
 72.3573 +    prev : function(selector, returnDom){
 72.3574 +        return this.matchNode('previousSibling', 'previousSibling', selector, returnDom);
 72.3575 +    },
 72.3576 +
 72.3577 +
 72.3578 +    
 72.3579 +    first : function(selector, returnDom){
 72.3580 +        return this.matchNode('nextSibling', 'firstChild', selector, returnDom);
 72.3581 +    },
 72.3582 +
 72.3583 +    
 72.3584 +    last : function(selector, returnDom){
 72.3585 +        return this.matchNode('previousSibling', 'lastChild', selector, returnDom);
 72.3586 +    },
 72.3587 +
 72.3588 +    matchNode : function(dir, start, selector, returnDom){
 72.3589 +        var n = this.dom[start];
 72.3590 +        while(n){
 72.3591 +            if(n.nodeType == 1 && (!selector || Ext.DomQuery.is(n, selector))){
 72.3592 +                return !returnDom ? Ext.get(n) : n;
 72.3593 +            }
 72.3594 +            n = n[dir];
 72.3595 +        }
 72.3596 +        return null;
 72.3597 +    },
 72.3598 +
 72.3599 +    
 72.3600 +    appendChild: function(el){
 72.3601 +        el = Ext.get(el);
 72.3602 +        el.appendTo(this);
 72.3603 +        return this;
 72.3604 +    },
 72.3605 +
 72.3606 +    
 72.3607 +    createChild: function(config, insertBefore, returnDom){
 72.3608 +        config = config || {tag:'div'};
 72.3609 +        if(insertBefore){
 72.3610 +            return Ext.DomHelper.insertBefore(insertBefore, config, returnDom !== true);
 72.3611 +        }
 72.3612 +        return Ext.DomHelper[!this.dom.firstChild ? 'overwrite' : 'append'](this.dom, config,  returnDom !== true);
 72.3613 +    },
 72.3614 +
 72.3615 +    
 72.3616 +    appendTo: function(el){
 72.3617 +        el = Ext.getDom(el);
 72.3618 +        el.appendChild(this.dom);
 72.3619 +        return this;
 72.3620 +    },
 72.3621 +
 72.3622 +    
 72.3623 +    insertBefore: function(el){
 72.3624 +        el = Ext.getDom(el);
 72.3625 +        el.parentNode.insertBefore(this.dom, el);
 72.3626 +        return this;
 72.3627 +    },
 72.3628 +
 72.3629 +    
 72.3630 +    insertAfter: function(el){
 72.3631 +        el = Ext.getDom(el);
 72.3632 +        el.parentNode.insertBefore(this.dom, el.nextSibling);
 72.3633 +        return this;
 72.3634 +    },
 72.3635 +
 72.3636 +    
 72.3637 +    insertFirst: function(el, returnDom){
 72.3638 +        el = el || {};
 72.3639 +        if(typeof el == 'object' && !el.nodeType && !el.dom){             return this.createChild(el, this.dom.firstChild, returnDom);
 72.3640 +        }else{
 72.3641 +            el = Ext.getDom(el);
 72.3642 +            this.dom.insertBefore(el, this.dom.firstChild);
 72.3643 +            return !returnDom ? Ext.get(el) : el;
 72.3644 +        }
 72.3645 +    },
 72.3646 +
 72.3647 +    
 72.3648 +    insertSibling: function(el, where, returnDom){
 72.3649 +        var rt;
 72.3650 +        if(Ext.isArray(el)){
 72.3651 +            for(var i = 0, len = el.length; i < len; i++){
 72.3652 +                rt = this.insertSibling(el[i], where, returnDom);
 72.3653 +            }
 72.3654 +            return rt;
 72.3655 +        }
 72.3656 +        where = where ? where.toLowerCase() : 'before';
 72.3657 +        el = el || {};
 72.3658 +        var refNode = where == 'before' ? this.dom : this.dom.nextSibling;
 72.3659 +
 72.3660 +        if(typeof el == 'object' && !el.nodeType && !el.dom){             if(where == 'after' && !this.dom.nextSibling){
 72.3661 +                rt = Ext.DomHelper.append(this.dom.parentNode, el, !returnDom);
 72.3662 +            }else{
 72.3663 +                rt = Ext.DomHelper[where == 'after' ? 'insertAfter' : 'insertBefore'](this.dom, el, !returnDom);
 72.3664 +            }
 72.3665 +
 72.3666 +        }else{
 72.3667 +            rt = this.dom.parentNode.insertBefore(Ext.getDom(el), refNode);
 72.3668 +            if(!returnDom){
 72.3669 +                rt = Ext.get(rt);
 72.3670 +            }
 72.3671 +        }
 72.3672 +        return rt;
 72.3673 +    },
 72.3674 +
 72.3675 +    
 72.3676 +    wrap: function(config, returnDom){
 72.3677 +        if(!config){
 72.3678 +            config = {tag: "div"};
 72.3679 +        }
 72.3680 +        var newEl = Ext.DomHelper.insertBefore(this.dom, config, !returnDom);
 72.3681 +        newEl.dom ? newEl.dom.appendChild(this.dom) : newEl.appendChild(this.dom);
 72.3682 +        return newEl;
 72.3683 +    },
 72.3684 +
 72.3685 +    
 72.3686 +    replace: function(el){
 72.3687 +        el = Ext.get(el);
 72.3688 +        this.insertBefore(el);
 72.3689 +        el.remove();
 72.3690 +        return this;
 72.3691 +    },
 72.3692 +
 72.3693 +    
 72.3694 +    replaceWith: function(el){
 72.3695 +        if(typeof el == 'object' && !el.nodeType && !el.dom){             el = this.insertSibling(el, 'before');
 72.3696 +        }else{
 72.3697 +            el = Ext.getDom(el);
 72.3698 +            this.dom.parentNode.insertBefore(el, this.dom);
 72.3699 +        }
 72.3700 +        El.uncache(this.id);
 72.3701 +        this.dom.parentNode.removeChild(this.dom);
 72.3702 +        this.dom = el;
 72.3703 +        this.id = Ext.id(el);
 72.3704 +        El.cache[this.id] = this;
 72.3705 +        return this;
 72.3706 +    },
 72.3707 +
 72.3708 +    
 72.3709 +    insertHtml : function(where, html, returnEl){
 72.3710 +        var el = Ext.DomHelper.insertHtml(where, this.dom, html);
 72.3711 +        return returnEl ? Ext.get(el) : el;
 72.3712 +    },
 72.3713 +
 72.3714 +    
 72.3715 +    set : function(o, useSet){
 72.3716 +        var el = this.dom;
 72.3717 +        useSet = typeof useSet == 'undefined' ? (el.setAttribute ? true : false) : useSet;
 72.3718 +        for(var attr in o){
 72.3719 +            if(attr == "style" || typeof o[attr] == "function") continue;
 72.3720 +            if(attr=="cls"){
 72.3721 +                el.className = o["cls"];
 72.3722 +            }else if(o.hasOwnProperty(attr)){
 72.3723 +                if(useSet) el.setAttribute(attr, o[attr]);
 72.3724 +                else el[attr] = o[attr];
 72.3725 +            }
 72.3726 +        }
 72.3727 +        if(o.style){
 72.3728 +            Ext.DomHelper.applyStyles(el, o.style);
 72.3729 +        }
 72.3730 +        return this;
 72.3731 +    },
 72.3732 +
 72.3733 +    
 72.3734 +    addKeyListener : function(key, fn, scope){
 72.3735 +        var config;
 72.3736 +        if(typeof key != "object" || Ext.isArray(key)){
 72.3737 +            config = {
 72.3738 +                key: key,
 72.3739 +                fn: fn,
 72.3740 +                scope: scope
 72.3741 +            };
 72.3742 +        }else{
 72.3743 +            config = {
 72.3744 +                key : key.key,
 72.3745 +                shift : key.shift,
 72.3746 +                ctrl : key.ctrl,
 72.3747 +                alt : key.alt,
 72.3748 +                fn: fn,
 72.3749 +                scope: scope
 72.3750 +            };
 72.3751 +        }
 72.3752 +        return new Ext.KeyMap(this, config);
 72.3753 +    },
 72.3754 +
 72.3755 +    
 72.3756 +    addKeyMap : function(config){
 72.3757 +        return new Ext.KeyMap(this, config);
 72.3758 +    },
 72.3759 +
 72.3760 +    
 72.3761 +     isScrollable : function(){
 72.3762 +        var dom = this.dom;
 72.3763 +        return dom.scrollHeight > dom.clientHeight || dom.scrollWidth > dom.clientWidth;
 72.3764 +    },
 72.3765 +
 72.3766 +    
 72.3767 +    scrollTo : function(side, value, animate){
 72.3768 +        var prop = side.toLowerCase() == "left" ? "scrollLeft" : "scrollTop";
 72.3769 +        if(!animate || !A){
 72.3770 +            this.dom[prop] = value;
 72.3771 +        }else{
 72.3772 +            var to = prop == "scrollLeft" ? [value, this.dom.scrollTop] : [this.dom.scrollLeft, value];
 72.3773 +            this.anim({scroll: {"to": to}}, this.preanim(arguments, 2), 'scroll');
 72.3774 +        }
 72.3775 +        return this;
 72.3776 +    },
 72.3777 +
 72.3778 +    
 72.3779 +     scroll : function(direction, distance, animate){
 72.3780 +         if(!this.isScrollable()){
 72.3781 +             return;
 72.3782 +         }
 72.3783 +         var el = this.dom;
 72.3784 +         var l = el.scrollLeft, t = el.scrollTop;
 72.3785 +         var w = el.scrollWidth, h = el.scrollHeight;
 72.3786 +         var cw = el.clientWidth, ch = el.clientHeight;
 72.3787 +         direction = direction.toLowerCase();
 72.3788 +         var scrolled = false;
 72.3789 +         var a = this.preanim(arguments, 2);
 72.3790 +         switch(direction){
 72.3791 +             case "l":
 72.3792 +             case "left":
 72.3793 +                 if(w - l > cw){
 72.3794 +                     var v = Math.min(l + distance, w-cw);
 72.3795 +                     this.scrollTo("left", v, a);
 72.3796 +                     scrolled = true;
 72.3797 +                 }
 72.3798 +                 break;
 72.3799 +            case "r":
 72.3800 +            case "right":
 72.3801 +                 if(l > 0){
 72.3802 +                     var v = Math.max(l - distance, 0);
 72.3803 +                     this.scrollTo("left", v, a);
 72.3804 +                     scrolled = true;
 72.3805 +                 }
 72.3806 +                 break;
 72.3807 +            case "t":
 72.3808 +            case "top":
 72.3809 +            case "up":
 72.3810 +                 if(t > 0){
 72.3811 +                     var v = Math.max(t - distance, 0);
 72.3812 +                     this.scrollTo("top", v, a);
 72.3813 +                     scrolled = true;
 72.3814 +                 }
 72.3815 +                 break;
 72.3816 +            case "b":
 72.3817 +            case "bottom":
 72.3818 +            case "down":
 72.3819 +                 if(h - t > ch){
 72.3820 +                     var v = Math.min(t + distance, h-ch);
 72.3821 +                     this.scrollTo("top", v, a);
 72.3822 +                     scrolled = true;
 72.3823 +                 }
 72.3824 +                 break;
 72.3825 +         }
 72.3826 +         return scrolled;
 72.3827 +    },
 72.3828 +
 72.3829 +    
 72.3830 +    translatePoints : function(x, y){
 72.3831 +        if(typeof x == 'object' || Ext.isArray(x)){
 72.3832 +            y = x[1]; x = x[0];
 72.3833 +        }
 72.3834 +        var p = this.getStyle('position');
 72.3835 +        var o = this.getXY();
 72.3836 +
 72.3837 +        var l = parseInt(this.getStyle('left'), 10);
 72.3838 +        var t = parseInt(this.getStyle('top'), 10);
 72.3839 +
 72.3840 +        if(isNaN(l)){
 72.3841 +            l = (p == "relative") ? 0 : this.dom.offsetLeft;
 72.3842 +        }
 72.3843 +        if(isNaN(t)){
 72.3844 +            t = (p == "relative") ? 0 : this.dom.offsetTop;
 72.3845 +        }
 72.3846 +
 72.3847 +        return {left: (x - o[0] + l), top: (y - o[1] + t)};
 72.3848 +    },
 72.3849 +
 72.3850 +    
 72.3851 +    getScroll : function(){
 72.3852 +        var d = this.dom, doc = document;
 72.3853 +        if(d == doc || d == doc.body){
 72.3854 +            var l, t;
 72.3855 +            if(Ext.isIE && Ext.isStrict){
 72.3856 +                l = doc.documentElement.scrollLeft || (doc.body.scrollLeft || 0);
 72.3857 +                t = doc.documentElement.scrollTop || (doc.body.scrollTop || 0);
 72.3858 +            }else{
 72.3859 +                l = window.pageXOffset || (doc.body.scrollLeft || 0);
 72.3860 +                t = window.pageYOffset || (doc.body.scrollTop || 0);
 72.3861 +            }
 72.3862 +            return {left: l, top: t};
 72.3863 +        }else{
 72.3864 +            return {left: d.scrollLeft, top: d.scrollTop};
 72.3865 +        }
 72.3866 +    },
 72.3867 +
 72.3868 +    
 72.3869 +    getColor : function(attr, defaultValue, prefix){
 72.3870 +        var v = this.getStyle(attr);
 72.3871 +        if(!v || v == "transparent" || v == "inherit") {
 72.3872 +            return defaultValue;
 72.3873 +        }
 72.3874 +        var color = typeof prefix == "undefined" ? "#" : prefix;
 72.3875 +        if(v.substr(0, 4) == "rgb("){
 72.3876 +            var rvs = v.slice(4, v.length -1).split(",");
 72.3877 +            for(var i = 0; i < 3; i++){
 72.3878 +                var h = parseInt(rvs[i]);
 72.3879 +                var s = h.toString(16);
 72.3880 +                if(h < 16){
 72.3881 +                    s = "0" + s;
 72.3882 +                }
 72.3883 +                color += s;
 72.3884 +            }
 72.3885 +        } else {
 72.3886 +            if(v.substr(0, 1) == "#"){
 72.3887 +                if(v.length == 4) {
 72.3888 +                    for(var i = 1; i < 4; i++){
 72.3889 +                        var c = v.charAt(i);
 72.3890 +                        color +=  c + c;
 72.3891 +                    }
 72.3892 +                }else if(v.length == 7){
 72.3893 +                    color += v.substr(1);
 72.3894 +                }
 72.3895 +            }
 72.3896 +        }
 72.3897 +        return(color.length > 5 ? color.toLowerCase() : defaultValue);
 72.3898 +    },
 72.3899 +
 72.3900 +    
 72.3901 +    boxWrap : function(cls){
 72.3902 +        cls = cls || 'x-box';
 72.3903 +        var el = Ext.get(this.insertHtml('beforeBegin', String.format('<div class="{0}">'+El.boxMarkup+'</div>', cls)));
 72.3904 +        el.child('.'+cls+'-mc').dom.appendChild(this.dom);
 72.3905 +        return el;
 72.3906 +    },
 72.3907 +
 72.3908 +    
 72.3909 +    getAttributeNS : Ext.isIE ? function(ns, name){
 72.3910 +        var d = this.dom;
 72.3911 +        var type = typeof d[ns+":"+name];
 72.3912 +        if(type != 'undefined' && type != 'unknown'){
 72.3913 +            return d[ns+":"+name];
 72.3914 +        }
 72.3915 +        return d[name];
 72.3916 +    } : function(ns, name){
 72.3917 +        var d = this.dom;
 72.3918 +        return d.getAttributeNS(ns, name) || d.getAttribute(ns+":"+name) || d.getAttribute(name) || d[name];
 72.3919 +    },
 72.3920 +
 72.3921 +    getTextWidth : function(text, min, max){
 72.3922 +        return (Ext.util.TextMetrics.measure(this.dom, Ext.value(text, this.dom.innerHTML, true)).width).constrain(min || 0, max || 1000000);
 72.3923 +    }
 72.3924 +};
 72.3925 +
 72.3926 +var ep = El.prototype;
 72.3927 +
 72.3928 +
 72.3929 +ep.on = ep.addListener;
 72.3930 +    ep.mon = ep.addListener;
 72.3931 +
 72.3932 +ep.getUpdateManager = ep.getUpdater;
 72.3933 +
 72.3934 +
 72.3935 +ep.un = ep.removeListener;
 72.3936 +
 72.3937 +
 72.3938 +ep.autoBoxAdjust = true;
 72.3939 +
 72.3940 +El.unitPattern = /\d+(px|em|%|en|ex|pt|in|cm|mm|pc)$/i;
 72.3941 +
 72.3942 +El.addUnits = function(v, defaultUnit){
 72.3943 +    if(v === "" || v == "auto"){
 72.3944 +        return v;
 72.3945 +    }
 72.3946 +    if(v === undefined){
 72.3947 +        return '';
 72.3948 +    }
 72.3949 +    if(typeof v == "number" || !El.unitPattern.test(v)){
 72.3950 +        return v + (defaultUnit || 'px');
 72.3951 +    }
 72.3952 +    return v;
 72.3953 +};
 72.3954 +
 72.3955 +El.boxMarkup = '<div class="{0}-tl"><div class="{0}-tr"><div class="{0}-tc"></div></div></div><div class="{0}-ml"><div class="{0}-mr"><div class="{0}-mc"></div></div></div><div class="{0}-bl"><div class="{0}-br"><div class="{0}-bc"></div></div></div>';
 72.3956 +
 72.3957 +El.VISIBILITY = 1;
 72.3958 +
 72.3959 +El.DISPLAY = 2;
 72.3960 +
 72.3961 +El.borders = {l: "border-left-width", r: "border-right-width", t: "border-top-width", b: "border-bottom-width"};
 72.3962 +El.paddings = {l: "padding-left", r: "padding-right", t: "padding-top", b: "padding-bottom"};
 72.3963 +El.margins = {l: "margin-left", r: "margin-right", t: "margin-top", b: "margin-bottom"};
 72.3964 +
 72.3965 +
 72.3966 +
 72.3967 +
 72.3968 +El.cache = {};
 72.3969 +
 72.3970 +var docEl;
 72.3971 +
 72.3972 +
 72.3973 +El.get = function(el){
 72.3974 +    var ex, elm, id;
 72.3975 +    if(!el){ return null; }
 72.3976 +    if(typeof el == "string"){         if(!(elm = document.getElementById(el))){
 72.3977 +            return null;
 72.3978 +        }
 72.3979 +        if(ex = El.cache[el]){
 72.3980 +            ex.dom = elm;
 72.3981 +        }else{
 72.3982 +            ex = El.cache[el] = new El(elm);
 72.3983 +        }
 72.3984 +        return ex;
 72.3985 +    }else if(el.tagName){         if(!(id = el.id)){
 72.3986 +            id = Ext.id(el);
 72.3987 +        }
 72.3988 +        if(ex = El.cache[id]){
 72.3989 +            ex.dom = el;
 72.3990 +        }else{
 72.3991 +            ex = El.cache[id] = new El(el);
 72.3992 +        }
 72.3993 +        return ex;
 72.3994 +    }else if(el instanceof El){
 72.3995 +        if(el != docEl){
 72.3996 +            el.dom = document.getElementById(el.id) || el.dom;                                                                       El.cache[el.id] = el;         }
 72.3997 +        return el;
 72.3998 +    }else if(el.isComposite){
 72.3999 +        return el;
 72.4000 +    }else if(Ext.isArray(el)){
 72.4001 +        return El.select(el);
 72.4002 +    }else if(el == document){
 72.4003 +                if(!docEl){
 72.4004 +            var f = function(){};
 72.4005 +            f.prototype = El.prototype;
 72.4006 +            docEl = new f();
 72.4007 +            docEl.dom = document;
 72.4008 +        }
 72.4009 +        return docEl;
 72.4010 +    }
 72.4011 +    return null;
 72.4012 +};
 72.4013 +
 72.4014 +El.uncache = function(el){
 72.4015 +    for(var i = 0, a = arguments, len = a.length; i < len; i++) {
 72.4016 +        if(a[i]){
 72.4017 +            delete El.cache[a[i].id || a[i]];
 72.4018 +        }
 72.4019 +    }
 72.4020 +};
 72.4021 +
 72.4022 +El.garbageCollect = function(){
 72.4023 +    if(!Ext.enableGarbageCollector){
 72.4024 +        clearInterval(El.collectorThread);
 72.4025 +        return;
 72.4026 +    }
 72.4027 +    for(var eid in El.cache){
 72.4028 +        var el = El.cache[eid], d = el.dom;
 72.4029 +                                                                                                                                                if(!d || !d.parentNode || (!d.offsetParent && !document.getElementById(eid))){
 72.4030 +            delete El.cache[eid];
 72.4031 +            if(d && Ext.enableListenerCollection){
 72.4032 +                E.purgeElement(d);
 72.4033 +            }
 72.4034 +        }
 72.4035 +    }
 72.4036 +}
 72.4037 +El.collectorThreadId = setInterval(El.garbageCollect, 30000);
 72.4038 +
 72.4039 +var flyFn = function(){};
 72.4040 +flyFn.prototype = El.prototype;
 72.4041 +var _cls = new flyFn();
 72.4042 +
 72.4043 +El.Flyweight = function(dom){
 72.4044 +    this.dom = dom;
 72.4045 +};
 72.4046 +
 72.4047 +El.Flyweight.prototype = _cls;
 72.4048 +El.Flyweight.prototype.isFlyweight = true;
 72.4049 +
 72.4050 +El._flyweights = {};
 72.4051 +
 72.4052 +El.fly = function(el, named){
 72.4053 +    named = named || '_global';
 72.4054 +    el = Ext.getDom(el);
 72.4055 +    if(!el){
 72.4056 +        return null;
 72.4057 +    }
 72.4058 +    if(!El._flyweights[named]){
 72.4059 +        El._flyweights[named] = new El.Flyweight();
 72.4060 +    }
 72.4061 +    El._flyweights[named].dom = el;
 72.4062 +    return El._flyweights[named];
 72.4063 +};
 72.4064 +
 72.4065 +
 72.4066 +Ext.get = El.get;
 72.4067 +
 72.4068 +Ext.fly = El.fly;
 72.4069 +
 72.4070 +var noBoxAdjust = Ext.isStrict ? {
 72.4071 +    select:1
 72.4072 +} : {
 72.4073 +    input:1, select:1, textarea:1
 72.4074 +};
 72.4075 +if(Ext.isIE || Ext.isGecko){
 72.4076 +    noBoxAdjust['button'] = 1;
 72.4077 +}
 72.4078 +
 72.4079 +
 72.4080 +Ext.EventManager.on(window, 'unload', function(){
 72.4081 +    delete El.cache;
 72.4082 +    delete El._flyweights;
 72.4083 +});
 72.4084 +})();
 72.4085 +
 72.4086 +Ext.enableFx = true;
 72.4087 +
 72.4088 +
 72.4089 +Ext.Fx = {
 72.4090 +	
 72.4091 +    slideIn : function(anchor, o){
 72.4092 +        var el = this.getFxEl();
 72.4093 +        o = o || {};
 72.4094 +
 72.4095 +        el.queueFx(o, function(){
 72.4096 +
 72.4097 +            anchor = anchor || "t";
 72.4098 +
 72.4099 +                        this.fixDisplay();
 72.4100 +
 72.4101 +                        var r = this.getFxRestore();
 72.4102 +            var b = this.getBox();
 72.4103 +                        this.setSize(b);
 72.4104 +
 72.4105 +                        var wrap = this.fxWrap(r.pos, o, "hidden");
 72.4106 +
 72.4107 +            var st = this.dom.style;
 72.4108 +            st.visibility = "visible";
 72.4109 +            st.position = "absolute";
 72.4110 +
 72.4111 +                        var after = function(){
 72.4112 +                el.fxUnwrap(wrap, r.pos, o);
 72.4113 +                st.width = r.width;
 72.4114 +                st.height = r.height;
 72.4115 +                el.afterFx(o);
 72.4116 +            };
 72.4117 +                        var a, pt = {to: [b.x, b.y]}, bw = {to: b.width}, bh = {to: b.height};
 72.4118 +
 72.4119 +            switch(anchor.toLowerCase()){
 72.4120 +                case "t":
 72.4121 +                    wrap.setSize(b.width, 0);
 72.4122 +                    st.left = st.bottom = "0";
 72.4123 +                    a = {height: bh};
 72.4124 +                break;
 72.4125 +                case "l":
 72.4126 +                    wrap.setSize(0, b.height);
 72.4127 +                    st.right = st.top = "0";
 72.4128 +                    a = {width: bw};
 72.4129 +                break;
 72.4130 +                case "r":
 72.4131 +                    wrap.setSize(0, b.height);
 72.4132 +                    wrap.setX(b.right);
 72.4133 +                    st.left = st.top = "0";
 72.4134 +                    a = {width: bw, points: pt};
 72.4135 +                break;
 72.4136 +                case "b":
 72.4137 +                    wrap.setSize(b.width, 0);
 72.4138 +                    wrap.setY(b.bottom);
 72.4139 +                    st.left = st.top = "0";
 72.4140 +                    a = {height: bh, points: pt};
 72.4141 +                break;
 72.4142 +                case "tl":
 72.4143 +                    wrap.setSize(0, 0);
 72.4144 +                    st.right = st.bottom = "0";
 72.4145 +                    a = {width: bw, height: bh};
 72.4146 +                break;
 72.4147 +                case "bl":
 72.4148 +                    wrap.setSize(0, 0);
 72.4149 +                    wrap.setY(b.y+b.height);
 72.4150 +                    st.right = st.top = "0";
 72.4151 +                    a = {width: bw, height: bh, points: pt};
 72.4152 +                break;
 72.4153 +                case "br":
 72.4154 +                    wrap.setSize(0, 0);
 72.4155 +                    wrap.setXY([b.right, b.bottom]);
 72.4156 +                    st.left = st.top = "0";
 72.4157 +                    a = {width: bw, height: bh, points: pt};
 72.4158 +                break;
 72.4159 +                case "tr":
 72.4160 +                    wrap.setSize(0, 0);
 72.4161 +                    wrap.setX(b.x+b.width);
 72.4162 +                    st.left = st.bottom = "0";
 72.4163 +                    a = {width: bw, height: bh, points: pt};
 72.4164 +                break;
 72.4165 +            }
 72.4166 +            this.dom.style.visibility = "visible";
 72.4167 +            wrap.show();
 72.4168 +
 72.4169 +            arguments.callee.anim = wrap.fxanim(a,
 72.4170 +                o,
 72.4171 +                'motion',
 72.4172 +                .5,
 72.4173 +                'easeOut', after);
 72.4174 +        });
 72.4175 +        return this;
 72.4176 +    },
 72.4177 +    
 72.4178 +	
 72.4179 +    slideOut : function(anchor, o){
 72.4180 +        var el = this.getFxEl();
 72.4181 +        o = o || {};
 72.4182 +
 72.4183 +        el.queueFx(o, function(){
 72.4184 +
 72.4185 +            anchor = anchor || "t";
 72.4186 +
 72.4187 +                        var r = this.getFxRestore();
 72.4188 +            
 72.4189 +            var b = this.getBox();
 72.4190 +                        this.setSize(b);
 72.4191 +
 72.4192 +                        var wrap = this.fxWrap(r.pos, o, "visible");
 72.4193 +
 72.4194 +            var st = this.dom.style;
 72.4195 +            st.visibility = "visible";
 72.4196 +            st.position = "absolute";
 72.4197 +
 72.4198 +            wrap.setSize(b);
 72.4199 +
 72.4200 +            var after = function(){
 72.4201 +                if(o.useDisplay){
 72.4202 +                    el.setDisplayed(false);
 72.4203 +                }else{
 72.4204 +                    el.hide();
 72.4205 +                }
 72.4206 +
 72.4207 +                el.fxUnwrap(wrap, r.pos, o);
 72.4208 +
 72.4209 +                st.width = r.width;
 72.4210 +                st.height = r.height;
 72.4211 +
 72.4212 +                el.afterFx(o);
 72.4213 +            };
 72.4214 +
 72.4215 +            var a, zero = {to: 0};
 72.4216 +            switch(anchor.toLowerCase()){
 72.4217 +                case "t":
 72.4218 +                    st.left = st.bottom = "0";
 72.4219 +                    a = {height: zero};
 72.4220 +                break;
 72.4221 +                case "l":
 72.4222 +                    st.right = st.top = "0";
 72.4223 +                    a = {width: zero};
 72.4224 +                break;
 72.4225 +                case "r":
 72.4226 +                    st.left = st.top = "0";
 72.4227 +                    a = {width: zero, points: {to:[b.right, b.y]}};
 72.4228 +                break;
 72.4229 +                case "b":
 72.4230 +                    st.left = st.top = "0";
 72.4231 +                    a = {height: zero, points: {to:[b.x, b.bottom]}};
 72.4232 +                break;
 72.4233 +                case "tl":
 72.4234 +                    st.right = st.bottom = "0";
 72.4235 +                    a = {width: zero, height: zero};
 72.4236 +                break;
 72.4237 +                case "bl":
 72.4238 +                    st.right = st.top = "0";
 72.4239 +                    a = {width: zero, height: zero, points: {to:[b.x, b.bottom]}};
 72.4240 +                break;
 72.4241 +                case "br":
 72.4242 +                    st.left = st.top = "0";
 72.4243 +                    a = {width: zero, height: zero, points: {to:[b.x+b.width, b.bottom]}};
 72.4244 +                break;
 72.4245 +                case "tr":
 72.4246 +                    st.left = st.bottom = "0";
 72.4247 +                    a = {width: zero, height: zero, points: {to:[b.right, b.y]}};
 72.4248 +                break;
 72.4249 +            }
 72.4250 +
 72.4251 +            arguments.callee.anim = wrap.fxanim(a,
 72.4252 +                o,
 72.4253 +                'motion',
 72.4254 +                .5,
 72.4255 +                "easeOut", after);
 72.4256 +        });
 72.4257 +        return this;
 72.4258 +    },
 72.4259 +
 72.4260 +	
 72.4261 +    puff : function(o){
 72.4262 +        var el = this.getFxEl();
 72.4263 +        o = o || {};
 72.4264 +
 72.4265 +        el.queueFx(o, function(){
 72.4266 +            this.clearOpacity();
 72.4267 +            this.show();
 72.4268 +
 72.4269 +                        var r = this.getFxRestore();
 72.4270 +            var st = this.dom.style;
 72.4271 +
 72.4272 +            var after = function(){
 72.4273 +                if(o.useDisplay){
 72.4274 +                    el.setDisplayed(false);
 72.4275 +                }else{
 72.4276 +                    el.hide();
 72.4277 +                }
 72.4278 +
 72.4279 +                el.clearOpacity();
 72.4280 +
 72.4281 +                el.setPositioning(r.pos);
 72.4282 +                st.width = r.width;
 72.4283 +                st.height = r.height;
 72.4284 +                st.fontSize = '';
 72.4285 +                el.afterFx(o);
 72.4286 +            };
 72.4287 +
 72.4288 +            var width = this.getWidth();
 72.4289 +            var height = this.getHeight();
 72.4290 +
 72.4291 +            arguments.callee.anim = this.fxanim({
 72.4292 +                    width : {to: this.adjustWidth(width * 2)},
 72.4293 +                    height : {to: this.adjustHeight(height * 2)},
 72.4294 +                    points : {by: [-(width * .5), -(height * .5)]},
 72.4295 +                    opacity : {to: 0},
 72.4296 +                    fontSize: {to:200, unit: "%"}
 72.4297 +                },
 72.4298 +                o,
 72.4299 +                'motion',
 72.4300 +                .5,
 72.4301 +                "easeOut", after);
 72.4302 +        });
 72.4303 +        return this;
 72.4304 +    },
 72.4305 +
 72.4306 +	
 72.4307 +    switchOff : function(o){
 72.4308 +        var el = this.getFxEl();
 72.4309 +        o = o || {};
 72.4310 +
 72.4311 +        el.queueFx(o, function(){
 72.4312 +            this.clearOpacity();
 72.4313 +            this.clip();
 72.4314 +
 72.4315 +                        var r = this.getFxRestore();
 72.4316 +            var st = this.dom.style;
 72.4317 +
 72.4318 +            var after = function(){
 72.4319 +                if(o.useDisplay){
 72.4320 +                    el.setDisplayed(false);
 72.4321 +                }else{
 72.4322 +                    el.hide();
 72.4323 +                }
 72.4324 +
 72.4325 +                el.clearOpacity();
 72.4326 +                el.setPositioning(r.pos);
 72.4327 +                st.width = r.width;
 72.4328 +                st.height = r.height;
 72.4329 +
 72.4330 +                el.afterFx(o);
 72.4331 +            };
 72.4332 +
 72.4333 +            this.fxanim({opacity:{to:0.3}}, null, null, .1, null, function(){
 72.4334 +                this.clearOpacity();
 72.4335 +                (function(){
 72.4336 +                    this.fxanim({
 72.4337 +                        height:{to:1},
 72.4338 +                        points:{by:[0, this.getHeight() * .5]}
 72.4339 +                    }, o, 'motion', 0.3, 'easeIn', after);
 72.4340 +                }).defer(100, this);
 72.4341 +            });
 72.4342 +        });
 72.4343 +        return this;
 72.4344 +    },
 72.4345 +
 72.4346 +    	
 72.4347 +    highlight : function(color, o){
 72.4348 +        var el = this.getFxEl();
 72.4349 +        o = o || {};
 72.4350 +
 72.4351 +        el.queueFx(o, function(){
 72.4352 +            color = color || "ffff9c";
 72.4353 +            var attr = o.attr || "backgroundColor";
 72.4354 +
 72.4355 +            this.clearOpacity();
 72.4356 +            this.show();
 72.4357 +
 72.4358 +            var origColor = this.getColor(attr);
 72.4359 +            var restoreColor = this.dom.style[attr];
 72.4360 +            var endColor = (o.endColor || origColor) || "ffffff";
 72.4361 +
 72.4362 +            var after = function(){
 72.4363 +                el.dom.style[attr] = restoreColor;
 72.4364 +                el.afterFx(o);
 72.4365 +            };
 72.4366 +
 72.4367 +            var a = {};
 72.4368 +            a[attr] = {from: color, to: endColor};
 72.4369 +            arguments.callee.anim = this.fxanim(a,
 72.4370 +                o,
 72.4371 +                'color',
 72.4372 +                1,
 72.4373 +                'easeIn', after);
 72.4374 +        });
 72.4375 +        return this;
 72.4376 +    },
 72.4377 +
 72.4378 +   
 72.4379 +    frame : function(color, count, o){
 72.4380 +        var el = this.getFxEl();
 72.4381 +        o = o || {};
 72.4382 +
 72.4383 +        el.queueFx(o, function(){
 72.4384 +            color = color || "#C3DAF9";
 72.4385 +            if(color.length == 6){
 72.4386 +                color = "#" + color;
 72.4387 +            }
 72.4388 +            count = count || 1;
 72.4389 +            var duration = o.duration || 1;
 72.4390 +            this.show();
 72.4391 +
 72.4392 +            var b = this.getBox();
 72.4393 +            var animFn = function(){
 72.4394 +                var proxy = Ext.getBody().createChild({
 72.4395 +                     style:{
 72.4396 +                        visbility:"hidden",
 72.4397 +                        position:"absolute",
 72.4398 +                        "z-index":"35000",                         border:"0px solid " + color
 72.4399 +                     }
 72.4400 +                  });
 72.4401 +                var scale = Ext.isBorderBox ? 2 : 1;
 72.4402 +                proxy.animate({
 72.4403 +                    top:{from:b.y, to:b.y - 20},
 72.4404 +                    left:{from:b.x, to:b.x - 20},
 72.4405 +                    borderWidth:{from:0, to:10},
 72.4406 +                    opacity:{from:1, to:0},
 72.4407 +                    height:{from:b.height, to:(b.height + (20*scale))},
 72.4408 +                    width:{from:b.width, to:(b.width + (20*scale))}
 72.4409 +                }, duration, function(){
 72.4410 +                    proxy.remove();
 72.4411 +                    if(--count > 0){
 72.4412 +                         animFn();
 72.4413 +                    }else{
 72.4414 +                        el.afterFx(o);
 72.4415 +                    }
 72.4416 +                });
 72.4417 +            };
 72.4418 +            animFn.call(this);
 72.4419 +        });
 72.4420 +        return this;
 72.4421 +    },
 72.4422 +
 72.4423 +   
 72.4424 +    pause : function(seconds){
 72.4425 +        var el = this.getFxEl();
 72.4426 +        var o = {};
 72.4427 +
 72.4428 +        el.queueFx(o, function(){
 72.4429 +            setTimeout(function(){
 72.4430 +                el.afterFx(o);
 72.4431 +            }, seconds * 1000);
 72.4432 +        });
 72.4433 +        return this;
 72.4434 +    },
 72.4435 +
 72.4436 +   
 72.4437 +    fadeIn : function(o){
 72.4438 +        var el = this.getFxEl();
 72.4439 +        o = o || {};
 72.4440 +        el.queueFx(o, function(){
 72.4441 +            this.setOpacity(0);
 72.4442 +            this.fixDisplay();
 72.4443 +            this.dom.style.visibility = 'visible';
 72.4444 +            var to = o.endOpacity || 1;
 72.4445 +            arguments.callee.anim = this.fxanim({opacity:{to:to}},
 72.4446 +                o, null, .5, "easeOut", function(){
 72.4447 +                if(to == 1){
 72.4448 +                    this.clearOpacity();
 72.4449 +                }
 72.4450 +                el.afterFx(o);
 72.4451 +            });
 72.4452 +        });
 72.4453 +        return this;
 72.4454 +    },
 72.4455 +
 72.4456 +   
 72.4457 +    fadeOut : function(o){
 72.4458 +        var el = this.getFxEl();
 72.4459 +        o = o || {};
 72.4460 +        el.queueFx(o, function(){
 72.4461 +            arguments.callee.anim = this.fxanim({opacity:{to:o.endOpacity || 0}},
 72.4462 +                o, null, .5, "easeOut", function(){
 72.4463 +                if(this.visibilityMode == Ext.Element.DISPLAY || o.useDisplay){
 72.4464 +                     this.dom.style.display = "none";
 72.4465 +                }else{
 72.4466 +                     this.dom.style.visibility = "hidden";
 72.4467 +                }
 72.4468 +                this.clearOpacity();
 72.4469 +                el.afterFx(o);
 72.4470 +            });
 72.4471 +        });
 72.4472 +        return this;
 72.4473 +    },
 72.4474 +
 72.4475 +   
 72.4476 +    scale : function(w, h, o){
 72.4477 +        this.shift(Ext.apply({}, o, {
 72.4478 +            width: w,
 72.4479 +            height: h
 72.4480 +        }));
 72.4481 +        return this;
 72.4482 +    },
 72.4483 +
 72.4484 +   
 72.4485 +    shift : function(o){
 72.4486 +        var el = this.getFxEl();
 72.4487 +        o = o || {};
 72.4488 +        el.queueFx(o, function(){
 72.4489 +            var a = {}, w = o.width, h = o.height, x = o.x, y = o.y,  op = o.opacity;
 72.4490 +            if(w !== undefined){
 72.4491 +                a.width = {to: this.adjustWidth(w)};
 72.4492 +            }
 72.4493 +            if(h !== undefined){
 72.4494 +                a.height = {to: this.adjustHeight(h)};
 72.4495 +            }
 72.4496 +            if(o.left !== undefined){
 72.4497 +                a.left = {to: o.left};
 72.4498 +            }
 72.4499 +            if(o.top !== undefined){
 72.4500 +                a.top = {to: o.top};
 72.4501 +            }
 72.4502 +            if(o.right !== undefined){
 72.4503 +                a.right = {to: o.right};
 72.4504 +            }
 72.4505 +            if(o.bottom !== undefined){
 72.4506 +                a.bottom = {to: o.bottom};
 72.4507 +            }
 72.4508 +            if(x !== undefined || y !== undefined){
 72.4509 +                a.points = {to: [
 72.4510 +                    x !== undefined ? x : this.getX(),
 72.4511 +                    y !== undefined ? y : this.getY()
 72.4512 +                ]};
 72.4513 +            }
 72.4514 +            if(op !== undefined){
 72.4515 +                a.opacity = {to: op};
 72.4516 +            }
 72.4517 +            if(o.xy !== undefined){
 72.4518 +                a.points = {to: o.xy};
 72.4519 +            }
 72.4520 +            arguments.callee.anim = this.fxanim(a,
 72.4521 +                o, 'motion', .35, "easeOut", function(){
 72.4522 +                el.afterFx(o);
 72.4523 +            });
 72.4524 +        });
 72.4525 +        return this;
 72.4526 +    },
 72.4527 +
 72.4528 +	
 72.4529 +    ghost : function(anchor, o){
 72.4530 +        var el = this.getFxEl();
 72.4531 +        o = o || {};
 72.4532 +
 72.4533 +        el.queueFx(o, function(){
 72.4534 +            anchor = anchor || "b";
 72.4535 +
 72.4536 +                        var r = this.getFxRestore();
 72.4537 +            var w = this.getWidth(),
 72.4538 +                h = this.getHeight();
 72.4539 +
 72.4540 +            var st = this.dom.style;
 72.4541 +
 72.4542 +            var after = function(){
 72.4543 +                if(o.useDisplay){
 72.4544 +                    el.setDisplayed(false);
 72.4545 +                }else{
 72.4546 +                    el.hide();
 72.4547 +                }
 72.4548 +
 72.4549 +                el.clearOpacity();
 72.4550 +                el.setPositioning(r.pos);
 72.4551 +                st.width = r.width;
 72.4552 +                st.height = r.height;
 72.4553 +
 72.4554 +                el.afterFx(o);
 72.4555 +            };
 72.4556 +
 72.4557 +            var a = {opacity: {to: 0}, points: {}}, pt = a.points;
 72.4558 +            switch(anchor.toLowerCase()){
 72.4559 +                case "t":
 72.4560 +                    pt.by = [0, -h];
 72.4561 +                break;
 72.4562 +                case "l":
 72.4563 +                    pt.by = [-w, 0];
 72.4564 +                break;
 72.4565 +                case "r":
 72.4566 +                    pt.by = [w, 0];
 72.4567 +                break;
 72.4568 +                case "b":
 72.4569 +                    pt.by = [0, h];
 72.4570 +                break;
 72.4571 +                case "tl":
 72.4572 +                    pt.by = [-w, -h];
 72.4573 +                break;
 72.4574 +                case "bl":
 72.4575 +                    pt.by = [-w, h];
 72.4576 +                break;
 72.4577 +                case "br":
 72.4578 +                    pt.by = [w, h];
 72.4579 +                break;
 72.4580 +                case "tr":
 72.4581 +                    pt.by = [w, -h];
 72.4582 +                break;
 72.4583 +            }
 72.4584 +
 72.4585 +            arguments.callee.anim = this.fxanim(a,
 72.4586 +                o,
 72.4587 +                'motion',
 72.4588 +                .5,
 72.4589 +                "easeOut", after);
 72.4590 +        });
 72.4591 +        return this;
 72.4592 +    },
 72.4593 +
 72.4594 +	
 72.4595 +    syncFx : function(){
 72.4596 +        this.fxDefaults = Ext.apply(this.fxDefaults || {}, {
 72.4597 +            block : false,
 72.4598 +            concurrent : true,
 72.4599 +            stopFx : false
 72.4600 +        });
 72.4601 +        return this;
 72.4602 +    },
 72.4603 +
 72.4604 +	
 72.4605 +    sequenceFx : function(){
 72.4606 +        this.fxDefaults = Ext.apply(this.fxDefaults || {}, {
 72.4607 +            block : false,
 72.4608 +            concurrent : false,
 72.4609 +            stopFx : false
 72.4610 +        });
 72.4611 +        return this;
 72.4612 +    },
 72.4613 +
 72.4614 +	
 72.4615 +    nextFx : function(){
 72.4616 +        var ef = this.fxQueue[0];
 72.4617 +        if(ef){
 72.4618 +            ef.call(this);
 72.4619 +        }
 72.4620 +    },
 72.4621 +
 72.4622 +	
 72.4623 +    hasActiveFx : function(){
 72.4624 +        return this.fxQueue && this.fxQueue[0];
 72.4625 +    },
 72.4626 +
 72.4627 +	
 72.4628 +    stopFx : function(){
 72.4629 +        if(this.hasActiveFx()){
 72.4630 +            var cur = this.fxQueue[0];
 72.4631 +            if(cur && cur.anim && cur.anim.isAnimated()){
 72.4632 +                this.fxQueue = [cur];                 cur.anim.stop(true);
 72.4633 +            }
 72.4634 +        }
 72.4635 +        return this;
 72.4636 +    },
 72.4637 +
 72.4638 +	
 72.4639 +    beforeFx : function(o){
 72.4640 +        if(this.hasActiveFx() && !o.concurrent){
 72.4641 +           if(o.stopFx){
 72.4642 +               this.stopFx();
 72.4643 +               return true;
 72.4644 +           }
 72.4645 +           return false;
 72.4646 +        }
 72.4647 +        return true;
 72.4648 +    },
 72.4649 +
 72.4650 +	
 72.4651 +    hasFxBlock : function(){
 72.4652 +        var q = this.fxQueue;
 72.4653 +        return q && q[0] && q[0].block;
 72.4654 +    },
 72.4655 +
 72.4656 +	
 72.4657 +    queueFx : function(o, fn){
 72.4658 +        if(!this.fxQueue){
 72.4659 +            this.fxQueue = [];
 72.4660 +        }
 72.4661 +        if(!this.hasFxBlock()){
 72.4662 +            Ext.applyIf(o, this.fxDefaults);
 72.4663 +            if(!o.concurrent){
 72.4664 +                var run = this.beforeFx(o);
 72.4665 +                fn.block = o.block;
 72.4666 +                this.fxQueue.push(fn);
 72.4667 +                if(run){
 72.4668 +                    this.nextFx();
 72.4669 +                }
 72.4670 +            }else{
 72.4671 +                fn.call(this);
 72.4672 +            }
 72.4673 +        }
 72.4674 +        return this;
 72.4675 +    },
 72.4676 +
 72.4677 +	
 72.4678 +    fxWrap : function(pos, o, vis){
 72.4679 +        var wrap;
 72.4680 +        if(!o.wrap || !(wrap = Ext.get(o.wrap))){
 72.4681 +            var wrapXY;
 72.4682 +            if(o.fixPosition){
 72.4683 +                wrapXY = this.getXY();
 72.4684 +            }
 72.4685 +            var div = document.createElement("div");
 72.4686 +            div.style.visibility = vis;
 72.4687 +            wrap = Ext.get(this.dom.parentNode.insertBefore(div, this.dom));
 72.4688 +            wrap.setPositioning(pos);
 72.4689 +            if(wrap.getStyle("position") == "static"){
 72.4690 +                wrap.position("relative");
 72.4691 +            }
 72.4692 +            this.clearPositioning('auto');
 72.4693 +            wrap.clip();
 72.4694 +            wrap.dom.appendChild(this.dom);
 72.4695 +            if(wrapXY){
 72.4696 +                wrap.setXY(wrapXY);
 72.4697 +            }
 72.4698 +        }
 72.4699 +        return wrap;
 72.4700 +    },
 72.4701 +
 72.4702 +	
 72.4703 +    fxUnwrap : function(wrap, pos, o){
 72.4704 +        this.clearPositioning();
 72.4705 +        this.setPositioning(pos);
 72.4706 +        if(!o.wrap){
 72.4707 +            wrap.dom.parentNode.insertBefore(this.dom, wrap.dom);
 72.4708 +            wrap.remove();
 72.4709 +        }
 72.4710 +    },
 72.4711 +
 72.4712 +	
 72.4713 +    getFxRestore : function(){
 72.4714 +        var st = this.dom.style;
 72.4715 +        return {pos: this.getPositioning(), width: st.width, height : st.height};
 72.4716 +    },
 72.4717 +
 72.4718 +	
 72.4719 +    afterFx : function(o){
 72.4720 +        if(o.afterStyle){
 72.4721 +            this.applyStyles(o.afterStyle);
 72.4722 +        }
 72.4723 +        if(o.afterCls){
 72.4724 +            this.addClass(o.afterCls);
 72.4725 +        }
 72.4726 +        if(o.remove === true){
 72.4727 +            this.remove();
 72.4728 +        }
 72.4729 +        Ext.callback(o.callback, o.scope, [this]);
 72.4730 +        if(!o.concurrent){
 72.4731 +            this.fxQueue.shift();
 72.4732 +            this.nextFx();
 72.4733 +        }
 72.4734 +    },
 72.4735 +
 72.4736 +	
 72.4737 +    getFxEl : function(){         return Ext.get(this.dom);
 72.4738 +    },
 72.4739 +
 72.4740 +	
 72.4741 +    fxanim : function(args, opt, animType, defaultDur, defaultEase, cb){
 72.4742 +        animType = animType || 'run';
 72.4743 +        opt = opt || {};
 72.4744 +        var anim = Ext.lib.Anim[animType](
 72.4745 +            this.dom, args,
 72.4746 +            (opt.duration || defaultDur) || .35,
 72.4747 +            (opt.easing || defaultEase) || 'easeOut',
 72.4748 +            function(){
 72.4749 +                Ext.callback(cb, this);
 72.4750 +            },
 72.4751 +            this
 72.4752 +        );
 72.4753 +        opt.anim = anim;
 72.4754 +        return anim;
 72.4755 +    }
 72.4756 +};
 72.4757 +
 72.4758 +Ext.Fx.resize = Ext.Fx.scale;
 72.4759 +
 72.4760 +Ext.apply(Ext.Element.prototype, Ext.Fx);
 72.4761 +
 72.4762 +
 72.4763 +Ext.CompositeElement = function(els){
 72.4764 +    this.elements = [];
 72.4765 +    this.addElements(els);
 72.4766 +};
 72.4767 +Ext.CompositeElement.prototype = {
 72.4768 +    isComposite: true,
 72.4769 +    addElements : function(els){
 72.4770 +        if(!els) return this;
 72.4771 +        if(typeof els == "string"){
 72.4772 +            els = Ext.Element.selectorFunction(els);
 72.4773 +        }
 72.4774 +        var yels = this.elements;
 72.4775 +        var index = yels.length-1;
 72.4776 +        for(var i = 0, len = els.length; i < len; i++) {
 72.4777 +        	yels[++index] = Ext.get(els[i]);
 72.4778 +        }
 72.4779 +        return this;
 72.4780 +    },
 72.4781 +
 72.4782 +    
 72.4783 +    fill : function(els){
 72.4784 +        this.elements = [];
 72.4785 +        this.add(els);
 72.4786 +        return this;
 72.4787 +    },
 72.4788 +
 72.4789 +    
 72.4790 +    filter : function(selector){
 72.4791 +        var els = [];
 72.4792 +        this.each(function(el){
 72.4793 +            if(el.is(selector)){
 72.4794 +                els[els.length] = el.dom;
 72.4795 +            }
 72.4796 +        });
 72.4797 +        this.fill(els);
 72.4798 +        return this;
 72.4799 +    },
 72.4800 +
 72.4801 +    invoke : function(fn, args){
 72.4802 +        var els = this.elements;
 72.4803 +        for(var i = 0, len = els.length; i < len; i++) {
 72.4804 +        	Ext.Element.prototype[fn].apply(els[i], args);
 72.4805 +        }
 72.4806 +        return this;
 72.4807 +    },
 72.4808 +    
 72.4809 +    add : function(els){
 72.4810 +        if(typeof els == "string"){
 72.4811 +            this.addElements(Ext.Element.selectorFunction(els));
 72.4812 +        }else if(els.length !== undefined){
 72.4813 +            this.addElements(els);
 72.4814 +        }else{
 72.4815 +            this.addElements([els]);
 72.4816 +        }
 72.4817 +        return this;
 72.4818 +    },
 72.4819 +    
 72.4820 +    each : function(fn, scope){
 72.4821 +        var els = this.elements;
 72.4822 +        for(var i = 0, len = els.length; i < len; i++){
 72.4823 +            if(fn.call(scope || els[i], els[i], this, i) === false) {
 72.4824 +                break;
 72.4825 +            }
 72.4826 +        }
 72.4827 +        return this;
 72.4828 +    },
 72.4829 +
 72.4830 +    
 72.4831 +    item : function(index){
 72.4832 +        return this.elements[index] || null;
 72.4833 +    },
 72.4834 +
 72.4835 +    
 72.4836 +    first : function(){
 72.4837 +        return this.item(0);
 72.4838 +    },
 72.4839 +
 72.4840 +    
 72.4841 +    last : function(){
 72.4842 +        return this.item(this.elements.length-1);
 72.4843 +    },
 72.4844 +
 72.4845 +    
 72.4846 +    getCount : function(){
 72.4847 +        return this.elements.length;
 72.4848 +    },
 72.4849 +
 72.4850 +    
 72.4851 +    contains : function(el){
 72.4852 +        return this.indexOf(el) !== -1;
 72.4853 +    },
 72.4854 +
 72.4855 +    
 72.4856 +    indexOf : function(el){
 72.4857 +        return this.elements.indexOf(Ext.get(el));
 72.4858 +    },
 72.4859 +
 72.4860 +
 72.4861 +    
 72.4862 +    removeElement : function(el, removeDom){
 72.4863 +        if(Ext.isArray(el)){
 72.4864 +            for(var i = 0, len = el.length; i < len; i++){
 72.4865 +                this.removeElement(el[i]);
 72.4866 +            }
 72.4867 +            return this;
 72.4868 +        }
 72.4869 +        var index = typeof el == 'number' ? el : this.indexOf(el);
 72.4870 +        if(index !== -1 && this.elements[index]){
 72.4871 +            if(removeDom){
 72.4872 +                var d = this.elements[index];
 72.4873 +                if(d.dom){
 72.4874 +                    d.remove();
 72.4875 +                }else{
 72.4876 +                    Ext.removeNode(d);
 72.4877 +                }
 72.4878 +            }
 72.4879 +            this.elements.splice(index, 1);
 72.4880 +        }
 72.4881 +        return this;
 72.4882 +    },
 72.4883 +
 72.4884 +    
 72.4885 +    replaceElement : function(el, replacement, domReplace){
 72.4886 +        var index = typeof el == 'number' ? el : this.indexOf(el);
 72.4887 +        if(index !== -1){
 72.4888 +            if(domReplace){
 72.4889 +                this.elements[index].replaceWith(replacement);
 72.4890 +            }else{
 72.4891 +                this.elements.splice(index, 1, Ext.get(replacement))
 72.4892 +            }
 72.4893 +        }
 72.4894 +        return this;
 72.4895 +    },
 72.4896 +
 72.4897 +    
 72.4898 +    clear : function(){
 72.4899 +        this.elements = [];
 72.4900 +    }
 72.4901 +};
 72.4902 +(function(){
 72.4903 +Ext.CompositeElement.createCall = function(proto, fnName){
 72.4904 +    if(!proto[fnName]){
 72.4905 +        proto[fnName] = function(){
 72.4906 +            return this.invoke(fnName, arguments);
 72.4907 +        };
 72.4908 +    }
 72.4909 +};
 72.4910 +for(var fnName in Ext.Element.prototype){
 72.4911 +    if(typeof Ext.Element.prototype[fnName] == "function"){
 72.4912 +        Ext.CompositeElement.createCall(Ext.CompositeElement.prototype, fnName);
 72.4913 +    }
 72.4914 +};
 72.4915 +})();
 72.4916 +
 72.4917 +
 72.4918 +Ext.CompositeElementLite = function(els){
 72.4919 +    Ext.CompositeElementLite.superclass.constructor.call(this, els);
 72.4920 +    this.el = new Ext.Element.Flyweight();
 72.4921 +};
 72.4922 +Ext.extend(Ext.CompositeElementLite, Ext.CompositeElement, {
 72.4923 +    addElements : function(els){
 72.4924 +        if(els){
 72.4925 +            if(Ext.isArray(els)){
 72.4926 +                this.elements = this.elements.concat(els);
 72.4927 +            }else{
 72.4928 +                var yels = this.elements;
 72.4929 +                var index = yels.length-1;
 72.4930 +                for(var i = 0, len = els.length; i < len; i++) {
 72.4931 +                    yels[++index] = els[i];
 72.4932 +                }
 72.4933 +            }
 72.4934 +        }
 72.4935 +        return this;
 72.4936 +    },
 72.4937 +    invoke : function(fn, args){
 72.4938 +        var els = this.elements;
 72.4939 +        var el = this.el;
 72.4940 +        for(var i = 0, len = els.length; i < len; i++) {
 72.4941 +            el.dom = els[i];
 72.4942 +        	Ext.Element.prototype[fn].apply(el, args);
 72.4943 +        }
 72.4944 +        return this;
 72.4945 +    },
 72.4946 +    
 72.4947 +    item : function(index){
 72.4948 +        if(!this.elements[index]){
 72.4949 +            return null;
 72.4950 +        }
 72.4951 +        this.el.dom = this.elements[index];
 72.4952 +        return this.el;
 72.4953 +    },
 72.4954 +
 72.4955 +    
 72.4956 +    addListener : function(eventName, handler, scope, opt){
 72.4957 +        var els = this.elements;
 72.4958 +        for(var i = 0, len = els.length; i < len; i++) {
 72.4959 +            Ext.EventManager.on(els[i], eventName, handler, scope || els[i], opt);
 72.4960 +        }
 72.4961 +        return this;
 72.4962 +    },
 72.4963 +
 72.4964 +    
 72.4965 +    each : function(fn, scope){
 72.4966 +        var els = this.elements;
 72.4967 +        var el = this.el;
 72.4968 +        for(var i = 0, len = els.length; i < len; i++){
 72.4969 +            el.dom = els[i];
 72.4970 +        	if(fn.call(scope || el, el, this, i) === false){
 72.4971 +                break;
 72.4972 +            }
 72.4973 +        }
 72.4974 +        return this;
 72.4975 +    },
 72.4976 +
 72.4977 +    indexOf : function(el){
 72.4978 +        return this.elements.indexOf(Ext.getDom(el));
 72.4979 +    },
 72.4980 +
 72.4981 +    replaceElement : function(el, replacement, domReplace){
 72.4982 +        var index = typeof el == 'number' ? el : this.indexOf(el);
 72.4983 +        if(index !== -1){
 72.4984 +            replacement = Ext.getDom(replacement);
 72.4985 +            if(domReplace){
 72.4986 +                var d = this.elements[index];
 72.4987 +                d.parentNode.insertBefore(replacement, d);
 72.4988 +                Ext.removeNode(d);
 72.4989 +            }
 72.4990 +            this.elements.splice(index, 1, replacement);
 72.4991 +        }
 72.4992 +        return this;
 72.4993 +    }
 72.4994 +});
 72.4995 +Ext.CompositeElementLite.prototype.on = Ext.CompositeElementLite.prototype.addListener;
 72.4996 +if(Ext.DomQuery){
 72.4997 +    Ext.Element.selectorFunction = Ext.DomQuery.select;
 72.4998 +}
 72.4999 +
 72.5000 +Ext.Element.select = function(selector, unique, root){
 72.5001 +    var els;
 72.5002 +    if(typeof selector == "string"){
 72.5003 +        els = Ext.Element.selectorFunction(selector, root);
 72.5004 +    }else if(selector.length !== undefined){
 72.5005 +        els = selector;
 72.5006 +    }else{
 72.5007 +        throw "Invalid selector";
 72.5008 +    }
 72.5009 +    if(unique === true){
 72.5010 +        return new Ext.CompositeElement(els);
 72.5011 +    }else{
 72.5012 +        return new Ext.CompositeElementLite(els);
 72.5013 +    }
 72.5014 +};
 72.5015 +
 72.5016 +Ext.select = Ext.Element.select;
 72.5017 +
 72.5018 +Ext.data.Connection = function(config){
 72.5019 +    Ext.apply(this, config);
 72.5020 +    this.addEvents(
 72.5021 +        
 72.5022 +        "beforerequest",
 72.5023 +        
 72.5024 +        "requestcomplete",
 72.5025 +        
 72.5026 +        "requestexception"
 72.5027 +    );
 72.5028 +    Ext.data.Connection.superclass.constructor.call(this);
 72.5029 +};
 72.5030 +
 72.5031 +Ext.extend(Ext.data.Connection, Ext.util.Observable, {
 72.5032 +    
 72.5033 +    
 72.5034 +    
 72.5035 +    
 72.5036 +    
 72.5037 +    timeout : 30000,
 72.5038 +    
 72.5039 +    autoAbort:false,
 72.5040 +
 72.5041 +    
 72.5042 +    disableCaching: true,
 72.5043 +
 72.5044 +    
 72.5045 +    request : function(o){
 72.5046 +        if(this.fireEvent("beforerequest", this, o) !== false){
 72.5047 +            var p = o.params;
 72.5048 +
 72.5049 +            if(typeof p == "function"){
 72.5050 +                p = p.call(o.scope||window, o);
 72.5051 +            }
 72.5052 +            if(typeof p == "object"){
 72.5053 +                p = Ext.urlEncode(p);
 72.5054 +            }
 72.5055 +            if(this.extraParams){
 72.5056 +                var extras = Ext.urlEncode(this.extraParams);
 72.5057 +                p = p ? (p + '&' + extras) : extras;
 72.5058 +            }
 72.5059 +
 72.5060 +            var url = o.url || this.url;
 72.5061 +            if(typeof url == 'function'){
 72.5062 +                url = url.call(o.scope||window, o);
 72.5063 +            }
 72.5064 +
 72.5065 +            if(o.form){
 72.5066 +                var form = Ext.getDom(o.form);
 72.5067 +                url = url || form.action;
 72.5068 +
 72.5069 +                var enctype = form.getAttribute("enctype");
 72.5070 +                if(o.isUpload || (enctype && enctype.toLowerCase() == 'multipart/form-data')){
 72.5071 +                    return this.doFormUpload(o, p, url);
 72.5072 +                }
 72.5073 +                var f = Ext.lib.Ajax.serializeForm(form);
 72.5074 +                p = p ? (p + '&' + f) : f;
 72.5075 +            }
 72.5076 +
 72.5077 +            var hs = o.headers;
 72.5078 +            if(this.defaultHeaders){
 72.5079 +                hs = Ext.apply(hs || {}, this.defaultHeaders);
 72.5080 +                if(!o.headers){
 72.5081 +                    o.headers = hs;
 72.5082 +                }
 72.5083 +            }
 72.5084 +
 72.5085 +            var cb = {
 72.5086 +                success: this.handleResponse,
 72.5087 +                failure: this.handleFailure,
 72.5088 +                scope: this,
 72.5089 +                argument: {options: o},
 72.5090 +                timeout : o.timeout || this.timeout
 72.5091 +            };
 72.5092 +
 72.5093 +            var method = o.method||this.method||(p ? "POST" : "GET");
 72.5094 +
 72.5095 +            if(method == 'GET' && (this.disableCaching && o.disableCaching !== false) || o.disableCaching === true){
 72.5096 +                url += (url.indexOf('?') != -1 ? '&' : '?') + '_dc=' + (new Date().getTime());
 72.5097 +            }
 72.5098 +
 72.5099 +            if(typeof o.autoAbort == 'boolean'){                 if(o.autoAbort){
 72.5100 +                    this.abort();
 72.5101 +                }
 72.5102 +            }else if(this.autoAbort !== false){
 72.5103 +                this.abort();
 72.5104 +            }
 72.5105 +            if((method == 'GET' || o.xmlData || o.jsonData) && p){
 72.5106 +                url += (url.indexOf('?') != -1 ? '&' : '?') + p;
 72.5107 +                p = '';
 72.5108 +            }
 72.5109 +            this.transId = Ext.lib.Ajax.request(method, url, cb, p, o);
 72.5110 +            return this.transId;
 72.5111 +        }else{
 72.5112 +            Ext.callback(o.callback, o.scope, [o, null, null]);
 72.5113 +            return null;
 72.5114 +        }
 72.5115 +    },
 72.5116 +
 72.5117 +    
 72.5118 +    isLoading : function(transId){
 72.5119 +        if(transId){
 72.5120 +            return Ext.lib.Ajax.isCallInProgress(transId);
 72.5121 +        }else{
 72.5122 +            return this.transId ? true : false;
 72.5123 +        }
 72.5124 +    },
 72.5125 +
 72.5126 +    
 72.5127 +    abort : function(transId){
 72.5128 +        if(transId || this.isLoading()){
 72.5129 +            Ext.lib.Ajax.abort(transId || this.transId);
 72.5130 +        }
 72.5131 +    },
 72.5132 +
 72.5133 +        handleResponse : function(response){
 72.5134 +        this.transId = false;
 72.5135 +        var options = response.argument.options;
 72.5136 +        response.argument = options ? options.argument : null;
 72.5137 +        this.fireEvent("requestcomplete", this, response, options);
 72.5138 +        Ext.callback(options.success, options.scope, [response, options]);
 72.5139 +        Ext.callback(options.callback, options.scope, [options, true, response]);
 72.5140 +    },
 72.5141 +
 72.5142 +        handleFailure : function(response, e){
 72.5143 +        this.transId = false;
 72.5144 +        var options = response.argument.options;
 72.5145 +        response.argument = options ? options.argument : null;
 72.5146 +        this.fireEvent("requestexception", this, response, options, e);
 72.5147 +        Ext.callback(options.failure, options.scope, [response, options]);
 72.5148 +        Ext.callback(options.callback, options.scope, [options, false, response]);
 72.5149 +    },
 72.5150 +
 72.5151 +        doFormUpload : function(o, ps, url){
 72.5152 +        var id = Ext.id();
 72.5153 +        var frame = document.createElement('iframe');
 72.5154 +        frame.id = id;
 72.5155 +        frame.name = id;
 72.5156 +        frame.className = 'x-hidden';
 72.5157 +        if(Ext.isIE){
 72.5158 +            frame.src = Ext.SSL_SECURE_URL;
 72.5159 +        }
 72.5160 +        document.body.appendChild(frame);
 72.5161 +
 72.5162 +        if(Ext.isIE){
 72.5163 +           document.frames[id].name = id;
 72.5164 +        }
 72.5165 +
 72.5166 +        var form = Ext.getDom(o.form);
 72.5167 +        form.target = id;
 72.5168 +        form.method = 'POST';
 72.5169 +        form.enctype = form.encoding = 'multipart/form-data';
 72.5170 +        if(url){
 72.5171 +            form.action = url;
 72.5172 +        }
 72.5173 +
 72.5174 +        var hiddens, hd;
 72.5175 +        if(ps){             hiddens = [];
 72.5176 +            ps = Ext.urlDecode(ps, false);
 72.5177 +            for(var k in ps){
 72.5178 +                if(ps.hasOwnProperty(k)){
 72.5179 +                    hd = document.createElement('input');
 72.5180 +                    hd.type = 'hidden';
 72.5181 +                    hd.name = k;
 72.5182 +                    hd.value = ps[k];
 72.5183 +                    form.appendChild(hd);
 72.5184 +                    hiddens.push(hd);
 72.5185 +                }
 72.5186 +            }
 72.5187 +        }
 72.5188 +
 72.5189 +        function cb(){
 72.5190 +            var r = {                  responseText : '',
 72.5191 +                responseXML : null
 72.5192 +            };
 72.5193 +
 72.5194 +            r.argument = o ? o.argument : null;
 72.5195 +
 72.5196 +            try {                 var doc;
 72.5197 +                if(Ext.isIE){
 72.5198 +                    doc = frame.contentWindow.document;
 72.5199 +                }else {
 72.5200 +                    doc = (frame.contentDocument || window.frames[id].document);
 72.5201 +                }
 72.5202 +                if(doc && doc.body){
 72.5203 +                    r.responseText = doc.body.innerHTML;
 72.5204 +                }
 72.5205 +                if(doc && doc.XMLDocument){
 72.5206 +                    r.responseXML = doc.XMLDocument;
 72.5207 +                }else {
 72.5208 +                    r.responseXML = doc;
 72.5209 +                }
 72.5210 +            }
 72.5211 +            catch(e) {
 72.5212 +                            }
 72.5213 +
 72.5214 +            Ext.EventManager.removeListener(frame, 'load', cb, this);
 72.5215 +
 72.5216 +            this.fireEvent("requestcomplete", this, r, o);
 72.5217 +
 72.5218 +            Ext.callback(o.success, o.scope, [r, o]);
 72.5219 +            Ext.callback(o.callback, o.scope, [o, true, r]);
 72.5220 +
 72.5221 +            setTimeout(function(){Ext.removeNode(frame);}, 100);
 72.5222 +        }
 72.5223 +
 72.5224 +        Ext.EventManager.on(frame, 'load', cb, this);
 72.5225 +        form.submit();
 72.5226 +
 72.5227 +        if(hiddens){             for(var i = 0, len = hiddens.length; i < len; i++){
 72.5228 +                Ext.removeNode(hiddens[i]);
 72.5229 +            }
 72.5230 +        }
 72.5231 +    }
 72.5232 +});
 72.5233 +
 72.5234 +
 72.5235 +Ext.Ajax = new Ext.data.Connection({
 72.5236 +    
 72.5237 +    
 72.5238 +    
 72.5239 +    
 72.5240 +    
 72.5241 +    
 72.5242 +
 72.5243 +    
 72.5244 +
 72.5245 +    
 72.5246 +    
 72.5247 +    
 72.5248 +    
 72.5249 +    
 72.5250 +    
 72.5251 +
 72.5252 +    
 72.5253 +    autoAbort : false,
 72.5254 +
 72.5255 +    
 72.5256 +    serializeForm : function(form){
 72.5257 +        return Ext.lib.Ajax.serializeForm(form);
 72.5258 +    }
 72.5259 +});
 72.5260 +
 72.5261 +Ext.Updater = function(el, forceNew){
 72.5262 +    el = Ext.get(el);
 72.5263 +    if(!forceNew && el.updateManager){
 72.5264 +        return el.updateManager;
 72.5265 +    }
 72.5266 +    
 72.5267 +    this.el = el;
 72.5268 +    
 72.5269 +    this.defaultUrl = null;
 72.5270 +
 72.5271 +    this.addEvents(
 72.5272 +        
 72.5273 +        "beforeupdate",
 72.5274 +        
 72.5275 +        "update",
 72.5276 +        
 72.5277 +        "failure"
 72.5278 +    );
 72.5279 +    var d = Ext.Updater.defaults;
 72.5280 +    
 72.5281 +    this.sslBlankUrl = d.sslBlankUrl;
 72.5282 +    
 72.5283 +    this.disableCaching = d.disableCaching;
 72.5284 +    
 72.5285 +    this.indicatorText = d.indicatorText;
 72.5286 +    
 72.5287 +    this.showLoadIndicator = d.showLoadIndicator;
 72.5288 +    
 72.5289 +    this.timeout = d.timeout;
 72.5290 +    
 72.5291 +    this.loadScripts = d.loadScripts;
 72.5292 +    
 72.5293 +    this.transaction = null;
 72.5294 +    
 72.5295 +    this.refreshDelegate = this.refresh.createDelegate(this);
 72.5296 +    
 72.5297 +    this.updateDelegate = this.update.createDelegate(this);
 72.5298 +    
 72.5299 +    this.formUpdateDelegate = this.formUpdate.createDelegate(this);
 72.5300 +
 72.5301 +    if(!this.renderer){
 72.5302 +     
 72.5303 +    this.renderer = new Ext.Updater.BasicRenderer();
 72.5304 +    }
 72.5305 +    Ext.Updater.superclass.constructor.call(this);
 72.5306 +};
 72.5307 +
 72.5308 +Ext.extend(Ext.Updater, Ext.util.Observable, {
 72.5309 +    
 72.5310 +    getEl : function(){
 72.5311 +        return this.el;
 72.5312 +    },
 72.5313 +    
 72.5314 +    
 72.5315 +    update : function(url, params, callback, discardUrl){
 72.5316 +        if(this.fireEvent("beforeupdate", this.el, url, params) !== false){
 72.5317 +            var cfg, callerScope;
 72.5318 +            if(typeof url == "object"){ 
 72.5319 +                cfg = url;
 72.5320 +                url = cfg.url;
 72.5321 +                params = params || cfg.params;
 72.5322 +                callback = callback || cfg.callback;
 72.5323 +                discardUrl = discardUrl || cfg.discardUrl;
 72.5324 +                callerScope = cfg.scope;
 72.5325 +                if(typeof cfg.nocache != "undefined"){this.disableCaching = cfg.nocache;};
 72.5326 +                if(typeof cfg.text != "undefined"){this.indicatorText = '<div class="loading-indicator">'+cfg.text+"</div>";};
 72.5327 +                if(typeof cfg.scripts != "undefined"){this.loadScripts = cfg.scripts;};
 72.5328 +                if(typeof cfg.timeout != "undefined"){this.timeout = cfg.timeout;};
 72.5329 +            }
 72.5330 +            this.showLoading();
 72.5331 +
 72.5332 +            if(!discardUrl){
 72.5333 +                this.defaultUrl = url;
 72.5334 +            }
 72.5335 +            if(typeof url == "function"){
 72.5336 +                url = url.call(this);
 72.5337 +            }
 72.5338 +
 72.5339 +            var o = Ext.apply(cfg ||{}, {
 72.5340 +                url : url,
 72.5341 +                params: (typeof params == "function" && callerScope) ? params.createDelegate(callerScope) : params,
 72.5342 +                success: this.processSuccess,
 72.5343 +                failure: this.processFailure,
 72.5344 +                scope: this,
 72.5345 +                callback: undefined,
 72.5346 +                timeout: (this.timeout*1000),
 72.5347 +                disableCaching: this.disableCaching,
 72.5348 +                argument: {
 72.5349 +                    "options": cfg,
 72.5350 +                    "url": url,
 72.5351 +                    "form": null,
 72.5352 +                    "callback": callback,
 72.5353 +                    "scope": callerScope || window,
 72.5354 +                    "params": params
 72.5355 +                }
 72.5356 +            });
 72.5357 +
 72.5358 +            this.transaction = Ext.Ajax.request(o);
 72.5359 +        }
 72.5360 +    },
 72.5361 +
 72.5362 +    
 72.5363 +    formUpdate : function(form, url, reset, callback){
 72.5364 +        if(this.fireEvent("beforeupdate", this.el, form, url) !== false){
 72.5365 +            if(typeof url == "function"){
 72.5366 +                url = url.call(this);
 72.5367 +            }
 72.5368 +            form = Ext.getDom(form)
 72.5369 +            this.transaction = Ext.Ajax.request({
 72.5370 +                form: form,
 72.5371 +                url:url,
 72.5372 +                success: this.processSuccess,
 72.5373 +                failure: this.processFailure,
 72.5374 +                scope: this,
 72.5375 +                timeout: (this.timeout*1000),
 72.5376 +                argument: {
 72.5377 +                    "url": url,
 72.5378 +                    "form": form,
 72.5379 +                    "callback": callback,
 72.5380 +                    "reset": reset
 72.5381 +                }
 72.5382 +            });
 72.5383 +            this.showLoading.defer(1, this);
 72.5384 +        }
 72.5385 +    },
 72.5386 +
 72.5387 +    
 72.5388 +    refresh : function(callback){
 72.5389 +        if(this.defaultUrl == null){
 72.5390 +            return;
 72.5391 +        }
 72.5392 +        this.update(this.defaultUrl, null, callback, true);
 72.5393 +    },
 72.5394 +
 72.5395 +    
 72.5396 +    startAutoRefresh : function(interval, url, params, callback, refreshNow){
 72.5397 +        if(refreshNow){
 72.5398 +            this.update(url || this.defaultUrl, params, callback, true);
 72.5399 +        }
 72.5400 +        if(this.autoRefreshProcId){
 72.5401 +            clearInterval(this.autoRefreshProcId);
 72.5402 +        }
 72.5403 +        this.autoRefreshProcId = setInterval(this.update.createDelegate(this, [url || this.defaultUrl, params, callback, true]), interval*1000);
 72.5404 +    },
 72.5405 +
 72.5406 +    
 72.5407 +     stopAutoRefresh : function(){
 72.5408 +        if(this.autoRefreshProcId){
 72.5409 +            clearInterval(this.autoRefreshProcId);
 72.5410 +            delete this.autoRefreshProcId;
 72.5411 +        }
 72.5412 +    },
 72.5413 +
 72.5414 +    
 72.5415 +    isAutoRefreshing : function(){
 72.5416 +       return this.autoRefreshProcId ? true : false;
 72.5417 +    },
 72.5418 +    
 72.5419 +    
 72.5420 +    showLoading : function(){
 72.5421 +        if(this.showLoadIndicator){
 72.5422 +            this.el.update(this.indicatorText);
 72.5423 +        }
 72.5424 +    },
 72.5425 +
 72.5426 +    
 72.5427 +    processSuccess : function(response){
 72.5428 +        this.transaction = null;
 72.5429 +        if(response.argument.form && response.argument.reset){
 72.5430 +            try{ 
 72.5431 +                response.argument.form.reset();
 72.5432 +            }catch(e){}
 72.5433 +        }
 72.5434 +        if(this.loadScripts){
 72.5435 +            this.renderer.render(this.el, response, this,
 72.5436 +                this.updateComplete.createDelegate(this, [response]));
 72.5437 +        }else{
 72.5438 +            this.renderer.render(this.el, response, this);
 72.5439 +            this.updateComplete(response);
 72.5440 +        }
 72.5441 +    },
 72.5442 +
 72.5443 +    
 72.5444 +    updateComplete : function(response){
 72.5445 +        this.fireEvent("update", this.el, response);
 72.5446 +        if(typeof response.argument.callback == "function"){
 72.5447 +            response.argument.callback.call(response.argument.scope, this.el, true, response, response.argument.options);
 72.5448 +        }
 72.5449 +    },
 72.5450 +
 72.5451 +    
 72.5452 +    processFailure : function(response){
 72.5453 +        this.transaction = null;
 72.5454 +        this.fireEvent("failure", this.el, response);
 72.5455 +        if(typeof response.argument.callback == "function"){
 72.5456 +            response.argument.callback.call(response.argument.scope, this.el, false, response, response.argument.options);
 72.5457 +        }
 72.5458 +    },
 72.5459 +
 72.5460 +    
 72.5461 +    setRenderer : function(renderer){
 72.5462 +        this.renderer = renderer;
 72.5463 +    },
 72.5464 +
 72.5465 +    
 72.5466 +    getRenderer : function(){
 72.5467 +       return this.renderer;
 72.5468 +    },
 72.5469 +
 72.5470 +    
 72.5471 +    setDefaultUrl : function(defaultUrl){
 72.5472 +        this.defaultUrl = defaultUrl;
 72.5473 +    },
 72.5474 +
 72.5475 +    
 72.5476 +    abort : function(){
 72.5477 +        if(this.transaction){
 72.5478 +            Ext.Ajax.abort(this.transaction);
 72.5479 +        }
 72.5480 +    },
 72.5481 +
 72.5482 +    
 72.5483 +    isUpdating : function(){
 72.5484 +        if(this.transaction){
 72.5485 +            return Ext.Ajax.isLoading(this.transaction);
 72.5486 +        }
 72.5487 +        return false;
 72.5488 +    }
 72.5489 +});
 72.5490 +
 72.5491 +
 72.5492 +   Ext.Updater.defaults = {
 72.5493 +       
 72.5494 +         timeout : 30,
 72.5495 +         
 72.5496 +        loadScripts : false,
 72.5497 +        
 72.5498 +        sslBlankUrl : (Ext.SSL_SECURE_URL || "javascript:false"),
 72.5499 +        
 72.5500 +        disableCaching : false,
 72.5501 +        
 72.5502 +        showLoadIndicator : true,
 72.5503 +        
 72.5504 +        indicatorText : '<div class="loading-indicator">Loading...</div>'
 72.5505 +   };
 72.5506 +
 72.5507 +
 72.5508 +Ext.Updater.updateElement = function(el, url, params, options){
 72.5509 +    var um = Ext.get(el).getUpdater();
 72.5510 +    Ext.apply(um, options);
 72.5511 +    um.update(url, params, options ? options.callback : null);
 72.5512 +};
 72.5513 +
 72.5514 +Ext.Updater.BasicRenderer = function(){};
 72.5515 +
 72.5516 +Ext.Updater.BasicRenderer.prototype = {
 72.5517 +    
 72.5518 +     render : function(el, response, updateManager, callback){
 72.5519 +        el.update(response.responseText, updateManager.loadScripts, callback);
 72.5520 +    }
 72.5521 +};
 72.5522 +
 72.5523 +Ext.UpdateManager = Ext.Updater;
 72.5524 +
 72.5525 +
 72.5526 +
 72.5527 +
 72.5528 +
 72.5529 +Date.parseFunctions = {count:0};
 72.5530 +Date.parseRegexes = [];
 72.5531 +Date.formatFunctions = {count:0};
 72.5532 +
 72.5533 +Date.prototype.dateFormat = function(format) {
 72.5534 +    if (Date.formatFunctions[format] == null) {
 72.5535 +        Date.createNewFormat(format);
 72.5536 +    }
 72.5537 +    var func = Date.formatFunctions[format];
 72.5538 +    return this[func]();
 72.5539 +};
 72.5540 +
 72.5541 +
 72.5542 +
 72.5543 +Date.prototype.format = Date.prototype.dateFormat;
 72.5544 +
 72.5545 +Date.createNewFormat = function(format) {
 72.5546 +    var funcName = "format" + Date.formatFunctions.count++;
 72.5547 +    Date.formatFunctions[format] = funcName;
 72.5548 +    var code = "Date.prototype." + funcName + " = function(){return ";
 72.5549 +    var special = false;
 72.5550 +    var ch = '';
 72.5551 +    for (var i = 0; i < format.length; ++i) {
 72.5552 +        ch = format.charAt(i);
 72.5553 +        if (!special && ch == "\\") {
 72.5554 +            special = true;
 72.5555 +        }
 72.5556 +        else if (special) {
 72.5557 +            special = false;
 72.5558 +            code += "'" + String.escape(ch) + "' + ";
 72.5559 +        }
 72.5560 +        else {
 72.5561 +            code += Date.getFormatCode(ch) + " + ";
 72.5562 +        }
 72.5563 +    }
 72.5564 +    eval(code.substring(0, code.length - 3) + ";}");
 72.5565 +};
 72.5566 +
 72.5567 +
 72.5568 +Date.formatCodes = {
 72.5569 +    d: "String.leftPad(this.getDate(), 2, '0')",
 72.5570 +    D: "Date.getShortDayName(this.getDay())",     j: "this.getDate()",
 72.5571 +    l: "Date.dayNames[this.getDay()]",
 72.5572 +    N: "(this.getDay() ? this.getDay() : 7)",
 72.5573 +    S: "this.getSuffix()",
 72.5574 +    w: "this.getDay()",
 72.5575 +    z: "this.getDayOfYear()",
 72.5576 +    W: "String.leftPad(this.getWeekOfYear(), 2, '0')",
 72.5577 +    F: "Date.monthNames[this.getMonth()]",
 72.5578 +    m: "String.leftPad(this.getMonth() + 1, 2, '0')",
 72.5579 +    M: "Date.getShortMonthName(this.getMonth())",     n: "(this.getMonth() + 1)",
 72.5580 +    t: "this.getDaysInMonth()",
 72.5581 +    L: "(this.isLeapYear() ? 1 : 0)",
 72.5582 +    o: "(this.getFullYear() + (this.getWeekOfYear() == 1 && this.getMonth() > 0 ? +1 : (this.getWeekOfYear() >= 52 && this.getMonth() < 11 ? -1 : 0)))",
 72.5583 +    Y: "this.getFullYear()",
 72.5584 +    y: "('' + this.getFullYear()).substring(2, 4)",
 72.5585 +    a: "(this.getHours() < 12 ? 'am' : 'pm')",
 72.5586 +    A: "(this.getHours() < 12 ? 'AM' : 'PM')",
 72.5587 +    g: "((this.getHours() % 12) ? this.getHours() % 12 : 12)",
 72.5588 +    G: "this.getHours()",
 72.5589 +    h: "String.leftPad((this.getHours() % 12) ? this.getHours() % 12 : 12, 2, '0')",
 72.5590 +    H: "String.leftPad(this.getHours(), 2, '0')",
 72.5591 +    i: "String.leftPad(this.getMinutes(), 2, '0')",
 72.5592 +    s: "String.leftPad(this.getSeconds(), 2, '0')",
 72.5593 +    u: "String.leftPad(this.getMilliseconds(), 3, '0')",
 72.5594 +    O: "this.getGMTOffset()",
 72.5595 +    P: "this.getGMTOffset(true)",
 72.5596 +    T: "this.getTimezone()",
 72.5597 +    Z: "(this.getTimezoneOffset() * -60)",
 72.5598 +    c: function() {         for (var c = "Y-m-dTH:i:sP", code = [], i = 0, l = c.length; i < l; ++i) {
 72.5599 +            var e = c.charAt(i);
 72.5600 +            code.push(e == "T" ? "'T'" : Date.getFormatCode(e));         }
 72.5601 +        return code.join(" + ");
 72.5602 +    },
 72.5603 +    
 72.5604 +    U: "Math.round(this.getTime() / 1000)"
 72.5605 +}
 72.5606 +
 72.5607 +Date.getFormatCode = function(character) {
 72.5608 +    var f = Date.formatCodes[character];
 72.5609 +    
 72.5610 +    if (f) {
 72.5611 +      f = Ext.type(f) == 'function'? f() : f;
 72.5612 +      Date.formatCodes[character] = f;     }
 72.5613 +
 72.5614 +        return f || ("'" + String.escape(character) + "'");
 72.5615 +};
 72.5616 +
 72.5617 +
 72.5618 +Date.parseDate = function(input, format) {
 72.5619 +    if (Date.parseFunctions[format] == null) {
 72.5620 +        Date.createParser(format);
 72.5621 +    }
 72.5622 +    var func = Date.parseFunctions[format];
 72.5623 +    return Date[func](input);
 72.5624 +};
 72.5625 +
 72.5626 +Date.createParser = function(format) {
 72.5627 +    var funcName = "parse" + Date.parseFunctions.count++;
 72.5628 +    var regexNum = Date.parseRegexes.length;
 72.5629 +    var currentGroup = 1;
 72.5630 +    Date.parseFunctions[format] = funcName;
 72.5631 +
 72.5632 +    var code = "Date." + funcName + " = function(input){\n"
 72.5633 +        + "var y = -1, m = -1, d = -1, h = -1, i = -1, s = -1, ms = -1, o, z, u, v;\n"
 72.5634 +        + "input = String(input);var d = new Date();\n"
 72.5635 +        + "y = d.getFullYear();\n"
 72.5636 +        + "m = d.getMonth();\n"
 72.5637 +        + "d = d.getDate();\n"
 72.5638 +        + "var results = input.match(Date.parseRegexes[" + regexNum + "]);\n"
 72.5639 +        + "if (results && results.length > 0) {";
 72.5640 +    var regex = "";
 72.5641 +
 72.5642 +    var special = false;
 72.5643 +    var ch = '';
 72.5644 +    for (var i = 0; i < format.length; ++i) {
 72.5645 +        ch = format.charAt(i);
 72.5646 +        if (!special && ch == "\\") {
 72.5647 +            special = true;
 72.5648 +        }
 72.5649 +        else if (special) {
 72.5650 +            special = false;
 72.5651 +            regex += String.escape(ch);
 72.5652 +        }
 72.5653 +        else {
 72.5654 +            var obj = Date.formatCodeToRegex(ch, currentGroup);
 72.5655 +            currentGroup += obj.g;
 72.5656 +            regex += obj.s;
 72.5657 +            if (obj.g && obj.c) {
 72.5658 +                code += obj.c;
 72.5659 +            }
 72.5660 +        }
 72.5661 +    }
 72.5662 +
 72.5663 +    code += "if (u){\n"
 72.5664 +        + "v = new Date(u * 1000);\n"         + "}else if (y >= 0 && m >= 0 && d > 0 && h >= 0 && i >= 0 && s >= 0 && ms >= 0){\n"
 72.5665 +        + "v = new Date(y, m, d, h, i, s, ms);\n"
 72.5666 +        + "}else if (y >= 0 && m >= 0 && d > 0 && h >= 0 && i >= 0 && s >= 0){\n"
 72.5667 +        + "v = new Date(y, m, d, h, i, s);\n"
 72.5668 +        + "}else if (y >= 0 && m >= 0 && d > 0 && h >= 0 && i >= 0){\n"
 72.5669 +        + "v = new Date(y, m, d, h, i);\n"
 72.5670 +        + "}else if (y >= 0 && m >= 0 && d > 0 && h >= 0){\n"
 72.5671 +        + "v = new Date(y, m, d, h);\n"
 72.5672 +        + "}else if (y >= 0 && m >= 0 && d > 0){\n"
 72.5673 +        + "v = new Date(y, m, d);\n"
 72.5674 +        + "}else if (y >= 0 && m >= 0){\n"
 72.5675 +        + "v = new Date(y, m);\n"
 72.5676 +        + "}else if (y >= 0){\n"
 72.5677 +        + "v = new Date(y);\n"
 72.5678 +        + "}\n}\nreturn (v && Ext.type(z || o) == 'number')?"         +     " (Ext.type(z) == 'number' ? v.add(Date.SECOND, (v.getTimezoneOffset() * 60) + z) :"         +         " v.add(Date.HOUR, (v.getGMTOffset() / 100) + (o / -100))) : v;\n"         + "}";
 72.5679 +
 72.5680 +    Date.parseRegexes[regexNum] = new RegExp("^" + regex + "$", "i");
 72.5681 +    eval(code);
 72.5682 +};
 72.5683 +
 72.5684 +Date.parseCodes = {
 72.5685 +    
 72.5686 +    d: {
 72.5687 +        g:1,
 72.5688 +        c:"d = parseInt(results[{0}], 10);\n",
 72.5689 +        s:"(\\d{2})"     },
 72.5690 +    j: function() {
 72.5691 +        return Ext.applyIf({
 72.5692 +            s:"(\\d{1,2})"         }, Date.parseCodes["d"]);
 72.5693 +    },
 72.5694 +    D: function() {
 72.5695 +        for (var a = [], i = 0; i < 7; a.push(Date.getShortDayName(i)), ++i);         return {
 72.5696 +            g:0,
 72.5697 +            c:null,
 72.5698 +            s:"(?:" + a.join("|") +")"
 72.5699 +        }
 72.5700 +    },
 72.5701 +    l: function() {
 72.5702 +        return {
 72.5703 +            g:0,
 72.5704 +            c:null,
 72.5705 +            s:"(?:" + Date.dayNames.join("|") + ")"
 72.5706 +        }
 72.5707 +    },
 72.5708 +    N: {
 72.5709 +        g:0,
 72.5710 +        c:null,
 72.5711 +        s:"[1-7]"     },
 72.5712 +    S: {
 72.5713 +        g:0,
 72.5714 +        c:null,
 72.5715 +        s:"(?:st|nd|rd|th)"
 72.5716 +    },
 72.5717 +    w: {
 72.5718 +        g:0,
 72.5719 +        c:null,
 72.5720 +        s:"[0-6]"     },
 72.5721 +    z: {
 72.5722 +        g:0,
 72.5723 +        c:null,
 72.5724 +        s:"(?:\\d{1,3}"     },
 72.5725 +    W: {
 72.5726 +        g:0,
 72.5727 +        c:null,
 72.5728 +        s:"(?:\\d{2})"     },
 72.5729 +    F: function() {
 72.5730 +        return {
 72.5731 +            g:1,
 72.5732 +            c:"m = parseInt(Date.getMonthNumber(results[{0}]), 10);\n",             s:"(" + Date.monthNames.join("|") + ")"
 72.5733 +        }
 72.5734 +    },
 72.5735 +    M: function() {
 72.5736 +        for (var a = [], i = 0; i < 12; a.push(Date.getShortMonthName(i)), ++i);         return Ext.applyIf({
 72.5737 +            s:"(" + a.join("|") + ")"
 72.5738 +        }, Date.parseCodes["F"]);
 72.5739 +    },
 72.5740 +    m: {
 72.5741 +        g:1,
 72.5742 +        c:"m = parseInt(results[{0}], 10) - 1;\n",
 72.5743 +        s:"(\\d{2})"     },
 72.5744 +    n: function() {
 72.5745 +        return Ext.applyIf({
 72.5746 +            s:"(\\d{1,2})"         }, Date.parseCodes["m"]);
 72.5747 +    },
 72.5748 +    t: {
 72.5749 +        g:0,
 72.5750 +        c:null,
 72.5751 +        s:"(?:\\d{2})"     },
 72.5752 +    L: {
 72.5753 +        g:0,
 72.5754 +        c:null,
 72.5755 +        s:"(?:1|0)"
 72.5756 +    },
 72.5757 +    o: function() {
 72.5758 +        return Date.parseCodes["Y"];
 72.5759 +    },
 72.5760 +    Y: {
 72.5761 +        g:1,
 72.5762 +        c:"y = parseInt(results[{0}], 10);\n",
 72.5763 +        s:"(\\d{4})"     },
 72.5764 +    y: {
 72.5765 +        g:1,
 72.5766 +        c:"var ty = parseInt(results[{0}], 10);\n"
 72.5767 +            + "y = ty > Date.y2kYear ? 1900 + ty : 2000 + ty;\n",         s:"(\\d{1,2})"
 72.5768 +    },
 72.5769 +    a: {
 72.5770 +        g:1,
 72.5771 +        c:"if (results[{0}] == 'am') {\n"
 72.5772 +            + "if (h == 12) { h = 0; }\n"
 72.5773 +            + "} else { if (h < 12) { h += 12; }}",
 72.5774 +        s:"(am|pm)"
 72.5775 +    },
 72.5776 +    A: {
 72.5777 +        g:1,
 72.5778 +        c:"if (results[{0}] == 'AM') {\n"
 72.5779 +            + "if (h == 12) { h = 0; }\n"
 72.5780 +            + "} else { if (h < 12) { h += 12; }}",
 72.5781 +        s:"(AM|PM)"
 72.5782 +    },
 72.5783 +    g: function() {
 72.5784 +        return Date.parseCodes["G"];
 72.5785 +    },
 72.5786 +    G: {
 72.5787 +        g:1,
 72.5788 +        c:"h = parseInt(results[{0}], 10);\n",
 72.5789 +        s:"(\\d{1,2})"     },
 72.5790 +    h: function() {
 72.5791 +        return Date.parseCodes["H"];
 72.5792 +    },
 72.5793 +    H: {
 72.5794 +        g:1,
 72.5795 +        c:"h = parseInt(results[{0}], 10);\n",
 72.5796 +        s:"(\\d{2})"     },
 72.5797 +    i: {
 72.5798 +        g:1,
 72.5799 +        c:"i = parseInt(results[{0}], 10);\n",
 72.5800 +        s:"(\\d{2})"     },
 72.5801 +    s: {
 72.5802 +        g:1,
 72.5803 +        c:"s = parseInt(results[{0}], 10);\n",
 72.5804 +        s:"(\\d{2})"     },
 72.5805 +    u: {
 72.5806 +        g:1,
 72.5807 +        c:"ms = parseInt(results[{0}], 10);\n",
 72.5808 +        s:"(\\d{3})"     },
 72.5809 +    O: {
 72.5810 +        g:1,
 72.5811 +        c:[
 72.5812 +            "o = results[{0}];",
 72.5813 +            "var sn = o.substring(0,1);",             "var hr = o.substring(1,3)*1 + Math.floor(o.substring(3,5) / 60);",             "var mn = o.substring(3,5) % 60;",             "o = ((-12 <= (hr*60 + mn)/60) && ((hr*60 + mn)/60 <= 14))? (sn + String.leftPad(hr, 2, '0') + String.leftPad(mn, 2, '0')) : null;\n"         ].join("\n"),
 72.5814 +        s: "([+\-]\\d{4})"     },
 72.5815 +    P: function() {
 72.5816 +      return Ext.applyIf({
 72.5817 +        s: "([+\-]\\d{2}:\\d{2})"       }, Date.parseCodes["O"]);
 72.5818 +    },
 72.5819 +    T: {
 72.5820 +        g:0,
 72.5821 +        c:null,
 72.5822 +        s:"[A-Z]{1,4}"     },
 72.5823 +    Z: {
 72.5824 +        g:1,
 72.5825 +        c:"z = results[{0}] * 1;\n"               + "z = (-43200 <= z && z <= 50400)? z : null;\n",
 72.5826 +        s:"([+\-]?\\d{1,5})"     },
 72.5827 +    c: function() {
 72.5828 +        var df = Date.formatCodeToRegex, calc = [];
 72.5829 +        var arr = [
 72.5830 +            df("Y", 1),
 72.5831 +            df("m", 2),
 72.5832 +            df("d", 3),
 72.5833 +            df("h", 4),
 72.5834 +            df("i", 5),
 72.5835 +            df("s", 6),
 72.5836 +            {c:"if(results[7] == 'Z'){\no = 0;\n}else{\n" + df("P", 7).c + "\n}"}         ];
 72.5837 +        for (var i = 0, l = arr.length; i < l; ++i) {
 72.5838 +            calc.push(arr[i].c);
 72.5839 +        }
 72.5840 +
 72.5841 +        return {
 72.5842 +            g:1,
 72.5843 +            c:calc.join(""),
 72.5844 +            s:arr[0].s + "-" + arr[1].s + "-" + arr[2].s + "T" + arr[3].s + ":" + arr[4].s + ":" + arr[5].s + "(" + df("P", 7).s + "|Z)"
 72.5845 +        }
 72.5846 +    },
 72.5847 +    U: {
 72.5848 +        g:1,
 72.5849 +        c:"u = parseInt(results[{0}], 10);\n",
 72.5850 +        s:"(-?\\d+)"     }
 72.5851 +}
 72.5852 +
 72.5853 +Date.formatCodeToRegex = function(character, currentGroup) {
 72.5854 +        var p = Date.parseCodes[character];
 72.5855 +
 72.5856 +    if (p) {
 72.5857 +      p = Ext.type(p) == 'function'? p() : p;
 72.5858 +      Date.parseCodes[character] = p;       
 72.5859 +      if (p.c) {
 72.5860 +        p.c = String.format(p.c, currentGroup);
 72.5861 +      }
 72.5862 +    }
 72.5863 +
 72.5864 +    return p || {
 72.5865 +        g:0,
 72.5866 +        c:null,
 72.5867 +        s:Ext.escapeRe(character)     }
 72.5868 +};
 72.5869 +
 72.5870 +
 72.5871 +Date.prototype.getTimezone = function() {
 72.5872 +                                                    return this.toString().replace(/^.* (?:\((.*)\)|([A-Z]{1,4})(?:[\-+][0-9]{4})?(?: -?\d+)?)$/, "$1$2").replace(/[^A-Z]/g, "");
 72.5873 +};
 72.5874 +
 72.5875 +
 72.5876 +Date.prototype.getGMTOffset = function(colon) {
 72.5877 +    return (this.getTimezoneOffset() > 0 ? "-" : "+")
 72.5878 +        + String.leftPad(Math.abs(Math.floor(this.getTimezoneOffset() / 60)), 2, "0")
 72.5879 +        + (colon ? ":" : "")
 72.5880 +        + String.leftPad(this.getTimezoneOffset() % 60, 2, "0");
 72.5881 +};
 72.5882 +
 72.5883 +
 72.5884 +Date.prototype.getDayOfYear = function() {
 72.5885 +    var num = 0;
 72.5886 +    Date.daysInMonth[1] = this.isLeapYear() ? 29 : 28;
 72.5887 +    for (var i = 0; i < this.getMonth(); ++i) {
 72.5888 +        num += Date.daysInMonth[i];
 72.5889 +    }
 72.5890 +    return num + this.getDate() - 1;
 72.5891 +};
 72.5892 +
 72.5893 +
 72.5894 +Date.prototype.getWeekOfYear = function() {
 72.5895 +        var ms1d = 864e5;     var ms7d = 7 * ms1d;     var DC3 = Date.UTC(this.getFullYear(), this.getMonth(), this.getDate() + 3) / ms1d;     var AWN = Math.floor(DC3 / 7);     var Wyr = new Date(AWN * ms7d).getUTCFullYear();
 72.5896 +    return AWN - Math.floor(Date.UTC(Wyr, 0, 7) / ms7d) + 1;
 72.5897 +};
 72.5898 +
 72.5899 +
 72.5900 +Date.prototype.isLeapYear = function() {
 72.5901 +    var year = this.getFullYear();
 72.5902 +    return !!((year & 3) == 0 && (year % 100 || (year % 400 == 0 && year)));
 72.5903 +};
 72.5904 +
 72.5905 +
 72.5906 +Date.prototype.getFirstDayOfMonth = function() {
 72.5907 +    var day = (this.getDay() - (this.getDate() - 1)) % 7;
 72.5908 +    return (day < 0) ? (day + 7) : day;
 72.5909 +};
 72.5910 +
 72.5911 +
 72.5912 +Date.prototype.getLastDayOfMonth = function() {
 72.5913 +    var day = (this.getDay() + (Date.daysInMonth[this.getMonth()] - this.getDate())) % 7;
 72.5914 +    return (day < 0) ? (day + 7) : day;
 72.5915 +};
 72.5916 +
 72.5917 +
 72.5918 +
 72.5919 +Date.prototype.getFirstDateOfMonth = function() {
 72.5920 +    return new Date(this.getFullYear(), this.getMonth(), 1);
 72.5921 +};
 72.5922 +
 72.5923 +
 72.5924 +Date.prototype.getLastDateOfMonth = function() {
 72.5925 +    return new Date(this.getFullYear(), this.getMonth(), this.getDaysInMonth());
 72.5926 +};
 72.5927 +
 72.5928 +Date.prototype.getDaysInMonth = function() {
 72.5929 +    Date.daysInMonth[1] = this.isLeapYear() ? 29 : 28;
 72.5930 +    return Date.daysInMonth[this.getMonth()];
 72.5931 +};
 72.5932 +
 72.5933 +
 72.5934 +Date.prototype.getSuffix = function() {
 72.5935 +    switch (this.getDate()) {
 72.5936 +        case 1:
 72.5937 +        case 21:
 72.5938 +        case 31:
 72.5939 +            return "st";
 72.5940 +        case 2:
 72.5941 +        case 22:
 72.5942 +            return "nd";
 72.5943 +        case 3:
 72.5944 +        case 23:
 72.5945 +            return "rd";
 72.5946 +        default:
 72.5947 +            return "th";
 72.5948 +    }
 72.5949 +};
 72.5950 +
 72.5951 +Date.daysInMonth = [31,28,31,30,31,30,31,31,30,31,30,31];
 72.5952 +
 72.5953 +
 72.5954 +Date.monthNames = [
 72.5955 +    "January",
 72.5956 +    "February",
 72.5957 +    "March",
 72.5958 +    "April",
 72.5959 +    "May",
 72.5960 +    "June",
 72.5961 +    "July",
 72.5962 +    "August",
 72.5963 +    "September",
 72.5964 +    "October",
 72.5965 +    "November",
 72.5966 +    "December"
 72.5967 +];
 72.5968 +
 72.5969 +
 72.5970 +Date.getShortMonthName = function(month) {
 72.5971 +    return Date.monthNames[month].substring(0, 3);
 72.5972 +}
 72.5973 +
 72.5974 +
 72.5975 +Date.dayNames = [
 72.5976 +    "Sunday",
 72.5977 +    "Monday",
 72.5978 +    "Tuesday",
 72.5979 +    "Wednesday",
 72.5980 +    "Thursday",
 72.5981 +    "Friday",
 72.5982 +    "Saturday"
 72.5983 +];
 72.5984 +
 72.5985 +
 72.5986 +Date.getShortDayName = function(day) {
 72.5987 +    return Date.dayNames[day].substring(0, 3);
 72.5988 +}
 72.5989 +
 72.5990 +Date.y2kYear = 50;
 72.5991 +
 72.5992 +
 72.5993 +Date.monthNumbers = {
 72.5994 +    Jan:0,
 72.5995 +    Feb:1,
 72.5996 +    Mar:2,
 72.5997 +    Apr:3,
 72.5998 +    May:4,
 72.5999 +    Jun:5,
 72.6000 +    Jul:6,
 72.6001 +    Aug:7,
 72.6002 +    Sep:8,
 72.6003 +    Oct:9,
 72.6004 +    Nov:10,
 72.6005 +    Dec:11
 72.6006 +};
 72.6007 +
 72.6008 +
 72.6009 +Date.getMonthNumber = function(name) {
 72.6010 +        return Date.monthNumbers[name.substring(0, 1).toUpperCase() + name.substring(1, 3).toLowerCase()];
 72.6011 +}
 72.6012 +
 72.6013 +
 72.6014 +Date.prototype.clone = function() {
 72.6015 +  return new Date(this.getTime());
 72.6016 +};
 72.6017 +
 72.6018 +
 72.6019 +Date.prototype.clearTime = function(clone){
 72.6020 +    if(clone){
 72.6021 +        return this.clone().clearTime();
 72.6022 +    }
 72.6023 +    this.setHours(0);
 72.6024 +    this.setMinutes(0);
 72.6025 +    this.setSeconds(0);
 72.6026 +    this.setMilliseconds(0);
 72.6027 +    return this;
 72.6028 +};
 72.6029 +
 72.6030 +if(Ext.isSafari){
 72.6031 +    Date.brokenSetMonth = Date.prototype.setMonth;
 72.6032 +  Date.prototype.setMonth = function(num){
 72.6033 +    if(num <= -1){
 72.6034 +      var n = Math.ceil(-num);
 72.6035 +      var back_year = Math.ceil(n/12);
 72.6036 +      var month = (n % 12) ? 12 - n % 12 : 0 ;
 72.6037 +      this.setFullYear(this.getFullYear() - back_year);
 72.6038 +      return Date.brokenSetMonth.call(this, month);
 72.6039 +    } else {
 72.6040 +      return Date.brokenSetMonth.apply(this, arguments);
 72.6041 +    }
 72.6042 +  };
 72.6043 +}
 72.6044 +
 72.6045 +
 72.6046 +Date.MILLI = "ms";
 72.6047 +
 72.6048 +Date.SECOND = "s";
 72.6049 +
 72.6050 +Date.MINUTE = "mi";
 72.6051 +
 72.6052 +Date.HOUR = "h";
 72.6053 +
 72.6054 +Date.DAY = "d";
 72.6055 +
 72.6056 +Date.MONTH = "mo";
 72.6057 +
 72.6058 +Date.YEAR = "y";
 72.6059 +
 72.6060 +
 72.6061 +Date.prototype.add = function(interval, value){
 72.6062 +  var d = this.clone();
 72.6063 +  if (!interval || value === 0) return d;
 72.6064 +  switch(interval.toLowerCase()){
 72.6065 +    case Date.MILLI:
 72.6066 +      d.setMilliseconds(this.getMilliseconds() + value);
 72.6067 +      break;
 72.6068 +    case Date.SECOND:
 72.6069 +      d.setSeconds(this.getSeconds() + value);
 72.6070 +      break;
 72.6071 +    case Date.MINUTE:
 72.6072 +      d.setMinutes(this.getMinutes() + value);
 72.6073 +      break;
 72.6074 +    case Date.HOUR:
 72.6075 +      d.setHours(this.getHours() + value);
 72.6076 +      break;
 72.6077 +    case Date.DAY:
 72.6078 +      d.setDate(this.getDate() + value);
 72.6079 +      break;
 72.6080 +    case Date.MONTH:
 72.6081 +      var day = this.getDate();
 72.6082 +      if(day > 28){
 72.6083 +          day = Math.min(day, this.getFirstDateOfMonth().add('mo', value).getLastDateOfMonth().getDate());
 72.6084 +      }
 72.6085 +      d.setDate(day);
 72.6086 +      d.setMonth(this.getMonth() + value);
 72.6087 +      break;
 72.6088 +    case Date.YEAR:
 72.6089 +      d.setFullYear(this.getFullYear() + value);
 72.6090 +      break;
 72.6091 +  }
 72.6092 +  return d;
 72.6093 +};
 72.6094 +
 72.6095 +
 72.6096 +Date.prototype.between = function(start, end){
 72.6097 +    var t = this.getTime();
 72.6098 +    return start.getTime() <= t && t <= end.getTime();
 72.6099 +}
 72.6100 +
 72.6101 +Ext.util.DelayedTask = function(fn, scope, args){
 72.6102 +    var id = null, d, t;
 72.6103 +
 72.6104 +    var call = function(){
 72.6105 +        var now = new Date().getTime();
 72.6106 +        if(now - t >= d){
 72.6107 +            clearInterval(id);
 72.6108 +            id = null;
 72.6109 +            fn.apply(scope, args || []);
 72.6110 +        }
 72.6111 +    };
 72.6112 +    
 72.6113 +    this.delay = function(delay, newFn, newScope, newArgs){
 72.6114 +        if(id && delay != d){
 72.6115 +            this.cancel();
 72.6116 +        }
 72.6117 +        d = delay;
 72.6118 +        t = new Date().getTime();
 72.6119 +        fn = newFn || fn;
 72.6120 +        scope = newScope || scope;
 72.6121 +        args = newArgs || args;
 72.6122 +        if(!id){
 72.6123 +            id = setInterval(call, d);
 72.6124 +        }
 72.6125 +    };
 72.6126 +
 72.6127 +    
 72.6128 +    this.cancel = function(){
 72.6129 +        if(id){
 72.6130 +            clearInterval(id);
 72.6131 +            id = null;
 72.6132 +        }
 72.6133 +    };
 72.6134 +};
 72.6135 +
 72.6136 +Ext.util.TaskRunner = function(interval){
 72.6137 +    interval = interval || 10;
 72.6138 +    var tasks = [], removeQueue = [];
 72.6139 +    var id = 0;
 72.6140 +    var running = false;
 72.6141 +
 72.6142 +        var stopThread = function(){
 72.6143 +        running = false;
 72.6144 +        clearInterval(id);
 72.6145 +        id = 0;
 72.6146 +    };
 72.6147 +
 72.6148 +        var startThread = function(){
 72.6149 +        if(!running){
 72.6150 +            running = true;
 72.6151 +            id = setInterval(runTasks, interval);
 72.6152 +        }
 72.6153 +    };
 72.6154 +
 72.6155 +        var removeTask = function(t){
 72.6156 +        removeQueue.push(t);
 72.6157 +        if(t.onStop){
 72.6158 +            t.onStop.apply(t.scope || t);
 72.6159 +        }
 72.6160 +    };
 72.6161 +
 72.6162 +        var runTasks = function(){
 72.6163 +        if(removeQueue.length > 0){
 72.6164 +            for(var i = 0, len = removeQueue.length; i < len; i++){
 72.6165 +                tasks.remove(removeQueue[i]);
 72.6166 +            }
 72.6167 +            removeQueue = [];
 72.6168 +            if(tasks.length < 1){
 72.6169 +                stopThread();
 72.6170 +                return;
 72.6171 +            }
 72.6172 +        }
 72.6173 +        var now = new Date().getTime();
 72.6174 +        for(var i = 0, len = tasks.length; i < len; ++i){
 72.6175 +            var t = tasks[i];
 72.6176 +            var itime = now - t.taskRunTime;
 72.6177 +            if(t.interval <= itime){
 72.6178 +                var rt = t.run.apply(t.scope || t, t.args || [++t.taskRunCount]);
 72.6179 +                t.taskRunTime = now;
 72.6180 +                if(rt === false || t.taskRunCount === t.repeat){
 72.6181 +                    removeTask(t);
 72.6182 +                    return;
 72.6183 +                }
 72.6184 +            }
 72.6185 +            if(t.duration && t.duration <= (now - t.taskStartTime)){
 72.6186 +                removeTask(t);
 72.6187 +            }
 72.6188 +        }
 72.6189 +    };
 72.6190 +
 72.6191 +    
 72.6192 +    this.start = function(task){
 72.6193 +        tasks.push(task);
 72.6194 +        task.taskStartTime = new Date().getTime();
 72.6195 +        task.taskRunTime = 0;
 72.6196 +        task.taskRunCount = 0;
 72.6197 +        startThread();
 72.6198 +        return task;
 72.6199 +    };
 72.6200 +
 72.6201 +    
 72.6202 +    this.stop = function(task){
 72.6203 +        removeTask(task);
 72.6204 +        return task;
 72.6205 +    };
 72.6206 +
 72.6207 +    
 72.6208 +    this.stopAll = function(){
 72.6209 +        stopThread();
 72.6210 +        for(var i = 0, len = tasks.length; i < len; i++){
 72.6211 +            if(tasks[i].onStop){
 72.6212 +                tasks[i].onStop();
 72.6213 +            }
 72.6214 +        }
 72.6215 +        tasks = [];
 72.6216 +        removeQueue = [];
 72.6217 +    };
 72.6218 +};
 72.6219 +
 72.6220 +
 72.6221 +Ext.TaskMgr = new Ext.util.TaskRunner();
 72.6222 +
 72.6223 +Ext.util.MixedCollection = function(allowFunctions, keyFn){
 72.6224 +    this.items = [];
 72.6225 +    this.map = {};
 72.6226 +    this.keys = [];
 72.6227 +    this.length = 0;
 72.6228 +    this.addEvents(
 72.6229 +        
 72.6230 +        "clear",
 72.6231 +        
 72.6232 +        "add",
 72.6233 +        
 72.6234 +        "replace",
 72.6235 +        
 72.6236 +        "remove",
 72.6237 +        "sort"
 72.6238 +    );
 72.6239 +    this.allowFunctions = allowFunctions === true;
 72.6240 +    if(keyFn){
 72.6241 +        this.getKey = keyFn;
 72.6242 +    }
 72.6243 +    Ext.util.MixedCollection.superclass.constructor.call(this);
 72.6244 +};
 72.6245 +
 72.6246 +Ext.extend(Ext.util.MixedCollection, Ext.util.Observable, {
 72.6247 +    allowFunctions : false,
 72.6248 +
 72.6249 +
 72.6250 +    add : function(key, o){
 72.6251 +        if(arguments.length == 1){
 72.6252 +            o = arguments[0];
 72.6253 +            key = this.getKey(o);
 72.6254 +        }
 72.6255 +        if(typeof key == "undefined" || key === null){
 72.6256 +            this.length++;
 72.6257 +            this.items.push(o);
 72.6258 +            this.keys.push(null);
 72.6259 +        }else{
 72.6260 +            var old = this.map[key];
 72.6261 +            if(old){
 72.6262 +                return this.replace(key, o);
 72.6263 +            }
 72.6264 +            this.length++;
 72.6265 +            this.items.push(o);
 72.6266 +            this.map[key] = o;
 72.6267 +            this.keys.push(key);
 72.6268 +        }
 72.6269 +        this.fireEvent("add", this.length-1, o, key);
 72.6270 +        return o;
 72.6271 +    },
 72.6272 +
 72.6273 +
 72.6274 +    getKey : function(o){
 72.6275 +         return o.id;
 72.6276 +    },
 72.6277 +
 72.6278 +
 72.6279 +    replace : function(key, o){
 72.6280 +        if(arguments.length == 1){
 72.6281 +            o = arguments[0];
 72.6282 +            key = this.getKey(o);
 72.6283 +        }
 72.6284 +        var old = this.item(key);
 72.6285 +        if(typeof key == "undefined" || key === null || typeof old == "undefined"){
 72.6286 +             return this.add(key, o);
 72.6287 +        }
 72.6288 +        var index = this.indexOfKey(key);
 72.6289 +        this.items[index] = o;
 72.6290 +        this.map[key] = o;
 72.6291 +        this.fireEvent("replace", key, old, o);
 72.6292 +        return o;
 72.6293 +    },
 72.6294 +
 72.6295 +
 72.6296 +    addAll : function(objs){
 72.6297 +        if(arguments.length > 1 || Ext.isArray(objs)){
 72.6298 +            var args = arguments.length > 1 ? arguments : objs;
 72.6299 +            for(var i = 0, len = args.length; i < len; i++){
 72.6300 +                this.add(args[i]);
 72.6301 +            }
 72.6302 +        }else{
 72.6303 +            for(var key in objs){
 72.6304 +                if(this.allowFunctions || typeof objs[key] != "function"){
 72.6305 +                    this.add(key, objs[key]);
 72.6306 +                }
 72.6307 +            }
 72.6308 +        }
 72.6309 +    },
 72.6310 +
 72.6311 +
 72.6312 +    each : function(fn, scope){
 72.6313 +        var items = [].concat(this.items); 
 72.6314 +        for(var i = 0, len = items.length; i < len; i++){
 72.6315 +            if(fn.call(scope || items[i], items[i], i, len) === false){
 72.6316 +                break;
 72.6317 +            }
 72.6318 +        }
 72.6319 +    },
 72.6320 +
 72.6321 +
 72.6322 +    eachKey : function(fn, scope){
 72.6323 +        for(var i = 0, len = this.keys.length; i < len; i++){
 72.6324 +            fn.call(scope || window, this.keys[i], this.items[i], i, len);
 72.6325 +        }
 72.6326 +    },
 72.6327 +
 72.6328 +    
 72.6329 +    find : function(fn, scope){
 72.6330 +        for(var i = 0, len = this.items.length; i < len; i++){
 72.6331 +            if(fn.call(scope || window, this.items[i], this.keys[i])){
 72.6332 +                return this.items[i];
 72.6333 +            }
 72.6334 +        }
 72.6335 +        return null;
 72.6336 +    },
 72.6337 +
 72.6338 +
 72.6339 +    insert : function(index, key, o){
 72.6340 +        if(arguments.length == 2){
 72.6341 +            o = arguments[1];
 72.6342 +            key = this.getKey(o);
 72.6343 +        }
 72.6344 +        if(index >= this.length){
 72.6345 +            return this.add(key, o);
 72.6346 +        }
 72.6347 +        this.length++;
 72.6348 +        this.items.splice(index, 0, o);
 72.6349 +        if(typeof key != "undefined" && key != null){
 72.6350 +            this.map[key] = o;
 72.6351 +        }
 72.6352 +        this.keys.splice(index, 0, key);
 72.6353 +        this.fireEvent("add", index, o, key);
 72.6354 +        return o;
 72.6355 +    },
 72.6356 +
 72.6357 +
 72.6358 +    remove : function(o){
 72.6359 +        return this.removeAt(this.indexOf(o));
 72.6360 +    },
 72.6361 +
 72.6362 +
 72.6363 +    removeAt : function(index){
 72.6364 +        if(index < this.length && index >= 0){
 72.6365 +            this.length--;
 72.6366 +            var o = this.items[index];
 72.6367 +            this.items.splice(index, 1);
 72.6368 +            var key = this.keys[index];
 72.6369 +            if(typeof key != "undefined"){
 72.6370 +                delete this.map[key];
 72.6371 +            }
 72.6372 +            this.keys.splice(index, 1);
 72.6373 +            this.fireEvent("remove", o, key);
 72.6374 +            return o;
 72.6375 +        }
 72.6376 +        return false;
 72.6377 +    },
 72.6378 +
 72.6379 +
 72.6380 +    removeKey : function(key){
 72.6381 +        return this.removeAt(this.indexOfKey(key));
 72.6382 +    },
 72.6383 +
 72.6384 +
 72.6385 +    getCount : function(){
 72.6386 +        return this.length;
 72.6387 +    },
 72.6388 +
 72.6389 +
 72.6390 +    indexOf : function(o){
 72.6391 +        return this.items.indexOf(o);
 72.6392 +    },
 72.6393 +
 72.6394 +
 72.6395 +    indexOfKey : function(key){
 72.6396 +        return this.keys.indexOf(key);
 72.6397 +    },
 72.6398 +
 72.6399 +
 72.6400 +    item : function(key){
 72.6401 +        var item = typeof this.map[key] != "undefined" ? this.map[key] : this.items[key];
 72.6402 +        return typeof item != 'function' || this.allowFunctions ? item : null; 
 72.6403 +    },
 72.6404 +
 72.6405 +
 72.6406 +    itemAt : function(index){
 72.6407 +        return this.items[index];
 72.6408 +    },
 72.6409 +
 72.6410 +
 72.6411 +    key : function(key){
 72.6412 +        return this.map[key];
 72.6413 +    },
 72.6414 +
 72.6415 +
 72.6416 +    contains : function(o){
 72.6417 +        return this.indexOf(o) != -1;
 72.6418 +    },
 72.6419 +
 72.6420 +
 72.6421 +    containsKey : function(key){
 72.6422 +        return typeof this.map[key] != "undefined";
 72.6423 +    },
 72.6424 +
 72.6425 +
 72.6426 +    clear : function(){
 72.6427 +        this.length = 0;
 72.6428 +        this.items = [];
 72.6429 +        this.keys = [];
 72.6430 +        this.map = {};
 72.6431 +        this.fireEvent("clear");
 72.6432 +    },
 72.6433 +
 72.6434 +
 72.6435 +    first : function(){
 72.6436 +        return this.items[0];
 72.6437 +    },
 72.6438 +
 72.6439 +
 72.6440 +    last : function(){
 72.6441 +        return this.items[this.length-1];
 72.6442 +    },
 72.6443 +
 72.6444 +    
 72.6445 +    _sort : function(property, dir, fn){
 72.6446 +        var dsc = String(dir).toUpperCase() == "DESC" ? -1 : 1;
 72.6447 +        fn = fn || function(a, b){
 72.6448 +            return a-b;
 72.6449 +        };
 72.6450 +        var c = [], k = this.keys, items = this.items;
 72.6451 +        for(var i = 0, len = items.length; i < len; i++){
 72.6452 +            c[c.length] = {key: k[i], value: items[i], index: i};
 72.6453 +        }
 72.6454 +        c.sort(function(a, b){
 72.6455 +            var v = fn(a[property], b[property]) * dsc;
 72.6456 +            if(v == 0){
 72.6457 +                v = (a.index < b.index ? -1 : 1);
 72.6458 +            }
 72.6459 +            return v;
 72.6460 +        });
 72.6461 +        for(var i = 0, len = c.length; i < len; i++){
 72.6462 +            items[i] = c[i].value;
 72.6463 +            k[i] = c[i].key;
 72.6464 +        }
 72.6465 +        this.fireEvent("sort", this);
 72.6466 +    },
 72.6467 +
 72.6468 +    
 72.6469 +    sort : function(dir, fn){
 72.6470 +        this._sort("value", dir, fn);
 72.6471 +    },
 72.6472 +
 72.6473 +    
 72.6474 +    keySort : function(dir, fn){
 72.6475 +        this._sort("key", dir, fn || function(a, b){
 72.6476 +            return String(a).toUpperCase()-String(b).toUpperCase();
 72.6477 +        });
 72.6478 +    },
 72.6479 +
 72.6480 +    
 72.6481 +    getRange : function(start, end){
 72.6482 +        var items = this.items;
 72.6483 +        if(items.length < 1){
 72.6484 +            return [];
 72.6485 +        }
 72.6486 +        start = start || 0;
 72.6487 +        end = Math.min(typeof end == "undefined" ? this.length-1 : end, this.length-1);
 72.6488 +        var r = [];
 72.6489 +        if(start <= end){
 72.6490 +            for(var i = start; i <= end; i++) {
 72.6491 +        	    r[r.length] = items[i];
 72.6492 +            }
 72.6493 +        }else{
 72.6494 +            for(var i = start; i >= end; i--) {
 72.6495 +        	    r[r.length] = items[i];
 72.6496 +            }
 72.6497 +        }
 72.6498 +        return r;
 72.6499 +    },
 72.6500 +
 72.6501 +    
 72.6502 +    filter : function(property, value, anyMatch, caseSensitive){
 72.6503 +        if(Ext.isEmpty(value, false)){
 72.6504 +            return this.clone();
 72.6505 +        }
 72.6506 +        value = this.createValueMatcher(value, anyMatch, caseSensitive);
 72.6507 +        return this.filterBy(function(o){
 72.6508 +            return o && value.test(o[property]);
 72.6509 +        });
 72.6510 +	},
 72.6511 +
 72.6512 +    
 72.6513 +    filterBy : function(fn, scope){
 72.6514 +        var r = new Ext.util.MixedCollection();
 72.6515 +        r.getKey = this.getKey;
 72.6516 +        var k = this.keys, it = this.items;
 72.6517 +        for(var i = 0, len = it.length; i < len; i++){
 72.6518 +            if(fn.call(scope||this, it[i], k[i])){
 72.6519 +				r.add(k[i], it[i]);
 72.6520 +			}
 72.6521 +        }
 72.6522 +        return r;
 72.6523 +    },
 72.6524 +
 72.6525 +    
 72.6526 +    findIndex : function(property, value, start, anyMatch, caseSensitive){
 72.6527 +        if(Ext.isEmpty(value, false)){
 72.6528 +            return -1;
 72.6529 +        }
 72.6530 +        value = this.createValueMatcher(value, anyMatch, caseSensitive);
 72.6531 +        return this.findIndexBy(function(o){
 72.6532 +            return o && value.test(o[property]);
 72.6533 +        }, null, start);
 72.6534 +	},
 72.6535 +
 72.6536 +    
 72.6537 +    findIndexBy : function(fn, scope, start){
 72.6538 +        var k = this.keys, it = this.items;
 72.6539 +        for(var i = (start||0), len = it.length; i < len; i++){
 72.6540 +            if(fn.call(scope||this, it[i], k[i])){
 72.6541 +				return i;
 72.6542 +            }
 72.6543 +        }
 72.6544 +        if(typeof start == 'number' && start > 0){
 72.6545 +            for(var i = 0; i < start; i++){
 72.6546 +                if(fn.call(scope||this, it[i], k[i])){
 72.6547 +                    return i;
 72.6548 +                }
 72.6549 +            }
 72.6550 +        }
 72.6551 +        return -1;
 72.6552 +    },
 72.6553 +
 72.6554 +    
 72.6555 +    createValueMatcher : function(value, anyMatch, caseSensitive){
 72.6556 +        if(!value.exec){ 
 72.6557 +            value = String(value);
 72.6558 +            value = new RegExp((anyMatch === true ? '' : '^') + Ext.escapeRe(value), caseSensitive ? '' : 'i');
 72.6559 +        }
 72.6560 +        return value;
 72.6561 +    },
 72.6562 +
 72.6563 +    
 72.6564 +    clone : function(){
 72.6565 +        var r = new Ext.util.MixedCollection();
 72.6566 +        var k = this.keys, it = this.items;
 72.6567 +        for(var i = 0, len = it.length; i < len; i++){
 72.6568 +            r.add(k[i], it[i]);
 72.6569 +        }
 72.6570 +        r.getKey = this.getKey;
 72.6571 +        return r;
 72.6572 +    }
 72.6573 +});
 72.6574 +
 72.6575 +Ext.util.MixedCollection.prototype.get = Ext.util.MixedCollection.prototype.item;
 72.6576 +
 72.6577 +Ext.util.JSON = new (function(){
 72.6578 +    var useHasOwn = !!{}.hasOwnProperty;
 72.6579 +
 72.6580 +        
 72.6581 +    var pad = function(n) {
 72.6582 +        return n < 10 ? "0" + n : n;
 72.6583 +    };
 72.6584 +
 72.6585 +    var m = {
 72.6586 +        "\b": '\\b',
 72.6587 +        "\t": '\\t',
 72.6588 +        "\n": '\\n',
 72.6589 +        "\f": '\\f',
 72.6590 +        "\r": '\\r',
 72.6591 +        '"' : '\\"',
 72.6592 +        "\\": '\\\\'
 72.6593 +    };
 72.6594 +
 72.6595 +    var encodeString = function(s){
 72.6596 +        if (/["\\\x00-\x1f]/.test(s)) {
 72.6597 +            return '"' + s.replace(/([\x00-\x1f\\"])/g, function(a, b) {
 72.6598 +                var c = m[b];
 72.6599 +                if(c){
 72.6600 +                    return c;
 72.6601 +                }
 72.6602 +                c = b.charCodeAt();
 72.6603 +                return "\\u00" +
 72.6604 +                    Math.floor(c / 16).toString(16) +
 72.6605 +                    (c % 16).toString(16);
 72.6606 +            }) + '"';
 72.6607 +        }
 72.6608 +        return '"' + s + '"';
 72.6609 +    };
 72.6610 +
 72.6611 +    var encodeArray = function(o){
 72.6612 +        var a = ["["], b, i, l = o.length, v;
 72.6613 +            for (i = 0; i < l; i += 1) {
 72.6614 +                v = o[i];
 72.6615 +                switch (typeof v) {
 72.6616 +                    case "undefined":
 72.6617 +                    case "function":
 72.6618 +                    case "unknown":
 72.6619 +                        break;
 72.6620 +                    default:
 72.6621 +                        if (b) {
 72.6622 +                            a.push(',');
 72.6623 +                        }
 72.6624 +                        a.push(v === null ? "null" : Ext.util.JSON.encode(v));
 72.6625 +                        b = true;
 72.6626 +                }
 72.6627 +            }
 72.6628 +            a.push("]");
 72.6629 +            return a.join("");
 72.6630 +    };
 72.6631 +
 72.6632 +    this.encodeDate = function(o){
 72.6633 +        return '"' + o.getFullYear() + "-" +
 72.6634 +                pad(o.getMonth() + 1) + "-" +
 72.6635 +                pad(o.getDate()) + "T" +
 72.6636 +                pad(o.getHours()) + ":" +
 72.6637 +                pad(o.getMinutes()) + ":" +
 72.6638 +                pad(o.getSeconds()) + '"';
 72.6639 +    };
 72.6640 +
 72.6641 +    
 72.6642 +    this.encode = function(o){
 72.6643 +        if(typeof o == "undefined" || o === null){
 72.6644 +            return "null";
 72.6645 +        }else if(Ext.isArray(o)){
 72.6646 +            return encodeArray(o);
 72.6647 +        }else if(Ext.isDate(o)){
 72.6648 +            return Ext.util.JSON.encodeDate(o);
 72.6649 +        }else if(typeof o == "string"){
 72.6650 +            return encodeString(o);
 72.6651 +        }else if(typeof o == "number"){
 72.6652 +            return isFinite(o) ? String(o) : "null";
 72.6653 +        }else if(typeof o == "boolean"){
 72.6654 +            return String(o);
 72.6655 +        }else {
 72.6656 +            var a = ["{"], b, i, v;
 72.6657 +            for (i in o) {
 72.6658 +                if(!useHasOwn || o.hasOwnProperty(i)) {
 72.6659 +                    v = o[i];
 72.6660 +                    switch (typeof v) {
 72.6661 +                    case "undefined":
 72.6662 +                    case "function":
 72.6663 +                    case "unknown":
 72.6664 +                        break;
 72.6665 +                    default:
 72.6666 +                        if(b){
 72.6667 +                            a.push(',');
 72.6668 +                        }
 72.6669 +                        a.push(this.encode(i), ":",
 72.6670 +                                v === null ? "null" : this.encode(v));
 72.6671 +                        b = true;
 72.6672 +                    }
 72.6673 +                }
 72.6674 +            }
 72.6675 +            a.push("}");
 72.6676 +            return a.join("");
 72.6677 +        }
 72.6678 +    };
 72.6679 +
 72.6680 +    
 72.6681 +    this.decode = function(json){
 72.6682 +        return eval("(" + json + ')');
 72.6683 +    };
 72.6684 +})();
 72.6685 +
 72.6686 +Ext.encode = Ext.util.JSON.encode;
 72.6687 +
 72.6688 +Ext.decode = Ext.util.JSON.decode;
 72.6689 +
 72.6690 +
 72.6691 +Ext.util.Format = function(){
 72.6692 +    var trimRe = /^\s+|\s+$/g;
 72.6693 +    return {
 72.6694 +        
 72.6695 +        ellipsis : function(value, len){
 72.6696 +            if(value && value.length > len){
 72.6697 +                return value.substr(0, len-3)+"...";
 72.6698 +            }
 72.6699 +            return value;
 72.6700 +        },
 72.6701 +
 72.6702 +        
 72.6703 +        undef : function(value){
 72.6704 +            return value !== undefined ? value : "";
 72.6705 +        },
 72.6706 +
 72.6707 +        
 72.6708 +        defaultValue : function(value, defaultValue){
 72.6709 +            return value !== undefined && value !== '' ? value : defaultValue;
 72.6710 +        },
 72.6711 +
 72.6712 +        
 72.6713 +        htmlEncode : function(value){
 72.6714 +            return !value ? value : String(value).replace(/&/g, "&amp;").replace(/>/g, "&gt;").replace(/</g, "&lt;").replace(/"/g, "&quot;");
 72.6715 +        },
 72.6716 +
 72.6717 +        
 72.6718 +        htmlDecode : function(value){
 72.6719 +            return !value ? value : String(value).replace(/&amp;/g, "&").replace(/&gt;/g, ">").replace(/&lt;/g, "<").replace(/&quot;/g, '"');
 72.6720 +        },
 72.6721 +
 72.6722 +        
 72.6723 +        trim : function(value){
 72.6724 +            return String(value).replace(trimRe, "");
 72.6725 +        },
 72.6726 +
 72.6727 +        
 72.6728 +        substr : function(value, start, length){
 72.6729 +            return String(value).substr(start, length);
 72.6730 +        },
 72.6731 +
 72.6732 +        
 72.6733 +        lowercase : function(value){
 72.6734 +            return String(value).toLowerCase();
 72.6735 +        },
 72.6736 +
 72.6737 +        
 72.6738 +        uppercase : function(value){
 72.6739 +            return String(value).toUpperCase();
 72.6740 +        },
 72.6741 +
 72.6742 +        
 72.6743 +        capitalize : function(value){
 72.6744 +            return !value ? value : value.charAt(0).toUpperCase() + value.substr(1).toLowerCase();
 72.6745 +        },
 72.6746 +
 72.6747 +        
 72.6748 +        call : function(value, fn){
 72.6749 +            if(arguments.length > 2){
 72.6750 +                var args = Array.prototype.slice.call(arguments, 2);
 72.6751 +                args.unshift(value);
 72.6752 +                return eval(fn).apply(window, args);
 72.6753 +            }else{
 72.6754 +                return eval(fn).call(window, value);
 72.6755 +            }
 72.6756 +        },
 72.6757 +
 72.6758 +        
 72.6759 +        usMoney : function(v){
 72.6760 +            v = (Math.round((v-0)*100))/100;
 72.6761 +            v = (v == Math.floor(v)) ? v + ".00" : ((v*10 == Math.floor(v*10)) ? v + "0" : v);
 72.6762 +            v = String(v);
 72.6763 +            var ps = v.split('.');
 72.6764 +            var whole = ps[0];
 72.6765 +            var sub = ps[1] ? '.'+ ps[1] : '.00';
 72.6766 +            var r = /(\d+)(\d{3})/;
 72.6767 +            while (r.test(whole)) {
 72.6768 +                whole = whole.replace(r, '$1' + ',' + '$2');
 72.6769 +            }
 72.6770 +            v = whole + sub;
 72.6771 +            if(v.charAt(0) == '-'){
 72.6772 +                return '-$' + v.substr(1);
 72.6773 +            }
 72.6774 +            return "$" +  v;
 72.6775 +        },
 72.6776 +
 72.6777 +        
 72.6778 +        date : function(v, format){
 72.6779 +            if(!v){
 72.6780 +                return "";
 72.6781 +            }
 72.6782 +            if(!Ext.isDate(v)){
 72.6783 +                v = new Date(Date.parse(v));
 72.6784 +            }
 72.6785 +            return v.dateFormat(format || "m/d/Y");
 72.6786 +        },
 72.6787 +
 72.6788 +        
 72.6789 +        dateRenderer : function(format){
 72.6790 +            return function(v){
 72.6791 +                return Ext.util.Format.date(v, format);
 72.6792 +            };
 72.6793 +        },
 72.6794 +
 72.6795 +        
 72.6796 +        stripTagsRE : /<\/?[^>]+>/gi,
 72.6797 +        
 72.6798 +        
 72.6799 +        stripTags : function(v){
 72.6800 +            return !v ? v : String(v).replace(this.stripTagsRE, "");
 72.6801 +        },
 72.6802 +
 72.6803 +        stripScriptsRe : /(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)/ig,
 72.6804 +
 72.6805 +        
 72.6806 +        stripScripts : function(v){
 72.6807 +            return !v ? v : String(v).replace(this.stripScriptsRe, "");
 72.6808 +        },
 72.6809 +
 72.6810 +        
 72.6811 +        fileSize : function(size){
 72.6812 +            if(size < 1024) {
 72.6813 +                return size + " bytes";
 72.6814 +            } else if(size < 1048576) {
 72.6815 +                return (Math.round(((size*10) / 1024))/10) + " KB";
 72.6816 +            } else {
 72.6817 +                return (Math.round(((size*10) / 1048576))/10) + " MB";
 72.6818 +            }
 72.6819 +        },
 72.6820 +
 72.6821 +        math : function(){
 72.6822 +            var fns = {};
 72.6823 +            return function(v, a){
 72.6824 +                if(!fns[a]){
 72.6825 +                    fns[a] = new Function('v', 'return v ' + a + ';');
 72.6826 +                }
 72.6827 +                return fns[a](v);
 72.6828 +            }
 72.6829 +        }()
 72.6830 +    };
 72.6831 +}();
 72.6832 +
 72.6833 +Ext.XTemplate = function(){
 72.6834 +    Ext.XTemplate.superclass.constructor.apply(this, arguments);
 72.6835 +    var s = this.html;
 72.6836 +
 72.6837 +    s = ['<tpl>', s, '</tpl>'].join('');
 72.6838 +
 72.6839 +    var re = /<tpl\b[^>]*>((?:(?=([^<]+))\2|<(?!tpl\b[^>]*>))*?)<\/tpl>/;
 72.6840 +
 72.6841 +    var nameRe = /^<tpl\b[^>]*?for="(.*?)"/;
 72.6842 +    var ifRe = /^<tpl\b[^>]*?if="(.*?)"/;
 72.6843 +    var execRe = /^<tpl\b[^>]*?exec="(.*?)"/;
 72.6844 +    var m, id = 0;
 72.6845 +    var tpls = [];
 72.6846 +
 72.6847 +    while(m = s.match(re)){
 72.6848 +       var m2 = m[0].match(nameRe);
 72.6849 +       var m3 = m[0].match(ifRe);
 72.6850 +       var m4 = m[0].match(execRe);
 72.6851 +       var exp = null, fn = null, exec = null;
 72.6852 +       var name = m2 && m2[1] ? m2[1] : '';
 72.6853 +       if(m3){
 72.6854 +           exp = m3 && m3[1] ? m3[1] : null;
 72.6855 +           if(exp){
 72.6856 +               fn = new Function('values', 'parent', 'xindex', 'xcount', 'with(values){ return '+(Ext.util.Format.htmlDecode(exp))+'; }');
 72.6857 +           }
 72.6858 +       }
 72.6859 +       if(m4){
 72.6860 +           exp = m4 && m4[1] ? m4[1] : null;
 72.6861 +           if(exp){
 72.6862 +               exec = new Function('values', 'parent', 'xindex', 'xcount', 'with(values){ '+(Ext.util.Format.htmlDecode(exp))+'; }');
 72.6863 +           }
 72.6864 +       }
 72.6865 +       if(name){
 72.6866 +           switch(name){
 72.6867 +               case '.': name = new Function('values', 'parent', 'with(values){ return values; }'); break;
 72.6868 +               case '..': name = new Function('values', 'parent', 'with(values){ return parent; }'); break;
 72.6869 +               default: name = new Function('values', 'parent', 'with(values){ return '+name+'; }');
 72.6870 +           }
 72.6871 +       }
 72.6872 +       tpls.push({
 72.6873 +            id: id,
 72.6874 +            target: name,
 72.6875 +            exec: exec,
 72.6876 +            test: fn,
 72.6877 +            body: m[1]||''
 72.6878 +        });
 72.6879 +       s = s.replace(m[0], '{xtpl'+ id + '}');
 72.6880 +       ++id;
 72.6881 +    }
 72.6882 +    for(var i = tpls.length-1; i >= 0; --i){
 72.6883 +        this.compileTpl(tpls[i]);
 72.6884 +    }
 72.6885 +    this.master = tpls[tpls.length-1];
 72.6886 +    this.tpls = tpls;
 72.6887 +};
 72.6888 +Ext.extend(Ext.XTemplate, Ext.Template, {
 72.6889 +        re : /\{([\w-\.\#]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?(\s?[\+\-\*\\]\s?[\d\.\+\-\*\\\(\)]+)?\}/g,
 72.6890 +        codeRe : /\{\[((?:\\\]|.|\n)*?)\]\}/g,
 72.6891 +
 72.6892 +        applySubTemplate : function(id, values, parent, xindex, xcount){
 72.6893 +        var t = this.tpls[id];
 72.6894 +        if(t.test && !t.test.call(this, values, parent, xindex, xcount)){
 72.6895 +            return '';
 72.6896 +        }
 72.6897 +        if(t.exec && t.exec.call(this, values, parent, xindex, xcount)){
 72.6898 +            return '';
 72.6899 +        }
 72.6900 +        var vs = t.target ? t.target.call(this, values, parent) : values;
 72.6901 +        parent = t.target ? values : parent;
 72.6902 +        if(t.target && Ext.isArray(vs)){
 72.6903 +            var buf = [];
 72.6904 +            for(var i = 0, len = vs.length; i < len; i++){
 72.6905 +                buf[buf.length] = t.compiled.call(this, vs[i], parent, i+1, len);
 72.6906 +            }
 72.6907 +            return buf.join('');
 72.6908 +        }
 72.6909 +        return t.compiled.call(this, vs, parent, xindex, xcount);
 72.6910 +    },
 72.6911 +
 72.6912 +        compileTpl : function(tpl){
 72.6913 +        var fm = Ext.util.Format;
 72.6914 +        var useF = this.disableFormats !== true;
 72.6915 +        var sep = Ext.isGecko ? "+" : ",";
 72.6916 +        var fn = function(m, name, format, args, math){
 72.6917 +            if(name.substr(0, 4) == 'xtpl'){
 72.6918 +                return "'"+ sep +'this.applySubTemplate('+name.substr(4)+', values, parent, xindex, xcount)'+sep+"'";
 72.6919 +            }
 72.6920 +            var v;
 72.6921 +            if(name === '.'){
 72.6922 +                v = 'values';
 72.6923 +            }else if(name === '#'){
 72.6924 +                v = 'xindex';
 72.6925 +            }else if(name.indexOf('.') != -1){
 72.6926 +                v = name;
 72.6927 +            }else{
 72.6928 +                v = "values['" + name + "']";
 72.6929 +            }
 72.6930 +            if(math){
 72.6931 +                v = '(' + v + math + ')';
 72.6932 +            }
 72.6933 +            if(format && useF){
 72.6934 +                args = args ? ',' + args : "";
 72.6935 +                if(format.substr(0, 5) != "this."){
 72.6936 +                    format = "fm." + format + '(';
 72.6937 +                }else{
 72.6938 +                    format = 'this.call("'+ format.substr(5) + '", ';
 72.6939 +                    args = ", values";
 72.6940 +                }
 72.6941 +            }else{
 72.6942 +                args= ''; format = "("+v+" === undefined ? '' : ";
 72.6943 +            }
 72.6944 +            return "'"+ sep + format + v + args + ")"+sep+"'";
 72.6945 +        };
 72.6946 +        var codeFn = function(m, code){
 72.6947 +            return "'"+ sep +'('+code+')'+sep+"'";
 72.6948 +        };
 72.6949 +
 72.6950 +        var body;
 72.6951 +                if(Ext.isGecko){
 72.6952 +            body = "tpl.compiled = function(values, parent, xindex, xcount){ return '" +
 72.6953 +                   tpl.body.replace(/(\r\n|\n)/g, '\\n').replace(/'/g, "\\'").replace(this.re, fn).replace(this.codeRe, codeFn) +
 72.6954 +                    "';};";
 72.6955 +        }else{
 72.6956 +            body = ["tpl.compiled = function(values, parent, xindex, xcount){ return ['"];
 72.6957 +            body.push(tpl.body.replace(/(\r\n|\n)/g, '\\n').replace(/'/g, "\\'").replace(this.re, fn).replace(this.codeRe, codeFn));
 72.6958 +            body.push("'].join('');};");
 72.6959 +            body = body.join('');
 72.6960 +        }
 72.6961 +        eval(body);
 72.6962 +        return this;
 72.6963 +    },
 72.6964 +
 72.6965 +    
 72.6966 +    applyTemplate : function(values){
 72.6967 +        return this.master.compiled.call(this, values, {}, 1, 1);
 72.6968 +    },
 72.6969 +
 72.6970 +    
 72.6971 +    compile : function(){return this;}
 72.6972 +
 72.6973 +    
 72.6974 +    
 72.6975 +    
 72.6976 +
 72.6977 +});
 72.6978 +
 72.6979 +Ext.XTemplate.prototype.apply = Ext.XTemplate.prototype.applyTemplate;
 72.6980 +
 72.6981 +
 72.6982 +Ext.XTemplate.from = function(el){
 72.6983 +    el = Ext.getDom(el);
 72.6984 +    return new Ext.XTemplate(el.value || el.innerHTML);
 72.6985 +};
 72.6986 +
 72.6987 +Ext.util.CSS = function(){
 72.6988 +	var rules = null;
 72.6989 +   	var doc = document;
 72.6990 +
 72.6991 +    var camelRe = /(-[a-z])/gi;
 72.6992 +    var camelFn = function(m, a){ return a.charAt(1).toUpperCase(); };
 72.6993 +
 72.6994 +   return {
 72.6995 +   
 72.6996 +   createStyleSheet : function(cssText, id){
 72.6997 +       var ss;
 72.6998 +       var head = doc.getElementsByTagName("head")[0];
 72.6999 +       var rules = doc.createElement("style");
 72.7000 +       rules.setAttribute("type", "text/css");
 72.7001 +       if(id){
 72.7002 +           rules.setAttribute("id", id);
 72.7003 +       }
 72.7004 +       if(Ext.isIE){
 72.7005 +           head.appendChild(rules);
 72.7006 +           ss = rules.styleSheet;
 72.7007 +           ss.cssText = cssText;
 72.7008 +       }else{
 72.7009 +           try{
 72.7010 +                rules.appendChild(doc.createTextNode(cssText));
 72.7011 +           }catch(e){
 72.7012 +               rules.cssText = cssText;
 72.7013 +           }
 72.7014 +           head.appendChild(rules);
 72.7015 +           ss = rules.styleSheet ? rules.styleSheet : (rules.sheet || doc.styleSheets[doc.styleSheets.length-1]);
 72.7016 +       }
 72.7017 +       this.cacheStyleSheet(ss);
 72.7018 +       return ss;
 72.7019 +   },
 72.7020 +
 72.7021 +   
 72.7022 +   removeStyleSheet : function(id){
 72.7023 +       var existing = doc.getElementById(id);
 72.7024 +       if(existing){
 72.7025 +           existing.parentNode.removeChild(existing);
 72.7026 +       }
 72.7027 +   },
 72.7028 +
 72.7029 +   
 72.7030 +   swapStyleSheet : function(id, url){
 72.7031 +       this.removeStyleSheet(id);
 72.7032 +       var ss = doc.createElement("link");
 72.7033 +       ss.setAttribute("rel", "stylesheet");
 72.7034 +       ss.setAttribute("type", "text/css");
 72.7035 +       ss.setAttribute("id", id);
 72.7036 +       ss.setAttribute("href", url);
 72.7037 +       doc.getElementsByTagName("head")[0].appendChild(ss);
 72.7038 +   },
 72.7039 +   
 72.7040 +   
 72.7041 +   refreshCache : function(){
 72.7042 +       return this.getRules(true);
 72.7043 +   },
 72.7044 +
 72.7045 +   
 72.7046 +   cacheStyleSheet : function(ss){
 72.7047 +       if(!rules){
 72.7048 +           rules = {};
 72.7049 +       }
 72.7050 +       try{
 72.7051 +           var ssRules = ss.cssRules || ss.rules;
 72.7052 +           for(var j = ssRules.length-1; j >= 0; --j){
 72.7053 +               rules[ssRules[j].selectorText] = ssRules[j];
 72.7054 +           }
 72.7055 +       }catch(e){}
 72.7056 +   },
 72.7057 +   
 72.7058 +   
 72.7059 +   getRules : function(refreshCache){
 72.7060 +   		if(rules == null || refreshCache){
 72.7061 +   			rules = {};
 72.7062 +   			var ds = doc.styleSheets;
 72.7063 +   			for(var i =0, len = ds.length; i < len; i++){
 72.7064 +   			    try{
 72.7065 +    		        this.cacheStyleSheet(ds[i]);
 72.7066 +    		    }catch(e){} 
 72.7067 +	        }
 72.7068 +   		}
 72.7069 +   		return rules;
 72.7070 +   	},
 72.7071 +   	
 72.7072 +   	
 72.7073 +   getRule : function(selector, refreshCache){
 72.7074 +   		var rs = this.getRules(refreshCache);
 72.7075 +   		if(!Ext.isArray(selector)){
 72.7076 +   		    return rs[selector];
 72.7077 +   		}
 72.7078 +   		for(var i = 0; i < selector.length; i++){
 72.7079 +			if(rs[selector[i]]){
 72.7080 +				return rs[selector[i]];
 72.7081 +			}
 72.7082 +		}
 72.7083 +		return null;
 72.7084 +   	},
 72.7085 +   	
 72.7086 +   	
 72.7087 +   	
 72.7088 +   updateRule : function(selector, property, value){
 72.7089 +   		if(!Ext.isArray(selector)){
 72.7090 +   			var rule = this.getRule(selector);
 72.7091 +   			if(rule){
 72.7092 +   				rule.style[property.replace(camelRe, camelFn)] = value;
 72.7093 +   				return true;
 72.7094 +   			}
 72.7095 +   		}else{
 72.7096 +   			for(var i = 0; i < selector.length; i++){
 72.7097 +   				if(this.updateRule(selector[i], property, value)){
 72.7098 +   					return true;
 72.7099 +   				}
 72.7100 +   			}
 72.7101 +   		}
 72.7102 +   		return false;
 72.7103 +   	}
 72.7104 +   };	
 72.7105 +}();
 72.7106 +
 72.7107 +Ext.util.ClickRepeater = function(el, config)
 72.7108 +{
 72.7109 +    this.el = Ext.get(el);
 72.7110 +    this.el.unselectable();
 72.7111 +
 72.7112 +    Ext.apply(this, config);
 72.7113 +
 72.7114 +    this.addEvents(
 72.7115 +    
 72.7116 +        "mousedown",
 72.7117 +    
 72.7118 +        "click",
 72.7119 +    
 72.7120 +        "mouseup"
 72.7121 +    );
 72.7122 +
 72.7123 +    this.el.on("mousedown", this.handleMouseDown, this);
 72.7124 +    if(this.preventDefault || this.stopDefault){
 72.7125 +        this.el.on("click", function(e){
 72.7126 +            if(this.preventDefault){
 72.7127 +                e.preventDefault();
 72.7128 +            }
 72.7129 +            if(this.stopDefault){
 72.7130 +                e.stopEvent();
 72.7131 +            }
 72.7132 +        }, this);
 72.7133 +    }
 72.7134 +
 72.7135 +        if(this.handler){
 72.7136 +        this.on("click", this.handler,  this.scope || this);
 72.7137 +    }
 72.7138 +
 72.7139 +    Ext.util.ClickRepeater.superclass.constructor.call(this);
 72.7140 +};
 72.7141 +
 72.7142 +Ext.extend(Ext.util.ClickRepeater, Ext.util.Observable, {
 72.7143 +    interval : 20,
 72.7144 +    delay: 250,
 72.7145 +    preventDefault : true,
 72.7146 +    stopDefault : false,
 72.7147 +    timer : 0,
 72.7148 +
 72.7149 +        handleMouseDown : function(){
 72.7150 +        clearTimeout(this.timer);
 72.7151 +        this.el.blur();
 72.7152 +        if(this.pressClass){
 72.7153 +            this.el.addClass(this.pressClass);
 72.7154 +        }
 72.7155 +        this.mousedownTime = new Date();
 72.7156 +
 72.7157 +        Ext.getDoc().on("mouseup", this.handleMouseUp, this);
 72.7158 +        this.el.on("mouseout", this.handleMouseOut, this);
 72.7159 +
 72.7160 +        this.fireEvent("mousedown", this);
 72.7161 +        this.fireEvent("click", this);
 72.7162 +
 72.7163 +        if (this.accelerate) {
 72.7164 +            this.delay = 400;
 72.7165 +	    }
 72.7166 +        this.timer = this.click.defer(this.delay || this.interval, this);
 72.7167 +    },
 72.7168 +
 72.7169 +        click : function(){
 72.7170 +        this.fireEvent("click", this);
 72.7171 +        this.timer = this.click.defer(this.accelerate ?
 72.7172 +            this.easeOutExpo(this.mousedownTime.getElapsed(),
 72.7173 +                400,
 72.7174 +                -390,
 72.7175 +                12000) :
 72.7176 +            this.interval, this);
 72.7177 +    },
 72.7178 +
 72.7179 +    easeOutExpo : function (t, b, c, d) {
 72.7180 +        return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b;
 72.7181 +    },
 72.7182 +
 72.7183 +        handleMouseOut : function(){
 72.7184 +        clearTimeout(this.timer);
 72.7185 +        if(this.pressClass){
 72.7186 +            this.el.removeClass(this.pressClass);
 72.7187 +        }
 72.7188 +        this.el.on("mouseover", this.handleMouseReturn, this);
 72.7189 +    },
 72.7190 +
 72.7191 +        handleMouseReturn : function(){
 72.7192 +        this.el.un("mouseover", this.handleMouseReturn);
 72.7193 +        if(this.pressClass){
 72.7194 +            this.el.addClass(this.pressClass);
 72.7195 +        }
 72.7196 +        this.click();
 72.7197 +    },
 72.7198 +
 72.7199 +        handleMouseUp : function(){
 72.7200 +        clearTimeout(this.timer);
 72.7201 +        this.el.un("mouseover", this.handleMouseReturn);
 72.7202 +        this.el.un("mouseout", this.handleMouseOut);
 72.7203 +        Ext.getDoc().un("mouseup", this.handleMouseUp);
 72.7204 +        this.el.removeClass(this.pressClass);
 72.7205 +        this.fireEvent("mouseup", this);
 72.7206 +    }
 72.7207 +});
 72.7208 +
 72.7209 +Ext.KeyNav = function(el, config){
 72.7210 +    this.el = Ext.get(el);
 72.7211 +    Ext.apply(this, config);
 72.7212 +    if(!this.disabled){
 72.7213 +        this.disabled = true;
 72.7214 +        this.enable();
 72.7215 +    }
 72.7216 +};
 72.7217 +
 72.7218 +Ext.KeyNav.prototype = {
 72.7219 +    
 72.7220 +    disabled : false,
 72.7221 +    
 72.7222 +    defaultEventAction: "stopEvent",
 72.7223 +    
 72.7224 +    forceKeyDown : false,
 72.7225 +
 72.7226 +        prepareEvent : function(e){
 72.7227 +        var k = e.getKey();
 72.7228 +        var h = this.keyToHandler[k];
 72.7229 +                                if(Ext.isSafari2 && h && k >= 37 && k <= 40){
 72.7230 +            e.stopEvent();
 72.7231 +        }
 72.7232 +    },
 72.7233 +
 72.7234 +        relay : function(e){
 72.7235 +        var k = e.getKey();
 72.7236 +        var h = this.keyToHandler[k];
 72.7237 +        if(h && this[h]){
 72.7238 +            if(this.doRelay(e, this[h], h) !== true){
 72.7239 +                e[this.defaultEventAction]();
 72.7240 +            }
 72.7241 +        }
 72.7242 +    },
 72.7243 +
 72.7244 +        doRelay : function(e, h, hname){
 72.7245 +        return h.call(this.scope || this, e);
 72.7246 +    },
 72.7247 +
 72.7248 +        enter : false,
 72.7249 +    left : false,
 72.7250 +    right : false,
 72.7251 +    up : false,
 72.7252 +    down : false,
 72.7253 +    tab : false,
 72.7254 +    esc : false,
 72.7255 +    pageUp : false,
 72.7256 +    pageDown : false,
 72.7257 +    del : false,
 72.7258 +    home : false,
 72.7259 +    end : false,
 72.7260 +
 72.7261 +        keyToHandler : {
 72.7262 +        37 : "left",
 72.7263 +        39 : "right",
 72.7264 +        38 : "up",
 72.7265 +        40 : "down",
 72.7266 +        33 : "pageUp",
 72.7267 +        34 : "pageDown",
 72.7268 +        46 : "del",
 72.7269 +        36 : "home",
 72.7270 +        35 : "end",
 72.7271 +        13 : "enter",
 72.7272 +        27 : "esc",
 72.7273 +        9  : "tab"
 72.7274 +    },
 72.7275 +
 72.7276 +	
 72.7277 +	enable: function(){
 72.7278 +		if(this.disabled){
 72.7279 +            if(this.forceKeyDown || Ext.isIE || Ext.isSafari3 || Ext.isAir){
 72.7280 +                this.el.on("keydown", this.relay,  this);
 72.7281 +            }else{
 72.7282 +                this.el.on("keydown", this.prepareEvent,  this);
 72.7283 +                this.el.on("keypress", this.relay,  this);
 72.7284 +            }
 72.7285 +		    this.disabled = false;
 72.7286 +		}
 72.7287 +	},
 72.7288 +
 72.7289 +	
 72.7290 +	disable: function(){
 72.7291 +		if(!this.disabled){
 72.7292 +		    if(this.forceKeyDown || Ext.isIE || Ext.isSafari3 || Ext.isAir){
 72.7293 +                this.el.un("keydown", this.relay);
 72.7294 +            }else{
 72.7295 +                this.el.un("keydown", this.prepareEvent);
 72.7296 +                this.el.un("keypress", this.relay);
 72.7297 +            }
 72.7298 +		    this.disabled = true;
 72.7299 +		}
 72.7300 +	}
 72.7301 +};
 72.7302 +
 72.7303 +Ext.KeyMap = function(el, config, eventName){
 72.7304 +    this.el  = Ext.get(el);
 72.7305 +    this.eventName = eventName || "keydown";
 72.7306 +    this.bindings = [];
 72.7307 +    if(config){
 72.7308 +        this.addBinding(config);
 72.7309 +    }
 72.7310 +    this.enable();
 72.7311 +};
 72.7312 +
 72.7313 +Ext.KeyMap.prototype = {
 72.7314 +    
 72.7315 +    stopEvent : false,
 72.7316 +
 72.7317 +    
 72.7318 +	addBinding : function(config){
 72.7319 +        if(Ext.isArray(config)){
 72.7320 +            for(var i = 0, len = config.length; i < len; i++){
 72.7321 +                this.addBinding(config[i]);
 72.7322 +            }
 72.7323 +            return;
 72.7324 +        }
 72.7325 +        var keyCode = config.key,
 72.7326 +            shift = config.shift,
 72.7327 +            ctrl = config.ctrl,
 72.7328 +            alt = config.alt,
 72.7329 +            fn = config.fn || config.handler,
 72.7330 +            scope = config.scope;
 72.7331 +
 72.7332 +        if(typeof keyCode == "string"){
 72.7333 +            var ks = [];
 72.7334 +            var keyString = keyCode.toUpperCase();
 72.7335 +            for(var j = 0, len = keyString.length; j < len; j++){
 72.7336 +                ks.push(keyString.charCodeAt(j));
 72.7337 +            }
 72.7338 +            keyCode = ks;
 72.7339 +        }
 72.7340 +        var keyArray = Ext.isArray(keyCode);
 72.7341 +        
 72.7342 +        var handler = function(e){
 72.7343 +            if((!shift || e.shiftKey) && (!ctrl || e.ctrlKey) &&  (!alt || e.altKey)){
 72.7344 +                var k = e.getKey();
 72.7345 +                if(keyArray){
 72.7346 +                    for(var i = 0, len = keyCode.length; i < len; i++){
 72.7347 +                        if(keyCode[i] == k){
 72.7348 +                          if(this.stopEvent){
 72.7349 +                              e.stopEvent();
 72.7350 +                          }
 72.7351 +                          fn.call(scope || window, k, e);
 72.7352 +                          return;
 72.7353 +                        }
 72.7354 +                    }
 72.7355 +                }else{
 72.7356 +                    if(k == keyCode){
 72.7357 +                        if(this.stopEvent){
 72.7358 +                           e.stopEvent();
 72.7359 +                        }
 72.7360 +                        fn.call(scope || window, k, e);
 72.7361 +                    }
 72.7362 +                }
 72.7363 +            }
 72.7364 +        };
 72.7365 +        this.bindings.push(handler);
 72.7366 +	},
 72.7367 +
 72.7368 +    
 72.7369 +    on : function(key, fn, scope){
 72.7370 +        var keyCode, shift, ctrl, alt;
 72.7371 +        if(typeof key == "object" && !Ext.isArray(key)){
 72.7372 +            keyCode = key.key;
 72.7373 +            shift = key.shift;
 72.7374 +            ctrl = key.ctrl;
 72.7375 +            alt = key.alt;
 72.7376 +        }else{
 72.7377 +            keyCode = key;
 72.7378 +        }
 72.7379 +        this.addBinding({
 72.7380 +            key: keyCode,
 72.7381 +            shift: shift,
 72.7382 +            ctrl: ctrl,
 72.7383 +            alt: alt,
 72.7384 +            fn: fn,
 72.7385 +            scope: scope
 72.7386 +        })
 72.7387 +    },
 72.7388 +
 72.7389 +    
 72.7390 +    handleKeyDown : function(e){
 72.7391 +	    if(this.enabled){ 
 72.7392 +    	    var b = this.bindings;
 72.7393 +    	    for(var i = 0, len = b.length; i < len; i++){
 72.7394 +    	        b[i].call(this, e);
 72.7395 +    	    }
 72.7396 +	    }
 72.7397 +	},
 72.7398 +
 72.7399 +	
 72.7400 +	isEnabled : function(){
 72.7401 +	    return this.enabled;
 72.7402 +	},
 72.7403 +
 72.7404 +	
 72.7405 +	enable: function(){
 72.7406 +		if(!this.enabled){
 72.7407 +		    this.el.on(this.eventName, this.handleKeyDown, this);
 72.7408 +		    this.enabled = true;
 72.7409 +		}
 72.7410 +	},
 72.7411 +
 72.7412 +	
 72.7413 +	disable: function(){
 72.7414 +		if(this.enabled){
 72.7415 +		    this.el.removeListener(this.eventName, this.handleKeyDown, this);
 72.7416 +		    this.enabled = false;
 72.7417 +		}
 72.7418 +	}
 72.7419 +};
 72.7420 +
 72.7421 +Ext.util.TextMetrics = function(){
 72.7422 +    var shared;
 72.7423 +    return {
 72.7424 +        
 72.7425 +        measure : function(el, text, fixedWidth){
 72.7426 +            if(!shared){
 72.7427 +                shared = Ext.util.TextMetrics.Instance(el, fixedWidth);
 72.7428 +            }
 72.7429 +            shared.bind(el);
 72.7430 +            shared.setFixedWidth(fixedWidth || 'auto');
 72.7431 +            return shared.getSize(text);
 72.7432 +        },
 72.7433 +
 72.7434 +        
 72.7435 +        createInstance : function(el, fixedWidth){
 72.7436 +            return Ext.util.TextMetrics.Instance(el, fixedWidth);
 72.7437 +        }
 72.7438 +    };
 72.7439 +}();
 72.7440 +
 72.7441 +Ext.util.TextMetrics.Instance = function(bindTo, fixedWidth){
 72.7442 +    var ml = new Ext.Element(document.createElement('div'));
 72.7443 +    document.body.appendChild(ml.dom);
 72.7444 +    ml.position('absolute');
 72.7445 +    ml.setLeftTop(-1000, -1000);
 72.7446 +    ml.hide();
 72.7447 +
 72.7448 +    if(fixedWidth){
 72.7449 +        ml.setWidth(fixedWidth);
 72.7450 +    }
 72.7451 +
 72.7452 +    var instance = {
 72.7453 +        
 72.7454 +        getSize : function(text){
 72.7455 +            ml.update(text);
 72.7456 +            var s = ml.getSize();
 72.7457 +            ml.update('');
 72.7458 +            return s;
 72.7459 +        },
 72.7460 +
 72.7461 +        
 72.7462 +        bind : function(el){
 72.7463 +            ml.setStyle(
 72.7464 +                Ext.fly(el).getStyles('font-size','font-style', 'font-weight', 'font-family','line-height', 'text-transform', 'letter-spacing')
 72.7465 +            );
 72.7466 +        },
 72.7467 +
 72.7468 +        
 72.7469 +        setFixedWidth : function(width){
 72.7470 +            ml.setWidth(width);
 72.7471 +        },
 72.7472 +
 72.7473 +        
 72.7474 +        getWidth : function(text){
 72.7475 +            ml.dom.style.width = 'auto';
 72.7476 +            return this.getSize(text).width;
 72.7477 +        },
 72.7478 +
 72.7479 +        
 72.7480 +        getHeight : function(text){
 72.7481 +            return this.getSize(text).height;
 72.7482 +        }
 72.7483 +    };
 72.7484 +
 72.7485 +    instance.bind(bindTo);
 72.7486 +
 72.7487 +    return instance;
 72.7488 +};
 72.7489 +
 72.7490 +Ext.Element.measureText = Ext.util.TextMetrics.measure;
 72.7491 +
 72.7492 +
 72.7493 +(function() {
 72.7494 +
 72.7495 +var Event=Ext.EventManager;
 72.7496 +var Dom=Ext.lib.Dom;
 72.7497 +
 72.7498 +
 72.7499 +Ext.dd.DragDrop = function(id, sGroup, config) {
 72.7500 +    if(id) {
 72.7501 +        this.init(id, sGroup, config);
 72.7502 +    }
 72.7503 +};
 72.7504 +
 72.7505 +Ext.dd.DragDrop.prototype = {
 72.7506 +
 72.7507 +    
 72.7508 +    id: null,
 72.7509 +
 72.7510 +    
 72.7511 +    config: null,
 72.7512 +
 72.7513 +    
 72.7514 +    dragElId: null,
 72.7515 +
 72.7516 +    
 72.7517 +    handleElId: null,
 72.7518 +
 72.7519 +    
 72.7520 +    invalidHandleTypes: null,
 72.7521 +
 72.7522 +    
 72.7523 +    invalidHandleIds: null,
 72.7524 +
 72.7525 +    
 72.7526 +    invalidHandleClasses: null,
 72.7527 +
 72.7528 +    
 72.7529 +    startPageX: 0,
 72.7530 +
 72.7531 +    
 72.7532 +    startPageY: 0,
 72.7533 +
 72.7534 +    
 72.7535 +    groups: null,
 72.7536 +
 72.7537 +    
 72.7538 +    locked: false,
 72.7539 +
 72.7540 +    
 72.7541 +    lock: function() { this.locked = true; },
 72.7542 +
 72.7543 +    
 72.7544 +    unlock: function() { this.locked = false; },
 72.7545 +
 72.7546 +    
 72.7547 +    isTarget: true,
 72.7548 +
 72.7549 +    
 72.7550 +    padding: null,
 72.7551 +
 72.7552 +    
 72.7553 +    _domRef: null,
 72.7554 +
 72.7555 +    
 72.7556 +    __ygDragDrop: true,
 72.7557 +
 72.7558 +    
 72.7559 +    constrainX: false,
 72.7560 +
 72.7561 +    
 72.7562 +    constrainY: false,
 72.7563 +
 72.7564 +    
 72.7565 +    minX: 0,
 72.7566 +
 72.7567 +    
 72.7568 +    maxX: 0,
 72.7569 +
 72.7570 +    
 72.7571 +    minY: 0,
 72.7572 +
 72.7573 +    
 72.7574 +    maxY: 0,
 72.7575 +
 72.7576 +    
 72.7577 +    maintainOffset: false,
 72.7578 +
 72.7579 +    
 72.7580 +    xTicks: null,
 72.7581 +
 72.7582 +    
 72.7583 +    yTicks: null,
 72.7584 +
 72.7585 +    
 72.7586 +    primaryButtonOnly: true,
 72.7587 +
 72.7588 +    
 72.7589 +    available: false,
 72.7590 +
 72.7591 +    
 72.7592 +    hasOuterHandles: false,
 72.7593 +
 72.7594 +    
 72.7595 +    b4StartDrag: function(x, y) { },
 72.7596 +
 72.7597 +    
 72.7598 +    startDrag: function(x, y) {  },
 72.7599 +
 72.7600 +    
 72.7601 +    b4Drag: function(e) { },
 72.7602 +
 72.7603 +    
 72.7604 +    onDrag: function(e) {  },
 72.7605 +
 72.7606 +    
 72.7607 +    onDragEnter: function(e, id) {  },
 72.7608 +
 72.7609 +    
 72.7610 +    b4DragOver: function(e) { },
 72.7611 +
 72.7612 +    
 72.7613 +    onDragOver: function(e, id) {  },
 72.7614 +
 72.7615 +    
 72.7616 +    b4DragOut: function(e) { },
 72.7617 +
 72.7618 +    
 72.7619 +    onDragOut: function(e, id) {  },
 72.7620 +
 72.7621 +    
 72.7622 +    b4DragDrop: function(e) { },
 72.7623 +
 72.7624 +    
 72.7625 +    onDragDrop: function(e, id) {  },
 72.7626 +
 72.7627 +    
 72.7628 +    onInvalidDrop: function(e) {  },
 72.7629 +
 72.7630 +    
 72.7631 +    b4EndDrag: function(e) { },
 72.7632 +
 72.7633 +    
 72.7634 +    endDrag: function(e) {  },
 72.7635 +
 72.7636 +    
 72.7637 +    b4MouseDown: function(e) {  },
 72.7638 +
 72.7639 +    
 72.7640 +    onMouseDown: function(e) {  },
 72.7641 +
 72.7642 +    
 72.7643 +    onMouseUp: function(e) {  },
 72.7644 +
 72.7645 +    
 72.7646 +    onAvailable: function () {
 72.7647 +    },
 72.7648 +
 72.7649 +    
 72.7650 +    defaultPadding : {left:0, right:0, top:0, bottom:0},
 72.7651 +
 72.7652 +    
 72.7653 +    constrainTo : function(constrainTo, pad, inContent){
 72.7654 +        if(typeof pad == "number"){
 72.7655 +            pad = {left: pad, right:pad, top:pad, bottom:pad};
 72.7656 +        }
 72.7657 +        pad = pad || this.defaultPadding;
 72.7658 +        var b = Ext.get(this.getEl()).getBox();
 72.7659 +        var ce = Ext.get(constrainTo);
 72.7660 +        var s = ce.getScroll();
 72.7661 +        var c, cd = ce.dom;
 72.7662 +        if(cd == document.body){
 72.7663 +            c = { x: s.left, y: s.top, width: Ext.lib.Dom.getViewWidth(), height: Ext.lib.Dom.getViewHeight()};
 72.7664 +        }else{
 72.7665 +            var xy = ce.getXY();
 72.7666 +            c = {x : xy[0]+s.left, y: xy[1]+s.top, width: cd.clientWidth, height: cd.clientHeight};
 72.7667 +        }
 72.7668 +
 72.7669 +
 72.7670 +        var topSpace = b.y - c.y;
 72.7671 +        var leftSpace = b.x - c.x;
 72.7672 +
 72.7673 +        this.resetConstraints();
 72.7674 +        this.setXConstraint(leftSpace - (pad.left||0), 
 72.7675 +                c.width - leftSpace - b.width - (pad.right||0), 
 72.7676 +				this.xTickSize
 72.7677 +        );
 72.7678 +        this.setYConstraint(topSpace - (pad.top||0), 
 72.7679 +                c.height - topSpace - b.height - (pad.bottom||0), 
 72.7680 +				this.yTickSize
 72.7681 +        );
 72.7682 +    },
 72.7683 +
 72.7684 +    
 72.7685 +    getEl: function() {
 72.7686 +        if (!this._domRef) {
 72.7687 +            this._domRef = Ext.getDom(this.id);
 72.7688 +        }
 72.7689 +
 72.7690 +        return this._domRef;
 72.7691 +    },
 72.7692 +
 72.7693 +    
 72.7694 +    getDragEl: function() {
 72.7695 +        return Ext.getDom(this.dragElId);
 72.7696 +    },
 72.7697 +
 72.7698 +    
 72.7699 +    init: function(id, sGroup, config) {
 72.7700 +        this.initTarget(id, sGroup, config);
 72.7701 +        Event.on(this.id, "mousedown", this.handleMouseDown, this);
 72.7702 +        
 72.7703 +    },
 72.7704 +
 72.7705 +    
 72.7706 +    initTarget: function(id, sGroup, config) {
 72.7707 +
 72.7708 +        
 72.7709 +        this.config = config || {};
 72.7710 +
 72.7711 +        
 72.7712 +        this.DDM = Ext.dd.DDM;
 72.7713 +        
 72.7714 +        this.groups = {};
 72.7715 +
 72.7716 +        
 72.7717 +        
 72.7718 +        if (typeof id !== "string") {
 72.7719 +            id = Ext.id(id);
 72.7720 +        }
 72.7721 +
 72.7722 +        
 72.7723 +        this.id = id;
 72.7724 +
 72.7725 +        
 72.7726 +        this.addToGroup((sGroup) ? sGroup : "default");
 72.7727 +
 72.7728 +        
 72.7729 +        
 72.7730 +        this.handleElId = id;
 72.7731 +
 72.7732 +        
 72.7733 +        this.setDragElId(id);
 72.7734 +
 72.7735 +        
 72.7736 +        this.invalidHandleTypes = { A: "A" };
 72.7737 +        this.invalidHandleIds = {};
 72.7738 +        this.invalidHandleClasses = [];
 72.7739 +
 72.7740 +        this.applyConfig();
 72.7741 +
 72.7742 +        this.handleOnAvailable();
 72.7743 +    },
 72.7744 +
 72.7745 +    
 72.7746 +    applyConfig: function() {
 72.7747 +
 72.7748 +        
 72.7749 +        
 72.7750 +        this.padding           = this.config.padding || [0, 0, 0, 0];
 72.7751 +        this.isTarget          = (this.config.isTarget !== false);
 72.7752 +        this.maintainOffset    = (this.config.maintainOffset);
 72.7753 +        this.primaryButtonOnly = (this.config.primaryButtonOnly !== false);
 72.7754 +
 72.7755 +    },
 72.7756 +
 72.7757 +    
 72.7758 +    handleOnAvailable: function() {
 72.7759 +        this.available = true;
 72.7760 +        this.resetConstraints();
 72.7761 +        this.onAvailable();
 72.7762 +    },
 72.7763 +
 72.7764 +     
 72.7765 +    setPadding: function(iTop, iRight, iBot, iLeft) {
 72.7766 +        
 72.7767 +        if (!iRight && 0 !== iRight) {
 72.7768 +            this.padding = [iTop, iTop, iTop, iTop];
 72.7769 +        } else if (!iBot && 0 !== iBot) {
 72.7770 +            this.padding = [iTop, iRight, iTop, iRight];
 72.7771 +        } else {
 72.7772 +            this.padding = [iTop, iRight, iBot, iLeft];
 72.7773 +        }
 72.7774 +    },
 72.7775 +
 72.7776 +    
 72.7777 +    setInitPosition: function(diffX, diffY) {
 72.7778 +        var el = this.getEl();
 72.7779 +
 72.7780 +        if (!this.DDM.verifyEl(el)) {
 72.7781 +            return;
 72.7782 +        }
 72.7783 +
 72.7784 +        var dx = diffX || 0;
 72.7785 +        var dy = diffY || 0;
 72.7786 +
 72.7787 +        var p = Dom.getXY( el );
 72.7788 +
 72.7789 +        this.initPageX = p[0] - dx;
 72.7790 +        this.initPageY = p[1] - dy;
 72.7791 +
 72.7792 +        this.lastPageX = p[0];
 72.7793 +        this.lastPageY = p[1];
 72.7794 +
 72.7795 +
 72.7796 +        this.setStartPosition(p);
 72.7797 +    },
 72.7798 +
 72.7799 +    
 72.7800 +    setStartPosition: function(pos) {
 72.7801 +        var p = pos || Dom.getXY( this.getEl() );
 72.7802 +        this.deltaSetXY = null;
 72.7803 +
 72.7804 +        this.startPageX = p[0];
 72.7805 +        this.startPageY = p[1];
 72.7806 +    },
 72.7807 +
 72.7808 +    
 72.7809 +    addToGroup: function(sGroup) {
 72.7810 +        this.groups[sGroup] = true;
 72.7811 +        this.DDM.regDragDrop(this, sGroup);
 72.7812 +    },
 72.7813 +
 72.7814 +    
 72.7815 +    removeFromGroup: function(sGroup) {
 72.7816 +        if (this.groups[sGroup]) {
 72.7817 +            delete this.groups[sGroup];
 72.7818 +        }
 72.7819 +
 72.7820 +        this.DDM.removeDDFromGroup(this, sGroup);
 72.7821 +    },
 72.7822 +
 72.7823 +    
 72.7824 +    setDragElId: function(id) {
 72.7825 +        this.dragElId = id;
 72.7826 +    },
 72.7827 +
 72.7828 +    
 72.7829 +    setHandleElId: function(id) {
 72.7830 +        if (typeof id !== "string") {
 72.7831 +            id = Ext.id(id);
 72.7832 +        }
 72.7833 +        this.handleElId = id;
 72.7834 +        this.DDM.regHandle(this.id, id);
 72.7835 +    },
 72.7836 +
 72.7837 +    
 72.7838 +    setOuterHandleElId: function(id) {
 72.7839 +        if (typeof id !== "string") {
 72.7840 +            id = Ext.id(id);
 72.7841 +        }
 72.7842 +        Event.on(id, "mousedown",
 72.7843 +                this.handleMouseDown, this);
 72.7844 +        this.setHandleElId(id);
 72.7845 +
 72.7846 +        this.hasOuterHandles = true;
 72.7847 +    },
 72.7848 +
 72.7849 +    
 72.7850 +    unreg: function() {
 72.7851 +        Event.un(this.id, "mousedown",
 72.7852 +                this.handleMouseDown);
 72.7853 +        this._domRef = null;
 72.7854 +        this.DDM._remove(this);
 72.7855 +    },
 72.7856 +
 72.7857 +    destroy : function(){
 72.7858 +        this.unreg();
 72.7859 +    },
 72.7860 +
 72.7861 +    
 72.7862 +    isLocked: function() {
 72.7863 +        return (this.DDM.isLocked() || this.locked);
 72.7864 +    },
 72.7865 +
 72.7866 +    
 72.7867 +    handleMouseDown: function(e, oDD){
 72.7868 +        if (this.primaryButtonOnly && e.button != 0) {
 72.7869 +            return;
 72.7870 +        }
 72.7871 +
 72.7872 +        if (this.isLocked()) {
 72.7873 +            return;
 72.7874 +        }
 72.7875 +
 72.7876 +        this.DDM.refreshCache(this.groups);
 72.7877 +
 72.7878 +        var pt = new Ext.lib.Point(Ext.lib.Event.getPageX(e), Ext.lib.Event.getPageY(e));
 72.7879 +        if (!this.hasOuterHandles && !this.DDM.isOverTarget(pt, this) )  {
 72.7880 +        } else {
 72.7881 +            if (this.clickValidator(e)) {
 72.7882 +
 72.7883 +                
 72.7884 +                this.setStartPosition();
 72.7885 +
 72.7886 +
 72.7887 +                this.b4MouseDown(e);
 72.7888 +                this.onMouseDown(e);
 72.7889 +
 72.7890 +                this.DDM.handleMouseDown(e, this);
 72.7891 +
 72.7892 +                this.DDM.stopEvent(e);
 72.7893 +            } else {
 72.7894 +
 72.7895 +
 72.7896 +            }
 72.7897 +        }
 72.7898 +    },
 72.7899 +
 72.7900 +    clickValidator: function(e) {
 72.7901 +        var target = e.getTarget();
 72.7902 +        return ( this.isValidHandleChild(target) &&
 72.7903 +                    (this.id == this.handleElId ||
 72.7904 +                        this.DDM.handleWasClicked(target, this.id)) );
 72.7905 +    },
 72.7906 +
 72.7907 +    
 72.7908 +    addInvalidHandleType: function(tagName) {
 72.7909 +        var type = tagName.toUpperCase();
 72.7910 +        this.invalidHandleTypes[type] = type;
 72.7911 +    },
 72.7912 +
 72.7913 +    
 72.7914 +    addInvalidHandleId: function(id) {
 72.7915 +        if (typeof id !== "string") {
 72.7916 +            id = Ext.id(id);
 72.7917 +        }
 72.7918 +        this.invalidHandleIds[id] = id;
 72.7919 +    },
 72.7920 +
 72.7921 +    
 72.7922 +    addInvalidHandleClass: function(cssClass) {
 72.7923 +        this.invalidHandleClasses.push(cssClass);
 72.7924 +    },
 72.7925 +
 72.7926 +    
 72.7927 +    removeInvalidHandleType: function(tagName) {
 72.7928 +        var type = tagName.toUpperCase();
 72.7929 +        
 72.7930 +        delete this.invalidHandleTypes[type];
 72.7931 +    },
 72.7932 +
 72.7933 +    
 72.7934 +    removeInvalidHandleId: function(id) {
 72.7935 +        if (typeof id !== "string") {
 72.7936 +            id = Ext.id(id);
 72.7937 +        }
 72.7938 +        delete this.invalidHandleIds[id];
 72.7939 +    },
 72.7940 +
 72.7941 +    
 72.7942 +    removeInvalidHandleClass: function(cssClass) {
 72.7943 +        for (var i=0, len=this.invalidHandleClasses.length; i<len; ++i) {
 72.7944 +            if (this.invalidHandleClasses[i] == cssClass) {
 72.7945 +                delete this.invalidHandleClasses[i];
 72.7946 +            }
 72.7947 +        }
 72.7948 +    },
 72.7949 +
 72.7950 +    
 72.7951 +    isValidHandleChild: function(node) {
 72.7952 +
 72.7953 +        var valid = true;
 72.7954 +        
 72.7955 +        var nodeName;
 72.7956 +        try {
 72.7957 +            nodeName = node.nodeName.toUpperCase();
 72.7958 +        } catch(e) {
 72.7959 +            nodeName = node.nodeName;
 72.7960 +        }
 72.7961 +        valid = valid && !this.invalidHandleTypes[nodeName];
 72.7962 +        valid = valid && !this.invalidHandleIds[node.id];
 72.7963 +
 72.7964 +        for (var i=0, len=this.invalidHandleClasses.length; valid && i<len; ++i) {
 72.7965 +            valid = !Dom.hasClass(node, this.invalidHandleClasses[i]);
 72.7966 +        }
 72.7967 +
 72.7968 +
 72.7969 +        return valid;
 72.7970 +
 72.7971 +    },
 72.7972 +
 72.7973 +    
 72.7974 +    setXTicks: function(iStartX, iTickSize) {
 72.7975 +        this.xTicks = [];
 72.7976 +        this.xTickSize = iTickSize;
 72.7977 +
 72.7978 +        var tickMap = {};
 72.7979 +
 72.7980 +        for (var i = this.initPageX; i >= this.minX; i = i - iTickSize) {
 72.7981 +            if (!tickMap[i]) {
 72.7982 +                this.xTicks[this.xTicks.length] = i;
 72.7983 +                tickMap[i] = true;
 72.7984 +            }
 72.7985 +        }
 72.7986 +
 72.7987 +        for (i = this.initPageX; i <= this.maxX; i = i + iTickSize) {
 72.7988 +            if (!tickMap[i]) {
 72.7989 +                this.xTicks[this.xTicks.length] = i;
 72.7990 +                tickMap[i] = true;
 72.7991 +            }
 72.7992 +        }
 72.7993 +
 72.7994 +        this.xTicks.sort(this.DDM.numericSort) ;
 72.7995 +    },
 72.7996 +
 72.7997 +    
 72.7998 +    setYTicks: function(iStartY, iTickSize) {
 72.7999 +        this.yTicks = [];
 72.8000 +        this.yTickSize = iTickSize;
 72.8001 +
 72.8002 +        var tickMap = {};
 72.8003 +
 72.8004 +        for (var i = this.initPageY; i >= this.minY; i = i - iTickSize) {
 72.8005 +            if (!tickMap[i]) {
 72.8006 +                this.yTicks[this.yTicks.length] = i;
 72.8007 +                tickMap[i] = true;
 72.8008 +            }
 72.8009 +        }
 72.8010 +
 72.8011 +        for (i = this.initPageY; i <= this.maxY; i = i + iTickSize) {
 72.8012 +            if (!tickMap[i]) {
 72.8013 +                this.yTicks[this.yTicks.length] = i;
 72.8014 +                tickMap[i] = true;
 72.8015 +            }
 72.8016 +        }
 72.8017 +
 72.8018 +        this.yTicks.sort(this.DDM.numericSort) ;
 72.8019 +    },
 72.8020 +
 72.8021 +    
 72.8022 +    setXConstraint: function(iLeft, iRight, iTickSize) {
 72.8023 +        this.leftConstraint = iLeft;
 72.8024 +        this.rightConstraint = iRight;
 72.8025 +
 72.8026 +        this.minX = this.initPageX - iLeft;
 72.8027 +        this.maxX = this.initPageX + iRight;
 72.8028 +        if (iTickSize) { this.setXTicks(this.initPageX, iTickSize); }
 72.8029 +
 72.8030 +        this.constrainX = true;
 72.8031 +    },
 72.8032 +
 72.8033 +    
 72.8034 +    clearConstraints: function() {
 72.8035 +        this.constrainX = false;
 72.8036 +        this.constrainY = false;
 72.8037 +        this.clearTicks();
 72.8038 +    },
 72.8039 +
 72.8040 +    
 72.8041 +    clearTicks: function() {
 72.8042 +        this.xTicks = null;
 72.8043 +        this.yTicks = null;
 72.8044 +        this.xTickSize = 0;
 72.8045 +        this.yTickSize = 0;
 72.8046 +    },
 72.8047 +
 72.8048 +    
 72.8049 +    setYConstraint: function(iUp, iDown, iTickSize) {
 72.8050 +        this.topConstraint = iUp;
 72.8051 +        this.bottomConstraint = iDown;
 72.8052 +
 72.8053 +        this.minY = this.initPageY - iUp;
 72.8054 +        this.maxY = this.initPageY + iDown;
 72.8055 +        if (iTickSize) { this.setYTicks(this.initPageY, iTickSize); }
 72.8056 +
 72.8057 +        this.constrainY = true;
 72.8058 +
 72.8059 +    },
 72.8060 +
 72.8061 +    
 72.8062 +    resetConstraints: function() {
 72.8063 +
 72.8064 +
 72.8065 +        
 72.8066 +        if (this.initPageX || this.initPageX === 0) {
 72.8067 +            
 72.8068 +            var dx = (this.maintainOffset) ? this.lastPageX - this.initPageX : 0;
 72.8069 +            var dy = (this.maintainOffset) ? this.lastPageY - this.initPageY : 0;
 72.8070 +
 72.8071 +            this.setInitPosition(dx, dy);
 72.8072 +
 72.8073 +        
 72.8074 +        } else {
 72.8075 +            this.setInitPosition();
 72.8076 +        }
 72.8077 +
 72.8078 +        if (this.constrainX) {
 72.8079 +            this.setXConstraint( this.leftConstraint,
 72.8080 +                                 this.rightConstraint,
 72.8081 +                                 this.xTickSize        );
 72.8082 +        }
 72.8083 +
 72.8084 +        if (this.constrainY) {
 72.8085 +            this.setYConstraint( this.topConstraint,
 72.8086 +                                 this.bottomConstraint,
 72.8087 +                                 this.yTickSize         );
 72.8088 +        }
 72.8089 +    },
 72.8090 +
 72.8091 +    
 72.8092 +    getTick: function(val, tickArray) {
 72.8093 +
 72.8094 +        if (!tickArray) {
 72.8095 +            
 72.8096 +            
 72.8097 +            return val;
 72.8098 +        } else if (tickArray[0] >= val) {
 72.8099 +            
 72.8100 +            
 72.8101 +            return tickArray[0];
 72.8102 +        } else {
 72.8103 +            for (var i=0, len=tickArray.length; i<len; ++i) {
 72.8104 +                var next = i + 1;
 72.8105 +                if (tickArray[next] && tickArray[next] >= val) {
 72.8106 +                    var diff1 = val - tickArray[i];
 72.8107 +                    var diff2 = tickArray[next] - val;
 72.8108 +                    return (diff2 > diff1) ? tickArray[i] : tickArray[next];
 72.8109 +                }
 72.8110 +            }
 72.8111 +
 72.8112 +            
 72.8113 +            
 72.8114 +            return tickArray[tickArray.length - 1];
 72.8115 +        }
 72.8116 +    },
 72.8117 +
 72.8118 +    
 72.8119 +    toString: function() {
 72.8120 +        return ("DragDrop " + this.id);
 72.8121 +    }
 72.8122 +
 72.8123 +};
 72.8124 +
 72.8125 +})();
 72.8126 +
 72.8127 +
 72.8128 +
 72.8129 +
 72.8130 +if (!Ext.dd.DragDropMgr) {
 72.8131 +
 72.8132 +
 72.8133 +Ext.dd.DragDropMgr = function() {
 72.8134 +
 72.8135 +    var Event = Ext.EventManager;
 72.8136 +
 72.8137 +    return {
 72.8138 +
 72.8139 +        
 72.8140 +        ids: {},
 72.8141 +
 72.8142 +        
 72.8143 +        handleIds: {},
 72.8144 +
 72.8145 +        
 72.8146 +        dragCurrent: null,
 72.8147 +
 72.8148 +        
 72.8149 +        dragOvers: {},
 72.8150 +
 72.8151 +        
 72.8152 +        deltaX: 0,
 72.8153 +
 72.8154 +        
 72.8155 +        deltaY: 0,
 72.8156 +
 72.8157 +        
 72.8158 +        preventDefault: true,
 72.8159 +
 72.8160 +        
 72.8161 +        stopPropagation: true,
 72.8162 +
 72.8163 +        
 72.8164 +        initialized: false,
 72.8165 +
 72.8166 +        
 72.8167 +        locked: false,
 72.8168 +
 72.8169 +        
 72.8170 +        init: function() {
 72.8171 +            this.initialized = true;
 72.8172 +        },
 72.8173 +
 72.8174 +        
 72.8175 +        POINT: 0,
 72.8176 +
 72.8177 +        
 72.8178 +        INTERSECT: 1,
 72.8179 +
 72.8180 +        
 72.8181 +        mode: 0,
 72.8182 +
 72.8183 +        
 72.8184 +        _execOnAll: function(sMethod, args) {
 72.8185 +            for (var i in this.ids) {
 72.8186 +                for (var j in this.ids[i]) {
 72.8187 +                    var oDD = this.ids[i][j];
 72.8188 +                    if (! this.isTypeOfDD(oDD)) {
 72.8189 +                        continue;
 72.8190 +                    }
 72.8191 +                    oDD[sMethod].apply(oDD, args);
 72.8192 +                }
 72.8193 +            }
 72.8194 +        },
 72.8195 +
 72.8196 +        
 72.8197 +        _onLoad: function() {
 72.8198 +
 72.8199 +            this.init();
 72.8200 +
 72.8201 +
 72.8202 +            Event.on(document, "mouseup",   this.handleMouseUp, this, true);
 72.8203 +            Event.on(document, "mousemove", this.handleMouseMove, this, true);
 72.8204 +            Event.on(window,   "unload",    this._onUnload, this, true);
 72.8205 +            Event.on(window,   "resize",    this._onResize, this, true);
 72.8206 +            
 72.8207 +
 72.8208 +        },
 72.8209 +
 72.8210 +        
 72.8211 +        _onResize: function(e) {
 72.8212 +            this._execOnAll("resetConstraints", []);
 72.8213 +        },
 72.8214 +
 72.8215 +        
 72.8216 +        lock: function() { this.locked = true; },
 72.8217 +
 72.8218 +        
 72.8219 +        unlock: function() { this.locked = false; },
 72.8220 +
 72.8221 +        
 72.8222 +        isLocked: function() { return this.locked; },
 72.8223 +
 72.8224 +        
 72.8225 +        locationCache: {},
 72.8226 +
 72.8227 +        
 72.8228 +        useCache: true,
 72.8229 +
 72.8230 +        
 72.8231 +        clickPixelThresh: 3,
 72.8232 +
 72.8233 +        
 72.8234 +        clickTimeThresh: 350,
 72.8235 +
 72.8236 +        
 72.8237 +        dragThreshMet: false,
 72.8238 +
 72.8239 +        
 72.8240 +        clickTimeout: null,
 72.8241 +
 72.8242 +        
 72.8243 +        startX: 0,
 72.8244 +
 72.8245 +        
 72.8246 +        startY: 0,
 72.8247 +
 72.8248 +        
 72.8249 +        regDragDrop: function(oDD, sGroup) {
 72.8250 +            if (!this.initialized) { this.init(); }
 72.8251 +
 72.8252 +            if (!this.ids[sGroup]) {
 72.8253 +                this.ids[sGroup] = {};
 72.8254 +            }
 72.8255 +            this.ids[sGroup][oDD.id] = oDD;
 72.8256 +        },
 72.8257 +
 72.8258 +        
 72.8259 +        removeDDFromGroup: function(oDD, sGroup) {
 72.8260 +            if (!this.ids[sGroup]) {
 72.8261 +                this.ids[sGroup] = {};
 72.8262 +            }
 72.8263 +
 72.8264 +            var obj = this.ids[sGroup];
 72.8265 +            if (obj && obj[oDD.id]) {
 72.8266 +                delete obj[oDD.id];
 72.8267 +            }
 72.8268 +        },
 72.8269 +
 72.8270 +        
 72.8271 +        _remove: function(oDD) {
 72.8272 +            for (var g in oDD.groups) {
 72.8273 +                if (g && this.ids[g][oDD.id]) {
 72.8274 +                    delete this.ids[g][oDD.id];
 72.8275 +                }
 72.8276 +            }
 72.8277 +            delete this.handleIds[oDD.id];
 72.8278 +        },
 72.8279 +
 72.8280 +        
 72.8281 +        regHandle: function(sDDId, sHandleId) {
 72.8282 +            if (!this.handleIds[sDDId]) {
 72.8283 +                this.handleIds[sDDId] = {};
 72.8284 +            }
 72.8285 +            this.handleIds[sDDId][sHandleId] = sHandleId;
 72.8286 +        },
 72.8287 +
 72.8288 +        
 72.8289 +        isDragDrop: function(id) {
 72.8290 +            return ( this.getDDById(id) ) ? true : false;
 72.8291 +        },
 72.8292 +
 72.8293 +        
 72.8294 +        getRelated: function(p_oDD, bTargetsOnly) {
 72.8295 +            var oDDs = [];
 72.8296 +            for (var i in p_oDD.groups) {
 72.8297 +                for (j in this.ids[i]) {
 72.8298 +                    var dd = this.ids[i][j];
 72.8299 +                    if (! this.isTypeOfDD(dd)) {
 72.8300 +                        continue;
 72.8301 +                    }
 72.8302 +                    if (!bTargetsOnly || dd.isTarget) {
 72.8303 +                        oDDs[oDDs.length] = dd;
 72.8304 +                    }
 72.8305 +                }
 72.8306 +            }
 72.8307 +
 72.8308 +            return oDDs;
 72.8309 +        },
 72.8310 +
 72.8311 +        
 72.8312 +        isLegalTarget: function (oDD, oTargetDD) {
 72.8313 +            var targets = this.getRelated(oDD, true);
 72.8314 +            for (var i=0, len=targets.length;i<len;++i) {
 72.8315 +                if (targets[i].id == oTargetDD.id) {
 72.8316 +                    return true;
 72.8317 +                }
 72.8318 +            }
 72.8319 +
 72.8320 +            return false;
 72.8321 +        },
 72.8322 +
 72.8323 +        
 72.8324 +        isTypeOfDD: function (oDD) {
 72.8325 +            return (oDD && oDD.__ygDragDrop);
 72.8326 +        },
 72.8327 +
 72.8328 +        
 72.8329 +        isHandle: function(sDDId, sHandleId) {
 72.8330 +            return ( this.handleIds[sDDId] &&
 72.8331 +                            this.handleIds[sDDId][sHandleId] );
 72.8332 +        },
 72.8333 +
 72.8334 +        
 72.8335 +        getDDById: function(id) {
 72.8336 +            for (var i in this.ids) {
 72.8337 +                if (this.ids[i][id]) {
 72.8338 +                    return this.ids[i][id];
 72.8339 +                }
 72.8340 +            }
 72.8341 +            return null;
 72.8342 +        },
 72.8343 +
 72.8344 +        
 72.8345 +        handleMouseDown: function(e, oDD) {
 72.8346 +            if(Ext.QuickTips){
 72.8347 +                Ext.QuickTips.disable();
 72.8348 +            }
 72.8349 +            this.currentTarget = e.getTarget();
 72.8350 +
 72.8351 +            this.dragCurrent = oDD;
 72.8352 +
 72.8353 +            var el = oDD.getEl();
 72.8354 +
 72.8355 +            
 72.8356 +            this.startX = e.getPageX();
 72.8357 +            this.startY = e.getPageY();
 72.8358 +
 72.8359 +            this.deltaX = this.startX - el.offsetLeft;
 72.8360 +            this.deltaY = this.startY - el.offsetTop;
 72.8361 +
 72.8362 +            this.dragThreshMet = false;
 72.8363 +
 72.8364 +            this.clickTimeout = setTimeout(
 72.8365 +                    function() {
 72.8366 +                        var DDM = Ext.dd.DDM;
 72.8367 +                        DDM.startDrag(DDM.startX, DDM.startY);
 72.8368 +                    },
 72.8369 +                    this.clickTimeThresh );
 72.8370 +        },
 72.8371 +
 72.8372 +        
 72.8373 +        startDrag: function(x, y) {
 72.8374 +            clearTimeout(this.clickTimeout);
 72.8375 +            if (this.dragCurrent) {
 72.8376 +                this.dragCurrent.b4StartDrag(x, y);
 72.8377 +                this.dragCurrent.startDrag(x, y);
 72.8378 +            }
 72.8379 +            this.dragThreshMet = true;
 72.8380 +        },
 72.8381 +
 72.8382 +        
 72.8383 +        handleMouseUp: function(e) {
 72.8384 +
 72.8385 +            if(Ext.QuickTips){
 72.8386 +                Ext.QuickTips.enable();
 72.8387 +            }
 72.8388 +            if (! this.dragCurrent) {
 72.8389 +                return;
 72.8390 +            }
 72.8391 +
 72.8392 +            clearTimeout(this.clickTimeout);
 72.8393 +
 72.8394 +            if (this.dragThreshMet) {
 72.8395 +                this.fireEvents(e, true);
 72.8396 +            } else {
 72.8397 +            }
 72.8398 +
 72.8399 +            this.stopDrag(e);
 72.8400 +
 72.8401 +            this.stopEvent(e);
 72.8402 +        },
 72.8403 +
 72.8404 +        
 72.8405 +        stopEvent: function(e){
 72.8406 +            if(this.stopPropagation) {
 72.8407 +                e.stopPropagation();
 72.8408 +            }
 72.8409 +
 72.8410 +            if (this.preventDefault) {
 72.8411 +                e.preventDefault();
 72.8412 +            }
 72.8413 +        },
 72.8414 +
 72.8415 +        
 72.8416 +        stopDrag: function(e) {
 72.8417 +            
 72.8418 +            if (this.dragCurrent) {
 72.8419 +                if (this.dragThreshMet) {
 72.8420 +                    this.dragCurrent.b4EndDrag(e);
 72.8421 +                    this.dragCurrent.endDrag(e);
 72.8422 +                }
 72.8423 +
 72.8424 +                this.dragCurrent.onMouseUp(e);
 72.8425 +            }
 72.8426 +
 72.8427 +            this.dragCurrent = null;
 72.8428 +            this.dragOvers = {};
 72.8429 +        },
 72.8430 +
 72.8431 +        
 72.8432 +        handleMouseMove: function(e) {
 72.8433 +            if (! this.dragCurrent) {
 72.8434 +                return true;
 72.8435 +            }
 72.8436 +
 72.8437 +            
 72.8438 +
 72.8439 +            
 72.8440 +            if (Ext.isIE && (e.button !== 0 && e.button !== 1 && e.button !== 2)) {
 72.8441 +                this.stopEvent(e);
 72.8442 +                return this.handleMouseUp(e);
 72.8443 +            }
 72.8444 +
 72.8445 +            if (!this.dragThreshMet) {
 72.8446 +                var diffX = Math.abs(this.startX - e.getPageX());
 72.8447 +                var diffY = Math.abs(this.startY - e.getPageY());
 72.8448 +                if (diffX > this.clickPixelThresh ||
 72.8449 +                            diffY > this.clickPixelThresh) {
 72.8450 +                    this.startDrag(this.startX, this.startY);
 72.8451 +                }
 72.8452 +            }
 72.8453 +
 72.8454 +            if (this.dragThreshMet) {
 72.8455 +                this.dragCurrent.b4Drag(e);
 72.8456 +                this.dragCurrent.onDrag(e);
 72.8457 +                if(!this.dragCurrent.moveOnly){
 72.8458 +                    this.fireEvents(e, false);
 72.8459 +                }
 72.8460 +            }
 72.8461 +
 72.8462 +            this.stopEvent(e);
 72.8463 +
 72.8464 +            return true;
 72.8465 +        },
 72.8466 +
 72.8467 +        
 72.8468 +        fireEvents: function(e, isDrop) {
 72.8469 +            var dc = this.dragCurrent;
 72.8470 +
 72.8471 +            
 72.8472 +            
 72.8473 +            if (!dc || dc.isLocked()) {
 72.8474 +                return;
 72.8475 +            }
 72.8476 +
 72.8477 +            var pt = e.getPoint();
 72.8478 +
 72.8479 +            
 72.8480 +            var oldOvers = [];
 72.8481 +
 72.8482 +            var outEvts   = [];
 72.8483 +            var overEvts  = [];
 72.8484 +            var dropEvts  = [];
 72.8485 +            var enterEvts = [];
 72.8486 +
 72.8487 +            
 72.8488 +            
 72.8489 +            for (var i in this.dragOvers) {
 72.8490 +
 72.8491 +                var ddo = this.dragOvers[i];
 72.8492 +
 72.8493 +                if (! this.isTypeOfDD(ddo)) {
 72.8494 +                    continue;
 72.8495 +                }
 72.8496 +
 72.8497 +                if (! this.isOverTarget(pt, ddo, this.mode)) {
 72.8498 +                    outEvts.push( ddo );
 72.8499 +                }
 72.8500 +
 72.8501 +                oldOvers[i] = true;
 72.8502 +                delete this.dragOvers[i];
 72.8503 +            }
 72.8504 +
 72.8505 +            for (var sGroup in dc.groups) {
 72.8506 +
 72.8507 +                if ("string" != typeof sGroup) {
 72.8508 +                    continue;
 72.8509 +                }
 72.8510 +
 72.8511 +                for (i in this.ids[sGroup]) {
 72.8512 +                    var oDD = this.ids[sGroup][i];
 72.8513 +                    if (! this.isTypeOfDD(oDD)) {
 72.8514 +                        continue;
 72.8515 +                    }
 72.8516 +
 72.8517 +                    if (oDD.isTarget && !oDD.isLocked() && oDD != dc) {
 72.8518 +                        if (this.isOverTarget(pt, oDD, this.mode)) {
 72.8519 +                            
 72.8520 +                            if (isDrop) {
 72.8521 +                                dropEvts.push( oDD );
 72.8522 +                            
 72.8523 +                            } else {
 72.8524 +
 72.8525 +                                
 72.8526 +                                if (!oldOvers[oDD.id]) {
 72.8527 +                                    enterEvts.push( oDD );
 72.8528 +                                
 72.8529 +                                } else {
 72.8530 +                                    overEvts.push( oDD );
 72.8531 +                                }
 72.8532 +
 72.8533 +                                this.dragOvers[oDD.id] = oDD;
 72.8534 +                            }
 72.8535 +                        }
 72.8536 +                    }
 72.8537 +                }
 72.8538 +            }
 72.8539 +
 72.8540 +            if (this.mode) {
 72.8541 +                if (outEvts.length) {
 72.8542 +                    dc.b4DragOut(e, outEvts);
 72.8543 +                    dc.onDragOut(e, outEvts);
 72.8544 +                }
 72.8545 +
 72.8546 +                if (enterEvts.length) {
 72.8547 +                    dc.onDragEnter(e, enterEvts);
 72.8548 +                }
 72.8549 +
 72.8550 +                if (overEvts.length) {
 72.8551 +                    dc.b4DragOver(e, overEvts);
 72.8552 +                    dc.onDragOver(e, overEvts);
 72.8553 +                }
 72.8554 +
 72.8555 +                if (dropEvts.length) {
 72.8556 +                    dc.b4DragDrop(e, dropEvts);
 72.8557 +                    dc.onDragDrop(e, dropEvts);
 72.8558 +                }
 72.8559 +
 72.8560 +            } else {
 72.8561 +                
 72.8562 +                var len = 0;
 72.8563 +                for (i=0, len=outEvts.length; i<len; ++i) {
 72.8564 +                    dc.b4DragOut(e, outEvts[i].id);
 72.8565 +                    dc.onDragOut(e, outEvts[i].id);
 72.8566 +                }
 72.8567 +
 72.8568 +                
 72.8569 +                for (i=0,len=enterEvts.length; i<len; ++i) {
 72.8570 +                    
 72.8571 +                    dc.onDragEnter(e, enterEvts[i].id);
 72.8572 +                }
 72.8573 +
 72.8574 +                
 72.8575 +                for (i=0,len=overEvts.length; i<len; ++i) {
 72.8576 +                    dc.b4DragOver(e, overEvts[i].id);
 72.8577 +                    dc.onDragOver(e, overEvts[i].id);
 72.8578 +                }
 72.8579 +
 72.8580 +                
 72.8581 +                for (i=0, len=dropEvts.length; i<len; ++i) {
 72.8582 +                    dc.b4DragDrop(e, dropEvts[i].id);
 72.8583 +                    dc.onDragDrop(e, dropEvts[i].id);
 72.8584 +                }
 72.8585 +
 72.8586 +            }
 72.8587 +
 72.8588 +            
 72.8589 +            if (isDrop && !dropEvts.length) {
 72.8590 +                dc.onInvalidDrop(e);
 72.8591 +            }
 72.8592 +
 72.8593 +        },
 72.8594 +
 72.8595 +        
 72.8596 +        getBestMatch: function(dds) {
 72.8597 +            var winner = null;
 72.8598 +            
 72.8599 +            
 72.8600 +               
 72.8601 +            
 72.8602 +            
 72.8603 +
 72.8604 +            var len = dds.length;
 72.8605 +
 72.8606 +            if (len == 1) {
 72.8607 +                winner = dds[0];
 72.8608 +            } else {
 72.8609 +                
 72.8610 +                for (var i=0; i<len; ++i) {
 72.8611 +                    var dd = dds[i];
 72.8612 +                    
 72.8613 +                    
 72.8614 +                    
 72.8615 +                    if (dd.cursorIsOver) {
 72.8616 +                        winner = dd;
 72.8617 +                        break;
 72.8618 +                    
 72.8619 +                    } else {
 72.8620 +                        if (!winner ||
 72.8621 +                            winner.overlap.getArea() < dd.overlap.getArea()) {
 72.8622 +                            winner = dd;
 72.8623 +                        }
 72.8624 +                    }
 72.8625 +                }
 72.8626 +            }
 72.8627 +
 72.8628 +            return winner;
 72.8629 +        },
 72.8630 +
 72.8631 +        
 72.8632 +        refreshCache: function(groups) {
 72.8633 +            for (var sGroup in groups) {
 72.8634 +                if ("string" != typeof sGroup) {
 72.8635 +                    continue;
 72.8636 +                }
 72.8637 +                for (var i in this.ids[sGroup]) {
 72.8638 +                    var oDD = this.ids[sGroup][i];
 72.8639 +
 72.8640 +                    if (this.isTypeOfDD(oDD)) {
 72.8641 +                    
 72.8642 +                        var loc = this.getLocation(oDD);
 72.8643 +                        if (loc) {
 72.8644 +                            this.locationCache[oDD.id] = loc;
 72.8645 +                        } else {
 72.8646 +                            delete this.locationCache[oDD.id];
 72.8647 +                            
 72.8648 +                            
 72.8649 +                            
 72.8650 +                        }
 72.8651 +                    }
 72.8652 +                }
 72.8653 +            }
 72.8654 +        },
 72.8655 +
 72.8656 +        
 72.8657 +        verifyEl: function(el) {
 72.8658 +            if (el) {
 72.8659 +                var parent;
 72.8660 +                if(Ext.isIE){
 72.8661 +                    try{
 72.8662 +                        parent = el.offsetParent;
 72.8663 +                    }catch(e){}
 72.8664 +                }else{
 72.8665 +                    parent = el.offsetParent;
 72.8666 +                }
 72.8667 +                if (parent) {
 72.8668 +                    return true;
 72.8669 +                }
 72.8670 +            }
 72.8671 +
 72.8672 +            return false;
 72.8673 +        },
 72.8674 +
 72.8675 +        
 72.8676 +        getLocation: function(oDD) {
 72.8677 +            if (! this.isTypeOfDD(oDD)) {
 72.8678 +                return null;
 72.8679 +            }
 72.8680 +
 72.8681 +            var el = oDD.getEl(), pos, x1, x2, y1, y2, t, r, b, l;
 72.8682 +
 72.8683 +            try {
 72.8684 +                pos= Ext.lib.Dom.getXY(el);
 72.8685 +            } catch (e) { }
 72.8686 +
 72.8687 +            if (!pos) {
 72.8688 +                return null;
 72.8689 +            }
 72.8690 +
 72.8691 +            x1 = pos[0];
 72.8692 +            x2 = x1 + el.offsetWidth;
 72.8693 +            y1 = pos[1];
 72.8694 +            y2 = y1 + el.offsetHeight;
 72.8695 +
 72.8696 +            t = y1 - oDD.padding[0];
 72.8697 +            r = x2 + oDD.padding[1];
 72.8698 +            b = y2 + oDD.padding[2];
 72.8699 +            l = x1 - oDD.padding[3];
 72.8700 +
 72.8701 +            return new Ext.lib.Region( t, r, b, l );
 72.8702 +        },
 72.8703 +
 72.8704 +        
 72.8705 +        isOverTarget: function(pt, oTarget, intersect) {
 72.8706 +            
 72.8707 +            var loc = this.locationCache[oTarget.id];
 72.8708 +            if (!loc || !this.useCache) {
 72.8709 +                loc = this.getLocation(oTarget);
 72.8710 +                this.locationCache[oTarget.id] = loc;
 72.8711 +
 72.8712 +            }
 72.8713 +
 72.8714 +            if (!loc) {
 72.8715 +                return false;
 72.8716 +            }
 72.8717 +
 72.8718 +            oTarget.cursorIsOver = loc.contains( pt );
 72.8719 +
 72.8720 +            
 72.8721 +            
 72.8722 +            
 72.8723 +            
 72.8724 +            
 72.8725 +            var dc = this.dragCurrent;
 72.8726 +            if (!dc || !dc.getTargetCoord ||
 72.8727 +                    (!intersect && !dc.constrainX && !dc.constrainY)) {
 72.8728 +                return oTarget.cursorIsOver;
 72.8729 +            }
 72.8730 +
 72.8731 +            oTarget.overlap = null;
 72.8732 +
 72.8733 +            
 72.8734 +            
 72.8735 +            
 72.8736 +            
 72.8737 +            var pos = dc.getTargetCoord(pt.x, pt.y);
 72.8738 +
 72.8739 +            var el = dc.getDragEl();
 72.8740 +            var curRegion = new Ext.lib.Region( pos.y,
 72.8741 +                                                   pos.x + el.offsetWidth,
 72.8742 +                                                   pos.y + el.offsetHeight,
 72.8743 +                                                   pos.x );
 72.8744 +
 72.8745 +            var overlap = curRegion.intersect(loc);
 72.8746 +
 72.8747 +            if (overlap) {
 72.8748 +                oTarget.overlap = overlap;
 72.8749 +                return (intersect) ? true : oTarget.cursorIsOver;
 72.8750 +            } else {
 72.8751 +                return false;
 72.8752 +            }
 72.8753 +        },
 72.8754 +
 72.8755 +        
 72.8756 +        _onUnload: function(e, me) {
 72.8757 +            Ext.dd.DragDropMgr.unregAll();
 72.8758 +        },
 72.8759 +
 72.8760 +        
 72.8761 +        unregAll: function() {
 72.8762 +
 72.8763 +            if (this.dragCurrent) {
 72.8764 +                this.stopDrag();
 72.8765 +                this.dragCurrent = null;
 72.8766 +            }
 72.8767 +
 72.8768 +            this._execOnAll("unreg", []);
 72.8769 +
 72.8770 +            for (var i in this.elementCache) {
 72.8771 +                delete this.elementCache[i];
 72.8772 +            }
 72.8773 +
 72.8774 +            this.elementCache = {};
 72.8775 +            this.ids = {};
 72.8776 +        },
 72.8777 +
 72.8778 +        
 72.8779 +        elementCache: {},
 72.8780 +
 72.8781 +        
 72.8782 +        getElWrapper: function(id) {
 72.8783 +            var oWrapper = this.elementCache[id];
 72.8784 +            if (!oWrapper || !oWrapper.el) {
 72.8785 +                oWrapper = this.elementCache[id] =
 72.8786 +                    new this.ElementWrapper(Ext.getDom(id));
 72.8787 +            }
 72.8788 +            return oWrapper;
 72.8789 +        },
 72.8790 +
 72.8791 +        
 72.8792 +        getElement: function(id) {
 72.8793 +            return Ext.getDom(id);
 72.8794 +        },
 72.8795 +
 72.8796 +        
 72.8797 +        getCss: function(id) {
 72.8798 +            var el = Ext.getDom(id);
 72.8799 +            return (el) ? el.style : null;
 72.8800 +        },
 72.8801 +
 72.8802 +        
 72.8803 +        ElementWrapper: function(el) {
 72.8804 +                
 72.8805 +                this.el = el || null;
 72.8806 +                
 72.8807 +                this.id = this.el && el.id;
 72.8808 +                
 72.8809 +                this.css = this.el && el.style;
 72.8810 +            },
 72.8811 +
 72.8812 +        
 72.8813 +        getPosX: function(el) {
 72.8814 +            return Ext.lib.Dom.getX(el);
 72.8815 +        },
 72.8816 +
 72.8817 +        
 72.8818 +        getPosY: function(el) {
 72.8819 +            return Ext.lib.Dom.getY(el);
 72.8820 +        },
 72.8821 +
 72.8822 +        
 72.8823 +        swapNode: function(n1, n2) {
 72.8824 +            if (n1.swapNode) {
 72.8825 +                n1.swapNode(n2);
 72.8826 +            } else {
 72.8827 +                var p = n2.parentNode;
 72.8828 +                var s = n2.nextSibling;
 72.8829 +
 72.8830 +                if (s == n1) {
 72.8831 +                    p.insertBefore(n1, n2);
 72.8832 +                } else if (n2 == n1.nextSibling) {
 72.8833 +                    p.insertBefore(n2, n1);
 72.8834 +                } else {
 72.8835 +                    n1.parentNode.replaceChild(n2, n1);
 72.8836 +                    p.insertBefore(n1, s);
 72.8837 +                }
 72.8838 +            }
 72.8839 +        },
 72.8840 +
 72.8841 +        
 72.8842 +        getScroll: function () {
 72.8843 +            var t, l, dde=document.documentElement, db=document.body;
 72.8844 +            if (dde && (dde.scrollTop || dde.scrollLeft)) {
 72.8845 +                t = dde.scrollTop;
 72.8846 +                l = dde.scrollLeft;
 72.8847 +            } else if (db) {
 72.8848 +                t = db.scrollTop;
 72.8849 +                l = db.scrollLeft;
 72.8850 +            } else {
 72.8851 +
 72.8852 +            }
 72.8853 +            return { top: t, left: l };
 72.8854 +        },
 72.8855 +
 72.8856 +        
 72.8857 +        getStyle: function(el, styleProp) {
 72.8858 +            return Ext.fly(el).getStyle(styleProp);
 72.8859 +        },
 72.8860 +
 72.8861 +        
 72.8862 +        getScrollTop: function () { return this.getScroll().top; },
 72.8863 +
 72.8864 +        
 72.8865 +        getScrollLeft: function () { return this.getScroll().left; },
 72.8866 +
 72.8867 +        
 72.8868 +        moveToEl: function (moveEl, targetEl) {
 72.8869 +            var aCoord = Ext.lib.Dom.getXY(targetEl);
 72.8870 +            Ext.lib.Dom.setXY(moveEl, aCoord);
 72.8871 +        },
 72.8872 +
 72.8873 +        
 72.8874 +        numericSort: function(a, b) { return (a - b); },
 72.8875 +
 72.8876 +        
 72.8877 +        _timeoutCount: 0,
 72.8878 +
 72.8879 +        
 72.8880 +        _addListeners: function() {
 72.8881 +            var DDM = Ext.dd.DDM;
 72.8882 +            if ( Ext.lib.Event && document ) {
 72.8883 +                DDM._onLoad();
 72.8884 +            } else {
 72.8885 +                if (DDM._timeoutCount > 2000) {
 72.8886 +                } else {
 72.8887 +                    setTimeout(DDM._addListeners, 10);
 72.8888 +                    if (document && document.body) {
 72.8889 +                        DDM._timeoutCount += 1;
 72.8890 +                    }
 72.8891 +                }
 72.8892 +            }
 72.8893 +        },
 72.8894 +
 72.8895 +        
 72.8896 +        handleWasClicked: function(node, id) {
 72.8897 +            if (this.isHandle(id, node.id)) {
 72.8898 +                return true;
 72.8899 +            } else {
 72.8900 +                
 72.8901 +                var p = node.parentNode;
 72.8902 +
 72.8903 +                while (p) {
 72.8904 +                    if (this.isHandle(id, p.id)) {
 72.8905 +                        return true;
 72.8906 +                    } else {
 72.8907 +                        p = p.parentNode;
 72.8908 +                    }
 72.8909 +                }
 72.8910 +            }
 72.8911 +
 72.8912 +            return false;
 72.8913 +        }
 72.8914 +
 72.8915 +    };
 72.8916 +
 72.8917 +}();
 72.8918 +
 72.8919 +
 72.8920 +Ext.dd.DDM = Ext.dd.DragDropMgr;
 72.8921 +Ext.dd.DDM._addListeners();
 72.8922 +
 72.8923 +}
 72.8924 +
 72.8925 +
 72.8926 +Ext.dd.DD = function(id, sGroup, config) {
 72.8927 +    if (id) {
 72.8928 +        this.init(id, sGroup, config);
 72.8929 +    }
 72.8930 +};
 72.8931 +
 72.8932 +Ext.extend(Ext.dd.DD, Ext.dd.DragDrop, {
 72.8933 +
 72.8934 +    
 72.8935 +    scroll: true,
 72.8936 +
 72.8937 +    
 72.8938 +    autoOffset: function(iPageX, iPageY) {
 72.8939 +        var x = iPageX - this.startPageX;
 72.8940 +        var y = iPageY - this.startPageY;
 72.8941 +        this.setDelta(x, y);
 72.8942 +    },
 72.8943 +
 72.8944 +    
 72.8945 +    setDelta: function(iDeltaX, iDeltaY) {
 72.8946 +        this.deltaX = iDeltaX;
 72.8947 +        this.deltaY = iDeltaY;
 72.8948 +    },
 72.8949 +
 72.8950 +    
 72.8951 +    setDragElPos: function(iPageX, iPageY) {
 72.8952 +        
 72.8953 +        
 72.8954 +
 72.8955 +        var el = this.getDragEl();
 72.8956 +        this.alignElWithMouse(el, iPageX, iPageY);
 72.8957 +    },
 72.8958 +
 72.8959 +    
 72.8960 +    alignElWithMouse: function(el, iPageX, iPageY) {
 72.8961 +        var oCoord = this.getTargetCoord(iPageX, iPageY);
 72.8962 +        var fly = el.dom ? el : Ext.fly(el, '_dd');
 72.8963 +        if (!this.deltaSetXY) {
 72.8964 +            var aCoord = [oCoord.x, oCoord.y];
 72.8965 +            fly.setXY(aCoord);
 72.8966 +            var newLeft = fly.getLeft(true);
 72.8967 +            var newTop  = fly.getTop(true);
 72.8968 +            this.deltaSetXY = [ newLeft - oCoord.x, newTop - oCoord.y ];
 72.8969 +        } else {
 72.8970 +            fly.setLeftTop(oCoord.x + this.deltaSetXY[0], oCoord.y + this.deltaSetXY[1]);
 72.8971 +        }
 72.8972 +
 72.8973 +        this.cachePosition(oCoord.x, oCoord.y);
 72.8974 +        this.autoScroll(oCoord.x, oCoord.y, el.offsetHeight, el.offsetWidth);
 72.8975 +        return oCoord;
 72.8976 +    },
 72.8977 +
 72.8978 +    
 72.8979 +    cachePosition: function(iPageX, iPageY) {
 72.8980 +        if (iPageX) {
 72.8981 +            this.lastPageX = iPageX;
 72.8982 +            this.lastPageY = iPageY;
 72.8983 +        } else {
 72.8984 +            var aCoord = Ext.lib.Dom.getXY(this.getEl());
 72.8985 +            this.lastPageX = aCoord[0];
 72.8986 +            this.lastPageY = aCoord[1];
 72.8987 +        }
 72.8988 +    },
 72.8989 +
 72.8990 +    
 72.8991 +    autoScroll: function(x, y, h, w) {
 72.8992 +
 72.8993 +        if (this.scroll) {
 72.8994 +            
 72.8995 +            var clientH = Ext.lib.Dom.getViewHeight();
 72.8996 +
 72.8997 +            
 72.8998 +            var clientW = Ext.lib.Dom.getViewWidth();
 72.8999 +
 72.9000 +            
 72.9001 +            var st = this.DDM.getScrollTop();
 72.9002 +
 72.9003 +            
 72.9004 +            var sl = this.DDM.getScrollLeft();
 72.9005 +
 72.9006 +            
 72.9007 +            var bot = h + y;
 72.9008 +
 72.9009 +            
 72.9010 +            var right = w + x;
 72.9011 +
 72.9012 +            
 72.9013 +            
 72.9014 +            
 72.9015 +            var toBot = (clientH + st - y - this.deltaY);
 72.9016 +
 72.9017 +            
 72.9018 +            var toRight = (clientW + sl - x - this.deltaX);
 72.9019 +
 72.9020 +
 72.9021 +            
 72.9022 +            
 72.9023 +            var thresh = 40;
 72.9024 +
 72.9025 +            
 72.9026 +            
 72.9027 +            
 72.9028 +            var scrAmt = (document.all) ? 80 : 30;
 72.9029 +
 72.9030 +            
 72.9031 +            
 72.9032 +            if ( bot > clientH && toBot < thresh ) {
 72.9033 +                window.scrollTo(sl, st + scrAmt);
 72.9034 +            }
 72.9035 +
 72.9036 +            
 72.9037 +            
 72.9038 +            if ( y < st && st > 0 && y - st < thresh ) {
 72.9039 +                window.scrollTo(sl, st - scrAmt);
 72.9040 +            }
 72.9041 +
 72.9042 +            
 72.9043 +            
 72.9044 +            if ( right > clientW && toRight < thresh ) {
 72.9045 +                window.scrollTo(sl + scrAmt, st);
 72.9046 +            }
 72.9047 +
 72.9048 +            
 72.9049 +            
 72.9050 +            if ( x < sl && sl > 0 && x - sl < thresh ) {
 72.9051 +                window.scrollTo(sl - scrAmt, st);
 72.9052 +            }
 72.9053 +        }
 72.9054 +    },
 72.9055 +
 72.9056 +    
 72.9057 +    getTargetCoord: function(iPageX, iPageY) {
 72.9058 +
 72.9059 +
 72.9060 +        var x = iPageX - this.deltaX;
 72.9061 +        var y = iPageY - this.deltaY;
 72.9062 +
 72.9063 +        if (this.constrainX) {
 72.9064 +            if (x < this.minX) { x = this.minX; }
 72.9065 +            if (x > this.maxX) { x = this.maxX; }
 72.9066 +        }
 72.9067 +
 72.9068 +        if (this.constrainY) {
 72.9069 +            if (y < this.minY) { y = this.minY; }
 72.9070 +            if (y > this.maxY) { y = this.maxY; }
 72.9071 +        }
 72.9072 +
 72.9073 +        x = this.getTick(x, this.xTicks);
 72.9074 +        y = this.getTick(y, this.yTicks);
 72.9075 +
 72.9076 +
 72.9077 +        return {x:x, y:y};
 72.9078 +    },
 72.9079 +
 72.9080 +    
 72.9081 +    applyConfig: function() {
 72.9082 +        Ext.dd.DD.superclass.applyConfig.call(this);
 72.9083 +        this.scroll = (this.config.scroll !== false);
 72.9084 +    },
 72.9085 +
 72.9086 +    
 72.9087 +    b4MouseDown: function(e) {
 72.9088 +        
 72.9089 +        this.autoOffset(e.getPageX(),
 72.9090 +                            e.getPageY());
 72.9091 +    },
 72.9092 +
 72.9093 +    
 72.9094 +    b4Drag: function(e) {
 72.9095 +        this.setDragElPos(e.getPageX(),
 72.9096 +                            e.getPageY());
 72.9097 +    },
 72.9098 +
 72.9099 +    toString: function() {
 72.9100 +        return ("DD " + this.id);
 72.9101 +    }
 72.9102 +
 72.9103 +    
 72.9104 +    
 72.9105 +    
 72.9106 +    
 72.9107 +
 72.9108 +});
 72.9109 +
 72.9110 +Ext.dd.DDProxy = function(id, sGroup, config) {
 72.9111 +    if (id) {
 72.9112 +        this.init(id, sGroup, config);
 72.9113 +        this.initFrame();
 72.9114 +    }
 72.9115 +};
 72.9116 +
 72.9117 +
 72.9118 +Ext.dd.DDProxy.dragElId = "ygddfdiv";
 72.9119 +
 72.9120 +Ext.extend(Ext.dd.DDProxy, Ext.dd.DD, {
 72.9121 +
 72.9122 +    
 72.9123 +    resizeFrame: true,
 72.9124 +
 72.9125 +    
 72.9126 +    centerFrame: false,
 72.9127 +
 72.9128 +    
 72.9129 +    createFrame: function() {
 72.9130 +        var self = this;
 72.9131 +        var body = document.body;
 72.9132 +
 72.9133 +        if (!body || !body.firstChild) {
 72.9134 +            setTimeout( function() { self.createFrame(); }, 50 );
 72.9135 +            return;
 72.9136 +        }
 72.9137 +
 72.9138 +        var div = this.getDragEl();
 72.9139 +
 72.9140 +        if (!div) {
 72.9141 +            div    = document.createElement("div");
 72.9142 +            div.id = this.dragElId;
 72.9143 +            var s  = div.style;
 72.9144 +
 72.9145 +            s.position   = "absolute";
 72.9146 +            s.visibility = "hidden";
 72.9147 +            s.cursor     = "move";
 72.9148 +            s.border     = "2px solid #aaa";
 72.9149 +            s.zIndex     = 999;
 72.9150 +
 72.9151 +            
 72.9152 +            
 72.9153 +            
 72.9154 +            body.insertBefore(div, body.firstChild);
 72.9155 +        }
 72.9156 +    },
 72.9157 +
 72.9158 +    
 72.9159 +    initFrame: function() {
 72.9160 +        this.createFrame();
 72.9161 +    },
 72.9162 +
 72.9163 +    applyConfig: function() {
 72.9164 +        Ext.dd.DDProxy.superclass.applyConfig.call(this);
 72.9165 +
 72.9166 +        this.resizeFrame = (this.config.resizeFrame !== false);
 72.9167 +        this.centerFrame = (this.config.centerFrame);
 72.9168 +        this.setDragElId(this.config.dragElId || Ext.dd.DDProxy.dragElId);
 72.9169 +    },
 72.9170 +
 72.9171 +    
 72.9172 +    showFrame: function(iPageX, iPageY) {
 72.9173 +        var el = this.getEl();
 72.9174 +        var dragEl = this.getDragEl();
 72.9175 +        var s = dragEl.style;
 72.9176 +
 72.9177 +        this._resizeProxy();
 72.9178 +
 72.9179 +        if (this.centerFrame) {
 72.9180 +            this.setDelta( Math.round(parseInt(s.width,  10)/2),
 72.9181 +                           Math.round(parseInt(s.height, 10)/2) );
 72.9182 +        }
 72.9183 +
 72.9184 +        this.setDragElPos(iPageX, iPageY);
 72.9185 +
 72.9186 +        Ext.fly(dragEl).show();
 72.9187 +    },
 72.9188 +
 72.9189 +    
 72.9190 +    _resizeProxy: function() {
 72.9191 +        if (this.resizeFrame) {
 72.9192 +            var el = this.getEl();
 72.9193 +            Ext.fly(this.getDragEl()).setSize(el.offsetWidth, el.offsetHeight);
 72.9194 +        }
 72.9195 +    },
 72.9196 +
 72.9197 +    
 72.9198 +    b4MouseDown: function(e) {
 72.9199 +        var x = e.getPageX();
 72.9200 +        var y = e.getPageY();
 72.9201 +        this.autoOffset(x, y);
 72.9202 +        this.setDragElPos(x, y);
 72.9203 +    },
 72.9204 +
 72.9205 +    
 72.9206 +    b4StartDrag: function(x, y) {
 72.9207 +        
 72.9208 +        this.showFrame(x, y);
 72.9209 +    },
 72.9210 +
 72.9211 +    
 72.9212 +    b4EndDrag: function(e) {
 72.9213 +        Ext.fly(this.getDragEl()).hide();
 72.9214 +    },
 72.9215 +
 72.9216 +    
 72.9217 +    
 72.9218 +    
 72.9219 +    endDrag: function(e) {
 72.9220 +
 72.9221 +        var lel = this.getEl();
 72.9222 +        var del = this.getDragEl();
 72.9223 +
 72.9224 +        
 72.9225 +        del.style.visibility = "";
 72.9226 +
 72.9227 +        this.beforeMove();
 72.9228 +        
 72.9229 +        
 72.9230 +        lel.style.visibility = "hidden";
 72.9231 +        Ext.dd.DDM.moveToEl(lel, del);
 72.9232 +        del.style.visibility = "hidden";
 72.9233 +        lel.style.visibility = "";
 72.9234 +
 72.9235 +        this.afterDrag();
 72.9236 +    },
 72.9237 +
 72.9238 +    beforeMove : function(){
 72.9239 +
 72.9240 +    },
 72.9241 +
 72.9242 +    afterDrag : function(){
 72.9243 +
 72.9244 +    },
 72.9245 +
 72.9246 +    toString: function() {
 72.9247 +        return ("DDProxy " + this.id);
 72.9248 +    }
 72.9249 +
 72.9250 +});
 72.9251 +
 72.9252 +Ext.dd.DDTarget = function(id, sGroup, config) {
 72.9253 +    if (id) {
 72.9254 +        this.initTarget(id, sGroup, config);
 72.9255 +    }
 72.9256 +};
 72.9257 +
 72.9258 +
 72.9259 +Ext.extend(Ext.dd.DDTarget, Ext.dd.DragDrop, {
 72.9260 +    toString: function() {
 72.9261 +        return ("DDTarget " + this.id);
 72.9262 +    }
 72.9263 +});
 72.9264 +
 72.9265 +Ext.dd.DragTracker = function(config){
 72.9266 +    Ext.apply(this, config);
 72.9267 +    this.addEvents(
 72.9268 +        'mousedown',
 72.9269 +        'mouseup',
 72.9270 +        'mousemove',
 72.9271 +        'dragstart',
 72.9272 +        'dragend',
 72.9273 +        'drag'
 72.9274 +    );
 72.9275 +
 72.9276 +    this.dragRegion = new Ext.lib.Region(0,0,0,0);
 72.9277 +
 72.9278 +    if(this.el){
 72.9279 +        this.initEl(this.el);
 72.9280 +    }
 72.9281 +}
 72.9282 +
 72.9283 +Ext.extend(Ext.dd.DragTracker, Ext.util.Observable,  {
 72.9284 +    active: false,
 72.9285 +    tolerance: 5,
 72.9286 +    autoStart: false,
 72.9287 +
 72.9288 +    initEl: function(el){
 72.9289 +        this.el = Ext.get(el);
 72.9290 +        el.on('mousedown', this.onMouseDown, this,
 72.9291 +                this.delegate ? {delegate: this.delegate} : undefined);
 72.9292 +    },
 72.9293 +
 72.9294 +    destroy : function(){
 72.9295 +        this.el.un('mousedown', this.onMouseDown, this);
 72.9296 +    },
 72.9297 +
 72.9298 +    onMouseDown: function(e, target){
 72.9299 +        if(this.fireEvent('mousedown', this, e) !== false && this.onBeforeStart(e) !== false){
 72.9300 +            this.startXY = this.lastXY = e.getXY();
 72.9301 +            this.dragTarget = this.delegate ? target : this.el.dom;
 72.9302 +            e.preventDefault();
 72.9303 +            var doc = Ext.getDoc();
 72.9304 +            doc.on('mouseup', this.onMouseUp, this);
 72.9305 +            doc.on('mousemove', this.onMouseMove, this);
 72.9306 +            doc.on('selectstart', this.stopSelect, this);
 72.9307 +            if(this.autoStart){
 72.9308 +                this.timer = this.triggerStart.defer(this.autoStart === true ? 1000 : this.autoStart, this);
 72.9309 +            }
 72.9310 +        }
 72.9311 +    },
 72.9312 +
 72.9313 +    onMouseMove: function(e, target){
 72.9314 +        e.preventDefault();
 72.9315 +        var xy = e.getXY(), s = this.startXY;
 72.9316 +        this.lastXY = xy;
 72.9317 +        if(!this.active){
 72.9318 +            if(Math.abs(s[0]-xy[0]) > this.tolerance || Math.abs(s[1]-xy[1]) > this.tolerance){
 72.9319 +                this.triggerStart();
 72.9320 +            }else{
 72.9321 +                return;
 72.9322 +            }
 72.9323 +        }
 72.9324 +        this.fireEvent('mousemove', this, e);
 72.9325 +        this.onDrag(e);
 72.9326 +        this.fireEvent('drag', this, e);
 72.9327 +    },
 72.9328 +
 72.9329 +    onMouseUp: function(e){
 72.9330 +        var doc = Ext.getDoc();
 72.9331 +        doc.un('mousemove', this.onMouseMove, this);
 72.9332 +        doc.un('mouseup', this.onMouseUp, this);
 72.9333 +        doc.un('selectstart', this.stopSelect, this);
 72.9334 +        e.preventDefault();
 72.9335 +        this.clearStart();
 72.9336 +        this.active = false;
 72.9337 +        delete this.elRegion;
 72.9338 +        this.fireEvent('mouseup', this, e);
 72.9339 +        this.onEnd(e);
 72.9340 +        this.fireEvent('dragend', this, e);
 72.9341 +    },
 72.9342 +
 72.9343 +    triggerStart: function(isTimer){
 72.9344 +        this.clearStart();
 72.9345 +        this.active = true;
 72.9346 +        this.onStart(this.startXY);
 72.9347 +        this.fireEvent('dragstart', this, this.startXY);
 72.9348 +    },
 72.9349 +
 72.9350 +    clearStart : function(){
 72.9351 +        if(this.timer){
 72.9352 +            clearTimeout(this.timer);
 72.9353 +            delete this.timer;
 72.9354 +        }
 72.9355 +    },
 72.9356 +
 72.9357 +    stopSelect : function(e){
 72.9358 +        e.stopEvent();
 72.9359 +        return false;
 72.9360 +    },
 72.9361 +
 72.9362 +    onBeforeStart : function(e){
 72.9363 +
 72.9364 +    },
 72.9365 +
 72.9366 +    onStart : function(xy){
 72.9367 +
 72.9368 +    },
 72.9369 +
 72.9370 +    onDrag : function(e){
 72.9371 +
 72.9372 +    },
 72.9373 +
 72.9374 +    onEnd : function(e){
 72.9375 +
 72.9376 +    },
 72.9377 +
 72.9378 +    getDragTarget : function(){
 72.9379 +        return this.dragTarget;
 72.9380 +    },
 72.9381 +
 72.9382 +    getDragCt : function(){
 72.9383 +        return this.el;
 72.9384 +    },
 72.9385 +
 72.9386 +    getXY : function(constrain){
 72.9387 +        return constrain ?
 72.9388 +               this.constrainModes[constrain].call(this, this.lastXY) : this.lastXY;
 72.9389 +    },
 72.9390 +
 72.9391 +    getOffset : function(constrain){
 72.9392 +        var xy = this.getXY(constrain);
 72.9393 +        var s = this.startXY;
 72.9394 +        return [s[0]-xy[0], s[1]-xy[1]];
 72.9395 +    },
 72.9396 +
 72.9397 +    constrainModes: {
 72.9398 +        'point' : function(xy){
 72.9399 +
 72.9400 +            if(!this.elRegion){
 72.9401 +                this.elRegion = this.getDragCt().getRegion();
 72.9402 +            }
 72.9403 +
 72.9404 +            var dr = this.dragRegion;
 72.9405 +
 72.9406 +            dr.left = xy[0];
 72.9407 +            dr.top = xy[1];
 72.9408 +            dr.right = xy[0];
 72.9409 +            dr.bottom = xy[1];
 72.9410 +
 72.9411 +            dr.constrainTo(this.elRegion);
 72.9412 +
 72.9413 +            return [dr.left, dr.top];
 72.9414 +        }
 72.9415 +    }
 72.9416 +});
 72.9417 +
 72.9418 +Ext.dd.ScrollManager = function(){
 72.9419 +    var ddm = Ext.dd.DragDropMgr;
 72.9420 +    var els = {};
 72.9421 +    var dragEl = null;
 72.9422 +    var proc = {};
 72.9423 +    
 72.9424 +    var onStop = function(e){
 72.9425 +        dragEl = null;
 72.9426 +        clearProc();
 72.9427 +    };
 72.9428 +    
 72.9429 +    var triggerRefresh = function(){
 72.9430 +        if(ddm.dragCurrent){
 72.9431 +             ddm.refreshCache(ddm.dragCurrent.groups);
 72.9432 +        }
 72.9433 +    };
 72.9434 +    
 72.9435 +    var doScroll = function(){
 72.9436 +        if(ddm.dragCurrent){
 72.9437 +            var dds = Ext.dd.ScrollManager;
 72.9438 +            var inc = proc.el.ddScrollConfig ?
 72.9439 +                      proc.el.ddScrollConfig.increment : dds.increment;
 72.9440 +            if(!dds.animate){
 72.9441 +                if(proc.el.scroll(proc.dir, inc)){
 72.9442 +                    triggerRefresh();
 72.9443 +                }
 72.9444 +            }else{
 72.9445 +                proc.el.scroll(proc.dir, inc, true, dds.animDuration, triggerRefresh);
 72.9446 +            }
 72.9447 +        }
 72.9448 +    };
 72.9449 +    
 72.9450 +    var clearProc = function(){
 72.9451 +        if(proc.id){
 72.9452 +            clearInterval(proc.id);
 72.9453 +        }
 72.9454 +        proc.id = 0;
 72.9455 +        proc.el = null;
 72.9456 +        proc.dir = "";
 72.9457 +    };
 72.9458 +    
 72.9459 +    var startProc = function(el, dir){
 72.9460 +        clearProc();
 72.9461 +        proc.el = el;
 72.9462 +        proc.dir = dir;
 72.9463 +        proc.id = setInterval(doScroll, Ext.dd.ScrollManager.frequency);
 72.9464 +    };
 72.9465 +    
 72.9466 +    var onFire = function(e, isDrop){
 72.9467 +        if(isDrop || !ddm.dragCurrent){ return; }
 72.9468 +        var dds = Ext.dd.ScrollManager;
 72.9469 +        if(!dragEl || dragEl != ddm.dragCurrent){
 72.9470 +            dragEl = ddm.dragCurrent;
 72.9471 +            
 72.9472 +            dds.refreshCache();
 72.9473 +        }
 72.9474 +        
 72.9475 +        var xy = Ext.lib.Event.getXY(e);
 72.9476 +        var pt = new Ext.lib.Point(xy[0], xy[1]);
 72.9477 +        for(var id in els){
 72.9478 +            var el = els[id], r = el._region;
 72.9479 +            var c = el.ddScrollConfig ? el.ddScrollConfig : dds;
 72.9480 +            if(r && r.contains(pt) && el.isScrollable()){
 72.9481 +                if(r.bottom - pt.y <= c.vthresh){
 72.9482 +                    if(proc.el != el){
 72.9483 +                        startProc(el, "down");
 72.9484 +                    }
 72.9485 +                    return;
 72.9486 +                }else if(r.right - pt.x <= c.hthresh){
 72.9487 +                    if(proc.el != el){
 72.9488 +                        startProc(el, "left");
 72.9489 +                    }
 72.9490 +                    return;
 72.9491 +                }else if(pt.y - r.top <= c.vthresh){
 72.9492 +                    if(proc.el != el){
 72.9493 +                        startProc(el, "up");
 72.9494 +                    }
 72.9495 +                    return;
 72.9496 +                }else if(pt.x - r.left <= c.hthresh){
 72.9497 +                    if(proc.el != el){
 72.9498 +                        startProc(el, "right");
 72.9499 +                    }
 72.9500 +                    return;
 72.9501 +                }
 72.9502 +            }
 72.9503 +        }
 72.9504 +        clearProc();
 72.9505 +    };
 72.9506 +    
 72.9507 +    ddm.fireEvents = ddm.fireEvents.createSequence(onFire, ddm);
 72.9508 +    ddm.stopDrag = ddm.stopDrag.createSequence(onStop, ddm);
 72.9509 +    
 72.9510 +    return {
 72.9511 +        
 72.9512 +        register : function(el){
 72.9513 +            if(Ext.isArray(el)){
 72.9514 +                for(var i = 0, len = el.length; i < len; i++) {
 72.9515 +                	this.register(el[i]);
 72.9516 +                }
 72.9517 +            }else{
 72.9518 +                el = Ext.get(el);
 72.9519 +                els[el.id] = el;
 72.9520 +            }
 72.9521 +        },
 72.9522 +        
 72.9523 +        
 72.9524 +        unregister : function(el){
 72.9525 +            if(Ext.isArray(el)){
 72.9526 +                for(var i = 0, len = el.length; i < len; i++) {
 72.9527 +                	this.unregister(el[i]);
 72.9528 +                }
 72.9529 +            }else{
 72.9530 +                el = Ext.get(el);
 72.9531 +                delete els[el.id];
 72.9532 +            }
 72.9533 +        },
 72.9534 +        
 72.9535 +        
 72.9536 +        vthresh : 25,
 72.9537 +        
 72.9538 +        hthresh : 25,
 72.9539 +
 72.9540 +        
 72.9541 +        increment : 100,
 72.9542 +        
 72.9543 +        
 72.9544 +        frequency : 500,
 72.9545 +        
 72.9546 +        
 72.9547 +        animate: true,
 72.9548 +        
 72.9549 +        
 72.9550 +        animDuration: .4,
 72.9551 +        
 72.9552 +        
 72.9553 +        refreshCache : function(){
 72.9554 +            for(var id in els){
 72.9555 +                if(typeof els[id] == 'object'){ 
 72.9556 +                    els[id]._region = els[id].getRegion();
 72.9557 +                }
 72.9558 +            }
 72.9559 +        }
 72.9560 +    };
 72.9561 +}();
 72.9562 +
 72.9563 +Ext.dd.Registry = function(){
 72.9564 +    var elements = {}; 
 72.9565 +    var handles = {}; 
 72.9566 +    var autoIdSeed = 0;
 72.9567 +
 72.9568 +    var getId = function(el, autogen){
 72.9569 +        if(typeof el == "string"){
 72.9570 +            return el;
 72.9571 +        }
 72.9572 +        var id = el.id;
 72.9573 +        if(!id && autogen !== false){
 72.9574 +            id = "extdd-" + (++autoIdSeed);
 72.9575 +            el.id = id;
 72.9576 +        }
 72.9577 +        return id;
 72.9578 +    };
 72.9579 +    
 72.9580 +    return {
 72.9581 +    
 72.9582 +        register : function(el, data){
 72.9583 +            data = data || {};
 72.9584 +            if(typeof el == "string"){
 72.9585 +                el = document.getElementById(el);
 72.9586 +            }
 72.9587 +            data.ddel = el;
 72.9588 +            elements[getId(el)] = data;
 72.9589 +            if(data.isHandle !== false){
 72.9590 +                handles[data.ddel.id] = data;
 72.9591 +            }
 72.9592 +            if(data.handles){
 72.9593 +                var hs = data.handles;
 72.9594 +                for(var i = 0, len = hs.length; i < len; i++){
 72.9595 +                	handles[getId(hs[i])] = data;
 72.9596 +                }
 72.9597 +            }
 72.9598 +        },
 72.9599 +
 72.9600 +    
 72.9601 +        unregister : function(el){
 72.9602 +            var id = getId(el, false);
 72.9603 +            var data = elements[id];
 72.9604 +            if(data){
 72.9605 +                delete elements[id];
 72.9606 +                if(data.handles){
 72.9607 +                    var hs = data.handles;
 72.9608 +                    for(var i = 0, len = hs.length; i < len; i++){
 72.9609 +                    	delete handles[getId(hs[i], false)];
 72.9610 +                    }
 72.9611 +                }
 72.9612 +            }
 72.9613 +        },
 72.9614 +
 72.9615 +    
 72.9616 +        getHandle : function(id){
 72.9617 +            if(typeof id != "string"){ 
 72.9618 +                id = id.id;
 72.9619 +            }
 72.9620 +            return handles[id];
 72.9621 +        },
 72.9622 +
 72.9623 +    
 72.9624 +        getHandleFromEvent : function(e){
 72.9625 +            var t = Ext.lib.Event.getTarget(e);
 72.9626 +            return t ? handles[t.id] : null;
 72.9627 +        },
 72.9628 +
 72.9629 +    
 72.9630 +        getTarget : function(id){
 72.9631 +            if(typeof id != "string"){ 
 72.9632 +                id = id.id;
 72.9633 +            }
 72.9634 +            return elements[id];
 72.9635 +        },
 72.9636 +
 72.9637 +    
 72.9638 +        getTargetFromEvent : function(e){
 72.9639 +            var t = Ext.lib.Event.getTarget(e);
 72.9640 +            return t ? elements[t.id] || handles[t.id] : null;
 72.9641 +        }
 72.9642 +    };
 72.9643 +}();
 72.9644 +
 72.9645 +Ext.dd.StatusProxy = function(config){
 72.9646 +    Ext.apply(this, config);
 72.9647 +    this.id = this.id || Ext.id();
 72.9648 +    this.el = new Ext.Layer({
 72.9649 +        dh: {
 72.9650 +            id: this.id, tag: "div", cls: "x-dd-drag-proxy "+this.dropNotAllowed, children: [
 72.9651 +                {tag: "div", cls: "x-dd-drop-icon"},
 72.9652 +                {tag: "div", cls: "x-dd-drag-ghost"}
 72.9653 +            ]
 72.9654 +        }, 
 72.9655 +        shadow: !config || config.shadow !== false
 72.9656 +    });
 72.9657 +    this.ghost = Ext.get(this.el.dom.childNodes[1]);
 72.9658 +    this.dropStatus = this.dropNotAllowed;
 72.9659 +};
 72.9660 +
 72.9661 +Ext.dd.StatusProxy.prototype = {
 72.9662 +    
 72.9663 +    dropAllowed : "x-dd-drop-ok",
 72.9664 +    
 72.9665 +    dropNotAllowed : "x-dd-drop-nodrop",
 72.9666 +
 72.9667 +    
 72.9668 +    setStatus : function(cssClass){
 72.9669 +        cssClass = cssClass || this.dropNotAllowed;
 72.9670 +        if(this.dropStatus != cssClass){
 72.9671 +            this.el.replaceClass(this.dropStatus, cssClass);
 72.9672 +            this.dropStatus = cssClass;
 72.9673 +        }
 72.9674 +    },
 72.9675 +
 72.9676 +    
 72.9677 +    reset : function(clearGhost){
 72.9678 +        this.el.dom.className = "x-dd-drag-proxy " + this.dropNotAllowed;
 72.9679 +        this.dropStatus = this.dropNotAllowed;
 72.9680 +        if(clearGhost){
 72.9681 +            this.ghost.update("");
 72.9682 +        }
 72.9683 +    },
 72.9684 +
 72.9685 +    
 72.9686 +    update : function(html){
 72.9687 +        if(typeof html == "string"){
 72.9688 +            this.ghost.update(html);
 72.9689 +        }else{
 72.9690 +            this.ghost.update("");
 72.9691 +            html.style.margin = "0";
 72.9692 +            this.ghost.dom.appendChild(html);
 72.9693 +        }        
 72.9694 +    },
 72.9695 +
 72.9696 +    
 72.9697 +    getEl : function(){
 72.9698 +        return this.el;
 72.9699 +    },
 72.9700 +
 72.9701 +    
 72.9702 +    getGhost : function(){
 72.9703 +        return this.ghost;
 72.9704 +    },
 72.9705 +
 72.9706 +    
 72.9707 +    hide : function(clear){
 72.9708 +        this.el.hide();
 72.9709 +        if(clear){
 72.9710 +            this.reset(true);
 72.9711 +        }
 72.9712 +    },
 72.9713 +
 72.9714 +    
 72.9715 +    stop : function(){
 72.9716 +        if(this.anim && this.anim.isAnimated && this.anim.isAnimated()){
 72.9717 +            this.anim.stop();
 72.9718 +        }
 72.9719 +    },
 72.9720 +
 72.9721 +    
 72.9722 +    show : function(){
 72.9723 +        this.el.show();
 72.9724 +    },
 72.9725 +
 72.9726 +    
 72.9727 +    sync : function(){
 72.9728 +        this.el.sync();
 72.9729 +    },
 72.9730 +
 72.9731 +    
 72.9732 +    repair : function(xy, callback, scope){
 72.9733 +        this.callback = callback;
 72.9734 +        this.scope = scope;
 72.9735 +        if(xy && this.animRepair !== false){
 72.9736 +            this.el.addClass("x-dd-drag-repair");
 72.9737 +            this.el.hideUnders(true);
 72.9738 +            this.anim = this.el.shift({
 72.9739 +                duration: this.repairDuration || .5,
 72.9740 +                easing: 'easeOut',
 72.9741 +                xy: xy,
 72.9742 +                stopFx: true,
 72.9743 +                callback: this.afterRepair,
 72.9744 +                scope: this
 72.9745 +            });
 72.9746 +        }else{
 72.9747 +            this.afterRepair();
 72.9748 +        }
 72.9749 +    },
 72.9750 +
 72.9751 +    
 72.9752 +    afterRepair : function(){
 72.9753 +        this.hide(true);
 72.9754 +        if(typeof this.callback == "function"){
 72.9755 +            this.callback.call(this.scope || this);
 72.9756 +        }
 72.9757 +        this.callback = null;
 72.9758 +        this.scope = null;
 72.9759 +    }
 72.9760 +};
 72.9761 +
 72.9762 +Ext.dd.DragSource = function(el, config){
 72.9763 +    this.el = Ext.get(el);
 72.9764 +    if(!this.dragData){
 72.9765 +        this.dragData = {};
 72.9766 +    }
 72.9767 +    
 72.9768 +    Ext.apply(this, config);
 72.9769 +    
 72.9770 +    if(!this.proxy){
 72.9771 +        this.proxy = new Ext.dd.StatusProxy();
 72.9772 +    }
 72.9773 +    Ext.dd.DragSource.superclass.constructor.call(this, this.el.dom, this.ddGroup || this.group, 
 72.9774 +          {dragElId : this.proxy.id, resizeFrame: false, isTarget: false, scroll: this.scroll === true});
 72.9775 +    
 72.9776 +    this.dragging = false;
 72.9777 +};
 72.9778 +
 72.9779 +Ext.extend(Ext.dd.DragSource, Ext.dd.DDProxy, {
 72.9780 +    
 72.9781 +    
 72.9782 +    dropAllowed : "x-dd-drop-ok",
 72.9783 +    
 72.9784 +    dropNotAllowed : "x-dd-drop-nodrop",
 72.9785 +
 72.9786 +    
 72.9787 +    getDragData : function(e){
 72.9788 +        return this.dragData;
 72.9789 +    },
 72.9790 +
 72.9791 +    
 72.9792 +    onDragEnter : function(e, id){
 72.9793 +        var target = Ext.dd.DragDropMgr.getDDById(id);
 72.9794 +        this.cachedTarget = target;
 72.9795 +        if(this.beforeDragEnter(target, e, id) !== false){
 72.9796 +            if(target.isNotifyTarget){
 72.9797 +                var status = target.notifyEnter(this, e, this.dragData);
 72.9798 +                this.proxy.setStatus(status);
 72.9799 +            }else{
 72.9800 +                this.proxy.setStatus(this.dropAllowed);
 72.9801 +            }
 72.9802 +            
 72.9803 +            if(this.afterDragEnter){
 72.9804 +                
 72.9805 +                this.afterDragEnter(target, e, id);
 72.9806 +            }
 72.9807 +        }
 72.9808 +    },
 72.9809 +
 72.9810 +    
 72.9811 +    beforeDragEnter : function(target, e, id){
 72.9812 +        return true;
 72.9813 +    },
 72.9814 +
 72.9815 +    
 72.9816 +    alignElWithMouse: function() {
 72.9817 +        Ext.dd.DragSource.superclass.alignElWithMouse.apply(this, arguments);
 72.9818 +        this.proxy.sync();
 72.9819 +    },
 72.9820 +
 72.9821 +    
 72.9822 +    onDragOver : function(e, id){
 72.9823 +        var target = this.cachedTarget || Ext.dd.DragDropMgr.getDDById(id);
 72.9824 +        if(this.beforeDragOver(target, e, id) !== false){
 72.9825 +            if(target.isNotifyTarget){
 72.9826 +                var status = target.notifyOver(this, e, this.dragData);
 72.9827 +                this.proxy.setStatus(status);
 72.9828 +            }
 72.9829 +
 72.9830 +            if(this.afterDragOver){
 72.9831 +                
 72.9832 +                this.afterDragOver(target, e, id);
 72.9833 +            }
 72.9834 +        }
 72.9835 +    },
 72.9836 +
 72.9837 +    
 72.9838 +    beforeDragOver : function(target, e, id){
 72.9839 +        return true;
 72.9840 +    },
 72.9841 +
 72.9842 +    
 72.9843 +    onDragOut : function(e, id){
 72.9844 +        var target = this.cachedTarget || Ext.dd.DragDropMgr.getDDById(id);
 72.9845 +        if(this.beforeDragOut(target, e, id) !== false){
 72.9846 +            if(target.isNotifyTarget){
 72.9847 +                target.notifyOut(this, e, this.dragData);
 72.9848 +            }
 72.9849 +            this.proxy.reset();
 72.9850 +            if(this.afterDragOut){
 72.9851 +                
 72.9852 +                this.afterDragOut(target, e, id);
 72.9853 +            }
 72.9854 +        }
 72.9855 +        this.cachedTarget = null;
 72.9856 +    },
 72.9857 +
 72.9858 +    
 72.9859 +    beforeDragOut : function(target, e, id){
 72.9860 +        return true;
 72.9861 +    },
 72.9862 +    
 72.9863 +    
 72.9864 +    onDragDrop : function(e, id){
 72.9865 +        var target = this.cachedTarget || Ext.dd.DragDropMgr.getDDById(id);
 72.9866 +        if(this.beforeDragDrop(target, e, id) !== false){
 72.9867 +            if(target.isNotifyTarget){
 72.9868 +                if(target.notifyDrop(this, e, this.dragData)){ 
 72.9869 +                    this.onValidDrop(target, e, id);
 72.9870 +                }else{
 72.9871 +                    this.onInvalidDrop(target, e, id);
 72.9872 +                }
 72.9873 +            }else{
 72.9874 +                this.onValidDrop(target, e, id);
 72.9875 +            }
 72.9876 +            
 72.9877 +            if(this.afterDragDrop){
 72.9878 +                
 72.9879 +                this.afterDragDrop(target, e, id);
 72.9880 +            }
 72.9881 +        }
 72.9882 +        delete this.cachedTarget;
 72.9883 +    },
 72.9884 +
 72.9885 +    
 72.9886 +    beforeDragDrop : function(target, e, id){
 72.9887 +        return true;
 72.9888 +    },
 72.9889 +
 72.9890 +    
 72.9891 +    onValidDrop : function(target, e, id){
 72.9892 +        this.hideProxy();
 72.9893 +        if(this.afterValidDrop){
 72.9894 +            
 72.9895 +            this.afterValidDrop(target, e, id);
 72.9896 +        }
 72.9897 +    },
 72.9898 +
 72.9899 +    
 72.9900 +    getRepairXY : function(e, data){
 72.9901 +        return this.el.getXY();  
 72.9902 +    },
 72.9903 +
 72.9904 +    
 72.9905 +    onInvalidDrop : function(target, e, id){
 72.9906 +        this.beforeInvalidDrop(target, e, id);
 72.9907 +        if(this.cachedTarget){
 72.9908 +            if(this.cachedTarget.isNotifyTarget){
 72.9909 +                this.cachedTarget.notifyOut(this, e, this.dragData);
 72.9910 +            }
 72.9911 +            this.cacheTarget = null;
 72.9912 +        }
 72.9913 +        this.proxy.repair(this.getRepairXY(e, this.dragData), this.afterRepair, this);
 72.9914 +
 72.9915 +        if(this.afterInvalidDrop){
 72.9916 +            
 72.9917 +            this.afterInvalidDrop(e, id);
 72.9918 +        }
 72.9919 +    },
 72.9920 +
 72.9921 +    
 72.9922 +    afterRepair : function(){
 72.9923 +        if(Ext.enableFx){
 72.9924 +            this.el.highlight(this.hlColor || "c3daf9");
 72.9925 +        }
 72.9926 +        this.dragging = false;
 72.9927 +    },
 72.9928 +
 72.9929 +    
 72.9930 +    beforeInvalidDrop : function(target, e, id){
 72.9931 +        return true;
 72.9932 +    },
 72.9933 +
 72.9934 +    
 72.9935 +    handleMouseDown : function(e){
 72.9936 +        if(this.dragging) {
 72.9937 +            return;
 72.9938 +        }
 72.9939 +        var data = this.getDragData(e);
 72.9940 +        if(data && this.onBeforeDrag(data, e) !== false){
 72.9941 +            this.dragData = data;
 72.9942 +            this.proxy.stop();
 72.9943 +            Ext.dd.DragSource.superclass.handleMouseDown.apply(this, arguments);
 72.9944 +        } 
 72.9945 +    },
 72.9946 +
 72.9947 +    
 72.9948 +    onBeforeDrag : function(data, e){
 72.9949 +        return true;
 72.9950 +    },
 72.9951 +
 72.9952 +    
 72.9953 +    onStartDrag : Ext.emptyFn,
 72.9954 +
 72.9955 +    
 72.9956 +    startDrag : function(x, y){
 72.9957 +        this.proxy.reset();
 72.9958 +        this.dragging = true;
 72.9959 +        this.proxy.update("");
 72.9960 +        this.onInitDrag(x, y);
 72.9961 +        this.proxy.show();
 72.9962 +    },
 72.9963 +
 72.9964 +    
 72.9965 +    onInitDrag : function(x, y){
 72.9966 +        var clone = this.el.dom.cloneNode(true);
 72.9967 +        clone.id = Ext.id(); 
 72.9968 +        this.proxy.update(clone);
 72.9969 +        this.onStartDrag(x, y);
 72.9970 +        return true;
 72.9971 +    },
 72.9972 +
 72.9973 +    
 72.9974 +    getProxy : function(){
 72.9975 +        return this.proxy;  
 72.9976 +    },
 72.9977 +
 72.9978 +    
 72.9979 +    hideProxy : function(){
 72.9980 +        this.proxy.hide();  
 72.9981 +        this.proxy.reset(true);
 72.9982 +        this.dragging = false;
 72.9983 +    },
 72.9984 +
 72.9985 +    
 72.9986 +    triggerCacheRefresh : function(){
 72.9987 +        Ext.dd.DDM.refreshCache(this.groups);
 72.9988 +    },
 72.9989 +
 72.9990 +    
 72.9991 +    b4EndDrag: function(e) {
 72.9992 +    },
 72.9993 +
 72.9994 +    
 72.9995 +    endDrag : function(e){
 72.9996 +        this.onEndDrag(this.dragData, e);
 72.9997 +    },
 72.9998 +
 72.9999 +    
72.10000 +    onEndDrag : function(data, e){
72.10001 +    },
72.10002 +    
72.10003 +    
72.10004 +    autoOffset : function(x, y) {
72.10005 +        this.setDelta(-12, -20);
72.10006 +    }    
72.10007 +});
72.10008 +
72.10009 +Ext.dd.DropTarget = function(el, config){
72.10010 +    this.el = Ext.get(el);
72.10011 +    
72.10012 +    Ext.apply(this, config);
72.10013 +    
72.10014 +    if(this.containerScroll){
72.10015 +        Ext.dd.ScrollManager.register(this.el);
72.10016 +    }
72.10017 +    
72.10018 +    Ext.dd.DropTarget.superclass.constructor.call(this, this.el.dom, this.ddGroup || this.group, 
72.10019 +          {isTarget: true});
72.10020 +
72.10021 +};
72.10022 +
72.10023 +Ext.extend(Ext.dd.DropTarget, Ext.dd.DDTarget, {
72.10024 +    
72.10025 +    
72.10026 +    
72.10027 +    dropAllowed : "x-dd-drop-ok",
72.10028 +    
72.10029 +    dropNotAllowed : "x-dd-drop-nodrop",
72.10030 +
72.10031 +    
72.10032 +    isTarget : true,
72.10033 +
72.10034 +    
72.10035 +    isNotifyTarget : true,
72.10036 +
72.10037 +    
72.10038 +    notifyEnter : function(dd, e, data){
72.10039 +        if(this.overClass){
72.10040 +            this.el.addClass(this.overClass);
72.10041 +        }
72.10042 +        return this.dropAllowed;
72.10043 +    },
72.10044 +
72.10045 +    
72.10046 +    notifyOver : function(dd, e, data){
72.10047 +        return this.dropAllowed;
72.10048 +    },
72.10049 +
72.10050 +    
72.10051 +    notifyOut : function(dd, e, data){
72.10052 +        if(this.overClass){
72.10053 +            this.el.removeClass(this.overClass);
72.10054 +        }
72.10055 +    },
72.10056 +
72.10057 +    
72.10058 +    notifyDrop : function(dd, e, data){
72.10059 +        return false;
72.10060 +    }
72.10061 +});
72.10062 +
72.10063 +Ext.dd.DragZone = function(el, config){
72.10064 +    Ext.dd.DragZone.superclass.constructor.call(this, el, config);
72.10065 +    if(this.containerScroll){
72.10066 +        Ext.dd.ScrollManager.register(this.el);
72.10067 +    }
72.10068 +};
72.10069 +
72.10070 +Ext.extend(Ext.dd.DragZone, Ext.dd.DragSource, {
72.10071 +    
72.10072 +    
72.10073 +
72.10074 +    
72.10075 +    getDragData : function(e){
72.10076 +        return Ext.dd.Registry.getHandleFromEvent(e);
72.10077 +    },
72.10078 +    
72.10079 +    
72.10080 +    onInitDrag : function(x, y){
72.10081 +        this.proxy.update(this.dragData.ddel.cloneNode(true));
72.10082 +        this.onStartDrag(x, y);
72.10083 +        return true;
72.10084 +    },
72.10085 +    
72.10086 +    
72.10087 +    afterRepair : function(){
72.10088 +        if(Ext.enableFx){
72.10089 +            Ext.Element.fly(this.dragData.ddel).highlight(this.hlColor || "c3daf9");
72.10090 +        }
72.10091 +        this.dragging = false;
72.10092 +    },
72.10093 +
72.10094 +    
72.10095 +    getRepairXY : function(e){
72.10096 +        return Ext.Element.fly(this.dragData.ddel).getXY();  
72.10097 +    }
72.10098 +});
72.10099 +
72.10100 +Ext.dd.DropZone = function(el, config){
72.10101 +    Ext.dd.DropZone.superclass.constructor.call(this, el, config);
72.10102 +};
72.10103 +
72.10104 +Ext.extend(Ext.dd.DropZone, Ext.dd.DropTarget, {
72.10105 +    
72.10106 +    getTargetFromEvent : function(e){
72.10107 +        return Ext.dd.Registry.getTargetFromEvent(e);
72.10108 +    },
72.10109 +
72.10110 +    
72.10111 +    onNodeEnter : function(n, dd, e, data){
72.10112 +        
72.10113 +    },
72.10114 +
72.10115 +    
72.10116 +    onNodeOver : function(n, dd, e, data){
72.10117 +        return this.dropAllowed;
72.10118 +    },
72.10119 +
72.10120 +    
72.10121 +    onNodeOut : function(n, dd, e, data){
72.10122 +        
72.10123 +    },
72.10124 +
72.10125 +    
72.10126 +    onNodeDrop : function(n, dd, e, data){
72.10127 +        return false;
72.10128 +    },
72.10129 +
72.10130 +    
72.10131 +    onContainerOver : function(dd, e, data){
72.10132 +        return this.dropNotAllowed;
72.10133 +    },
72.10134 +
72.10135 +    
72.10136 +    onContainerDrop : function(dd, e, data){
72.10137 +        return false;
72.10138 +    },
72.10139 +
72.10140 +    
72.10141 +    notifyEnter : function(dd, e, data){
72.10142 +        return this.dropNotAllowed;
72.10143 +    },
72.10144 +
72.10145 +    
72.10146 +    notifyOver : function(dd, e, data){
72.10147 +        var n = this.getTargetFromEvent(e);
72.10148 +        if(!n){ 
72.10149 +            if(this.lastOverNode){
72.10150 +                this.onNodeOut(this.lastOverNode, dd, e, data);
72.10151 +                this.lastOverNode = null;
72.10152 +            }
72.10153 +            return this.onContainerOver(dd, e, data);
72.10154 +        }
72.10155 +        if(this.lastOverNode != n){
72.10156 +            if(this.lastOverNode){
72.10157 +                this.onNodeOut(this.lastOverNode, dd, e, data);
72.10158 +            }
72.10159 +            this.onNodeEnter(n, dd, e, data);
72.10160 +            this.lastOverNode = n;
72.10161 +        }
72.10162 +        return this.onNodeOver(n, dd, e, data);
72.10163 +    },
72.10164 +
72.10165 +    
72.10166 +    notifyOut : function(dd, e, data){
72.10167 +        if(this.lastOverNode){
72.10168 +            this.onNodeOut(this.lastOverNode, dd, e, data);
72.10169 +            this.lastOverNode = null;
72.10170 +        }
72.10171 +    },
72.10172 +
72.10173 +    
72.10174 +    notifyDrop : function(dd, e, data){
72.10175 +        if(this.lastOverNode){
72.10176 +            this.onNodeOut(this.lastOverNode, dd, e, data);
72.10177 +            this.lastOverNode = null;
72.10178 +        }
72.10179 +        var n = this.getTargetFromEvent(e);
72.10180 +        return n ?
72.10181 +            this.onNodeDrop(n, dd, e, data) :
72.10182 +            this.onContainerDrop(dd, e, data);
72.10183 +    },
72.10184 +
72.10185 +    
72.10186 +    triggerCacheRefresh : function(){
72.10187 +        Ext.dd.DDM.refreshCache(this.groups);
72.10188 +    }  
72.10189 +});
72.10190 +
72.10191 +
72.10192 +Ext.data.SortTypes = {
72.10193 +    
72.10194 +    none : function(s){
72.10195 +        return s;
72.10196 +    },
72.10197 +    
72.10198 +    
72.10199 +    stripTagsRE : /<\/?[^>]+>/gi,
72.10200 +    
72.10201 +    
72.10202 +    asText : function(s){
72.10203 +        return String(s).replace(this.stripTagsRE, "");
72.10204 +    },
72.10205 +    
72.10206 +    
72.10207 +    asUCText : function(s){
72.10208 +        return String(s).toUpperCase().replace(this.stripTagsRE, "");
72.10209 +    },
72.10210 +    
72.10211 +    
72.10212 +    asUCString : function(s) {
72.10213 +    	return String(s).toUpperCase();
72.10214 +    },
72.10215 +    
72.10216 +    
72.10217 +    asDate : function(s) {
72.10218 +        if(!s){
72.10219 +            return 0;
72.10220 +        }
72.10221 +        if(Ext.isDate(s)){
72.10222 +            return s.getTime();
72.10223 +        }
72.10224 +    	return Date.parse(String(s));
72.10225 +    },
72.10226 +    
72.10227 +    
72.10228 +    asFloat : function(s) {
72.10229 +    	var val = parseFloat(String(s).replace(/,/g, ""));
72.10230 +        if(isNaN(val)) val = 0;
72.10231 +    	return val;
72.10232 +    },
72.10233 +    
72.10234 +    
72.10235 +    asInt : function(s) {
72.10236 +        var val = parseInt(String(s).replace(/,/g, ""));
72.10237 +        if(isNaN(val)) val = 0;
72.10238 +    	return val;
72.10239 +    }
72.10240 +};
72.10241 +
72.10242 +Ext.data.Record = function(data, id){
72.10243 +    this.id = (id || id === 0) ? id : ++Ext.data.Record.AUTO_ID;
72.10244 +    this.data = data;
72.10245 +};
72.10246 +
72.10247 +
72.10248 +Ext.data.Record.create = function(o){
72.10249 +    var f = Ext.extend(Ext.data.Record, {});
72.10250 +	var p = f.prototype;
72.10251 +    p.fields = new Ext.util.MixedCollection(false, function(field){
72.10252 +        return field.name;
72.10253 +    });
72.10254 +    for(var i = 0, len = o.length; i < len; i++){
72.10255 +        p.fields.add(new Ext.data.Field(o[i]));
72.10256 +    }
72.10257 +    f.getField = function(name){
72.10258 +        return p.fields.get(name);
72.10259 +    };
72.10260 +    return f;
72.10261 +};
72.10262 +
72.10263 +Ext.data.Record.AUTO_ID = 1000;
72.10264 +Ext.data.Record.EDIT = 'edit';
72.10265 +Ext.data.Record.REJECT = 'reject';
72.10266 +Ext.data.Record.COMMIT = 'commit';
72.10267 +
72.10268 +Ext.data.Record.prototype = {
72.10269 +	
72.10270 +    
72.10271 +    
72.10272 +    dirty : false,
72.10273 +    editing : false,
72.10274 +    error: null,
72.10275 +    
72.10276 +    modified: null,
72.10277 +
72.10278 +        join : function(store){
72.10279 +        this.store = store;
72.10280 +    },
72.10281 +
72.10282 +    
72.10283 +    set : function(name, value){
72.10284 +        if(String(this.data[name]) == String(value)){
72.10285 +            return;
72.10286 +        }
72.10287 +        this.dirty = true;
72.10288 +        if(!this.modified){
72.10289 +            this.modified = {};
72.10290 +        }
72.10291 +        if(typeof this.modified[name] == 'undefined'){
72.10292 +            this.modified[name] = this.data[name];
72.10293 +        }
72.10294 +        this.data[name] = value;
72.10295 +        if(!this.editing && this.store){
72.10296 +            this.store.afterEdit(this);
72.10297 +        }
72.10298 +    },
72.10299 +
72.10300 +    
72.10301 +    get : function(name){
72.10302 +        return this.data[name];
72.10303 +    },
72.10304 +
72.10305 +    
72.10306 +    beginEdit : function(){
72.10307 +        this.editing = true;
72.10308 +        this.modified = {};
72.10309 +    },
72.10310 +
72.10311 +    
72.10312 +    cancelEdit : function(){
72.10313 +        this.editing = false;
72.10314 +        delete this.modified;
72.10315 +    },
72.10316 +
72.10317 +    
72.10318 +    endEdit : function(){
72.10319 +        this.editing = false;
72.10320 +        if(this.dirty && this.store){
72.10321 +            this.store.afterEdit(this);
72.10322 +        }
72.10323 +    },
72.10324 +
72.10325 +    
72.10326 +    reject : function(silent){
72.10327 +        var m = this.modified;
72.10328 +        for(var n in m){
72.10329 +            if(typeof m[n] != "function"){
72.10330 +                this.data[n] = m[n];
72.10331 +            }
72.10332 +        }
72.10333 +        this.dirty = false;
72.10334 +        delete this.modified;
72.10335 +        this.editing = false;
72.10336 +        if(this.store && silent !== true){
72.10337 +            this.store.afterReject(this);
72.10338 +        }
72.10339 +    },
72.10340 +
72.10341 +    
72.10342 +    commit : function(silent){
72.10343 +        this.dirty = false;
72.10344 +        delete this.modified;
72.10345 +        this.editing = false;
72.10346 +        if(this.store && silent !== true){
72.10347 +            this.store.afterCommit(this);
72.10348 +        }
72.10349 +    },
72.10350 +
72.10351 +    
72.10352 +    getChanges : function(){
72.10353 +        var m = this.modified, cs = {};
72.10354 +        for(var n in m){
72.10355 +            if(m.hasOwnProperty(n)){
72.10356 +                cs[n] = this.data[n];
72.10357 +            }
72.10358 +        }
72.10359 +        return cs;
72.10360 +    },
72.10361 +
72.10362 +        hasError : function(){
72.10363 +        return this.error != null;
72.10364 +    },
72.10365 +
72.10366 +        clearError : function(){
72.10367 +        this.error = null;
72.10368 +    },
72.10369 +
72.10370 +    
72.10371 +    copy : function(newId) {
72.10372 +        return new this.constructor(Ext.apply({}, this.data), newId || this.id);
72.10373 +    },
72.10374 +
72.10375 +    
72.10376 +    isModified : function(fieldName){
72.10377 +        return this.modified && this.modified.hasOwnProperty(fieldName);
72.10378 +    }
72.10379 +};
72.10380 +
72.10381 +Ext.StoreMgr = Ext.apply(new Ext.util.MixedCollection(), {
72.10382 +    
72.10383 +
72.10384 +    
72.10385 +    register : function(){
72.10386 +        for(var i = 0, s; s = arguments[i]; i++){
72.10387 +            this.add(s);
72.10388 +        }
72.10389 +    },
72.10390 +
72.10391 +    
72.10392 +    unregister : function(){
72.10393 +        for(var i = 0, s; s = arguments[i]; i++){
72.10394 +            this.remove(this.lookup(s));
72.10395 +        }
72.10396 +    },
72.10397 +
72.10398 +    
72.10399 +    lookup : function(id){
72.10400 +        return typeof id == "object" ? id : this.get(id);
72.10401 +    },
72.10402 +
72.10403 +        getKey : function(o){
72.10404 +         return o.storeId || o.id;
72.10405 +    }
72.10406 +});
72.10407 +
72.10408 +Ext.data.Store = function(config){
72.10409 +    this.data = new Ext.util.MixedCollection(false);
72.10410 +    this.data.getKey = function(o){
72.10411 +        return o.id;
72.10412 +    };
72.10413 +    
72.10414 +    this.baseParams = {};
72.10415 +        this.paramNames = {
72.10416 +        "start" : "start",
72.10417 +        "limit" : "limit",
72.10418 +        "sort" : "sort",
72.10419 +        "dir" : "dir"
72.10420 +    };
72.10421 +
72.10422 +    if(config && config.data){
72.10423 +        this.inlineData = config.data;
72.10424 +        delete config.data;
72.10425 +    }
72.10426 +
72.10427 +    Ext.apply(this, config);
72.10428 +
72.10429 +    if(this.url && !this.proxy){
72.10430 +        this.proxy = new Ext.data.HttpProxy({url: this.url});
72.10431 +    }
72.10432 +
72.10433 +    if(this.reader){         if(!this.recordType){
72.10434 +            this.recordType = this.reader.recordType;
72.10435 +        }
72.10436 +        if(this.reader.onMetaChange){
72.10437 +            this.reader.onMetaChange = this.onMetaChange.createDelegate(this);
72.10438 +        }
72.10439 +    }
72.10440 +
72.10441 +    if(this.recordType){
72.10442 +        this.fields = this.recordType.prototype.fields;
72.10443 +    }
72.10444 +    this.modified = [];
72.10445 +
72.10446 +    this.addEvents(
72.10447 +        
72.10448 +        'datachanged',
72.10449 +        
72.10450 +        'metachange',
72.10451 +        
72.10452 +        'add',
72.10453 +        
72.10454 +        'remove',
72.10455 +        
72.10456 +        'update',
72.10457 +        
72.10458 +        'clear',
72.10459 +        
72.10460 +        'beforeload',
72.10461 +        
72.10462 +        'load',
72.10463 +        
72.10464 +        'loadexception'
72.10465 +    );
72.10466 +
72.10467 +    if(this.proxy){
72.10468 +        this.relayEvents(this.proxy,  ["loadexception"]);
72.10469 +    }
72.10470 +
72.10471 +    this.sortToggle = {};
72.10472 +	if(this.sortInfo){
72.10473 +		this.setDefaultSort(this.sortInfo.field, this.sortInfo.direction);
72.10474 +	}
72.10475 +
72.10476 +    Ext.data.Store.superclass.constructor.call(this);
72.10477 +
72.10478 +    if(this.storeId || this.id){
72.10479 +        Ext.StoreMgr.register(this);
72.10480 +    }
72.10481 +    if(this.inlineData){
72.10482 +        this.loadData(this.inlineData);
72.10483 +        delete this.inlineData;
72.10484 +    }else if(this.autoLoad){
72.10485 +        this.load.defer(10, this, [
72.10486 +            typeof this.autoLoad == 'object' ?
72.10487 +                this.autoLoad : undefined]);
72.10488 +    }
72.10489 +};
72.10490 +Ext.extend(Ext.data.Store, Ext.util.Observable, {
72.10491 +    
72.10492 +    
72.10493 +    
72.10494 +    
72.10495 +    
72.10496 +    
72.10497 +    
72.10498 +    
72.10499 +    
72.10500 +    remoteSort : false,
72.10501 +
72.10502 +    
72.10503 +    pruneModifiedRecords : false,
72.10504 +
72.10505 +    
72.10506 +   lastOptions : null,
72.10507 +
72.10508 +    destroy : function(){
72.10509 +        if(this.id){
72.10510 +            Ext.StoreMgr.unregister(this);
72.10511 +        }
72.10512 +        this.data = null;
72.10513 +        this.purgeListeners();
72.10514 +    },
72.10515 +
72.10516 +    
72.10517 +    add : function(records){
72.10518 +        records = [].concat(records);
72.10519 +        if(records.length < 1){
72.10520 +            return;
72.10521 +        }
72.10522 +        for(var i = 0, len = records.length; i < len; i++){
72.10523 +            records[i].join(this);
72.10524 +        }
72.10525 +        var index = this.data.length;
72.10526 +        this.data.addAll(records);
72.10527 +        if(this.snapshot){
72.10528 +            this.snapshot.addAll(records);
72.10529 +        }
72.10530 +        this.fireEvent("add", this, records, index);
72.10531 +    },
72.10532 +
72.10533 +    
72.10534 +    addSorted : function(record){
72.10535 +        var index = this.findInsertIndex(record);
72.10536 +        this.insert(index, record);
72.10537 +    },
72.10538 +
72.10539 +    
72.10540 +    remove : function(record){
72.10541 +        var index = this.data.indexOf(record);
72.10542 +        this.data.removeAt(index);
72.10543 +        if(this.pruneModifiedRecords){
72.10544 +            this.modified.remove(record);
72.10545 +        }
72.10546 +        if(this.snapshot){
72.10547 +            this.snapshot.remove(record);
72.10548 +        }
72.10549 +        this.fireEvent("remove", this, record, index);
72.10550 +    },
72.10551 +
72.10552 +    
72.10553 +    removeAll : function(){
72.10554 +        this.data.clear();
72.10555 +        if(this.snapshot){
72.10556 +            this.snapshot.clear();
72.10557 +        }
72.10558 +        if(this.pruneModifiedRecords){
72.10559 +            this.modified = [];
72.10560 +        }
72.10561 +        this.fireEvent("clear", this);
72.10562 +    },
72.10563 +
72.10564 +    
72.10565 +    insert : function(index, records){
72.10566 +        records = [].concat(records);
72.10567 +        for(var i = 0, len = records.length; i < len; i++){
72.10568 +            this.data.insert(index, records[i]);
72.10569 +            records[i].join(this);
72.10570 +        }
72.10571 +        this.fireEvent("add", this, records, index);
72.10572 +    },
72.10573 +
72.10574 +    
72.10575 +    indexOf : function(record){
72.10576 +        return this.data.indexOf(record);
72.10577 +    },
72.10578 +
72.10579 +    
72.10580 +    indexOfId : function(id){
72.10581 +        return this.data.indexOfKey(id);
72.10582 +    },
72.10583 +
72.10584 +    
72.10585 +    getById : function(id){
72.10586 +        return this.data.key(id);
72.10587 +    },
72.10588 +
72.10589 +    
72.10590 +    getAt : function(index){
72.10591 +        return this.data.itemAt(index);
72.10592 +    },
72.10593 +
72.10594 +    
72.10595 +    getRange : function(start, end){
72.10596 +        return this.data.getRange(start, end);
72.10597 +    },
72.10598 +
72.10599 +        storeOptions : function(o){
72.10600 +        o = Ext.apply({}, o);
72.10601 +        delete o.callback;
72.10602 +        delete o.scope;
72.10603 +        this.lastOptions = o;
72.10604 +    },
72.10605 +
72.10606 +    
72.10607 +    load : function(options){
72.10608 +        options = options || {};
72.10609 +        if(this.fireEvent("beforeload", this, options) !== false){
72.10610 +            this.storeOptions(options);
72.10611 +            var p = Ext.apply(options.params || {}, this.baseParams);
72.10612 +            if(this.sortInfo && this.remoteSort){
72.10613 +                var pn = this.paramNames;
72.10614 +                p[pn["sort"]] = this.sortInfo.field;
72.10615 +                p[pn["dir"]] = this.sortInfo.direction;
72.10616 +            }
72.10617 +            this.proxy.load(p, this.reader, this.loadRecords, this, options);
72.10618 +            return true;
72.10619 +        } else {
72.10620 +          return false;
72.10621 +        }
72.10622 +    },
72.10623 +
72.10624 +    
72.10625 +    reload : function(options){
72.10626 +        this.load(Ext.applyIf(options||{}, this.lastOptions));
72.10627 +    },
72.10628 +
72.10629 +            loadRecords : function(o, options, success){
72.10630 +        if(!o || success === false){
72.10631 +            if(success !== false){
72.10632 +                this.fireEvent("load", this, [], options);
72.10633 +            }
72.10634 +            if(options.callback){
72.10635 +                options.callback.call(options.scope || this, [], options, false);
72.10636 +            }
72.10637 +            return;
72.10638 +        }
72.10639 +        var r = o.records, t = o.totalRecords || r.length;
72.10640 +        if(!options || options.add !== true){
72.10641 +            if(this.pruneModifiedRecords){
72.10642 +                this.modified = [];
72.10643 +            }
72.10644 +            for(var i = 0, len = r.length; i < len; i++){
72.10645 +                r[i].join(this);
72.10646 +            }
72.10647 +            if(this.snapshot){
72.10648 +                this.data = this.snapshot;
72.10649 +                delete this.snapshot;
72.10650 +            }
72.10651 +            this.data.clear();
72.10652 +            this.data.addAll(r);
72.10653 +            this.totalLength = t;
72.10654 +            this.applySort();
72.10655 +            this.fireEvent("datachanged", this);
72.10656 +        }else{
72.10657 +            this.totalLength = Math.max(t, this.data.length+r.length);
72.10658 +            this.add(r);
72.10659 +        }
72.10660 +        this.fireEvent("load", this, r, options);
72.10661 +        if(options.callback){
72.10662 +            options.callback.call(options.scope || this, r, options, true);
72.10663 +        }
72.10664 +    },
72.10665 +
72.10666 +    
72.10667 +    loadData : function(o, append){
72.10668 +        var r = this.reader.readRecords(o);
72.10669 +        this.loadRecords(r, {add: append}, true);
72.10670 +    },
72.10671 +
72.10672 +    
72.10673 +    getCount : function(){
72.10674 +        return this.data.length || 0;
72.10675 +    },
72.10676 +
72.10677 +    
72.10678 +    getTotalCount : function(){
72.10679 +        return this.totalLength || 0;
72.10680 +    },
72.10681 +
72.10682 +    
72.10683 +    getSortState : function(){
72.10684 +        return this.sortInfo;
72.10685 +    },
72.10686 +
72.10687 +        applySort : function(){
72.10688 +        if(this.sortInfo && !this.remoteSort){
72.10689 +            var s = this.sortInfo, f = s.field;
72.10690 +            this.sortData(f, s.direction);
72.10691 +        }
72.10692 +    },
72.10693 +
72.10694 +        sortData : function(f, direction){
72.10695 +        direction = direction || 'ASC';
72.10696 +        var st = this.fields.get(f).sortType;
72.10697 +        var fn = function(r1, r2){
72.10698 +            var v1 = st(r1.data[f]), v2 = st(r2.data[f]);
72.10699 +            return v1 > v2 ? 1 : (v1 < v2 ? -1 : 0);
72.10700 +        };
72.10701 +        this.data.sort(direction, fn);
72.10702 +        if(this.snapshot && this.snapshot != this.data){
72.10703 +            this.snapshot.sort(direction, fn);
72.10704 +        }
72.10705 +    },
72.10706 +
72.10707 +    
72.10708 +    setDefaultSort : function(field, dir){
72.10709 +        dir = dir ? dir.toUpperCase() : "ASC";
72.10710 +        this.sortInfo = {field: field, direction: dir};
72.10711 +        this.sortToggle[field] = dir;
72.10712 +    },
72.10713 +
72.10714 +    
72.10715 +    sort : function(fieldName, dir){
72.10716 +        var f = this.fields.get(fieldName);
72.10717 +        if(!f){
72.10718 +            return false;
72.10719 +        }
72.10720 +        if(!dir){
72.10721 +            if(this.sortInfo && this.sortInfo.field == f.name){                 dir = (this.sortToggle[f.name] || "ASC").toggle("ASC", "DESC");
72.10722 +            }else{
72.10723 +                dir = f.sortDir;
72.10724 +            }
72.10725 +        }
72.10726 +        var st = (this.sortToggle) ? this.sortToggle[f.name] : null;
72.10727 +        var si = (this.sortInfo) ? this.sortInfo : null;
72.10728 +
72.10729 +        this.sortToggle[f.name] = dir;
72.10730 +        this.sortInfo = {field: f.name, direction: dir};
72.10731 +        if(!this.remoteSort){
72.10732 +            this.applySort();
72.10733 +            this.fireEvent("datachanged", this);
72.10734 +        }else{
72.10735 +            if (!this.load(this.lastOptions)) {
72.10736 +                if (st) {
72.10737 +                    this.sortToggle[f.name] = st;
72.10738 +                }
72.10739 +                if (si) {
72.10740 +                    this.sortInfo = si;
72.10741 +                }
72.10742 +            }
72.10743 +        }
72.10744 +    },
72.10745 +
72.10746 +    
72.10747 +    each : function(fn, scope){
72.10748 +        this.data.each(fn, scope);
72.10749 +    },
72.10750 +
72.10751 +    
72.10752 +    getModifiedRecords : function(){
72.10753 +        return this.modified;
72.10754 +    },
72.10755 +
72.10756 +        createFilterFn : function(property, value, anyMatch, caseSensitive){
72.10757 +        if(Ext.isEmpty(value, false)){
72.10758 +            return false;
72.10759 +        }
72.10760 +        value = this.data.createValueMatcher(value, anyMatch, caseSensitive);
72.10761 +        return function(r){
72.10762 +            return value.test(r.data[property]);
72.10763 +        };
72.10764 +    },
72.10765 +
72.10766 +    
72.10767 +    sum : function(property, start, end){
72.10768 +        var rs = this.data.items, v = 0;
72.10769 +        start = start || 0;
72.10770 +        end = (end || end === 0) ? end : rs.length-1;
72.10771 +
72.10772 +        for(var i = start; i <= end; i++){
72.10773 +            v += (rs[i].data[property] || 0);
72.10774 +        }
72.10775 +        return v;
72.10776 +    },
72.10777 +
72.10778 +    
72.10779 +    filter : function(property, value, anyMatch, caseSensitive){
72.10780 +        var fn = this.createFilterFn(property, value, anyMatch, caseSensitive);
72.10781 +        return fn ? this.filterBy(fn) : this.clearFilter();
72.10782 +    },
72.10783 +
72.10784 +    
72.10785 +    filterBy : function(fn, scope){
72.10786 +        this.snapshot = this.snapshot || this.data;
72.10787 +        this.data = this.queryBy(fn, scope||this);
72.10788 +        this.fireEvent("datachanged", this);
72.10789 +    },
72.10790 +
72.10791 +    
72.10792 +    query : function(property, value, anyMatch, caseSensitive){
72.10793 +        var fn = this.createFilterFn(property, value, anyMatch, caseSensitive);
72.10794 +        return fn ? this.queryBy(fn) : this.data.clone();
72.10795 +    },
72.10796 +
72.10797 +    
72.10798 +    queryBy : function(fn, scope){
72.10799 +        var data = this.snapshot || this.data;
72.10800 +        return data.filterBy(fn, scope||this);
72.10801 +    },
72.10802 +
72.10803 +    
72.10804 +    find : function(property, value, start, anyMatch, caseSensitive){
72.10805 +        var fn = this.createFilterFn(property, value, anyMatch, caseSensitive);
72.10806 +        return fn ? this.data.findIndexBy(fn, null, start) : -1;
72.10807 +    },
72.10808 +
72.10809 +    
72.10810 +    findBy : function(fn, scope, start){
72.10811 +        return this.data.findIndexBy(fn, scope, start);
72.10812 +    },
72.10813 +
72.10814 +    
72.10815 +    collect : function(dataIndex, allowNull, bypassFilter){
72.10816 +        var d = (bypassFilter === true && this.snapshot) ?
72.10817 +                this.snapshot.items : this.data.items;
72.10818 +        var v, sv, r = [], l = {};
72.10819 +        for(var i = 0, len = d.length; i < len; i++){
72.10820 +            v = d[i].data[dataIndex];
72.10821 +            sv = String(v);
72.10822 +            if((allowNull || !Ext.isEmpty(v)) && !l[sv]){
72.10823 +                l[sv] = true;
72.10824 +                r[r.length] = v;
72.10825 +            }
72.10826 +        }
72.10827 +        return r;
72.10828 +    },
72.10829 +
72.10830 +    
72.10831 +    clearFilter : function(suppressEvent){
72.10832 +        if(this.isFiltered()){
72.10833 +            this.data = this.snapshot;
72.10834 +            delete this.snapshot;
72.10835 +            if(suppressEvent !== true){
72.10836 +                this.fireEvent("datachanged", this);
72.10837 +            }
72.10838 +        }
72.10839 +    },
72.10840 +
72.10841 +    
72.10842 +    isFiltered : function(){
72.10843 +        return this.snapshot && this.snapshot != this.data;
72.10844 +    },
72.10845 +
72.10846 +        afterEdit : function(record){
72.10847 +        if(this.modified.indexOf(record) == -1){
72.10848 +            this.modified.push(record);
72.10849 +        }
72.10850 +        this.fireEvent("update", this, record, Ext.data.Record.EDIT);
72.10851 +    },
72.10852 +
72.10853 +        afterReject : function(record){
72.10854 +        this.modified.remove(record);
72.10855 +        this.fireEvent("update", this, record, Ext.data.Record.REJECT);
72.10856 +    },
72.10857 +
72.10858 +        afterCommit : function(record){
72.10859 +        this.modified.remove(record);
72.10860 +        this.fireEvent("update", this, record, Ext.data.Record.COMMIT);
72.10861 +    },
72.10862 +
72.10863 +    
72.10864 +    commitChanges : function(){
72.10865 +        var m = this.modified.slice(0);
72.10866 +        this.modified = [];
72.10867 +        for(var i = 0, len = m.length; i < len; i++){
72.10868 +            m[i].commit();
72.10869 +        }
72.10870 +    },
72.10871 +
72.10872 +    
72.10873 +    rejectChanges : function(){
72.10874 +        var m = this.modified.slice(0);
72.10875 +        this.modified = [];
72.10876 +        for(var i = 0, len = m.length; i < len; i++){
72.10877 +            m[i].reject();
72.10878 +        }
72.10879 +    },
72.10880 +
72.10881 +        onMetaChange : function(meta, rtype, o){
72.10882 +        this.recordType = rtype;
72.10883 +        this.fields = rtype.prototype.fields;
72.10884 +        delete this.snapshot;
72.10885 +        this.sortInfo = meta.sortInfo;
72.10886 +        this.modified = [];
72.10887 +        this.fireEvent('metachange', this, this.reader.meta);
72.10888 +    },
72.10889 +
72.10890 +        findInsertIndex : function(record){
72.10891 +        this.suspendEvents();
72.10892 +        var data = this.data.clone();
72.10893 +        this.data.add(record);
72.10894 +        this.applySort();
72.10895 +        var index = this.data.indexOf(record);
72.10896 +        this.data = data;
72.10897 +        this.resumeEvents();
72.10898 +        return index;
72.10899 +    }
72.10900 +});
72.10901 +
72.10902 +Ext.data.SimpleStore = function(config){
72.10903 +    Ext.data.SimpleStore.superclass.constructor.call(this, Ext.apply(config, {
72.10904 +        reader: new Ext.data.ArrayReader({
72.10905 +                id: config.id
72.10906 +            },
72.10907 +            Ext.data.Record.create(config.fields)
72.10908 +        )
72.10909 +    }));
72.10910 +};
72.10911 +Ext.extend(Ext.data.SimpleStore, Ext.data.Store, {
72.10912 +    loadData : function(data, append){
72.10913 +        if(this.expandData === true){
72.10914 +            var r = [];
72.10915 +            for(var i = 0, len = data.length; i < len; i++){
72.10916 +                r[r.length] = [data[i]];
72.10917 +            }
72.10918 +            data = r;
72.10919 +        }
72.10920 +        Ext.data.SimpleStore.superclass.loadData.call(this, data, append);
72.10921 +    }
72.10922 +});
72.10923 +
72.10924 +Ext.data.JsonStore = function(c){
72.10925 +    Ext.data.JsonStore.superclass.constructor.call(this, Ext.apply(c, {
72.10926 +        proxy: !c.data ? new Ext.data.HttpProxy({url: c.url}) : undefined,
72.10927 +        reader: new Ext.data.JsonReader(c, c.fields)
72.10928 +    }));
72.10929 +};
72.10930 +Ext.extend(Ext.data.JsonStore, Ext.data.Store);
72.10931 +
72.10932 +
72.10933 +
72.10934 +Ext.data.Field = function(config){
72.10935 +    if(typeof config == "string"){
72.10936 +        config = {name: config};
72.10937 +    }
72.10938 +    Ext.apply(this, config);
72.10939 +    
72.10940 +    if(!this.type){
72.10941 +        this.type = "auto";
72.10942 +    }
72.10943 +    
72.10944 +    var st = Ext.data.SortTypes;
72.10945 +    
72.10946 +    if(typeof this.sortType == "string"){
72.10947 +        this.sortType = st[this.sortType];
72.10948 +    }
72.10949 +    
72.10950 +    
72.10951 +    if(!this.sortType){
72.10952 +        switch(this.type){
72.10953 +            case "string":
72.10954 +                this.sortType = st.asUCString;
72.10955 +                break;
72.10956 +            case "date":
72.10957 +                this.sortType = st.asDate;
72.10958 +                break;
72.10959 +            default:
72.10960 +                this.sortType = st.none;
72.10961 +        }
72.10962 +    }
72.10963 +
72.10964 +    
72.10965 +    var stripRe = /[\$,%]/g;
72.10966 +
72.10967 +    
72.10968 +    
72.10969 +    if(!this.convert){
72.10970 +        var cv, dateFormat = this.dateFormat;
72.10971 +        switch(this.type){
72.10972 +            case "":
72.10973 +            case "auto":
72.10974 +            case undefined:
72.10975 +                cv = function(v){ return v; };
72.10976 +                break;
72.10977 +            case "string":
72.10978 +                cv = function(v){ return (v === undefined || v === null) ? '' : String(v); };
72.10979 +                break;
72.10980 +            case "int":
72.10981 +                cv = function(v){
72.10982 +                    return v !== undefined && v !== null && v !== '' ?
72.10983 +                           parseInt(String(v).replace(stripRe, ""), 10) : '';
72.10984 +                    };
72.10985 +                break;
72.10986 +            case "float":
72.10987 +                cv = function(v){
72.10988 +                    return v !== undefined && v !== null && v !== '' ?
72.10989 +                           parseFloat(String(v).replace(stripRe, ""), 10) : ''; 
72.10990 +                    };
72.10991 +                break;
72.10992 +            case "bool":
72.10993 +            case "boolean":
72.10994 +                cv = function(v){ return v === true || v === "true" || v == 1; };
72.10995 +                break;
72.10996 +            case "date":
72.10997 +                cv = function(v){
72.10998 +                    if(!v){
72.10999 +                        return '';
72.11000 +                    }
72.11001 +                    if(Ext.isDate(v)){
72.11002 +                        return v;
72.11003 +                    }
72.11004 +                    if(dateFormat){
72.11005 +                        if(dateFormat == "timestamp"){
72.11006 +                            return new Date(v*1000);
72.11007 +                        }
72.11008 +                        if(dateFormat == "time"){
72.11009 +                            return new Date(parseInt(v, 10));
72.11010 +                        }
72.11011 +                        return Date.parseDate(v, dateFormat);
72.11012 +                    }
72.11013 +                    var parsed = Date.parse(v);
72.11014 +                    return parsed ? new Date(parsed) : null;
72.11015 +                };
72.11016 +             break;
72.11017 +            
72.11018 +        }
72.11019 +        this.convert = cv;
72.11020 +    }
72.11021 +};
72.11022 +
72.11023 +Ext.data.Field.prototype = {
72.11024 +    dateFormat: null,
72.11025 +    defaultValue: "",
72.11026 +    mapping: null,
72.11027 +    sortType : null,
72.11028 +    sortDir : "ASC"
72.11029 +};
72.11030 +
72.11031 +Ext.data.DataReader = function(meta, recordType){
72.11032 +    
72.11033 +    this.meta = meta;
72.11034 +    this.recordType = Ext.isArray(recordType) ? 
72.11035 +        Ext.data.Record.create(recordType) : recordType;
72.11036 +};
72.11037 +
72.11038 +Ext.data.DataReader.prototype = {
72.11039 +    
72.11040 +};
72.11041 +
72.11042 +Ext.data.DataProxy = function(){
72.11043 +    this.addEvents(
72.11044 +        
72.11045 +        'beforeload',
72.11046 +        
72.11047 +        'load'
72.11048 +    );
72.11049 +    Ext.data.DataProxy.superclass.constructor.call(this);
72.11050 +};
72.11051 +
72.11052 +Ext.extend(Ext.data.DataProxy, Ext.util.Observable);
72.11053 +
72.11054 +Ext.data.MemoryProxy = function(data){
72.11055 +    Ext.data.MemoryProxy.superclass.constructor.call(this);
72.11056 +    this.data = data;
72.11057 +};
72.11058 +
72.11059 +Ext.extend(Ext.data.MemoryProxy, Ext.data.DataProxy, {
72.11060 +    
72.11061 +    
72.11062 +    
72.11063 +    load : function(params, reader, callback, scope, arg){
72.11064 +        params = params || {};
72.11065 +        var result;
72.11066 +        try {
72.11067 +            result = reader.readRecords(this.data);
72.11068 +        }catch(e){
72.11069 +            this.fireEvent("loadexception", this, arg, null, e);
72.11070 +            callback.call(scope, null, arg, false);
72.11071 +            return;
72.11072 +        }
72.11073 +        callback.call(scope, result, arg, true);
72.11074 +    },
72.11075 +    
72.11076 +    
72.11077 +    update : function(params, records){
72.11078 +        
72.11079 +    }
72.11080 +});
72.11081 +
72.11082 +Ext.data.HttpProxy = function(conn){
72.11083 +    Ext.data.HttpProxy.superclass.constructor.call(this);
72.11084 +    
72.11085 +    this.conn = conn;
72.11086 +    this.useAjax = !conn || !conn.events;
72.11087 +
72.11088 +    
72.11089 +};
72.11090 +
72.11091 +Ext.extend(Ext.data.HttpProxy, Ext.data.DataProxy, {
72.11092 +    
72.11093 +    getConnection : function(){
72.11094 +        return this.useAjax ? Ext.Ajax : this.conn;
72.11095 +    },
72.11096 +
72.11097 +    
72.11098 +    load : function(params, reader, callback, scope, arg){
72.11099 +        if(this.fireEvent("beforeload", this, params) !== false){
72.11100 +            var  o = {
72.11101 +                params : params || {},
72.11102 +                request: {
72.11103 +                    callback : callback,
72.11104 +                    scope : scope,
72.11105 +                    arg : arg
72.11106 +                },
72.11107 +                reader: reader,
72.11108 +                callback : this.loadResponse,
72.11109 +                scope: this
72.11110 +            };
72.11111 +            if(this.useAjax){
72.11112 +                Ext.applyIf(o, this.conn);
72.11113 +                if(this.activeRequest){
72.11114 +                    Ext.Ajax.abort(this.activeRequest);
72.11115 +                }
72.11116 +                this.activeRequest = Ext.Ajax.request(o);
72.11117 +            }else{
72.11118 +                this.conn.request(o);
72.11119 +            }
72.11120 +        }else{
72.11121 +            callback.call(scope||this, null, arg, false);
72.11122 +        }
72.11123 +    },
72.11124 +
72.11125 +    
72.11126 +    loadResponse : function(o, success, response){
72.11127 +        delete this.activeRequest;
72.11128 +        if(!success){
72.11129 +            this.fireEvent("loadexception", this, o, response);
72.11130 +            o.request.callback.call(o.request.scope, null, o.request.arg, false);
72.11131 +            return;
72.11132 +        }
72.11133 +        var result;
72.11134 +        try {
72.11135 +            result = o.reader.read(response);
72.11136 +        }catch(e){
72.11137 +            this.fireEvent("loadexception", this, o, response, e);
72.11138 +            o.request.callback.call(o.request.scope, null, o.request.arg, false);
72.11139 +            return;
72.11140 +        }
72.11141 +        this.fireEvent("load", this, o, o.request.arg);
72.11142 +        o.request.callback.call(o.request.scope, result, o.request.arg, true);
72.11143 +    },
72.11144 +    
72.11145 +    
72.11146 +    update : function(dataSet){
72.11147 +        
72.11148 +    },
72.11149 +    
72.11150 +    
72.11151 +    updateResponse : function(dataSet){
72.11152 +        
72.11153 +    }
72.11154 +});
72.11155 +
72.11156 +Ext.data.ScriptTagProxy = function(config){
72.11157 +    Ext.data.ScriptTagProxy.superclass.constructor.call(this);
72.11158 +    Ext.apply(this, config);
72.11159 +    this.head = document.getElementsByTagName("head")[0];
72.11160 +    
72.11161 +    
72.11162 +};
72.11163 +
72.11164 +Ext.data.ScriptTagProxy.TRANS_ID = 1000;
72.11165 +
72.11166 +Ext.extend(Ext.data.ScriptTagProxy, Ext.data.DataProxy, {
72.11167 +    
72.11168 +    
72.11169 +    timeout : 30000,
72.11170 +    
72.11171 +    callbackParam : "callback",
72.11172 +    
72.11173 +    nocache : true,
72.11174 +
72.11175 +    
72.11176 +    load : function(params, reader, callback, scope, arg){
72.11177 +        if(this.fireEvent("beforeload", this, params) !== false){
72.11178 +
72.11179 +            var p = Ext.urlEncode(Ext.apply(params, this.extraParams));
72.11180 +
72.11181 +            var url = this.url;
72.11182 +            url += (url.indexOf("?") != -1 ? "&" : "?") + p;
72.11183 +            if(this.nocache){
72.11184 +                url += "&_dc=" + (new Date().getTime());
72.11185 +            }
72.11186 +            var transId = ++Ext.data.ScriptTagProxy.TRANS_ID;
72.11187 +            var trans = {
72.11188 +                id : transId,
72.11189 +                cb : "stcCallback"+transId,
72.11190 +                scriptId : "stcScript"+transId,
72.11191 +                params : params,
72.11192 +                arg : arg,
72.11193 +                url : url,
72.11194 +                callback : callback,
72.11195 +                scope : scope,
72.11196 +                reader : reader
72.11197 +            };
72.11198 +            var conn = this;
72.11199 +
72.11200 +            window[trans.cb] = function(o){
72.11201 +                conn.handleResponse(o, trans);
72.11202 +            };
72.11203 +
72.11204 +            url += String.format("&{0}={1}", this.callbackParam, trans.cb);
72.11205 +
72.11206 +            if(this.autoAbort !== false){
72.11207 +                this.abort();
72.11208 +            }
72.11209 +
72.11210 +            trans.timeoutId = this.handleFailure.defer(this.timeout, this, [trans]);
72.11211 +
72.11212 +            var script = document.createElement("script");
72.11213 +            script.setAttribute("src", url);
72.11214 +            script.setAttribute("type", "text/javascript");
72.11215 +            script.setAttribute("id", trans.scriptId);
72.11216 +            this.head.appendChild(script);
72.11217 +
72.11218 +            this.trans = trans;
72.11219 +        }else{
72.11220 +            callback.call(scope||this, null, arg, false);
72.11221 +        }
72.11222 +    },
72.11223 +
72.11224 +    
72.11225 +    isLoading : function(){
72.11226 +        return this.trans ? true : false;
72.11227 +    },
72.11228 +
72.11229 +    
72.11230 +    abort : function(){
72.11231 +        if(this.isLoading()){
72.11232 +            this.destroyTrans(this.trans);
72.11233 +        }
72.11234 +    },
72.11235 +
72.11236 +    
72.11237 +    destroyTrans : function(trans, isLoaded){
72.11238 +        this.head.removeChild(document.getElementById(trans.scriptId));
72.11239 +        clearTimeout(trans.timeoutId);
72.11240 +        if(isLoaded){
72.11241 +            window[trans.cb] = undefined;
72.11242 +            try{
72.11243 +                delete window[trans.cb];
72.11244 +            }catch(e){}
72.11245 +        }else{
72.11246 +            
72.11247 +            window[trans.cb] = function(){
72.11248 +                window[trans.cb] = undefined;
72.11249 +                try{
72.11250 +                    delete window[trans.cb];
72.11251 +                }catch(e){}
72.11252 +            };
72.11253 +        }
72.11254 +    },
72.11255 +
72.11256 +    
72.11257 +    handleResponse : function(o, trans){
72.11258 +        this.trans = false;
72.11259 +        this.destroyTrans(trans, true);
72.11260 +        var result;
72.11261 +        try {
72.11262 +            result = trans.reader.readRecords(o);
72.11263 +        }catch(e){
72.11264 +            this.fireEvent("loadexception", this, o, trans.arg, e);
72.11265 +            trans.callback.call(trans.scope||window, null, trans.arg, false);
72.11266 +            return;
72.11267 +        }
72.11268 +        this.fireEvent("load", this, o, trans.arg);
72.11269 +        trans.callback.call(trans.scope||window, result, trans.arg, true);
72.11270 +    },
72.11271 +
72.11272 +    
72.11273 +    handleFailure : function(trans){
72.11274 +        this.trans = false;
72.11275 +        this.destroyTrans(trans, false);
72.11276 +        this.fireEvent("loadexception", this, null, trans.arg);
72.11277 +        trans.callback.call(trans.scope||window, null, trans.arg, false);
72.11278 +    }
72.11279 +});
72.11280 +
72.11281 +Ext.data.JsonReader = function(meta, recordType){
72.11282 +    meta = meta || {};
72.11283 +    Ext.data.JsonReader.superclass.constructor.call(this, meta, recordType || meta.fields);
72.11284 +};
72.11285 +Ext.extend(Ext.data.JsonReader, Ext.data.DataReader, {
72.11286 +    
72.11287 +    
72.11288 +    read : function(response){
72.11289 +        var json = response.responseText;
72.11290 +        var o = eval("("+json+")");
72.11291 +        if(!o) {
72.11292 +            throw {message: "JsonReader.read: Json object not found"};
72.11293 +        }
72.11294 +        return this.readRecords(o);
72.11295 +    },
72.11296 +
72.11297 +        onMetaChange : function(meta, recordType, o){
72.11298 +
72.11299 +    },
72.11300 +
72.11301 +    
72.11302 +    simpleAccess: function(obj, subsc) {
72.11303 +    	return obj[subsc];
72.11304 +    },
72.11305 +
72.11306 +	
72.11307 +    getJsonAccessor: function(){
72.11308 +        var re = /[\[\.]/;
72.11309 +        return function(expr) {
72.11310 +            try {
72.11311 +                return(re.test(expr))
72.11312 +                    ? new Function("obj", "return obj." + expr)
72.11313 +                    : function(obj){
72.11314 +                        return obj[expr];
72.11315 +                    };
72.11316 +            } catch(e){}
72.11317 +            return Ext.emptyFn;
72.11318 +        };
72.11319 +    }(),
72.11320 +
72.11321 +    
72.11322 +    readRecords : function(o){
72.11323 +        
72.11324 +        this.jsonData = o;
72.11325 +        if(o.metaData){
72.11326 +            delete this.ef;
72.11327 +            this.meta = o.metaData;
72.11328 +            this.recordType = Ext.data.Record.create(o.metaData.fields);
72.11329 +            this.onMetaChange(this.meta, this.recordType, o);
72.11330 +        }
72.11331 +        var s = this.meta, Record = this.recordType,
72.11332 +            f = Record.prototype.fields, fi = f.items, fl = f.length;
72.11333 +
72.11334 +        if (!this.ef) {
72.11335 +            if(s.totalProperty) {
72.11336 +	            this.getTotal = this.getJsonAccessor(s.totalProperty);
72.11337 +	        }
72.11338 +	        if(s.successProperty) {
72.11339 +	            this.getSuccess = this.getJsonAccessor(s.successProperty);
72.11340 +	        }
72.11341 +	        this.getRoot = s.root ? this.getJsonAccessor(s.root) : function(p){return p;};
72.11342 +	        if (s.id) {
72.11343 +	        	var g = this.getJsonAccessor(s.id);
72.11344 +	        	this.getId = function(rec) {
72.11345 +	        		var r = g(rec);
72.11346 +		        	return (r === undefined || r === "") ? null : r;
72.11347 +	        	};
72.11348 +	        } else {
72.11349 +	        	this.getId = function(){return null;};
72.11350 +	        }
72.11351 +            this.ef = [];
72.11352 +            for(var i = 0; i < fl; i++){
72.11353 +                f = fi[i];
72.11354 +                var map = (f.mapping !== undefined && f.mapping !== null) ? f.mapping : f.name;
72.11355 +                this.ef[i] = this.getJsonAccessor(map);
72.11356 +            }
72.11357 +        }
72.11358 +
72.11359 +    	var root = this.getRoot(o), c = root.length, totalRecords = c, success = true;
72.11360 +    	if(s.totalProperty){
72.11361 +            var v = parseInt(this.getTotal(o), 10);
72.11362 +            if(!isNaN(v)){
72.11363 +                totalRecords = v;
72.11364 +            }
72.11365 +        }
72.11366 +        if(s.successProperty){
72.11367 +            var v = this.getSuccess(o);
72.11368 +            if(v === false || v === 'false'){
72.11369 +                success = false;
72.11370 +            }
72.11371 +        }
72.11372 +        var records = [];
72.11373 +	    for(var i = 0; i < c; i++){
72.11374 +		    var n = root[i];
72.11375 +	        var values = {};
72.11376 +	        var id = this.getId(n);
72.11377 +	        for(var j = 0; j < fl; j++){
72.11378 +	            f = fi[j];
72.11379 +                var v = this.ef[j](n);
72.11380 +                values[f.name] = f.convert((v !== undefined) ? v : f.defaultValue, n);
72.11381 +	        }
72.11382 +	        var record = new Record(values, id);
72.11383 +	        record.json = n;
72.11384 +	        records[i] = record;
72.11385 +	    }
72.11386 +	    return {
72.11387 +	        success : success,
72.11388 +	        records : records,
72.11389 +	        totalRecords : totalRecords
72.11390 +	    };
72.11391 +    }
72.11392 +});
72.11393 +
72.11394 +Ext.data.XmlReader = function(meta, recordType){
72.11395 +    meta = meta || {};
72.11396 +    Ext.data.XmlReader.superclass.constructor.call(this, meta, recordType || meta.fields);
72.11397 +};
72.11398 +Ext.extend(Ext.data.XmlReader, Ext.data.DataReader, {
72.11399 +    
72.11400 +    read : function(response){
72.11401 +        var doc = response.responseXML;
72.11402 +        if(!doc) {
72.11403 +            throw {message: "XmlReader.read: XML Document not available"};
72.11404 +        }
72.11405 +        return this.readRecords(doc);
72.11406 +    },
72.11407 +
72.11408 +    
72.11409 +    readRecords : function(doc){
72.11410 +        
72.11411 +        this.xmlData = doc;
72.11412 +        var root = doc.documentElement || doc;
72.11413 +    	var q = Ext.DomQuery;
72.11414 +    	var recordType = this.recordType, fields = recordType.prototype.fields;
72.11415 +    	var sid = this.meta.id;
72.11416 +    	var totalRecords = 0, success = true;
72.11417 +    	if(this.meta.totalRecords){
72.11418 +    	    totalRecords = q.selectNumber(this.meta.totalRecords, root, 0);
72.11419 +    	}
72.11420 +
72.11421 +        if(this.meta.success){
72.11422 +            var sv = q.selectValue(this.meta.success, root, true);
72.11423 +            success = sv !== false && sv !== 'false';
72.11424 +    	}
72.11425 +    	var records = [];
72.11426 +    	var ns = q.select(this.meta.record, root);
72.11427 +        for(var i = 0, len = ns.length; i < len; i++) {
72.11428 +	        var n = ns[i];
72.11429 +	        var values = {};
72.11430 +	        var id = sid ? q.selectValue(sid, n) : undefined;
72.11431 +	        for(var j = 0, jlen = fields.length; j < jlen; j++){
72.11432 +	            var f = fields.items[j];
72.11433 +                var v = q.selectValue(f.mapping || f.name, n, f.defaultValue);
72.11434 +	            v = f.convert(v, n);
72.11435 +	            values[f.name] = v;
72.11436 +	        }
72.11437 +	        var record = new recordType(values, id);
72.11438 +	        record.node = n;
72.11439 +	        records[records.length] = record;
72.11440 +	    }
72.11441 +
72.11442 +	    return {
72.11443 +	        success : success,
72.11444 +	        records : records,
72.11445 +	        totalRecords : totalRecords || records.length
72.11446 +	    };
72.11447 +    }
72.11448 +});
72.11449 +
72.11450 +Ext.data.ArrayReader = Ext.extend(Ext.data.JsonReader, {
72.11451 +    
72.11452 +    readRecords : function(o){
72.11453 +        var sid = this.meta ? this.meta.id : null;
72.11454 +    	var recordType = this.recordType, fields = recordType.prototype.fields;
72.11455 +    	var records = [];
72.11456 +    	var root = o;
72.11457 +	    for(var i = 0; i < root.length; i++){
72.11458 +		    var n = root[i];
72.11459 +	        var values = {};
72.11460 +	        var id = ((sid || sid === 0) && n[sid] !== undefined && n[sid] !== "" ? n[sid] : null);
72.11461 +	        for(var j = 0, jlen = fields.length; j < jlen; j++){
72.11462 +                var f = fields.items[j];
72.11463 +                var k = f.mapping !== undefined && f.mapping !== null ? f.mapping : j;
72.11464 +                var v = n[k] !== undefined ? n[k] : f.defaultValue;
72.11465 +                v = f.convert(v, n);
72.11466 +                values[f.name] = v;
72.11467 +            }
72.11468 +	        var record = new recordType(values, id);
72.11469 +	        record.json = n;
72.11470 +	        records[records.length] = record;
72.11471 +	    }
72.11472 +	    return {
72.11473 +	        records : records,
72.11474 +	        totalRecords : records.length
72.11475 +	    };
72.11476 +    }
72.11477 +});
72.11478 +
72.11479 +Ext.data.Tree = function(root){
72.11480 +   this.nodeHash = {};
72.11481 +   
72.11482 +   this.root = null;
72.11483 +   if(root){
72.11484 +       this.setRootNode(root);
72.11485 +   }
72.11486 +   this.addEvents(
72.11487 +       
72.11488 +       "append",
72.11489 +       
72.11490 +       "remove",
72.11491 +       
72.11492 +       "move",
72.11493 +       
72.11494 +       "insert",
72.11495 +       
72.11496 +       "beforeappend",
72.11497 +       
72.11498 +       "beforeremove",
72.11499 +       
72.11500 +       "beforemove",
72.11501 +       
72.11502 +       "beforeinsert"
72.11503 +   );
72.11504 +
72.11505 +    Ext.data.Tree.superclass.constructor.call(this);
72.11506 +};
72.11507 +
72.11508 +Ext.extend(Ext.data.Tree, Ext.util.Observable, {
72.11509 +    
72.11510 +    pathSeparator: "/",
72.11511 +
72.11512 +    
72.11513 +    proxyNodeEvent : function(){
72.11514 +        return this.fireEvent.apply(this, arguments);
72.11515 +    },
72.11516 +
72.11517 +    
72.11518 +    getRootNode : function(){
72.11519 +        return this.root;
72.11520 +    },
72.11521 +
72.11522 +    
72.11523 +    setRootNode : function(node){
72.11524 +        this.root = node;
72.11525 +        node.ownerTree = this;
72.11526 +        node.isRoot = true;
72.11527 +        this.registerNode(node);
72.11528 +        return node;
72.11529 +    },
72.11530 +
72.11531 +    
72.11532 +    getNodeById : function(id){
72.11533 +        return this.nodeHash[id];
72.11534 +    },
72.11535 +
72.11536 +    
72.11537 +    registerNode : function(node){
72.11538 +        this.nodeHash[node.id] = node;
72.11539 +    },
72.11540 +
72.11541 +    
72.11542 +    unregisterNode : function(node){
72.11543 +        delete this.nodeHash[node.id];
72.11544 +    },
72.11545 +
72.11546 +    toString : function(){
72.11547 +        return "[Tree"+(this.id?" "+this.id:"")+"]";
72.11548 +    }
72.11549 +});
72.11550 +
72.11551 +
72.11552 +Ext.data.Node = function(attributes){
72.11553 +    
72.11554 +    this.attributes = attributes || {};
72.11555 +    this.leaf = this.attributes.leaf;
72.11556 +    
72.11557 +    this.id = this.attributes.id;
72.11558 +    if(!this.id){
72.11559 +        this.id = Ext.id(null, "ynode-");
72.11560 +        this.attributes.id = this.id;
72.11561 +    }
72.11562 +    
72.11563 +    this.childNodes = [];
72.11564 +    if(!this.childNodes.indexOf){ 
72.11565 +        this.childNodes.indexOf = function(o){
72.11566 +            for(var i = 0, len = this.length; i < len; i++){
72.11567 +                if(this[i] == o) return i;
72.11568 +            }
72.11569 +            return -1;
72.11570 +        };
72.11571 +    }
72.11572 +    
72.11573 +    this.parentNode = null;
72.11574 +    
72.11575 +    this.firstChild = null;
72.11576 +    
72.11577 +    this.lastChild = null;
72.11578 +    
72.11579 +    this.previousSibling = null;
72.11580 +    
72.11581 +    this.nextSibling = null;
72.11582 +
72.11583 +    this.addEvents({
72.11584 +       
72.11585 +       "append" : true,
72.11586 +       
72.11587 +       "remove" : true,
72.11588 +       
72.11589 +       "move" : true,
72.11590 +       
72.11591 +       "insert" : true,
72.11592 +       
72.11593 +       "beforeappend" : true,
72.11594 +       
72.11595 +       "beforeremove" : true,
72.11596 +       
72.11597 +       "beforemove" : true,
72.11598 +       
72.11599 +       "beforeinsert" : true
72.11600 +   });
72.11601 +    this.listeners = this.attributes.listeners;
72.11602 +    Ext.data.Node.superclass.constructor.call(this);
72.11603 +};
72.11604 +
72.11605 +Ext.extend(Ext.data.Node, Ext.util.Observable, {
72.11606 +    
72.11607 +    fireEvent : function(evtName){
72.11608 +        
72.11609 +        if(Ext.data.Node.superclass.fireEvent.apply(this, arguments) === false){
72.11610 +            return false;
72.11611 +        }
72.11612 +        
72.11613 +        var ot = this.getOwnerTree();
72.11614 +        if(ot){
72.11615 +            if(ot.proxyNodeEvent.apply(ot, arguments) === false){
72.11616 +                return false;
72.11617 +            }
72.11618 +        }
72.11619 +        return true;
72.11620 +    },
72.11621 +
72.11622 +    
72.11623 +    isLeaf : function(){
72.11624 +        return this.leaf === true;
72.11625 +    },
72.11626 +
72.11627 +    
72.11628 +    setFirstChild : function(node){
72.11629 +        this.firstChild = node;
72.11630 +    },
72.11631 +
72.11632 +    
72.11633 +    setLastChild : function(node){
72.11634 +        this.lastChild = node;
72.11635 +    },
72.11636 +
72.11637 +
72.11638 +    
72.11639 +    isLast : function(){
72.11640 +       return (!this.parentNode ? true : this.parentNode.lastChild == this);
72.11641 +    },
72.11642 +
72.11643 +    
72.11644 +    isFirst : function(){
72.11645 +       return (!this.parentNode ? true : this.parentNode.firstChild == this);
72.11646 +    },
72.11647 +
72.11648 +    hasChildNodes : function(){
72.11649 +        return !this.isLeaf() && this.childNodes.length > 0;
72.11650 +    },
72.11651 +
72.11652 +    
72.11653 +    appendChild : function(node){
72.11654 +        var multi = false;
72.11655 +        if(Ext.isArray(node)){
72.11656 +            multi = node;
72.11657 +        }else if(arguments.length > 1){
72.11658 +            multi = arguments;
72.11659 +        }
72.11660 +        
72.11661 +        if(multi){
72.11662 +            for(var i = 0, len = multi.length; i < len; i++) {
72.11663 +            	this.appendChild(multi[i]);
72.11664 +            }
72.11665 +        }else{
72.11666 +            if(this.fireEvent("beforeappend", this.ownerTree, this, node) === false){
72.11667 +                return false;
72.11668 +            }
72.11669 +            var index = this.childNodes.length;
72.11670 +            var oldParent = node.parentNode;
72.11671 +            
72.11672 +            if(oldParent){
72.11673 +                if(node.fireEvent("beforemove", node.getOwnerTree(), node, oldParent, this, index) === false){
72.11674 +                    return false;
72.11675 +                }
72.11676 +                oldParent.removeChild(node);
72.11677 +            }
72.11678 +            index = this.childNodes.length;
72.11679 +            if(index == 0){
72.11680 +                this.setFirstChild(node);
72.11681 +            }
72.11682 +            this.childNodes.push(node);
72.11683 +            node.parentNode = this;
72.11684 +            var ps = this.childNodes[index-1];
72.11685 +            if(ps){
72.11686 +                node.previousSibling = ps;
72.11687 +                ps.nextSibling = node;
72.11688 +            }else{
72.11689 +                node.previousSibling = null;
72.11690 +            }
72.11691 +            node.nextSibling = null;
72.11692 +            this.setLastChild(node);
72.11693 +            node.setOwnerTree(this.getOwnerTree());
72.11694 +            this.fireEvent("append", this.ownerTree, this, node, index);
72.11695 +            if(oldParent){
72.11696 +                node.fireEvent("move", this.ownerTree, node, oldParent, this, index);
72.11697 +            }
72.11698 +            return node;
72.11699 +        }
72.11700 +    },
72.11701 +
72.11702 +    
72.11703 +    removeChild : function(node){
72.11704 +        var index = this.childNodes.indexOf(node);
72.11705 +        if(index == -1){
72.11706 +            return false;
72.11707 +        }
72.11708 +        if(this.fireEvent("beforeremove", this.ownerTree, this, node) === false){
72.11709 +            return false;
72.11710 +        }
72.11711 +
72.11712 +        
72.11713 +        this.childNodes.splice(index, 1);
72.11714 +
72.11715 +        
72.11716 +        if(node.previousSibling){
72.11717 +            node.previousSibling.nextSibling = node.nextSibling;
72.11718 +        }
72.11719 +        if(node.nextSibling){
72.11720 +            node.nextSibling.previousSibling = node.previousSibling;
72.11721 +        }
72.11722 +
72.11723 +        
72.11724 +        if(this.firstChild == node){
72.11725 +            this.setFirstChild(node.nextSibling);
72.11726 +        }
72.11727 +        if(this.lastChild == node){
72.11728 +            this.setLastChild(node.previousSibling);
72.11729 +        }
72.11730 +
72.11731 +        node.setOwnerTree(null);
72.11732 +        
72.11733 +        node.parentNode = null;
72.11734 +        node.previousSibling = null;
72.11735 +        node.nextSibling = null;
72.11736 +        this.fireEvent("remove", this.ownerTree, this, node);
72.11737 +        return node;
72.11738 +    },
72.11739 +
72.11740 +    
72.11741 +    insertBefore : function(node, refNode){
72.11742 +        if(!refNode){ 
72.11743 +            return this.appendChild(node);
72.11744 +        }
72.11745 +        
72.11746 +        if(node == refNode){
72.11747 +            return false;
72.11748 +        }
72.11749 +
72.11750 +        if(this.fireEvent("beforeinsert", this.ownerTree, this, node, refNode) === false){
72.11751 +            return false;
72.11752 +        }
72.11753 +        var index = this.childNodes.indexOf(refNode);
72.11754 +        var oldParent = node.parentNode;
72.11755 +        var refIndex = index;
72.11756 +
72.11757 +        
72.11758 +        if(oldParent == this && this.childNodes.indexOf(node) < index){
72.11759 +            refIndex--;
72.11760 +        }
72.11761 +
72.11762 +        
72.11763 +        if(oldParent){
72.11764 +            if(node.fireEvent("beforemove", node.getOwnerTree(), node, oldParent, this, index, refNode) === false){
72.11765 +                return false;
72.11766 +            }
72.11767 +            oldParent.removeChild(node);
72.11768 +        }
72.11769 +        if(refIndex == 0){
72.11770 +            this.setFirstChild(node);
72.11771 +        }
72.11772 +        this.childNodes.splice(refIndex, 0, node);
72.11773 +        node.parentNode = this;
72.11774 +        var ps = this.childNodes[refIndex-1];
72.11775 +        if(ps){
72.11776 +            node.previousSibling = ps;
72.11777 +            ps.nextSibling = node;
72.11778 +        }else{
72.11779 +            node.previousSibling = null;
72.11780 +        }
72.11781 +        node.nextSibling = refNode;
72.11782 +        refNode.previousSibling = node;
72.11783 +        node.setOwnerTree(this.getOwnerTree());
72.11784 +        this.fireEvent("insert", this.ownerTree, this, node, refNode);
72.11785 +        if(oldParent){
72.11786 +            node.fireEvent("move", this.ownerTree, node, oldParent, this, refIndex, refNode);
72.11787 +        }
72.11788 +        return node;
72.11789 +    },
72.11790 +
72.11791 +    
72.11792 +    remove : function(){
72.11793 +        this.parentNode.removeChild(this);
72.11794 +        return this;
72.11795 +    },
72.11796 +
72.11797 +    
72.11798 +    item : function(index){
72.11799 +        return this.childNodes[index];
72.11800 +    },
72.11801 +
72.11802 +    
72.11803 +    replaceChild : function(newChild, oldChild){
72.11804 +        this.insertBefore(newChild, oldChild);
72.11805 +        this.removeChild(oldChild);
72.11806 +        return oldChild;
72.11807 +    },
72.11808 +
72.11809 +    
72.11810 +    indexOf : function(child){
72.11811 +        return this.childNodes.indexOf(child);
72.11812 +    },
72.11813 +
72.11814 +    
72.11815 +    getOwnerTree : function(){
72.11816 +        
72.11817 +        if(!this.ownerTree){
72.11818 +            var p = this;
72.11819 +            while(p){
72.11820 +                if(p.ownerTree){
72.11821 +                    this.ownerTree = p.ownerTree;
72.11822 +                    break;
72.11823 +                }
72.11824 +                p = p.parentNode;
72.11825 +            }
72.11826 +        }
72.11827 +        return this.ownerTree;
72.11828 +    },
72.11829 +
72.11830 +    
72.11831 +    getDepth : function(){
72.11832 +        var depth = 0;
72.11833 +        var p = this;
72.11834 +        while(p.parentNode){
72.11835 +            ++depth;
72.11836 +            p = p.parentNode;
72.11837 +        }
72.11838 +        return depth;
72.11839 +    },
72.11840 +
72.11841 +    
72.11842 +    setOwnerTree : function(tree){
72.11843 +        
72.11844 +        if(tree != this.ownerTree){
72.11845 +            if(this.ownerTree){
72.11846 +                this.ownerTree.unregisterNode(this);
72.11847 +            }
72.11848 +            this.ownerTree = tree;
72.11849 +            var cs = this.childNodes;
72.11850 +            for(var i = 0, len = cs.length; i < len; i++) {
72.11851 +            	cs[i].setOwnerTree(tree);
72.11852 +            }
72.11853 +            if(tree){
72.11854 +                tree.registerNode(this);
72.11855 +            }
72.11856 +        }
72.11857 +    },
72.11858 +
72.11859 +    
72.11860 +    getPath : function(attr){
72.11861 +        attr = attr || "id";
72.11862 +        var p = this.parentNode;
72.11863 +        var b = [this.attributes[attr]];
72.11864 +        while(p){
72.11865 +            b.unshift(p.attributes[attr]);
72.11866 +            p = p.parentNode;
72.11867 +        }
72.11868 +        var sep = this.getOwnerTree().pathSeparator;
72.11869 +        return sep + b.join(sep);
72.11870 +    },
72.11871 +
72.11872 +    
72.11873 +    bubble : function(fn, scope, args){
72.11874 +        var p = this;
72.11875 +        while(p){
72.11876 +            if(fn.apply(scope || p, args || [p]) === false){
72.11877 +                break;
72.11878 +            }
72.11879 +            p = p.parentNode;
72.11880 +        }
72.11881 +    },
72.11882 +
72.11883 +    
72.11884 +    cascade : function(fn, scope, args){
72.11885 +        if(fn.apply(scope || this, args || [this]) !== false){
72.11886 +            var cs = this.childNodes;
72.11887 +            for(var i = 0, len = cs.length; i < len; i++) {
72.11888 +            	cs[i].cascade(fn, scope, args);
72.11889 +            }
72.11890 +        }
72.11891 +    },
72.11892 +
72.11893 +    
72.11894 +    eachChild : function(fn, scope, args){
72.11895 +        var cs = this.childNodes;
72.11896 +        for(var i = 0, len = cs.length; i < len; i++) {
72.11897 +        	if(fn.apply(scope || this, args || [cs[i]]) === false){
72.11898 +        	    break;
72.11899 +        	}
72.11900 +        }
72.11901 +    },
72.11902 +
72.11903 +    
72.11904 +    findChild : function(attribute, value){
72.11905 +        var cs = this.childNodes;
72.11906 +        for(var i = 0, len = cs.length; i < len; i++) {
72.11907 +        	if(cs[i].attributes[attribute] == value){
72.11908 +        	    return cs[i];
72.11909 +        	}
72.11910 +        }
72.11911 +        return null;
72.11912 +    },
72.11913 +
72.11914 +    
72.11915 +    findChildBy : function(fn, scope){
72.11916 +        var cs = this.childNodes;
72.11917 +        for(var i = 0, len = cs.length; i < len; i++) {
72.11918 +        	if(fn.call(scope||cs[i], cs[i]) === true){
72.11919 +        	    return cs[i];
72.11920 +        	}
72.11921 +        }
72.11922 +        return null;
72.11923 +    },
72.11924 +
72.11925 +    
72.11926 +    sort : function(fn, scope){
72.11927 +        var cs = this.childNodes;
72.11928 +        var len = cs.length;
72.11929 +        if(len > 0){
72.11930 +            var sortFn = scope ? function(){fn.apply(scope, arguments);} : fn;
72.11931 +            cs.sort(sortFn);
72.11932 +            for(var i = 0; i < len; i++){
72.11933 +                var n = cs[i];
72.11934 +                n.previousSibling = cs[i-1];
72.11935 +                n.nextSibling = cs[i+1];
72.11936 +                if(i == 0){
72.11937 +                    this.setFirstChild(n);
72.11938 +                }
72.11939 +                if(i == len-1){
72.11940 +                    this.setLastChild(n);
72.11941 +                }
72.11942 +            }
72.11943 +        }
72.11944 +    },
72.11945 +
72.11946 +    
72.11947 +    contains : function(node){
72.11948 +        return node.isAncestor(this);
72.11949 +    },
72.11950 +
72.11951 +    
72.11952 +    isAncestor : function(node){
72.11953 +        var p = this.parentNode;
72.11954 +        while(p){
72.11955 +            if(p == node){
72.11956 +                return true;
72.11957 +            }
72.11958 +            p = p.parentNode;
72.11959 +        }
72.11960 +        return false;
72.11961 +    },
72.11962 +
72.11963 +    toString : function(){
72.11964 +        return "[Node"+(this.id?" "+this.id:"")+"]";
72.11965 +    }
72.11966 +});
72.11967 +
72.11968 +Ext.data.GroupingStore = Ext.extend(Ext.data.Store, {
72.11969 +    
72.11970 +    
72.11971 +    remoteGroup : false,
72.11972 +    
72.11973 +    groupOnSort:false,
72.11974 +
72.11975 +    
72.11976 +    clearGrouping : function(){
72.11977 +        this.groupField = false;
72.11978 +        if(this.remoteGroup){
72.11979 +            if(this.baseParams){
72.11980 +                delete this.baseParams.groupBy;
72.11981 +            }
72.11982 +            this.reload();
72.11983 +        }else{
72.11984 +            this.applySort();
72.11985 +            this.fireEvent('datachanged', this);
72.11986 +        }
72.11987 +    },
72.11988 +
72.11989 +    
72.11990 +    groupBy : function(field, forceRegroup){
72.11991 +        if(this.groupField == field && !forceRegroup){
72.11992 +            return; 
72.11993 +        }
72.11994 +        this.groupField = field;
72.11995 +        if(this.remoteGroup){
72.11996 +            if(!this.baseParams){
72.11997 +                this.baseParams = {};
72.11998 +            }
72.11999 +            this.baseParams['groupBy'] = field;
72.12000 +        }
72.12001 +        if(this.groupOnSort){
72.12002 +            this.sort(field);
72.12003 +            return;
72.12004 +        }
72.12005 +        if(this.remoteGroup){
72.12006 +            this.reload();
72.12007 +        }else{
72.12008 +            var si = this.sortInfo || {};
72.12009 +            if(si.field != field){
72.12010 +                this.applySort();
72.12011 +            }else{
72.12012 +                this.sortData(field);
72.12013 +            }
72.12014 +            this.fireEvent('datachanged', this);
72.12015 +        }
72.12016 +    },
72.12017 +
72.12018 +    
72.12019 +    applySort : function(){
72.12020 +        Ext.data.GroupingStore.superclass.applySort.call(this);
72.12021 +        if(!this.groupOnSort && !this.remoteGroup){
72.12022 +            var gs = this.getGroupState();
72.12023 +            if(gs && gs != this.sortInfo.field){
72.12024 +                this.sortData(this.groupField);
72.12025 +            }
72.12026 +        }
72.12027 +    },
72.12028 +
72.12029 +    
72.12030 +    applyGrouping : function(alwaysFireChange){
72.12031 +        if(this.groupField !== false){
72.12032 +            this.groupBy(this.groupField, true);
72.12033 +            return true;
72.12034 +        }else{
72.12035 +            if(alwaysFireChange === true){
72.12036 +                this.fireEvent('datachanged', this);
72.12037 +            }
72.12038 +            return false;
72.12039 +        }
72.12040 +    },
72.12041 +
72.12042 +    
72.12043 +    getGroupState : function(){
72.12044 +        return this.groupOnSort && this.groupField !== false ?
72.12045 +               (this.sortInfo ? this.sortInfo.field : undefined) : this.groupField;
72.12046 +    }
72.12047 +});
72.12048 +
72.12049 +Ext.ComponentMgr = function(){
72.12050 +    var all = new Ext.util.MixedCollection();
72.12051 +    var types = {};
72.12052 +
72.12053 +    return {
72.12054 +        
72.12055 +        register : function(c){
72.12056 +            all.add(c);
72.12057 +        },
72.12058 +
72.12059 +        
72.12060 +        unregister : function(c){
72.12061 +            all.remove(c);
72.12062 +        },
72.12063 +
72.12064 +        
72.12065 +        get : function(id){
72.12066 +            return all.get(id);
72.12067 +        },
72.12068 +
72.12069 +        
72.12070 +        onAvailable : function(id, fn, scope){
72.12071 +            all.on("add", function(index, o){
72.12072 +                if(o.id == id){
72.12073 +                    fn.call(scope || o, o);
72.12074 +                    all.un("add", fn, scope);
72.12075 +                }
72.12076 +            });
72.12077 +        },
72.12078 +
72.12079 +        
72.12080 +        all : all,
72.12081 +
72.12082 +        
72.12083 +        registerType : function(xtype, cls){
72.12084 +            types[xtype] = cls;
72.12085 +            cls.xtype = xtype;
72.12086 +        },
72.12087 +
72.12088 +                create : function(config, defaultType){
72.12089 +            return new types[config.xtype || defaultType](config);
72.12090 +        }
72.12091 +    };
72.12092 +}();
72.12093 +
72.12094 +
72.12095 +Ext.reg = Ext.ComponentMgr.registerType; // this will be called a lot internally, shorthand to keep the bytes down
72.12096 +
72.12097 +Ext.Component = function(config){
72.12098 +    config = config || {};
72.12099 +    if(config.initialConfig){
72.12100 +        if(config.isAction){                       this.baseAction = config;
72.12101 +        }
72.12102 +        config = config.initialConfig;     }else if(config.tagName || config.dom || typeof config == "string"){         config = {applyTo: config, id: config.id || config};
72.12103 +    }
72.12104 +
72.12105 +    
72.12106 +    this.initialConfig = config;
72.12107 +
72.12108 +    Ext.apply(this, config);
72.12109 +    this.addEvents(
72.12110 +        
72.12111 +        'disable',
72.12112 +        
72.12113 +        'enable',
72.12114 +        
72.12115 +        'beforeshow',
72.12116 +        
72.12117 +        'show',
72.12118 +        
72.12119 +        'beforehide',
72.12120 +        
72.12121 +        'hide',
72.12122 +        
72.12123 +        'beforerender',
72.12124 +        
72.12125 +        'render',
72.12126 +        
72.12127 +        'beforedestroy',
72.12128 +        
72.12129 +        'destroy',
72.12130 +        
72.12131 +        'beforestaterestore',
72.12132 +        
72.12133 +        'staterestore',
72.12134 +        
72.12135 +        'beforestatesave',
72.12136 +        
72.12137 +        'statesave'
72.12138 +    );
72.12139 +    this.getId();
72.12140 +    Ext.ComponentMgr.register(this);
72.12141 +    Ext.Component.superclass.constructor.call(this);
72.12142 +
72.12143 +    if(this.baseAction){
72.12144 +        this.baseAction.addComponent(this);
72.12145 +    }
72.12146 +
72.12147 +    this.initComponent();
72.12148 +
72.12149 +    if(this.plugins){
72.12150 +        if(Ext.isArray(this.plugins)){
72.12151 +            for(var i = 0, len = this.plugins.length; i < len; i++){
72.12152 +                this.plugins[i].init(this);
72.12153 +            }
72.12154 +        }else{
72.12155 +            this.plugins.init(this);
72.12156 +        }
72.12157 +    }
72.12158 +
72.12159 +    if(this.stateful !== false){
72.12160 +        this.initState(config);
72.12161 +    }
72.12162 +
72.12163 +    if(this.applyTo){
72.12164 +        this.applyToMarkup(this.applyTo);
72.12165 +        delete this.applyTo;
72.12166 +    }else if(this.renderTo){
72.12167 +        this.render(this.renderTo);
72.12168 +        delete this.renderTo;
72.12169 +    }
72.12170 +};
72.12171 +
72.12172 +Ext.Component.AUTO_ID = 1000;
72.12173 +
72.12174 +Ext.extend(Ext.Component, Ext.util.Observable, {
72.12175 +    
72.12176 +    
72.12177 +    
72.12178 +    
72.12179 +    
72.12180 +    
72.12181 +    
72.12182 +    
72.12183 +    
72.12184 +    
72.12185 +
72.12186 +    
72.12187 +    
72.12188 +    
72.12189 +
72.12190 +    
72.12191 +    disabledClass : "x-item-disabled",
72.12192 +	
72.12193 +    allowDomMove : true,
72.12194 +	
72.12195 +    autoShow : false,
72.12196 +    
72.12197 +    hideMode: 'display',
72.12198 +    
72.12199 +    hideParent: false,
72.12200 +
72.12201 +    
72.12202 +    
72.12203 +    hidden : false,
72.12204 +    
72.12205 +    disabled : false,
72.12206 +    
72.12207 +    rendered : false,
72.12208 +
72.12209 +        ctype : "Ext.Component",
72.12210 +
72.12211 +        actionMode : "el",
72.12212 +
72.12213 +        getActionEl : function(){
72.12214 +        return this[this.actionMode];
72.12215 +    },
72.12216 +
72.12217 +    
72.12218 +    initComponent : Ext.emptyFn,
72.12219 +
72.12220 +    
72.12221 +    render : function(container, position){
72.12222 +        if(!this.rendered && this.fireEvent("beforerender", this) !== false){
72.12223 +            if(!container && this.el){
72.12224 +                this.el = Ext.get(this.el);
72.12225 +                container = this.el.dom.parentNode;
72.12226 +                this.allowDomMove = false;
72.12227 +            }
72.12228 +            this.container = Ext.get(container);
72.12229 +            if(this.ctCls){
72.12230 +                this.container.addClass(this.ctCls);
72.12231 +            }
72.12232 +            this.rendered = true;
72.12233 +            if(position !== undefined){
72.12234 +                if(typeof position == 'number'){
72.12235 +                    position = this.container.dom.childNodes[position];
72.12236 +                }else{
72.12237 +                    position = Ext.getDom(position);
72.12238 +                }
72.12239 +            }
72.12240 +            this.onRender(this.container, position || null);
72.12241 +            if(this.autoShow){
72.12242 +                this.el.removeClass(['x-hidden','x-hide-' + this.hideMode]);
72.12243 +            }
72.12244 +            if(this.cls){
72.12245 +                this.el.addClass(this.cls);
72.12246 +                delete this.cls;
72.12247 +            }
72.12248 +            if(this.style){
72.12249 +                this.el.applyStyles(this.style);
72.12250 +                delete this.style;
72.12251 +            }
72.12252 +            this.fireEvent("render", this);
72.12253 +            this.afterRender(this.container);
72.12254 +            if(this.hidden){
72.12255 +                this.hide();
72.12256 +            }
72.12257 +            if(this.disabled){
72.12258 +                this.disable();
72.12259 +            }
72.12260 +
72.12261 +            this.initStateEvents();
72.12262 +        }
72.12263 +        return this;
72.12264 +    },
72.12265 +
72.12266 +        initState : function(config){
72.12267 +        if(Ext.state.Manager){
72.12268 +            var state = Ext.state.Manager.get(this.stateId || this.id);
72.12269 +            if(state){
72.12270 +                if(this.fireEvent('beforestaterestore', this, state) !== false){
72.12271 +                    this.applyState(state);
72.12272 +                    this.fireEvent('staterestore', this, state);
72.12273 +                }
72.12274 +            }
72.12275 +        }
72.12276 +    },
72.12277 +
72.12278 +        initStateEvents : function(){
72.12279 +        if(this.stateEvents){
72.12280 +            for(var i = 0, e; e = this.stateEvents[i]; i++){
72.12281 +                this.on(e, this.saveState, this, {delay:100});
72.12282 +            }
72.12283 +        }
72.12284 +    },
72.12285 +
72.12286 +        applyState : function(state, config){
72.12287 +        if(state){
72.12288 +            Ext.apply(this, state);
72.12289 +        }
72.12290 +    },
72.12291 +
72.12292 +        getState : function(){
72.12293 +        return null;
72.12294 +    },
72.12295 +
72.12296 +        saveState : function(){
72.12297 +        if(Ext.state.Manager){
72.12298 +            var state = this.getState();
72.12299 +            if(this.fireEvent('beforestatesave', this, state) !== false){
72.12300 +                Ext.state.Manager.set(this.stateId || this.id, state);
72.12301 +                this.fireEvent('statesave', this, state);
72.12302 +            }
72.12303 +        }
72.12304 +    },
72.12305 +
72.12306 +    
72.12307 +    applyToMarkup : function(el){
72.12308 +        this.allowDomMove = false;
72.12309 +        this.el = Ext.get(el);
72.12310 +        this.render(this.el.dom.parentNode);
72.12311 +    },
72.12312 +
72.12313 +    
72.12314 +    addClass : function(cls){
72.12315 +        if(this.el){
72.12316 +            this.el.addClass(cls);
72.12317 +        }else{
72.12318 +            this.cls = this.cls ? this.cls + ' ' + cls : cls;
72.12319 +        }
72.12320 +    },
72.12321 +
72.12322 +    
72.12323 +    removeClass : function(cls){
72.12324 +        if(this.el){
72.12325 +            this.el.removeClass(cls);
72.12326 +        }else if(this.cls){
72.12327 +            this.cls = this.cls.split(' ').remove(cls).join(' ');
72.12328 +        }
72.12329 +    },
72.12330 +
72.12331 +            onRender : function(ct, position){
72.12332 +        if(this.autoEl){
72.12333 +            if(typeof this.autoEl == 'string'){
72.12334 +                this.el = document.createElement(this.autoEl);
72.12335 +            }else{
72.12336 +                var div = document.createElement('div');
72.12337 +                Ext.DomHelper.overwrite(div, this.autoEl);
72.12338 +                this.el = div.firstChild;
72.12339 +            }
72.12340 +            if (!this.el.id) {
72.12341 +            	this.el.id = this.getId();
72.12342 +            }
72.12343 +        }
72.12344 +        if(this.el){
72.12345 +            this.el = Ext.get(this.el);
72.12346 +            if(this.allowDomMove !== false){
72.12347 +                ct.dom.insertBefore(this.el.dom, position);
72.12348 +            }
72.12349 +            if(this.overCls) {
72.12350 +                this.el.addClassOnOver(this.overCls);
72.12351 +            }   
72.12352 +        }
72.12353 +    },
72.12354 +
72.12355 +        getAutoCreate : function(){
72.12356 +        var cfg = typeof this.autoCreate == "object" ?
72.12357 +                      this.autoCreate : Ext.apply({}, this.defaultAutoCreate);
72.12358 +        if(this.id && !cfg.id){
72.12359 +            cfg.id = this.id;
72.12360 +        }
72.12361 +        return cfg;
72.12362 +    },
72.12363 +
72.12364 +        afterRender : Ext.emptyFn,
72.12365 +
72.12366 +    
72.12367 +    destroy : function(){
72.12368 +        if(this.fireEvent("beforedestroy", this) !== false){
72.12369 +            this.beforeDestroy();
72.12370 +            if(this.rendered){
72.12371 +                this.el.removeAllListeners();
72.12372 +                this.el.remove();
72.12373 +                if(this.actionMode == "container"){
72.12374 +                    this.container.remove();
72.12375 +                }
72.12376 +            }
72.12377 +            this.onDestroy();
72.12378 +            Ext.ComponentMgr.unregister(this);
72.12379 +            this.fireEvent("destroy", this);
72.12380 +            this.purgeListeners();
72.12381 +        }
72.12382 +    },
72.12383 +
72.12384 +	    beforeDestroy : Ext.emptyFn,
72.12385 +
72.12386 +	    onDestroy  : Ext.emptyFn,
72.12387 +
72.12388 +    
72.12389 +    getEl : function(){
72.12390 +        return this.el;
72.12391 +    },
72.12392 +
72.12393 +    
72.12394 +    getId : function(){
72.12395 +        return this.id || (this.id = "ext-comp-" + (++Ext.Component.AUTO_ID));
72.12396 +    },
72.12397 +
72.12398 +    
72.12399 +    getItemId : function(){
72.12400 +        return this.itemId || this.getId();
72.12401 +    },
72.12402 +
72.12403 +    
72.12404 +    focus : function(selectText, delay){
72.12405 +        if(delay){
72.12406 +            this.focus.defer(typeof delay == 'number' ? delay : 10, this, [selectText, false]);
72.12407 +            return;
72.12408 +        }
72.12409 +        if(this.rendered){
72.12410 +            this.el.focus();
72.12411 +            if(selectText === true){
72.12412 +                this.el.dom.select();
72.12413 +            }
72.12414 +        }
72.12415 +        return this;
72.12416 +    },
72.12417 +
72.12418 +        blur : function(){
72.12419 +        if(this.rendered){
72.12420 +            this.el.blur();
72.12421 +        }
72.12422 +        return this;
72.12423 +    },
72.12424 +
72.12425 +    
72.12426 +    disable : function(){
72.12427 +        if(this.rendered){
72.12428 +            this.onDisable();
72.12429 +        }
72.12430 +        this.disabled = true;
72.12431 +        this.fireEvent("disable", this);
72.12432 +        return this;
72.12433 +    },
72.12434 +
72.12435 +	    onDisable : function(){
72.12436 +        this.getActionEl().addClass(this.disabledClass);
72.12437 +        this.el.dom.disabled = true;
72.12438 +    },
72.12439 +
72.12440 +    
72.12441 +    enable : function(){
72.12442 +        if(this.rendered){
72.12443 +            this.onEnable();
72.12444 +        }
72.12445 +        this.disabled = false;
72.12446 +        this.fireEvent("enable", this);
72.12447 +        return this;
72.12448 +    },
72.12449 +
72.12450 +	    onEnable : function(){
72.12451 +        this.getActionEl().removeClass(this.disabledClass);
72.12452 +        this.el.dom.disabled = false;
72.12453 +    },
72.12454 +
72.12455 +    
72.12456 +    setDisabled : function(disabled){
72.12457 +        this[disabled ? "disable" : "enable"]();
72.12458 +    },
72.12459 +
72.12460 +    
72.12461 +    show: function(){
72.12462 +        if(this.fireEvent("beforeshow", this) !== false){
72.12463 +            this.hidden = false;
72.12464 +            if(this.autoRender){
72.12465 +                this.render(typeof this.autoRender == 'boolean' ? Ext.getBody() : this.autoRender);
72.12466 +            }
72.12467 +            if(this.rendered){
72.12468 +                this.onShow();
72.12469 +            }
72.12470 +            this.fireEvent("show", this);
72.12471 +        }
72.12472 +        return this;
72.12473 +    },
72.12474 +
72.12475 +        onShow : function(){
72.12476 +        if(this.hideParent){
72.12477 +            this.container.removeClass('x-hide-' + this.hideMode);
72.12478 +        }else{
72.12479 +            this.getActionEl().removeClass('x-hide-' + this.hideMode);
72.12480 +        }
72.12481 +
72.12482 +    },
72.12483 +
72.12484 +    
72.12485 +    hide: function(){
72.12486 +        if(this.fireEvent("beforehide", this) !== false){
72.12487 +            this.hidden = true;
72.12488 +            if(this.rendered){
72.12489 +                this.onHide();
72.12490 +            }
72.12491 +            this.fireEvent("hide", this);
72.12492 +        }
72.12493 +        return this;
72.12494 +    },
72.12495 +
72.12496 +        onHide : function(){
72.12497 +        if(this.hideParent){
72.12498 +            this.container.addClass('x-hide-' + this.hideMode);
72.12499 +        }else{
72.12500 +            this.getActionEl().addClass('x-hide-' + this.hideMode);
72.12501 +        }
72.12502 +    },
72.12503 +
72.12504 +    
72.12505 +    setVisible: function(visible){
72.12506 +        if(visible) {
72.12507 +            this.show();
72.12508 +        }else{
72.12509 +            this.hide();
72.12510 +        }
72.12511 +        return this;
72.12512 +    },
72.12513 +
72.12514 +    
72.12515 +    isVisible : function(){
72.12516 +        return this.rendered && this.getActionEl().isVisible();
72.12517 +    },
72.12518 +
72.12519 +    
72.12520 +    cloneConfig : function(overrides){
72.12521 +        overrides = overrides || {};
72.12522 +        var id = overrides.id || Ext.id();
72.12523 +        var cfg = Ext.applyIf(overrides, this.initialConfig);
72.12524 +        cfg.id = id;         return new this.constructor(cfg);
72.12525 +    },
72.12526 +
72.12527 +    
72.12528 +    getXType : function(){
72.12529 +        return this.constructor.xtype;
72.12530 +    },
72.12531 +
72.12532 +    
72.12533 +    isXType : function(xtype, shallow){
72.12534 +        return !shallow ?
72.12535 +               ('/' + this.getXTypes() + '/').indexOf('/' + xtype + '/') != -1 :
72.12536 +                this.constructor.xtype == xtype;
72.12537 +    },
72.12538 +
72.12539 +    
72.12540 +    getXTypes : function(){
72.12541 +        var tc = this.constructor;
72.12542 +        if(!tc.xtypes){
72.12543 +            var c = [], sc = this;
72.12544 +            while(sc && sc.constructor.xtype){
72.12545 +                c.unshift(sc.constructor.xtype);
72.12546 +                sc = sc.constructor.superclass;
72.12547 +            }
72.12548 +            tc.xtypeChain = c;
72.12549 +            tc.xtypes = c.join('/');
72.12550 +        }
72.12551 +        return tc.xtypes;
72.12552 +    },
72.12553 +
72.12554 +    
72.12555 +    findParentBy: function(fn) {
72.12556 +        for (var p = this.ownerCt; (p != null) && !fn(p, this); p = p.ownerCt);
72.12557 +        return p || null;
72.12558 +    },
72.12559 +
72.12560 +    
72.12561 +    findParentByType: function(xtype) {
72.12562 +        return typeof xtype == 'function' ?
72.12563 +            this.findParentBy(function(p){
72.12564 +                return p.constructor === xtype;
72.12565 +            }) :
72.12566 +            this.findParentBy(function(p){
72.12567 +                return p.constructor.xtype === xtype;
72.12568 +            });
72.12569 +    },
72.12570 +
72.12571 +        mon : function(item, ename, fn, scope, opt){
72.12572 +        if(!this.mons){
72.12573 +            this.mons = [];
72.12574 +            this.on('beforedestroy', function(){
72.12575 +                for(var i= 0, len = this.mons.length; i < len; i++){
72.12576 +                    var m = this.mons[i];
72.12577 +                    m.item.un(m.ename, m.fn, m.scope);
72.12578 +                }
72.12579 +            }, this);
72.12580 +        }
72.12581 +        this.mons.push({
72.12582 +            item: item, ename: ename, fn: fn, scope: scope
72.12583 +        });
72.12584 +        item.on(ename, fn, scope, opt);
72.12585 +    }
72.12586 +});
72.12587 +
72.12588 +Ext.reg('component', Ext.Component);
72.12589 +
72.12590 +
72.12591 +Ext.Action = function(config){
72.12592 +    this.initialConfig = config;
72.12593 +    this.items = [];
72.12594 +}
72.12595 +
72.12596 +Ext.Action.prototype = {
72.12597 +    
72.12598 +    
72.12599 +    
72.12600 +    
72.12601 +    
72.12602 +    
72.12603 +
72.12604 +    
72.12605 +    isAction : true,
72.12606 +
72.12607 +    
72.12608 +    setText : function(text){
72.12609 +        this.initialConfig.text = text;
72.12610 +        this.callEach('setText', [text]);
72.12611 +    },
72.12612 +
72.12613 +    
72.12614 +    getText : function(){
72.12615 +        return this.initialConfig.text;
72.12616 +    },
72.12617 +
72.12618 +    
72.12619 +    setIconClass : function(cls){
72.12620 +        this.initialConfig.iconCls = cls;
72.12621 +        this.callEach('setIconClass', [cls]);
72.12622 +    },
72.12623 +
72.12624 +    
72.12625 +    getIconClass : function(){
72.12626 +        return this.initialConfig.iconCls;
72.12627 +    },
72.12628 +
72.12629 +    
72.12630 +    setDisabled : function(v){
72.12631 +        this.initialConfig.disabled = v;
72.12632 +        this.callEach('setDisabled', [v]);
72.12633 +    },
72.12634 +
72.12635 +    
72.12636 +    enable : function(){
72.12637 +        this.setDisabled(false);
72.12638 +    },
72.12639 +
72.12640 +    
72.12641 +    disable : function(){
72.12642 +        this.setDisabled(true);
72.12643 +    },
72.12644 +
72.12645 +    
72.12646 +    isDisabled : function(){
72.12647 +        return this.initialConfig.disabled;
72.12648 +    },
72.12649 +
72.12650 +    
72.12651 +    setHidden : function(v){
72.12652 +        this.initialConfig.hidden = v;
72.12653 +        this.callEach('setVisible', [!v]);
72.12654 +    },
72.12655 +
72.12656 +    
72.12657 +    show : function(){
72.12658 +        this.setHidden(false);
72.12659 +    },
72.12660 +
72.12661 +    
72.12662 +    hide : function(){
72.12663 +        this.setHidden(true);
72.12664 +    },
72.12665 +
72.12666 +    
72.12667 +    isHidden : function(){
72.12668 +        return this.initialConfig.hidden;
72.12669 +    },
72.12670 +
72.12671 +    
72.12672 +    setHandler : function(fn, scope){
72.12673 +        this.initialConfig.handler = fn;
72.12674 +        this.initialConfig.scope = scope;
72.12675 +        this.callEach('setHandler', [fn, scope]);
72.12676 +    },
72.12677 +
72.12678 +    
72.12679 +    each : function(fn, scope){
72.12680 +        Ext.each(this.items, fn, scope);
72.12681 +    },
72.12682 +
72.12683 +    
72.12684 +    callEach : function(fnName, args){
72.12685 +        var cs = this.items;
72.12686 +        for(var i = 0, len = cs.length; i < len; i++){
72.12687 +            cs[i][fnName].apply(cs[i], args);
72.12688 +        }
72.12689 +    },
72.12690 +
72.12691 +    
72.12692 +    addComponent : function(comp){
72.12693 +        this.items.push(comp);
72.12694 +        comp.on('destroy', this.removeComponent, this);
72.12695 +    },
72.12696 +
72.12697 +    
72.12698 +    removeComponent : function(comp){
72.12699 +        this.items.remove(comp);
72.12700 +    },
72.12701 +
72.12702 +    
72.12703 +    execute : function(){
72.12704 +        this.initialConfig.handler.apply(this.initialConfig.scope || window, arguments);
72.12705 +    }
72.12706 +};
72.12707 +
72.12708 +(function(){ 
72.12709 +Ext.Layer = function(config, existingEl){
72.12710 +    config = config || {};
72.12711 +    var dh = Ext.DomHelper;
72.12712 +    var cp = config.parentEl, pel = cp ? Ext.getDom(cp) : document.body;
72.12713 +    if(existingEl){
72.12714 +        this.dom = Ext.getDom(existingEl);
72.12715 +    }
72.12716 +    if(!this.dom){
72.12717 +        var o = config.dh || {tag: "div", cls: "x-layer"};
72.12718 +        this.dom = dh.append(pel, o);
72.12719 +    }
72.12720 +    if(config.cls){
72.12721 +        this.addClass(config.cls);
72.12722 +    }
72.12723 +    this.constrain = config.constrain !== false;
72.12724 +    this.visibilityMode = Ext.Element.VISIBILITY;
72.12725 +    if(config.id){
72.12726 +        this.id = this.dom.id = config.id;
72.12727 +    }else{
72.12728 +        this.id = Ext.id(this.dom);
72.12729 +    }
72.12730 +    this.zindex = config.zindex || this.getZIndex();
72.12731 +    this.position("absolute", this.zindex);
72.12732 +    if(config.shadow){
72.12733 +        this.shadowOffset = config.shadowOffset || 4;
72.12734 +        this.shadow = new Ext.Shadow({
72.12735 +            offset : this.shadowOffset,
72.12736 +            mode : config.shadow
72.12737 +        });
72.12738 +    }else{
72.12739 +        this.shadowOffset = 0;
72.12740 +    }
72.12741 +    this.useShim = config.shim !== false && Ext.useShims;
72.12742 +    this.useDisplay = config.useDisplay;
72.12743 +    this.hide();
72.12744 +};
72.12745 +
72.12746 +var supr = Ext.Element.prototype;
72.12747 +
72.12748 +
72.12749 +var shims = [];
72.12750 +
72.12751 +Ext.extend(Ext.Layer, Ext.Element, {
72.12752 +
72.12753 +    getZIndex : function(){
72.12754 +        return this.zindex || parseInt(this.getStyle("z-index"), 10) || 11000;
72.12755 +    },
72.12756 +
72.12757 +    getShim : function(){
72.12758 +        if(!this.useShim){
72.12759 +            return null;
72.12760 +        }
72.12761 +        if(this.shim){
72.12762 +            return this.shim;
72.12763 +        }
72.12764 +        var shim = shims.shift();
72.12765 +        if(!shim){
72.12766 +            shim = this.createShim();
72.12767 +            shim.enableDisplayMode('block');
72.12768 +            shim.dom.style.display = 'none';
72.12769 +            shim.dom.style.visibility = 'visible';
72.12770 +        }
72.12771 +        var pn = this.dom.parentNode;
72.12772 +        if(shim.dom.parentNode != pn){
72.12773 +            pn.insertBefore(shim.dom, this.dom);
72.12774 +        }
72.12775 +        shim.setStyle('z-index', this.getZIndex()-2);
72.12776 +        this.shim = shim;
72.12777 +        return shim;
72.12778 +    },
72.12779 +
72.12780 +    hideShim : function(){
72.12781 +        if(this.shim){
72.12782 +            this.shim.setDisplayed(false);
72.12783 +            shims.push(this.shim);
72.12784 +            delete this.shim;
72.12785 +        }
72.12786 +    },
72.12787 +
72.12788 +    disableShadow : function(){
72.12789 +        if(this.shadow){
72.12790 +            this.shadowDisabled = true;
72.12791 +            this.shadow.hide();
72.12792 +            this.lastShadowOffset = this.shadowOffset;
72.12793 +            this.shadowOffset = 0;
72.12794 +        }
72.12795 +    },
72.12796 +
72.12797 +    enableShadow : function(show){
72.12798 +        if(this.shadow){
72.12799 +            this.shadowDisabled = false;
72.12800 +            this.shadowOffset = this.lastShadowOffset;
72.12801 +            delete this.lastShadowOffset;
72.12802 +            if(show){
72.12803 +                this.sync(true);
72.12804 +            }
72.12805 +        }
72.12806 +    },
72.12807 +
72.12808 +    
72.12809 +    
72.12810 +    
72.12811 +    sync : function(doShow){
72.12812 +        var sw = this.shadow;
72.12813 +        if(!this.updating && this.isVisible() && (sw || this.useShim)){
72.12814 +            var sh = this.getShim();
72.12815 +
72.12816 +            var w = this.getWidth(),
72.12817 +                h = this.getHeight();
72.12818 +
72.12819 +            var l = this.getLeft(true),
72.12820 +                t = this.getTop(true);
72.12821 +
72.12822 +            if(sw && !this.shadowDisabled){
72.12823 +                if(doShow && !sw.isVisible()){
72.12824 +                    sw.show(this);
72.12825 +                }else{
72.12826 +                    sw.realign(l, t, w, h);
72.12827 +                }
72.12828 +                if(sh){
72.12829 +                    if(doShow){
72.12830 +                       sh.show();
72.12831 +                    }
72.12832 +                    
72.12833 +                    var a = sw.adjusts, s = sh.dom.style;
72.12834 +                    s.left = (Math.min(l, l+a.l))+"px";
72.12835 +                    s.top = (Math.min(t, t+a.t))+"px";
72.12836 +                    s.width = (w+a.w)+"px";
72.12837 +                    s.height = (h+a.h)+"px";
72.12838 +                }
72.12839 +            }else if(sh){
72.12840 +                if(doShow){
72.12841 +                   sh.show();
72.12842 +                }
72.12843 +                sh.setSize(w, h);
72.12844 +                sh.setLeftTop(l, t);
72.12845 +            }
72.12846 +            
72.12847 +        }
72.12848 +    },
72.12849 +
72.12850 +    
72.12851 +    destroy : function(){
72.12852 +        this.hideShim();
72.12853 +        if(this.shadow){
72.12854 +            this.shadow.hide();
72.12855 +        }
72.12856 +        this.removeAllListeners();
72.12857 +        Ext.removeNode(this.dom);
72.12858 +        Ext.Element.uncache(this.id);
72.12859 +    },
72.12860 +
72.12861 +    remove : function(){
72.12862 +        this.destroy();
72.12863 +    },
72.12864 +
72.12865 +    
72.12866 +    beginUpdate : function(){
72.12867 +        this.updating = true;
72.12868 +    },
72.12869 +
72.12870 +    
72.12871 +    endUpdate : function(){
72.12872 +        this.updating = false;
72.12873 +        this.sync(true);
72.12874 +    },
72.12875 +
72.12876 +    
72.12877 +    hideUnders : function(negOffset){
72.12878 +        if(this.shadow){
72.12879 +            this.shadow.hide();
72.12880 +        }
72.12881 +        this.hideShim();
72.12882 +    },
72.12883 +
72.12884 +    
72.12885 +    constrainXY : function(){
72.12886 +        if(this.constrain){
72.12887 +            var vw = Ext.lib.Dom.getViewWidth(),
72.12888 +                vh = Ext.lib.Dom.getViewHeight();
72.12889 +            var s = Ext.getDoc().getScroll();
72.12890 +
72.12891 +            var xy = this.getXY();
72.12892 +            var x = xy[0], y = xy[1];   
72.12893 +            var w = this.dom.offsetWidth+this.shadowOffset, h = this.dom.offsetHeight+this.shadowOffset;
72.12894 +            
72.12895 +            var moved = false;
72.12896 +            
72.12897 +            if((x + w) > vw+s.left){
72.12898 +                x = vw - w - this.shadowOffset;
72.12899 +                moved = true;
72.12900 +            }
72.12901 +            if((y + h) > vh+s.top){
72.12902 +                y = vh - h - this.shadowOffset;
72.12903 +                moved = true;
72.12904 +            }
72.12905 +            
72.12906 +            if(x < s.left){
72.12907 +                x = s.left;
72.12908 +                moved = true;
72.12909 +            }
72.12910 +            if(y < s.top){
72.12911 +                y = s.top;
72.12912 +                moved = true;
72.12913 +            }
72.12914 +            if(moved){
72.12915 +                if(this.avoidY){
72.12916 +                    var ay = this.avoidY;
72.12917 +                    if(y <= ay && (y+h) >= ay){
72.12918 +                        y = ay-h-5;   
72.12919 +                    }
72.12920 +                }
72.12921 +                xy = [x, y];
72.12922 +                this.storeXY(xy);
72.12923 +                supr.setXY.call(this, xy);
72.12924 +                this.sync();
72.12925 +            }
72.12926 +        }
72.12927 +    },
72.12928 +
72.12929 +    isVisible : function(){
72.12930 +        return this.visible;    
72.12931 +    },
72.12932 +
72.12933 +    
72.12934 +    showAction : function(){
72.12935 +        this.visible = true; 
72.12936 +        if(this.useDisplay === true){
72.12937 +            this.setDisplayed("");
72.12938 +        }else if(this.lastXY){
72.12939 +            supr.setXY.call(this, this.lastXY);
72.12940 +        }else if(this.lastLT){
72.12941 +            supr.setLeftTop.call(this, this.lastLT[0], this.lastLT[1]);
72.12942 +        }
72.12943 +    },
72.12944 +
72.12945 +    
72.12946 +    hideAction : function(){
72.12947 +        this.visible = false;
72.12948 +        if(this.useDisplay === true){
72.12949 +            this.setDisplayed(false);
72.12950 +        }else{
72.12951 +            this.setLeftTop(-10000,-10000);
72.12952 +        }
72.12953 +    },
72.12954 +
72.12955 +    
72.12956 +    setVisible : function(v, a, d, c, e){
72.12957 +        if(v){
72.12958 +            this.showAction();
72.12959 +        }
72.12960 +        if(a && v){
72.12961 +            var cb = function(){
72.12962 +                this.sync(true);
72.12963 +                if(c){
72.12964 +                    c();
72.12965 +                }
72.12966 +            }.createDelegate(this);
72.12967 +            supr.setVisible.call(this, true, true, d, cb, e);
72.12968 +        }else{
72.12969 +            if(!v){
72.12970 +                this.hideUnders(true);
72.12971 +            }
72.12972 +            var cb = c;
72.12973 +            if(a){
72.12974 +                cb = function(){
72.12975 +                    this.hideAction();
72.12976 +                    if(c){
72.12977 +                        c();
72.12978 +                    }
72.12979 +                }.createDelegate(this);
72.12980 +            }
72.12981 +            supr.setVisible.call(this, v, a, d, cb, e);
72.12982 +            if(v){
72.12983 +                this.sync(true);
72.12984 +            }else if(!a){
72.12985 +                this.hideAction();
72.12986 +            }
72.12987 +        }
72.12988 +    },
72.12989 +
72.12990 +    storeXY : function(xy){
72.12991 +        delete this.lastLT;
72.12992 +        this.lastXY = xy;
72.12993 +    },
72.12994 +
72.12995 +    storeLeftTop : function(left, top){
72.12996 +        delete this.lastXY;
72.12997 +        this.lastLT = [left, top];
72.12998 +    },
72.12999 +
72.13000 +    
72.13001 +    beforeFx : function(){
72.13002 +        this.beforeAction();
72.13003 +        return Ext.Layer.superclass.beforeFx.apply(this, arguments);
72.13004 +    },
72.13005 +
72.13006 +    
72.13007 +    afterFx : function(){
72.13008 +        Ext.Layer.superclass.afterFx.apply(this, arguments);
72.13009 +        this.sync(this.isVisible());
72.13010 +    },
72.13011 +
72.13012 +    
72.13013 +    beforeAction : function(){
72.13014 +        if(!this.updating && this.shadow){
72.13015 +            this.shadow.hide();
72.13016 +        }
72.13017 +    },
72.13018 +
72.13019 +    
72.13020 +    setLeft : function(left){
72.13021 +        this.storeLeftTop(left, this.getTop(true));
72.13022 +        supr.setLeft.apply(this, arguments);
72.13023 +        this.sync();
72.13024 +    },
72.13025 +
72.13026 +    setTop : function(top){
72.13027 +        this.storeLeftTop(this.getLeft(true), top);
72.13028 +        supr.setTop.apply(this, arguments);
72.13029 +        this.sync();
72.13030 +    },
72.13031 +
72.13032 +    setLeftTop : function(left, top){
72.13033 +        this.storeLeftTop(left, top);
72.13034 +        supr.setLeftTop.apply(this, arguments);
72.13035 +        this.sync();
72.13036 +    },
72.13037 +
72.13038 +    setXY : function(xy, a, d, c, e){
72.13039 +        this.fixDisplay();
72.13040 +        this.beforeAction();
72.13041 +        this.storeXY(xy);
72.13042 +        var cb = this.createCB(c);
72.13043 +        supr.setXY.call(this, xy, a, d, cb, e);
72.13044 +        if(!a){
72.13045 +            cb();
72.13046 +        }
72.13047 +    },
72.13048 +
72.13049 +    
72.13050 +    createCB : function(c){
72.13051 +        var el = this;
72.13052 +        return function(){
72.13053 +            el.constrainXY();
72.13054 +            el.sync(true);
72.13055 +            if(c){
72.13056 +                c();
72.13057 +            }
72.13058 +        };
72.13059 +    },
72.13060 +
72.13061 +    
72.13062 +    setX : function(x, a, d, c, e){
72.13063 +        this.setXY([x, this.getY()], a, d, c, e);
72.13064 +    },
72.13065 +
72.13066 +    
72.13067 +    setY : function(y, a, d, c, e){
72.13068 +        this.setXY([this.getX(), y], a, d, c, e);
72.13069 +    },
72.13070 +
72.13071 +    
72.13072 +    setSize : function(w, h, a, d, c, e){
72.13073 +        this.beforeAction();
72.13074 +        var cb = this.createCB(c);
72.13075 +        supr.setSize.call(this, w, h, a, d, cb, e);
72.13076 +        if(!a){
72.13077 +            cb();
72.13078 +        }
72.13079 +    },
72.13080 +
72.13081 +    
72.13082 +    setWidth : function(w, a, d, c, e){
72.13083 +        this.beforeAction();
72.13084 +        var cb = this.createCB(c);
72.13085 +        supr.setWidth.call(this, w, a, d, cb, e);
72.13086 +        if(!a){
72.13087 +            cb();
72.13088 +        }
72.13089 +    },
72.13090 +
72.13091 +    
72.13092 +    setHeight : function(h, a, d, c, e){
72.13093 +        this.beforeAction();
72.13094 +        var cb = this.createCB(c);
72.13095 +        supr.setHeight.call(this, h, a, d, cb, e);
72.13096 +        if(!a){
72.13097 +            cb();
72.13098 +        }
72.13099 +    },
72.13100 +
72.13101 +    
72.13102 +    setBounds : function(x, y, w, h, a, d, c, e){
72.13103 +        this.beforeAction();
72.13104 +        var cb = this.createCB(c);
72.13105 +        if(!a){
72.13106 +            this.storeXY([x, y]);
72.13107 +            supr.setXY.call(this, [x, y]);
72.13108 +            supr.setSize.call(this, w, h, a, d, cb, e);
72.13109 +            cb();
72.13110 +        }else{
72.13111 +            supr.setBounds.call(this, x, y, w, h, a, d, cb, e);
72.13112 +        }
72.13113 +        return this;
72.13114 +    },
72.13115 +    
72.13116 +    
72.13117 +    setZIndex : function(zindex){
72.13118 +        this.zindex = zindex;
72.13119 +        this.setStyle("z-index", zindex + 2);
72.13120 +        if(this.shadow){
72.13121 +            this.shadow.setZIndex(zindex + 1);
72.13122 +        }
72.13123 +        if(this.shim){
72.13124 +            this.shim.setStyle("z-index", zindex);
72.13125 +        }
72.13126 +    }
72.13127 +});
72.13128 +})();
72.13129 +
72.13130 +Ext.Shadow = function(config){
72.13131 +    Ext.apply(this, config);
72.13132 +    if(typeof this.mode != "string"){
72.13133 +        this.mode = this.defaultMode;
72.13134 +    }
72.13135 +    var o = this.offset, a = {h: 0};
72.13136 +    var rad = Math.floor(this.offset/2);
72.13137 +    switch(this.mode.toLowerCase()){         case "drop":
72.13138 +            a.w = 0;
72.13139 +            a.l = a.t = o;
72.13140 +            a.t -= 1;
72.13141 +            if(Ext.isIE){
72.13142 +                a.l -= this.offset + rad;
72.13143 +                a.t -= this.offset + rad;
72.13144 +                a.w -= rad;
72.13145 +                a.h -= rad;
72.13146 +                a.t += 1;
72.13147 +            }
72.13148 +        break;
72.13149 +        case "sides":
72.13150 +            a.w = (o*2);
72.13151 +            a.l = -o;
72.13152 +            a.t = o-1;
72.13153 +            if(Ext.isIE){
72.13154 +                a.l -= (this.offset - rad);
72.13155 +                a.t -= this.offset + rad;
72.13156 +                a.l += 1;
72.13157 +                a.w -= (this.offset - rad)*2;
72.13158 +                a.w -= rad + 1;
72.13159 +                a.h -= 1;
72.13160 +            }
72.13161 +        break;
72.13162 +        case "frame":
72.13163 +            a.w = a.h = (o*2);
72.13164 +            a.l = a.t = -o;
72.13165 +            a.t += 1;
72.13166 +            a.h -= 2;
72.13167 +            if(Ext.isIE){
72.13168 +                a.l -= (this.offset - rad);
72.13169 +                a.t -= (this.offset - rad);
72.13170 +                a.l += 1;
72.13171 +                a.w -= (this.offset + rad + 1);
72.13172 +                a.h -= (this.offset + rad);
72.13173 +                a.h += 1;
72.13174 +            }
72.13175 +        break;
72.13176 +    };
72.13177 +
72.13178 +    this.adjusts = a;
72.13179 +};
72.13180 +
72.13181 +Ext.Shadow.prototype = {
72.13182 +    
72.13183 +    
72.13184 +    offset: 4,
72.13185 +
72.13186 +        defaultMode: "drop",
72.13187 +
72.13188 +    
72.13189 +    show : function(target){
72.13190 +        target = Ext.get(target);
72.13191 +        if(!this.el){
72.13192 +            this.el = Ext.Shadow.Pool.pull();
72.13193 +            if(this.el.dom.nextSibling != target.dom){
72.13194 +                this.el.insertBefore(target);
72.13195 +            }
72.13196 +        }
72.13197 +        this.el.setStyle("z-index", this.zIndex || parseInt(target.getStyle("z-index"), 10)-1);
72.13198 +        if(Ext.isIE){
72.13199 +            this.el.dom.style.filter="progid:DXImageTransform.Microsoft.alpha(opacity=50) progid:DXImageTransform.Microsoft.Blur(pixelradius="+(this.offset)+")";
72.13200 +        }
72.13201 +        this.realign(
72.13202 +            target.getLeft(true),
72.13203 +            target.getTop(true),
72.13204 +            target.getWidth(),
72.13205 +            target.getHeight()
72.13206 +        );
72.13207 +        this.el.dom.style.display = "block";
72.13208 +    },
72.13209 +
72.13210 +    
72.13211 +    isVisible : function(){
72.13212 +        return this.el ? true : false;  
72.13213 +    },
72.13214 +
72.13215 +    
72.13216 +    realign : function(l, t, w, h){
72.13217 +        if(!this.el){
72.13218 +            return;
72.13219 +        }
72.13220 +        var a = this.adjusts, d = this.el.dom, s = d.style;
72.13221 +        var iea = 0;
72.13222 +        s.left = (l+a.l)+"px";
72.13223 +        s.top = (t+a.t)+"px";
72.13224 +        var sw = (w+a.w), sh = (h+a.h), sws = sw +"px", shs = sh + "px";
72.13225 +        if(s.width != sws || s.height != shs){
72.13226 +            s.width = sws;
72.13227 +            s.height = shs;
72.13228 +            if(!Ext.isIE){
72.13229 +                var cn = d.childNodes;
72.13230 +                var sww = Math.max(0, (sw-12))+"px";
72.13231 +                cn[0].childNodes[1].style.width = sww;
72.13232 +                cn[1].childNodes[1].style.width = sww;
72.13233 +                cn[2].childNodes[1].style.width = sww;
72.13234 +                cn[1].style.height = Math.max(0, (sh-12))+"px";
72.13235 +            }
72.13236 +        }
72.13237 +    },
72.13238 +
72.13239 +    
72.13240 +    hide : function(){
72.13241 +        if(this.el){
72.13242 +            this.el.dom.style.display = "none";
72.13243 +            Ext.Shadow.Pool.push(this.el);
72.13244 +            delete this.el;
72.13245 +        }
72.13246 +    },
72.13247 +
72.13248 +    
72.13249 +    setZIndex : function(z){
72.13250 +        this.zIndex = z;
72.13251 +        if(this.el){
72.13252 +            this.el.setStyle("z-index", z);
72.13253 +        }
72.13254 +    }
72.13255 +};
72.13256 +
72.13257 +Ext.Shadow.Pool = function(){
72.13258 +    var p = [];
72.13259 +    var markup = Ext.isIE ?
72.13260 +                 '<div class="x-ie-shadow"></div>' :
72.13261 +                 '<div class="x-shadow"><div class="xst"><div class="xstl"></div><div class="xstc"></div><div class="xstr"></div></div><div class="xsc"><div class="xsml"></div><div class="xsmc"></div><div class="xsmr"></div></div><div class="xsb"><div class="xsbl"></div><div class="xsbc"></div><div class="xsbr"></div></div></div>';
72.13262 +    return {
72.13263 +        pull : function(){
72.13264 +            var sh = p.shift();
72.13265 +            if(!sh){
72.13266 +                sh = Ext.get(Ext.DomHelper.insertHtml("beforeBegin", document.body.firstChild, markup));
72.13267 +                sh.autoBoxAdjust = false;
72.13268 +            }
72.13269 +            return sh;
72.13270 +        },
72.13271 +
72.13272 +        push : function(sh){
72.13273 +            p.push(sh);
72.13274 +        }
72.13275 +    };
72.13276 +}();
72.13277 +
72.13278 +Ext.BoxComponent = Ext.extend(Ext.Component, {
72.13279 +    
72.13280 +    
72.13281 +    
72.13282 +    
72.13283 +    
72.13284 +    
72.13285 +    
72.13286 +    
72.13287 +	
72.13288 +    
72.13289 +
72.13290 +	    initComponent : function(){
72.13291 +        Ext.BoxComponent.superclass.initComponent.call(this);
72.13292 +        this.addEvents(
72.13293 +            
72.13294 +            'resize',
72.13295 +            
72.13296 +            'move'
72.13297 +        );
72.13298 +    },
72.13299 +
72.13300 +        boxReady : false,
72.13301 +        deferHeight: false,
72.13302 +
72.13303 +    
72.13304 +    setSize : function(w, h){
72.13305 +                if(typeof w == 'object'){
72.13306 +            h = w.height;
72.13307 +            w = w.width;
72.13308 +        }
72.13309 +                if(!this.boxReady){
72.13310 +            this.width = w;
72.13311 +            this.height = h;
72.13312 +            return this;
72.13313 +        }
72.13314 +
72.13315 +                if(this.lastSize && this.lastSize.width == w && this.lastSize.height == h){
72.13316 +            return this;
72.13317 +        }
72.13318 +        this.lastSize = {width: w, height: h};
72.13319 +        var adj = this.adjustSize(w, h);
72.13320 +        var aw = adj.width, ah = adj.height;
72.13321 +        if(aw !== undefined || ah !== undefined){             var rz = this.getResizeEl();
72.13322 +            if(!this.deferHeight && aw !== undefined && ah !== undefined){
72.13323 +                rz.setSize(aw, ah);
72.13324 +            }else if(!this.deferHeight && ah !== undefined){
72.13325 +                rz.setHeight(ah);
72.13326 +            }else if(aw !== undefined){
72.13327 +                rz.setWidth(aw);
72.13328 +            }
72.13329 +            this.onResize(aw, ah, w, h);
72.13330 +            this.fireEvent('resize', this, aw, ah, w, h);
72.13331 +        }
72.13332 +        return this;
72.13333 +    },
72.13334 +
72.13335 +    
72.13336 +    setWidth : function(width){
72.13337 +        return this.setSize(width);
72.13338 +    },
72.13339 +
72.13340 +    
72.13341 +    setHeight : function(height){
72.13342 +        return this.setSize(undefined, height);
72.13343 +    },
72.13344 +
72.13345 +    
72.13346 +    getSize : function(){
72.13347 +        return this.el.getSize();
72.13348 +    },
72.13349 +
72.13350 +    
72.13351 +    getPosition : function(local){
72.13352 +        if(local === true){
72.13353 +            return [this.el.getLeft(true), this.el.getTop(true)];
72.13354 +        }
72.13355 +        return this.xy || this.el.getXY();
72.13356 +    },
72.13357 +
72.13358 +    
72.13359 +    getBox : function(local){
72.13360 +        var s = this.el.getSize();
72.13361 +        if(local === true){
72.13362 +            s.x = this.el.getLeft(true);
72.13363 +            s.y = this.el.getTop(true);
72.13364 +        }else{
72.13365 +            var xy = this.xy || this.el.getXY();
72.13366 +            s.x = xy[0];
72.13367 +            s.y = xy[1];
72.13368 +        }
72.13369 +        return s;
72.13370 +    },
72.13371 +
72.13372 +    
72.13373 +    updateBox : function(box){
72.13374 +        this.setSize(box.width, box.height);
72.13375 +        this.setPagePosition(box.x, box.y);
72.13376 +        return this;
72.13377 +    },
72.13378 +
72.13379 +        getResizeEl : function(){
72.13380 +        return this.resizeEl || this.el;
72.13381 +    },
72.13382 +
72.13383 +        getPositionEl : function(){
72.13384 +        return this.positionEl || this.el;
72.13385 +    },
72.13386 +
72.13387 +    
72.13388 +    setPosition : function(x, y){
72.13389 +        if(x && typeof x[1] == 'number'){
72.13390 +            y = x[1];
72.13391 +            x = x[0];
72.13392 +        }
72.13393 +        this.x = x;
72.13394 +        this.y = y;
72.13395 +        if(!this.boxReady){
72.13396 +            return this;
72.13397 +        }
72.13398 +        var adj = this.adjustPosition(x, y);
72.13399 +        var ax = adj.x, ay = adj.y;
72.13400 +
72.13401 +        var el = this.getPositionEl();
72.13402 +        if(ax !== undefined || ay !== undefined){
72.13403 +            if(ax !== undefined && ay !== undefined){
72.13404 +                el.setLeftTop(ax, ay);
72.13405 +            }else if(ax !== undefined){
72.13406 +                el.setLeft(ax);
72.13407 +            }else if(ay !== undefined){
72.13408 +                el.setTop(ay);
72.13409 +            }
72.13410 +            this.onPosition(ax, ay);
72.13411 +            this.fireEvent('move', this, ax, ay);
72.13412 +        }
72.13413 +        return this;
72.13414 +    },
72.13415 +
72.13416 +    
72.13417 +    setPagePosition : function(x, y){
72.13418 +        if(x && typeof x[1] == 'number'){
72.13419 +            y = x[1];
72.13420 +            x = x[0];
72.13421 +        }
72.13422 +        this.pageX = x;
72.13423 +        this.pageY = y;
72.13424 +        if(!this.boxReady){
72.13425 +            return;
72.13426 +        }
72.13427 +        if(x === undefined || y === undefined){             return;
72.13428 +        }
72.13429 +        var p = this.el.translatePoints(x, y);
72.13430 +        this.setPosition(p.left, p.top);
72.13431 +        return this;
72.13432 +    },
72.13433 +
72.13434 +        onRender : function(ct, position){
72.13435 +        Ext.BoxComponent.superclass.onRender.call(this, ct, position);
72.13436 +        if(this.resizeEl){
72.13437 +            this.resizeEl = Ext.get(this.resizeEl);
72.13438 +        }
72.13439 +        if(this.positionEl){
72.13440 +            this.positionEl = Ext.get(this.positionEl);
72.13441 +        }
72.13442 +    },
72.13443 +
72.13444 +        afterRender : function(){
72.13445 +        Ext.BoxComponent.superclass.afterRender.call(this);
72.13446 +        this.boxReady = true;
72.13447 +        this.setSize(this.width, this.height);
72.13448 +        if(this.x || this.y){
72.13449 +            this.setPosition(this.x, this.y);
72.13450 +        }else if(this.pageX || this.pageY){
72.13451 +            this.setPagePosition(this.pageX, this.pageY);
72.13452 +        }
72.13453 +    },
72.13454 +
72.13455 +    
72.13456 +    syncSize : function(){
72.13457 +        delete this.lastSize;
72.13458 +        this.setSize(this.autoWidth ? undefined : this.el.getWidth(), this.autoHeight ? undefined : this.el.getHeight());
72.13459 +        return this;
72.13460 +    },
72.13461 +
72.13462 +    
72.13463 +    onResize : function(adjWidth, adjHeight, rawWidth, rawHeight){
72.13464 +
72.13465 +    },
72.13466 +
72.13467 +    
72.13468 +    onPosition : function(x, y){
72.13469 +
72.13470 +    },
72.13471 +
72.13472 +        adjustSize : function(w, h){
72.13473 +        if(this.autoWidth){
72.13474 +            w = 'auto';
72.13475 +        }
72.13476 +        if(this.autoHeight){
72.13477 +            h = 'auto';
72.13478 +        }
72.13479 +        return {width : w, height: h};
72.13480 +    },
72.13481 +
72.13482 +        adjustPosition : function(x, y){
72.13483 +        return {x : x, y: y};
72.13484 +    }
72.13485 +});
72.13486 +Ext.reg('box', Ext.BoxComponent);
72.13487 +
72.13488 +Ext.SplitBar = function(dragElement, resizingElement, orientation, placement, existingProxy){
72.13489 +    
72.13490 +    
72.13491 +    this.el = Ext.get(dragElement, true);
72.13492 +    this.el.dom.unselectable = "on";
72.13493 +    
72.13494 +    this.resizingEl = Ext.get(resizingElement, true);
72.13495 +
72.13496 +    
72.13497 +    this.orientation = orientation || Ext.SplitBar.HORIZONTAL;
72.13498 +    
72.13499 +    
72.13500 +    this.minSize = 0;
72.13501 +    
72.13502 +    
72.13503 +    this.maxSize = 2000;
72.13504 +    
72.13505 +    
72.13506 +    this.animate = false;
72.13507 +    
72.13508 +    
72.13509 +    this.useShim = false;
72.13510 +    
72.13511 +    
72.13512 +    this.shim = null;
72.13513 +    
72.13514 +    if(!existingProxy){
72.13515 +        
72.13516 +        this.proxy = Ext.SplitBar.createProxy(this.orientation);
72.13517 +    }else{
72.13518 +        this.proxy = Ext.get(existingProxy).dom;
72.13519 +    }
72.13520 +    
72.13521 +    this.dd = new Ext.dd.DDProxy(this.el.dom.id, "XSplitBars", {dragElId : this.proxy.id});
72.13522 +    
72.13523 +    
72.13524 +    this.dd.b4StartDrag = this.onStartProxyDrag.createDelegate(this);
72.13525 +    
72.13526 +    
72.13527 +    this.dd.endDrag = this.onEndProxyDrag.createDelegate(this);
72.13528 +    
72.13529 +    
72.13530 +    this.dragSpecs = {};
72.13531 +    
72.13532 +    
72.13533 +    this.adapter = new Ext.SplitBar.BasicLayoutAdapter();
72.13534 +    this.adapter.init(this);
72.13535 +    
72.13536 +    if(this.orientation == Ext.SplitBar.HORIZONTAL){
72.13537 +        
72.13538 +        this.placement = placement || (this.el.getX() > this.resizingEl.getX() ? Ext.SplitBar.LEFT : Ext.SplitBar.RIGHT);
72.13539 +        this.el.addClass("x-splitbar-h");
72.13540 +    }else{
72.13541 +        
72.13542 +        this.placement = placement || (this.el.getY() > this.resizingEl.getY() ? Ext.SplitBar.TOP : Ext.SplitBar.BOTTOM);
72.13543 +        this.el.addClass("x-splitbar-v");
72.13544 +    }
72.13545 +    
72.13546 +    this.addEvents(
72.13547 +        
72.13548 +        "resize",
72.13549 +        
72.13550 +        "moved",
72.13551 +        
72.13552 +        "beforeresize",
72.13553 +
72.13554 +        "beforeapply"
72.13555 +    );
72.13556 +
72.13557 +    Ext.SplitBar.superclass.constructor.call(this);
72.13558 +};
72.13559 +
72.13560 +Ext.extend(Ext.SplitBar, Ext.util.Observable, {
72.13561 +    onStartProxyDrag : function(x, y){
72.13562 +        this.fireEvent("beforeresize", this);
72.13563 +        this.overlay =  Ext.DomHelper.append(document.body,  {cls: "x-drag-overlay", html: "&#160;"}, true);
72.13564 +        this.overlay.unselectable();
72.13565 +        this.overlay.setSize(Ext.lib.Dom.getViewWidth(true), Ext.lib.Dom.getViewHeight(true));
72.13566 +        this.overlay.show();
72.13567 +        Ext.get(this.proxy).setDisplayed("block");
72.13568 +        var size = this.adapter.getElementSize(this);
72.13569 +        this.activeMinSize = this.getMinimumSize();;
72.13570 +        this.activeMaxSize = this.getMaximumSize();;
72.13571 +        var c1 = size - this.activeMinSize;
72.13572 +        var c2 = Math.max(this.activeMaxSize - size, 0);
72.13573 +        if(this.orientation == Ext.SplitBar.HORIZONTAL){
72.13574 +            this.dd.resetConstraints();
72.13575 +            this.dd.setXConstraint(
72.13576 +                this.placement == Ext.SplitBar.LEFT ? c1 : c2, 
72.13577 +                this.placement == Ext.SplitBar.LEFT ? c2 : c1
72.13578 +            );
72.13579 +            this.dd.setYConstraint(0, 0);
72.13580 +        }else{
72.13581 +            this.dd.resetConstraints();
72.13582 +            this.dd.setXConstraint(0, 0);
72.13583 +            this.dd.setYConstraint(
72.13584 +                this.placement == Ext.SplitBar.TOP ? c1 : c2, 
72.13585 +                this.placement == Ext.SplitBar.TOP ? c2 : c1
72.13586 +            );
72.13587 +         }
72.13588 +        this.dragSpecs.startSize = size;
72.13589 +        this.dragSpecs.startPoint = [x, y];
72.13590 +        Ext.dd.DDProxy.prototype.b4StartDrag.call(this.dd, x, y);
72.13591 +    },
72.13592 +    
72.13593 +    
72.13594 +    onEndProxyDrag : function(e){
72.13595 +        Ext.get(this.proxy).setDisplayed(false);
72.13596 +        var endPoint = Ext.lib.Event.getXY(e);
72.13597 +        if(this.overlay){
72.13598 +            this.overlay.remove();
72.13599 +            delete this.overlay;
72.13600 +        }
72.13601 +        var newSize;
72.13602 +        if(this.orientation == Ext.SplitBar.HORIZONTAL){
72.13603 +            newSize = this.dragSpecs.startSize + 
72.13604 +                (this.placement == Ext.SplitBar.LEFT ?
72.13605 +                    endPoint[0] - this.dragSpecs.startPoint[0] :
72.13606 +                    this.dragSpecs.startPoint[0] - endPoint[0]
72.13607 +                );
72.13608 +        }else{
72.13609 +            newSize = this.dragSpecs.startSize + 
72.13610 +                (this.placement == Ext.SplitBar.TOP ?
72.13611 +                    endPoint[1] - this.dragSpecs.startPoint[1] :
72.13612 +                    this.dragSpecs.startPoint[1] - endPoint[1]
72.13613 +                );
72.13614 +        }
72.13615 +        newSize = Math.min(Math.max(newSize, this.activeMinSize), this.activeMaxSize);
72.13616 +        if(newSize != this.dragSpecs.startSize){
72.13617 +            if(this.fireEvent('beforeapply', this, newSize) !== false){
72.13618 +                this.adapter.setElementSize(this, newSize);
72.13619 +                this.fireEvent("moved", this, newSize);
72.13620 +                this.fireEvent("resize", this, newSize);
72.13621 +            }
72.13622 +        }
72.13623 +    },
72.13624 +    
72.13625 +    
72.13626 +    getAdapter : function(){
72.13627 +        return this.adapter;
72.13628 +    },
72.13629 +    
72.13630 +    
72.13631 +    setAdapter : function(adapter){
72.13632 +        this.adapter = adapter;
72.13633 +        this.adapter.init(this);
72.13634 +    },
72.13635 +    
72.13636 +    
72.13637 +    getMinimumSize : function(){
72.13638 +        return this.minSize;
72.13639 +    },
72.13640 +    
72.13641 +    
72.13642 +    setMinimumSize : function(minSize){
72.13643 +        this.minSize = minSize;
72.13644 +    },
72.13645 +    
72.13646 +    
72.13647 +    getMaximumSize : function(){
72.13648 +        return this.maxSize;
72.13649 +    },
72.13650 +    
72.13651 +    
72.13652 +    setMaximumSize : function(maxSize){
72.13653 +        this.maxSize = maxSize;
72.13654 +    },
72.13655 +    
72.13656 +    
72.13657 +    setCurrentSize : function(size){
72.13658 +        var oldAnimate = this.animate;
72.13659 +        this.animate = false;
72.13660 +        this.adapter.setElementSize(this, size);
72.13661 +        this.animate = oldAnimate;
72.13662 +    },
72.13663 +    
72.13664 +    
72.13665 +    destroy : function(removeEl){
72.13666 +        if(this.shim){
72.13667 +            this.shim.remove();
72.13668 +        }
72.13669 +        this.dd.unreg();
72.13670 +        Ext.removeNode(this.proxy);
72.13671 +        if(removeEl){
72.13672 +            this.el.remove();
72.13673 +        }
72.13674 +    }
72.13675 +});
72.13676 +
72.13677 +
72.13678 +Ext.SplitBar.createProxy = function(dir){
72.13679 +    var proxy = new Ext.Element(document.createElement("div"));
72.13680 +    proxy.unselectable();
72.13681 +    var cls = 'x-splitbar-proxy';
72.13682 +    proxy.addClass(cls + ' ' + (dir == Ext.SplitBar.HORIZONTAL ? cls +'-h' : cls + '-v'));
72.13683 +    document.body.appendChild(proxy.dom);
72.13684 +    return proxy.dom;
72.13685 +};
72.13686 +
72.13687 +
72.13688 +Ext.SplitBar.BasicLayoutAdapter = function(){
72.13689 +};
72.13690 +
72.13691 +Ext.SplitBar.BasicLayoutAdapter.prototype = {
72.13692 +    
72.13693 +    init : function(s){
72.13694 +    
72.13695 +    },
72.13696 +    
72.13697 +     getElementSize : function(s){
72.13698 +        if(s.orientation == Ext.SplitBar.HORIZONTAL){
72.13699 +            return s.resizingEl.getWidth();
72.13700 +        }else{
72.13701 +            return s.resizingEl.getHeight();
72.13702 +        }
72.13703 +    },
72.13704 +    
72.13705 +    
72.13706 +    setElementSize : function(s, newSize, onComplete){
72.13707 +        if(s.orientation == Ext.SplitBar.HORIZONTAL){
72.13708 +            if(!s.animate){
72.13709 +                s.resizingEl.setWidth(newSize);
72.13710 +                if(onComplete){
72.13711 +                    onComplete(s, newSize);
72.13712 +                }
72.13713 +            }else{
72.13714 +                s.resizingEl.setWidth(newSize, true, .1, onComplete, 'easeOut');
72.13715 +            }
72.13716 +        }else{
72.13717 +            
72.13718 +            if(!s.animate){
72.13719 +                s.resizingEl.setHeight(newSize);
72.13720 +                if(onComplete){
72.13721 +                    onComplete(s, newSize);
72.13722 +                }
72.13723 +            }else{
72.13724 +                s.resizingEl.setHeight(newSize, true, .1, onComplete, 'easeOut');
72.13725 +            }
72.13726 +        }
72.13727 +    }
72.13728 +};
72.13729 +
72.13730 +
72.13731 +Ext.SplitBar.AbsoluteLayoutAdapter = function(container){
72.13732 +    this.basic = new Ext.SplitBar.BasicLayoutAdapter();
72.13733 +    this.container = Ext.get(container);
72.13734 +};
72.13735 +
72.13736 +Ext.SplitBar.AbsoluteLayoutAdapter.prototype = {
72.13737 +    init : function(s){
72.13738 +        this.basic.init(s);
72.13739 +    },
72.13740 +    
72.13741 +    getElementSize : function(s){
72.13742 +        return this.basic.getElementSize(s);
72.13743 +    },
72.13744 +    
72.13745 +    setElementSize : function(s, newSize, onComplete){
72.13746 +        this.basic.setElementSize(s, newSize, this.moveSplitter.createDelegate(this, [s]));
72.13747 +    },
72.13748 +    
72.13749 +    moveSplitter : function(s){
72.13750 +        var yes = Ext.SplitBar;
72.13751 +        switch(s.placement){
72.13752 +            case yes.LEFT:
72.13753 +                s.el.setX(s.resizingEl.getRight());
72.13754 +                break;
72.13755 +            case yes.RIGHT:
72.13756 +                s.el.setStyle("right", (this.container.getWidth() - s.resizingEl.getLeft()) + "px");
72.13757 +                break;
72.13758 +            case yes.TOP:
72.13759 +                s.el.setY(s.resizingEl.getBottom());
72.13760 +                break;
72.13761 +            case yes.BOTTOM:
72.13762 +                s.el.setY(s.resizingEl.getTop() - s.el.getHeight());
72.13763 +                break;
72.13764 +        }
72.13765 +    }
72.13766 +};
72.13767 +
72.13768 +
72.13769 +Ext.SplitBar.VERTICAL = 1;
72.13770 +
72.13771 +
72.13772 +Ext.SplitBar.HORIZONTAL = 2;
72.13773 +
72.13774 +
72.13775 +Ext.SplitBar.LEFT = 1;
72.13776 +
72.13777 +
72.13778 +Ext.SplitBar.RIGHT = 2;
72.13779 +
72.13780 +
72.13781 +Ext.SplitBar.TOP = 3;
72.13782 +
72.13783 +
72.13784 +Ext.SplitBar.BOTTOM = 4;
72.13785 +
72.13786 +
72.13787 +Ext.Container = Ext.extend(Ext.BoxComponent, {
72.13788 +    
72.13789 +    
72.13790 +    
72.13791 +    
72.13792 +    
72.13793 +    
72.13794 +    
72.13795 +
72.13796 +    
72.13797 +    autoDestroy: true,
72.13798 +    
72.13799 +    
72.13800 +    defaultType: 'panel',
72.13801 +
72.13802 +        initComponent : function(){
72.13803 +        Ext.Container.superclass.initComponent.call(this);
72.13804 +
72.13805 +        this.addEvents(
72.13806 +            
72.13807 +            'afterlayout',
72.13808 +            
72.13809 +            'beforeadd',
72.13810 +            
72.13811 +            'beforeremove',
72.13812 +            
72.13813 +            'add',
72.13814 +            
72.13815 +            'remove'
72.13816 +        );
72.13817 +
72.13818 +        
72.13819 +        var items = this.items;
72.13820 +        if(items){
72.13821 +            delete this.items;
72.13822 +            if(Ext.isArray(items)){
72.13823 +                this.add.apply(this, items);
72.13824 +            }else{
72.13825 +                this.add(items);
72.13826 +            }
72.13827 +        }
72.13828 +    },
72.13829 +
72.13830 +        initItems : function(){
72.13831 +        if(!this.items){
72.13832 +            this.items = new Ext.util.MixedCollection(false, this.getComponentId);
72.13833 +            this.getLayout();         }
72.13834 +    },
72.13835 +
72.13836 +        setLayout : function(layout){
72.13837 +        if(this.layout && this.layout != layout){
72.13838 +            this.layout.setContainer(null);
72.13839 +        }
72.13840 +        this.initItems();
72.13841 +        this.layout = layout;
72.13842 +        layout.setContainer(this);
72.13843 +    },
72.13844 +
72.13845 +        render : function(){
72.13846 +        Ext.Container.superclass.render.apply(this, arguments);
72.13847 +        if(this.layout){
72.13848 +            if(typeof this.layout == 'string'){
72.13849 +                this.layout = new Ext.Container.LAYOUTS[this.layout.toLowerCase()](this.layoutConfig);
72.13850 +            }
72.13851 +            this.setLayout(this.layout);
72.13852 +
72.13853 +            if(this.activeItem !== undefined){
72.13854 +                var item = this.activeItem;
72.13855 +                delete this.activeItem;
72.13856 +                this.layout.setActiveItem(item);
72.13857 +                return;
72.13858 +            }
72.13859 +        }
72.13860 +        if(!this.ownerCt){
72.13861 +            this.doLayout();
72.13862 +        }
72.13863 +        if(this.monitorResize === true){
72.13864 +            Ext.EventManager.onWindowResize(this.doLayout, this, [false]);
72.13865 +        }
72.13866 +    },
72.13867 +
72.13868 +        getLayoutTarget : function(){
72.13869 +        return this.el;
72.13870 +    },
72.13871 +
72.13872 +        getComponentId : function(comp){
72.13873 +        return comp.itemId || comp.id;
72.13874 +    },
72.13875 +
72.13876 +    
72.13877 +    add : function(comp){
72.13878 +        if(!this.items){
72.13879 +            this.initItems();
72.13880 +        }
72.13881 +        var a = arguments, len = a.length;
72.13882 +        if(len > 1){
72.13883 +            for(var i = 0; i < len; i++) {
72.13884 +                this.add(a[i]);
72.13885 +            }
72.13886 +            return;
72.13887 +        }
72.13888 +        var c = this.lookupComponent(this.applyDefaults(comp));
72.13889 +        var pos = this.items.length;
72.13890 +        if(this.fireEvent('beforeadd', this, c, pos) !== false && this.onBeforeAdd(c) !== false){
72.13891 +            this.items.add(c);
72.13892 +            c.ownerCt = this;
72.13893 +            this.fireEvent('add', this, c, pos);
72.13894 +        }
72.13895 +        return c;
72.13896 +    },
72.13897 +
72.13898 +    
72.13899 +    insert : function(index, comp){
72.13900 +        if(!this.items){
72.13901 +            this.initItems();
72.13902 +        }
72.13903 +        var a = arguments, len = a.length;
72.13904 +        if(len > 2){
72.13905 +            for(var i = len-1; i >= 1; --i) {
72.13906 +                this.insert(index, a[i]);
72.13907 +            }
72.13908 +            return;
72.13909 +        }
72.13910 +        var c = this.lookupComponent(this.applyDefaults(comp));
72.13911 +
72.13912 +        if(c.ownerCt == this && this.items.indexOf(c) < index){
72.13913 +            --index;
72.13914 +        }
72.13915 +
72.13916 +        if(this.fireEvent('beforeadd', this, c, index) !== false && this.onBeforeAdd(c) !== false){
72.13917 +            this.items.insert(index, c);
72.13918 +            c.ownerCt = this;
72.13919 +            this.fireEvent('add', this, c, index);
72.13920 +        }
72.13921 +        return c;
72.13922 +    },
72.13923 +
72.13924 +        applyDefaults : function(c){
72.13925 +        if(this.defaults){
72.13926 +            if(typeof c == 'string'){
72.13927 +                c = Ext.ComponentMgr.get(c);
72.13928 +                Ext.apply(c, this.defaults);
72.13929 +            }else if(!c.events){
72.13930 +                Ext.applyIf(c, this.defaults);
72.13931 +            }else{
72.13932 +                Ext.apply(c, this.defaults);
72.13933 +            }
72.13934 +        }
72.13935 +        return c;
72.13936 +    },
72.13937 +
72.13938 +        onBeforeAdd : function(item){
72.13939 +        if(item.ownerCt){
72.13940 +            item.ownerCt.remove(item, false);
72.13941 +        }
72.13942 +        if(this.hideBorders === true){
72.13943 +            item.border = (item.border === true);
72.13944 +        }
72.13945 +    },
72.13946 +
72.13947 +    
72.13948 +    remove : function(comp, autoDestroy){
72.13949 +        var c = this.getComponent(comp);
72.13950 +        if(c && this.fireEvent('beforeremove', this, c) !== false){
72.13951 +            this.items.remove(c);
72.13952 +            delete c.ownerCt;
72.13953 +            if(autoDestroy === true || (autoDestroy !== false && this.autoDestroy)){
72.13954 +                c.destroy();
72.13955 +            }
72.13956 +            if(this.layout && this.layout.activeItem == c){
72.13957 +                delete this.layout.activeItem;
72.13958 +            }
72.13959 +            this.fireEvent('remove', this, c);
72.13960 +        }
72.13961 +        return c;
72.13962 +    },
72.13963 +
72.13964 +    
72.13965 +    getComponent : function(comp){
72.13966 +        if(typeof comp == 'object'){
72.13967 +            return comp;
72.13968 +        }
72.13969 +        return this.items.get(comp);
72.13970 +    },
72.13971 +
72.13972 +        lookupComponent : function(comp){
72.13973 +        if(typeof comp == 'string'){
72.13974 +            return Ext.ComponentMgr.get(comp);
72.13975 +        }else if(!comp.events){
72.13976 +            return this.createComponent(comp);
72.13977 +        }
72.13978 +        return comp;
72.13979 +    },
72.13980 +
72.13981 +        createComponent : function(config){
72.13982 +        return Ext.ComponentMgr.create(config, this.defaultType);
72.13983 +    },
72.13984 +
72.13985 +    
72.13986 +    doLayout : function(shallow){
72.13987 +        if(this.rendered && this.layout){
72.13988 +            this.layout.layout();
72.13989 +        }
72.13990 +        if(shallow !== false && this.items){
72.13991 +            var cs = this.items.items;
72.13992 +            for(var i = 0, len = cs.length; i < len; i++) {
72.13993 +                var c  = cs[i];
72.13994 +                if(c.doLayout){
72.13995 +                    c.doLayout();
72.13996 +                }
72.13997 +            }
72.13998 +        }
72.13999 +    },
72.14000 +
72.14001 +    
72.14002 +    getLayout : function(){
72.14003 +        if(!this.layout){
72.14004 +            var layout = new Ext.layout.ContainerLayout(this.layoutConfig);
72.14005 +            this.setLayout(layout);
72.14006 +        }
72.14007 +        return this.layout;
72.14008 +    },
72.14009 +
72.14010 +        onDestroy : function(){
72.14011 +        if(this.items){
72.14012 +            var cs = this.items.items;
72.14013 +            for(var i = 0, len = cs.length; i < len; i++) {
72.14014 +                Ext.destroy(cs[i]);
72.14015 +            }
72.14016 +        }
72.14017 +        if(this.monitorResize){
72.14018 +            Ext.EventManager.removeResizeListener(this.doLayout, this);
72.14019 +        }
72.14020 +        Ext.Container.superclass.onDestroy.call(this);
72.14021 +    },
72.14022 +
72.14023 +    
72.14024 +    bubble : function(fn, scope, args){
72.14025 +        var p = this;
72.14026 +        while(p){
72.14027 +            if(fn.apply(scope || p, args || [p]) === false){
72.14028 +                break;
72.14029 +            }
72.14030 +            p = p.ownerCt;
72.14031 +        }
72.14032 +    },
72.14033 +
72.14034 +    
72.14035 +    cascade : function(fn, scope, args){
72.14036 +        if(fn.apply(scope || this, args || [this]) !== false){
72.14037 +            if(this.items){
72.14038 +                var cs = this.items.items;
72.14039 +                for(var i = 0, len = cs.length; i < len; i++){
72.14040 +                    if(cs[i].cascade){
72.14041 +                        cs[i].cascade(fn, scope, args);
72.14042 +                    }else{
72.14043 +                        fn.apply(scope || this, args || [cs[i]]);
72.14044 +                    }
72.14045 +                }
72.14046 +            }
72.14047 +        }
72.14048 +    },
72.14049 +
72.14050 +    
72.14051 +    findById : function(id){
72.14052 +        var m, ct = this;
72.14053 +        this.cascade(function(c){
72.14054 +            if(ct != c && c.id === id){
72.14055 +                m = c;
72.14056 +                return false;
72.14057 +            }
72.14058 +        });
72.14059 +        return m || null;
72.14060 +    },
72.14061 +
72.14062 +    
72.14063 +    findByType : function(xtype){
72.14064 +        return typeof xtype == 'function' ?
72.14065 +            this.findBy(function(c){
72.14066 +                return c.constructor === xtype;
72.14067 +            }) :
72.14068 +            this.findBy(function(c){
72.14069 +                return c.constructor.xtype === xtype;
72.14070 +            });
72.14071 +    },
72.14072 +
72.14073 +    
72.14074 +    find : function(prop, value){
72.14075 +        return this.findBy(function(c){
72.14076 +            return c[prop] === value;
72.14077 +        });
72.14078 +    },
72.14079 +
72.14080 +    
72.14081 +    findBy : function(fn, scope){
72.14082 +        var m = [], ct = this;
72.14083 +        this.cascade(function(c){
72.14084 +            if(ct != c && fn.call(scope || c, c, ct) === true){
72.14085 +                m.push(c);
72.14086 +            }
72.14087 +        });
72.14088 +        return m;
72.14089 +    }
72.14090 +});
72.14091 +
72.14092 +Ext.Container.LAYOUTS = {};
72.14093 +Ext.reg('container', Ext.Container);
72.14094 +
72.14095 +Ext.layout.ContainerLayout = function(config){
72.14096 +    Ext.apply(this, config);
72.14097 +};
72.14098 +
72.14099 +Ext.layout.ContainerLayout.prototype = {
72.14100 +    
72.14101 +    
72.14102 +
72.14103 +    
72.14104 +
72.14105 +        monitorResize:false,
72.14106 +        activeItem : null,
72.14107 +
72.14108 +        layout : function(){
72.14109 +        var target = this.container.getLayoutTarget();
72.14110 +        this.onLayout(this.container, target);
72.14111 +        this.container.fireEvent('afterlayout', this.container, this);
72.14112 +    },
72.14113 +
72.14114 +        onLayout : function(ct, target){
72.14115 +        this.renderAll(ct, target);
72.14116 +    },
72.14117 +
72.14118 +        isValidParent : function(c, target){
72.14119 +		var el = c.getPositionEl ? c.getPositionEl() : c.getEl();
72.14120 +		return el.dom.parentNode == target.dom;
72.14121 +    },
72.14122 +
72.14123 +        renderAll : function(ct, target){
72.14124 +        var items = ct.items.items;
72.14125 +        for(var i = 0, len = items.length; i < len; i++) {
72.14126 +            var c = items[i];
72.14127 +            if(c && (!c.rendered || !this.isValidParent(c, target))){
72.14128 +                this.renderItem(c, i, target);
72.14129 +            }
72.14130 +        }
72.14131 +    },
72.14132 +
72.14133 +        renderItem : function(c, position, target){
72.14134 +        if(c && !c.rendered){
72.14135 +            c.render(target, position);
72.14136 +            if(this.extraCls){
72.14137 +            	var t = c.getPositionEl ? c.getPositionEl() : c;
72.14138 +            	t.addClass(this.extraCls);
72.14139 +            }
72.14140 +            if (this.renderHidden && c != this.activeItem) {
72.14141 +                c.hide();
72.14142 +            }
72.14143 +        }else if(c && !this.isValidParent(c, target)){
72.14144 +            if(this.extraCls){
72.14145 +                c.addClass(this.extraCls);
72.14146 +            }
72.14147 +            if(typeof position == 'number'){
72.14148 +                position = target.dom.childNodes[position];
72.14149 +            }
72.14150 +            target.dom.insertBefore(c.getEl().dom, position || null);
72.14151 +            if (this.renderHidden && c != this.activeItem) {
72.14152 +                c.hide();
72.14153 +            }
72.14154 +        }
72.14155 +    },
72.14156 +
72.14157 +        onResize: function(){
72.14158 +        if(this.container.collapsed){
72.14159 +            return;
72.14160 +        }
72.14161 +        var b = this.container.bufferResize;
72.14162 +        if(b){
72.14163 +            if(!this.resizeTask){
72.14164 +                this.resizeTask = new Ext.util.DelayedTask(this.layout, this);
72.14165 +                this.resizeBuffer = typeof b == 'number' ? b : 100;
72.14166 +            }
72.14167 +            this.resizeTask.delay(this.resizeBuffer);
72.14168 +        }else{
72.14169 +            this.layout();
72.14170 +        }
72.14171 +    },
72.14172 +
72.14173 +        setContainer : function(ct){
72.14174 +        if(this.monitorResize && ct != this.container){
72.14175 +            if(this.container){
72.14176 +                this.container.un('resize', this.onResize, this);
72.14177 +            }
72.14178 +            if(ct){
72.14179 +                ct.on('resize', this.onResize, this);
72.14180 +            }
72.14181 +        }
72.14182 +        this.container = ct;
72.14183 +    },
72.14184 +
72.14185 +        parseMargins : function(v){
72.14186 +        var ms = v.split(' ');
72.14187 +        var len = ms.length;
72.14188 +        if(len == 1){
72.14189 +            ms[1] = ms[0];
72.14190 +            ms[2] = ms[0];
72.14191 +            ms[3] = ms[0];
72.14192 +        }
72.14193 +        if(len == 2){
72.14194 +            ms[2] = ms[0];
72.14195 +            ms[3] = ms[1];
72.14196 +        }
72.14197 +        return {
72.14198 +            top:parseInt(ms[0], 10) || 0,
72.14199 +            right:parseInt(ms[1], 10) || 0,
72.14200 +            bottom:parseInt(ms[2], 10) || 0,
72.14201 +            left:parseInt(ms[3], 10) || 0
72.14202 +        };
72.14203 +    }
72.14204 +};
72.14205 +Ext.Container.LAYOUTS['auto'] = Ext.layout.ContainerLayout;
72.14206 +
72.14207 +Ext.layout.FitLayout = Ext.extend(Ext.layout.ContainerLayout, {
72.14208 +    
72.14209 +    monitorResize:true,
72.14210 +
72.14211 +    
72.14212 +    onLayout : function(ct, target){
72.14213 +        Ext.layout.FitLayout.superclass.onLayout.call(this, ct, target);
72.14214 +        if(!this.container.collapsed){
72.14215 +            this.setItemSize(this.activeItem || ct.items.itemAt(0), target.getStyleSize());
72.14216 +        }
72.14217 +    },
72.14218 +
72.14219 +    
72.14220 +    setItemSize : function(item, size){
72.14221 +        if(item && size.height > 0){ 
72.14222 +            item.setSize(size);
72.14223 +        }
72.14224 +    }
72.14225 +});
72.14226 +Ext.Container.LAYOUTS['fit'] = Ext.layout.FitLayout;
72.14227 +
72.14228 +Ext.layout.CardLayout = Ext.extend(Ext.layout.FitLayout, {
72.14229 +    
72.14230 +    deferredRender : false,
72.14231 +
72.14232 +    
72.14233 +    renderHidden : true,
72.14234 +
72.14235 +    
72.14236 +    setActiveItem : function(item){
72.14237 +        item = this.container.getComponent(item);
72.14238 +        if(this.activeItem != item){
72.14239 +            if(this.activeItem){
72.14240 +                this.activeItem.hide();
72.14241 +            }
72.14242 +            this.activeItem = item;
72.14243 +            item.show();
72.14244 +            this.layout();
72.14245 +        }
72.14246 +    },
72.14247 +
72.14248 +    
72.14249 +    renderAll : function(ct, target){
72.14250 +        if(this.deferredRender){
72.14251 +            this.renderItem(this.activeItem, undefined, target);
72.14252 +        }else{
72.14253 +            Ext.layout.CardLayout.superclass.renderAll.call(this, ct, target);
72.14254 +        }
72.14255 +    }
72.14256 +});
72.14257 +Ext.Container.LAYOUTS['card'] = Ext.layout.CardLayout;
72.14258 +
72.14259 +Ext.layout.AnchorLayout = Ext.extend(Ext.layout.ContainerLayout, {
72.14260 +    
72.14261 +    monitorResize:true,
72.14262 +
72.14263 +    
72.14264 +    getAnchorViewSize : function(ct, target){
72.14265 +        return target.dom == document.body ?
72.14266 +                   target.getViewSize() : target.getStyleSize();
72.14267 +    },
72.14268 +
72.14269 +    
72.14270 +    onLayout : function(ct, target){
72.14271 +        Ext.layout.AnchorLayout.superclass.onLayout.call(this, ct, target);
72.14272 +
72.14273 +        var size = this.getAnchorViewSize(ct, target);
72.14274 +
72.14275 +        var w = size.width, h = size.height;
72.14276 +
72.14277 +        if(w < 20 || h < 20){
72.14278 +            return;
72.14279 +        }
72.14280 +
72.14281 +        
72.14282 +        var aw, ah;
72.14283 +        if(ct.anchorSize){
72.14284 +            if(typeof ct.anchorSize == 'number'){
72.14285 +                aw = ct.anchorSize;
72.14286 +            }else{
72.14287 +                aw = ct.anchorSize.width;
72.14288 +                ah = ct.anchorSize.height;
72.14289 +            }
72.14290 +        }else{
72.14291 +            aw = ct.initialConfig.width;
72.14292 +            ah = ct.initialConfig.height;
72.14293 +        }
72.14294 +
72.14295 +        var cs = ct.items.items, len = cs.length, i, c, a, cw, ch;
72.14296 +        for(i = 0; i < len; i++){
72.14297 +            c = cs[i];
72.14298 +            if(c.anchor){
72.14299 +                a = c.anchorSpec;
72.14300 +                if(!a){ 
72.14301 +                    var vs = c.anchor.split(' ');
72.14302 +                    c.anchorSpec = a = {
72.14303 +                        right: this.parseAnchor(vs[0], c.initialConfig.width, aw),
72.14304 +                        bottom: this.parseAnchor(vs[1], c.initialConfig.height, ah)
72.14305 +                    };
72.14306 +                }
72.14307 +                cw = a.right ? this.adjustWidthAnchor(a.right(w), c) : undefined;
72.14308 +                ch = a.bottom ? this.adjustHeightAnchor(a.bottom(h), c) : undefined;
72.14309 +
72.14310 +                if(cw || ch){
72.14311 +                    c.setSize(cw || undefined, ch || undefined);
72.14312 +                }
72.14313 +            }
72.14314 +        }
72.14315 +    },
72.14316 +
72.14317 +    
72.14318 +    parseAnchor : function(a, start, cstart){
72.14319 +        if(a && a != 'none'){
72.14320 +            var last;
72.14321 +            if(/^(r|right|b|bottom)$/i.test(a)){   
72.14322 +                var diff = cstart - start;
72.14323 +                return function(v){
72.14324 +                    if(v !== last){
72.14325 +                        last = v;
72.14326 +                        return v - diff;
72.14327 +                    }
72.14328 +                }
72.14329 +            }else if(a.indexOf('%') != -1){
72.14330 +                var ratio = parseFloat(a.replace('%', ''))*.01;   
72.14331 +                return function(v){
72.14332 +                    if(v !== last){
72.14333 +                        last = v;
72.14334 +                        return Math.floor(v*ratio);
72.14335 +                    }
72.14336 +                }
72.14337 +            }else{
72.14338 +                a = parseInt(a, 10);
72.14339 +                if(!isNaN(a)){                            
72.14340 +                    return function(v){
72.14341 +                        if(v !== last){
72.14342 +                            last = v;
72.14343 +                            return v + a;
72.14344 +                        }
72.14345 +                    }
72.14346 +                }
72.14347 +            }
72.14348 +        }
72.14349 +        return false;
72.14350 +    },
72.14351 +
72.14352 +    
72.14353 +    adjustWidthAnchor : function(value, comp){
72.14354 +        return value;
72.14355 +    },
72.14356 +
72.14357 +    
72.14358 +    adjustHeightAnchor : function(value, comp){
72.14359 +        return value;
72.14360 +    }
72.14361 +    
72.14362 +    
72.14363 +});
72.14364 +Ext.Container.LAYOUTS['anchor'] = Ext.layout.AnchorLayout;
72.14365 +
72.14366 +Ext.layout.ColumnLayout = Ext.extend(Ext.layout.ContainerLayout, {
72.14367 +    
72.14368 +    monitorResize:true,
72.14369 +    
72.14370 +    extraCls: 'x-column',
72.14371 +
72.14372 +    scrollOffset : 0,
72.14373 +
72.14374 +    
72.14375 +    isValidParent : function(c, target){
72.14376 +        return c.getEl().dom.parentNode == this.innerCt.dom;
72.14377 +    },
72.14378 +
72.14379 +    
72.14380 +    onLayout : function(ct, target){
72.14381 +        var cs = ct.items.items, len = cs.length, c, i;
72.14382 +
72.14383 +        if(!this.innerCt){
72.14384 +            target.addClass('x-column-layout-ct');
72.14385 +
72.14386 +            
72.14387 +            
72.14388 +            this.innerCt = target.createChild({cls:'x-column-inner'});
72.14389 +            this.innerCt.createChild({cls:'x-clear'});
72.14390 +        }
72.14391 +        this.renderAll(ct, this.innerCt);
72.14392 +
72.14393 +        var size = target.getViewSize();
72.14394 +
72.14395 +        if(size.width < 1 && size.height < 1){ 
72.14396 +            return;
72.14397 +        }
72.14398 +
72.14399 +        var w = size.width - target.getPadding('lr') - this.scrollOffset,
72.14400 +            h = size.height - target.getPadding('tb'),
72.14401 +            pw = w;
72.14402 +
72.14403 +        this.innerCt.setWidth(w);
72.14404 +        
72.14405 +        
72.14406 +        
72.14407 +
72.14408 +        for(i = 0; i < len; i++){
72.14409 +            c = cs[i];
72.14410 +            if(!c.columnWidth){
72.14411 +                pw -= (c.getSize().width + c.getEl().getMargins('lr'));
72.14412 +            }
72.14413 +        }
72.14414 +
72.14415 +        pw = pw < 0 ? 0 : pw;
72.14416 +
72.14417 +        for(i = 0; i < len; i++){
72.14418 +            c = cs[i];
72.14419 +            if(c.columnWidth){
72.14420 +                c.setSize(Math.floor(c.columnWidth*pw) - c.getEl().getMargins('lr'));
72.14421 +            }
72.14422 +        }
72.14423 +    }
72.14424 +    
72.14425 +    
72.14426 +});
72.14427 +
72.14428 +Ext.Container.LAYOUTS['column'] = Ext.layout.ColumnLayout;
72.14429 +
72.14430 +Ext.layout.BorderLayout = Ext.extend(Ext.layout.ContainerLayout, {
72.14431 +        monitorResize:true,
72.14432 +        rendered : false,
72.14433 +
72.14434 +        onLayout : function(ct, target){
72.14435 +        var collapsed;
72.14436 +        if(!this.rendered){
72.14437 +            target.position();
72.14438 +            target.addClass('x-border-layout-ct');
72.14439 +            var items = ct.items.items;
72.14440 +            collapsed = [];
72.14441 +            for(var i = 0, len = items.length; i < len; i++) {
72.14442 +                var c = items[i];
72.14443 +                var pos = c.region;
72.14444 +                if(c.collapsed){
72.14445 +                    collapsed.push(c);
72.14446 +                }
72.14447 +                c.collapsed = false;
72.14448 +                if(!c.rendered){
72.14449 +                    c.cls = c.cls ? c.cls +' x-border-panel' : 'x-border-panel';
72.14450 +                    c.render(target, i);
72.14451 +                }
72.14452 +                this[pos] = pos != 'center' && c.split ?
72.14453 +                    new Ext.layout.BorderLayout.SplitRegion(this, c.initialConfig, pos) :
72.14454 +                    new Ext.layout.BorderLayout.Region(this, c.initialConfig, pos);
72.14455 +                this[pos].render(target, c);
72.14456 +            }
72.14457 +            this.rendered = true;
72.14458 +        }
72.14459 +
72.14460 +        var size = target.getViewSize();
72.14461 +        if(size.width < 20 || size.height < 20){             if(collapsed){
72.14462 +                this.restoreCollapsed = collapsed;
72.14463 +            }
72.14464 +            return;
72.14465 +        }else if(this.restoreCollapsed){
72.14466 +            collapsed = this.restoreCollapsed;
72.14467 +            delete this.restoreCollapsed;
72.14468 +        }
72.14469 +
72.14470 +        var w = size.width, h = size.height;
72.14471 +        var centerW = w, centerH = h, centerY = 0, centerX = 0;
72.14472 +
72.14473 +        var n = this.north, s = this.south, west = this.west, e = this.east, c = this.center;
72.14474 +        if(!c){
72.14475 +            throw 'No center region defined in BorderLayout ' + ct.id;
72.14476 +        }
72.14477 +
72.14478 +        if(n && n.isVisible()){
72.14479 +            var b = n.getSize();
72.14480 +            var m = n.getMargins();
72.14481 +            b.width = w - (m.left+m.right);
72.14482 +            b.x = m.left;
72.14483 +            b.y = m.top;
72.14484 +            centerY = b.height + b.y + m.bottom;
72.14485 +            centerH -= centerY;
72.14486 +            n.applyLayout(b);
72.14487 +        }
72.14488 +        if(s && s.isVisible()){
72.14489 +            var b = s.getSize();
72.14490 +            var m = s.getMargins();
72.14491 +            b.width = w - (m.left+m.right);
72.14492 +            b.x = m.left;
72.14493 +            var totalHeight = (b.height + m.top + m.bottom);
72.14494 +            b.y = h - totalHeight + m.top;
72.14495 +            centerH -= totalHeight;
72.14496 +            s.applyLayout(b);
72.14497 +        }
72.14498 +        if(west && west.isVisible()){
72.14499 +            var b = west.getSize();
72.14500 +            var m = west.getMargins();
72.14501 +            b.height = centerH - (m.top+m.bottom);
72.14502 +            b.x = m.left;
72.14503 +            b.y = centerY + m.top;
72.14504 +            var totalWidth = (b.width + m.left + m.right);
72.14505 +            centerX += totalWidth;
72.14506 +            centerW -= totalWidth;
72.14507 +            west.applyLayout(b);
72.14508 +        }
72.14509 +        if(e && e.isVisible()){
72.14510 +            var b = e.getSize();
72.14511 +            var m = e.getMargins();
72.14512 +            b.height = centerH - (m.top+m.bottom);
72.14513 +            var totalWidth = (b.width + m.left + m.right);
72.14514 +            b.x = w - totalWidth + m.left;
72.14515 +            b.y = centerY + m.top;
72.14516 +            centerW -= totalWidth;
72.14517 +            e.applyLayout(b);
72.14518 +        }
72.14519 +
72.14520 +        var m = c.getMargins();
72.14521 +        var centerBox = {
72.14522 +            x: centerX + m.left,
72.14523 +            y: centerY + m.top,
72.14524 +            width: centerW - (m.left+m.right),
72.14525 +            height: centerH - (m.top+m.bottom)
72.14526 +        };
72.14527 +        c.applyLayout(centerBox);
72.14528 +
72.14529 +        if(collapsed){
72.14530 +            for(var i = 0, len = collapsed.length; i < len; i++){
72.14531 +                collapsed[i].collapse(false);
72.14532 +            }
72.14533 +        }
72.14534 +
72.14535 +        if(Ext.isIE && Ext.isStrict){             target.repaint();
72.14536 +        }
72.14537 +    }
72.14538 +    
72.14539 +    
72.14540 +});
72.14541 +
72.14542 +
72.14543 +Ext.layout.BorderLayout.Region = function(layout, config, pos){
72.14544 +    Ext.apply(this, config);
72.14545 +    this.layout = layout;
72.14546 +    this.position = pos;
72.14547 +    this.state = {};
72.14548 +    if(typeof this.margins == 'string'){
72.14549 +        this.margins = this.layout.parseMargins(this.margins);
72.14550 +    }
72.14551 +    this.margins = Ext.applyIf(this.margins || {}, this.defaultMargins);
72.14552 +    if(this.collapsible){
72.14553 +        if(typeof this.cmargins == 'string'){
72.14554 +            this.cmargins = this.layout.parseMargins(this.cmargins);
72.14555 +        }
72.14556 +        if(this.collapseMode == 'mini' && !this.cmargins){
72.14557 +            this.cmargins = {left:0,top:0,right:0,bottom:0};
72.14558 +        }else{
72.14559 +            this.cmargins = Ext.applyIf(this.cmargins || {},
72.14560 +                pos == 'north' || pos == 'south' ? this.defaultNSCMargins : this.defaultEWCMargins);
72.14561 +        }
72.14562 +    }
72.14563 +};
72.14564 +
72.14565 +Ext.layout.BorderLayout.Region.prototype = {
72.14566 +    
72.14567 +    
72.14568 +	
72.14569 +    
72.14570 +    
72.14571 +    
72.14572 +    
72.14573 +    collapsible : false,
72.14574 +    
72.14575 +    split:false,
72.14576 +    
72.14577 +    floatable: true,
72.14578 +    
72.14579 +    minWidth:50,
72.14580 +    
72.14581 +    minHeight:50,
72.14582 +
72.14583 +        defaultMargins : {left:0,top:0,right:0,bottom:0},
72.14584 +        defaultNSCMargins : {left:5,top:5,right:5,bottom:5},
72.14585 +        defaultEWCMargins : {left:5,top:0,right:5,bottom:0},
72.14586 +
72.14587 +    
72.14588 +    isCollapsed : false,
72.14589 +
72.14590 +    
72.14591 +    
72.14592 +    
72.14593 +
72.14594 +        render : function(ct, p){
72.14595 +        this.panel = p;
72.14596 +        p.el.enableDisplayMode();
72.14597 +        this.targetEl = ct;
72.14598 +        this.el = p.el;
72.14599 +
72.14600 +        var gs = p.getState, ps = this.position;
72.14601 +        p.getState = function(){
72.14602 +            return Ext.apply(gs.call(p) || {}, this.state);
72.14603 +        }.createDelegate(this);
72.14604 +
72.14605 +        if(ps != 'center'){
72.14606 +            p.allowQueuedExpand = false;
72.14607 +            p.on({
72.14608 +                beforecollapse: this.beforeCollapse,
72.14609 +                collapse: this.onCollapse,
72.14610 +                beforeexpand: this.beforeExpand,
72.14611 +                expand: this.onExpand,
72.14612 +                hide: this.onHide,
72.14613 +                show: this.onShow,
72.14614 +                scope: this
72.14615 +            });
72.14616 +            if(this.collapsible){
72.14617 +                p.collapseEl = 'el';
72.14618 +                p.slideAnchor = this.getSlideAnchor();
72.14619 +            }
72.14620 +            if(p.tools && p.tools.toggle){
72.14621 +                p.tools.toggle.addClass('x-tool-collapse-'+ps);
72.14622 +                p.tools.toggle.addClassOnOver('x-tool-collapse-'+ps+'-over');
72.14623 +            }
72.14624 +        }
72.14625 +    },
72.14626 +
72.14627 +        getCollapsedEl : function(){
72.14628 +        if(!this.collapsedEl){
72.14629 +            if(!this.toolTemplate){
72.14630 +                var tt = new Ext.Template(
72.14631 +                     '<div class="x-tool x-tool-{id}">&#160;</div>'
72.14632 +                );
72.14633 +                tt.disableFormats = true;
72.14634 +                tt.compile();
72.14635 +                Ext.layout.BorderLayout.Region.prototype.toolTemplate = tt;
72.14636 +            }
72.14637 +            this.collapsedEl = this.targetEl.createChild({
72.14638 +                cls: "x-layout-collapsed x-layout-collapsed-"+this.position,
72.14639 +                id: this.panel.id + '-xcollapsed'
72.14640 +            });
72.14641 +            this.collapsedEl.enableDisplayMode('block');
72.14642 +
72.14643 +            if(this.collapseMode == 'mini'){
72.14644 +                this.collapsedEl.addClass('x-layout-cmini-'+this.position);
72.14645 +                this.miniCollapsedEl = this.collapsedEl.createChild({
72.14646 +                    cls: "x-layout-mini x-layout-mini-"+this.position, html: "&#160;"
72.14647 +                });
72.14648 +                this.miniCollapsedEl.addClassOnOver('x-layout-mini-over');
72.14649 +                this.collapsedEl.addClassOnOver("x-layout-collapsed-over");
72.14650 +                this.collapsedEl.on('click', this.onExpandClick, this, {stopEvent:true});
72.14651 +            }else {
72.14652 +                var t = this.toolTemplate.append(
72.14653 +                        this.collapsedEl.dom,
72.14654 +                        {id:'expand-'+this.position}, true);
72.14655 +                t.addClassOnOver('x-tool-expand-'+this.position+'-over');
72.14656 +                t.on('click', this.onExpandClick, this, {stopEvent:true});
72.14657 +                
72.14658 +                if(this.floatable !== false){
72.14659 +                   this.collapsedEl.addClassOnOver("x-layout-collapsed-over");
72.14660 +                   this.collapsedEl.on("click", this.collapseClick, this);
72.14661 +                }
72.14662 +            }
72.14663 +        }
72.14664 +        return this.collapsedEl;
72.14665 +    },
72.14666 +
72.14667 +        onExpandClick : function(e){
72.14668 +        if(this.isSlid){
72.14669 +            this.afterSlideIn();
72.14670 +            this.panel.expand(false);
72.14671 +        }else{
72.14672 +            this.panel.expand();
72.14673 +        }
72.14674 +    },
72.14675 +
72.14676 +        onCollapseClick : function(e){
72.14677 +        this.panel.collapse();
72.14678 +    },
72.14679 +
72.14680 +        beforeCollapse : function(p, animate){
72.14681 +        this.lastAnim = animate;
72.14682 +        if(this.splitEl){
72.14683 +            this.splitEl.hide();
72.14684 +        }
72.14685 +        this.getCollapsedEl().show();
72.14686 +        this.panel.el.setStyle('z-index', 100);
72.14687 +        this.isCollapsed = true;
72.14688 +        this.layout.layout();
72.14689 +    },
72.14690 +
72.14691 +        onCollapse : function(animate){
72.14692 +        this.panel.el.setStyle('z-index', 1);
72.14693 +        if(this.lastAnim === false || this.panel.animCollapse === false){
72.14694 +            this.getCollapsedEl().dom.style.visibility = 'visible';
72.14695 +        }else{
72.14696 +            this.getCollapsedEl().slideIn(this.panel.slideAnchor, {duration:.2});
72.14697 +        }
72.14698 +        this.state.collapsed = true;
72.14699 +        this.panel.saveState();
72.14700 +    },
72.14701 +
72.14702 +        beforeExpand : function(animate){
72.14703 +        var c = this.getCollapsedEl();
72.14704 +        this.el.show();
72.14705 +        if(this.position == 'east' || this.position == 'west'){
72.14706 +            this.panel.setSize(undefined, c.getHeight());
72.14707 +        }else{
72.14708 +            this.panel.setSize(c.getWidth(), undefined);
72.14709 +        }
72.14710 +        c.hide();
72.14711 +        c.dom.style.visibility = 'hidden';
72.14712 +        this.panel.el.setStyle('z-index', 100);
72.14713 +    },
72.14714 +
72.14715 +        onExpand : function(){
72.14716 +        this.isCollapsed = false;
72.14717 +        if(this.splitEl){
72.14718 +            this.splitEl.show();
72.14719 +        }
72.14720 +        this.layout.layout();
72.14721 +        this.panel.el.setStyle('z-index', 1);
72.14722 +        this.state.collapsed = false;
72.14723 +        this.panel.saveState();
72.14724 +    },
72.14725 +
72.14726 +        collapseClick : function(e){
72.14727 +        if(this.isSlid){
72.14728 +           e.stopPropagation();
72.14729 +           this.slideIn();
72.14730 +        }else{
72.14731 +           e.stopPropagation();
72.14732 +           this.slideOut();
72.14733 +        }
72.14734 +    },
72.14735 +
72.14736 +        onHide : function(){
72.14737 +        if(this.isCollapsed){
72.14738 +            this.getCollapsedEl().hide();
72.14739 +        }else if(this.splitEl){
72.14740 +            this.splitEl.hide();
72.14741 +        }
72.14742 +    },
72.14743 +
72.14744 +        onShow : function(){
72.14745 +        if(this.isCollapsed){
72.14746 +            this.getCollapsedEl().show();
72.14747 +        }else if(this.splitEl){
72.14748 +            this.splitEl.show();
72.14749 +        }
72.14750 +    },
72.14751 +
72.14752 +    
72.14753 +    isVisible : function(){
72.14754 +        return !this.panel.hidden;
72.14755 +    },
72.14756 +
72.14757 +    
72.14758 +    getMargins : function(){
72.14759 +        return this.isCollapsed && this.cmargins ? this.cmargins : this.margins;
72.14760 +    },
72.14761 +
72.14762 +    
72.14763 +    getSize : function(){
72.14764 +        return this.isCollapsed ? this.getCollapsedEl().getSize() : this.panel.getSize();
72.14765 +    },
72.14766 +
72.14767 +    
72.14768 +    setPanel : function(panel){
72.14769 +        this.panel = panel;
72.14770 +    },
72.14771 +
72.14772 +    
72.14773 +    getMinWidth: function(){
72.14774 +        return this.minWidth;
72.14775 +    },
72.14776 +
72.14777 +    
72.14778 +    getMinHeight: function(){
72.14779 +        return this.minHeight;
72.14780 +    },
72.14781 +
72.14782 +        applyLayoutCollapsed : function(box){
72.14783 +        var ce = this.getCollapsedEl();
72.14784 +        ce.setLeftTop(box.x, box.y);
72.14785 +        ce.setSize(box.width, box.height);
72.14786 +    },
72.14787 +
72.14788 +        applyLayout : function(box){
72.14789 +        if(this.isCollapsed){
72.14790 +            this.applyLayoutCollapsed(box);
72.14791 +        }else{
72.14792 +            this.panel.setPosition(box.x, box.y);
72.14793 +            this.panel.setSize(box.width, box.height);
72.14794 +        }
72.14795 +    },
72.14796 +
72.14797 +        beforeSlide: function(){
72.14798 +        this.panel.beforeEffect();
72.14799 +    },
72.14800 +
72.14801 +        afterSlide : function(){
72.14802 +        this.panel.afterEffect();
72.14803 +    },
72.14804 +
72.14805 +        initAutoHide : function(){
72.14806 +        if(this.autoHide !== false){
72.14807 +            if(!this.autoHideHd){
72.14808 +                var st = new Ext.util.DelayedTask(this.slideIn, this);
72.14809 +                this.autoHideHd = {
72.14810 +                    "mouseout": function(e){
72.14811 +                        if(!e.within(this.el, true)){
72.14812 +                            st.delay(500);
72.14813 +                        }
72.14814 +                    },
72.14815 +                    "mouseover" : function(e){
72.14816 +                        st.cancel();
72.14817 +                    },
72.14818 +                    scope : this
72.14819 +                };
72.14820 +            }
72.14821 +            this.el.on(this.autoHideHd);
72.14822 +        }
72.14823 +    },
72.14824 +
72.14825 +        clearAutoHide : function(){
72.14826 +        if(this.autoHide !== false){
72.14827 +            this.el.un("mouseout", this.autoHideHd.mouseout);
72.14828 +            this.el.un("mouseover", this.autoHideHd.mouseover);
72.14829 +        }
72.14830 +    },
72.14831 +
72.14832 +        clearMonitor : function(){
72.14833 +        Ext.getDoc().un("click", this.slideInIf, this);
72.14834 +    },
72.14835 +
72.14836 +            slideOut : function(){
72.14837 +        if(this.isSlid || this.el.hasActiveFx()){
72.14838 +            return;
72.14839 +        }
72.14840 +        this.isSlid = true;
72.14841 +        var ts = this.panel.tools;
72.14842 +        if(ts && ts.toggle){
72.14843 +            ts.toggle.hide();
72.14844 +        }
72.14845 +        this.el.show();
72.14846 +        if(this.position == 'east' || this.position == 'west'){
72.14847 +            this.panel.setSize(undefined, this.collapsedEl.getHeight());
72.14848 +        }else{
72.14849 +            this.panel.setSize(this.collapsedEl.getWidth(), undefined);
72.14850 +        }
72.14851 +        this.restoreLT = [this.el.dom.style.left, this.el.dom.style.top];
72.14852 +        this.el.alignTo(this.collapsedEl, this.getCollapseAnchor());
72.14853 +        this.el.setStyle("z-index", 102);
72.14854 +        if(this.animFloat !== false){
72.14855 +            this.beforeSlide();
72.14856 +            this.el.slideIn(this.getSlideAnchor(), {
72.14857 +                callback: function(){
72.14858 +                    this.afterSlide();
72.14859 +                    this.initAutoHide();
72.14860 +                    Ext.getDoc().on("click", this.slideInIf, this);
72.14861 +                },
72.14862 +                scope: this,
72.14863 +                block: true
72.14864 +            });
72.14865 +        }else{
72.14866 +            this.initAutoHide();
72.14867 +             Ext.getDoc().on("click", this.slideInIf, this);
72.14868 +        }
72.14869 +    },
72.14870 +
72.14871 +        afterSlideIn : function(){
72.14872 +        this.clearAutoHide();
72.14873 +        this.isSlid = false;
72.14874 +        this.clearMonitor();
72.14875 +        this.el.setStyle("z-index", "");
72.14876 +        this.el.dom.style.left = this.restoreLT[0];
72.14877 +        this.el.dom.style.top = this.restoreLT[1];
72.14878 +
72.14879 +        var ts = this.panel.tools;
72.14880 +        if(ts && ts.toggle){
72.14881 +            ts.toggle.show();
72.14882 +        }
72.14883 +    },
72.14884 +
72.14885 +        slideIn : function(cb){
72.14886 +        if(!this.isSlid || this.el.hasActiveFx()){
72.14887 +            Ext.callback(cb);
72.14888 +            return;
72.14889 +        }
72.14890 +        this.isSlid = false;
72.14891 +        if(this.animFloat !== false){
72.14892 +            this.beforeSlide();
72.14893 +            this.el.slideOut(this.getSlideAnchor(), {
72.14894 +                callback: function(){
72.14895 +                    this.el.hide();
72.14896 +                    this.afterSlide();
72.14897 +                    this.afterSlideIn();
72.14898 +                    Ext.callback(cb);
72.14899 +                },
72.14900 +                scope: this,
72.14901 +                block: true
72.14902 +            });
72.14903 +        }else{
72.14904 +            this.el.hide();
72.14905 +            this.afterSlideIn();
72.14906 +        }
72.14907 +    },
72.14908 +
72.14909 +        slideInIf : function(e){
72.14910 +        if(!e.within(this.el)){
72.14911 +            this.slideIn();
72.14912 +        }
72.14913 +    },
72.14914 +
72.14915 +        anchors : {
72.14916 +        "west" : "left",
72.14917 +        "east" : "right",
72.14918 +        "north" : "top",
72.14919 +        "south" : "bottom"
72.14920 +    },
72.14921 +
72.14922 +        sanchors : {
72.14923 +        "west" : "l",
72.14924 +        "east" : "r",
72.14925 +        "north" : "t",
72.14926 +        "south" : "b"
72.14927 +    },
72.14928 +
72.14929 +        canchors : {
72.14930 +        "west" : "tl-tr",
72.14931 +        "east" : "tr-tl",
72.14932 +        "north" : "tl-bl",
72.14933 +        "south" : "bl-tl"
72.14934 +    },
72.14935 +
72.14936 +        getAnchor : function(){
72.14937 +        return this.anchors[this.position];
72.14938 +    },
72.14939 +
72.14940 +        getCollapseAnchor : function(){
72.14941 +        return this.canchors[this.position];
72.14942 +    },
72.14943 +
72.14944 +        getSlideAnchor : function(){
72.14945 +        return this.sanchors[this.position];
72.14946 +    },
72.14947 +
72.14948 +        getAlignAdj : function(){
72.14949 +        var cm = this.cmargins;
72.14950 +        switch(this.position){
72.14951 +            case "west":
72.14952 +                return [0, 0];
72.14953 +            break;
72.14954 +            case "east":
72.14955 +                return [0, 0];
72.14956 +            break;
72.14957 +            case "north":
72.14958 +                return [0, 0];
72.14959 +            break;
72.14960 +            case "south":
72.14961 +                return [0, 0];
72.14962 +            break;
72.14963 +        }
72.14964 +    },
72.14965 +
72.14966 +        getExpandAdj : function(){
72.14967 +        var c = this.collapsedEl, cm = this.cmargins;
72.14968 +        switch(this.position){
72.14969 +            case "west":
72.14970 +                return [-(cm.right+c.getWidth()+cm.left), 0];
72.14971 +            break;
72.14972 +            case "east":
72.14973 +                return [cm.right+c.getWidth()+cm.left, 0];
72.14974 +            break;
72.14975 +            case "north":
72.14976 +                return [0, -(cm.top+cm.bottom+c.getHeight())];
72.14977 +            break;
72.14978 +            case "south":
72.14979 +                return [0, cm.top+cm.bottom+c.getHeight()];
72.14980 +            break;
72.14981 +        }
72.14982 +    }
72.14983 +};
72.14984 +
72.14985 +
72.14986 +Ext.layout.BorderLayout.SplitRegion = function(layout, config, pos){
72.14987 +    Ext.layout.BorderLayout.SplitRegion.superclass.constructor.call(this, layout, config, pos);
72.14988 +        this.applyLayout = this.applyFns[pos];
72.14989 +};
72.14990 +
72.14991 +Ext.extend(Ext.layout.BorderLayout.SplitRegion, Ext.layout.BorderLayout.Region, {
72.14992 +    
72.14993 +    splitTip : "Drag to resize.",
72.14994 +    
72.14995 +    collapsibleSplitTip : "Drag to resize. Double click to hide.",
72.14996 +    
72.14997 +    useSplitTips : false,
72.14998 +
72.14999 +        splitSettings : {
72.15000 +        north : {
72.15001 +            orientation: Ext.SplitBar.VERTICAL,
72.15002 +            placement: Ext.SplitBar.TOP,
72.15003 +            maxFn : 'getVMaxSize',
72.15004 +            minProp: 'minHeight',
72.15005 +            maxProp: 'maxHeight'
72.15006 +        },
72.15007 +        south : {
72.15008 +            orientation: Ext.SplitBar.VERTICAL,
72.15009 +            placement: Ext.SplitBar.BOTTOM,
72.15010 +            maxFn : 'getVMaxSize',
72.15011 +            minProp: 'minHeight',
72.15012 +            maxProp: 'maxHeight'
72.15013 +        },
72.15014 +        east : {
72.15015 +            orientation: Ext.SplitBar.HORIZONTAL,
72.15016 +            placement: Ext.SplitBar.RIGHT,
72.15017 +            maxFn : 'getHMaxSize',
72.15018 +            minProp: 'minWidth',
72.15019 +            maxProp: 'maxWidth'
72.15020 +        },
72.15021 +        west : {
72.15022 +            orientation: Ext.SplitBar.HORIZONTAL,
72.15023 +            placement: Ext.SplitBar.LEFT,
72.15024 +            maxFn : 'getHMaxSize',
72.15025 +            minProp: 'minWidth',
72.15026 +            maxProp: 'maxWidth'
72.15027 +        }
72.15028 +    },
72.15029 +
72.15030 +        applyFns : {
72.15031 +        west : function(box){
72.15032 +            if(this.isCollapsed){
72.15033 +                return this.applyLayoutCollapsed(box);
72.15034 +            }
72.15035 +            var sd = this.splitEl.dom, s = sd.style;
72.15036 +            this.panel.setPosition(box.x, box.y);
72.15037 +            var sw = sd.offsetWidth;
72.15038 +            s.left = (box.x+box.width-sw)+'px';
72.15039 +            s.top = (box.y)+'px';
72.15040 +            s.height = Math.max(0, box.height)+'px';
72.15041 +            this.panel.setSize(box.width-sw, box.height);
72.15042 +        },
72.15043 +        east : function(box){
72.15044 +            if(this.isCollapsed){
72.15045 +                return this.applyLayoutCollapsed(box);
72.15046 +            }
72.15047 +            var sd = this.splitEl.dom, s = sd.style;
72.15048 +            var sw = sd.offsetWidth;
72.15049 +            this.panel.setPosition(box.x+sw, box.y);
72.15050 +            s.left = (box.x)+'px';
72.15051 +            s.top = (box.y)+'px';
72.15052 +            s.height = Math.max(0, box.height)+'px';
72.15053 +            this.panel.setSize(box.width-sw, box.height);
72.15054 +        },
72.15055 +        north : function(box){
72.15056 +            if(this.isCollapsed){
72.15057 +                return this.applyLayoutCollapsed(box);
72.15058 +            }
72.15059 +            var sd = this.splitEl.dom, s = sd.style;
72.15060 +            var sh = sd.offsetHeight;
72.15061 +            this.panel.setPosition(box.x, box.y);
72.15062 +            s.left = (box.x)+'px';
72.15063 +            s.top = (box.y+box.height-sh)+'px';
72.15064 +            s.width = Math.max(0, box.width)+'px';
72.15065 +            this.panel.setSize(box.width, box.height-sh);
72.15066 +        },
72.15067 +        south : function(box){
72.15068 +            if(this.isCollapsed){
72.15069 +                return this.applyLayoutCollapsed(box);
72.15070 +            }
72.15071 +            var sd = this.splitEl.dom, s = sd.style;
72.15072 +            var sh = sd.offsetHeight;
72.15073 +            this.panel.setPosition(box.x, box.y+sh);
72.15074 +            s.left = (box.x)+'px';
72.15075 +            s.top = (box.y)+'px';
72.15076 +            s.width = Math.max(0, box.width)+'px';
72.15077 +            this.panel.setSize(box.width, box.height-sh);
72.15078 +        }
72.15079 +    },
72.15080 +
72.15081 +        render : function(ct, p){
72.15082 +        Ext.layout.BorderLayout.SplitRegion.superclass.render.call(this, ct, p);
72.15083 +
72.15084 +        var ps = this.position;
72.15085 +
72.15086 +        this.splitEl = ct.createChild({
72.15087 +            cls: "x-layout-split x-layout-split-"+ps, html: "&#160;",
72.15088 +            id: this.panel.id + '-xsplit'
72.15089 +        });
72.15090 +
72.15091 +        if(this.collapseMode == 'mini'){
72.15092 +            this.miniSplitEl = this.splitEl.createChild({
72.15093 +                cls: "x-layout-mini x-layout-mini-"+ps, html: "&#160;"
72.15094 +            });
72.15095 +            this.miniSplitEl.addClassOnOver('x-layout-mini-over');
72.15096 +            this.miniSplitEl.on('click', this.onCollapseClick, this, {stopEvent:true});
72.15097 +        }
72.15098 +
72.15099 +        var s = this.splitSettings[ps];
72.15100 +
72.15101 +        this.split = new Ext.SplitBar(this.splitEl.dom, p.el, s.orientation);
72.15102 +        this.split.placement = s.placement;
72.15103 +        this.split.getMaximumSize = this[s.maxFn].createDelegate(this);
72.15104 +        this.split.minSize = this.minSize || this[s.minProp];
72.15105 +        this.split.on("beforeapply", this.onSplitMove, this);
72.15106 +        this.split.useShim = this.useShim === true;
72.15107 +        this.maxSize = this.maxSize || this[s.maxProp];
72.15108 +
72.15109 +        if(p.hidden){
72.15110 +            this.splitEl.hide();
72.15111 +        }
72.15112 +
72.15113 +        if(this.useSplitTips){
72.15114 +            this.splitEl.dom.title = this.collapsible ? this.collapsibleSplitTip : this.splitTip;
72.15115 +        }
72.15116 +        if(this.collapsible){
72.15117 +            this.splitEl.on("dblclick", this.onCollapseClick,  this);
72.15118 +        }
72.15119 +    },
72.15120 +
72.15121 +        getSize : function(){
72.15122 +        if(this.isCollapsed){
72.15123 +            return this.collapsedEl.getSize();
72.15124 +        }
72.15125 +        var s = this.panel.getSize();
72.15126 +        if(this.position == 'north' || this.position == 'south'){
72.15127 +            s.height += this.splitEl.dom.offsetHeight;
72.15128 +        }else{
72.15129 +            s.width += this.splitEl.dom.offsetWidth;
72.15130 +        }
72.15131 +        return s;
72.15132 +    },
72.15133 +
72.15134 +        getHMaxSize : function(){
72.15135 +         var cmax = this.maxSize || 10000;
72.15136 +         var center = this.layout.center;
72.15137 +         return Math.min(cmax, (this.el.getWidth()+center.el.getWidth())-center.getMinWidth());
72.15138 +    },
72.15139 +
72.15140 +        getVMaxSize : function(){
72.15141 +        var cmax = this.maxSize || 10000;
72.15142 +        var center = this.layout.center;
72.15143 +        return Math.min(cmax, (this.el.getHeight()+center.el.getHeight())-center.getMinHeight());
72.15144 +    },
72.15145 +
72.15146 +        onSplitMove : function(split, newSize){
72.15147 +        var s = this.panel.getSize();
72.15148 +        this.lastSplitSize = newSize;
72.15149 +        if(this.position == 'north' || this.position == 'south'){
72.15150 +            this.panel.setSize(s.width, newSize);
72.15151 +            this.state.height = newSize;
72.15152 +        }else{
72.15153 +            this.panel.setSize(newSize, s.height);
72.15154 +            this.state.width = newSize;
72.15155 +        }
72.15156 +        this.layout.layout();
72.15157 +        this.panel.saveState();
72.15158 +        return false;
72.15159 +    },
72.15160 +
72.15161 +    
72.15162 +    getSplitBar : function(){
72.15163 +        return this.split;
72.15164 +    }
72.15165 +});
72.15166 +
72.15167 +Ext.Container.LAYOUTS['border'] = Ext.layout.BorderLayout;
72.15168 +
72.15169 +Ext.layout.FormLayout = Ext.extend(Ext.layout.AnchorLayout, {
72.15170 +    
72.15171 +    
72.15172 +    
72.15173 +    labelSeparator : ':',
72.15174 +
72.15175 +        getAnchorViewSize : function(ct, target){
72.15176 +        return ct.body.getStyleSize();
72.15177 +    },
72.15178 +
72.15179 +        setContainer : function(ct){
72.15180 +        Ext.layout.FormLayout.superclass.setContainer.call(this, ct);
72.15181 +
72.15182 +        if(ct.labelAlign){
72.15183 +            ct.addClass('x-form-label-'+ct.labelAlign);
72.15184 +        }
72.15185 +
72.15186 +        if(ct.hideLabels){
72.15187 +            this.labelStyle = "display:none";
72.15188 +            this.elementStyle = "padding-left:0;";
72.15189 +            this.labelAdjust = 0;
72.15190 +        }else{
72.15191 +            this.labelSeparator = ct.labelSeparator || this.labelSeparator;
72.15192 +            ct.labelWidth = ct.labelWidth || 100;
72.15193 +            if(typeof ct.labelWidth == 'number'){
72.15194 +                var pad = (typeof ct.labelPad == 'number' ? ct.labelPad : 5);
72.15195 +                this.labelAdjust = ct.labelWidth+pad;
72.15196 +                this.labelStyle = "width:"+ct.labelWidth+"px;";
72.15197 +                this.elementStyle = "padding-left:"+(ct.labelWidth+pad)+'px';
72.15198 +            }
72.15199 +            if(ct.labelAlign == 'top'){
72.15200 +                this.labelStyle = "width:auto;";
72.15201 +                this.labelAdjust = 0;
72.15202 +                this.elementStyle = "padding-left:0;";
72.15203 +            }
72.15204 +        }
72.15205 +
72.15206 +        if(!this.fieldTpl){
72.15207 +                        var t = new Ext.Template(
72.15208 +                '<div class="x-form-item {5}" tabIndex="-1">',
72.15209 +                    '<label for="{0}" style="{2}" class="x-form-item-label">{1}{4}</label>',
72.15210 +                    '<div class="x-form-element" id="x-form-el-{0}" style="{3}">',
72.15211 +                    '</div><div class="{6}"></div>',
72.15212 +                '</div>'
72.15213 +            );
72.15214 +            t.disableFormats = true;
72.15215 +            t.compile();
72.15216 +            Ext.layout.FormLayout.prototype.fieldTpl = t;
72.15217 +        }
72.15218 +    },
72.15219 +
72.15220 +        renderItem : function(c, position, target){
72.15221 +        if(c && !c.rendered && c.isFormField && c.inputType != 'hidden'){
72.15222 +            var args = [
72.15223 +                   c.id, c.fieldLabel,
72.15224 +                   c.labelStyle||this.labelStyle||'',
72.15225 +                   this.elementStyle||'',
72.15226 +                   typeof c.labelSeparator == 'undefined' ? this.labelSeparator : c.labelSeparator,
72.15227 +                   (c.itemCls||this.container.itemCls||'') + (c.hideLabel ? ' x-hide-label' : ''),
72.15228 +                   c.clearCls || 'x-form-clear-left' 
72.15229 +            ];
72.15230 +            if(typeof position == 'number'){
72.15231 +                position = target.dom.childNodes[position] || null;
72.15232 +            }
72.15233 +            if(position){
72.15234 +                this.fieldTpl.insertBefore(position, args);
72.15235 +            }else{
72.15236 +                this.fieldTpl.append(target, args);
72.15237 +            }
72.15238 +            c.render('x-form-el-'+c.id);
72.15239 +        }else {
72.15240 +            Ext.layout.FormLayout.superclass.renderItem.apply(this, arguments);
72.15241 +        }
72.15242 +    },
72.15243 +
72.15244 +        adjustWidthAnchor : function(value, comp){
72.15245 +        return value - (comp.isFormField  ? (comp.hideLabel ? 0 : this.labelAdjust) : 0);
72.15246 +    },
72.15247 +
72.15248 +        isValidParent : function(c, target){
72.15249 +        return true;
72.15250 +    }
72.15251 +
72.15252 +    
72.15253 +});
72.15254 +
72.15255 +Ext.Container.LAYOUTS['form'] = Ext.layout.FormLayout;
72.15256 +
72.15257 +Ext.layout.Accordion = Ext.extend(Ext.layout.FitLayout, {
72.15258 +    
72.15259 +    fill : true,
72.15260 +    
72.15261 +    autoWidth : true,
72.15262 +    
72.15263 +    titleCollapse : true,
72.15264 +    
72.15265 +    hideCollapseTool : false,
72.15266 +    
72.15267 +    collapseFirst : false,
72.15268 +    
72.15269 +    animate : false,
72.15270 +    
72.15271 +    sequence : false,
72.15272 +    
72.15273 +    activeOnTop : false,
72.15274 +
72.15275 +    renderItem : function(c){
72.15276 +        if(this.animate === false){
72.15277 +            c.animCollapse = false;
72.15278 +        }
72.15279 +        c.collapsible = true;
72.15280 +        if(this.autoWidth){
72.15281 +            c.autoWidth = true;
72.15282 +        }
72.15283 +        if(this.titleCollapse){
72.15284 +            c.titleCollapse = true;
72.15285 +        }
72.15286 +        if(this.hideCollapseTool){
72.15287 +            c.hideCollapseTool = true;
72.15288 +        }
72.15289 +        if(this.collapseFirst !== undefined){
72.15290 +            c.collapseFirst = this.collapseFirst;
72.15291 +        }
72.15292 +        if(!this.activeItem && !c.collapsed){
72.15293 +            this.activeItem = c;
72.15294 +        }else if(this.activeItem){
72.15295 +            c.collapsed = true;
72.15296 +        }
72.15297 +        Ext.layout.Accordion.superclass.renderItem.apply(this, arguments);
72.15298 +        c.header.addClass('x-accordion-hd');
72.15299 +        c.on('beforeexpand', this.beforeExpand, this);
72.15300 +    },
72.15301 +
72.15302 +    
72.15303 +    beforeExpand : function(p, anim){
72.15304 +        var ai = this.activeItem;
72.15305 +        if(ai){
72.15306 +            if(this.sequence){
72.15307 +                delete this.activeItem;
72.15308 +                if (!ai.collapsed){
72.15309 +                    ai.collapse({callback:function(){
72.15310 +                        p.expand(anim || true);
72.15311 +                    }, scope: this});
72.15312 +                    return false;
72.15313 +                }
72.15314 +            }else{
72.15315 +                ai.collapse(this.animate);
72.15316 +            }
72.15317 +        }
72.15318 +        this.activeItem = p;
72.15319 +        if(this.activeOnTop){
72.15320 +            p.el.dom.parentNode.insertBefore(p.el.dom, p.el.dom.parentNode.firstChild);
72.15321 +        }
72.15322 +        this.layout();
72.15323 +    },
72.15324 +
72.15325 +    
72.15326 +    setItemSize : function(item, size){
72.15327 +        if(this.fill && item){
72.15328 +            var items = this.container.items.items;
72.15329 +            var hh = 0;
72.15330 +            for(var i = 0, len = items.length; i < len; i++){
72.15331 +                var p = items[i];
72.15332 +                if(p != item){
72.15333 +                    hh += (p.getSize().height - p.bwrap.getHeight());
72.15334 +                }
72.15335 +            }
72.15336 +            size.height -= hh;
72.15337 +            item.setSize(size);
72.15338 +        }
72.15339 +    }
72.15340 +});
72.15341 +Ext.Container.LAYOUTS['accordion'] = Ext.layout.Accordion;
72.15342 +
72.15343 +Ext.layout.TableLayout = Ext.extend(Ext.layout.ContainerLayout, {
72.15344 +    
72.15345 +
72.15346 +    
72.15347 +    monitorResize:false,
72.15348 +
72.15349 +    
72.15350 +    setContainer : function(ct){
72.15351 +        Ext.layout.TableLayout.superclass.setContainer.call(this, ct);
72.15352 +
72.15353 +        this.currentRow = 0;
72.15354 +        this.currentColumn = 0;
72.15355 +        this.cells = [];
72.15356 +    },
72.15357 +
72.15358 +    
72.15359 +    onLayout : function(ct, target){
72.15360 +        var cs = ct.items.items, len = cs.length, c, i;
72.15361 +
72.15362 +        if(!this.table){
72.15363 +            target.addClass('x-table-layout-ct');
72.15364 +
72.15365 +            this.table = target.createChild(
72.15366 +                {tag:'table', cls:'x-table-layout', cellspacing: 0, cn: {tag: 'tbody'}}, null, true);
72.15367 +
72.15368 +            this.renderAll(ct, target);
72.15369 +        }
72.15370 +    },
72.15371 +
72.15372 +    
72.15373 +    getRow : function(index){
72.15374 +        var row = this.table.tBodies[0].childNodes[index];
72.15375 +        if(!row){
72.15376 +            row = document.createElement('tr');
72.15377 +            this.table.tBodies[0].appendChild(row);
72.15378 +        }
72.15379 +        return row;
72.15380 +    },
72.15381 +
72.15382 +    
72.15383 +	getNextCell : function(c){
72.15384 +		var cell = this.getNextNonSpan(this.currentColumn, this.currentRow);
72.15385 +		var curCol = this.currentColumn = cell[0], curRow = this.currentRow = cell[1];
72.15386 +		for(var rowIndex = curRow; rowIndex < curRow + (c.rowspan || 1); rowIndex++){
72.15387 +			if(!this.cells[rowIndex]){
72.15388 +				this.cells[rowIndex] = [];
72.15389 +			}
72.15390 +			for(var colIndex = curCol; colIndex < curCol + (c.colspan || 1); colIndex++){
72.15391 +				this.cells[rowIndex][colIndex] = true;
72.15392 +			}
72.15393 +		}
72.15394 +		var td = document.createElement('td');
72.15395 +		if(c.cellId){
72.15396 +			td.id = c.cellId;
72.15397 +		}
72.15398 +		var cls = 'x-table-layout-cell';
72.15399 +		if(c.cellCls){
72.15400 +			cls += ' ' + c.cellCls;
72.15401 +		}
72.15402 +		td.className = cls;
72.15403 +		if(c.colspan){
72.15404 +			td.colSpan = c.colspan;
72.15405 +		}
72.15406 +		if(c.rowspan){
72.15407 +			td.rowSpan = c.rowspan;
72.15408 +		}
72.15409 +		this.getRow(curRow).appendChild(td);
72.15410 +		return td;
72.15411 +	},
72.15412 +    
72.15413 +    
72.15414 +	getNextNonSpan: function(colIndex, rowIndex){
72.15415 +		var cols = this.columns;
72.15416 +		while((cols && colIndex >= cols) || (this.cells[rowIndex] && this.cells[rowIndex][colIndex])) {
72.15417 +			if(cols && colIndex >= cols){
72.15418 +				rowIndex++;
72.15419 +				colIndex = 0;
72.15420 +			}else{
72.15421 +				colIndex++;
72.15422 +			}
72.15423 +		}
72.15424 +		return [colIndex, rowIndex];
72.15425 +	},
72.15426 +
72.15427 +    
72.15428 +    renderItem : function(c, position, target){
72.15429 +        if(c && !c.rendered){
72.15430 +            c.render(this.getNextCell(c));
72.15431 +        }
72.15432 +    },
72.15433 +
72.15434 +    
72.15435 +    isValidParent : function(c, target){
72.15436 +        return true;
72.15437 +    }
72.15438 +
72.15439 +    
72.15440 +});
72.15441 +
72.15442 +Ext.Container.LAYOUTS['table'] = Ext.layout.TableLayout;
72.15443 +
72.15444 +Ext.layout.AbsoluteLayout = Ext.extend(Ext.layout.AnchorLayout, {
72.15445 +    extraCls: 'x-abs-layout-item',
72.15446 +    isForm: false,
72.15447 +    
72.15448 +    setContainer : function(ct){
72.15449 +        Ext.layout.AbsoluteLayout.superclass.setContainer.call(this, ct);
72.15450 +        if(ct.isXType('form')){
72.15451 +            this.isForm = true;
72.15452 +        }
72.15453 +    },
72.15454 +
72.15455 +    onLayout : function(ct, target){
72.15456 +        if(this.isForm){ ct.body.position(); } else { target.position(); }
72.15457 +        Ext.layout.AbsoluteLayout.superclass.onLayout.call(this, ct, target);
72.15458 +    },
72.15459 +
72.15460 +    
72.15461 +    getAnchorViewSize : function(ct, target){
72.15462 +        return this.isForm ? ct.body.getStyleSize() : Ext.layout.AbsoluteLayout.superclass.getAnchorViewSize.call(this, ct, target);
72.15463 +    },
72.15464 +
72.15465 +    
72.15466 +    isValidParent : function(c, target){
72.15467 +        return this.isForm ? true : Ext.layout.AbsoluteLayout.superclass.isValidParent.call(this, c, target);
72.15468 +    },
72.15469 +
72.15470 +    
72.15471 +    adjustWidthAnchor : function(value, comp){
72.15472 +        return value ? value - comp.getPosition(true)[0] : value;
72.15473 +    },
72.15474 +
72.15475 +    
72.15476 +    adjustHeightAnchor : function(value, comp){
72.15477 +        return  value ? value - comp.getPosition(true)[1] : value;
72.15478 +    }
72.15479 +    
72.15480 +});
72.15481 +Ext.Container.LAYOUTS['absolute'] = Ext.layout.AbsoluteLayout;
72.15482 +
72.15483 +Ext.Viewport = Ext.extend(Ext.Container, {
72.15484 +	
72.15485 +    
72.15486 +    
72.15487 +    
72.15488 +    
72.15489 +    
72.15490 +    
72.15491 +    
72.15492 +    
72.15493 +    
72.15494 +    
72.15495 +    
72.15496 +    initComponent : function() {
72.15497 +        Ext.Viewport.superclass.initComponent.call(this);
72.15498 +        document.getElementsByTagName('html')[0].className += ' x-viewport';
72.15499 +        this.el = Ext.getBody();
72.15500 +        this.el.setHeight = Ext.emptyFn;
72.15501 +        this.el.setWidth = Ext.emptyFn;
72.15502 +        this.el.setSize = Ext.emptyFn;
72.15503 +        this.el.dom.scroll = 'no';
72.15504 +        this.allowDomMove = false;
72.15505 +        this.autoWidth = true;
72.15506 +        this.autoHeight = true;
72.15507 +        Ext.EventManager.onWindowResize(this.fireResize, this);
72.15508 +        this.renderTo = this.el;
72.15509 +    },
72.15510 +
72.15511 +    fireResize : function(w, h){
72.15512 +        this.fireEvent('resize', this, w, h, w, h);
72.15513 +    }
72.15514 +});
72.15515 +Ext.reg('viewport', Ext.Viewport);
72.15516 +
72.15517 +Ext.Panel = Ext.extend(Ext.Container, {
72.15518 +    
72.15519 +    
72.15520 +    
72.15521 +    
72.15522 +    
72.15523 +    
72.15524 +    
72.15525 +    
72.15526 +    
72.15527 +    
72.15528 +    
72.15529 +    
72.15530 +    
72.15531 +    
72.15532 +    
72.15533 +    
72.15534 +    
72.15535 +    
72.15536 +    
72.15537 +    
72.15538 +    
72.15539 +    
72.15540 +    
72.15541 +    
72.15542 +    
72.15543 +    
72.15544 +    
72.15545 +    
72.15546 +     
72.15547 +    
72.15548 +
72.15549 +
72.15550 +    
72.15551 +    baseCls : 'x-panel',
72.15552 +    
72.15553 +    collapsedCls : 'x-panel-collapsed',
72.15554 +    
72.15555 +    maskDisabled: true,
72.15556 +    
72.15557 +    animCollapse: Ext.enableFx,
72.15558 +    
72.15559 +    headerAsText: true,
72.15560 +    
72.15561 +    buttonAlign: 'right',
72.15562 +    
72.15563 +    collapsed : false,
72.15564 +    
72.15565 +    collapseFirst: true,
72.15566 +    
72.15567 +    minButtonWidth:75,
72.15568 +    
72.15569 +    elements : 'body',
72.15570 +
72.15571 +                toolTarget : 'header',
72.15572 +    collapseEl : 'bwrap',
72.15573 +    slideAnchor : 't',
72.15574 +
72.15575 +        deferHeight: true,
72.15576 +        expandDefaults: {
72.15577 +        duration:.25
72.15578 +    },
72.15579 +        collapseDefaults: {
72.15580 +        duration:.25
72.15581 +    },
72.15582 +
72.15583 +        initComponent : function(){
72.15584 +        Ext.Panel.superclass.initComponent.call(this);
72.15585 +
72.15586 +        this.addEvents(
72.15587 +            
72.15588 +            'bodyresize',
72.15589 +            
72.15590 +            'titlechange',
72.15591 +            
72.15592 +            'collapse',
72.15593 +            
72.15594 +            'expand',
72.15595 +            
72.15596 +            'beforecollapse',
72.15597 +            
72.15598 +            'beforeexpand',
72.15599 +            
72.15600 +            'beforeclose',
72.15601 +            
72.15602 +            'close',
72.15603 +            
72.15604 +            'activate',
72.15605 +            
72.15606 +            'deactivate'
72.15607 +        );
72.15608 +
72.15609 +                if(this.tbar){
72.15610 +            this.elements += ',tbar';
72.15611 +            if(typeof this.tbar == 'object'){
72.15612 +                this.topToolbar = this.tbar;
72.15613 +            }
72.15614 +            delete this.tbar;
72.15615 +        }
72.15616 +        if(this.bbar){
72.15617 +            this.elements += ',bbar';
72.15618 +            if(typeof this.bbar == 'object'){
72.15619 +                this.bottomToolbar = this.bbar;
72.15620 +            }
72.15621 +            delete this.bbar;
72.15622 +        }
72.15623 +
72.15624 +        if(this.header === true){
72.15625 +            this.elements += ',header';
72.15626 +            delete this.header;
72.15627 +        }else if(this.title && this.header !== false){
72.15628 +            this.elements += ',header';
72.15629 +        }
72.15630 +
72.15631 +        if(this.footer === true){
72.15632 +            this.elements += ',footer';
72.15633 +            delete this.footer;
72.15634 +        }
72.15635 +
72.15636 +        if(this.buttons){
72.15637 +            var btns = this.buttons;
72.15638 +            
72.15639 +            this.buttons = [];
72.15640 +            for(var i = 0, len = btns.length; i < len; i++) {
72.15641 +                if(btns[i].render){                     this.buttons.push(btns[i]);
72.15642 +                }else{
72.15643 +                    this.addButton(btns[i]);
72.15644 +                }
72.15645 +            }
72.15646 +        }
72.15647 +        if(this.autoLoad){
72.15648 +            this.on('render', this.doAutoLoad, this, {delay:10});
72.15649 +        }
72.15650 +    },
72.15651 +
72.15652 +        createElement : function(name, pnode){
72.15653 +        if(this[name]){
72.15654 +            pnode.appendChild(this[name].dom);
72.15655 +            return;
72.15656 +        }
72.15657 +
72.15658 +        if(name === 'bwrap' || this.elements.indexOf(name) != -1){
72.15659 +            if(this[name+'Cfg']){
72.15660 +                this[name] = Ext.fly(pnode).createChild(this[name+'Cfg']);
72.15661 +            }else{
72.15662 +                var el = document.createElement('div');
72.15663 +                el.className = this[name+'Cls'];
72.15664 +                this[name] = Ext.get(pnode.appendChild(el));
72.15665 +            }
72.15666 +        }
72.15667 +    },
72.15668 +
72.15669 +        onRender : function(ct, position){
72.15670 +        Ext.Panel.superclass.onRender.call(this, ct, position);
72.15671 +
72.15672 +        this.createClasses();
72.15673 +
72.15674 +        if(this.el){             this.el.addClass(this.baseCls);
72.15675 +            this.header = this.el.down('.'+this.headerCls);
72.15676 +            this.bwrap = this.el.down('.'+this.bwrapCls);
72.15677 +            var cp = this.bwrap ? this.bwrap : this.el;
72.15678 +            this.tbar = cp.down('.'+this.tbarCls);
72.15679 +            this.body = cp.down('.'+this.bodyCls);
72.15680 +            this.bbar = cp.down('.'+this.bbarCls);
72.15681 +            this.footer = cp.down('.'+this.footerCls);
72.15682 +            this.fromMarkup = true;
72.15683 +        }else{
72.15684 +            this.el = ct.createChild({
72.15685 +                id: this.id,
72.15686 +                cls: this.baseCls
72.15687 +            }, position);
72.15688 +        }
72.15689 +        var el = this.el, d = el.dom;
72.15690 +
72.15691 +        if(this.cls){
72.15692 +            this.el.addClass(this.cls);
72.15693 +        }
72.15694 +
72.15695 +        if(this.buttons){
72.15696 +            this.elements += ',footer';
72.15697 +        }
72.15698 +
72.15699 +        
72.15700 +                if(this.frame){
72.15701 +            el.insertHtml('afterBegin', String.format(Ext.Element.boxMarkup, this.baseCls));
72.15702 +
72.15703 +            this.createElement('header', d.firstChild.firstChild.firstChild);
72.15704 +            this.createElement('bwrap', d);
72.15705 +
72.15706 +                        var bw = this.bwrap.dom;
72.15707 +            var ml = d.childNodes[1], bl = d.childNodes[2];
72.15708 +            bw.appendChild(ml);
72.15709 +            bw.appendChild(bl);
72.15710 +
72.15711 +            var mc = bw.firstChild.firstChild.firstChild;
72.15712 +            this.createElement('tbar', mc);
72.15713 +            this.createElement('body', mc);
72.15714 +            this.createElement('bbar', mc);
72.15715 +            this.createElement('footer', bw.lastChild.firstChild.firstChild);
72.15716 +
72.15717 +            if(!this.footer){
72.15718 +                this.bwrap.dom.lastChild.className += ' x-panel-nofooter';
72.15719 +            }
72.15720 +        }else{
72.15721 +            this.createElement('header', d);
72.15722 +            this.createElement('bwrap', d);
72.15723 +
72.15724 +                        var bw = this.bwrap.dom;
72.15725 +            this.createElement('tbar', bw);
72.15726 +            this.createElement('body', bw);
72.15727 +            this.createElement('bbar', bw);
72.15728 +            this.createElement('footer', bw);
72.15729 +
72.15730 +            if(!this.header){
72.15731 +                this.body.addClass(this.bodyCls + '-noheader');
72.15732 +                if(this.tbar){
72.15733 +                    this.tbar.addClass(this.tbarCls + '-noheader');
72.15734 +                }
72.15735 +            }
72.15736 +        }
72.15737 +
72.15738 +        if(this.border === false){
72.15739 +            this.el.addClass(this.baseCls + '-noborder');
72.15740 +            this.body.addClass(this.bodyCls + '-noborder');
72.15741 +            if(this.header){
72.15742 +                this.header.addClass(this.headerCls + '-noborder');
72.15743 +            }
72.15744 +            if(this.footer){
72.15745 +                this.footer.addClass(this.footerCls + '-noborder');
72.15746 +            }
72.15747 +            if(this.tbar){
72.15748 +                this.tbar.addClass(this.tbarCls + '-noborder');
72.15749 +            }
72.15750 +            if(this.bbar){
72.15751 +                this.bbar.addClass(this.bbarCls + '-noborder');
72.15752 +            }
72.15753 +        }
72.15754 +
72.15755 +        if(this.bodyBorder === false){
72.15756 +           this.body.addClass(this.bodyCls + '-noborder');
72.15757 +        }
72.15758 +
72.15759 +        if(this.bodyStyle){
72.15760 +           this.body.applyStyles(this.bodyStyle);
72.15761 +        }
72.15762 +
72.15763 +        this.bwrap.enableDisplayMode('block');
72.15764 +
72.15765 +        if(this.header){
72.15766 +            this.header.unselectable();
72.15767 +
72.15768 +                        if(this.headerAsText){
72.15769 +                this.header.dom.innerHTML =
72.15770 +                    '<span class="' + this.headerTextCls + '">'+this.header.dom.innerHTML+'</span>';
72.15771 +
72.15772 +                if(this.iconCls){
72.15773 +                    this.setIconClass(this.iconCls);
72.15774 +                }
72.15775 +            }
72.15776 +        }
72.15777 +
72.15778 +        if(this.floating){
72.15779 +            this.makeFloating(this.floating);
72.15780 +        }
72.15781 +
72.15782 +        if(this.collapsible){
72.15783 +            this.tools = this.tools ? this.tools.slice(0) : [];
72.15784 +            if(!this.hideCollapseTool){
72.15785 +                this.tools[this.collapseFirst?'unshift':'push']({
72.15786 +                    id: 'toggle',
72.15787 +                    handler : this.toggleCollapse,
72.15788 +                    scope: this
72.15789 +                });
72.15790 +            }
72.15791 +            if(this.titleCollapse && this.header){
72.15792 +                this.header.on('click', this.toggleCollapse, this);
72.15793 +                this.header.setStyle('cursor', 'pointer');
72.15794 +            }
72.15795 +        }
72.15796 +        if(this.tools){
72.15797 +            var ts = this.tools;
72.15798 +            this.tools = {};
72.15799 +            this.addTool.apply(this, ts);
72.15800 +        }else{
72.15801 +            this.tools = {};
72.15802 +        }
72.15803 +
72.15804 +        if(this.buttons && this.buttons.length > 0){
72.15805 +                        var tb = this.footer.createChild({cls:'x-panel-btns-ct', cn: {
72.15806 +                cls:"x-panel-btns x-panel-btns-"+this.buttonAlign,
72.15807 +                html:'<table cellspacing="0"><tbody><tr></tr></tbody></table><div class="x-clear"></div>'
72.15808 +            }}, null, true);
72.15809 +            var tr = tb.getElementsByTagName('tr')[0];
72.15810 +            for(var i = 0, len = this.buttons.length; i < len; i++) {
72.15811 +                var b = this.buttons[i];
72.15812 +                var td = document.createElement('td');
72.15813 +                td.className = 'x-panel-btn-td';
72.15814 +                b.render(tr.appendChild(td));
72.15815 +            }
72.15816 +        }
72.15817 +
72.15818 +        if(this.tbar && this.topToolbar){
72.15819 +            if(Ext.isArray(this.topToolbar)){
72.15820 +                this.topToolbar = new Ext.Toolbar(this.topToolbar);
72.15821 +            }
72.15822 +            this.topToolbar.render(this.tbar);
72.15823 +            this.topToolbar.ownerCt = this;
72.15824 +        }
72.15825 +        if(this.bbar && this.bottomToolbar){
72.15826 +            if(Ext.isArray(this.bottomToolbar)){
72.15827 +                this.bottomToolbar = new Ext.Toolbar(this.bottomToolbar);
72.15828 +            }
72.15829 +            this.bottomToolbar.render(this.bbar);
72.15830 +            this.bottomToolbar.ownerCt = this;
72.15831 +        }
72.15832 +    },
72.15833 +
72.15834 +    
72.15835 +    setIconClass : function(cls){
72.15836 +        var old = this.iconCls;
72.15837 +        this.iconCls = cls;
72.15838 +        if(this.rendered && this.header){
72.15839 +            if(this.frame){
72.15840 +                this.header.addClass('x-panel-icon');
72.15841 +                this.header.replaceClass(old, this.iconCls);
72.15842 +            }else{
72.15843 +                var hd = this.header.dom;
72.15844 +                var img = hd.firstChild && String(hd.firstChild.tagName).toLowerCase() == 'img' ? hd.firstChild : null;
72.15845 +                if(img){
72.15846 +                    Ext.fly(img).replaceClass(old, this.iconCls);
72.15847 +                }else{
72.15848 +                    Ext.DomHelper.insertBefore(hd.firstChild, {
72.15849 +                        tag:'img', src: Ext.BLANK_IMAGE_URL, cls:'x-panel-inline-icon '+this.iconCls
72.15850 +                    });
72.15851 +                 }
72.15852 +            }
72.15853 +        }
72.15854 +    },
72.15855 +
72.15856 +        makeFloating : function(cfg){
72.15857 +        this.floating = true;
72.15858 +        this.el = new Ext.Layer(
72.15859 +            typeof cfg == 'object' ? cfg : {
72.15860 +                shadow: this.shadow !== undefined ? this.shadow : 'sides',
72.15861 +                shadowOffset: this.shadowOffset,
72.15862 +                constrain:false,
72.15863 +                shim: this.shim === false ? false : undefined
72.15864 +            }, this.el
72.15865 +        );
72.15866 +    },
72.15867 +
72.15868 +    
72.15869 +    getTopToolbar : function(){
72.15870 +        return this.topToolbar;
72.15871 +    },
72.15872 +
72.15873 +    
72.15874 +    getBottomToolbar : function(){
72.15875 +        return this.bottomToolbar;
72.15876 +    },
72.15877 +
72.15878 +    
72.15879 +    addButton : function(config, handler, scope){
72.15880 +        var bc = {
72.15881 +            handler: handler,
72.15882 +            scope: scope,
72.15883 +            minWidth: this.minButtonWidth,
72.15884 +            hideParent:true
72.15885 +        };
72.15886 +        if(typeof config == "string"){
72.15887 +            bc.text = config;
72.15888 +        }else{
72.15889 +            Ext.apply(bc, config);
72.15890 +        }
72.15891 +        var btn = new Ext.Button(bc);
72.15892 +        btn.ownerCt = this;
72.15893 +        if(!this.buttons){
72.15894 +            this.buttons = [];
72.15895 +        }
72.15896 +        this.buttons.push(btn);
72.15897 +        return btn;
72.15898 +    },
72.15899 +
72.15900 +        addTool : function(){
72.15901 +        if(!this[this.toolTarget]) {             return;
72.15902 +        }
72.15903 +        if(!this.toolTemplate){
72.15904 +                        var tt = new Ext.Template(
72.15905 +                 '<div class="x-tool x-tool-{id}">&#160;</div>'
72.15906 +            );
72.15907 +            tt.disableFormats = true;
72.15908 +            tt.compile();
72.15909 +            Ext.Panel.prototype.toolTemplate = tt;
72.15910 +        }
72.15911 +        for(var i = 0, a = arguments, len = a.length; i < len; i++) {
72.15912 +            var tc = a[i], overCls = 'x-tool-'+tc.id+'-over';
72.15913 +            var t = this.toolTemplate.insertFirst((tc.align !== 'left') ? this[this.toolTarget] : this[this.toolTarget].child('span'), tc, true);
72.15914 +            this.tools[tc.id] = t;
72.15915 +            t.enableDisplayMode('block');
72.15916 +            t.on('click', this.createToolHandler(t, tc, overCls, this));
72.15917 +            if(tc.on){
72.15918 +                t.on(tc.on);
72.15919 +            }
72.15920 +            if(tc.hidden){
72.15921 +                t.hide();
72.15922 +            }
72.15923 +            if(tc.qtip){
72.15924 +                if(typeof tc.qtip == 'object'){
72.15925 +                    Ext.QuickTips.register(Ext.apply({
72.15926 +                          target: t.id
72.15927 +                    }, tc.qtip));
72.15928 +                } else {
72.15929 +                    t.dom.qtip = tc.qtip;
72.15930 +                }
72.15931 +            }
72.15932 +            t.addClassOnOver(overCls);
72.15933 +        }
72.15934 +    },
72.15935 +
72.15936 +        onShow : function(){
72.15937 +        if(this.floating){
72.15938 +            return this.el.show();
72.15939 +        }
72.15940 +        Ext.Panel.superclass.onShow.call(this);
72.15941 +    },
72.15942 +
72.15943 +        onHide : function(){
72.15944 +        if(this.floating){
72.15945 +            return this.el.hide();
72.15946 +        }
72.15947 +        Ext.Panel.superclass.onHide.call(this);
72.15948 +    },
72.15949 +
72.15950 +        createToolHandler : function(t, tc, overCls, panel){
72.15951 +        return function(e){
72.15952 +            t.removeClass(overCls);
72.15953 +            e.stopEvent();
72.15954 +            if(tc.handler){
72.15955 +                tc.handler.call(tc.scope || t, e, t, panel);
72.15956 +            }
72.15957 +        };
72.15958 +    },
72.15959 +
72.15960 +        afterRender : function(){
72.15961 +        if(this.fromMarkup && this.height === undefined && !this.autoHeight){
72.15962 +            this.height = this.el.getHeight();
72.15963 +        }
72.15964 +        if(this.floating && !this.hidden && !this.initHidden){
72.15965 +            this.el.show();
72.15966 +        }
72.15967 +        if(this.title){
72.15968 +            this.setTitle(this.title);
72.15969 +        }
72.15970 +        this.setAutoScroll();
72.15971 +        if(this.html){
72.15972 +            this.body.update(typeof this.html == 'object' ?
72.15973 +                             Ext.DomHelper.markup(this.html) :
72.15974 +                             this.html);
72.15975 +            delete this.html;
72.15976 +        }
72.15977 +        if(this.contentEl){
72.15978 +            var ce = Ext.getDom(this.contentEl);
72.15979 +            Ext.fly(ce).removeClass(['x-hidden', 'x-hide-display']);
72.15980 +            this.body.dom.appendChild(ce);
72.15981 +        }
72.15982 +        if(this.collapsed){
72.15983 +            this.collapsed = false;
72.15984 +            this.collapse(false);
72.15985 +        }
72.15986 +        Ext.Panel.superclass.afterRender.call(this);         this.initEvents();
72.15987 +    },
72.15988 +    
72.15989 +        setAutoScroll : function(){
72.15990 +        if(this.rendered && this.autoScroll){
72.15991 +            this.body.setOverflow('auto');
72.15992 +        }
72.15993 +    },
72.15994 +
72.15995 +        getKeyMap : function(){
72.15996 +        if(!this.keyMap){
72.15997 +            this.keyMap = new Ext.KeyMap(this.el, this.keys);
72.15998 +        }
72.15999 +        return this.keyMap;
72.16000 +    },
72.16001 +
72.16002 +        initEvents : function(){
72.16003 +        if(this.keys){
72.16004 +            this.getKeyMap();
72.16005 +        }
72.16006 +        if(this.draggable){
72.16007 +            this.initDraggable();
72.16008 +        }
72.16009 +    },
72.16010 +
72.16011 +        initDraggable : function(){
72.16012 +        
72.16013 +        this.dd = new Ext.Panel.DD(this, typeof this.draggable == 'boolean' ? null : this.draggable);
72.16014 +    },
72.16015 +
72.16016 +        beforeEffect : function(){
72.16017 +        if(this.floating){
72.16018 +            this.el.beforeAction();
72.16019 +        }
72.16020 +        this.el.addClass('x-panel-animated');
72.16021 +    },
72.16022 +
72.16023 +        afterEffect : function(){
72.16024 +        this.syncShadow();
72.16025 +        this.el.removeClass('x-panel-animated');
72.16026 +    },
72.16027 +
72.16028 +        createEffect : function(a, cb, scope){
72.16029 +        var o = {
72.16030 +            scope:scope,
72.16031 +            block:true
72.16032 +        };
72.16033 +        if(a === true){
72.16034 +            o.callback = cb;
72.16035 +            return o;
72.16036 +        }else if(!a.callback){
72.16037 +            o.callback = cb;
72.16038 +        }else {             o.callback = function(){
72.16039 +                cb.call(scope);
72.16040 +                Ext.callback(a.callback, a.scope);
72.16041 +            };
72.16042 +        }
72.16043 +        return Ext.applyIf(o, a);
72.16044 +    },
72.16045 +
72.16046 +    
72.16047 +    collapse : function(animate){
72.16048 +        if(this.collapsed || this.el.hasFxBlock() || this.fireEvent('beforecollapse', this, animate) === false){
72.16049 +            return;
72.16050 +        }
72.16051 +        var doAnim = animate === true || (animate !== false && this.animCollapse);
72.16052 +        this.beforeEffect();
72.16053 +        this.onCollapse(doAnim, animate);
72.16054 +        return this;
72.16055 +    },
72.16056 +
72.16057 +        onCollapse : function(doAnim, animArg){
72.16058 +        if(doAnim){
72.16059 +            this[this.collapseEl].slideOut(this.slideAnchor,
72.16060 +                    Ext.apply(this.createEffect(animArg||true, this.afterCollapse, this),
72.16061 +                        this.collapseDefaults));
72.16062 +        }else{
72.16063 +            this[this.collapseEl].hide();
72.16064 +            this.afterCollapse();
72.16065 +        }
72.16066 +    },
72.16067 +
72.16068 +        afterCollapse : function(){
72.16069 +        this.collapsed = true;
72.16070 +        this.el.addClass(this.collapsedCls);
72.16071 +        this.afterEffect();
72.16072 +        this.fireEvent('collapse', this);
72.16073 +    },
72.16074 +
72.16075 +    
72.16076 +    expand : function(animate){
72.16077 +        if(!this.collapsed || this.el.hasFxBlock() || this.fireEvent('beforeexpand', this, animate) === false){
72.16078 +            return;
72.16079 +        }
72.16080 +        var doAnim = animate === true || (animate !== false && this.animCollapse);
72.16081 +        this.el.removeClass(this.collapsedCls);
72.16082 +        this.beforeEffect();
72.16083 +        this.onExpand(doAnim, animate);
72.16084 +        return this;
72.16085 +    },
72.16086 +
72.16087 +        onExpand : function(doAnim, animArg){
72.16088 +        if(doAnim){
72.16089 +            this[this.collapseEl].slideIn(this.slideAnchor,
72.16090 +                    Ext.apply(this.createEffect(animArg||true, this.afterExpand, this),
72.16091 +                        this.expandDefaults));
72.16092 +        }else{
72.16093 +            this[this.collapseEl].show();
72.16094 +            this.afterExpand();
72.16095 +        }
72.16096 +    },
72.16097 +
72.16098 +        afterExpand : function(){
72.16099 +        this.collapsed = false;
72.16100 +        this.afterEffect();
72.16101 +        this.fireEvent('expand', this);
72.16102 +    },
72.16103 +
72.16104 +    
72.16105 +    toggleCollapse : function(animate){
72.16106 +        this[this.collapsed ? 'expand' : 'collapse'](animate);
72.16107 +        return this;
72.16108 +    },
72.16109 +
72.16110 +        onDisable : function(){
72.16111 +        if(this.rendered && this.maskDisabled){
72.16112 +            this.el.mask();
72.16113 +        }
72.16114 +        Ext.Panel.superclass.onDisable.call(this);
72.16115 +    },
72.16116 +
72.16117 +        onEnable : function(){
72.16118 +        if(this.rendered && this.maskDisabled){
72.16119 +            this.el.unmask();
72.16120 +        }
72.16121 +        Ext.Panel.superclass.onEnable.call(this);
72.16122 +    },
72.16123 +
72.16124 +        onResize : function(w, h){
72.16125 +        if(w !== undefined || h !== undefined){
72.16126 +            if(!this.collapsed){
72.16127 +                if(typeof w == 'number'){
72.16128 +                    this.body.setWidth(
72.16129 +                            this.adjustBodyWidth(w - this.getFrameWidth()));
72.16130 +                }else if(w == 'auto'){
72.16131 +                    this.body.setWidth(w);
72.16132 +                }
72.16133 +
72.16134 +                if(typeof h == 'number'){
72.16135 +                    this.body.setHeight(
72.16136 +                            this.adjustBodyHeight(h - this.getFrameHeight()));
72.16137 +                }else if(h == 'auto'){
72.16138 +                    this.body.setHeight(h);
72.16139 +                }
72.16140 +            }else{
72.16141 +                this.queuedBodySize = {width: w, height: h};
72.16142 +                if(!this.queuedExpand && this.allowQueuedExpand !== false){
72.16143 +                    this.queuedExpand = true;
72.16144 +                    this.on('expand', function(){
72.16145 +                        delete this.queuedExpand;
72.16146 +                        this.onResize(this.queuedBodySize.width, this.queuedBodySize.height);
72.16147 +                        this.doLayout();
72.16148 +                    }, this, {single:true});
72.16149 +                }
72.16150 +            }
72.16151 +            this.fireEvent('bodyresize', this, w, h);
72.16152 +        }
72.16153 +        this.syncShadow();
72.16154 +    },
72.16155 +
72.16156 +        adjustBodyHeight : function(h){
72.16157 +        return h;
72.16158 +    },
72.16159 +
72.16160 +        adjustBodyWidth : function(w){
72.16161 +        return w;
72.16162 +    },
72.16163 +
72.16164 +        onPosition : function(){
72.16165 +        this.syncShadow();
72.16166 +    },
72.16167 +
72.16168 +        onDestroy : function(){
72.16169 +        if(this.tools){
72.16170 +            for(var k in this.tools){
72.16171 +                Ext.destroy(this.tools[k]);
72.16172 +            }
72.16173 +        }
72.16174 +        if(this.buttons){
72.16175 +            for(var b in this.buttons){
72.16176 +                Ext.destroy(this.buttons[b]);
72.16177 +            }
72.16178 +        }
72.16179 +        Ext.destroy(
72.16180 +            this.topToolbar,
72.16181 +            this.bottomToolbar
72.16182 +        );
72.16183 +        Ext.Panel.superclass.onDestroy.call(this);
72.16184 +    },
72.16185 +
72.16186 +    
72.16187 +    getFrameWidth : function(){
72.16188 +        var w = this.el.getFrameWidth('lr');
72.16189 +
72.16190 +        if(this.frame){
72.16191 +            var l = this.bwrap.dom.firstChild;
72.16192 +            w += (Ext.fly(l).getFrameWidth('l') + Ext.fly(l.firstChild).getFrameWidth('r'));
72.16193 +            var mc = this.bwrap.dom.firstChild.firstChild.firstChild;
72.16194 +            w += Ext.fly(mc).getFrameWidth('lr');
72.16195 +        }
72.16196 +        return w;
72.16197 +    },
72.16198 +
72.16199 +    
72.16200 +    getFrameHeight : function(){
72.16201 +        var h  = this.el.getFrameWidth('tb');
72.16202 +        h += (this.tbar ? this.tbar.getHeight() : 0) +
72.16203 +             (this.bbar ? this.bbar.getHeight() : 0);
72.16204 +
72.16205 +        if(this.frame){
72.16206 +            var hd = this.el.dom.firstChild;
72.16207 +            var ft = this.bwrap.dom.lastChild;
72.16208 +            h += (hd.offsetHeight + ft.offsetHeight);
72.16209 +            var mc = this.bwrap.dom.firstChild.firstChild.firstChild;
72.16210 +            h += Ext.fly(mc).getFrameWidth('tb');
72.16211 +        }else{
72.16212 +            h += (this.header ? this.header.getHeight() : 0) +
72.16213 +                (this.footer ? this.footer.getHeight() : 0);
72.16214 +        }
72.16215 +        return h;
72.16216 +    },
72.16217 +
72.16218 +    
72.16219 +    getInnerWidth : function(){
72.16220 +        return this.getSize().width - this.getFrameWidth();
72.16221 +    },
72.16222 +
72.16223 +    
72.16224 +    getInnerHeight : function(){
72.16225 +        return this.getSize().height - this.getFrameHeight();
72.16226 +    },
72.16227 +
72.16228 +        syncShadow : function(){
72.16229 +        if(this.floating){
72.16230 +            this.el.sync(true);
72.16231 +        }
72.16232 +    },
72.16233 +
72.16234 +        getLayoutTarget : function(){
72.16235 +        return this.body;
72.16236 +    },
72.16237 +
72.16238 +    
72.16239 +    setTitle : function(title, iconCls){
72.16240 +        this.title = title;
72.16241 +        if(this.header && this.headerAsText){
72.16242 +            this.header.child('span').update(title);
72.16243 +        }
72.16244 +        if(iconCls){
72.16245 +            this.setIconClass(iconCls);
72.16246 +        }
72.16247 +        this.fireEvent('titlechange', this, title);
72.16248 +        return this;
72.16249 +    },
72.16250 +
72.16251 +    
72.16252 +    getUpdater : function(){
72.16253 +        return this.body.getUpdater();
72.16254 +    },
72.16255 +
72.16256 +     
72.16257 +    load : function(){
72.16258 +        var um = this.body.getUpdater();
72.16259 +        um.update.apply(um, arguments);
72.16260 +        return this;
72.16261 +    },
72.16262 +
72.16263 +        beforeDestroy : function(){
72.16264 +        Ext.Element.uncache(
72.16265 +            this.header,
72.16266 +            this.tbar,
72.16267 +            this.bbar,
72.16268 +            this.footer,
72.16269 +            this.body
72.16270 +        );
72.16271 +    },
72.16272 +
72.16273 +        createClasses : function(){
72.16274 +        this.headerCls = this.baseCls + '-header';
72.16275 +        this.headerTextCls = this.baseCls + '-header-text';
72.16276 +        this.bwrapCls = this.baseCls + '-bwrap';
72.16277 +        this.tbarCls = this.baseCls + '-tbar';
72.16278 +        this.bodyCls = this.baseCls + '-body';
72.16279 +        this.bbarCls = this.baseCls + '-bbar';
72.16280 +        this.footerCls = this.baseCls + '-footer';
72.16281 +    },
72.16282 +
72.16283 +        createGhost : function(cls, useShim, appendTo){
72.16284 +        var el = document.createElement('div');
72.16285 +        el.className = 'x-panel-ghost ' + (cls ? cls : '');
72.16286 +        if(this.header){
72.16287 +            el.appendChild(this.el.dom.firstChild.cloneNode(true));
72.16288 +        }
72.16289 +        Ext.fly(el.appendChild(document.createElement('ul'))).setHeight(this.bwrap.getHeight());
72.16290 +        el.style.width = this.el.dom.offsetWidth + 'px';;
72.16291 +        if(!appendTo){
72.16292 +            this.container.dom.appendChild(el);
72.16293 +        }else{
72.16294 +            Ext.getDom(appendTo).appendChild(el);
72.16295 +        }
72.16296 +        if(useShim !== false && this.el.useShim !== false){
72.16297 +            var layer = new Ext.Layer({shadow:false, useDisplay:true, constrain:false}, el);
72.16298 +            layer.show();
72.16299 +            return layer;
72.16300 +        }else{
72.16301 +            return new Ext.Element(el);
72.16302 +        }
72.16303 +    },
72.16304 +
72.16305 +        doAutoLoad : function(){
72.16306 +        this.body.load(
72.16307 +            typeof this.autoLoad == 'object' ?
72.16308 +                this.autoLoad : {url: this.autoLoad});
72.16309 +    }
72.16310 +
72.16311 +
72.16312 +});
72.16313 +Ext.reg('panel', Ext.Panel);
72.16314 +
72.16315 +
72.16316 +Ext.Window = Ext.extend(Ext.Panel, {
72.16317 +    
72.16318 +    
72.16319 +    
72.16320 +    
72.16321 +    
72.16322 +    
72.16323 +    
72.16324 +    
72.16325 +    
72.16326 +    baseCls : 'x-window',
72.16327 +    
72.16328 +    resizable:true,
72.16329 +    
72.16330 +    draggable:true,
72.16331 +    
72.16332 +    closable : true,
72.16333 +    
72.16334 +    constrain:false,
72.16335 +    
72.16336 +    constrainHeader:false,
72.16337 +    
72.16338 +    plain:false,
72.16339 +    
72.16340 +    minimizable : false,
72.16341 +    
72.16342 +    maximizable : false,
72.16343 +    
72.16344 +    minHeight: 100,
72.16345 +    
72.16346 +    minWidth: 200,
72.16347 +    
72.16348 +    expandOnShow: true,
72.16349 +    
72.16350 +    closeAction: 'close',
72.16351 +    
72.16352 +    elements: 'header,body',
72.16353 +
72.16354 +        collapsible:false,
72.16355 +
72.16356 +        initHidden : true,
72.16357 +    
72.16358 +    monitorResize : true,
72.16359 +    
72.16360 +    frame:true,
72.16361 +    
72.16362 +    floating:true,
72.16363 +
72.16364 +        initComponent : function(){
72.16365 +        Ext.Window.superclass.initComponent.call(this);
72.16366 +        this.addEvents(
72.16367 +            
72.16368 +            
72.16369 +            
72.16370 +            'resize',
72.16371 +            
72.16372 +            'maximize',
72.16373 +            
72.16374 +            'minimize',
72.16375 +            
72.16376 +            'restore'
72.16377 +        );
72.16378 +    },
72.16379 +
72.16380 +        getState : function(){
72.16381 +        return Ext.apply(Ext.Window.superclass.getState.call(this) || {}, this.getBox());
72.16382 +    },
72.16383 +
72.16384 +        onRender : function(ct, position){
72.16385 +        Ext.Window.superclass.onRender.call(this, ct, position);
72.16386 +
72.16387 +        if(this.plain){
72.16388 +            this.el.addClass('x-window-plain');
72.16389 +        }
72.16390 +
72.16391 +                this.focusEl = this.el.createChild({
72.16392 +                    tag: "a", href:"#", cls:"x-dlg-focus",
72.16393 +                    tabIndex:"-1", html: "&#160;"});
72.16394 +        this.focusEl.swallowEvent('click', true);
72.16395 +
72.16396 +        this.proxy = this.el.createProxy("x-window-proxy");
72.16397 +        this.proxy.enableDisplayMode('block');
72.16398 +
72.16399 +        if(this.modal){
72.16400 +            this.mask = this.container.createChild({cls:"ext-el-mask"}, this.el.dom);
72.16401 +            this.mask.enableDisplayMode("block");
72.16402 +            this.mask.hide();
72.16403 +        }
72.16404 +    },
72.16405 +
72.16406 +        initEvents : function(){
72.16407 +        Ext.Window.superclass.initEvents.call(this);
72.16408 +        if(this.animateTarget){
72.16409 +            this.setAnimateTarget(this.animateTarget);
72.16410 +        }
72.16411 +
72.16412 +        if(this.resizable){
72.16413 +            this.resizer = new Ext.Resizable(this.el, {
72.16414 +                minWidth: this.minWidth,
72.16415 +                minHeight:this.minHeight,
72.16416 +                handles: this.resizeHandles || "all",
72.16417 +                pinned: true,
72.16418 +                resizeElement : this.resizerAction
72.16419 +            });
72.16420 +            this.resizer.window = this;
72.16421 +            this.resizer.on("beforeresize", this.beforeResize, this);
72.16422 +        }
72.16423 +
72.16424 +        if(this.draggable){
72.16425 +            this.header.addClass("x-window-draggable");
72.16426 +        }
72.16427 +        this.initTools();
72.16428 +
72.16429 +        this.el.on("mousedown", this.toFront, this);
72.16430 +        this.manager = this.manager || Ext.WindowMgr;
72.16431 +        this.manager.register(this);
72.16432 +        this.hidden = true;
72.16433 +        if(this.maximized){
72.16434 +            this.maximized = false;
72.16435 +            this.maximize();
72.16436 +        }
72.16437 +        if(this.closable){
72.16438 +            var km = this.getKeyMap();
72.16439 +            km.on(27, this.onEsc, this);
72.16440 +            km.disable();
72.16441 +        }
72.16442 +    },
72.16443 +
72.16444 +    initDraggable : function(){
72.16445 +        
72.16446 +        this.dd = new Ext.Window.DD(this);  
72.16447 +    },
72.16448 +
72.16449 +       onEsc : function(){
72.16450 +        this[this.closeAction]();  
72.16451 +    },
72.16452 +
72.16453 +        beforeDestroy : function(){
72.16454 +        Ext.destroy(
72.16455 +            this.resizer,
72.16456 +            this.dd,
72.16457 +            this.proxy,
72.16458 +            this.mask
72.16459 +        );
72.16460 +        Ext.Window.superclass.beforeDestroy.call(this);
72.16461 +    },
72.16462 +    
72.16463 +        onDestroy : function(){
72.16464 +        if(this.manager){
72.16465 +            this.manager.unregister(this);
72.16466 +        }
72.16467 +        Ext.Window.superclass.onDestroy.call(this);
72.16468 +    },
72.16469 +
72.16470 +        initTools : function(){
72.16471 +        if(this.minimizable){
72.16472 +            this.addTool({
72.16473 +                id: 'minimize',
72.16474 +                handler: this.minimize.createDelegate(this, [])
72.16475 +            });
72.16476 +        }
72.16477 +        if(this.maximizable){
72.16478 +            this.addTool({
72.16479 +                id: 'maximize',
72.16480 +                handler: this.maximize.createDelegate(this, [])
72.16481 +            });
72.16482 +            this.addTool({
72.16483 +                id: 'restore',
72.16484 +                handler: this.restore.createDelegate(this, []),
72.16485 +                hidden:true
72.16486 +            });
72.16487 +            this.header.on('dblclick', this.toggleMaximize, this);
72.16488 +        }
72.16489 +        if(this.closable){
72.16490 +            this.addTool({
72.16491 +                id: 'close',
72.16492 +                handler: this[this.closeAction].createDelegate(this, [])
72.16493 +            });
72.16494 +        }
72.16495 +    },
72.16496 +
72.16497 +        resizerAction : function(){
72.16498 +        var box = this.proxy.getBox();
72.16499 +        this.proxy.hide();
72.16500 +        this.window.handleResize(box);
72.16501 +        return box;
72.16502 +    },
72.16503 +
72.16504 +        beforeResize : function(){
72.16505 +        this.resizer.minHeight = Math.max(this.minHeight, this.getFrameHeight() + 40);         this.resizer.minWidth = Math.max(this.minWidth, this.getFrameWidth() + 40);
72.16506 +        this.resizeBox = this.el.getBox();
72.16507 +    },
72.16508 +
72.16509 +        updateHandles : function(){
72.16510 +        if(Ext.isIE && this.resizer){
72.16511 +            this.resizer.syncHandleHeight();
72.16512 +            this.el.repaint();
72.16513 +        }
72.16514 +    },
72.16515 +
72.16516 +        handleResize : function(box){
72.16517 +        var rz = this.resizeBox;
72.16518 +        if(rz.x != box.x || rz.y != box.y){
72.16519 +            this.updateBox(box);
72.16520 +        }else{
72.16521 +            this.setSize(box);
72.16522 +        }
72.16523 +        this.focus();
72.16524 +        this.updateHandles();
72.16525 +        this.saveState();
72.16526 +        this.fireEvent("resize", this, box.width, box.height);
72.16527 +    },
72.16528 +
72.16529 +    
72.16530 +    focus : function(){
72.16531 +        var f = this.focusEl, db = this.defaultButton, t = typeof db;
72.16532 +        if(t != 'undefined'){
72.16533 +            if(t == 'number'){
72.16534 +                f = this.buttons[db];
72.16535 +            }else if(t == 'string'){
72.16536 +                f = Ext.getCmp(db);
72.16537 +            }else{
72.16538 +                f = db;
72.16539 +            }
72.16540 +        }
72.16541 +        f.focus.defer(10, f);
72.16542 +    },
72.16543 +
72.16544 +    
72.16545 +    setAnimateTarget : function(el){
72.16546 +        el = Ext.get(el);
72.16547 +        this.animateTarget = el;
72.16548 +    },
72.16549 +
72.16550 +        beforeShow : function(){
72.16551 +        delete this.el.lastXY;
72.16552 +        delete this.el.lastLT;
72.16553 +        if(this.x === undefined || this.y === undefined){
72.16554 +            var xy = this.el.getAlignToXY(this.container, 'c-c');
72.16555 +            var pos = this.el.translatePoints(xy[0], xy[1]);
72.16556 +            this.x = this.x === undefined? pos.left : this.x;
72.16557 +            this.y = this.y === undefined? pos.top : this.y;
72.16558 +        }
72.16559 +        this.el.setLeftTop(this.x, this.y);
72.16560 +
72.16561 +        if(this.expandOnShow){
72.16562 +            this.expand(false);
72.16563 +        }
72.16564 +
72.16565 +        if(this.modal){
72.16566 +            Ext.getBody().addClass("x-body-masked");
72.16567 +            this.mask.setSize(Ext.lib.Dom.getViewWidth(true), Ext.lib.Dom.getViewHeight(true));
72.16568 +            this.mask.show();
72.16569 +        }
72.16570 +    },
72.16571 +
72.16572 +    
72.16573 +    show : function(animateTarget, cb, scope){
72.16574 +        if(!this.rendered){
72.16575 +            this.render(Ext.getBody());
72.16576 +        }
72.16577 +        if(this.hidden === false){
72.16578 +            this.toFront();
72.16579 +            return;
72.16580 +        }
72.16581 +        if(this.fireEvent("beforeshow", this) === false){
72.16582 +            return;
72.16583 +        }
72.16584 +        if(cb){
72.16585 +            this.on('show', cb, scope, {single:true});
72.16586 +        }
72.16587 +        this.hidden = false;
72.16588 +        if(animateTarget !== undefined){
72.16589 +            this.setAnimateTarget(animateTarget);
72.16590 +        }
72.16591 +        this.beforeShow();
72.16592 +        if(this.animateTarget){
72.16593 +            this.animShow();
72.16594 +        }else{
72.16595 +            this.afterShow();
72.16596 +        }
72.16597 +    },
72.16598 +
72.16599 +        afterShow : function(){
72.16600 +        this.proxy.hide();
72.16601 +        this.el.setStyle('display', 'block');
72.16602 +        this.el.show();
72.16603 +        if(this.maximized){
72.16604 +            this.fitContainer();
72.16605 +        }
72.16606 +        if(Ext.isMac && Ext.isGecko){         	this.cascade(this.setAutoScroll);
72.16607 +        }
72.16608 +
72.16609 +        if(this.monitorResize || this.modal || this.constrain || this.constrainHeader){
72.16610 +            Ext.EventManager.onWindowResize(this.onWindowResize, this);
72.16611 +        }
72.16612 +        this.doConstrain();
72.16613 +        if(this.layout){
72.16614 +            this.doLayout();
72.16615 +        }
72.16616 +        if(this.keyMap){
72.16617 +            this.keyMap.enable();
72.16618 +        }
72.16619 +        this.toFront();
72.16620 +        this.updateHandles();
72.16621 +        this.fireEvent("show", this);
72.16622 +    },
72.16623 +
72.16624 +        animShow : function(){
72.16625 +        this.proxy.show();
72.16626 +        this.proxy.setBox(this.animateTarget.getBox());
72.16627 +        this.proxy.setOpacity(0);
72.16628 +        var b = this.getBox(false);
72.16629 +        b.callback = this.afterShow;
72.16630 +        b.scope = this;
72.16631 +        b.duration = .25;
72.16632 +        b.easing = 'easeNone';
72.16633 +        b.opacity = .5;
72.16634 +        b.block = true;
72.16635 +        this.el.setStyle('display', 'none');
72.16636 +        this.proxy.shift(b);
72.16637 +    },
72.16638 +
72.16639 +    
72.16640 +    hide : function(animateTarget, cb, scope){
72.16641 +        if(this.hidden || this.fireEvent("beforehide", this) === false){
72.16642 +            return;
72.16643 +        }
72.16644 +        if(cb){
72.16645 +            this.on('hide', cb, scope, {single:true});
72.16646 +        }
72.16647 +        this.hidden = true;
72.16648 +        if(animateTarget !== undefined){
72.16649 +            this.setAnimateTarget(animateTarget);
72.16650 +        }
72.16651 +        if(this.animateTarget){
72.16652 +            this.animHide();
72.16653 +        }else{
72.16654 +            this.el.hide();
72.16655 +            this.afterHide();
72.16656 +        }
72.16657 +    },
72.16658 +
72.16659 +        afterHide : function(){
72.16660 +        this.proxy.hide();
72.16661 +        if(this.monitorResize || this.modal || this.constrain || this.constrainHeader){
72.16662 +            Ext.EventManager.removeResizeListener(this.onWindowResize, this);
72.16663 +        }
72.16664 +        if(this.modal){
72.16665 +            this.mask.hide();
72.16666 +            Ext.getBody().removeClass("x-body-masked");
72.16667 +        }
72.16668 +        if(this.keyMap){
72.16669 +            this.keyMap.disable();
72.16670 +        }
72.16671 +        this.fireEvent("hide", this);
72.16672 +    },
72.16673 +
72.16674 +        animHide : function(){
72.16675 +        this.proxy.setOpacity(.5);
72.16676 +        this.proxy.show();
72.16677 +        var tb = this.getBox(false);
72.16678 +        this.proxy.setBox(tb);
72.16679 +        this.el.hide();
72.16680 +        var b = this.animateTarget.getBox();
72.16681 +        b.callback = this.afterHide;
72.16682 +        b.scope = this;
72.16683 +        b.duration = .25;
72.16684 +        b.easing = 'easeNone';
72.16685 +        b.block = true;
72.16686 +        b.opacity = 0;
72.16687 +        this.proxy.shift(b);
72.16688 +    },
72.16689 +
72.16690 +        onWindowResize : function(){
72.16691 +        if(this.maximized){
72.16692 +            this.fitContainer();
72.16693 +        }
72.16694 +        if(this.modal){
72.16695 +            this.mask.setSize('100%', '100%');
72.16696 +            var force = this.mask.dom.offsetHeight;
72.16697 +            this.mask.setSize(Ext.lib.Dom.getViewWidth(true), Ext.lib.Dom.getViewHeight(true));
72.16698 +        }
72.16699 +        this.doConstrain();
72.16700 +    },
72.16701 +
72.16702 +        doConstrain : function(){
72.16703 +        if(this.constrain || this.constrainHeader){
72.16704 +            var offsets;
72.16705 +            if(this.constrain){
72.16706 +                offsets = {
72.16707 +                    right:this.el.shadowOffset,
72.16708 +                    left:this.el.shadowOffset,
72.16709 +                    bottom:this.el.shadowOffset
72.16710 +                };
72.16711 +            }else {
72.16712 +                var s = this.getSize();
72.16713 +                offsets = {
72.16714 +                    right:-(s.width - 100),
72.16715 +                    bottom:-(s.height - 25)
72.16716 +                };
72.16717 +            }
72.16718 +
72.16719 +            var xy = this.el.getConstrainToXY(this.container, true, offsets);
72.16720 +            if(xy){
72.16721 +                this.setPosition(xy[0], xy[1]);
72.16722 +            }
72.16723 +        }
72.16724 +    },
72.16725 +
72.16726 +        ghost : function(cls){
72.16727 +        var ghost = this.createGhost(cls);
72.16728 +        var box = this.getBox(true);
72.16729 +        ghost.setLeftTop(box.x, box.y);
72.16730 +        ghost.setWidth(box.width);
72.16731 +        this.el.hide();
72.16732 +        this.activeGhost = ghost;
72.16733 +        return ghost;
72.16734 +    },
72.16735 +
72.16736 +        unghost : function(show, matchPosition){
72.16737 +        if(show !== false){
72.16738 +            this.el.show();
72.16739 +            this.focus();
72.16740 +	        if(Ext.isMac && Ext.isGecko){ 	        	this.cascade(this.setAutoScroll);
72.16741 +	        }
72.16742 +        }
72.16743 +        if(matchPosition !== false){
72.16744 +            this.setPosition(this.activeGhost.getLeft(true), this.activeGhost.getTop(true));
72.16745 +        }
72.16746 +        this.activeGhost.hide();
72.16747 +        this.activeGhost.remove();
72.16748 +        delete this.activeGhost;
72.16749 +    },
72.16750 +
72.16751 +    
72.16752 +    minimize : function(){
72.16753 +        this.fireEvent('minimize', this);
72.16754 +    },
72.16755 +
72.16756 +    
72.16757 +    close : function(){
72.16758 +        if(this.fireEvent("beforeclose", this) !== false){
72.16759 +            this.hide(null, function(){
72.16760 +                this.fireEvent('close', this);
72.16761 +                this.destroy();
72.16762 +            }, this);
72.16763 +        }
72.16764 +    },
72.16765 +
72.16766 +    
72.16767 +    maximize : function(){
72.16768 +        if(!this.maximized){
72.16769 +            this.expand(false);
72.16770 +            this.restoreSize = this.getSize();
72.16771 +            this.restorePos = this.getPosition(true);
72.16772 +            if (this.maximizable){
72.16773 +                this.tools.maximize.hide();
72.16774 +                this.tools.restore.show();
72.16775 +            }
72.16776 +            this.maximized = true;
72.16777 +            this.el.disableShadow();
72.16778 +
72.16779 +            if(this.dd){
72.16780 +                this.dd.lock();
72.16781 +            }
72.16782 +            if(this.collapsible){
72.16783 +                this.tools.toggle.hide();
72.16784 +            }
72.16785 +            this.el.addClass('x-window-maximized');
72.16786 +            this.container.addClass('x-window-maximized-ct');
72.16787 +
72.16788 +            this.setPosition(0, 0);
72.16789 +            this.fitContainer();
72.16790 +            this.fireEvent('maximize', this);
72.16791 +        }
72.16792 +    },
72.16793 +
72.16794 +    
72.16795 +    restore : function(){
72.16796 +        if(this.maximized){
72.16797 +            this.el.removeClass('x-window-maximized');
72.16798 +            this.tools.restore.hide();
72.16799 +            this.tools.maximize.show();
72.16800 +            this.setPosition(this.restorePos[0], this.restorePos[1]);
72.16801 +            this.setSize(this.restoreSize.width, this.restoreSize.height);
72.16802 +            delete this.restorePos;
72.16803 +            delete this.restoreSize;
72.16804 +            this.maximized = false;
72.16805 +            this.el.enableShadow(true);
72.16806 +
72.16807 +            if(this.dd){
72.16808 +                this.dd.unlock();
72.16809 +            }
72.16810 +            if(this.collapsible){
72.16811 +                this.tools.toggle.show();
72.16812 +            }
72.16813 +            this.container.removeClass('x-window-maximized-ct');
72.16814 +
72.16815 +            this.doConstrain();
72.16816 +            this.fireEvent('restore', this);
72.16817 +        }
72.16818 +    },
72.16819 +
72.16820 +    
72.16821 +    toggleMaximize : function(){
72.16822 +        this[this.maximized ? 'restore' : 'maximize']();
72.16823 +    },
72.16824 +
72.16825 +        fitContainer : function(){
72.16826 +        var vs = this.container.getViewSize();
72.16827 +        this.setSize(vs.width, vs.height);
72.16828 +    },
72.16829 +
72.16830 +            setZIndex : function(index){
72.16831 +        if(this.modal){
72.16832 +            this.mask.setStyle("z-index", index);
72.16833 +        }
72.16834 +        this.el.setZIndex(++index);
72.16835 +        index += 5;
72.16836 +
72.16837 +        if(this.resizer){
72.16838 +            this.resizer.proxy.setStyle("z-index", ++index);
72.16839 +        }
72.16840 +
72.16841 +        this.lastZIndex = index;
72.16842 +    },
72.16843 +
72.16844 +    
72.16845 +    alignTo : function(element, position, offsets){
72.16846 +        var xy = this.el.getAlignToXY(element, position, offsets);
72.16847 +        this.setPagePosition(xy[0], xy[1]);
72.16848 +        return this;
72.16849 +    },
72.16850 +
72.16851 +    
72.16852 +    anchorTo : function(el, alignment, offsets, monitorScroll, _pname){
72.16853 +        var action = function(){
72.16854 +            this.alignTo(el, alignment, offsets);
72.16855 +        };
72.16856 +        Ext.EventManager.onWindowResize(action, this);
72.16857 +        var tm = typeof monitorScroll;
72.16858 +        if(tm != 'undefined'){
72.16859 +            Ext.EventManager.on(window, 'scroll', action, this,
72.16860 +                {buffer: tm == 'number' ? monitorScroll : 50});
72.16861 +        }
72.16862 +        action.call(this);
72.16863 +        this[_pname] = action;
72.16864 +        return this;
72.16865 +    },
72.16866 +
72.16867 +    
72.16868 +    toFront : function(){
72.16869 +        if(this.manager.bringToFront(this)){
72.16870 +            this.focus();
72.16871 +        }
72.16872 +        return this;
72.16873 +    },
72.16874 +
72.16875 +    
72.16876 +    setActive : function(active){
72.16877 +        if(active){
72.16878 +            if(!this.maximized){
72.16879 +                this.el.enableShadow(true);
72.16880 +            }
72.16881 +            this.fireEvent('activate', this);
72.16882 +        }else{
72.16883 +            this.el.disableShadow();
72.16884 +            this.fireEvent('deactivate', this);
72.16885 +        }
72.16886 +    },
72.16887 +
72.16888 +    
72.16889 +    toBack : function(){
72.16890 +        this.manager.sendToBack(this);
72.16891 +        return this;
72.16892 +    },
72.16893 +
72.16894 +    
72.16895 +    center : function(){
72.16896 +        var xy = this.el.getAlignToXY(this.container, 'c-c');
72.16897 +        this.setPagePosition(xy[0], xy[1]);
72.16898 +        return this;
72.16899 +    }
72.16900 +});
72.16901 +Ext.reg('window', Ext.Window);
72.16902 +
72.16903 +Ext.Window.DD = function(win){
72.16904 +    this.win = win;
72.16905 +    Ext.Window.DD.superclass.constructor.call(this, win.el.id, 'WindowDD-'+win.id);
72.16906 +    this.setHandleElId(win.header.id);
72.16907 +    this.scroll = false;
72.16908 +};
72.16909 +
72.16910 +Ext.extend(Ext.Window.DD, Ext.dd.DD, {
72.16911 +    moveOnly:true,
72.16912 +    headerOffsets:[100, 25],
72.16913 +    startDrag : function(){
72.16914 +        var w = this.win;
72.16915 +        this.proxy = w.ghost();
72.16916 +        if(w.constrain !== false){
72.16917 +            var so = w.el.shadowOffset;
72.16918 +            this.constrainTo(w.container, {right: so, left: so, bottom: so});
72.16919 +        }else if(w.constrainHeader !== false){
72.16920 +            var s = this.proxy.getSize();
72.16921 +            this.constrainTo(w.container, {right: -(s.width-this.headerOffsets[0]), bottom: -(s.height-this.headerOffsets[1])});
72.16922 +        }
72.16923 +    },
72.16924 +    b4Drag : Ext.emptyFn,
72.16925 +
72.16926 +    onDrag : function(e){
72.16927 +        this.alignElWithMouse(this.proxy, e.getPageX(), e.getPageY());
72.16928 +    },
72.16929 +
72.16930 +    endDrag : function(e){
72.16931 +        this.win.unghost();
72.16932 +        this.win.saveState();
72.16933 +    }
72.16934 +});
72.16935 +
72.16936 +
72.16937 +Ext.WindowGroup = function(){
72.16938 +    var list = {};
72.16939 +    var accessList = [];
72.16940 +    var front = null;
72.16941 +
72.16942 +        var sortWindows = function(d1, d2){
72.16943 +        return (!d1._lastAccess || d1._lastAccess < d2._lastAccess) ? -1 : 1;
72.16944 +    };
72.16945 +
72.16946 +        var orderWindows = function(){
72.16947 +        var a = accessList, len = a.length;
72.16948 +        if(len > 0){
72.16949 +            a.sort(sortWindows);
72.16950 +            var seed = a[0].manager.zseed;
72.16951 +            for(var i = 0; i < len; i++){
72.16952 +                var win = a[i];
72.16953 +                if(win && !win.hidden){
72.16954 +                    win.setZIndex(seed + (i*10));
72.16955 +                }
72.16956 +            }
72.16957 +        }
72.16958 +        activateLast();
72.16959 +    };
72.16960 +
72.16961 +        var setActiveWin = function(win){
72.16962 +        if(win != front){
72.16963 +            if(front){
72.16964 +                front.setActive(false);
72.16965 +            }
72.16966 +            front = win;
72.16967 +            if(win){
72.16968 +                win.setActive(true);
72.16969 +            }
72.16970 +        }
72.16971 +    };
72.16972 +
72.16973 +        var activateLast = function(){
72.16974 +        for(var i = accessList.length-1; i >=0; --i) {
72.16975 +            if(!accessList[i].hidden){
72.16976 +                setActiveWin(accessList[i]);
72.16977 +                return;
72.16978 +            }
72.16979 +        }
72.16980 +                setActiveWin(null);
72.16981 +    };
72.16982 +
72.16983 +    return {
72.16984 +        
72.16985 +        zseed : 9000,
72.16986 +
72.16987 +                register : function(win){
72.16988 +            list[win.id] = win;
72.16989 +            accessList.push(win);
72.16990 +            win.on('hide', activateLast);
72.16991 +        },
72.16992 +
72.16993 +                unregister : function(win){
72.16994 +            delete list[win.id];
72.16995 +            win.un('hide', activateLast);
72.16996 +            accessList.remove(win);
72.16997 +        },
72.16998 +
72.16999 +        
72.17000 +        get : function(id){
72.17001 +            return typeof id == "object" ? id : list[id];
72.17002 +        },
72.17003 +
72.17004 +        
72.17005 +        bringToFront : function(win){
72.17006 +            win = this.get(win);
72.17007 +            if(win != front){
72.17008 +                win._lastAccess = new Date().getTime();
72.17009 +                orderWindows();
72.17010 +                return true;
72.17011 +            }
72.17012 +            return false;
72.17013 +        },
72.17014 +
72.17015 +        
72.17016 +        sendToBack : function(win){
72.17017 +            win = this.get(win);
72.17018 +            win._lastAccess = -(new Date().getTime());
72.17019 +            orderWindows();
72.17020 +            return win;
72.17021 +        },
72.17022 +
72.17023 +        
72.17024 +        hideAll : function(){
72.17025 +            for(var id in list){
72.17026 +                if(list[id] && typeof list[id] != "function" && list[id].isVisible()){
72.17027 +                    list[id].hide();
72.17028 +                }
72.17029 +            }
72.17030 +        },
72.17031 +
72.17032 +        
72.17033 +        getActive : function(){
72.17034 +            return front;
72.17035 +        },
72.17036 +
72.17037 +        
72.17038 +        getBy : function(fn, scope){
72.17039 +            var r = [];
72.17040 +            for(var i = accessList.length-1; i >=0; --i) {
72.17041 +                var win = accessList[i];
72.17042 +                if(fn.call(scope||win, win) !== false){
72.17043 +                    r.push(win);
72.17044 +                }
72.17045 +            }
72.17046 +            return r;
72.17047 +        },
72.17048 +
72.17049 +        
72.17050 +        each : function(fn, scope){
72.17051 +            for(var id in list){
72.17052 +                if(list[id] && typeof list[id] != "function"){
72.17053 +                    if(fn.call(scope || list[id], list[id]) === false){
72.17054 +                        return;
72.17055 +                    }
72.17056 +                }
72.17057 +            }
72.17058 +        }
72.17059 +    };
72.17060 +};
72.17061 +
72.17062 +
72.17063 +
72.17064 +Ext.WindowMgr = new Ext.WindowGroup();
72.17065 +
72.17066 +Ext.dd.PanelProxy = function(panel, config){
72.17067 +    this.panel = panel;
72.17068 +    this.id = this.panel.id +'-ddproxy';
72.17069 +    Ext.apply(this, config);
72.17070 +};
72.17071 +
72.17072 +Ext.dd.PanelProxy.prototype = {
72.17073 +    
72.17074 +    insertProxy : true,
72.17075 +
72.17076 +    
72.17077 +    setStatus : Ext.emptyFn,
72.17078 +    reset : Ext.emptyFn,
72.17079 +    update : Ext.emptyFn,
72.17080 +    stop : Ext.emptyFn,
72.17081 +    sync: Ext.emptyFn,
72.17082 +
72.17083 +    
72.17084 +    getEl : function(){
72.17085 +        return this.ghost;
72.17086 +    },
72.17087 +
72.17088 +    
72.17089 +    getGhost : function(){
72.17090 +        return this.ghost;
72.17091 +    },
72.17092 +
72.17093 +    
72.17094 +    getProxy : function(){
72.17095 +        return this.proxy;
72.17096 +    },
72.17097 +
72.17098 +    
72.17099 +    hide : function(){
72.17100 +        if(this.ghost){
72.17101 +            if(this.proxy){
72.17102 +                this.proxy.remove();
72.17103 +                delete this.proxy;
72.17104 +            }
72.17105 +            this.panel.el.dom.style.display = '';
72.17106 +            this.ghost.remove();
72.17107 +            delete this.ghost;
72.17108 +        }
72.17109 +    },
72.17110 +
72.17111 +    
72.17112 +    show : function(){
72.17113 +        if(!this.ghost){
72.17114 +            this.ghost = this.panel.createGhost(undefined, undefined, Ext.getBody());
72.17115 +            this.ghost.setXY(this.panel.el.getXY())
72.17116 +            if(this.insertProxy){
72.17117 +                this.proxy = this.panel.el.insertSibling({cls:'x-panel-dd-spacer'});
72.17118 +                this.proxy.setSize(this.panel.getSize());
72.17119 +            }
72.17120 +            this.panel.el.dom.style.display = 'none';
72.17121 +        }
72.17122 +    },
72.17123 +
72.17124 +    
72.17125 +    repair : function(xy, callback, scope){
72.17126 +        this.hide();
72.17127 +        if(typeof callback == "function"){
72.17128 +            callback.call(scope || this);
72.17129 +        }
72.17130 +    },
72.17131 +
72.17132 +    
72.17133 +    moveProxy : function(parentNode, before){
72.17134 +        if(this.proxy){
72.17135 +            parentNode.insertBefore(this.proxy.dom, before);
72.17136 +        }
72.17137 +    }
72.17138 +};
72.17139 +
72.17140 +
72.17141 +Ext.Panel.DD = function(panel, cfg){
72.17142 +    this.panel = panel;
72.17143 +    this.dragData = {panel: panel};
72.17144 +    this.proxy = new Ext.dd.PanelProxy(panel, cfg);
72.17145 +    Ext.Panel.DD.superclass.constructor.call(this, panel.el, cfg);
72.17146 +    var h = panel.header;
72.17147 +    if(h){
72.17148 +        this.setHandleElId(h.id);
72.17149 +    }
72.17150 +    (h ? h : this.panel.body).setStyle('cursor', 'move');
72.17151 +    this.scroll = false;
72.17152 +};
72.17153 +
72.17154 +Ext.extend(Ext.Panel.DD, Ext.dd.DragSource, {
72.17155 +    showFrame: Ext.emptyFn,
72.17156 +    startDrag: Ext.emptyFn,
72.17157 +    b4StartDrag: function(x, y) {
72.17158 +        this.proxy.show();
72.17159 +    },
72.17160 +    b4MouseDown: function(e) {
72.17161 +        var x = e.getPageX();
72.17162 +        var y = e.getPageY();
72.17163 +        this.autoOffset(x, y);
72.17164 +    },
72.17165 +    onInitDrag : function(x, y){
72.17166 +        this.onStartDrag(x, y);
72.17167 +        return true;
72.17168 +    },
72.17169 +    createFrame : Ext.emptyFn,
72.17170 +    getDragEl : function(e){
72.17171 +        return this.proxy.ghost.dom;
72.17172 +    },
72.17173 +    endDrag : function(e){
72.17174 +        this.proxy.hide();
72.17175 +        this.panel.saveState();
72.17176 +    },
72.17177 +
72.17178 +    autoOffset : function(x, y) {
72.17179 +        x -= this.startPageX;
72.17180 +        y -= this.startPageY;
72.17181 +        this.setDelta(x, y);
72.17182 +    }
72.17183 +});
72.17184 +
72.17185 +Ext.state.Provider = function(){
72.17186 +    
72.17187 +    this.addEvents("statechange");
72.17188 +    this.state = {};
72.17189 +    Ext.state.Provider.superclass.constructor.call(this);
72.17190 +};
72.17191 +Ext.extend(Ext.state.Provider, Ext.util.Observable, {
72.17192 +    
72.17193 +    get : function(name, defaultValue){
72.17194 +        return typeof this.state[name] == "undefined" ?
72.17195 +            defaultValue : this.state[name];
72.17196 +    },
72.17197 +    
72.17198 +    
72.17199 +    clear : function(name){
72.17200 +        delete this.state[name];
72.17201 +        this.fireEvent("statechange", this, name, null);
72.17202 +    },
72.17203 +    
72.17204 +    
72.17205 +    set : function(name, value){
72.17206 +        this.state[name] = value;
72.17207 +        this.fireEvent("statechange", this, name, value);
72.17208 +    },
72.17209 +    
72.17210 +    
72.17211 +    decodeValue : function(cookie){
72.17212 +        var re = /^(a|n|d|b|s|o)\:(.*)$/;
72.17213 +        var matches = re.exec(unescape(cookie));
72.17214 +        if(!matches || !matches[1]) return; 
72.17215 +        var type = matches[1];
72.17216 +        var v = matches[2];
72.17217 +        switch(type){
72.17218 +            case "n":
72.17219 +                return parseFloat(v);
72.17220 +            case "d":
72.17221 +                return new Date(Date.parse(v));
72.17222 +            case "b":
72.17223 +                return (v == "1");
72.17224 +            case "a":
72.17225 +                var all = [];
72.17226 +                var values = v.split("^");
72.17227 +                for(var i = 0, len = values.length; i < len; i++){
72.17228 +                    all.push(this.decodeValue(values[i]));
72.17229 +                }
72.17230 +                return all;
72.17231 +           case "o":
72.17232 +                var all = {};
72.17233 +                var values = v.split("^");
72.17234 +                for(var i = 0, len = values.length; i < len; i++){
72.17235 +                    var kv = values[i].split("=");
72.17236 +                    all[kv[0]] = this.decodeValue(kv[1]);
72.17237 +                }
72.17238 +                return all;
72.17239 +           default:
72.17240 +                return v;
72.17241 +        }
72.17242 +    },
72.17243 +    
72.17244 +    
72.17245 +    encodeValue : function(v){
72.17246 +        var enc;
72.17247 +        if(typeof v == "number"){
72.17248 +            enc = "n:" + v;
72.17249 +        }else if(typeof v == "boolean"){
72.17250 +            enc = "b:" + (v ? "1" : "0");
72.17251 +        }else if(Ext.isDate(v)){
72.17252 +            enc = "d:" + v.toGMTString();
72.17253 +        }else if(Ext.isArray(v)){
72.17254 +            var flat = "";
72.17255 +            for(var i = 0, len = v.length; i < len; i++){
72.17256 +                flat += this.encodeValue(v[i]);
72.17257 +                if(i != len-1) flat += "^";
72.17258 +            }
72.17259 +            enc = "a:" + flat;
72.17260 +        }else if(typeof v == "object"){
72.17261 +            var flat = "";
72.17262 +            for(var key in v){
72.17263 +                if(typeof v[key] != "function" && v[key] !== undefined){
72.17264 +                    flat += key + "=" + this.encodeValue(v[key]) + "^";
72.17265 +                }
72.17266 +            }
72.17267 +            enc = "o:" + flat.substring(0, flat.length-1);
72.17268 +        }else{
72.17269 +            enc = "s:" + v;
72.17270 +        }
72.17271 +        return escape(enc);        
72.17272 +    }
72.17273 +});
72.17274 +
72.17275 +
72.17276 +Ext.state.Manager = function(){
72.17277 +    var provider = new Ext.state.Provider();
72.17278 +
72.17279 +    return {
72.17280 +        
72.17281 +        setProvider : function(stateProvider){
72.17282 +            provider = stateProvider;
72.17283 +        },
72.17284 +
72.17285 +        
72.17286 +        get : function(key, defaultValue){
72.17287 +            return provider.get(key, defaultValue);
72.17288 +        },
72.17289 +
72.17290 +        
72.17291 +         set : function(key, value){
72.17292 +            provider.set(key, value);
72.17293 +        },
72.17294 +
72.17295 +        
72.17296 +        clear : function(key){
72.17297 +            provider.clear(key);
72.17298 +        },
72.17299 +
72.17300 +        
72.17301 +        getProvider : function(){
72.17302 +            return provider;
72.17303 +        }
72.17304 +    };
72.17305 +}();
72.17306 +
72.17307 +
72.17308 +Ext.state.CookieProvider = function(config){
72.17309 +    Ext.state.CookieProvider.superclass.constructor.call(this);
72.17310 +    this.path = "/";
72.17311 +    this.expires = new Date(new Date().getTime()+(1000*60*60*24*7)); 
72.17312 +    this.domain = null;
72.17313 +    this.secure = false;
72.17314 +    Ext.apply(this, config);
72.17315 +    this.state = this.readCookies();
72.17316 +};
72.17317 +
72.17318 +Ext.extend(Ext.state.CookieProvider, Ext.state.Provider, {
72.17319 +    
72.17320 +    set : function(name, value){
72.17321 +        if(typeof value == "undefined" || value === null){
72.17322 +            this.clear(name);
72.17323 +            return;
72.17324 +        }
72.17325 +        this.setCookie(name, value);
72.17326 +        Ext.state.CookieProvider.superclass.set.call(this, name, value);
72.17327 +    },
72.17328 +
72.17329 +    
72.17330 +    clear : function(name){
72.17331 +        this.clearCookie(name);
72.17332 +        Ext.state.CookieProvider.superclass.clear.call(this, name);
72.17333 +    },
72.17334 +
72.17335 +    
72.17336 +    readCookies : function(){
72.17337 +        var cookies = {};
72.17338 +        var c = document.cookie + ";";
72.17339 +        var re = /\s?(.*?)=(.*?);/g;
72.17340 +    	var matches;
72.17341 +    	while((matches = re.exec(c)) != null){
72.17342 +            var name = matches[1];
72.17343 +            var value = matches[2];
72.17344 +            if(name && name.substring(0,3) == "ys-"){
72.17345 +                cookies[name.substr(3)] = this.decodeValue(value);
72.17346 +            }
72.17347 +        }
72.17348 +        return cookies;
72.17349 +    },
72.17350 +
72.17351 +    
72.17352 +    setCookie : function(name, value){
72.17353 +        document.cookie = "ys-"+ name + "=" + this.encodeValue(value) +
72.17354 +           ((this.expires == null) ? "" : ("; expires=" + this.expires.toGMTString())) +
72.17355 +           ((this.path == null) ? "" : ("; path=" + this.path)) +
72.17356 +           ((this.domain == null) ? "" : ("; domain=" + this.domain)) +
72.17357 +           ((this.secure == true) ? "; secure" : "");
72.17358 +    },
72.17359 +
72.17360 +    
72.17361 +    clearCookie : function(name){
72.17362 +        document.cookie = "ys-" + name + "=null; expires=Thu, 01-Jan-70 00:00:01 GMT" +
72.17363 +           ((this.path == null) ? "" : ("; path=" + this.path)) +
72.17364 +           ((this.domain == null) ? "" : ("; domain=" + this.domain)) +
72.17365 +           ((this.secure == true) ? "; secure" : "");
72.17366 +    }
72.17367 +});
72.17368 +
72.17369 +Ext.DataView = Ext.extend(Ext.BoxComponent, {
72.17370 +    
72.17371 +    
72.17372 +    
72.17373 +    
72.17374 +    
72.17375 +    
72.17376 +    
72.17377 +    
72.17378 +    
72.17379 +    selectedClass : "x-view-selected",
72.17380 +    
72.17381 +    emptyText : "",
72.17382 +
72.17383 +    
72.17384 +    deferEmptyText: true,
72.17385 +
72.17386 +        last: false,
72.17387 +
72.17388 +        initComponent : function(){
72.17389 +        Ext.DataView.superclass.initComponent.call(this);
72.17390 +        if(typeof this.tpl == "string"){
72.17391 +            this.tpl = new Ext.XTemplate(this.tpl);
72.17392 +        }
72.17393 +
72.17394 +        this.addEvents(
72.17395 +            
72.17396 +            "beforeclick",
72.17397 +            
72.17398 +            "click",
72.17399 +            
72.17400 +            "containerclick",
72.17401 +            
72.17402 +            "dblclick",
72.17403 +            
72.17404 +            "contextmenu",
72.17405 +            
72.17406 +            "selectionchange",
72.17407 +
72.17408 +            
72.17409 +            "beforeselect"
72.17410 +        );
72.17411 +
72.17412 +        this.all = new Ext.CompositeElementLite();
72.17413 +        this.selected = new Ext.CompositeElementLite();
72.17414 +    },
72.17415 +
72.17416 +        onRender : function(){
72.17417 +        if(!this.el){
72.17418 +            this.el = document.createElement('div');
72.17419 +            this.el.id = this.id;
72.17420 +        }
72.17421 +        Ext.DataView.superclass.onRender.apply(this, arguments);
72.17422 +    },
72.17423 +
72.17424 +        afterRender : function(){
72.17425 +        Ext.DataView.superclass.afterRender.call(this);
72.17426 +
72.17427 +        this.el.on({
72.17428 +            "click": this.onClick,
72.17429 +            "dblclick": this.onDblClick,
72.17430 +            "contextmenu": this.onContextMenu,
72.17431 +            scope:this
72.17432 +        });
72.17433 +
72.17434 +        if(this.overClass){
72.17435 +            this.el.on({
72.17436 +                "mouseover": this.onMouseOver,
72.17437 +                "mouseout": this.onMouseOut,
72.17438 +                scope:this
72.17439 +            });
72.17440 +        }
72.17441 +
72.17442 +        if(this.store){
72.17443 +            this.setStore(this.store, true);
72.17444 +        }
72.17445 +    },
72.17446 +
72.17447 +    
72.17448 +    refresh : function(){
72.17449 +        this.clearSelections(false, true);
72.17450 +        this.el.update("");
72.17451 +        var html = [];
72.17452 +        var records = this.store.getRange();
72.17453 +        if(records.length < 1){
72.17454 +            if(!this.deferEmptyText || this.hasSkippedEmptyText){
72.17455 +                this.el.update(this.emptyText);
72.17456 +            }
72.17457 +            this.hasSkippedEmptyText = true;
72.17458 +            this.all.clear();
72.17459 +            return;
72.17460 +        }
72.17461 +        this.tpl.overwrite(this.el, this.collectData(records, 0));
72.17462 +        this.all.fill(Ext.query(this.itemSelector, this.el.dom));
72.17463 +        this.updateIndexes(0);
72.17464 +    },
72.17465 +
72.17466 +    
72.17467 +    prepareData : function(data){
72.17468 +        return data;
72.17469 +    },
72.17470 +
72.17471 +        collectData : function(records, startIndex){
72.17472 +        var r = [];
72.17473 +        for(var i = 0, len = records.length; i < len; i++){
72.17474 +            r[r.length] = this.prepareData(records[i].data, startIndex+i, records[i]);
72.17475 +        }
72.17476 +        return r;
72.17477 +    },
72.17478 +
72.17479 +        bufferRender : function(records){
72.17480 +        var div = document.createElement('div');
72.17481 +        this.tpl.overwrite(div, this.collectData(records));
72.17482 +        return Ext.query(this.itemSelector, div);
72.17483 +    },
72.17484 +
72.17485 +        onUpdate : function(ds, record){
72.17486 +        var index = this.store.indexOf(record);
72.17487 +        var sel = this.isSelected(index);
72.17488 +        var original = this.all.elements[index];
72.17489 +        var node = this.bufferRender([record], index)[0];
72.17490 +
72.17491 +        this.all.replaceElement(index, node, true);
72.17492 +        if(sel){
72.17493 +            this.selected.replaceElement(original, node);
72.17494 +            this.all.item(index).addClass(this.selectedClass);
72.17495 +        }
72.17496 +        this.updateIndexes(index, index);
72.17497 +    },
72.17498 +
72.17499 +        onAdd : function(ds, records, index){
72.17500 +        if(this.all.getCount() == 0){
72.17501 +            this.refresh();
72.17502 +            return;
72.17503 +        }
72.17504 +        var nodes = this.bufferRender(records, index), n, a = this.all.elements;
72.17505 +        if(index < this.all.getCount()){
72.17506 +            n = this.all.item(index).insertSibling(nodes, 'before', true);
72.17507 +            a.splice.apply(a, [index, 0].concat(nodes));
72.17508 +        }else{
72.17509 +            n = this.all.last().insertSibling(nodes, 'after', true);
72.17510 +            a.push.apply(a, nodes);
72.17511 +        }
72.17512 +        this.updateIndexes(index);
72.17513 +    },
72.17514 +
72.17515 +        onRemove : function(ds, record, index){
72.17516 +        this.deselect(index);
72.17517 +        this.all.removeElement(index, true);
72.17518 +        this.updateIndexes(index);
72.17519 +    },
72.17520 +
72.17521 +    
72.17522 +    refreshNode : function(index){
72.17523 +        this.onUpdate(this.store, this.store.getAt(index));
72.17524 +    },
72.17525 +
72.17526 +        updateIndexes : function(startIndex, endIndex){
72.17527 +        var ns = this.all.elements;
72.17528 +        startIndex = startIndex || 0;
72.17529 +        endIndex = endIndex || ((endIndex === 0) ? 0 : (ns.length - 1));
72.17530 +        for(var i = startIndex; i <= endIndex; i++){
72.17531 +            ns[i].viewIndex = i;
72.17532 +        }
72.17533 +    },
72.17534 +
72.17535 +    
72.17536 +    setStore : function(store, initial){
72.17537 +        if(!initial && this.store){
72.17538 +            this.store.un("beforeload", this.onBeforeLoad, this);
72.17539 +            this.store.un("datachanged", this.refresh, this);
72.17540 +            this.store.un("add", this.onAdd, this);
72.17541 +            this.store.un("remove", this.onRemove, this);
72.17542 +            this.store.un("update", this.onUpdate, this);
72.17543 +            this.store.un("clear", this.refresh, this);
72.17544 +        }
72.17545 +        if(store){
72.17546 +            store = Ext.StoreMgr.lookup(store);
72.17547 +            store.on("beforeload", this.onBeforeLoad, this);
72.17548 +            store.on("datachanged", this.refresh, this);
72.17549 +            store.on("add", this.onAdd, this);
72.17550 +            store.on("remove", this.onRemove, this);
72.17551 +            store.on("update", this.onUpdate, this);
72.17552 +            store.on("clear", this.refresh, this);
72.17553 +        }
72.17554 +        this.store = store;
72.17555 +        if(store){
72.17556 +            this.refresh();
72.17557 +        }
72.17558 +    },
72.17559 +
72.17560 +    
72.17561 +    findItemFromChild : function(node){
72.17562 +        return Ext.fly(node).findParent(this.itemSelector, this.el);
72.17563 +    },
72.17564 +
72.17565 +        onClick : function(e){
72.17566 +        var item = e.getTarget(this.itemSelector, this.el);
72.17567 +        if(item){
72.17568 +            var index = this.indexOf(item);
72.17569 +            if(this.onItemClick(item, index, e) !== false){
72.17570 +                this.fireEvent("click", this, index, item, e);
72.17571 +            }
72.17572 +        }else{
72.17573 +            if(this.fireEvent("containerclick", this, e) !== false){
72.17574 +                this.clearSelections();
72.17575 +            }
72.17576 +        }
72.17577 +    },
72.17578 +
72.17579 +        onContextMenu : function(e){
72.17580 +        var item = e.getTarget(this.itemSelector, this.el);
72.17581 +        if(item){
72.17582 +            this.fireEvent("contextmenu", this, this.indexOf(item), item, e);
72.17583 +        }
72.17584 +    },
72.17585 +
72.17586 +        onDblClick : function(e){
72.17587 +        var item = e.getTarget(this.itemSelector, this.el);
72.17588 +        if(item){
72.17589 +            this.fireEvent("dblclick", this, this.indexOf(item), item, e);
72.17590 +        }
72.17591 +    },
72.17592 +
72.17593 +        onMouseOver : function(e){
72.17594 +        var item = e.getTarget(this.itemSelector, this.el);
72.17595 +        if(item && item !== this.lastItem){
72.17596 +            this.lastItem = item;
72.17597 +            Ext.fly(item).addClass(this.overClass);
72.17598 +        }
72.17599 +    },
72.17600 +
72.17601 +        onMouseOut : function(e){
72.17602 +        if(this.lastItem){
72.17603 +            if(!e.within(this.lastItem, true)){
72.17604 +                Ext.fly(this.lastItem).removeClass(this.overClass);
72.17605 +                delete this.lastItem;
72.17606 +            }
72.17607 +        }
72.17608 +    },
72.17609 +
72.17610 +        onItemClick : function(item, index, e){
72.17611 +        if(this.fireEvent("beforeclick", this, index, item, e) === false){
72.17612 +            return false;
72.17613 +        }
72.17614 +        if(this.multiSelect){
72.17615 +            this.doMultiSelection(item, index, e);
72.17616 +            e.preventDefault();
72.17617 +        }else if(this.singleSelect){
72.17618 +            this.doSingleSelection(item, index, e);
72.17619 +            e.preventDefault();
72.17620 +        }
72.17621 +        return true;
72.17622 +    },
72.17623 +
72.17624 +        doSingleSelection : function(item, index, e){
72.17625 +        if(e.ctrlKey && this.isSelected(index)){
72.17626 +            this.deselect(index);
72.17627 +        }else{
72.17628 +            this.select(index, false);
72.17629 +        }
72.17630 +    },
72.17631 +
72.17632 +        doMultiSelection : function(item, index, e){
72.17633 +        if(e.shiftKey && this.last !== false){
72.17634 +            var last = this.last;
72.17635 +            this.selectRange(last, index, e.ctrlKey);
72.17636 +            this.last = last;         }else{
72.17637 +            if((e.ctrlKey||this.simpleSelect) && this.isSelected(index)){
72.17638 +                this.deselect(index);
72.17639 +            }else{
72.17640 +                this.select(index, e.ctrlKey || e.shiftKey || this.simpleSelect);
72.17641 +            }
72.17642 +        }
72.17643 +    },
72.17644 +
72.17645 +    
72.17646 +    getSelectionCount : function(){
72.17647 +        return this.selected.getCount()
72.17648 +    },
72.17649 +
72.17650 +    
72.17651 +    getSelectedNodes : function(){
72.17652 +        return this.selected.elements;
72.17653 +    },
72.17654 +
72.17655 +    
72.17656 +    getSelectedIndexes : function(){
72.17657 +        var indexes = [], s = this.selected.elements;
72.17658 +        for(var i = 0, len = s.length; i < len; i++){
72.17659 +            indexes.push(s[i].viewIndex);
72.17660 +        }
72.17661 +        return indexes;
72.17662 +    },
72.17663 +
72.17664 +    
72.17665 +    getSelectedRecords : function(){
72.17666 +        var r = [], s = this.selected.elements;
72.17667 +        for(var i = 0, len = s.length; i < len; i++){
72.17668 +            r[r.length] = this.store.getAt(s[i].viewIndex);
72.17669 +        }
72.17670 +        return r;
72.17671 +    },
72.17672 +
72.17673 +    
72.17674 +    getRecords : function(nodes){
72.17675 +        var r = [], s = nodes;
72.17676 +        for(var i = 0, len = s.length; i < len; i++){
72.17677 +            r[r.length] = this.store.getAt(s[i].viewIndex);
72.17678 +        }
72.17679 +        return r;
72.17680 +    },
72.17681 +
72.17682 +    
72.17683 +    getRecord : function(node){
72.17684 +        return this.store.getAt(node.viewIndex);
72.17685 +    },
72.17686 +
72.17687 +    
72.17688 +    clearSelections : function(suppressEvent, skipUpdate){
72.17689 +        if((this.multiSelect || this.singleSelect) && this.selected.getCount() > 0){
72.17690 +            if(!skipUpdate){
72.17691 +                this.selected.removeClass(this.selectedClass);
72.17692 +            }
72.17693 +            this.selected.clear();
72.17694 +            this.last = false;
72.17695 +            if(!suppressEvent){
72.17696 +                this.fireEvent("selectionchange", this, this.selected.elements);
72.17697 +            }
72.17698 +        }
72.17699 +    },
72.17700 +
72.17701 +    
72.17702 +    isSelected : function(node){
72.17703 +        return this.selected.contains(this.getNode(node));
72.17704 +    },
72.17705 +
72.17706 +    
72.17707 +    deselect : function(node){
72.17708 +        if(this.isSelected(node)){
72.17709 +            var node = this.getNode(node);
72.17710 +            this.selected.removeElement(node);
72.17711 +            if(this.last == node.viewIndex){
72.17712 +                this.last = false;
72.17713 +            }
72.17714 +            Ext.fly(node).removeClass(this.selectedClass);
72.17715 +            this.fireEvent("selectionchange", this, this.selected.elements);
72.17716 +        }
72.17717 +    },
72.17718 +
72.17719 +    
72.17720 +    select : function(nodeInfo, keepExisting, suppressEvent){
72.17721 +        if(Ext.isArray(nodeInfo)){
72.17722 +            if(!keepExisting){
72.17723 +                this.clearSelections(true);
72.17724 +            }
72.17725 +            for(var i = 0, len = nodeInfo.length; i < len; i++){
72.17726 +                this.select(nodeInfo[i], true, true);
72.17727 +            }
72.17728 +	        if(!suppressEvent){
72.17729 +	            this.fireEvent("selectionchange", this, this.selected.elements);
72.17730 +	        }
72.17731 +        } else{
72.17732 +            var node = this.getNode(nodeInfo);
72.17733 +            if(!keepExisting){
72.17734 +                this.clearSelections(true);
72.17735 +            }
72.17736 +            if(node && !this.isSelected(node)){
72.17737 +                if(this.fireEvent("beforeselect", this, node, this.selected.elements) !== false){
72.17738 +                    Ext.fly(node).addClass(this.selectedClass);
72.17739 +                    this.selected.add(node);
72.17740 +                    this.last = node.viewIndex;
72.17741 +                    if(!suppressEvent){
72.17742 +                        this.fireEvent("selectionchange", this, this.selected.elements);
72.17743 +                    }
72.17744 +                }
72.17745 +            }
72.17746 +        }
72.17747 +    },
72.17748 +
72.17749 +    
72.17750 +    selectRange : function(start, end, keepExisting){
72.17751 +        if(!keepExisting){
72.17752 +            this.clearSelections(true);
72.17753 +        }
72.17754 +        this.select(this.getNodes(start, end), true);
72.17755 +    },
72.17756 +
72.17757 +    
72.17758 +    getNode : function(nodeInfo){
72.17759 +        if(typeof nodeInfo == "string"){
72.17760 +            return document.getElementById(nodeInfo);
72.17761 +        }else if(typeof nodeInfo == "number"){
72.17762 +            return this.all.elements[nodeInfo];
72.17763 +        }
72.17764 +        return nodeInfo;
72.17765 +    },
72.17766 +
72.17767 +    
72.17768 +    getNodes : function(start, end){
72.17769 +        var ns = this.all.elements;
72.17770 +        start = start || 0;
72.17771 +        end = typeof end == "undefined" ? ns.length - 1 : end;
72.17772 +        var nodes = [], i;
72.17773 +        if(start <= end){
72.17774 +            for(i = start; i <= end; i++){
72.17775 +                nodes.push(ns[i]);
72.17776 +            }
72.17777 +        } else{
72.17778 +            for(i = start; i >= end; i--){
72.17779 +                nodes.push(ns[i]);
72.17780 +            }
72.17781 +        }
72.17782 +        return nodes;
72.17783 +    },
72.17784 +
72.17785 +    
72.17786 +    indexOf : function(node){
72.17787 +        node = this.getNode(node);
72.17788 +        if(typeof node.viewIndex == "number"){
72.17789 +            return node.viewIndex;
72.17790 +        }
72.17791 +        return this.all.indexOf(node);
72.17792 +    },
72.17793 +
72.17794 +        onBeforeLoad : function(){
72.17795 +        if(this.loadingText){
72.17796 +            this.clearSelections(false, true);
72.17797 +            this.el.update('<div class="loading-indicator">'+this.loadingText+'</div>');
72.17798 +            this.all.clear();
72.17799 +        }
72.17800 +    },
72.17801 +
72.17802 +    onDestroy : function(){
72.17803 +        Ext.DataView.superclass.onDestroy.call(this);
72.17804 +        this.setStore(null);
72.17805 +    }
72.17806 +});
72.17807 +
72.17808 +Ext.reg('dataview', Ext.DataView);
72.17809 +
72.17810 +Ext.ColorPalette = function(config){
72.17811 +    Ext.ColorPalette.superclass.constructor.call(this, config);
72.17812 +    this.addEvents(
72.17813 +        
72.17814 +        'select'
72.17815 +    );
72.17816 +
72.17817 +    if(this.handler){
72.17818 +        this.on("select", this.handler, this.scope, true);
72.17819 +    }
72.17820 +};
72.17821 +Ext.extend(Ext.ColorPalette, Ext.Component, {
72.17822 +	
72.17823 +    
72.17824 +    itemCls : "x-color-palette",
72.17825 +    
72.17826 +    value : null,
72.17827 +    clickEvent:'click',
72.17828 +        ctype: "Ext.ColorPalette",
72.17829 +
72.17830 +    
72.17831 +    allowReselect : false,
72.17832 +
72.17833 +    
72.17834 +    colors : [
72.17835 +        "000000", "993300", "333300", "003300", "003366", "000080", "333399", "333333",
72.17836 +        "800000", "FF6600", "808000", "008000", "008080", "0000FF", "666699", "808080",
72.17837 +        "FF0000", "FF9900", "99CC00", "339966", "33CCCC", "3366FF", "800080", "969696",
72.17838 +        "FF00FF", "FFCC00", "FFFF00", "00FF00", "00FFFF", "00CCFF", "993366", "C0C0C0",
72.17839 +        "FF99CC", "FFCC99", "FFFF99", "CCFFCC", "CCFFFF", "99CCFF", "CC99FF", "FFFFFF"
72.17840 +    ],
72.17841 +
72.17842 +        onRender : function(container, position){
72.17843 +        var t = this.tpl || new Ext.XTemplate(
72.17844 +            '<tpl for="."><a href="#" class="color-{.}" hidefocus="on"><em><span style="background:#{.}" unselectable="on">&#160;</span></em></a></tpl>'
72.17845 +        );
72.17846 +        var el = document.createElement("div");
72.17847 +        el.className = this.itemCls;
72.17848 +        t.overwrite(el, this.colors);
72.17849 +        container.dom.insertBefore(el, position);
72.17850 +        this.el = Ext.get(el);
72.17851 +        this.el.on(this.clickEvent, this.handleClick,  this, {delegate: "a"});
72.17852 +        if(this.clickEvent != 'click'){
72.17853 +            this.el.on('click', Ext.emptyFn,  this, {delegate: "a", preventDefault:true});
72.17854 +        }
72.17855 +    },
72.17856 +
72.17857 +        afterRender : function(){
72.17858 +        Ext.ColorPalette.superclass.afterRender.call(this);
72.17859 +        if(this.value){
72.17860 +            var s = this.value;
72.17861 +            this.value = null;
72.17862 +            this.select(s);
72.17863 +        }
72.17864 +    },
72.17865 +
72.17866 +        handleClick : function(e, t){
72.17867 +        e.preventDefault();
72.17868 +        if(!this.disabled){
72.17869 +            var c = t.className.match(/(?:^|\s)color-(.{6})(?:\s|$)/)[1];
72.17870 +            this.select(c.toUpperCase());
72.17871 +        }
72.17872 +    },
72.17873 +
72.17874 +    
72.17875 +    select : function(color){
72.17876 +        color = color.replace("#", "");
72.17877 +        if(color != this.value || this.allowReselect){
72.17878 +            var el = this.el;
72.17879 +            if(this.value){
72.17880 +                el.child("a.color-"+this.value).removeClass("x-color-palette-sel");
72.17881 +            }
72.17882 +            el.child("a.color-"+color).addClass("x-color-palette-sel");
72.17883 +            this.value = color;
72.17884 +            this.fireEvent("select", this, color);
72.17885 +        }
72.17886 +    }
72.17887 +
72.17888 +    
72.17889 +});
72.17890 +Ext.reg('colorpalette', Ext.ColorPalette);
72.17891 +
72.17892 +Ext.DatePicker = Ext.extend(Ext.Component, {
72.17893 +    
72.17894 +    todayText : "Today",
72.17895 +    
72.17896 +    okText : "&#160;OK&#160;", 
72.17897 +    
72.17898 +    cancelText : "Cancel",
72.17899 +    
72.17900 +    todayTip : "{0} (Spacebar)",
72.17901 +    
72.17902 +    minDate : null,
72.17903 +    
72.17904 +    maxDate : null,
72.17905 +    
72.17906 +    minText : "This date is before the minimum date",
72.17907 +    
72.17908 +    maxText : "This date is after the maximum date",
72.17909 +    
72.17910 +    format : "m/d/y",
72.17911 +    
72.17912 +    disabledDays : null,
72.17913 +    
72.17914 +    disabledDaysText : "",
72.17915 +    
72.17916 +    disabledDatesRE : null,
72.17917 +    
72.17918 +    disabledDatesText : "",
72.17919 +    
72.17920 +    constrainToViewport : true,
72.17921 +    
72.17922 +    monthNames : Date.monthNames,
72.17923 +    
72.17924 +    dayNames : Date.dayNames,
72.17925 +    
72.17926 +    nextText: 'Next Month (Control+Right)',
72.17927 +    
72.17928 +    prevText: 'Previous Month (Control+Left)',
72.17929 +    
72.17930 +    monthYearText: 'Choose a month (Control+Up/Down to move years)',
72.17931 +    
72.17932 +    startDay : 0,
72.17933 +
72.17934 +    initComponent : function(){
72.17935 +        Ext.DatePicker.superclass.initComponent.call(this);
72.17936 +
72.17937 +        this.value = this.value ?
72.17938 +                 this.value.clearTime() : new Date().clearTime();
72.17939 +
72.17940 +        this.addEvents(
72.17941 +            
72.17942 +            'select'
72.17943 +        );
72.17944 +
72.17945 +        if(this.handler){
72.17946 +            this.on("select", this.handler,  this.scope || this);
72.17947 +        }
72.17948 +
72.17949 +        this.initDisabledDays();
72.17950 +    },
72.17951 +
72.17952 +    
72.17953 +    initDisabledDays : function(){
72.17954 +        if(!this.disabledDatesRE && this.disabledDates){
72.17955 +            var dd = this.disabledDates;
72.17956 +            var re = "(?:";
72.17957 +            for(var i = 0; i < dd.length; i++){
72.17958 +                re += dd[i];
72.17959 +                if(i != dd.length-1) re += "|";
72.17960 +            }
72.17961 +            this.disabledDatesRE = new RegExp(re + ")");
72.17962 +        }
72.17963 +    },
72.17964 +
72.17965 +    
72.17966 +    setValue : function(value){
72.17967 +        var old = this.value;
72.17968 +        this.value = value.clearTime(true);
72.17969 +        if(this.el){
72.17970 +            this.update(this.value);
72.17971 +        }
72.17972 +    },
72.17973 +
72.17974 +    
72.17975 +    getValue : function(){
72.17976 +        return this.value;
72.17977 +    },
72.17978 +
72.17979 +    
72.17980 +    focus : function(){
72.17981 +        if(this.el){
72.17982 +            this.update(this.activeDate);
72.17983 +        }
72.17984 +    },
72.17985 +
72.17986 +    
72.17987 +    onRender : function(container, position){
72.17988 +        var m = [
72.17989 +             '<table cellspacing="0">',
72.17990 +                '<tr><td class="x-date-left"><a href="#" title="', this.prevText ,'">&#160;</a></td><td class="x-date-middle" align="center"></td><td class="x-date-right"><a href="#" title="', this.nextText ,'">&#160;</a></td></tr>',
72.17991 +                '<tr><td colspan="3"><table class="x-date-inner" cellspacing="0"><thead><tr>'];
72.17992 +        var dn = this.dayNames;
72.17993 +        for(var i = 0; i < 7; i++){
72.17994 +            var d = this.startDay+i;
72.17995 +            if(d > 6){
72.17996 +                d = d-7;
72.17997 +            }
72.17998 +            m.push("<th><span>", dn[d].substr(0,1), "</span></th>");
72.17999 +        }
72.18000 +        m[m.length] = "</tr></thead><tbody><tr>";
72.18001 +        for(var i = 0; i < 42; i++) {
72.18002 +            if(i % 7 == 0 && i != 0){
72.18003 +                m[m.length] = "</tr><tr>";
72.18004 +            }
72.18005 +            m[m.length] = '<td><a href="#" hidefocus="on" class="x-date-date" tabIndex="1"><em><span></span></em></a></td>';
72.18006 +        }
72.18007 +        m[m.length] = '</tr></tbody></table></td></tr><tr><td colspan="3" class="x-date-bottom" align="center"></td></tr></table><div class="x-date-mp"></div>';
72.18008 +
72.18009 +        var el = document.createElement("div");
72.18010 +        el.className = "x-date-picker";
72.18011 +        el.innerHTML = m.join("");
72.18012 +
72.18013 +        container.dom.insertBefore(el, position);
72.18014 +
72.18015 +        this.el = Ext.get(el);
72.18016 +        this.eventEl = Ext.get(el.firstChild);
72.18017 +
72.18018 +        new Ext.util.ClickRepeater(this.el.child("td.x-date-left a"), {
72.18019 +            handler: this.showPrevMonth,
72.18020 +            scope: this,
72.18021 +            preventDefault:true,
72.18022 +            stopDefault:true
72.18023 +        });
72.18024 +
72.18025 +        new Ext.util.ClickRepeater(this.el.child("td.x-date-right a"), {
72.18026 +            handler: this.showNextMonth,
72.18027 +            scope: this,
72.18028 +            preventDefault:true,
72.18029 +            stopDefault:true
72.18030 +        });
72.18031 +
72.18032 +        this.eventEl.on("mousewheel", this.handleMouseWheel,  this);
72.18033 +
72.18034 +        this.monthPicker = this.el.down('div.x-date-mp');
72.18035 +        this.monthPicker.enableDisplayMode('block');
72.18036 +        
72.18037 +        var kn = new Ext.KeyNav(this.eventEl, {
72.18038 +            "left" : function(e){
72.18039 +                e.ctrlKey ?
72.18040 +                    this.showPrevMonth() :
72.18041 +                    this.update(this.activeDate.add("d", -1));
72.18042 +            },
72.18043 +
72.18044 +            "right" : function(e){
72.18045 +                e.ctrlKey ?
72.18046 +                    this.showNextMonth() :
72.18047 +                    this.update(this.activeDate.add("d", 1));
72.18048 +            },
72.18049 +
72.18050 +            "up" : function(e){
72.18051 +                e.ctrlKey ?
72.18052 +                    this.showNextYear() :
72.18053 +                    this.update(this.activeDate.add("d", -7));
72.18054 +            },
72.18055 +
72.18056 +            "down" : function(e){
72.18057 +                e.ctrlKey ?
72.18058 +                    this.showPrevYear() :
72.18059 +                    this.update(this.activeDate.add("d", 7));
72.18060 +            },
72.18061 +
72.18062 +            "pageUp" : function(e){
72.18063 +                this.showNextMonth();
72.18064 +            },
72.18065 +
72.18066 +            "pageDown" : function(e){
72.18067 +                this.showPrevMonth();
72.18068 +            },
72.18069 +
72.18070 +            "enter" : function(e){
72.18071 +                e.stopPropagation();
72.18072 +                return true;
72.18073 +            },
72.18074 +
72.18075 +            scope : this
72.18076 +        });
72.18077 +
72.18078 +        this.eventEl.on("click", this.handleDateClick,  this, {delegate: "a.x-date-date"});
72.18079 +
72.18080 +        this.eventEl.addKeyListener(Ext.EventObject.SPACE, this.selectToday,  this);
72.18081 +
72.18082 +        this.el.unselectable();
72.18083 +        
72.18084 +        this.cells = this.el.select("table.x-date-inner tbody td");
72.18085 +        this.textNodes = this.el.query("table.x-date-inner tbody span");
72.18086 +
72.18087 +        this.mbtn = new Ext.Button({
72.18088 +            text: "&#160;",
72.18089 +            tooltip: this.monthYearText,
72.18090 +            renderTo: this.el.child("td.x-date-middle", true)
72.18091 +        });
72.18092 +
72.18093 +        this.mbtn.on('click', this.showMonthPicker, this);
72.18094 +        this.mbtn.el.child(this.mbtn.menuClassTarget).addClass("x-btn-with-menu");
72.18095 +
72.18096 +
72.18097 +        var today = (new Date()).dateFormat(this.format);
72.18098 +        this.todayBtn = new Ext.Button({
72.18099 +            renderTo: this.el.child("td.x-date-bottom", true),
72.18100 +            text: String.format(this.todayText, today),
72.18101 +            tooltip: String.format(this.todayTip, today),
72.18102 +            handler: this.selectToday,
72.18103 +            scope: this
72.18104 +        });
72.18105 +        
72.18106 +        if(Ext.isIE){
72.18107 +            this.el.repaint();
72.18108 +        }
72.18109 +        this.update(this.value);
72.18110 +    },
72.18111 +
72.18112 +    createMonthPicker : function(){
72.18113 +        if(!this.monthPicker.dom.firstChild){
72.18114 +            var buf = ['<table border="0" cellspacing="0">'];
72.18115 +            for(var i = 0; i < 6; i++){
72.18116 +                buf.push(
72.18117 +                    '<tr><td class="x-date-mp-month"><a href="#">', this.monthNames[i].substr(0, 3), '</a></td>',
72.18118 +                    '<td class="x-date-mp-month x-date-mp-sep"><a href="#">', this.monthNames[i+6].substr(0, 3), '</a></td>',
72.18119 +                    i == 0 ?
72.18120 +                    '<td class="x-date-mp-ybtn" align="center"><a class="x-date-mp-prev"></a></td><td class="x-date-mp-ybtn" align="center"><a class="x-date-mp-next"></a></td></tr>' :
72.18121 +                    '<td class="x-date-mp-year"><a href="#"></a></td><td class="x-date-mp-year"><a href="#"></a></td></tr>'
72.18122 +                );
72.18123 +            }
72.18124 +            buf.push(
72.18125 +                '<tr class="x-date-mp-btns"><td colspan="4"><button type="button" class="x-date-mp-ok">',
72.18126 +                    this.okText,
72.18127 +                    '</button><button type="button" class="x-date-mp-cancel">',
72.18128 +                    this.cancelText,
72.18129 +                    '</button></td></tr>',
72.18130 +                '</table>'
72.18131 +            );
72.18132 +            this.monthPicker.update(buf.join(''));
72.18133 +            this.monthPicker.on('click', this.onMonthClick, this);
72.18134 +            this.monthPicker.on('dblclick', this.onMonthDblClick, this);
72.18135 +
72.18136 +            this.mpMonths = this.monthPicker.select('td.x-date-mp-month');
72.18137 +            this.mpYears = this.monthPicker.select('td.x-date-mp-year');
72.18138 +
72.18139 +            this.mpMonths.each(function(m, a, i){
72.18140 +                i += 1;
72.18141 +                if((i%2) == 0){
72.18142 +                    m.dom.xmonth = 5 + Math.round(i * .5);
72.18143 +                }else{
72.18144 +                    m.dom.xmonth = Math.round((i-1) * .5);
72.18145 +                }
72.18146 +            });
72.18147 +        }
72.18148 +    },
72.18149 +
72.18150 +    showMonthPicker : function(){
72.18151 +        this.createMonthPicker();
72.18152 +        var size = this.el.getSize();
72.18153 +        this.monthPicker.setSize(size);
72.18154 +        this.monthPicker.child('table').setSize(size);
72.18155 +
72.18156 +        this.mpSelMonth = (this.activeDate || this.value).getMonth();
72.18157 +        this.updateMPMonth(this.mpSelMonth);
72.18158 +        this.mpSelYear = (this.activeDate || this.value).getFullYear();
72.18159 +        this.updateMPYear(this.mpSelYear);
72.18160 +
72.18161 +        this.monthPicker.slideIn('t', {duration:.2});
72.18162 +    },
72.18163 +
72.18164 +    updateMPYear : function(y){
72.18165 +        this.mpyear = y;
72.18166 +        var ys = this.mpYears.elements;
72.18167 +        for(var i = 1; i <= 10; i++){
72.18168 +            var td = ys[i-1], y2;
72.18169 +            if((i%2) == 0){
72.18170 +                y2 = y + Math.round(i * .5);
72.18171 +                td.firstChild.innerHTML = y2;
72.18172 +                td.xyear = y2;
72.18173 +            }else{
72.18174 +                y2 = y - (5-Math.round(i * .5));
72.18175 +                td.firstChild.innerHTML = y2;
72.18176 +                td.xyear = y2;
72.18177 +            }
72.18178 +            this.mpYears.item(i-1)[y2 == this.mpSelYear ? 'addClass' : 'removeClass']('x-date-mp-sel');
72.18179 +        }
72.18180 +    },
72.18181 +
72.18182 +    updateMPMonth : function(sm){
72.18183 +        this.mpMonths.each(function(m, a, i){
72.18184 +            m[m.dom.xmonth == sm ? 'addClass' : 'removeClass']('x-date-mp-sel');
72.18185 +        });
72.18186 +    },
72.18187 +
72.18188 +    selectMPMonth: function(m){
72.18189 +        
72.18190 +    },
72.18191 +
72.18192 +    onMonthClick : function(e, t){
72.18193 +        e.stopEvent();
72.18194 +        var el = new Ext.Element(t), pn;
72.18195 +        if(el.is('button.x-date-mp-cancel')){
72.18196 +            this.hideMonthPicker();
72.18197 +        }
72.18198 +        else if(el.is('button.x-date-mp-ok')){
72.18199 +            var d = new Date(this.mpSelYear, this.mpSelMonth, (this.activeDate || this.value).getDate());
72.18200 +            if(d.getMonth() != this.mpSelMonth){
72.18201 +                
72.18202 +                d = new Date(this.mpSelYear, this.mpSelMonth, 1).getLastDateOfMonth();
72.18203 +            }
72.18204 +            this.update(d);
72.18205 +            this.hideMonthPicker();
72.18206 +        }
72.18207 +        else if(pn = el.up('td.x-date-mp-month', 2)){
72.18208 +            this.mpMonths.removeClass('x-date-mp-sel');
72.18209 +            pn.addClass('x-date-mp-sel');
72.18210 +            this.mpSelMonth = pn.dom.xmonth;
72.18211 +        }
72.18212 +        else if(pn = el.up('td.x-date-mp-year', 2)){
72.18213 +            this.mpYears.removeClass('x-date-mp-sel');
72.18214 +            pn.addClass('x-date-mp-sel');
72.18215 +            this.mpSelYear = pn.dom.xyear;
72.18216 +        }
72.18217 +        else if(el.is('a.x-date-mp-prev')){
72.18218 +            this.updateMPYear(this.mpyear-10);
72.18219 +        }
72.18220 +        else if(el.is('a.x-date-mp-next')){
72.18221 +            this.updateMPYear(this.mpyear+10);
72.18222 +        }
72.18223 +    },
72.18224 +
72.18225 +    onMonthDblClick : function(e, t){
72.18226 +        e.stopEvent();
72.18227 +        var el = new Ext.Element(t), pn;
72.18228 +        if(pn = el.up('td.x-date-mp-month', 2)){
72.18229 +            this.update(new Date(this.mpSelYear, pn.dom.xmonth, (this.activeDate || this.value).getDate()));
72.18230 +            this.hideMonthPicker();
72.18231 +        }
72.18232 +        else if(pn = el.up('td.x-date-mp-year', 2)){
72.18233 +            this.update(new Date(pn.dom.xyear, this.mpSelMonth, (this.activeDate || this.value).getDate()));
72.18234 +            this.hideMonthPicker();
72.18235 +        }
72.18236 +    },
72.18237 +
72.18238 +    hideMonthPicker : function(disableAnim){
72.18239 +        if(this.monthPicker){
72.18240 +            if(disableAnim === true){
72.18241 +                this.monthPicker.hide();
72.18242 +            }else{
72.18243 +                this.monthPicker.slideOut('t', {duration:.2});
72.18244 +            }
72.18245 +        }
72.18246 +    },
72.18247 +
72.18248 +    
72.18249 +    showPrevMonth : function(e){
72.18250 +        this.update(this.activeDate.add("mo", -1));
72.18251 +    },
72.18252 +
72.18253 +    
72.18254 +    showNextMonth : function(e){
72.18255 +        this.update(this.activeDate.add("mo", 1));
72.18256 +    },
72.18257 +
72.18258 +    
72.18259 +    showPrevYear : function(){
72.18260 +        this.update(this.activeDate.add("y", -1));
72.18261 +    },
72.18262 +
72.18263 +    
72.18264 +    showNextYear : function(){
72.18265 +        this.update(this.activeDate.add("y", 1));
72.18266 +    },
72.18267 +
72.18268 +    
72.18269 +    handleMouseWheel : function(e){
72.18270 +        var delta = e.getWheelDelta();
72.18271 +        if(delta > 0){
72.18272 +            this.showPrevMonth();
72.18273 +            e.stopEvent();
72.18274 +        } else if(delta < 0){
72.18275 +            this.showNextMonth();
72.18276 +            e.stopEvent();
72.18277 +        }
72.18278 +    },
72.18279 +
72.18280 +    
72.18281 +    handleDateClick : function(e, t){
72.18282 +        e.stopEvent();
72.18283 +        if(t.dateValue && !Ext.fly(t.parentNode).hasClass("x-date-disabled")){
72.18284 +            this.setValue(new Date(t.dateValue));
72.18285 +            this.fireEvent("select", this, this.value);
72.18286 +        }
72.18287 +    },
72.18288 +
72.18289 +    
72.18290 +    selectToday : function(){
72.18291 +        this.setValue(new Date().clearTime());
72.18292 +        this.fireEvent("select", this, this.value);
72.18293 +    },
72.18294 +
72.18295 +    
72.18296 +    update : function(date){
72.18297 +        var vd = this.activeDate;
72.18298 +        this.activeDate = date;
72.18299 +        if(vd && this.el){
72.18300 +            var t = date.getTime();
72.18301 +            if(vd.getMonth() == date.getMonth() && vd.getFullYear() == date.getFullYear()){
72.18302 +                this.cells.removeClass("x-date-selected");
72.18303 +                this.cells.each(function(c){
72.18304 +                   if(c.dom.firstChild.dateValue == t){
72.18305 +                       c.addClass("x-date-selected");
72.18306 +                       setTimeout(function(){
72.18307 +                            try{c.dom.firstChild.focus();}catch(e){}
72.18308 +                       }, 50);
72.18309 +                       return false;
72.18310 +                   }
72.18311 +                });
72.18312 +                return;
72.18313 +            }
72.18314 +        }
72.18315 +        var days = date.getDaysInMonth();
72.18316 +        var firstOfMonth = date.getFirstDateOfMonth();
72.18317 +        var startingPos = firstOfMonth.getDay()-this.startDay;
72.18318 +
72.18319 +        if(startingPos <= this.startDay){
72.18320 +            startingPos += 7;
72.18321 +        }
72.18322 +
72.18323 +        var pm = date.add("mo", -1);
72.18324 +        var prevStart = pm.getDaysInMonth()-startingPos;
72.18325 +
72.18326 +        var cells = this.cells.elements;
72.18327 +        var textEls = this.textNodes;
72.18328 +        days += startingPos;
72.18329 +
72.18330 +        
72.18331 +        var day = 86400000;
72.18332 +        var d = (new Date(pm.getFullYear(), pm.getMonth(), prevStart)).clearTime();
72.18333 +        var today = new Date().clearTime().getTime();
72.18334 +        var sel = date.clearTime().getTime();
72.18335 +        var min = this.minDate ? this.minDate.clearTime() : Number.NEGATIVE_INFINITY;
72.18336 +        var max = this.maxDate ? this.maxDate.clearTime() : Number.POSITIVE_INFINITY;
72.18337 +        var ddMatch = this.disabledDatesRE;
72.18338 +        var ddText = this.disabledDatesText;
72.18339 +        var ddays = this.disabledDays ? this.disabledDays.join("") : false;
72.18340 +        var ddaysText = this.disabledDaysText;
72.18341 +        var format = this.format;
72.18342 +
72.18343 +        var setCellClass = function(cal, cell){
72.18344 +            cell.title = "";
72.18345 +            var t = d.getTime();
72.18346 +            cell.firstChild.dateValue = t;
72.18347 +            if(t == today){
72.18348 +                cell.className += " x-date-today";
72.18349 +                cell.title = cal.todayText;
72.18350 +            }
72.18351 +            if(t == sel){
72.18352 +                cell.className += " x-date-selected";
72.18353 +                setTimeout(function(){
72.18354 +                    try{cell.firstChild.focus();}catch(e){}
72.18355 +                }, 50);
72.18356 +            }
72.18357 +            
72.18358 +            if(t < min) {
72.18359 +                cell.className = " x-date-disabled";
72.18360 +                cell.title = cal.minText;
72.18361 +                return;
72.18362 +            }
72.18363 +            if(t > max) {
72.18364 +                cell.className = " x-date-disabled";
72.18365 +                cell.title = cal.maxText;
72.18366 +                return;
72.18367 +            }
72.18368 +            if(ddays){
72.18369 +                if(ddays.indexOf(d.getDay()) != -1){
72.18370 +                    cell.title = ddaysText;
72.18371 +                    cell.className = " x-date-disabled";
72.18372 +                }
72.18373 +            }
72.18374 +            if(ddMatch && format){
72.18375 +                var fvalue = d.dateFormat(format);
72.18376 +                if(ddMatch.test(fvalue)){
72.18377 +                    cell.title = ddText.replace("%0", fvalue);
72.18378 +                    cell.className = " x-date-disabled";
72.18379 +                }
72.18380 +            }
72.18381 +        };
72.18382 +
72.18383 +        var i = 0;
72.18384 +        for(; i < startingPos; i++) {
72.18385 +            textEls[i].innerHTML = (++prevStart);
72.18386 +            d.setDate(d.getDate()+1);
72.18387 +            cells[i].className = "x-date-prevday";
72.18388 +            setCellClass(this, cells[i]);
72.18389 +        }
72.18390 +        for(; i < days; i++){
72.18391 +            intDay = i - startingPos + 1;
72.18392 +            textEls[i].innerHTML = (intDay);
72.18393 +            d.setDate(d.getDate()+1);
72.18394 +            cells[i].className = "x-date-active";
72.18395 +            setCellClass(this, cells[i]);
72.18396 +        }
72.18397 +        var extraDays = 0;
72.18398 +        for(; i < 42; i++) {
72.18399 +             textEls[i].innerHTML = (++extraDays);
72.18400 +             d.setDate(d.getDate()+1);
72.18401 +             cells[i].className = "x-date-nextday";
72.18402 +             setCellClass(this, cells[i]);
72.18403 +        }
72.18404 +
72.18405 +        this.mbtn.setText(this.monthNames[date.getMonth()] + " " + date.getFullYear());
72.18406 +
72.18407 +        if(!this.internalRender){
72.18408 +            var main = this.el.dom.firstChild;
72.18409 +            var w = main.offsetWidth;
72.18410 +            this.el.setWidth(w + this.el.getBorderWidth("lr"));
72.18411 +            Ext.fly(main).setWidth(w);
72.18412 +            this.internalRender = true;
72.18413 +            
72.18414 +            
72.18415 +            
72.18416 +            if(Ext.isOpera && !this.secondPass){
72.18417 +                main.rows[0].cells[1].style.width = (w - (main.rows[0].cells[0].offsetWidth+main.rows[0].cells[2].offsetWidth)) + "px";
72.18418 +                this.secondPass = true;
72.18419 +                this.update.defer(10, this, [date]);
72.18420 +            }
72.18421 +        }
72.18422 +    },
72.18423 +
72.18424 +    
72.18425 +    beforeDestroy : function() {
72.18426 +        if(this.rendered){
72.18427 +	        this.mbtn.destroy();
72.18428 +	        this.todayBtn.destroy();
72.18429 +        }
72.18430 +    }
72.18431 +
72.18432 +    
72.18433 +});
72.18434 +Ext.reg('datepicker', Ext.DatePicker);
72.18435 +
72.18436 +Ext.TabPanel = Ext.extend(Ext.Panel,  {
72.18437 +    
72.18438 +    
72.18439 +    monitorResize : true,
72.18440 +    
72.18441 +    deferredRender : true,
72.18442 +    
72.18443 +    tabWidth: 120,
72.18444 +    
72.18445 +    minTabWidth: 30,
72.18446 +    
72.18447 +    resizeTabs:false,
72.18448 +    
72.18449 +    enableTabScroll: false,
72.18450 +    
72.18451 +    scrollIncrement : 0,
72.18452 +    
72.18453 +    scrollRepeatInterval : 400,
72.18454 +    
72.18455 +    scrollDuration : .35,
72.18456 +    
72.18457 +    animScroll : true,
72.18458 +    
72.18459 +    tabPosition: 'top',
72.18460 +    
72.18461 +    baseCls: 'x-tab-panel',
72.18462 +    
72.18463 +    autoTabs : false,
72.18464 +    
72.18465 +    autoTabSelector:'div.x-tab',
72.18466 +    
72.18467 +    activeTab : null,
72.18468 +    
72.18469 +    tabMargin : 2,
72.18470 +    
72.18471 +    plain: false,
72.18472 +    
72.18473 +    wheelIncrement : 20,
72.18474 +
72.18475 +    
72.18476 +    idDelimiter : '__',
72.18477 +
72.18478 +        itemCls : 'x-tab-item',
72.18479 +
72.18480 +        elements: 'body',
72.18481 +    headerAsText: false,
72.18482 +    frame: false,
72.18483 +    hideBorders:true,
72.18484 +
72.18485 +        initComponent : function(){
72.18486 +        this.frame = false;
72.18487 +        Ext.TabPanel.superclass.initComponent.call(this);
72.18488 +        this.addEvents(
72.18489 +            
72.18490 +            'beforetabchange',
72.18491 +            
72.18492 +            'tabchange',
72.18493 +            
72.18494 +            'contextmenu'
72.18495 +        );
72.18496 +        this.setLayout(new Ext.layout.CardLayout({
72.18497 +            deferredRender: this.deferredRender
72.18498 +        }));
72.18499 +        if(this.tabPosition == 'top'){
72.18500 +            this.elements += ',header';
72.18501 +            this.stripTarget = 'header';
72.18502 +        }else {
72.18503 +            this.elements += ',footer';
72.18504 +            this.stripTarget = 'footer';
72.18505 +        }
72.18506 +        if(!this.stack){
72.18507 +            this.stack = Ext.TabPanel.AccessStack();
72.18508 +        }
72.18509 +        this.initItems();
72.18510 +    },
72.18511 +
72.18512 +        render : function(){
72.18513 +        Ext.TabPanel.superclass.render.apply(this, arguments);
72.18514 +        if(this.activeTab !== undefined){
72.18515 +            var item = this.activeTab;
72.18516 +            delete this.activeTab;
72.18517 +            this.setActiveTab(item);
72.18518 +        }
72.18519 +    },
72.18520 +
72.18521 +        onRender : function(ct, position){
72.18522 +        Ext.TabPanel.superclass.onRender.call(this, ct, position);
72.18523 +
72.18524 +        if(this.plain){
72.18525 +            var pos = this.tabPosition == 'top' ? 'header' : 'footer';
72.18526 +            this[pos].addClass('x-tab-panel-'+pos+'-plain');
72.18527 +        }
72.18528 +
72.18529 +        var st = this[this.stripTarget];
72.18530 +
72.18531 +        this.stripWrap = st.createChild({cls:'x-tab-strip-wrap', cn:{
72.18532 +            tag:'ul', cls:'x-tab-strip x-tab-strip-'+this.tabPosition}});
72.18533 +        this.stripSpacer = st.createChild({cls:'x-tab-strip-spacer'});
72.18534 +        this.strip = new Ext.Element(this.stripWrap.dom.firstChild);
72.18535 +
72.18536 +        this.edge = this.strip.createChild({tag:'li', cls:'x-tab-edge'});
72.18537 +        this.strip.createChild({cls:'x-clear'});
72.18538 +
72.18539 +        this.body.addClass('x-tab-panel-body-'+this.tabPosition);
72.18540 +
72.18541 +        if(!this.itemTpl){
72.18542 +            var tt = new Ext.Template(
72.18543 +                 '<li class="{cls}" id="{id}"><a class="x-tab-strip-close" onclick="return false;"></a>',
72.18544 +                 '<a class="x-tab-right" href="#" onclick="return false;"><em class="x-tab-left">',
72.18545 +                 '<span class="x-tab-strip-inner"><span class="x-tab-strip-text {iconCls}">{text}</span></span>',
72.18546 +                 '</em></a></li>'
72.18547 +            );
72.18548 +            tt.disableFormats = true;
72.18549 +            tt.compile();
72.18550 +            Ext.TabPanel.prototype.itemTpl = tt;
72.18551 +        }
72.18552 +
72.18553 +        this.items.each(this.initTab, this);
72.18554 +    },
72.18555 +
72.18556 +        afterRender : function(){
72.18557 +        Ext.TabPanel.superclass.afterRender.call(this);
72.18558 +        if(this.autoTabs){
72.18559 +            this.readTabs(false);
72.18560 +        }
72.18561 +    },
72.18562 +
72.18563 +        initEvents : function(){
72.18564 +        Ext.TabPanel.superclass.initEvents.call(this);
72.18565 +        this.on('add', this.onAdd, this);
72.18566 +        this.on('remove', this.onRemove, this);
72.18567 +
72.18568 +        this.strip.on('mousedown', this.onStripMouseDown, this);
72.18569 +        this.strip.on('click', this.onStripClick, this);
72.18570 +        this.strip.on('contextmenu', this.onStripContextMenu, this);
72.18571 +        if(this.enableTabScroll){
72.18572 +            this.strip.on('mousewheel', this.onWheel, this);
72.18573 +        }
72.18574 +    },
72.18575 +
72.18576 +        findTargets : function(e){
72.18577 +        var item = null;
72.18578 +        var itemEl = e.getTarget('li', this.strip);
72.18579 +        if(itemEl){
72.18580 +            item = this.getComponent(itemEl.id.split(this.idDelimiter)[1]);
72.18581 +            if(item.disabled){
72.18582 +                return {
72.18583 +                    close : null,
72.18584 +                    item : null,
72.18585 +                    el : null
72.18586 +                };
72.18587 +            }
72.18588 +        }
72.18589 +        return {
72.18590 +            close : e.getTarget('.x-tab-strip-close', this.strip),
72.18591 +            item : item,
72.18592 +            el : itemEl
72.18593 +        };
72.18594 +    },
72.18595 +
72.18596 +        onStripMouseDown : function(e){
72.18597 +        e.preventDefault();
72.18598 +        if(e.button != 0){
72.18599 +            return;
72.18600 +        }
72.18601 +        var t = this.findTargets(e);
72.18602 +        if(t.close){
72.18603 +            this.remove(t.item);
72.18604 +            return;
72.18605 +        }
72.18606 +        if(t.item && t.item != this.activeTab){
72.18607 +            this.setActiveTab(t.item);
72.18608 +        }
72.18609 +    },
72.18610 +
72.18611 +        onStripClick : function(e){
72.18612 +        var t = this.findTargets(e);
72.18613 +        if(!t.close && t.item && t.item != this.activeTab){
72.18614 +            this.setActiveTab(t.item);
72.18615 +        }
72.18616 +    },
72.18617 +
72.18618 +        onStripContextMenu : function(e){
72.18619 +        e.preventDefault();
72.18620 +        var t = this.findTargets(e);
72.18621 +        if(t.item){
72.18622 +            this.fireEvent('contextmenu', this, t.item, e);
72.18623 +        }
72.18624 +    },
72.18625 +
72.18626 +    
72.18627 +    readTabs : function(removeExisting){
72.18628 +        if(removeExisting === true){
72.18629 +            this.items.each(function(item){
72.18630 +                this.remove(item);
72.18631 +            }, this);
72.18632 +        }
72.18633 +        var tabs = this.el.query(this.autoTabSelector);
72.18634 +        for(var i = 0, len = tabs.length; i < len; i++){
72.18635 +            var tab = tabs[i];
72.18636 +            var title = tab.getAttribute('title');
72.18637 +            tab.removeAttribute('title');
72.18638 +            this.add({
72.18639 +                title: title,
72.18640 +                el: tab
72.18641 +            });
72.18642 +        }
72.18643 +    },
72.18644 +
72.18645 +        initTab : function(item, index){
72.18646 +        var before = this.strip.dom.childNodes[index];
72.18647 +        var cls = item.closable ? 'x-tab-strip-closable' : '';
72.18648 +        if(item.disabled){
72.18649 +            cls += ' x-item-disabled';
72.18650 +        }
72.18651 +        if(item.iconCls){
72.18652 +            cls += ' x-tab-with-icon';
72.18653 +        }
72.18654 +        if(item.tabCls){
72.18655 +            cls += ' ' + item.tabCls;
72.18656 +        }
72.18657 +        
72.18658 +        var p = {
72.18659 +            id: this.id + this.idDelimiter + item.getItemId(),
72.18660 +            text: item.title,
72.18661 +            cls: cls,
72.18662 +            iconCls: item.iconCls || ''
72.18663 +        };
72.18664 +        var el = before ?
72.18665 +                 this.itemTpl.insertBefore(before, p) :
72.18666 +                 this.itemTpl.append(this.strip, p);
72.18667 +
72.18668 +        Ext.fly(el).addClassOnOver('x-tab-strip-over');
72.18669 +
72.18670 +        if(item.tabTip){
72.18671 +            Ext.fly(el).child('span.x-tab-strip-text', true).qtip = item.tabTip;
72.18672 +        }
72.18673 +        item.on('disable', this.onItemDisabled, this);
72.18674 +        item.on('enable', this.onItemEnabled, this);
72.18675 +        item.on('titlechange', this.onItemTitleChanged, this);
72.18676 +        item.on('beforeshow', this.onBeforeShowItem, this);
72.18677 +    },
72.18678 +
72.18679 +        onAdd : function(tp, item, index){
72.18680 +        this.initTab(item, index);
72.18681 +        if(this.items.getCount() == 1){
72.18682 +            this.syncSize();
72.18683 +        }
72.18684 +        this.delegateUpdates();
72.18685 +    },
72.18686 +
72.18687 +        onBeforeAdd : function(item){
72.18688 +        var existing = item.events ? (this.items.containsKey(item.getItemId()) ? item : null) : this.items.get(item);
72.18689 +        if(existing){
72.18690 +            this.setActiveTab(item);
72.18691 +            return false;
72.18692 +        }
72.18693 +        Ext.TabPanel.superclass.onBeforeAdd.apply(this, arguments);
72.18694 +        var es = item.elements;
72.18695 +        item.elements = es ? es.replace(',header', '') : es;
72.18696 +        item.border = (item.border === true);
72.18697 +    },
72.18698 +
72.18699 +        onRemove : function(tp, item){
72.18700 +        Ext.removeNode(this.getTabEl(item));
72.18701 +        this.stack.remove(item);
72.18702 +        item.un('disable', this.onItemDisabled, this);
72.18703 +        item.un('enable', this.onItemEnabled, this);
72.18704 +        item.un('titlechange', this.onItemTitleChanged, this);
72.18705 +        item.un('beforeshow', this.onBeforeShowItem, this);
72.18706 +        if(item == this.activeTab){
72.18707 +            var next = this.stack.next();
72.18708 +            if(next){
72.18709 +                this.setActiveTab(next);
72.18710 +            }else{
72.18711 +                this.setActiveTab(0);
72.18712 +            }
72.18713 +        }
72.18714 +        this.delegateUpdates();
72.18715 +    },
72.18716 +
72.18717 +        onBeforeShowItem : function(item){
72.18718 +        if(item != this.activeTab){
72.18719 +            this.setActiveTab(item);
72.18720 +            return false;
72.18721 +        }
72.18722 +    },
72.18723 +
72.18724 +        onItemDisabled : function(item){
72.18725 +        var el = this.getTabEl(item);
72.18726 +        if(el){
72.18727 +            Ext.fly(el).addClass('x-item-disabled');
72.18728 +        }
72.18729 +        this.stack.remove(item);
72.18730 +    },
72.18731 +
72.18732 +        onItemEnabled : function(item){
72.18733 +        var el = this.getTabEl(item);
72.18734 +        if(el){
72.18735 +            Ext.fly(el).removeClass('x-item-disabled');
72.18736 +        }
72.18737 +    },
72.18738 +
72.18739 +        onItemTitleChanged : function(item){
72.18740 +        var el = this.getTabEl(item);
72.18741 +        if(el){
72.18742 +            Ext.fly(el).child('span.x-tab-strip-text', true).innerHTML = item.title;
72.18743 +        }
72.18744 +    },
72.18745 +
72.18746 +    
72.18747 +    getTabEl : function(item){
72.18748 +        var itemId = (typeof item === 'number')?this.items.items[item].getItemId() : item.getItemId();
72.18749 +        return document.getElementById(this.id+this.idDelimiter+itemId);
72.18750 +    },
72.18751 +
72.18752 +        onResize : function(){
72.18753 +        Ext.TabPanel.superclass.onResize.apply(this, arguments);
72.18754 +        this.delegateUpdates();
72.18755 +    },
72.18756 +
72.18757 +    
72.18758 +    beginUpdate : function(){
72.18759 +        this.suspendUpdates = true;
72.18760 +    },
72.18761 +
72.18762 +    
72.18763 +    endUpdate : function(){
72.18764 +        this.suspendUpdates = false;
72.18765 +        this.delegateUpdates();
72.18766 +    },
72.18767 +
72.18768 +    
72.18769 +    hideTabStripItem : function(item){
72.18770 +        item = this.getComponent(item);
72.18771 +        var el = this.getTabEl(item);
72.18772 +        if(el){
72.18773 +            el.style.display = 'none';
72.18774 +            this.delegateUpdates();
72.18775 +        }
72.18776 +        this.stack.remove(item);
72.18777 +    },
72.18778 +
72.18779 +    
72.18780 +    unhideTabStripItem : function(item){
72.18781 +        item = this.getComponent(item);
72.18782 +        var el = this.getTabEl(item);
72.18783 +        if(el){
72.18784 +            el.style.display = '';
72.18785 +            this.delegateUpdates();
72.18786 +        }
72.18787 +    },
72.18788 +
72.18789 +        delegateUpdates : function(){
72.18790 +        if(this.suspendUpdates){
72.18791 +            return;
72.18792 +        }
72.18793 +        if(this.resizeTabs && this.rendered){
72.18794 +            this.autoSizeTabs();
72.18795 +        }
72.18796 +        if(this.enableTabScroll && this.rendered){
72.18797 +            this.autoScrollTabs();
72.18798 +        }
72.18799 +    },
72.18800 +
72.18801 +        autoSizeTabs : function(){
72.18802 +        var count = this.items.length;
72.18803 +        var ce = this.tabPosition != 'bottom' ? 'header' : 'footer';
72.18804 +        var ow = this[ce].dom.offsetWidth;
72.18805 +        var aw = this[ce].dom.clientWidth;
72.18806 +
72.18807 +        if(!this.resizeTabs || count < 1 || !aw){             return;
72.18808 +        }
72.18809 +
72.18810 +        var each = Math.max(Math.min(Math.floor((aw-4) / count) - this.tabMargin, this.tabWidth), this.minTabWidth);         this.lastTabWidth = each;
72.18811 +        var lis = this.stripWrap.dom.getElementsByTagName('li');
72.18812 +        for(var i = 0, len = lis.length-1; i < len; i++) {             var li = lis[i];
72.18813 +            var inner = li.childNodes[1].firstChild.firstChild;
72.18814 +            var tw = li.offsetWidth;
72.18815 +            var iw = inner.offsetWidth;
72.18816 +            inner.style.width = (each - (tw-iw)) + 'px';
72.18817 +        }
72.18818 +    },
72.18819 +
72.18820 +        adjustBodyWidth : function(w){
72.18821 +        if(this.header){
72.18822 +            this.header.setWidth(w);
72.18823 +        }
72.18824 +        if(this.footer){
72.18825 +            this.footer.setWidth(w);
72.18826 +        }
72.18827 +        return w;
72.18828 +    },
72.18829 +
72.18830 +    
72.18831 +    setActiveTab : function(item){
72.18832 +        item = this.getComponent(item);
72.18833 +        if(!item || this.fireEvent('beforetabchange', this, item, this.activeTab) === false){
72.18834 +            return;
72.18835 +        }
72.18836 +        if(!this.rendered){
72.18837 +            this.activeTab = item;
72.18838 +            return;
72.18839 +        }
72.18840 +        if(this.activeTab != item){
72.18841 +            if(this.activeTab){
72.18842 +                var oldEl = this.getTabEl(this.activeTab);
72.18843 +                if(oldEl){
72.18844 +                    Ext.fly(oldEl).removeClass('x-tab-strip-active');
72.18845 +                }
72.18846 +                this.activeTab.fireEvent('deactivate', this.activeTab);
72.18847 +            }
72.18848 +            var el = this.getTabEl(item);
72.18849 +            Ext.fly(el).addClass('x-tab-strip-active');
72.18850 +            this.activeTab = item;
72.18851 +            this.stack.add(item);
72.18852 +
72.18853 +            this.layout.setActiveItem(item);
72.18854 +            if(this.layoutOnTabChange && item.doLayout){
72.18855 +                item.doLayout();
72.18856 +            }
72.18857 +            if(this.scrolling){
72.18858 +                this.scrollToTab(item, this.animScroll);
72.18859 +            }
72.18860 +
72.18861 +            item.fireEvent('activate', item);
72.18862 +            this.fireEvent('tabchange', this, item);
72.18863 +        }
72.18864 +    },
72.18865 +
72.18866 +    
72.18867 +    getActiveTab : function(){
72.18868 +        return this.activeTab || null;
72.18869 +    },
72.18870 +
72.18871 +    
72.18872 +    getItem : function(item){
72.18873 +        return this.getComponent(item);
72.18874 +    },
72.18875 +
72.18876 +        autoScrollTabs : function(){
72.18877 +        var count = this.items.length;
72.18878 +        var ow = this.header.dom.offsetWidth;
72.18879 +        var tw = this.header.dom.clientWidth;
72.18880 +
72.18881 +        var wrap = this.stripWrap;
72.18882 +        var wd = wrap.dom;
72.18883 +        var cw = wd.offsetWidth;
72.18884 +        var pos = this.getScrollPos();
72.18885 +        var l = this.edge.getOffsetsTo(this.stripWrap)[0] + pos;
72.18886 +
72.18887 +        if(!this.enableTabScroll || count < 1 || cw < 20){             return;
72.18888 +        }
72.18889 +        if(l <= tw){
72.18890 +            wd.scrollLeft = 0;
72.18891 +            wrap.setWidth(tw);
72.18892 +            if(this.scrolling){
72.18893 +                this.scrolling = false;
72.18894 +                this.header.removeClass('x-tab-scrolling');
72.18895 +                this.scrollLeft.hide();
72.18896 +                this.scrollRight.hide();
72.18897 +                if(Ext.isAir){
72.18898 +                    wd.style.marginLeft = '';
72.18899 +                    wd.style.marginRight = '';
72.18900 +                }
72.18901 +            }
72.18902 +        }else{
72.18903 +            if(!this.scrolling){
72.18904 +                this.header.addClass('x-tab-scrolling');
72.18905 +                if(Ext.isAir){
72.18906 +                    wd.style.marginLeft = '18px';
72.18907 +                    wd.style.marginRight = '18px';
72.18908 +                }
72.18909 +            }
72.18910 +            tw -= wrap.getMargins('lr');
72.18911 +            wrap.setWidth(tw > 20 ? tw : 20);
72.18912 +            if(!this.scrolling){
72.18913 +                if(!this.scrollLeft){
72.18914 +                    this.createScrollers();
72.18915 +                }else{
72.18916 +                    this.scrollLeft.show();
72.18917 +                    this.scrollRight.show();
72.18918 +                }
72.18919 +            }
72.18920 +            this.scrolling = true;
72.18921 +            if(pos > (l-tw)){                 wd.scrollLeft = l-tw;
72.18922 +            }else{                 this.scrollToTab(this.activeTab, false);
72.18923 +            }
72.18924 +            this.updateScrollButtons();
72.18925 +        }
72.18926 +    },
72.18927 +
72.18928 +        createScrollers : function(){
72.18929 +        var h = this.stripWrap.dom.offsetHeight;
72.18930 +
72.18931 +                var sl = this.header.insertFirst({
72.18932 +            cls:'x-tab-scroller-left'
72.18933 +        });
72.18934 +        sl.setHeight(h);
72.18935 +        sl.addClassOnOver('x-tab-scroller-left-over');
72.18936 +        this.leftRepeater = new Ext.util.ClickRepeater(sl, {
72.18937 +            interval : this.scrollRepeatInterval,
72.18938 +            handler: this.onScrollLeft,
72.18939 +            scope: this
72.18940 +        });
72.18941 +        this.scrollLeft = sl;
72.18942 +
72.18943 +                var sr = this.header.insertFirst({
72.18944 +            cls:'x-tab-scroller-right'
72.18945 +        });
72.18946 +        sr.setHeight(h);
72.18947 +        sr.addClassOnOver('x-tab-scroller-right-over');
72.18948 +        this.rightRepeater = new Ext.util.ClickRepeater(sr, {
72.18949 +            interval : this.scrollRepeatInterval,
72.18950 +            handler: this.onScrollRight,
72.18951 +            scope: this
72.18952 +        });
72.18953 +        this.scrollRight = sr;
72.18954 +    },
72.18955 +
72.18956 +        getScrollWidth : function(){
72.18957 +        return this.edge.getOffsetsTo(this.stripWrap)[0] + this.getScrollPos();
72.18958 +    },
72.18959 +
72.18960 +        getScrollPos : function(){
72.18961 +        return parseInt(this.stripWrap.dom.scrollLeft, 10) || 0;
72.18962 +    },
72.18963 +
72.18964 +        getScrollArea : function(){
72.18965 +        return parseInt(this.stripWrap.dom.clientWidth, 10) || 0;
72.18966 +    },
72.18967 +
72.18968 +        getScrollAnim : function(){
72.18969 +        return {duration:this.scrollDuration, callback: this.updateScrollButtons, scope: this};
72.18970 +    },
72.18971 +
72.18972 +        getScrollIncrement : function(){
72.18973 +        return this.scrollIncrement || (this.resizeTabs ? this.lastTabWidth+2 : 100);
72.18974 +    },
72.18975 +
72.18976 +    
72.18977 +
72.18978 +    scrollToTab : function(item, animate){
72.18979 +        if(!item){ return; }
72.18980 +        var el = this.getTabEl(item);
72.18981 +        var pos = this.getScrollPos(), area = this.getScrollArea();
72.18982 +        var left = Ext.fly(el).getOffsetsTo(this.stripWrap)[0] + pos;
72.18983 +        var right = left + el.offsetWidth;
72.18984 +        if(left < pos){
72.18985 +            this.scrollTo(left, animate);
72.18986 +        }else if(right > (pos + area)){
72.18987 +            this.scrollTo(right - area, animate);
72.18988 +        }
72.18989 +    },
72.18990 +
72.18991 +        scrollTo : function(pos, animate){
72.18992 +        this.stripWrap.scrollTo('left', pos, animate ? this.getScrollAnim() : false);
72.18993 +        if(!animate){
72.18994 +            this.updateScrollButtons();
72.18995 +        }
72.18996 +    },
72.18997 +
72.18998 +    onWheel : function(e){
72.18999 +        var d = e.getWheelDelta()*this.wheelIncrement*-1;
72.19000 +        e.stopEvent();
72.19001 +
72.19002 +        var pos = this.getScrollPos();
72.19003 +        var newpos = pos + d;
72.19004 +        var sw = this.getScrollWidth()-this.getScrollArea();
72.19005 +
72.19006 +        var s = Math.max(0, Math.min(sw, newpos));
72.19007 +        if(s != pos){
72.19008 +            this.scrollTo(s, false);
72.19009 +        }
72.19010 +    },
72.19011 +
72.19012 +        onScrollRight : function(){
72.19013 +        var sw = this.getScrollWidth()-this.getScrollArea();
72.19014 +        var pos = this.getScrollPos();
72.19015 +        var s = Math.min(sw, pos + this.getScrollIncrement());
72.19016 +        if(s != pos){
72.19017 +            this.scrollTo(s, this.animScroll);
72.19018 +        }
72.19019 +    },
72.19020 +
72.19021 +        onScrollLeft : function(){
72.19022 +        var pos = this.getScrollPos();
72.19023 +        var s = Math.max(0, pos - this.getScrollIncrement());
72.19024 +        if(s != pos){
72.19025 +            this.scrollTo(s, this.animScroll);
72.19026 +        }
72.19027 +    },
72.19028 +
72.19029 +        updateScrollButtons : function(){
72.19030 +        var pos = this.getScrollPos();
72.19031 +        this.scrollLeft[pos == 0 ? 'addClass' : 'removeClass']('x-tab-scroller-left-disabled');
72.19032 +        this.scrollRight[pos >= (this.getScrollWidth()-this.getScrollArea()) ? 'addClass' : 'removeClass']('x-tab-scroller-right-disabled');
72.19033 +    }
72.19034 +
72.19035 +    
72.19036 +    
72.19037 +    
72.19038 +    
72.19039 +    
72.19040 +    
72.19041 +    
72.19042 +    
72.19043 +    
72.19044 +    
72.19045 +    
72.19046 +
72.19047 +});
72.19048 +Ext.reg('tabpanel', Ext.TabPanel);
72.19049 +
72.19050 +
72.19051 +Ext.TabPanel.prototype.activate = Ext.TabPanel.prototype.setActiveTab;
72.19052 +
72.19053 +Ext.TabPanel.AccessStack = function(){
72.19054 +    var items = [];
72.19055 +    return {
72.19056 +        add : function(item){
72.19057 +            items.push(item);
72.19058 +            if(items.length > 10){
72.19059 +                items.shift();
72.19060 +            }
72.19061 +        },
72.19062 +
72.19063 +        remove : function(item){
72.19064 +            var s = [];
72.19065 +            for(var i = 0, len = items.length; i < len; i++) {
72.19066 +                if(items[i] != item){
72.19067 +                    s.push(items[i]);
72.19068 +                }
72.19069 +            }
72.19070 +            items = s;
72.19071 +        },
72.19072 +
72.19073 +        next : function(){
72.19074 +            return items.pop();
72.19075 +        }
72.19076 +    };
72.19077 +};
72.19078 +
72.19079 +
72.19080 +
72.19081 +
72.19082 +Ext.Button = Ext.extend(Ext.Component, {
72.19083 +    
72.19084 +    hidden : false,
72.19085 +    
72.19086 +    disabled : false,
72.19087 +    
72.19088 +    pressed : false,
72.19089 +    
72.19090 +
72.19091 +    
72.19092 +
72.19093 +    
72.19094 +
72.19095 +    
72.19096 +    enableToggle: false,
72.19097 +    
72.19098 +    
72.19099 +    
72.19100 +    menuAlign : "tl-bl?",
72.19101 +
72.19102 +    
72.19103 +    
72.19104 +    type : 'button',
72.19105 +
72.19106 +        menuClassTarget: 'tr',
72.19107 +
72.19108 +    
72.19109 +    clickEvent : 'click',
72.19110 +
72.19111 +    
72.19112 +    handleMouseEvents : true,
72.19113 +
72.19114 +    
72.19115 +    tooltipType : 'qtip',
72.19116 +
72.19117 +    buttonSelector : "button:first",
72.19118 +
72.19119 +    
72.19120 +    
72.19121 +
72.19122 +    initComponent : function(){
72.19123 +        Ext.Button.superclass.initComponent.call(this);
72.19124 +
72.19125 +        this.addEvents(
72.19126 +            
72.19127 +            "click",
72.19128 +            
72.19129 +            "toggle",
72.19130 +            
72.19131 +            'mouseover',
72.19132 +            
72.19133 +            'mouseout',
72.19134 +            
72.19135 +            'menushow',
72.19136 +            
72.19137 +            'menuhide',
72.19138 +            
72.19139 +            'menutriggerover',
72.19140 +            
72.19141 +            'menutriggerout'
72.19142 +        );
72.19143 +        if(this.menu){
72.19144 +            this.menu = Ext.menu.MenuMgr.get(this.menu);
72.19145 +        }
72.19146 +        if(typeof this.toggleGroup === 'string'){
72.19147 +            this.enableToggle = true;
72.19148 +        }
72.19149 +    },
72.19150 +
72.19151 +        onRender : function(ct, position){
72.19152 +        if(!this.template){
72.19153 +            if(!Ext.Button.buttonTemplate){
72.19154 +                                Ext.Button.buttonTemplate = new Ext.Template(
72.19155 +                    '<table border="0" cellpadding="0" cellspacing="0" class="x-btn-wrap"><tbody><tr>',
72.19156 +                    '<td class="x-btn-left"><i>&#160;</i></td><td class="x-btn-center"><em unselectable="on"><button class="x-btn-text" type="{1}">{0}</button></em></td><td class="x-btn-right"><i>&#160;</i></td>',
72.19157 +                    "</tr></tbody></table>");
72.19158 +            }
72.19159 +            this.template = Ext.Button.buttonTemplate;
72.19160 +        }
72.19161 +        var btn, targs = [this.text || '&#160;', this.type];
72.19162 +
72.19163 +        if(position){
72.19164 +            btn = this.template.insertBefore(position, targs, true);
72.19165 +        }else{
72.19166 +            btn = this.template.append(ct, targs, true);
72.19167 +        }
72.19168 +        var btnEl = btn.child(this.buttonSelector);
72.19169 +        btnEl.on('focus', this.onFocus, this);
72.19170 +        btnEl.on('blur', this.onBlur, this);
72.19171 +
72.19172 +        this.initButtonEl(btn, btnEl);
72.19173 +
72.19174 +        if(this.menu){
72.19175 +            this.el.child(this.menuClassTarget).addClass("x-btn-with-menu");
72.19176 +        }
72.19177 +        Ext.ButtonToggleMgr.register(this);
72.19178 +    },
72.19179 +
72.19180 +        initButtonEl : function(btn, btnEl){
72.19181 +
72.19182 +        this.el = btn;
72.19183 +        btn.addClass("x-btn");
72.19184 +
72.19185 +        if(this.icon){
72.19186 +            btnEl.setStyle('background-image', 'url(' +this.icon +')');
72.19187 +        }
72.19188 +        if(this.iconCls){
72.19189 +            btnEl.addClass(this.iconCls);
72.19190 +            if(!this.cls){
72.19191 +                btn.addClass(this.text ? 'x-btn-text-icon' : 'x-btn-icon');
72.19192 +            }
72.19193 +        }
72.19194 +        if(this.tabIndex !== undefined){
72.19195 +            btnEl.dom.tabIndex = this.tabIndex;
72.19196 +        }
72.19197 +        if(this.tooltip){
72.19198 +            if(typeof this.tooltip == 'object'){
72.19199 +                Ext.QuickTips.register(Ext.apply({
72.19200 +                      target: btnEl.id
72.19201 +                }, this.tooltip));
72.19202 +            } else {
72.19203 +                btnEl.dom[this.tooltipType] = this.tooltip;
72.19204 +            }
72.19205 +        }
72.19206 +
72.19207 +        if(this.pressed){
72.19208 +            this.el.addClass("x-btn-pressed");
72.19209 +        }
72.19210 +
72.19211 +        if(this.handleMouseEvents){
72.19212 +            btn.on("mouseover", this.onMouseOver, this);
72.19213 +                                    btn.on("mousedown", this.onMouseDown, this);
72.19214 +        }
72.19215 +
72.19216 +        if(this.menu){
72.19217 +            this.menu.on("show", this.onMenuShow, this);
72.19218 +            this.menu.on("hide", this.onMenuHide, this);
72.19219 +        }
72.19220 +
72.19221 +        if(this.id){
72.19222 +            this.el.dom.id = this.el.id = this.id;
72.19223 +        }
72.19224 +
72.19225 +        if(this.repeat){
72.19226 +            var repeater = new Ext.util.ClickRepeater(btn,
72.19227 +                typeof this.repeat == "object" ? this.repeat : {}
72.19228 +            );
72.19229 +            repeater.on("click", this.onClick,  this);
72.19230 +        }
72.19231 +
72.19232 +        btn.on(this.clickEvent, this.onClick, this);
72.19233 +    },
72.19234 +
72.19235 +        afterRender : function(){
72.19236 +        Ext.Button.superclass.afterRender.call(this);
72.19237 +        if(Ext.isIE6){
72.19238 +            this.autoWidth.defer(1, this);
72.19239 +        }else{
72.19240 +            this.autoWidth();
72.19241 +        }
72.19242 +    },
72.19243 +
72.19244 +    
72.19245 +    setIconClass : function(cls){
72.19246 +        if(this.el){
72.19247 +            this.el.child(this.buttonSelector).replaceClass(this.iconCls, cls);
72.19248 +        }
72.19249 +        this.iconCls = cls;
72.19250 +    },
72.19251 +
72.19252 +        beforeDestroy: function(){
72.19253 +    	if(this.rendered){
72.19254 +	        var btn = this.el.child(this.buttonSelector);
72.19255 +	        if(btn){
72.19256 +	            btn.removeAllListeners();
72.19257 +	        }
72.19258 +	    }
72.19259 +        if(this.menu){
72.19260 +            Ext.destroy(this.menu);
72.19261 +        }
72.19262 +    },
72.19263 +
72.19264 +        onDestroy : function(){
72.19265 +        if(this.rendered){
72.19266 +            Ext.ButtonToggleMgr.unregister(this);
72.19267 +        }
72.19268 +    },
72.19269 +
72.19270 +        autoWidth : function(){
72.19271 +        if(this.el){
72.19272 +            this.el.setWidth("auto");
72.19273 +            if(Ext.isIE7 && Ext.isStrict){
72.19274 +                var ib = this.el.child(this.buttonSelector);
72.19275 +                if(ib && ib.getWidth() > 20){
72.19276 +                    ib.clip();
72.19277 +                    ib.setWidth(Ext.util.TextMetrics.measure(ib, this.text).width+ib.getFrameWidth('lr'));
72.19278 +                }
72.19279 +            }
72.19280 +            if(this.minWidth){
72.19281 +                if(this.el.getWidth() < this.minWidth){
72.19282 +                    this.el.setWidth(this.minWidth);
72.19283 +                }
72.19284 +            }
72.19285 +        }
72.19286 +    },
72.19287 +
72.19288 +    
72.19289 +    setHandler : function(handler, scope){
72.19290 +        this.handler = handler;
72.19291 +        this.scope = scope;
72.19292 +    },
72.19293 +
72.19294 +    
72.19295 +    setText : function(text){
72.19296 +        this.text = text;
72.19297 +        if(this.el){
72.19298 +            this.el.child("td.x-btn-center " + this.buttonSelector).update(text);
72.19299 +        }
72.19300 +        this.autoWidth();
72.19301 +    },
72.19302 +
72.19303 +    
72.19304 +    getText : function(){
72.19305 +        return this.text;
72.19306 +    },
72.19307 +
72.19308 +    
72.19309 +    toggle : function(state){
72.19310 +        state = state === undefined ? !this.pressed : state;
72.19311 +        if(state != this.pressed){
72.19312 +            if(state){
72.19313 +                this.el.addClass("x-btn-pressed");
72.19314 +                this.pressed = true;
72.19315 +                this.fireEvent("toggle", this, true);
72.19316 +            }else{
72.19317 +                this.el.removeClass("x-btn-pressed");
72.19318 +                this.pressed = false;
72.19319 +                this.fireEvent("toggle", this, false);
72.19320 +            }
72.19321 +            if(this.toggleHandler){
72.19322 +                this.toggleHandler.call(this.scope || this, this, state);
72.19323 +            }
72.19324 +        }
72.19325 +    },
72.19326 +
72.19327 +    
72.19328 +    focus : function(){
72.19329 +        this.el.child(this.buttonSelector).focus();
72.19330 +    },
72.19331 +
72.19332 +        onDisable : function(){
72.19333 +        if(this.el){
72.19334 +            if(!Ext.isIE6 || !this.text){
72.19335 +                this.el.addClass(this.disabledClass);
72.19336 +            }
72.19337 +            this.el.dom.disabled = true;
72.19338 +        }
72.19339 +        this.disabled = true;
72.19340 +    },
72.19341 +
72.19342 +        onEnable : function(){
72.19343 +        if(this.el){
72.19344 +            if(!Ext.isIE6 || !this.text){
72.19345 +                this.el.removeClass(this.disabledClass);
72.19346 +            }
72.19347 +            this.el.dom.disabled = false;
72.19348 +        }
72.19349 +        this.disabled = false;
72.19350 +    },
72.19351 +
72.19352 +    
72.19353 +    showMenu : function(){
72.19354 +        if(this.menu){
72.19355 +            this.menu.show(this.el, this.menuAlign);
72.19356 +        }
72.19357 +        return this;
72.19358 +    },
72.19359 +
72.19360 +    
72.19361 +    hideMenu : function(){
72.19362 +        if(this.menu){
72.19363 +            this.menu.hide();
72.19364 +        }
72.19365 +        return this;
72.19366 +    },
72.19367 +
72.19368 +    
72.19369 +    hasVisibleMenu : function(){
72.19370 +        return this.menu && this.menu.isVisible();
72.19371 +    },
72.19372 +
72.19373 +        onClick : function(e){
72.19374 +        if(e){
72.19375 +            e.preventDefault();
72.19376 +        }
72.19377 +        if(e.button != 0){
72.19378 +            return;
72.19379 +        }
72.19380 +        if(!this.disabled){
72.19381 +            if(this.enableToggle && (this.allowDepress !== false || !this.pressed)){
72.19382 +                this.toggle();
72.19383 +            }
72.19384 +            if(this.menu && !this.menu.isVisible() && !this.ignoreNextClick){
72.19385 +                this.showMenu();
72.19386 +            }
72.19387 +            this.fireEvent("click", this, e);
72.19388 +            if(this.handler){
72.19389 +                                this.handler.call(this.scope || this, this, e);
72.19390 +            }
72.19391 +        }
72.19392 +    },
72.19393 +
72.19394 +        isMenuTriggerOver : function(e, internal){
72.19395 +        return this.menu && !internal;
72.19396 +    },
72.19397 +
72.19398 +        isMenuTriggerOut : function(e, internal){
72.19399 +        return this.menu && !internal;
72.19400 +    },
72.19401 +
72.19402 +        onMouseOver : function(e){
72.19403 +        if(!this.disabled){
72.19404 +            var internal = e.within(this.el,  true);
72.19405 +            if(!internal){
72.19406 +                this.el.addClass("x-btn-over");
72.19407 +                Ext.getDoc().on('mouseover', this.monitorMouseOver, this);
72.19408 +                this.fireEvent('mouseover', this, e);
72.19409 +            }
72.19410 +            if(this.isMenuTriggerOver(e, internal)){
72.19411 +                this.fireEvent('menutriggerover', this, this.menu, e);
72.19412 +            }
72.19413 +        }
72.19414 +    },
72.19415 +
72.19416 +        monitorMouseOver : function(e){
72.19417 +        if(e.target != this.el.dom && !e.within(this.el)){
72.19418 +            Ext.getDoc().un('mouseover', this.monitorMouseOver, this);
72.19419 +            this.onMouseOut(e);
72.19420 +        }
72.19421 +    },
72.19422 +
72.19423 +        onMouseOut : function(e){
72.19424 +        var internal = e.within(this.el) && e.target != this.el.dom;
72.19425 +        this.el.removeClass("x-btn-over");
72.19426 +        this.fireEvent('mouseout', this, e);
72.19427 +        if(this.isMenuTriggerOut(e, internal)){
72.19428 +            this.fireEvent('menutriggerout', this, this.menu, e);
72.19429 +        }
72.19430 +    },
72.19431 +        onFocus : function(e){
72.19432 +        if(!this.disabled){
72.19433 +            this.el.addClass("x-btn-focus");
72.19434 +        }
72.19435 +    },
72.19436 +        onBlur : function(e){
72.19437 +        this.el.removeClass("x-btn-focus");
72.19438 +    },
72.19439 +
72.19440 +        getClickEl : function(e, isUp){
72.19441 +       return this.el;
72.19442 +    },
72.19443 +
72.19444 +        onMouseDown : function(e){
72.19445 +        if(!this.disabled && e.button == 0){
72.19446 +            this.getClickEl(e).addClass("x-btn-click");
72.19447 +            Ext.getDoc().on('mouseup', this.onMouseUp, this);
72.19448 +        }
72.19449 +    },
72.19450 +        onMouseUp : function(e){
72.19451 +        if(e.button == 0){
72.19452 +            this.getClickEl(e, true).removeClass("x-btn-click");
72.19453 +            Ext.getDoc().un('mouseup', this.onMouseUp, this);
72.19454 +        }
72.19455 +    },
72.19456 +        onMenuShow : function(e){
72.19457 +        this.ignoreNextClick = 0;
72.19458 +        this.el.addClass("x-btn-menu-active");
72.19459 +        this.fireEvent('menushow', this, this.menu);
72.19460 +    },
72.19461 +        onMenuHide : function(e){
72.19462 +        this.el.removeClass("x-btn-menu-active");
72.19463 +        this.ignoreNextClick = this.restoreClick.defer(250, this);
72.19464 +        this.fireEvent('menuhide', this, this.menu);
72.19465 +    },
72.19466 +
72.19467 +        restoreClick : function(){
72.19468 +        this.ignoreNextClick = 0;
72.19469 +    }
72.19470 +
72.19471 +
72.19472 +
72.19473 +    
72.19474 +});
72.19475 +Ext.reg('button', Ext.Button);
72.19476 +
72.19477 +Ext.ButtonToggleMgr = function(){
72.19478 +   var groups = {};
72.19479 +
72.19480 +   function toggleGroup(btn, state){
72.19481 +       if(state){
72.19482 +           var g = groups[btn.toggleGroup];
72.19483 +           for(var i = 0, l = g.length; i < l; i++){
72.19484 +               if(g[i] != btn){
72.19485 +                   g[i].toggle(false);
72.19486 +               }
72.19487 +           }
72.19488 +       }
72.19489 +   }
72.19490 +
72.19491 +   return {
72.19492 +       register : function(btn){
72.19493 +           if(!btn.toggleGroup){
72.19494 +               return;
72.19495 +           }
72.19496 +           var g = groups[btn.toggleGroup];
72.19497 +           if(!g){
72.19498 +               g = groups[btn.toggleGroup] = [];
72.19499 +           }
72.19500 +           g.push(btn);
72.19501 +           btn.on("toggle", toggleGroup);
72.19502 +       },
72.19503 +
72.19504 +       unregister : function(btn){
72.19505 +           if(!btn.toggleGroup){
72.19506 +               return;
72.19507 +           }
72.19508 +           var g = groups[btn.toggleGroup];
72.19509 +           if(g){
72.19510 +               g.remove(btn);
72.19511 +               btn.un("toggle", toggleGroup);
72.19512 +           }
72.19513 +       }
72.19514 +   };
72.19515 +}();
72.19516 +
72.19517 +Ext.SplitButton = Ext.extend(Ext.Button, {
72.19518 +	
72.19519 +    arrowSelector : 'button:last',
72.19520 +
72.19521 +    
72.19522 +    initComponent : function(){
72.19523 +        Ext.SplitButton.superclass.initComponent.call(this);
72.19524 +        
72.19525 +        this.addEvents("arrowclick");
72.19526 +    },
72.19527 +
72.19528 +    
72.19529 +    onRender : function(ct, position){
72.19530 +        
72.19531 +        var tpl = new Ext.Template(
72.19532 +            '<table cellspacing="0" class="x-btn-menu-wrap x-btn"><tr><td>',
72.19533 +            '<table cellspacing="0" class="x-btn-wrap x-btn-menu-text-wrap"><tbody>',
72.19534 +            '<tr><td class="x-btn-left"><i>&#160;</i></td><td class="x-btn-center"><button class="x-btn-text" type="{1}">{0}</button></td></tr>',
72.19535 +            "</tbody></table></td><td>",
72.19536 +            '<table cellspacing="0" class="x-btn-wrap x-btn-menu-arrow-wrap"><tbody>',
72.19537 +            '<tr><td class="x-btn-center"><button class="x-btn-menu-arrow-el" type="button">&#160;</button></td><td class="x-btn-right"><i>&#160;</i></td></tr>',
72.19538 +            "</tbody></table></td></tr></table>"
72.19539 +        );
72.19540 +        var btn, targs = [this.text || '&#160;', this.type];
72.19541 +        if(position){
72.19542 +            btn = tpl.insertBefore(position, targs, true);
72.19543 +        }else{
72.19544 +            btn = tpl.append(ct, targs, true);
72.19545 +        }
72.19546 +        var btnEl = btn.child(this.buttonSelector);
72.19547 +
72.19548 +        this.initButtonEl(btn, btnEl);
72.19549 +        this.arrowBtnTable = btn.child("table:last");
72.19550 +        if(this.arrowTooltip){
72.19551 +            btn.child(this.arrowSelector).dom[this.tooltipType] = this.arrowTooltip;
72.19552 +        }
72.19553 +    },
72.19554 +
72.19555 +    
72.19556 +    autoWidth : function(){
72.19557 +        if(this.el){
72.19558 +            var tbl = this.el.child("table:first");
72.19559 +            var tbl2 = this.el.child("table:last");
72.19560 +            this.el.setWidth("auto");
72.19561 +            tbl.setWidth("auto");
72.19562 +            if(Ext.isIE7 && Ext.isStrict){
72.19563 +                var ib = this.el.child(this.buttonSelector);
72.19564 +                if(ib && ib.getWidth() > 20){
72.19565 +                    ib.clip();
72.19566 +                    ib.setWidth(Ext.util.TextMetrics.measure(ib, this.text).width+ib.getFrameWidth('lr'));
72.19567 +                }
72.19568 +            }
72.19569 +            if(this.minWidth){
72.19570 +                if((tbl.getWidth()+tbl2.getWidth()) < this.minWidth){
72.19571 +                    tbl.setWidth(this.minWidth-tbl2.getWidth());
72.19572 +                }
72.19573 +            }
72.19574 +            this.el.setWidth(tbl.getWidth()+tbl2.getWidth());
72.19575 +        } 
72.19576 +    },
72.19577 +
72.19578 +    
72.19579 +    setArrowHandler : function(handler, scope){
72.19580 +        this.arrowHandler = handler;
72.19581 +        this.scope = scope;  
72.19582 +    },
72.19583 +
72.19584 +    
72.19585 +    onClick : function(e){
72.19586 +        e.preventDefault();
72.19587 +        if(!this.disabled){
72.19588 +            if(e.getTarget(".x-btn-menu-arrow-wrap")){
72.19589 +                if(this.menu && !this.menu.isVisible() && !this.ignoreNextClick){
72.19590 +                    this.showMenu();
72.19591 +                }
72.19592 +                this.fireEvent("arrowclick", this, e);
72.19593 +                if(this.arrowHandler){
72.19594 +                    this.arrowHandler.call(this.scope || this, this, e);
72.19595 +                }
72.19596 +            }else{
72.19597 +                if(this.enableToggle){
72.19598 +                    this.toggle();
72.19599 +                }
72.19600 +                this.fireEvent("click", this, e);
72.19601 +                if(this.handler){
72.19602 +                    this.handler.call(this.scope || this, this, e);
72.19603 +                }
72.19604 +            }
72.19605 +        }
72.19606 +    },
72.19607 +
72.19608 +    
72.19609 +    getClickEl : function(e, isUp){
72.19610 +        if(!isUp){
72.19611 +            return (this.lastClickEl = e.getTarget("table", 10, true));
72.19612 +        }
72.19613 +        return this.lastClickEl;
72.19614 +    },
72.19615 +
72.19616 +    
72.19617 +    onDisable : function(){
72.19618 +        if(this.el){
72.19619 +            if(!Ext.isIE6){
72.19620 +                this.el.addClass("x-item-disabled");
72.19621 +            }
72.19622 +            this.el.child(this.buttonSelector).dom.disabled = true;
72.19623 +            this.el.child(this.arrowSelector).dom.disabled = true;
72.19624 +        }
72.19625 +        this.disabled = true;
72.19626 +    },
72.19627 +
72.19628 +    
72.19629 +    onEnable : function(){
72.19630 +        if(this.el){
72.19631 +            if(!Ext.isIE6){
72.19632 +                this.el.removeClass("x-item-disabled");
72.19633 +            }
72.19634 +            this.el.child(this.buttonSelector).dom.disabled = false;
72.19635 +            this.el.child(this.arrowSelector).dom.disabled = false;
72.19636 +        }
72.19637 +        this.disabled = false;
72.19638 +    },
72.19639 +
72.19640 +    
72.19641 +    isMenuTriggerOver : function(e){
72.19642 +        return this.menu && e.within(this.arrowBtnTable) && !e.within(this.arrowBtnTable, true);
72.19643 +    },
72.19644 +
72.19645 +    
72.19646 +    isMenuTriggerOut : function(e, internal){
72.19647 +        return this.menu && !e.within(this.arrowBtnTable);
72.19648 +    },
72.19649 +
72.19650 +    
72.19651 +    onDestroy : function(){
72.19652 +        Ext.destroy(this.arrowBtnTable);
72.19653 +        Ext.SplitButton.superclass.onDestroy.call(this);
72.19654 +    }
72.19655 +});
72.19656 +
72.19657 +
72.19658 +Ext.MenuButton = Ext.SplitButton;
72.19659 +
72.19660 +
72.19661 +Ext.reg('splitbutton', Ext.SplitButton);
72.19662 +
72.19663 +Ext.CycleButton = Ext.extend(Ext.SplitButton, {
72.19664 +    
72.19665 +    
72.19666 +    
72.19667 +    
72.19668 +	
72.19669 +
72.19670 +    
72.19671 +    getItemText : function(item){
72.19672 +        if(item && this.showText === true){
72.19673 +            var text = '';
72.19674 +            if(this.prependText){
72.19675 +                text += this.prependText;
72.19676 +            }
72.19677 +            text += item.text;
72.19678 +            return text;
72.19679 +        }
72.19680 +        return undefined;
72.19681 +    },
72.19682 +
72.19683 +    
72.19684 +    setActiveItem : function(item, suppressEvent){
72.19685 +        if(typeof item != 'object'){
72.19686 +            item = this.menu.items.get(item);
72.19687 +        }
72.19688 +        if(item){
72.19689 +            if(!this.rendered){
72.19690 +                this.text = this.getItemText(item);
72.19691 +                this.iconCls = item.iconCls;
72.19692 +            }else{
72.19693 +                var t = this.getItemText(item);
72.19694 +                if(t){
72.19695 +                    this.setText(t);
72.19696 +                }
72.19697 +                this.setIconClass(item.iconCls);
72.19698 +            }
72.19699 +            this.activeItem = item;
72.19700 +            if(!item.checked){
72.19701 +                item.setChecked(true, true);
72.19702 +            }
72.19703 +            if(this.forceIcon){
72.19704 +                this.setIconClass(this.forceIcon);
72.19705 +            }
72.19706 +            if(!suppressEvent){
72.19707 +                this.fireEvent('change', this, item);
72.19708 +            }
72.19709 +        }
72.19710 +    },
72.19711 +
72.19712 +    
72.19713 +    getActiveItem : function(){
72.19714 +        return this.activeItem;
72.19715 +    },
72.19716 +
72.19717 +    
72.19718 +    initComponent : function(){
72.19719 +        this.addEvents(
72.19720 +            
72.19721 +            "change"
72.19722 +        );
72.19723 +
72.19724 +        if(this.changeHandler){
72.19725 +            this.on('change', this.changeHandler, this.scope||this);
72.19726 +            delete this.changeHandler;
72.19727 +        }
72.19728 +
72.19729 +        this.itemCount = this.items.length;
72.19730 +
72.19731 +        this.menu = {cls:'x-cycle-menu', items:[]};
72.19732 +        var checked;
72.19733 +        for(var i = 0, len = this.itemCount; i < len; i++){
72.19734 +            var item = this.items[i];
72.19735 +            item.group = item.group || this.id;
72.19736 +            item.itemIndex = i;
72.19737 +            item.checkHandler = this.checkHandler;
72.19738 +            item.scope = this;
72.19739 +            item.checked = item.checked || false;
72.19740 +            this.menu.items.push(item);
72.19741 +            if(item.checked){
72.19742 +                checked = item;
72.19743 +            }
72.19744 +        }
72.19745 +        this.setActiveItem(checked, true);
72.19746 +        Ext.CycleButton.superclass.initComponent.call(this);
72.19747 +
72.19748 +        this.on('click', this.toggleSelected, this);
72.19749 +    },
72.19750 +
72.19751 +    
72.19752 +    checkHandler : function(item, pressed){
72.19753 +        if(pressed){
72.19754 +            this.setActiveItem(item);
72.19755 +        }
72.19756 +    },
72.19757 +
72.19758 +    
72.19759 +    toggleSelected : function(){
72.19760 +        this.menu.render();
72.19761 +		
72.19762 +		var nextIdx, checkItem;
72.19763 +		for (var i = 1; i < this.itemCount; i++) {
72.19764 +			nextIdx = (this.activeItem.itemIndex + i) % this.itemCount;
72.19765 +			
72.19766 +			checkItem = this.menu.items.itemAt(nextIdx);
72.19767 +			
72.19768 +			if (!checkItem.disabled) {
72.19769 +				checkItem.setChecked(true);
72.19770 +				break;
72.19771 +			}
72.19772 +		}
72.19773 +    }
72.19774 +});
72.19775 +Ext.reg('cycle', Ext.CycleButton);
72.19776 + 
72.19777 + Ext.Toolbar = function(config){
72.19778 +    if(Ext.isArray(config)){
72.19779 +        config = {buttons:config};
72.19780 +    }
72.19781 +    Ext.Toolbar.superclass.constructor.call(this, config);
72.19782 +};
72.19783 +
72.19784 +(function(){
72.19785 +
72.19786 +var T = Ext.Toolbar;
72.19787 +
72.19788 +Ext.extend(T, Ext.BoxComponent, {
72.19789 +
72.19790 +    trackMenus : true,
72.19791 +
72.19792 +    
72.19793 +    initComponent : function(){
72.19794 +        T.superclass.initComponent.call(this);
72.19795 +
72.19796 +        if(this.items){
72.19797 +            this.buttons = this.items;
72.19798 +        }
72.19799 +        
72.19800 +        this.items = new Ext.util.MixedCollection(false, function(o){
72.19801 +            return o.itemId || o.id || Ext.id();
72.19802 +        });
72.19803 +    },
72.19804 +
72.19805 +    
72.19806 +    autoCreate: {
72.19807 +        cls:'x-toolbar x-small-editor',
72.19808 +        html:'<table cellspacing="0"><tr></tr></table>'
72.19809 +    },
72.19810 +
72.19811 +    
72.19812 +    onRender : function(ct, position){
72.19813 +        this.el = ct.createChild(Ext.apply({ id: this.id },this.autoCreate), position);
72.19814 +        this.tr = this.el.child("tr", true);
72.19815 +    },
72.19816 +
72.19817 +    
72.19818 +    afterRender : function(){
72.19819 +        T.superclass.afterRender.call(this);
72.19820 +        if(this.buttons){
72.19821 +            this.add.apply(this, this.buttons);
72.19822 +            delete this.buttons;
72.19823 +        }
72.19824 +    },
72.19825 +
72.19826 +    
72.19827 +    add : function(){
72.19828 +        var a = arguments, l = a.length;
72.19829 +        for(var i = 0; i < l; i++){
72.19830 +            var el = a[i];
72.19831 +            if(el.isFormField){ 
72.19832 +                this.addField(el);
72.19833 +            }else if(el.render){ 
72.19834 +                this.addItem(el);
72.19835 +            }else if(typeof el == "string"){ 
72.19836 +                if(el == "separator" || el == "-"){
72.19837 +                    this.addSeparator();
72.19838 +                }else if(el == " "){
72.19839 +                    this.addSpacer();
72.19840 +                }else if(el == "->"){
72.19841 +                    this.addFill();
72.19842 +                }else{
72.19843 +                    this.addText(el);
72.19844 +                }
72.19845 +            }else if(el.tagName){ 
72.19846 +                this.addElement(el);
72.19847 +            }else if(typeof el == "object"){ 
72.19848 +                if(el.xtype){
72.19849 +                    this.addField(Ext.ComponentMgr.create(el, 'button'));
72.19850 +                }else{
72.19851 +                    this.addButton(el);
72.19852 +                }
72.19853 +            }
72.19854 +        }
72.19855 +    },
72.19856 +    
72.19857 +    
72.19858 +    addSeparator : function(){
72.19859 +        return this.addItem(new T.Separator());
72.19860 +    },
72.19861 +
72.19862 +    
72.19863 +    addSpacer : function(){
72.19864 +        return this.addItem(new T.Spacer());
72.19865 +    },
72.19866 +
72.19867 +    
72.19868 +    addFill : function(){
72.19869 +        return this.addItem(new T.Fill());
72.19870 +    },
72.19871 +
72.19872 +    
72.19873 +    addElement : function(el){
72.19874 +        return this.addItem(new T.Item(el));
72.19875 +    },
72.19876 +    
72.19877 +    
72.19878 +    addItem : function(item){
72.19879 +        var td = this.nextBlock();
72.19880 +        this.initMenuTracking(item);
72.19881 +        item.render(td);
72.19882 +        this.items.add(item);
72.19883 +        return item;
72.19884 +    },
72.19885 +    
72.19886 +    
72.19887 +    addButton : function(config){
72.19888 +        if(Ext.isArray(config)){
72.19889 +            var buttons = [];
72.19890 +            for(var i = 0, len = config.length; i < len; i++) {
72.19891 +                buttons.push(this.addButton(config[i]));
72.19892 +            }
72.19893 +            return buttons;
72.19894 +        }
72.19895 +        var b = config;
72.19896 +        if(!(config instanceof T.Button)){
72.19897 +            b = config.split ? 
72.19898 +                new T.SplitButton(config) :
72.19899 +                new T.Button(config);
72.19900 +        }
72.19901 +        var td = this.nextBlock();
72.19902 +        this.initMenuTracking(b);
72.19903 +        b.render(td);
72.19904 +        this.items.add(b);
72.19905 +        return b;
72.19906 +    },
72.19907 +
72.19908 +    
72.19909 +    initMenuTracking : function(item){
72.19910 +        if(this.trackMenus && item.menu){
72.19911 +            item.on({
72.19912 +                'menutriggerover' : this.onButtonTriggerOver,
72.19913 +                'menushow' : this.onButtonMenuShow,
72.19914 +                'menuhide' : this.onButtonMenuHide,
72.19915 +                scope: this
72.19916 +            })
72.19917 +        }
72.19918 +    },
72.19919 +
72.19920 +    
72.19921 +    addText : function(text){
72.19922 +        return this.addItem(new T.TextItem(text));
72.19923 +    },
72.19924 +    
72.19925 +    
72.19926 +    insertButton : function(index, item){
72.19927 +        if(Ext.isArray(item)){
72.19928 +            var buttons = [];
72.19929 +            for(var i = 0, len = item.length; i < len; i++) {
72.19930 +               buttons.push(this.insertButton(index + i, item[i]));
72.19931 +            }
72.19932 +            return buttons;
72.19933 +        }
72.19934 +        if (!(item instanceof T.Button)){
72.19935 +           item = new T.Button(item);
72.19936 +        }
72.19937 +        var td = document.createElement("td");
72.19938 +        this.tr.insertBefore(td, this.tr.childNodes[index]);
72.19939 +        this.initMenuTracking(item);
72.19940 +        item.render(td);
72.19941 +        this.items.insert(index, item);
72.19942 +        return item;
72.19943 +    },
72.19944 +    
72.19945 +    
72.19946 +    addDom : function(config, returnEl){
72.19947 +        var td = this.nextBlock();
72.19948 +        Ext.DomHelper.overwrite(td, config);
72.19949 +        var ti = new T.Item(td.firstChild);
72.19950 +        ti.render(td);
72.19951 +        this.items.add(ti);
72.19952 +        return ti;
72.19953 +    },
72.19954 +
72.19955 +    
72.19956 +    addField : function(field){
72.19957 +        var td = this.nextBlock();
72.19958 +        field.render(td);
72.19959 +        var ti = new T.Item(td.firstChild);
72.19960 +        ti.render(td);
72.19961 +        this.items.add(ti);
72.19962 +        return ti;
72.19963 +    },
72.19964 +
72.19965 +    
72.19966 +    nextBlock : function(){
72.19967 +        var td = document.createElement("td");
72.19968 +        this.tr.appendChild(td);
72.19969 +        return td;
72.19970 +    },
72.19971 +
72.19972 +    
72.19973 +    onDestroy : function(){
72.19974 +        Ext.Toolbar.superclass.onDestroy.call(this);
72.19975 +        if(this.rendered){
72.19976 +            if(this.items){ 
72.19977 +                Ext.destroy.apply(Ext, this.items.items);
72.19978 +            }
72.19979 +            Ext.Element.uncache(this.tr);
72.19980 +        }
72.19981 +    },
72.19982 +
72.19983 +    
72.19984 +    onDisable : function(){
72.19985 +        this.items.each(function(item){
72.19986 +             if(item.disable){
72.19987 +                 item.disable();
72.19988 +             }
72.19989 +        });
72.19990 +    },
72.19991 +
72.19992 +    
72.19993 +    onEnable : function(){
72.19994 +        this.items.each(function(item){
72.19995 +             if(item.enable){
72.19996 +                 item.enable();
72.19997 +             }
72.19998 +        });
72.19999 +    },
72.20000 +
72.20001 +    
72.20002 +    onButtonTriggerOver : function(btn){
72.20003 +        if(this.activeMenuBtn && this.activeMenuBtn != btn){
72.20004 +            this.activeMenuBtn.hideMenu();
72.20005 +            btn.showMenu();
72.20006 +            this.activeMenuBtn = btn;
72.20007 +        }
72.20008 +    },
72.20009 +
72.20010 +    
72.20011 +    onButtonMenuShow : function(btn){
72.20012 +        this.activeMenuBtn = btn;
72.20013 +    },
72.20014 +
72.20015 +    
72.20016 +    onButtonMenuHide : function(btn){
72.20017 +        delete this.activeMenuBtn;
72.20018 +    }
72.20019 +
72.20020 +    
72.20021 +});
72.20022 +Ext.reg('toolbar', Ext.Toolbar);
72.20023 +
72.20024 +
72.20025 +T.Item = function(el){
72.20026 +    this.el = Ext.getDom(el);
72.20027 +    this.id = Ext.id(this.el);
72.20028 +    this.hidden = false;
72.20029 +};
72.20030 +
72.20031 +T.Item.prototype = {
72.20032 +    
72.20033 +    
72.20034 +    getEl : function(){
72.20035 +       return this.el;  
72.20036 +    },
72.20037 +
72.20038 +    
72.20039 +    render : function(td){
72.20040 +        this.td = td;
72.20041 +        td.appendChild(this.el);
72.20042 +    },
72.20043 +    
72.20044 +    
72.20045 +    destroy : function(){
72.20046 +        if(this.td && this.td.parentNode){
72.20047 +            this.td.parentNode.removeChild(this.td);
72.20048 +        }
72.20049 +    },
72.20050 +    
72.20051 +    
72.20052 +    show: function(){
72.20053 +        this.hidden = false;
72.20054 +        this.td.style.display = "";
72.20055 +    },
72.20056 +    
72.20057 +    
72.20058 +    hide: function(){
72.20059 +        this.hidden = true;
72.20060 +        this.td.style.display = "none";
72.20061 +    },
72.20062 +    
72.20063 +    
72.20064 +    setVisible: function(visible){
72.20065 +        if(visible) {
72.20066 +            this.show();
72.20067 +        }else{
72.20068 +            this.hide();
72.20069 +        }
72.20070 +    },
72.20071 +    
72.20072 +    
72.20073 +    focus : function(){
72.20074 +        Ext.fly(this.el).focus();
72.20075 +    },
72.20076 +    
72.20077 +    
72.20078 +    disable : function(){
72.20079 +        Ext.fly(this.td).addClass("x-item-disabled");
72.20080 +        this.disabled = true;
72.20081 +        this.el.disabled = true;
72.20082 +    },
72.20083 +    
72.20084 +    
72.20085 +    enable : function(){
72.20086 +        Ext.fly(this.td).removeClass("x-item-disabled");
72.20087 +        this.disabled = false;
72.20088 +        this.el.disabled = false;
72.20089 +    }
72.20090 +};
72.20091 +Ext.reg('tbitem', T.Item);
72.20092 +
72.20093 +
72.20094 +
72.20095 +T.Separator = function(){
72.20096 +    var s = document.createElement("span");
72.20097 +    s.className = "ytb-sep";
72.20098 +    T.Separator.superclass.constructor.call(this, s);
72.20099 +};
72.20100 +Ext.extend(T.Separator, T.Item, {
72.20101 +    enable:Ext.emptyFn,
72.20102 +    disable:Ext.emptyFn,
72.20103 +    focus:Ext.emptyFn
72.20104 +});
72.20105 +Ext.reg('tbseparator', T.Separator);
72.20106 +
72.20107 +
72.20108 +T.Spacer = function(){
72.20109 +    var s = document.createElement("div");
72.20110 +    s.className = "ytb-spacer";
72.20111 +    T.Spacer.superclass.constructor.call(this, s);
72.20112 +};
72.20113 +Ext.extend(T.Spacer, T.Item, {
72.20114 +    enable:Ext.emptyFn,
72.20115 +    disable:Ext.emptyFn,
72.20116 +    focus:Ext.emptyFn
72.20117 +});
72.20118 +
72.20119 +Ext.reg('tbspacer', T.Spacer);
72.20120 +
72.20121 +
72.20122 +T.Fill = Ext.extend(T.Spacer, {
72.20123 +    
72.20124 +    render : function(td){
72.20125 +        td.style.width = '100%';
72.20126 +        T.Fill.superclass.render.call(this, td);
72.20127 +    }
72.20128 +});
72.20129 +Ext.reg('tbfill', T.Fill);
72.20130 +
72.20131 +
72.20132 +T.TextItem = function(t){
72.20133 +    var s = document.createElement("span");
72.20134 +    s.className = "ytb-text";
72.20135 +    s.innerHTML = t.text ? t.text : t;
72.20136 +    T.TextItem.superclass.constructor.call(this, s);
72.20137 +};
72.20138 +Ext.extend(T.TextItem, T.Item, {
72.20139 +    enable:Ext.emptyFn,
72.20140 +    disable:Ext.emptyFn,
72.20141 +    focus:Ext.emptyFn
72.20142 +});
72.20143 +Ext.reg('tbtext', T.TextItem);
72.20144 +
72.20145 +
72.20146 +
72.20147 +T.Button = Ext.extend(Ext.Button, {
72.20148 +    hideParent : true,
72.20149 +
72.20150 +    onDestroy : function(){
72.20151 +        T.Button.superclass.onDestroy.call(this);
72.20152 +        if(this.container){
72.20153 +            this.container.remove();
72.20154 +        }
72.20155 +    }
72.20156 +});
72.20157 +Ext.reg('tbbutton', T.Button);
72.20158 +
72.20159 +
72.20160 +T.SplitButton = Ext.extend(Ext.SplitButton, {
72.20161 +    hideParent : true,
72.20162 +
72.20163 +    onDestroy : function(){
72.20164 +        T.SplitButton.superclass.onDestroy.call(this);
72.20165 +        if(this.container){
72.20166 +            this.container.remove();
72.20167 +        }
72.20168 +    }
72.20169 +});
72.20170 +
72.20171 +Ext.reg('tbsplit', T.SplitButton);
72.20172 +
72.20173 +T.MenuButton = T.SplitButton;
72.20174 +
72.20175 +})();
72.20176 +
72.20177 +
72.20178 +Ext.PagingToolbar = Ext.extend(Ext.Toolbar, {
72.20179 +    
72.20180 +    
72.20181 +    
72.20182 +    pageSize: 20,
72.20183 +    
72.20184 +    displayMsg : 'Displaying {0} - {1} of {2}',
72.20185 +    
72.20186 +    emptyMsg : 'No data to display',
72.20187 +    
72.20188 +    beforePageText : "Page",
72.20189 +    
72.20190 +    afterPageText : "of {0}",
72.20191 +    
72.20192 +    firstText : "First Page",
72.20193 +    
72.20194 +    prevText : "Previous Page",
72.20195 +    
72.20196 +    nextText : "Next Page",
72.20197 +    
72.20198 +    lastText : "Last Page",
72.20199 +    
72.20200 +    refreshText : "Refresh",
72.20201 +
72.20202 +    
72.20203 +    paramNames : {start: 'start', limit: 'limit'},
72.20204 +
72.20205 +    initComponent : function(){
72.20206 +        Ext.PagingToolbar.superclass.initComponent.call(this);
72.20207 +        this.cursor = 0;
72.20208 +        this.bind(this.store);
72.20209 +    },
72.20210 +
72.20211 +        onRender : function(ct, position){
72.20212 +        Ext.PagingToolbar.superclass.onRender.call(this, ct, position);
72.20213 +        this.first = this.addButton({
72.20214 +            tooltip: this.firstText,
72.20215 +            iconCls: "x-tbar-page-first",
72.20216 +            disabled: true,
72.20217 +            handler: this.onClick.createDelegate(this, ["first"])
72.20218 +        });
72.20219 +        this.prev = this.addButton({
72.20220 +            tooltip: this.prevText,
72.20221 +            iconCls: "x-tbar-page-prev",
72.20222 +            disabled: true,
72.20223 +            handler: this.onClick.createDelegate(this, ["prev"])
72.20224 +        });
72.20225 +        this.addSeparator();
72.20226 +        this.add(this.beforePageText);
72.20227 +        this.field = Ext.get(this.addDom({
72.20228 +           tag: "input",
72.20229 +           type: "text",
72.20230 +           size: "3",
72.20231 +           value: "1",
72.20232 +           cls: "x-tbar-page-number"
72.20233 +        }).el);
72.20234 +        this.field.on("keydown", this.onPagingKeydown, this);
72.20235 +        this.field.on("focus", function(){this.dom.select();});
72.20236 +        this.afterTextEl = this.addText(String.format(this.afterPageText, 1));
72.20237 +        this.field.setHeight(18);
72.20238 +        this.addSeparator();
72.20239 +        this.next = this.addButton({
72.20240 +            tooltip: this.nextText,
72.20241 +            iconCls: "x-tbar-page-next",
72.20242 +            disabled: true,
72.20243 +            handler: this.onClick.createDelegate(this, ["next"])
72.20244 +        });
72.20245 +        this.last = this.addButton({
72.20246 +            tooltip: this.lastText,
72.20247 +            iconCls: "x-tbar-page-last",
72.20248 +            disabled: true,
72.20249 +            handler: this.onClick.createDelegate(this, ["last"])
72.20250 +        });
72.20251 +        this.addSeparator();
72.20252 +        this.loading = this.addButton({
72.20253 +            tooltip: this.refreshText,
72.20254 +            iconCls: "x-tbar-loading",
72.20255 +            handler: this.onClick.createDelegate(this, ["refresh"])
72.20256 +        });
72.20257 +
72.20258 +        if(this.displayInfo){
72.20259 +            this.displayEl = Ext.fly(this.el.dom).createChild({cls:'x-paging-info'});
72.20260 +        }
72.20261 +        if(this.dsLoaded){
72.20262 +            this.onLoad.apply(this, this.dsLoaded);
72.20263 +        }
72.20264 +    },
72.20265 +
72.20266 +        updateInfo : function(){
72.20267 +        if(this.displayEl){
72.20268 +            var count = this.store.getCount();
72.20269 +            var msg = count == 0 ?
72.20270 +                this.emptyMsg :
72.20271 +                String.format(
72.20272 +                    this.displayMsg,
72.20273 +                    this.cursor+1, this.cursor+count, this.store.getTotalCount()
72.20274 +                );
72.20275 +            this.displayEl.update(msg);
72.20276 +        }
72.20277 +    },
72.20278 +
72.20279 +        onLoad : function(store, r, o){
72.20280 +        if(!this.rendered){
72.20281 +            this.dsLoaded = [store, r, o];
72.20282 +            return;
72.20283 +        }
72.20284 +       this.cursor = o.params ? o.params[this.paramNames.start] : 0;
72.20285 +       var d = this.getPageData(), ap = d.activePage, ps = d.pages;
72.20286 +
72.20287 +       this.afterTextEl.el.innerHTML = String.format(this.afterPageText, d.pages);
72.20288 +       this.field.dom.value = ap;
72.20289 +       this.first.setDisabled(ap == 1);
72.20290 +       this.prev.setDisabled(ap == 1);
72.20291 +       this.next.setDisabled(ap == ps);
72.20292 +       this.last.setDisabled(ap == ps);
72.20293 +       this.loading.enable();
72.20294 +       this.updateInfo();
72.20295 +    },
72.20296 +
72.20297 +        getPageData : function(){
72.20298 +        var total = this.store.getTotalCount();
72.20299 +        return {
72.20300 +            total : total,
72.20301 +            activePage : Math.ceil((this.cursor+this.pageSize)/this.pageSize),
72.20302 +            pages :  total < this.pageSize ? 1 : Math.ceil(total/this.pageSize)
72.20303 +        };
72.20304 +    },
72.20305 +
72.20306 +        onLoadError : function(){
72.20307 +        if(!this.rendered){
72.20308 +            return;
72.20309 +        }
72.20310 +        this.loading.enable();
72.20311 +    },
72.20312 +
72.20313 +    readPage : function(d){
72.20314 +        var v = this.field.dom.value, pageNum;
72.20315 +        if (!v || isNaN(pageNum = parseInt(v, 10))) {
72.20316 +            this.field.dom.value = d.activePage;
72.20317 +            return false;
72.20318 +        }
72.20319 +        return pageNum;
72.20320 +    },
72.20321 +
72.20322 +        onPagingKeydown : function(e){
72.20323 +        var k = e.getKey(), d = this.getPageData(), pageNum;
72.20324 +        if (k == e.RETURN) {
72.20325 +            e.stopEvent();
72.20326 +            if(pageNum = this.readPage(d)){
72.20327 +                pageNum = Math.min(Math.max(1, pageNum), d.pages) - 1;
72.20328 +                this.doLoad(pageNum * this.pageSize);
72.20329 +            }
72.20330 +        }else if (k == e.HOME || k == e.END){
72.20331 +            e.stopEvent();
72.20332 +            pageNum = k == e.HOME ? 1 : d.pages;
72.20333 +            this.field.dom.value = pageNum;
72.20334 +        }else if (k == e.UP || k == e.PAGEUP || k == e.DOWN || k == e.PAGEDOWN){
72.20335 +            e.stopEvent();
72.20336 +            if(pageNum = this.readPage(d)){
72.20337 +                var increment = e.shiftKey ? 10 : 1;
72.20338 +                if(k == e.DOWN || k == e.PAGEDOWN){
72.20339 +                    increment *= -1;
72.20340 +                }
72.20341 +                pageNum += increment;
72.20342 +                if(pageNum >= 1 & pageNum <= d.pages){
72.20343 +                    this.field.dom.value = pageNum;
72.20344 +                }
72.20345 +            }
72.20346 +        }
72.20347 +    },
72.20348 +
72.20349 +        beforeLoad : function(){
72.20350 +        if(this.rendered && this.loading){
72.20351 +            this.loading.disable();
72.20352 +        }
72.20353 +    },
72.20354 +
72.20355 +    doLoad : function(start){
72.20356 +        var o = {}, pn = this.paramNames;
72.20357 +        o[pn.start] = start;
72.20358 +        o[pn.limit] = this.pageSize;
72.20359 +        this.store.load({params:o});
72.20360 +    },
72.20361 +
72.20362 +        onClick : function(which){
72.20363 +        var store = this.store;
72.20364 +        switch(which){
72.20365 +            case "first":
72.20366 +                this.doLoad(0);
72.20367 +            break;
72.20368 +            case "prev":
72.20369 +                this.doLoad(Math.max(0, this.cursor-this.pageSize));
72.20370 +            break;
72.20371 +            case "next":
72.20372 +                this.doLoad(this.cursor+this.pageSize);
72.20373 +            break;
72.20374 +            case "last":
72.20375 +                var total = store.getTotalCount();
72.20376 +                var extra = total % this.pageSize;
72.20377 +                var lastStart = extra ? (total - extra) : total-this.pageSize;
72.20378 +                this.doLoad(lastStart);
72.20379 +            break;
72.20380 +            case "refresh":
72.20381 +                this.doLoad(this.cursor);
72.20382 +            break;
72.20383 +        }
72.20384 +    },
72.20385 +
72.20386 +    
72.20387 +    unbind : function(store){
72.20388 +        store = Ext.StoreMgr.lookup(store);
72.20389 +        store.un("beforeload", this.beforeLoad, this);
72.20390 +        store.un("load", this.onLoad, this);
72.20391 +        store.un("loadexception", this.onLoadError, this);
72.20392 +        this.store = undefined;
72.20393 +    },
72.20394 +
72.20395 +    
72.20396 +    bind : function(store){
72.20397 +        store = Ext.StoreMgr.lookup(store);
72.20398 +        store.on("beforeload", this.beforeLoad, this);
72.20399 +        store.on("load", this.onLoad, this);
72.20400 +        store.on("loadexception", this.onLoadError, this);
72.20401 +        this.store = store;
72.20402 +    }
72.20403 +});
72.20404 +Ext.reg('paging', Ext.PagingToolbar);
72.20405 +
72.20406 +Ext.Resizable = function(el, config){
72.20407 +    this.el = Ext.get(el);
72.20408 +    
72.20409 +    if(config && config.wrap){
72.20410 +        config.resizeChild = this.el;
72.20411 +        this.el = this.el.wrap(typeof config.wrap == "object" ? config.wrap : {cls:"xresizable-wrap"});
72.20412 +        this.el.id = this.el.dom.id = config.resizeChild.id + "-rzwrap";
72.20413 +        this.el.setStyle("overflow", "hidden");
72.20414 +        this.el.setPositioning(config.resizeChild.getPositioning());
72.20415 +        config.resizeChild.clearPositioning();
72.20416 +        if(!config.width || !config.height){
72.20417 +            var csize = config.resizeChild.getSize();
72.20418 +            this.el.setSize(csize.width, csize.height);
72.20419 +        }
72.20420 +        if(config.pinned && !config.adjustments){
72.20421 +            config.adjustments = "auto";
72.20422 +        }
72.20423 +    }
72.20424 +
72.20425 +    
72.20426 +    this.proxy = this.el.createProxy({tag: "div", cls: "x-resizable-proxy", id: this.el.id + "-rzproxy"});
72.20427 +    this.proxy.unselectable();
72.20428 +    this.proxy.enableDisplayMode('block');
72.20429 +
72.20430 +    Ext.apply(this, config);
72.20431 +    
72.20432 +    if(this.pinned){
72.20433 +        this.disableTrackOver = true;
72.20434 +        this.el.addClass("x-resizable-pinned");
72.20435 +    }
72.20436 +    
72.20437 +    var position = this.el.getStyle("position");
72.20438 +    if(position != "absolute" && position != "fixed"){
72.20439 +        this.el.setStyle("position", "relative");
72.20440 +    }
72.20441 +    if(!this.handles){ 
72.20442 +        this.handles = 's,e,se';
72.20443 +        if(this.multiDirectional){
72.20444 +            this.handles += ',n,w';
72.20445 +        }
72.20446 +    }
72.20447 +    if(this.handles == "all"){
72.20448 +        this.handles = "n s e w ne nw se sw";
72.20449 +    }
72.20450 +    var hs = this.handles.split(/\s*?[,;]\s*?| /);
72.20451 +    var ps = Ext.Resizable.positions;
72.20452 +    for(var i = 0, len = hs.length; i < len; i++){
72.20453 +        if(hs[i] && ps[hs[i]]){
72.20454 +            var pos = ps[hs[i]];
72.20455 +            this[pos] = new Ext.Resizable.Handle(this, pos, this.disableTrackOver, this.transparent);
72.20456 +        }
72.20457 +    }
72.20458 +    
72.20459 +    this.corner = this.southeast;
72.20460 +    
72.20461 +    if(this.handles.indexOf("n") != -1 || this.handles.indexOf("w") != -1){
72.20462 +        this.updateBox = true;
72.20463 +    }   
72.20464 +   
72.20465 +    this.activeHandle = null;
72.20466 +    
72.20467 +    if(this.resizeChild){
72.20468 +        if(typeof this.resizeChild == "boolean"){
72.20469 +            this.resizeChild = Ext.get(this.el.dom.firstChild, true);
72.20470 +        }else{
72.20471 +            this.resizeChild = Ext.get(this.resizeChild, true);
72.20472 +        }
72.20473 +    }
72.20474 +    
72.20475 +    if(this.adjustments == "auto"){
72.20476 +        var rc = this.resizeChild;
72.20477 +        var hw = this.west, he = this.east, hn = this.north, hs = this.south;
72.20478 +        if(rc && (hw || hn)){
72.20479 +            rc.position("relative");
72.20480 +            rc.setLeft(hw ? hw.el.getWidth() : 0);
72.20481 +            rc.setTop(hn ? hn.el.getHeight() : 0);
72.20482 +        }
72.20483 +        this.adjustments = [
72.20484 +            (he ? -he.el.getWidth() : 0) + (hw ? -hw.el.getWidth() : 0),
72.20485 +            (hn ? -hn.el.getHeight() : 0) + (hs ? -hs.el.getHeight() : 0) -1 
72.20486 +        ];
72.20487 +    }
72.20488 +    
72.20489 +    if(this.draggable){
72.20490 +        this.dd = this.dynamic ? 
72.20491 +            this.el.initDD(null) : this.el.initDDProxy(null, {dragElId: this.proxy.id});
72.20492 +        this.dd.setHandleElId(this.resizeChild ? this.resizeChild.id : this.el.id);
72.20493 +    }
72.20494 +    
72.20495 +    
72.20496 +    this.addEvents(
72.20497 +        "beforeresize",
72.20498 +        "resize"
72.20499 +    );
72.20500 +    
72.20501 +    if(this.width !== null && this.height !== null){
72.20502 +        this.resizeTo(this.width, this.height);
72.20503 +    }else{
72.20504 +        this.updateChildSize();
72.20505 +    }
72.20506 +    if(Ext.isIE){
72.20507 +        this.el.dom.style.zoom = 1;
72.20508 +    }
72.20509 +    Ext.Resizable.superclass.constructor.call(this);
72.20510 +};
72.20511 +
72.20512 +Ext.extend(Ext.Resizable, Ext.util.Observable, {
72.20513 +        resizeChild : false,
72.20514 +        adjustments : [0, 0],
72.20515 +        minWidth : 5,
72.20516 +        minHeight : 5,
72.20517 +        maxWidth : 10000,
72.20518 +        maxHeight : 10000,
72.20519 +        enabled : true,
72.20520 +        animate : false,
72.20521 +        duration : .35,
72.20522 +        dynamic : false,
72.20523 +        handles : false,
72.20524 +        multiDirectional : false,
72.20525 +        disableTrackOver : false,
72.20526 +        easing : 'easeOutStrong',
72.20527 +        widthIncrement : 0,
72.20528 +        heightIncrement : 0,
72.20529 +        pinned : false,
72.20530 +        width : null,
72.20531 +        height : null,
72.20532 +        preserveRatio : false,
72.20533 +        transparent: false,
72.20534 +        minX: 0,
72.20535 +        minY: 0,
72.20536 +        draggable: false,
72.20537 +
72.20538 +        
72.20539 +        
72.20540 +
72.20541 +        
72.20542 +        
72.20543 +    
72.20544 +    
72.20545 +    resizeTo : function(width, height){
72.20546 +        this.el.setSize(width, height);
72.20547 +        this.updateChildSize();
72.20548 +        this.fireEvent("resize", this, width, height, null);
72.20549 +    },
72.20550 +
72.20551 +    
72.20552 +    startSizing : function(e, handle){
72.20553 +        this.fireEvent("beforeresize", this, e);
72.20554 +        if(this.enabled){ 
72.20555 +
72.20556 +            if(!this.overlay){
72.20557 +                this.overlay = this.el.createProxy({tag: "div", cls: "x-resizable-overlay", html: "&#160;"}, Ext.getBody());
72.20558 +                this.overlay.unselectable();
72.20559 +                this.overlay.enableDisplayMode("block");
72.20560 +                this.overlay.on("mousemove", this.onMouseMove, this);
72.20561 +                this.overlay.on("mouseup", this.onMouseUp, this);
72.20562 +            }
72.20563 +            this.overlay.setStyle("cursor", handle.el.getStyle("cursor"));
72.20564 +
72.20565 +            this.resizing = true;
72.20566 +            this.startBox = this.el.getBox();
72.20567 +            this.startPoint = e.getXY();
72.20568 +            this.offsets = [(this.startBox.x + this.startBox.width) - this.startPoint[0],
72.20569 +                            (this.startBox.y + this.startBox.height) - this.startPoint[1]];
72.20570 +
72.20571 +            this.overlay.setSize(Ext.lib.Dom.getViewWidth(true), Ext.lib.Dom.getViewHeight(true));
72.20572 +            this.overlay.show();
72.20573 +
72.20574 +            if(this.constrainTo) {
72.20575 +                var ct = Ext.get(this.constrainTo);
72.20576 +                this.resizeRegion = ct.getRegion().adjust(
72.20577 +                    ct.getFrameWidth('t'),
72.20578 +                    ct.getFrameWidth('l'),
72.20579 +                    -ct.getFrameWidth('b'),
72.20580 +                    -ct.getFrameWidth('r')
72.20581 +                );
72.20582 +            }
72.20583 +
72.20584 +            this.proxy.setStyle('visibility', 'hidden'); 
72.20585 +            this.proxy.show();
72.20586 +            this.proxy.setBox(this.startBox);
72.20587 +            if(!this.dynamic){
72.20588 +                this.proxy.setStyle('visibility', 'visible');
72.20589 +            }
72.20590 +        }
72.20591 +    },
72.20592 +
72.20593 +    
72.20594 +    onMouseDown : function(handle, e){
72.20595 +        if(this.enabled){
72.20596 +            e.stopEvent();
72.20597 +            this.activeHandle = handle;
72.20598 +            this.startSizing(e, handle);
72.20599 +        }          
72.20600 +    },
72.20601 +
72.20602 +    
72.20603 +    onMouseUp : function(e){
72.20604 +        var size = this.resizeElement();
72.20605 +        this.resizing = false;
72.20606 +        this.handleOut();
72.20607 +        this.overlay.hide();
72.20608 +        this.proxy.hide();
72.20609 +        this.fireEvent("resize", this, size.width, size.height, e);
72.20610 +    },
72.20611 +
72.20612 +    
72.20613 +    updateChildSize : function(){
72.20614 +        if(this.resizeChild){
72.20615 +            var el = this.el;
72.20616 +            var child = this.resizeChild;
72.20617 +            var adj = this.adjustments;
72.20618 +            if(el.dom.offsetWidth){
72.20619 +                var b = el.getSize(true);
72.20620 +                child.setSize(b.width+adj[0], b.height+adj[1]);
72.20621 +            }
72.20622 +            
72.20623 +            
72.20624 +            
72.20625 +            
72.20626 +            if(Ext.isIE){
72.20627 +                setTimeout(function(){
72.20628 +                    if(el.dom.offsetWidth){
72.20629 +                        var b = el.getSize(true);
72.20630 +                        child.setSize(b.width+adj[0], b.height+adj[1]);
72.20631 +                    }
72.20632 +                }, 10);
72.20633 +            }
72.20634 +        }
72.20635 +    },
72.20636 +
72.20637 +    
72.20638 +    snap : function(value, inc, min){
72.20639 +        if(!inc || !value) return value;
72.20640 +        var newValue = value;
72.20641 +        var m = value % inc;
72.20642 +        if(m > 0){
72.20643 +            if(m > (inc/2)){
72.20644 +                newValue = value + (inc-m);
72.20645 +            }else{
72.20646 +                newValue = value - m;
72.20647 +            }
72.20648 +        }
72.20649 +        return Math.max(min, newValue);
72.20650 +    },
72.20651 +
72.20652 +    
72.20653 +    resizeElement : function(){
72.20654 +        var box = this.proxy.getBox();
72.20655 +        if(this.updateBox){
72.20656 +            this.el.setBox(box, false, this.animate, this.duration, null, this.easing);
72.20657 +        }else{
72.20658 +            this.el.setSize(box.width, box.height, this.animate, this.duration, null, this.easing);
72.20659 +        }
72.20660 +        this.updateChildSize();
72.20661 +        if(!this.dynamic){
72.20662 +            this.proxy.hide();
72.20663 +        }
72.20664 +        return box;
72.20665 +    },
72.20666 +
72.20667 +    
72.20668 +    constrain : function(v, diff, m, mx){
72.20669 +        if(v - diff < m){
72.20670 +            diff = v - m;    
72.20671 +        }else if(v - diff > mx){
72.20672 +            diff = mx - v; 
72.20673 +        }
72.20674 +        return diff;                
72.20675 +    },
72.20676 +
72.20677 +    
72.20678 +    onMouseMove : function(e){
72.20679 +        if(this.enabled){
72.20680 +            try{
72.20681 +
72.20682 +            if(this.resizeRegion && !this.resizeRegion.contains(e.getPoint())) {
72.20683 +                return;
72.20684 +            }
72.20685 +
72.20686 +            
72.20687 +            var curSize = this.curSize || this.startBox;
72.20688 +            var x = this.startBox.x, y = this.startBox.y;
72.20689 +            var ox = x, oy = y;
72.20690 +            var w = curSize.width, h = curSize.height;
72.20691 +            var ow = w, oh = h;
72.20692 +            var mw = this.minWidth, mh = this.minHeight;
72.20693 +            var mxw = this.maxWidth, mxh = this.maxHeight;
72.20694 +            var wi = this.widthIncrement;
72.20695 +            var hi = this.heightIncrement;
72.20696 +            
72.20697 +            var eventXY = e.getXY();
72.20698 +            var diffX = -(this.startPoint[0] - Math.max(this.minX, eventXY[0]));
72.20699 +            var diffY = -(this.startPoint[1] - Math.max(this.minY, eventXY[1]));
72.20700 +            
72.20701 +            var pos = this.activeHandle.position;
72.20702 +            
72.20703 +            switch(pos){
72.20704 +                case "east":
72.20705 +                    w += diffX; 
72.20706 +                    w = Math.min(Math.max(mw, w), mxw);
72.20707 +                    break;
72.20708 +                case "south":
72.20709 +                    h += diffY;
72.20710 +                    h = Math.min(Math.max(mh, h), mxh);
72.20711 +                    break;
72.20712 +                case "southeast":
72.20713 +                    w += diffX; 
72.20714 +                    h += diffY;
72.20715 +                    w = Math.min(Math.max(mw, w), mxw);
72.20716 +                    h = Math.min(Math.max(mh, h), mxh);
72.20717 +                    break;
72.20718 +                case "north":
72.20719 +                    diffY = this.constrain(h, diffY, mh, mxh);
72.20720 +                    y += diffY;
72.20721 +                    h -= diffY;
72.20722 +                    break;
72.20723 +                case "west":
72.20724 +                    diffX = this.constrain(w, diffX, mw, mxw);
72.20725 +                    x += diffX;
72.20726 +                    w -= diffX;
72.20727 +                    break;
72.20728 +                case "northeast":
72.20729 +                    w += diffX; 
72.20730 +                    w = Math.min(Math.max(mw, w), mxw);
72.20731 +                    diffY = this.constrain(h, diffY, mh, mxh);
72.20732 +                    y += diffY;
72.20733 +                    h -= diffY;
72.20734 +                    break;
72.20735 +                case "northwest":
72.20736 +                    diffX = this.constrain(w, diffX, mw, mxw);
72.20737 +                    diffY = this.constrain(h, diffY, mh, mxh);
72.20738 +                    y += diffY;
72.20739 +                    h -= diffY;
72.20740 +                    x += diffX;
72.20741 +                    w -= diffX;
72.20742 +                    break;
72.20743 +               case "southwest":
72.20744 +                    diffX = this.constrain(w, diffX, mw, mxw);
72.20745 +                    h += diffY;
72.20746 +                    h = Math.min(Math.max(mh, h), mxh);
72.20747 +                    x += diffX;
72.20748 +                    w -= diffX;
72.20749 +                    break;
72.20750 +            }
72.20751 +            
72.20752 +            var sw = this.snap(w, wi, mw);
72.20753 +            var sh = this.snap(h, hi, mh);
72.20754 +            if(sw != w || sh != h){
72.20755 +                switch(pos){
72.20756 +                    case "northeast":
72.20757 +                        y -= sh - h;
72.20758 +                    break;
72.20759 +                    case "north":
72.20760 +                        y -= sh - h;
72.20761 +                        break;
72.20762 +                    case "southwest":
72.20763 +                        x -= sw - w;
72.20764 +                    break;
72.20765 +                    case "west":
72.20766 +                        x -= sw - w;
72.20767 +                        break;
72.20768 +                    case "northwest":
72.20769 +                        x -= sw - w;
72.20770 +                        y -= sh - h;
72.20771 +                    break;
72.20772 +                }
72.20773 +                w = sw;
72.20774 +                h = sh;
72.20775 +            }
72.20776 +            
72.20777 +            if(this.preserveRatio){
72.20778 +                switch(pos){
72.20779 +                    case "southeast":
72.20780 +                    case "east":
72.20781 +                        h = oh * (w/ow);
72.20782 +                        h = Math.min(Math.max(mh, h), mxh);
72.20783 +                        w = ow * (h/oh);
72.20784 +                       break;
72.20785 +                    case "south":
72.20786 +                        w = ow * (h/oh);
72.20787 +                        w = Math.min(Math.max(mw, w), mxw);
72.20788 +                        h = oh * (w/ow);
72.20789 +                        break;
72.20790 +                    case "northeast":
72.20791 +                        w = ow * (h/oh);
72.20792 +                        w = Math.min(Math.max(mw, w), mxw);
72.20793 +                        h = oh * (w/ow);
72.20794 +                    break;
72.20795 +                    case "north":
72.20796 +                        var tw = w;
72.20797 +                        w = ow * (h/oh);
72.20798 +                        w = Math.min(Math.max(mw, w), mxw);
72.20799 +                        h = oh * (w/ow);
72.20800 +                        x += (tw - w) / 2;
72.20801 +                        break;
72.20802 +                    case "southwest":
72.20803 +                        h = oh * (w/ow);
72.20804 +                        h = Math.min(Math.max(mh, h), mxh);
72.20805 +                        var tw = w;
72.20806 +                        w = ow * (h/oh);
72.20807 +                        x += tw - w;
72.20808 +                        break;
72.20809 +                    case "west":
72.20810 +                        var th = h;
72.20811 +                        h = oh * (w/ow);
72.20812 +                        h = Math.min(Math.max(mh, h), mxh);
72.20813 +                        y += (th - h) / 2;
72.20814 +                        var tw = w;
72.20815 +                        w = ow * (h/oh);
72.20816 +                        x += tw - w;
72.20817 +                       break;
72.20818 +                    case "northwest":
72.20819 +                        var tw = w;
72.20820 +                        var th = h;
72.20821 +                        h = oh * (w/ow);
72.20822 +                        h = Math.min(Math.max(mh, h), mxh);
72.20823 +                        w = ow * (h/oh);
72.20824 +                        y += th - h;
72.20825 +                         x += tw - w;
72.20826 +                       break;
72.20827 +                        
72.20828 +                }
72.20829 +            }
72.20830 +            this.proxy.setBounds(x, y, w, h);
72.20831 +            if(this.dynamic){
72.20832 +                this.resizeElement();
72.20833 +            }
72.20834 +            }catch(e){}
72.20835 +        }
72.20836 +    },
72.20837 +
72.20838 +    
72.20839 +    handleOver : function(){
72.20840 +        if(this.enabled){
72.20841 +            this.el.addClass("x-resizable-over");
72.20842 +        }
72.20843 +    },
72.20844 +
72.20845 +    
72.20846 +    handleOut : function(){
72.20847 +        if(!this.resizing){
72.20848 +            this.el.removeClass("x-resizable-over");
72.20849 +        }
72.20850 +    },
72.20851 +    
72.20852 +    
72.20853 +    getEl : function(){
72.20854 +        return this.el;
72.20855 +    },
72.20856 +    
72.20857 +    
72.20858 +    getResizeChild : function(){
72.20859 +        return this.resizeChild;
72.20860 +    },
72.20861 +    
72.20862 +    
72.20863 +    destroy : function(removeEl){
72.20864 +        this.proxy.remove();
72.20865 +        if(this.overlay){
72.20866 +            this.overlay.removeAllListeners();
72.20867 +            this.overlay.remove();
72.20868 +        }
72.20869 +        var ps = Ext.Resizable.positions;
72.20870 +        for(var k in ps){
72.20871 +            if(typeof ps[k] != "function" && this[ps[k]]){
72.20872 +                var h = this[ps[k]];
72.20873 +                h.el.removeAllListeners();
72.20874 +                h.el.remove();
72.20875 +            }
72.20876 +        }
72.20877 +        if(removeEl){
72.20878 +            this.el.update("");
72.20879 +            this.el.remove();
72.20880 +        }
72.20881 +    },
72.20882 +
72.20883 +    syncHandleHeight : function(){
72.20884 +        var h = this.el.getHeight(true);
72.20885 +        if(this.west){
72.20886 +            this.west.el.setHeight(h);
72.20887 +        }
72.20888 +        if(this.east){
72.20889 +            this.east.el.setHeight(h);
72.20890 +        }
72.20891 +    }
72.20892 +});
72.20893 +
72.20894 +
72.20895 +
72.20896 +Ext.Resizable.positions = {
72.20897 +    n: "north", s: "south", e: "east", w: "west", se: "southeast", sw: "southwest", nw: "northwest", ne: "northeast"
72.20898 +};
72.20899 +
72.20900 +
72.20901 +Ext.Resizable.Handle = function(rz, pos, disableTrackOver, transparent){
72.20902 +    if(!this.tpl){
72.20903 +        
72.20904 +        var tpl = Ext.DomHelper.createTemplate(
72.20905 +            {tag: "div", cls: "x-resizable-handle x-resizable-handle-{0}"}
72.20906 +        );
72.20907 +        tpl.compile();
72.20908 +        Ext.Resizable.Handle.prototype.tpl = tpl;
72.20909 +    }
72.20910 +    this.position = pos;
72.20911 +    this.rz = rz;
72.20912 +    this.el = this.tpl.append(rz.el.dom, [this.position], true);
72.20913 +    this.el.unselectable();
72.20914 +    if(transparent){
72.20915 +        this.el.setOpacity(0);
72.20916 +    }
72.20917 +    this.el.on("mousedown", this.onMouseDown, this);
72.20918 +    if(!disableTrackOver){
72.20919 +        this.el.on("mouseover", this.onMouseOver, this);
72.20920 +        this.el.on("mouseout", this.onMouseOut, this);
72.20921 +    }
72.20922 +};
72.20923 +
72.20924 +
72.20925 +Ext.Resizable.Handle.prototype = {
72.20926 +    afterResize : function(rz){
72.20927 +        
72.20928 +    },
72.20929 +    
72.20930 +    onMouseDown : function(e){
72.20931 +        this.rz.onMouseDown(this, e);
72.20932 +    },
72.20933 +    
72.20934 +    onMouseOver : function(e){
72.20935 +        this.rz.handleOver(this, e);
72.20936 +    },
72.20937 +    
72.20938 +    onMouseOut : function(e){
72.20939 +        this.rz.handleOut(this, e);
72.20940 +    }  
72.20941 +};
72.20942 +
72.20943 +
72.20944 +
72.20945 +
72.20946 +
72.20947 +Ext.Editor = function(field, config){
72.20948 +    this.field = field;
72.20949 +    Ext.Editor.superclass.constructor.call(this, config);
72.20950 +};
72.20951 +
72.20952 +Ext.extend(Ext.Editor, Ext.Component, {
72.20953 +    
72.20954 +    
72.20955 +    
72.20956 +    
72.20957 +    
72.20958 +    value : "",
72.20959 +    
72.20960 +    alignment: "c-c?",
72.20961 +    
72.20962 +    shadow : "frame",
72.20963 +    
72.20964 +    constrain : false,
72.20965 +    
72.20966 +    swallowKeys : true,
72.20967 +    
72.20968 +    completeOnEnter : false,
72.20969 +    
72.20970 +    cancelOnEsc : false,
72.20971 +    
72.20972 +    updateEl : false,
72.20973 +
72.20974 +    initComponent : function(){
72.20975 +        Ext.Editor.superclass.initComponent.call(this);
72.20976 +        this.addEvents(
72.20977 +            
72.20978 +            "beforestartedit",
72.20979 +            
72.20980 +            "startedit",
72.20981 +            
72.20982 +            "beforecomplete",
72.20983 +            
72.20984 +            "complete",
72.20985 +            
72.20986 +            "specialkey"
72.20987 +        );
72.20988 +    },
72.20989 +
72.20990 +        onRender : function(ct, position){
72.20991 +        this.el = new Ext.Layer({
72.20992 +            shadow: this.shadow,
72.20993 +            cls: "x-editor",
72.20994 +            parentEl : ct,
72.20995 +            shim : this.shim,
72.20996 +            shadowOffset:4,
72.20997 +            id: this.id,
72.20998 +            constrain: this.constrain
72.20999 +        });
72.21000 +        this.el.setStyle("overflow", Ext.isGecko ? "auto" : "hidden");
72.21001 +        if(this.field.msgTarget != 'title'){
72.21002 +            this.field.msgTarget = 'qtip';
72.21003 +        }
72.21004 +        this.field.inEditor = true;
72.21005 +        this.field.render(this.el);
72.21006 +        if(Ext.isGecko){
72.21007 +            this.field.el.dom.setAttribute('autocomplete', 'off');
72.21008 +        }
72.21009 +        this.field.on("specialkey", this.onSpecialKey, this);
72.21010 +        if(this.swallowKeys){
72.21011 +            this.field.el.swallowEvent(['keydown','keypress']);
72.21012 +        }
72.21013 +        this.field.show();
72.21014 +        this.field.on("blur", this.onBlur, this);
72.21015 +        if(this.field.grow){
72.21016 +            this.field.on("autosize", this.el.sync,  this.el, {delay:1});
72.21017 +        }
72.21018 +    },
72.21019 +
72.21020 +    onSpecialKey : function(field, e){
72.21021 +        if(this.completeOnEnter && e.getKey() == e.ENTER){
72.21022 +            e.stopEvent();
72.21023 +            this.completeEdit();
72.21024 +        }else if(this.cancelOnEsc && e.getKey() == e.ESC){
72.21025 +            this.cancelEdit();
72.21026 +        }else{
72.21027 +            this.fireEvent('specialkey', field, e);
72.21028 +        }
72.21029 +    },
72.21030 +
72.21031 +    
72.21032 +    startEdit : function(el, value){
72.21033 +        if(this.editing){
72.21034 +            this.completeEdit();
72.21035 +        }
72.21036 +        this.boundEl = Ext.get(el);
72.21037 +        var v = value !== undefined ? value : this.boundEl.dom.innerHTML;
72.21038 +        if(!this.rendered){
72.21039 +            this.render(this.parentEl || document.body);
72.21040 +        }
72.21041 +        if(this.fireEvent("beforestartedit", this, this.boundEl, v) === false){
72.21042 +            return;
72.21043 +        }
72.21044 +        this.startValue = v;
72.21045 +        this.field.setValue(v);
72.21046 +        this.doAutoSize();
72.21047 +        this.el.alignTo(this.boundEl, this.alignment);
72.21048 +        this.editing = true;
72.21049 +        this.show();
72.21050 +    },
72.21051 +
72.21052 +        doAutoSize : function(){
72.21053 +        if(this.autoSize){
72.21054 +            var sz = this.boundEl.getSize();
72.21055 +            switch(this.autoSize){
72.21056 +                case "width":
72.21057 +                    this.setSize(sz.width,  "");
72.21058 +                break;
72.21059 +                case "height":
72.21060 +                    this.setSize("",  sz.height);
72.21061 +                break;
72.21062 +                default:
72.21063 +                    this.setSize(sz.width,  sz.height);
72.21064 +            }
72.21065 +        }
72.21066 +    },
72.21067 +
72.21068 +    
72.21069 +    setSize : function(w, h){
72.21070 +        delete this.field.lastSize;
72.21071 +        this.field.setSize(w, h);
72.21072 +        if(this.el){
72.21073 +            this.el.sync();
72.21074 +        }
72.21075 +    },
72.21076 +
72.21077 +    
72.21078 +    realign : function(){
72.21079 +        this.el.alignTo(this.boundEl, this.alignment);
72.21080 +    },
72.21081 +
72.21082 +    
72.21083 +    completeEdit : function(remainVisible){
72.21084 +        if(!this.editing){
72.21085 +            return;
72.21086 +        }
72.21087 +        var v = this.getValue();
72.21088 +        if(this.revertInvalid !== false && !this.field.isValid()){
72.21089 +            v = this.startValue;
72.21090 +            this.cancelEdit(true);
72.21091 +        }
72.21092 +        if(String(v) === String(this.startValue) && this.ignoreNoChange){
72.21093 +            this.editing = false;
72.21094 +            this.hide();
72.21095 +            return;
72.21096 +        }
72.21097 +        if(this.fireEvent("beforecomplete", this, v, this.startValue) !== false){
72.21098 +            this.editing = false;
72.21099 +            if(this.updateEl && this.boundEl){
72.21100 +                this.boundEl.update(v);
72.21101 +            }
72.21102 +            if(remainVisible !== true){
72.21103 +                this.hide();
72.21104 +            }
72.21105 +            this.fireEvent("complete", this, v, this.startValue);
72.21106 +        }
72.21107 +    },
72.21108 +
72.21109 +        onShow : function(){
72.21110 +        this.el.show();
72.21111 +        if(this.hideEl !== false){
72.21112 +            this.boundEl.hide();
72.21113 +        }
72.21114 +        this.field.show();
72.21115 +        if(Ext.isIE && !this.fixIEFocus){             this.fixIEFocus = true;
72.21116 +            this.deferredFocus.defer(50, this);
72.21117 +        }else{
72.21118 +            this.field.focus();
72.21119 +        }
72.21120 +        this.fireEvent("startedit", this.boundEl, this.startValue);
72.21121 +    },
72.21122 +
72.21123 +    deferredFocus : function(){
72.21124 +        if(this.editing){
72.21125 +            this.field.focus();
72.21126 +        }
72.21127 +    },
72.21128 +
72.21129 +    
72.21130 +    cancelEdit : function(remainVisible){
72.21131 +        if(this.editing){
72.21132 +            this.setValue(this.startValue);
72.21133 +            if(remainVisible !== true){
72.21134 +                this.hide();
72.21135 +            }
72.21136 +        }
72.21137 +    },
72.21138 +
72.21139 +        onBlur : function(){
72.21140 +        if(this.allowBlur !== true && this.editing){
72.21141 +            this.completeEdit();
72.21142 +        }
72.21143 +    },
72.21144 +
72.21145 +        onHide : function(){
72.21146 +        if(this.editing){
72.21147 +            this.completeEdit();
72.21148 +            return;
72.21149 +        }
72.21150 +        this.field.blur();
72.21151 +        if(this.field.collapse){
72.21152 +            this.field.collapse();
72.21153 +        }
72.21154 +        this.el.hide();
72.21155 +        if(this.hideEl !== false){
72.21156 +            this.boundEl.show();
72.21157 +        }
72.21158 +    },
72.21159 +
72.21160 +    
72.21161 +    setValue : function(v){
72.21162 +        this.field.setValue(v);
72.21163 +    },
72.21164 +
72.21165 +    
72.21166 +    getValue : function(){
72.21167 +        return this.field.getValue();
72.21168 +    },
72.21169 +
72.21170 +    beforeDestroy : function(){
72.21171 +        this.field.destroy();
72.21172 +        this.field = null;
72.21173 +    }
72.21174 +});
72.21175 +Ext.reg('editor', Ext.Editor);
72.21176 +
72.21177 +Ext.MessageBox = function(){
72.21178 +    var dlg, opt, mask, waitTimer;
72.21179 +    var bodyEl, msgEl, textboxEl, textareaEl, progressBar, pp, iconEl, spacerEl;
72.21180 +    var buttons, activeTextEl, bwidth, iconCls = '';
72.21181 +
72.21182 +    
72.21183 +    var handleButton = function(button){
72.21184 +        if(dlg.isVisible()){
72.21185 +            dlg.hide();
72.21186 +            Ext.callback(opt.fn, opt.scope||window, [button, activeTextEl.dom.value], 1);
72.21187 +        }
72.21188 +    };
72.21189 +
72.21190 +    
72.21191 +    var handleHide = function(){
72.21192 +        if(opt && opt.cls){
72.21193 +            dlg.el.removeClass(opt.cls);
72.21194 +        }
72.21195 +        progressBar.reset();
72.21196 +    };
72.21197 +
72.21198 +    
72.21199 +    var handleEsc = function(d, k, e){
72.21200 +        if(opt && opt.closable !== false){
72.21201 +            dlg.hide();
72.21202 +        }
72.21203 +        if(e){
72.21204 +            e.stopEvent();
72.21205 +        }
72.21206 +    };
72.21207 +
72.21208 +    
72.21209 +    var updateButtons = function(b){
72.21210 +        var width = 0;
72.21211 +        if(!b){
72.21212 +            buttons["ok"].hide();
72.21213 +            buttons["cancel"].hide();
72.21214 +            buttons["yes"].hide();
72.21215 +            buttons["no"].hide();
72.21216 +            return width;
72.21217 +        }
72.21218 +        dlg.footer.dom.style.display = '';
72.21219 +        for(var k in buttons){
72.21220 +            if(typeof buttons[k] != "function"){
72.21221 +                if(b[k]){
72.21222 +                    buttons[k].show();
72.21223 +                    buttons[k].setText(typeof b[k] == "string" ? b[k] : Ext.MessageBox.buttonText[k]);
72.21224 +                    width += buttons[k].el.getWidth()+15;
72.21225 +                }else{
72.21226 +                    buttons[k].hide();
72.21227 +                }
72.21228 +            }
72.21229 +        }
72.21230 +        return width;
72.21231 +    };
72.21232 +
72.21233 +    return {
72.21234 +        
72.21235 +        getDialog : function(titleText){
72.21236 +           if(!dlg){
72.21237 +                dlg = new Ext.Window({
72.21238 +                    autoCreate : true,
72.21239 +                    title:titleText,
72.21240 +                    resizable:false,
72.21241 +                    constrain:true,
72.21242 +                    constrainHeader:true,
72.21243 +                    minimizable : false,
72.21244 +                    maximizable : false,
72.21245 +                    stateful: false,
72.21246 +                    modal: true,
72.21247 +                    shim:true,
72.21248 +                    buttonAlign:"center",
72.21249 +                    width:400,
72.21250 +                    height:100,
72.21251 +                    minHeight: 80,
72.21252 +                    plain:true,
72.21253 +                    footer:true,
72.21254 +                    closable:true,
72.21255 +                    close : function(){
72.21256 +                        if(opt && opt.buttons && opt.buttons.no && !opt.buttons.cancel){
72.21257 +                            handleButton("no");
72.21258 +                        }else{
72.21259 +                            handleButton("cancel");
72.21260 +                        }
72.21261 +                    }
72.21262 +                });
72.21263 +                buttons = {};
72.21264 +                var bt = this.buttonText;
72.21265 +                
72.21266 +                buttons["ok"] = dlg.addButton(bt["ok"], handleButton.createCallback("ok"));
72.21267 +                buttons["yes"] = dlg.addButton(bt["yes"], handleButton.createCallback("yes"));
72.21268 +                buttons["no"] = dlg.addButton(bt["no"], handleButton.createCallback("no"));
72.21269 +                buttons["cancel"] = dlg.addButton(bt["cancel"], handleButton.createCallback("cancel"));
72.21270 +                buttons["ok"].hideMode = buttons["yes"].hideMode = buttons["no"].hideMode = buttons["cancel"].hideMode = 'offsets';
72.21271 +                dlg.render(document.body);
72.21272 +                dlg.getEl().addClass('x-window-dlg');
72.21273 +                mask = dlg.mask;
72.21274 +                bodyEl = dlg.body.createChild({
72.21275 +                    html:'<div class="ext-mb-icon"></div><div class="ext-mb-content"><span class="ext-mb-text"></span><br /><div class="ext-mb-fix-cursor"><input type="text" class="ext-mb-input" /><textarea class="ext-mb-textarea"></textarea></div></div>'
72.21276 +                });
72.21277 +                iconEl = Ext.get(bodyEl.dom.firstChild);
72.21278 +                var contentEl = bodyEl.dom.childNodes[1];
72.21279 +                msgEl = Ext.get(contentEl.firstChild);
72.21280 +                textboxEl = Ext.get(contentEl.childNodes[2].firstChild);
72.21281 +                textboxEl.enableDisplayMode();
72.21282 +                textboxEl.addKeyListener([10,13], function(){
72.21283 +                    if(dlg.isVisible() && opt && opt.buttons){
72.21284 +                        if(opt.buttons.ok){
72.21285 +                            handleButton("ok");
72.21286 +                        }else if(opt.buttons.yes){
72.21287 +                            handleButton("yes");
72.21288 +                        }
72.21289 +                    }
72.21290 +                });
72.21291 +                textareaEl = Ext.get(contentEl.childNodes[2].childNodes[1]);
72.21292 +                textareaEl.enableDisplayMode();
72.21293 +                progressBar = new Ext.ProgressBar({
72.21294 +                    renderTo:bodyEl
72.21295 +                });
72.21296 +               bodyEl.createChild({cls:'x-clear'});
72.21297 +            }
72.21298 +            return dlg;
72.21299 +        },
72.21300 +
72.21301 +        
72.21302 +        updateText : function(text){
72.21303 +            if(!dlg.isVisible() && !opt.width){
72.21304 +                dlg.setSize(this.maxWidth, 100); 
72.21305 +            }
72.21306 +            msgEl.update(text || '&#160;');
72.21307 +
72.21308 +            var iw = iconCls != '' ? (iconEl.getWidth() + iconEl.getMargins('lr')) : 0;
72.21309 +            var mw = msgEl.getWidth() + msgEl.getMargins('lr');
72.21310 +            var fw = dlg.getFrameWidth('lr');
72.21311 +            var bw = dlg.body.getFrameWidth('lr');
72.21312 +            if (Ext.isIE && iw > 0){
72.21313 +                
72.21314 +                
72.21315 +                iw += 3;
72.21316 +            }
72.21317 +            var w = Math.max(Math.min(opt.width || iw+mw+fw+bw, this.maxWidth),
72.21318 +                        Math.max(opt.minWidth || this.minWidth, bwidth || 0));
72.21319 +
72.21320 +            if(opt.prompt === true){
72.21321 +                activeTextEl.setWidth(w-iw-fw-bw);
72.21322 +            }
72.21323 +            if(opt.progress === true || opt.wait === true){
72.21324 +                progressBar.setSize(w-iw-fw-bw);
72.21325 +            }
72.21326 +            dlg.setSize(w, 'auto').center();
72.21327 +            return this;
72.21328 +        },
72.21329 +
72.21330 +        
72.21331 +        updateProgress : function(value, progressText, msg){
72.21332 +            progressBar.updateProgress(value, progressText);
72.21333 +            if(msg){
72.21334 +                this.updateText(msg);
72.21335 +            }
72.21336 +            return this;
72.21337 +        },
72.21338 +
72.21339 +        
72.21340 +        isVisible : function(){
72.21341 +            return dlg && dlg.isVisible();
72.21342 +        },
72.21343 +
72.21344 +        
72.21345 +        hide : function(){
72.21346 +            if(this.isVisible()){
72.21347 +                dlg.hide();
72.21348 +                handleHide();
72.21349 +            }
72.21350 +            return this;
72.21351 +        },
72.21352 +
72.21353 +        
72.21354 +        show : function(options){
72.21355 +            if(this.isVisible()){
72.21356 +                this.hide();
72.21357 +            }
72.21358 +            opt = options;
72.21359 +            var d = this.getDialog(opt.title || "&#160;");
72.21360 +
72.21361 +            d.setTitle(opt.title || "&#160;");
72.21362 +            var allowClose = (opt.closable !== false && opt.progress !== true && opt.wait !== true);
72.21363 +            d.tools.close.setDisplayed(allowClose);
72.21364 +            activeTextEl = textboxEl;
72.21365 +            opt.prompt = opt.prompt || (opt.multiline ? true : false);
72.21366 +            if(opt.prompt){
72.21367 +                if(opt.multiline){
72.21368 +                    textboxEl.hide();
72.21369 +                    textareaEl.show();
72.21370 +                    textareaEl.setHeight(typeof opt.multiline == "number" ?
72.21371 +                        opt.multiline : this.defaultTextHeight);
72.21372 +                    activeTextEl = textareaEl;
72.21373 +                }else{
72.21374 +                    textboxEl.show();
72.21375 +                    textareaEl.hide();
72.21376 +                }
72.21377 +            }else{
72.21378 +                textboxEl.hide();
72.21379 +                textareaEl.hide();
72.21380 +            }
72.21381 +            activeTextEl.dom.value = opt.value || "";
72.21382 +            if(opt.prompt){
72.21383 +                d.focusEl = activeTextEl;
72.21384 +            }else{
72.21385 +                var bs = opt.buttons;
72.21386 +                var db = null;
72.21387 +                if(bs && bs.ok){
72.21388 +                    db = buttons["ok"];
72.21389 +                }else if(bs && bs.yes){
72.21390 +                    db = buttons["yes"];
72.21391 +                }
72.21392 +                if (db){
72.21393 +                    d.focusEl = db;
72.21394 +                }
72.21395 +            }
72.21396 +            if(opt.iconCls){
72.21397 +            	d.setIconClass(opt.iconCls);
72.21398 +            }
72.21399 +            this.setIcon(opt.icon);
72.21400 +            bwidth = updateButtons(opt.buttons);
72.21401 +            progressBar.setVisible(opt.progress === true || opt.wait === true);
72.21402 +            this.updateProgress(0, opt.progressText);
72.21403 +            this.updateText(opt.msg);
72.21404 +            if(opt.cls){
72.21405 +                d.el.addClass(opt.cls);
72.21406 +            }
72.21407 +            d.proxyDrag = opt.proxyDrag === true;
72.21408 +            d.modal = opt.modal !== false;
72.21409 +            d.mask = opt.modal !== false ? mask : false;
72.21410 +            if(!d.isVisible()){
72.21411 +                
72.21412 +                document.body.appendChild(dlg.el.dom);
72.21413 +                d.setAnimateTarget(opt.animEl);
72.21414 +                d.show(opt.animEl);
72.21415 +            }
72.21416 +
72.21417 +            
72.21418 +            d.on('show', function(){
72.21419 +                if(allowClose === true){
72.21420 +                    d.keyMap.enable();
72.21421 +                }else{
72.21422 +                    d.keyMap.disable();
72.21423 +                }
72.21424 +            }, this, {single:true});
72.21425 +
72.21426 +            if(opt.wait === true){
72.21427 +                progressBar.wait(opt.waitConfig);
72.21428 +            }
72.21429 +            return this;
72.21430 +        },
72.21431 +
72.21432 +        
72.21433 +        setIcon : function(icon){
72.21434 +            if(icon && icon != ''){
72.21435 +                iconEl.removeClass('x-hidden');
72.21436 +                iconEl.replaceClass(iconCls, icon);
72.21437 +                iconCls = icon;
72.21438 +            }else{
72.21439 +                iconEl.replaceClass(iconCls, 'x-hidden');
72.21440 +                iconCls = '';
72.21441 +            }
72.21442 +            return this;
72.21443 +        },
72.21444 +
72.21445 +        
72.21446 +        progress : function(title, msg, progressText){
72.21447 +            this.show({
72.21448 +                title : title,
72.21449 +                msg : msg,
72.21450 +                buttons: false,
72.21451 +                progress:true,
72.21452 +                closable:false,
72.21453 +                minWidth: this.minProgressWidth,
72.21454 +                progressText: progressText
72.21455 +            });
72.21456 +            return this;
72.21457 +        },
72.21458 +
72.21459 +        
72.21460 +        wait : function(msg, title, config){
72.21461 +            this.show({
72.21462 +                title : title,
72.21463 +                msg : msg,
72.21464 +                buttons: false,
72.21465 +                closable:false,
72.21466 +                wait:true,
72.21467 +                modal:true,
72.21468 +                minWidth: this.minProgressWidth,
72.21469 +                waitConfig: config
72.21470 +            });
72.21471 +            return this;
72.21472 +        },
72.21473 +
72.21474 +        
72.21475 +        alert : function(title, msg, fn, scope){
72.21476 +            this.show({
72.21477 +                title : title,
72.21478 +                msg : msg,
72.21479 +                buttons: this.OK,
72.21480 +                fn: fn,
72.21481 +                scope : scope
72.21482 +            });
72.21483 +            return this;
72.21484 +        },
72.21485 +
72.21486 +        
72.21487 +        confirm : function(title, msg, fn, scope){
72.21488 +            this.show({
72.21489 +                title : title,
72.21490 +                msg : msg,
72.21491 +                buttons: this.YESNO,
72.21492 +                fn: fn,
72.21493 +                scope : scope,
72.21494 +                icon: this.QUESTION
72.21495 +            });
72.21496 +            return this;
72.21497 +        },
72.21498 +
72.21499 +        
72.21500 +        prompt : function(title, msg, fn, scope, multiline, value){
72.21501 +            this.show({
72.21502 +                title : title,
72.21503 +                msg : msg,
72.21504 +                buttons: this.OKCANCEL,
72.21505 +                fn: fn,
72.21506 +                minWidth:250,
72.21507 +                scope : scope,
72.21508 +                prompt:true,
72.21509 +                multiline: multiline,
72.21510 +                value: value
72.21511 +            });
72.21512 +            return this;
72.21513 +        },
72.21514 +
72.21515 +        
72.21516 +        OK : {ok:true},
72.21517 +        
72.21518 +        CANCEL : {cancel:true},
72.21519 +        
72.21520 +        OKCANCEL : {ok:true, cancel:true},
72.21521 +        
72.21522 +        YESNO : {yes:true, no:true},
72.21523 +        
72.21524 +        YESNOCANCEL : {yes:true, no:true, cancel:true},
72.21525 +        
72.21526 +        INFO : 'ext-mb-info',
72.21527 +        
72.21528 +        WARNING : 'ext-mb-warning',
72.21529 +        
72.21530 +        QUESTION : 'ext-mb-question',
72.21531 +        
72.21532 +        ERROR : 'ext-mb-error',
72.21533 +
72.21534 +        
72.21535 +        defaultTextHeight : 75,
72.21536 +        
72.21537 +        maxWidth : 600,
72.21538 +        
72.21539 +        minWidth : 100,
72.21540 +        
72.21541 +        minProgressWidth : 250,
72.21542 +        
72.21543 +        buttonText : {
72.21544 +            ok : "OK",
72.21545 +            cancel : "Cancel",
72.21546 +            yes : "Yes",
72.21547 +            no : "No"
72.21548 +        }
72.21549 +    };
72.21550 +}();
72.21551 +
72.21552 +
72.21553 +Ext.Msg = Ext.MessageBox;
72.21554 +
72.21555 +Ext.Tip = Ext.extend(Ext.Panel, {
72.21556 +    
72.21557 +    
72.21558 +    
72.21559 +    minWidth : 40,
72.21560 +    
72.21561 +    maxWidth : 300,
72.21562 +    
72.21563 +    shadow : "sides",
72.21564 +    
72.21565 +    defaultAlign : "tl-bl?",
72.21566 +    autoRender: true,
72.21567 +    quickShowInterval : 250,
72.21568 +
72.21569 +    
72.21570 +    frame:true,
72.21571 +    hidden:true,
72.21572 +    baseCls: 'x-tip',
72.21573 +    floating:{shadow:true,shim:true,useDisplay:true,constrain:false},
72.21574 +    autoHeight:true,
72.21575 +
72.21576 +    
72.21577 +    initComponent : function(){
72.21578 +        Ext.Tip.superclass.initComponent.call(this);
72.21579 +        if(this.closable && !this.title){
72.21580 +            this.elements += ',header';
72.21581 +        }
72.21582 +    },
72.21583 +
72.21584 +    
72.21585 +    afterRender : function(){
72.21586 +        Ext.Tip.superclass.afterRender.call(this);
72.21587 +        if(this.closable){
72.21588 +            this.addTool({
72.21589 +                id: 'close',
72.21590 +                handler: this.hide,
72.21591 +                scope: this
72.21592 +            });
72.21593 +        }
72.21594 +    },
72.21595 +
72.21596 +    
72.21597 +    showAt : function(xy){
72.21598 +        Ext.Tip.superclass.show.call(this);
72.21599 +        if(this.measureWidth !== false && (!this.initialConfig || typeof this.initialConfig.width != 'number')){
72.21600 +            this.doAutoWidth();
72.21601 +        }
72.21602 +        if(this.constrainPosition){
72.21603 +            xy = this.el.adjustForConstraints(xy);
72.21604 +        }
72.21605 +        this.setPagePosition(xy[0], xy[1]);
72.21606 +    },
72.21607 +
72.21608 +    
72.21609 +    doAutoWidth : function(){
72.21610 +        var bw = this.body.getTextWidth();
72.21611 +        if(this.title){
72.21612 +            bw = Math.max(bw, this.header.child('span').getTextWidth(this.title));
72.21613 +        }
72.21614 +        bw += this.getFrameWidth() + (this.closable ? 20 : 0) + this.body.getPadding("lr");
72.21615 +        this.setWidth(bw.constrain(this.minWidth, this.maxWidth));
72.21616 +    },
72.21617 +
72.21618 +    
72.21619 +    showBy : function(el, pos){
72.21620 +        if(!this.rendered){
72.21621 +            this.render(Ext.getBody());
72.21622 +        }
72.21623 +        this.showAt(this.el.getAlignToXY(el, pos || this.defaultAlign));
72.21624 +    },
72.21625 +
72.21626 +    initDraggable : function(){
72.21627 +        this.dd = new Ext.Tip.DD(this, typeof this.draggable == 'boolean' ? null : this.draggable);
72.21628 +        this.header.addClass('x-tip-draggable');
72.21629 +    }
72.21630 +});
72.21631 +
72.21632 +
72.21633 +Ext.Tip.DD = function(tip, config){
72.21634 +    Ext.apply(this, config);
72.21635 +    this.tip = tip;
72.21636 +    Ext.Tip.DD.superclass.constructor.call(this, tip.el.id, 'WindowDD-'+tip.id);
72.21637 +    this.setHandleElId(tip.header.id);
72.21638 +    this.scroll = false;
72.21639 +};
72.21640 +
72.21641 +Ext.extend(Ext.Tip.DD, Ext.dd.DD, {
72.21642 +    moveOnly:true,
72.21643 +    scroll:false,
72.21644 +    headerOffsets:[100, 25],
72.21645 +    startDrag : function(){
72.21646 +        this.tip.el.disableShadow();
72.21647 +    },
72.21648 +    endDrag : function(e){
72.21649 +        this.tip.el.enableShadow(true);
72.21650 +    }
72.21651 +});
72.21652 +
72.21653 +Ext.ToolTip = Ext.extend(Ext.Tip, {
72.21654 +    
72.21655 +    
72.21656 +    
72.21657 +    showDelay: 500,
72.21658 +    
72.21659 +    hideDelay: 200,
72.21660 +    
72.21661 +    dismissDelay: 5000,
72.21662 +    
72.21663 +    mouseOffset: [15,18],
72.21664 +    
72.21665 +    trackMouse : false,
72.21666 +    constrainPosition: true,
72.21667 +
72.21668 +    
72.21669 +    initComponent: function(){
72.21670 +        Ext.ToolTip.superclass.initComponent.call(this);
72.21671 +        this.lastActive = new Date();
72.21672 +        this.initTarget();
72.21673 +    },
72.21674 +
72.21675 +    
72.21676 +    initTarget : function(){
72.21677 +        if(this.target){
72.21678 +            this.target = Ext.get(this.target);
72.21679 +            this.target.on('mouseover', this.onTargetOver, this);
72.21680 +            this.target.on('mouseout', this.onTargetOut, this);
72.21681 +            this.target.on('mousemove', this.onMouseMove, this);
72.21682 +        }
72.21683 +    },
72.21684 +
72.21685 +    
72.21686 +    onMouseMove : function(e){
72.21687 +        this.targetXY = e.getXY();
72.21688 +        if(!this.hidden && this.trackMouse){
72.21689 +            this.setPagePosition(this.getTargetXY());
72.21690 +        }
72.21691 +    },
72.21692 +
72.21693 +    
72.21694 +    getTargetXY : function(){
72.21695 +        return [this.targetXY[0]+this.mouseOffset[0], this.targetXY[1]+this.mouseOffset[1]];
72.21696 +    },
72.21697 +
72.21698 +    
72.21699 +    onTargetOver : function(e){
72.21700 +        if(this.disabled || e.within(this.target.dom, true)){
72.21701 +            return;
72.21702 +        }
72.21703 +        this.clearTimer('hide');
72.21704 +        this.targetXY = e.getXY();
72.21705 +        this.delayShow();
72.21706 +    },
72.21707 +
72.21708 +    
72.21709 +    delayShow : function(){
72.21710 +        if(this.hidden && !this.showTimer){
72.21711 +            if(this.lastActive.getElapsed() < this.quickShowInterval){
72.21712 +                this.show();
72.21713 +            }else{
72.21714 +                this.showTimer = this.show.defer(this.showDelay, this);
72.21715 +            }
72.21716 +        }else if(!this.hidden && this.autoHide !== false){
72.21717 +            this.show();
72.21718 +        }
72.21719 +    },
72.21720 +
72.21721 +    
72.21722 +    onTargetOut : function(e){
72.21723 +        if(this.disabled || e.within(this.target.dom, true)){
72.21724 +            return;
72.21725 +        }
72.21726 +        this.clearTimer('show');
72.21727 +        if(this.autoHide !== false){
72.21728 +            this.delayHide();
72.21729 +        }
72.21730 +    },
72.21731 +
72.21732 +    
72.21733 +    delayHide : function(){
72.21734 +        if(!this.hidden && !this.hideTimer){
72.21735 +            this.hideTimer = this.hide.defer(this.hideDelay, this);
72.21736 +        }
72.21737 +    },
72.21738 +
72.21739 +    
72.21740 +    hide: function(){
72.21741 +        this.clearTimer('dismiss');
72.21742 +        this.lastActive = new Date();
72.21743 +        Ext.ToolTip.superclass.hide.call(this);
72.21744 +    },
72.21745 +
72.21746 +    
72.21747 +    show : function(){
72.21748 +        this.showAt(this.getTargetXY());
72.21749 +    },
72.21750 +
72.21751 +    
72.21752 +    showAt : function(xy){
72.21753 +        this.lastActive = new Date();
72.21754 +        this.clearTimers();
72.21755 +        Ext.ToolTip.superclass.showAt.call(this, xy);
72.21756 +        if(this.dismissDelay && this.autoHide !== false){
72.21757 +            this.dismissTimer = this.hide.defer(this.dismissDelay, this);
72.21758 +        }
72.21759 +    },
72.21760 +
72.21761 +    
72.21762 +    clearTimer : function(name){
72.21763 +        name = name + 'Timer';
72.21764 +        clearTimeout(this[name]);
72.21765 +        delete this[name];
72.21766 +    },
72.21767 +
72.21768 +    
72.21769 +    clearTimers : function(){
72.21770 +        this.clearTimer('show');
72.21771 +        this.clearTimer('dismiss');
72.21772 +        this.clearTimer('hide');
72.21773 +    },
72.21774 +
72.21775 +    
72.21776 +    onShow : function(){
72.21777 +        Ext.ToolTip.superclass.onShow.call(this);
72.21778 +        Ext.getDoc().on('mousedown', this.onDocMouseDown, this);
72.21779 +    },
72.21780 +
72.21781 +    
72.21782 +    onHide : function(){
72.21783 +        Ext.ToolTip.superclass.onHide.call(this);
72.21784 +        Ext.getDoc().un('mousedown', this.onDocMouseDown, this);
72.21785 +    },
72.21786 +
72.21787 +    
72.21788 +    onDocMouseDown : function(e){
72.21789 +        if(this.autoHide !== false && !e.within(this.el.dom)){
72.21790 +            this.disable();
72.21791 +            this.enable.defer(100, this);
72.21792 +        }
72.21793 +    },
72.21794 +
72.21795 +    
72.21796 +    onDisable : function(){
72.21797 +        this.clearTimers();
72.21798 +        this.hide();
72.21799 +    },
72.21800 +
72.21801 +    
72.21802 +    adjustPosition : function(x, y){
72.21803 +        
72.21804 +        var ay = this.targetXY[1], h = this.getSize().height;
72.21805 +        if(this.constrainPosition && y <= ay && (y+h) >= ay){
72.21806 +            y = ay-h-5;
72.21807 +        }
72.21808 +        return {x : x, y: y};
72.21809 +    },
72.21810 +
72.21811 +    
72.21812 +    onDestroy : function(){
72.21813 +        Ext.ToolTip.superclass.onDestroy.call(this);
72.21814 +        if(this.target){
72.21815 +            this.target.un('mouseover', this.onTargetOver, this);
72.21816 +            this.target.un('mouseout', this.onTargetOut, this);
72.21817 +            this.target.un('mousemove', this.onMouseMove, this);
72.21818 +        }
72.21819 +    }
72.21820 +});
72.21821 +
72.21822 +Ext.QuickTip = Ext.extend(Ext.ToolTip, {
72.21823 +    
72.21824 +    
72.21825 +    interceptTitles : false,
72.21826 +
72.21827 +    
72.21828 +    tagConfig : {
72.21829 +        namespace : "ext",
72.21830 +        attribute : "qtip",
72.21831 +        width : "qwidth",
72.21832 +        target : "target",
72.21833 +        title : "qtitle",
72.21834 +        hide : "hide",
72.21835 +        cls : "qclass",
72.21836 +        align : "qalign"
72.21837 +    },
72.21838 +
72.21839 +    
72.21840 +    initComponent : function(){
72.21841 +        this.target = this.target || Ext.getDoc();
72.21842 +        this.targets = this.targets || {};
72.21843 +        Ext.QuickTip.superclass.initComponent.call(this);
72.21844 +    },
72.21845 +
72.21846 +    
72.21847 +    register : function(config){
72.21848 +        var cs = Ext.isArray(config) ? config : arguments;
72.21849 +        for(var i = 0, len = cs.length; i < len; i++){
72.21850 +            var c = cs[i];
72.21851 +            var target = c.target;
72.21852 +            if(target){
72.21853 +                if(Ext.isArray(target)){
72.21854 +                    for(var j = 0, jlen = target.length; j < jlen; j++){
72.21855 +                        this.targets[Ext.id(target[j])] = c;
72.21856 +                    }
72.21857 +                } else{
72.21858 +                    this.targets[Ext.id(target)] = c;
72.21859 +                }
72.21860 +            }
72.21861 +        }
72.21862 +    },
72.21863 +
72.21864 +    
72.21865 +    unregister : function(el){
72.21866 +        delete this.targets[Ext.id(el)];
72.21867 +    },
72.21868 +
72.21869 +    
72.21870 +    onTargetOver : function(e){
72.21871 +        if(this.disabled){
72.21872 +            return;
72.21873 +        }
72.21874 +        this.targetXY = e.getXY();
72.21875 +        var t = e.getTarget();
72.21876 +        if(!t || t.nodeType !== 1 || t == document || t == document.body){
72.21877 +            return;
72.21878 +        }
72.21879 +        if(this.activeTarget && t == this.activeTarget.el){
72.21880 +            this.clearTimer('hide');
72.21881 +            this.show();
72.21882 +            return;
72.21883 +        }
72.21884 +        if(t && this.targets[t.id]){
72.21885 +            this.activeTarget = this.targets[t.id];
72.21886 +            this.activeTarget.el = t;
72.21887 +            this.delayShow();
72.21888 +            return;
72.21889 +        }
72.21890 +        var ttp, et = Ext.fly(t), cfg = this.tagConfig;
72.21891 +        var ns = cfg.namespace;
72.21892 +        if(this.interceptTitles && t.title){
72.21893 +            ttp = t.title;
72.21894 +            t.qtip = ttp;
72.21895 +            t.removeAttribute("title");
72.21896 +            e.preventDefault();
72.21897 +        } else{
72.21898 +            ttp = t.qtip || et.getAttributeNS(ns, cfg.attribute);
72.21899 +        }
72.21900 +        if(ttp){
72.21901 +            var autoHide = et.getAttributeNS(ns, cfg.hide);
72.21902 +            this.activeTarget = {
72.21903 +                el: t,
72.21904 +                text: ttp,
72.21905 +                width: et.getAttributeNS(ns, cfg.width),
72.21906 +                autoHide: autoHide != "user" && autoHide !== 'false',
72.21907 +                title: et.getAttributeNS(ns, cfg.title),
72.21908 +                cls: et.getAttributeNS(ns, cfg.cls),
72.21909 +                align: et.getAttributeNS(ns, cfg.align)
72.21910 +            };
72.21911 +            this.delayShow();
72.21912 +        }
72.21913 +    },
72.21914 +
72.21915 +    
72.21916 +    onTargetOut : function(e){
72.21917 +        this.clearTimer('show');
72.21918 +        if(this.autoHide !== false){
72.21919 +            this.delayHide();
72.21920 +        }
72.21921 +    },
72.21922 +
72.21923 +    
72.21924 +    showAt : function(xy){
72.21925 +        var t = this.activeTarget;
72.21926 +        if(t){
72.21927 +            if(!this.rendered){
72.21928 +                this.render(Ext.getBody());
72.21929 +                this.activeTarget = t;
72.21930 +            }
72.21931 +            if(t.width){
72.21932 +                this.setWidth(t.width);
72.21933 +                this.body.setWidth(this.adjustBodyWidth(t.width - this.getFrameWidth()));
72.21934 +                this.measureWidth = false;
72.21935 +            } else{
72.21936 +                this.measureWidth = true;
72.21937 +            }
72.21938 +            this.setTitle(t.title || '');
72.21939 +            this.body.update(t.text);
72.21940 +            this.autoHide = t.autoHide;
72.21941 +            this.dismissDelay = t.dismissDelay || this.dismissDelay;
72.21942 +            if(this.lastCls){
72.21943 +                this.el.removeClass(this.lastCls);
72.21944 +                delete this.lastCls;
72.21945 +            }
72.21946 +            if(t.cls){
72.21947 +                this.el.addClass(t.cls);
72.21948 +                this.lastCls = t.cls;
72.21949 +            }
72.21950 +            if(t.align){ 
72.21951 +                xy = this.el.getAlignToXY(t.el, t.align);
72.21952 +                this.constrainPosition = false;
72.21953 +            } else{
72.21954 +                this.constrainPosition = true;
72.21955 +            }
72.21956 +        }
72.21957 +        Ext.QuickTip.superclass.showAt.call(this, xy);
72.21958 +    },
72.21959 +
72.21960 +    
72.21961 +    hide: function(){
72.21962 +        delete this.activeTarget;
72.21963 +        Ext.QuickTip.superclass.hide.call(this);
72.21964 +    }
72.21965 +});
72.21966 +
72.21967 +Ext.QuickTips = function(){
72.21968 +    var tip, locks = [];
72.21969 +    return {
72.21970 +        
72.21971 +        init : function(){
72.21972 +            if(!tip){
72.21973 +                tip = new Ext.QuickTip({elements:'header,body'});
72.21974 +            }
72.21975 +        },
72.21976 +
72.21977 +        
72.21978 +        enable : function(){
72.21979 +            if(tip){
72.21980 +                locks.pop();
72.21981 +                if(locks.length < 1){
72.21982 +                    tip.enable();
72.21983 +                }
72.21984 +            }
72.21985 +        },
72.21986 +
72.21987 +        
72.21988 +        disable : function(){
72.21989 +            if(tip){
72.21990 +                tip.disable();
72.21991 +            }
72.21992 +            locks.push(1);
72.21993 +        },
72.21994 +
72.21995 +        
72.21996 +        isEnabled : function(){
72.21997 +            return tip !== undefined && !tip.disabled;
72.21998 +        },
72.21999 +
72.22000 +        
72.22001 +        getQuickTip : function(){
72.22002 +            return tip;
72.22003 +        },
72.22004 +
72.22005 +        
72.22006 +        register : function(){
72.22007 +            tip.register.apply(tip, arguments);
72.22008 +        },
72.22009 +
72.22010 +        
72.22011 +        unregister : function(){
72.22012 +            tip.unregister.apply(tip, arguments);
72.22013 +        },
72.22014 +
72.22015 +        
72.22016 +        tips :function(){
72.22017 +            tip.register.apply(tip, arguments);
72.22018 +        }
72.22019 +    }
72.22020 +}();
72.22021 +
72.22022 +Ext.tree.TreePanel = Ext.extend(Ext.Panel, {
72.22023 +    rootVisible : true,
72.22024 +    animate: Ext.enableFx,
72.22025 +    lines : true,
72.22026 +    enableDD : false,
72.22027 +    hlDrop : Ext.enableFx,
72.22028 +    pathSeparator: "/",
72.22029 +
72.22030 +    initComponent : function(){
72.22031 +        Ext.tree.TreePanel.superclass.initComponent.call(this);
72.22032 +
72.22033 +        if(!this.eventModel){
72.22034 +            this.eventModel = new Ext.tree.TreeEventModel(this);
72.22035 +        }
72.22036 +        
72.22037 +        this.nodeHash = {};
72.22038 +
72.22039 +        
72.22040 +        if(this.root){
72.22041 +           this.setRootNode(this.root);
72.22042 +        }
72.22043 +
72.22044 +        this.addEvents(
72.22045 +
72.22046 +            
72.22047 +           "append",
72.22048 +           
72.22049 +           "remove",
72.22050 +           
72.22051 +           "movenode",
72.22052 +           
72.22053 +           "insert",
72.22054 +           
72.22055 +           "beforeappend",
72.22056 +           
72.22057 +           "beforeremove",
72.22058 +           
72.22059 +           "beforemovenode",
72.22060 +           
72.22061 +            "beforeinsert",
72.22062 +
72.22063 +            
72.22064 +            "beforeload",
72.22065 +            
72.22066 +            "load",
72.22067 +            
72.22068 +            "textchange",
72.22069 +            
72.22070 +            "beforeexpandnode",
72.22071 +            
72.22072 +            "beforecollapsenode",
72.22073 +            
72.22074 +            "expandnode",
72.22075 +            
72.22076 +            "disabledchange",
72.22077 +            
72.22078 +            "collapsenode",
72.22079 +            
72.22080 +            "beforeclick",
72.22081 +            
72.22082 +            "click",
72.22083 +            
72.22084 +            "checkchange",
72.22085 +            
72.22086 +            "dblclick",
72.22087 +            
72.22088 +            "contextmenu",
72.22089 +            
72.22090 +            "beforechildrenrendered",
72.22091 +           
72.22092 +            "startdrag",
72.22093 +            
72.22094 +            "enddrag",
72.22095 +            
72.22096 +            "dragdrop",
72.22097 +            
72.22098 +            "beforenodedrop",
72.22099 +            
72.22100 +            "nodedrop",
72.22101 +             
72.22102 +            "nodedragover"
72.22103 +        );
72.22104 +        if(this.singleExpand){
72.22105 +            this.on("beforeexpandnode", this.restrictExpand, this);
72.22106 +        }
72.22107 +    },
72.22108 +
72.22109 +    
72.22110 +    proxyNodeEvent : function(ename, a1, a2, a3, a4, a5, a6){
72.22111 +        if(ename == 'collapse' || ename == 'expand' || ename == 'beforecollapse' || ename == 'beforeexpand' || ename == 'move' || ename == 'beforemove'){
72.22112 +            ename = ename+'node';
72.22113 +        }
72.22114 +        
72.22115 +        return this.fireEvent(ename, a1, a2, a3, a4, a5, a6);
72.22116 +    },
72.22117 +
72.22118 +
72.22119 +    
72.22120 +    getRootNode : function(){
72.22121 +        return this.root;
72.22122 +    },
72.22123 +
72.22124 +    
72.22125 +    setRootNode : function(node){
72.22126 +        this.root = node;
72.22127 +        node.ownerTree = this;
72.22128 +        node.isRoot = true;
72.22129 +        this.registerNode(node);
72.22130 +        if(!this.rootVisible){
72.22131 +        	var uiP = node.attributes.uiProvider;
72.22132 +        	node.ui = uiP ? new uiP(node) : new Ext.tree.RootTreeNodeUI(node); 
72.22133 +        }
72.22134 +        return node;
72.22135 +    },
72.22136 +
72.22137 +    
72.22138 +    getNodeById : function(id){
72.22139 +        return this.nodeHash[id];
72.22140 +    },
72.22141 +
72.22142 +    
72.22143 +    registerNode : function(node){
72.22144 +        this.nodeHash[node.id] = node;
72.22145 +    },
72.22146 +
72.22147 +    
72.22148 +    unregisterNode : function(node){
72.22149 +        delete this.nodeHash[node.id];
72.22150 +    },
72.22151 +
72.22152 +    
72.22153 +    toString : function(){
72.22154 +        return "[Tree"+(this.id?" "+this.id:"")+"]";
72.22155 +    },
72.22156 +
72.22157 +    
72.22158 +    restrictExpand : function(node){
72.22159 +        var p = node.parentNode;
72.22160 +        if(p){
72.22161 +            if(p.expandedChild && p.expandedChild.parentNode == p){
72.22162 +                p.expandedChild.collapse();
72.22163 +            }
72.22164 +            p.expandedChild = node;
72.22165 +        }
72.22166 +    },
72.22167 +
72.22168 +    
72.22169 +    getChecked : function(a, startNode){
72.22170 +        startNode = startNode || this.root;
72.22171 +        var r = [];
72.22172 +        var f = function(){
72.22173 +            if(this.attributes.checked){
72.22174 +                r.push(!a ? this : (a == 'id' ? this.id : this.attributes[a]));
72.22175 +            }
72.22176 +        }
72.22177 +        startNode.cascade(f);
72.22178 +        return r;
72.22179 +    },
72.22180 +
72.22181 +    
72.22182 +    getEl : function(){
72.22183 +        return this.el;
72.22184 +    },
72.22185 +
72.22186 +    
72.22187 +    getLoader : function(){
72.22188 +        return this.loader;
72.22189 +    },
72.22190 +
72.22191 +    
72.22192 +    expandAll : function(){
72.22193 +        this.root.expand(true);
72.22194 +    },
72.22195 +
72.22196 +    
72.22197 +    collapseAll : function(){
72.22198 +        this.root.collapse(true);
72.22199 +    },
72.22200 +
72.22201 +    
72.22202 +    getSelectionModel : function(){
72.22203 +        if(!this.selModel){
72.22204 +            this.selModel = new Ext.tree.DefaultSelectionModel();
72.22205 +        }
72.22206 +        return this.selModel;
72.22207 +    },
72.22208 +
72.22209 +    
72.22210 +    expandPath : function(path, attr, callback){
72.22211 +        attr = attr || "id";
72.22212 +        var keys = path.split(this.pathSeparator);
72.22213 +        var curNode = this.root;
72.22214 +        if(curNode.attributes[attr] != keys[1]){ 
72.22215 +            if(callback){
72.22216 +                callback(false, null);
72.22217 +            }
72.22218 +            return;
72.22219 +        }
72.22220 +        var index = 1;
72.22221 +        var f = function(){
72.22222 +            if(++index == keys.length){
72.22223 +                if(callback){
72.22224 +                    callback(true, curNode);
72.22225 +                }
72.22226 +                return;
72.22227 +            }
72.22228 +            var c = curNode.findChild(attr, keys[index]);
72.22229 +            if(!c){
72.22230 +                if(callback){
72.22231 +                    callback(false, curNode);
72.22232 +                }
72.22233 +                return;
72.22234 +            }
72.22235 +            curNode = c;
72.22236 +            c.expand(false, false, f);
72.22237 +        };
72.22238 +        curNode.expand(false, false, f);
72.22239 +    },
72.22240 +
72.22241 +    
72.22242 +    selectPath : function(path, attr, callback){
72.22243 +        attr = attr || "id";
72.22244 +        var keys = path.split(this.pathSeparator);
72.22245 +        var v = keys.pop();
72.22246 +        if(keys.length > 0){
72.22247 +            var f = function(success, node){
72.22248 +                if(success && node){
72.22249 +                    var n = node.findChild(attr, v);
72.22250 +                    if(n){
72.22251 +                        n.select();
72.22252 +                        if(callback){
72.22253 +                            callback(true, n);
72.22254 +                        }
72.22255 +                    }else if(callback){
72.22256 +                        callback(false, n);
72.22257 +                    }
72.22258 +                }else{
72.22259 +                    if(callback){
72.22260 +                        callback(false, n);
72.22261 +                    }
72.22262 +                }
72.22263 +            };
72.22264 +            this.expandPath(keys.join(this.pathSeparator), attr, f);
72.22265 +        }else{
72.22266 +            this.root.select();
72.22267 +            if(callback){
72.22268 +                callback(true, this.root);
72.22269 +            }
72.22270 +        }
72.22271 +    },
72.22272 +
72.22273 +    
72.22274 +    getTreeEl : function(){
72.22275 +        return this.body;
72.22276 +    },
72.22277 +
72.22278 +    
72.22279 +    onRender : function(ct, position){
72.22280 +        Ext.tree.TreePanel.superclass.onRender.call(this, ct, position);
72.22281 +        this.el.addClass('x-tree');
72.22282 +        this.innerCt = this.body.createChild({tag:"ul",
72.22283 +               cls:"x-tree-root-ct " +
72.22284 +               (this.useArrows ? 'x-tree-arrows' : this.lines ? "x-tree-lines" : "x-tree-no-lines")});
72.22285 +    },
72.22286 +
72.22287 +    
72.22288 +    initEvents : function(){
72.22289 +        Ext.tree.TreePanel.superclass.initEvents.call(this);
72.22290 +
72.22291 +        if(this.containerScroll){
72.22292 +            Ext.dd.ScrollManager.register(this.body);
72.22293 +        }
72.22294 +        if((this.enableDD || this.enableDrop) && !this.dropZone){
72.22295 +           
72.22296 +             this.dropZone = new Ext.tree.TreeDropZone(this, this.dropConfig || {
72.22297 +               ddGroup: this.ddGroup || "TreeDD", appendOnly: this.ddAppendOnly === true
72.22298 +           });
72.22299 +        }
72.22300 +        if((this.enableDD || this.enableDrag) && !this.dragZone){
72.22301 +           
72.22302 +            this.dragZone = new Ext.tree.TreeDragZone(this, this.dragConfig || {
72.22303 +               ddGroup: this.ddGroup || "TreeDD",
72.22304 +               scroll: this.ddScroll
72.22305 +           });
72.22306 +        }
72.22307 +        this.getSelectionModel().init(this);
72.22308 +    },
72.22309 +
72.22310 +    
72.22311 +    afterRender : function(){
72.22312 +        Ext.tree.TreePanel.superclass.afterRender.call(this);
72.22313 +        this.root.render();
72.22314 +        if(!this.rootVisible){
72.22315 +            this.root.renderChildren();
72.22316 +        }
72.22317 +    },
72.22318 +
72.22319 +    onDestroy : function(){
72.22320 +        if(this.rendered){
72.22321 +            this.body.removeAllListeners();
72.22322 +            Ext.dd.ScrollManager.unregister(this.body);
72.22323 +            if(this.dropZone){
72.22324 +                this.dropZone.unreg();
72.22325 +            }
72.22326 +            if(this.dragZone){
72.22327 +               this.dragZone.unreg();
72.22328 +            }
72.22329 +        }
72.22330 +        this.root.destroy();
72.22331 +        this.nodeHash = null;
72.22332 +        Ext.tree.TreePanel.superclass.onDestroy.call(this);
72.22333 +    }
72.22334 +    
72.22335 +    
72.22336 +    
72.22337 +    
72.22338 +    
72.22339 +    
72.22340 +    
72.22341 +    
72.22342 +    
72.22343 +    
72.22344 +    
72.22345 +    
72.22346 +    
72.22347 +    
72.22348 +    
72.22349 +    
72.22350 +    
72.22351 +    
72.22352 +    
72.22353 +    
72.22354 +    
72.22355 +    
72.22356 +    
72.22357 +    
72.22358 +    
72.22359 +    
72.22360 +    
72.22361 +    
72.22362 +    
72.22363 +    
72.22364 +    
72.22365 +    
72.22366 +
72.22367 +
72.22368 +
72.22369 +    
72.22370 +    
72.22371 +    
72.22372 +    
72.22373 +    
72.22374 +    
72.22375 +    
72.22376 +    
72.22377 +    
72.22378 +    
72.22379 +    
72.22380 +    
72.22381 +});
72.22382 +Ext.reg('treepanel', Ext.tree.TreePanel);
72.22383 +Ext.tree.TreeEventModel = function(tree){
72.22384 +    this.tree = tree;
72.22385 +    this.tree.on('render', this.initEvents, this);
72.22386 +}
72.22387 +
72.22388 +Ext.tree.TreeEventModel.prototype = {
72.22389 +    initEvents : function(){
72.22390 +        var el = this.tree.getTreeEl();
72.22391 +        el.on('click', this.delegateClick, this);
72.22392 +        if(this.tree.trackMouseOver !== false){
72.22393 +            el.on('mouseover', this.delegateOver, this);
72.22394 +            el.on('mouseout', this.delegateOut, this);
72.22395 +        }
72.22396 +        el.on('dblclick', this.delegateDblClick, this);
72.22397 +        el.on('contextmenu', this.delegateContextMenu, this);
72.22398 +    },
72.22399 +
72.22400 +    getNode : function(e){
72.22401 +        var t;
72.22402 +        if(t = e.getTarget('.x-tree-node-el', 10)){
72.22403 +            var id = Ext.fly(t, '_treeEvents').getAttributeNS('ext', 'tree-node-id');
72.22404 +            if(id){
72.22405 +                return this.tree.getNodeById(id);
72.22406 +            }
72.22407 +        }
72.22408 +        return null;
72.22409 +    },
72.22410 +
72.22411 +    getNodeTarget : function(e){
72.22412 +        var t = e.getTarget('.x-tree-node-icon', 1);
72.22413 +        if(!t){
72.22414 +            t = e.getTarget('.x-tree-node-el', 6);
72.22415 +        }
72.22416 +        return t;
72.22417 +    },
72.22418 +
72.22419 +    delegateOut : function(e, t){
72.22420 +        if(!this.beforeEvent(e)){
72.22421 +            return;
72.22422 +        }
72.22423 +        if(e.getTarget('.x-tree-ec-icon', 1)){
72.22424 +            var n = this.getNode(e);
72.22425 +            this.onIconOut(e, n);
72.22426 +            if(n == this.lastEcOver){
72.22427 +                delete this.lastEcOver;
72.22428 +            }
72.22429 +        }
72.22430 +        if((t = this.getNodeTarget(e)) && !e.within(t, true)){
72.22431 +            this.onNodeOut(e, this.getNode(e));
72.22432 +        }
72.22433 +    },
72.22434 +
72.22435 +    delegateOver : function(e, t){
72.22436 +        if(!this.beforeEvent(e)){
72.22437 +            return;
72.22438 +        }
72.22439 +        if(this.lastEcOver){ 
72.22440 +            this.onIconOut(e, this.lastEcOver);
72.22441 +            delete this.lastEcOver;
72.22442 +        }
72.22443 +        if(e.getTarget('.x-tree-ec-icon', 1)){
72.22444 +            this.lastEcOver = this.getNode(e);
72.22445 +            this.onIconOver(e, this.lastEcOver);
72.22446 +        }
72.22447 +        if(t = this.getNodeTarget(e)){
72.22448 +            this.onNodeOver(e, this.getNode(e));
72.22449 +        }
72.22450 +    },
72.22451 +
72.22452 +    delegateClick : function(e, t){
72.22453 +        if(!this.beforeEvent(e)){
72.22454 +            return;
72.22455 +        }
72.22456 +
72.22457 +        if(e.getTarget('input[type=checkbox]', 1)){
72.22458 +            this.onCheckboxClick(e, this.getNode(e));
72.22459 +        }
72.22460 +        else if(e.getTarget('.x-tree-ec-icon', 1)){
72.22461 +            this.onIconClick(e, this.getNode(e));
72.22462 +        }
72.22463 +        else if(this.getNodeTarget(e)){
72.22464 +            this.onNodeClick(e, this.getNode(e));
72.22465 +        }
72.22466 +    },
72.22467 +
72.22468 +    delegateDblClick : function(e, t){
72.22469 +        if(this.beforeEvent(e) && this.getNodeTarget(e)){
72.22470 +            this.onNodeDblClick(e, this.getNode(e));
72.22471 +        }
72.22472 +    },
72.22473 +
72.22474 +    delegateContextMenu : function(e, t){
72.22475 +        if(this.beforeEvent(e) && this.getNodeTarget(e)){
72.22476 +            this.onNodeContextMenu(e, this.getNode(e));
72.22477 +        }
72.22478 +    },
72.22479 +
72.22480 +    onNodeClick : function(e, node){
72.22481 +        node.ui.onClick(e);
72.22482 +    },
72.22483 +
72.22484 +    onNodeOver : function(e, node){
72.22485 +        node.ui.onOver(e);
72.22486 +    },
72.22487 +
72.22488 +    onNodeOut : function(e, node){
72.22489 +        node.ui.onOut(e);
72.22490 +    },
72.22491 +
72.22492 +    onIconOver : function(e, node){
72.22493 +        node.ui.addClass('x-tree-ec-over');
72.22494 +    },
72.22495 +
72.22496 +    onIconOut : function(e, node){
72.22497 +        node.ui.removeClass('x-tree-ec-over');
72.22498 +    },
72.22499 +
72.22500 +    onIconClick : function(e, node){
72.22501 +        node.ui.ecClick(e);
72.22502 +    },
72.22503 +
72.22504 +    onCheckboxClick : function(e, node){
72.22505 +        node.ui.onCheckChange(e);
72.22506 +    },
72.22507 +
72.22508 +    onNodeDblClick : function(e, node){
72.22509 +        node.ui.onDblClick(e);
72.22510 +    },
72.22511 +
72.22512 +    onNodeContextMenu : function(e, node){
72.22513 +        node.ui.onContextMenu(e);
72.22514 +    },
72.22515 +
72.22516 +    beforeEvent : function(e){
72.22517 +        if(this.disabled){
72.22518 +            e.stopEvent();
72.22519 +            return false;
72.22520 +        }
72.22521 +        return true;
72.22522 +    },
72.22523 +
72.22524 +    disable: function(){
72.22525 +        this.disabled = true;
72.22526 +    },
72.22527 +
72.22528 +    enable: function(){
72.22529 +        this.disabled = false;
72.22530 +    }
72.22531 +};
72.22532 +
72.22533 +Ext.tree.DefaultSelectionModel = function(config){
72.22534 +   this.selNode = null;
72.22535 +   
72.22536 +   this.addEvents(
72.22537 +       
72.22538 +       "selectionchange",
72.22539 +
72.22540 +       
72.22541 +       "beforeselect"
72.22542 +   );
72.22543 +
72.22544 +    Ext.apply(this, config);
72.22545 +    Ext.tree.DefaultSelectionModel.superclass.constructor.call(this);
72.22546 +};
72.22547 +
72.22548 +Ext.extend(Ext.tree.DefaultSelectionModel, Ext.util.Observable, {
72.22549 +    init : function(tree){
72.22550 +        this.tree = tree;
72.22551 +        tree.getTreeEl().on("keydown", this.onKeyDown, this);
72.22552 +        tree.on("click", this.onNodeClick, this);
72.22553 +    },
72.22554 +    
72.22555 +    onNodeClick : function(node, e){
72.22556 +        this.select(node);
72.22557 +    },
72.22558 +    
72.22559 +    
72.22560 +    select : function(node){
72.22561 +        var last = this.selNode;
72.22562 +        if(last != node && this.fireEvent('beforeselect', this, node, last) !== false){
72.22563 +            if(last){
72.22564 +                last.ui.onSelectedChange(false);
72.22565 +            }
72.22566 +            this.selNode = node;
72.22567 +            node.ui.onSelectedChange(true);
72.22568 +            this.fireEvent("selectionchange", this, node, last);
72.22569 +        }
72.22570 +        return node;
72.22571 +    },
72.22572 +    
72.22573 +    
72.22574 +    unselect : function(node){
72.22575 +        if(this.selNode == node){
72.22576 +            this.clearSelections();
72.22577 +        }    
72.22578 +    },
72.22579 +    
72.22580 +    
72.22581 +    clearSelections : function(){
72.22582 +        var n = this.selNode;
72.22583 +        if(n){
72.22584 +            n.ui.onSelectedChange(false);
72.22585 +            this.selNode = null;
72.22586 +            this.fireEvent("selectionchange", this, null);
72.22587 +        }
72.22588 +        return n;
72.22589 +    },
72.22590 +    
72.22591 +    
72.22592 +    getSelectedNode : function(){
72.22593 +        return this.selNode;    
72.22594 +    },
72.22595 +    
72.22596 +    
72.22597 +    isSelected : function(node){
72.22598 +        return this.selNode == node;  
72.22599 +    },
72.22600 +
72.22601 +    
72.22602 +    selectPrevious : function(){
72.22603 +        var s = this.selNode || this.lastSelNode;
72.22604 +        if(!s){
72.22605 +            return null;
72.22606 +        }
72.22607 +        var ps = s.previousSibling;
72.22608 +        if(ps){
72.22609 +            if(!ps.isExpanded() || ps.childNodes.length < 1){
72.22610 +                return this.select(ps);
72.22611 +            } else{
72.22612 +                var lc = ps.lastChild;
72.22613 +                while(lc && lc.isExpanded() && lc.childNodes.length > 0){
72.22614 +                    lc = lc.lastChild;
72.22615 +                }
72.22616 +                return this.select(lc);
72.22617 +            }
72.22618 +        } else if(s.parentNode && (this.tree.rootVisible || !s.parentNode.isRoot)){
72.22619 +            return this.select(s.parentNode);
72.22620 +        }
72.22621 +        return null;
72.22622 +    },
72.22623 +
72.22624 +    
72.22625 +    selectNext : function(){
72.22626 +        var s = this.selNode || this.lastSelNode;
72.22627 +        if(!s){
72.22628 +            return null;
72.22629 +        }
72.22630 +        if(s.firstChild && s.isExpanded()){
72.22631 +             return this.select(s.firstChild);
72.22632 +         }else if(s.nextSibling){
72.22633 +             return this.select(s.nextSibling);
72.22634 +         }else if(s.parentNode){
72.22635 +            var newS = null;
72.22636 +            s.parentNode.bubble(function(){
72.22637 +                if(this.nextSibling){
72.22638 +                    newS = this.getOwnerTree().selModel.select(this.nextSibling);
72.22639 +                    return false;
72.22640 +                }
72.22641 +            });
72.22642 +            return newS;
72.22643 +         }
72.22644 +        return null;
72.22645 +    },
72.22646 +
72.22647 +    onKeyDown : function(e){
72.22648 +        var s = this.selNode || this.lastSelNode;
72.22649 +        
72.22650 +        var sm = this;
72.22651 +        if(!s){
72.22652 +            return;
72.22653 +        }
72.22654 +        var k = e.getKey();
72.22655 +        switch(k){
72.22656 +             case e.DOWN:
72.22657 +                 e.stopEvent();
72.22658 +                 this.selectNext();
72.22659 +             break;
72.22660 +             case e.UP:
72.22661 +                 e.stopEvent();
72.22662 +                 this.selectPrevious();
72.22663 +             break;
72.22664 +             case e.RIGHT:
72.22665 +                 e.preventDefault();
72.22666 +                 if(s.hasChildNodes()){
72.22667 +                     if(!s.isExpanded()){
72.22668 +                         s.expand();
72.22669 +                     }else if(s.firstChild){
72.22670 +                         this.select(s.firstChild, e);
72.22671 +                     }
72.22672 +                 }
72.22673 +             break;
72.22674 +             case e.LEFT:
72.22675 +                 e.preventDefault();
72.22676 +                 if(s.hasChildNodes() && s.isExpanded()){
72.22677 +                     s.collapse();
72.22678 +                 }else if(s.parentNode && (this.tree.rootVisible || s.parentNode != this.tree.getRootNode())){
72.22679 +                     this.select(s.parentNode, e);
72.22680 +                 }
72.22681 +             break;
72.22682 +        };
72.22683 +    }
72.22684 +});
72.22685 +
72.22686 +
72.22687 +Ext.tree.MultiSelectionModel = function(config){
72.22688 +   this.selNodes = [];
72.22689 +   this.selMap = {};
72.22690 +   this.addEvents(
72.22691 +       
72.22692 +       "selectionchange"
72.22693 +   );
72.22694 +    Ext.apply(this, config);
72.22695 +    Ext.tree.MultiSelectionModel.superclass.constructor.call(this);
72.22696 +};
72.22697 +
72.22698 +Ext.extend(Ext.tree.MultiSelectionModel, Ext.util.Observable, {
72.22699 +    init : function(tree){
72.22700 +        this.tree = tree;
72.22701 +        tree.getTreeEl().on("keydown", this.onKeyDown, this);
72.22702 +        tree.on("click", this.onNodeClick, this);
72.22703 +    },
72.22704 +    
72.22705 +    onNodeClick : function(node, e){
72.22706 +        this.select(node, e, e.ctrlKey);
72.22707 +    },
72.22708 +    
72.22709 +    
72.22710 +    select : function(node, e, keepExisting){
72.22711 +        if(keepExisting !== true){
72.22712 +            this.clearSelections(true);
72.22713 +        }
72.22714 +        if(this.isSelected(node)){
72.22715 +            this.lastSelNode = node;
72.22716 +            return node;
72.22717 +        }
72.22718 +        this.selNodes.push(node);
72.22719 +        this.selMap[node.id] = node;
72.22720 +        this.lastSelNode = node;
72.22721 +        node.ui.onSelectedChange(true);
72.22722 +        this.fireEvent("selectionchange", this, this.selNodes);
72.22723 +        return node;
72.22724 +    },
72.22725 +    
72.22726 +    
72.22727 +    unselect : function(node){
72.22728 +        if(this.selMap[node.id]){
72.22729 +            node.ui.onSelectedChange(false);
72.22730 +            var sn = this.selNodes;
72.22731 +            var index = sn.indexOf(node);
72.22732 +            if(index != -1){
72.22733 +                this.selNodes.splice(index, 1);
72.22734 +            }
72.22735 +            delete this.selMap[node.id];
72.22736 +            this.fireEvent("selectionchange", this, this.selNodes);
72.22737 +        }
72.22738 +    },
72.22739 +    
72.22740 +    
72.22741 +    clearSelections : function(suppressEvent){
72.22742 +        var sn = this.selNodes;
72.22743 +        if(sn.length > 0){
72.22744 +            for(var i = 0, len = sn.length; i < len; i++){
72.22745 +                sn[i].ui.onSelectedChange(false);
72.22746 +            }
72.22747 +            this.selNodes = [];
72.22748 +            this.selMap = {};
72.22749 +            if(suppressEvent !== true){
72.22750 +                this.fireEvent("selectionchange", this, this.selNodes);
72.22751 +            }
72.22752 +        }
72.22753 +    },
72.22754 +    
72.22755 +    
72.22756 +    isSelected : function(node){
72.22757 +        return this.selMap[node.id] ? true : false;  
72.22758 +    },
72.22759 +    
72.22760 +    
72.22761 +    getSelectedNodes : function(){
72.22762 +        return this.selNodes;    
72.22763 +    },
72.22764 +
72.22765 +    onKeyDown : Ext.tree.DefaultSelectionModel.prototype.onKeyDown,
72.22766 +
72.22767 +    selectNext : Ext.tree.DefaultSelectionModel.prototype.selectNext,
72.22768 +
72.22769 +    selectPrevious : Ext.tree.DefaultSelectionModel.prototype.selectPrevious
72.22770 +});
72.22771 +
72.22772 +Ext.tree.TreeNode = function(attributes){
72.22773 +    attributes = attributes || {};
72.22774 +    if(typeof attributes == "string"){
72.22775 +        attributes = {text: attributes};
72.22776 +    }
72.22777 +    this.childrenRendered = false;
72.22778 +    this.rendered = false;
72.22779 +    Ext.tree.TreeNode.superclass.constructor.call(this, attributes);
72.22780 +    this.expanded = attributes.expanded === true;
72.22781 +    this.isTarget = attributes.isTarget !== false;
72.22782 +    this.draggable = attributes.draggable !== false && attributes.allowDrag !== false;
72.22783 +    this.allowChildren = attributes.allowChildren !== false && attributes.allowDrop !== false;
72.22784 +
72.22785 +    
72.22786 +    this.text = attributes.text;
72.22787 +    
72.22788 +    this.disabled = attributes.disabled === true;
72.22789 +
72.22790 +    this.addEvents(
72.22791 +        
72.22792 +        "textchange",
72.22793 +        
72.22794 +        "beforeexpand",
72.22795 +        
72.22796 +        "beforecollapse",
72.22797 +        
72.22798 +        "expand",
72.22799 +        
72.22800 +        "disabledchange",
72.22801 +        
72.22802 +        "collapse",
72.22803 +        
72.22804 +        "beforeclick",
72.22805 +        
72.22806 +        "click",
72.22807 +        
72.22808 +        "checkchange",
72.22809 +        
72.22810 +        "dblclick",
72.22811 +        
72.22812 +        "contextmenu",
72.22813 +        
72.22814 +        "beforechildrenrendered"
72.22815 +    );
72.22816 +
72.22817 +    var uiClass = this.attributes.uiProvider || this.defaultUI || Ext.tree.TreeNodeUI;
72.22818 +
72.22819 +    
72.22820 +    this.ui = new uiClass(this);
72.22821 +};
72.22822 +Ext.extend(Ext.tree.TreeNode, Ext.data.Node, {
72.22823 +    preventHScroll: true,
72.22824 +    
72.22825 +    isExpanded : function(){
72.22826 +        return this.expanded;
72.22827 +    },
72.22828 +
72.22829 +
72.22830 +    getUI : function(){
72.22831 +        return this.ui;
72.22832 +    },
72.22833 +
72.22834 +    
72.22835 +    setFirstChild : function(node){
72.22836 +        var of = this.firstChild;
72.22837 +        Ext.tree.TreeNode.superclass.setFirstChild.call(this, node);
72.22838 +        if(this.childrenRendered && of && node != of){
72.22839 +            of.renderIndent(true, true);
72.22840 +        }
72.22841 +        if(this.rendered){
72.22842 +            this.renderIndent(true, true);
72.22843 +        }
72.22844 +    },
72.22845 +
72.22846 +    
72.22847 +    setLastChild : function(node){
72.22848 +        var ol = this.lastChild;
72.22849 +        Ext.tree.TreeNode.superclass.setLastChild.call(this, node);
72.22850 +        if(this.childrenRendered && ol && node != ol){
72.22851 +            ol.renderIndent(true, true);
72.22852 +        }
72.22853 +        if(this.rendered){
72.22854 +            this.renderIndent(true, true);
72.22855 +        }
72.22856 +    },
72.22857 +
72.22858 +    
72.22859 +    
72.22860 +    appendChild : function(){
72.22861 +        var node = Ext.tree.TreeNode.superclass.appendChild.apply(this, arguments);
72.22862 +        if(node && this.childrenRendered){
72.22863 +            node.render();
72.22864 +        }
72.22865 +        this.ui.updateExpandIcon();
72.22866 +        return node;
72.22867 +    },
72.22868 +
72.22869 +    
72.22870 +    removeChild : function(node){
72.22871 +        this.ownerTree.getSelectionModel().unselect(node);
72.22872 +        Ext.tree.TreeNode.superclass.removeChild.apply(this, arguments);
72.22873 +        
72.22874 +        if(this.childrenRendered){
72.22875 +            node.ui.remove();
72.22876 +        }
72.22877 +        if(this.childNodes.length < 1){
72.22878 +            this.collapse(false, false);
72.22879 +        }else{
72.22880 +            this.ui.updateExpandIcon();
72.22881 +        }
72.22882 +        if(!this.firstChild && !this.isHiddenRoot()) {
72.22883 +            this.childrenRendered = false;
72.22884 +        }
72.22885 +        return node;
72.22886 +    },
72.22887 +
72.22888 +    
72.22889 +    insertBefore : function(node, refNode){
72.22890 +        var newNode = Ext.tree.TreeNode.superclass.insertBefore.apply(this, arguments);
72.22891 +        if(newNode && refNode && this.childrenRendered){
72.22892 +            node.render();
72.22893 +        }
72.22894 +        this.ui.updateExpandIcon();
72.22895 +        return newNode;
72.22896 +    },
72.22897 +
72.22898 +    
72.22899 +    setText : function(text){
72.22900 +        var oldText = this.text;
72.22901 +        this.text = text;
72.22902 +        this.attributes.text = text;
72.22903 +        if(this.rendered){ 
72.22904 +            this.ui.onTextChange(this, text, oldText);
72.22905 +        }
72.22906 +        this.fireEvent("textchange", this, text, oldText);
72.22907 +    },
72.22908 +
72.22909 +    
72.22910 +    select : function(){
72.22911 +        this.getOwnerTree().getSelectionModel().select(this);
72.22912 +    },
72.22913 +
72.22914 +    
72.22915 +    unselect : function(){
72.22916 +        this.getOwnerTree().getSelectionModel().unselect(this);
72.22917 +    },
72.22918 +
72.22919 +    
72.22920 +    isSelected : function(){
72.22921 +        return this.getOwnerTree().getSelectionModel().isSelected(this);
72.22922 +    },
72.22923 +
72.22924 +    
72.22925 +    expand : function(deep, anim, callback){
72.22926 +        if(!this.expanded){
72.22927 +            if(this.fireEvent("beforeexpand", this, deep, anim) === false){
72.22928 +                return;
72.22929 +            }
72.22930 +            if(!this.childrenRendered){
72.22931 +                this.renderChildren();
72.22932 +            }
72.22933 +            this.expanded = true;
72.22934 +            if(!this.isHiddenRoot() && (this.getOwnerTree().animate && anim !== false) || anim){
72.22935 +                this.ui.animExpand(function(){
72.22936 +                    this.fireEvent("expand", this);
72.22937 +                    if(typeof callback == "function"){
72.22938 +                        callback(this);
72.22939 +                    }
72.22940 +                    if(deep === true){
72.22941 +                        this.expandChildNodes(true);
72.22942 +                    }
72.22943 +                }.createDelegate(this));
72.22944 +                return;
72.22945 +            }else{
72.22946 +                this.ui.expand();
72.22947 +                this.fireEvent("expand", this);
72.22948 +                if(typeof callback == "function"){
72.22949 +                    callback(this);
72.22950 +                }
72.22951 +            }
72.22952 +        }else{
72.22953 +           if(typeof callback == "function"){
72.22954 +               callback(this);
72.22955 +           }
72.22956 +        }
72.22957 +        if(deep === true){
72.22958 +            this.expandChildNodes(true);
72.22959 +        }
72.22960 +    },
72.22961 +
72.22962 +    isHiddenRoot : function(){
72.22963 +        return this.isRoot && !this.getOwnerTree().rootVisible;
72.22964 +    },
72.22965 +
72.22966 +    
72.22967 +    collapse : function(deep, anim){
72.22968 +        if(this.expanded && !this.isHiddenRoot()){
72.22969 +            if(this.fireEvent("beforecollapse", this, deep, anim) === false){
72.22970 +                return;
72.22971 +            }
72.22972 +            this.expanded = false;
72.22973 +            if((this.getOwnerTree().animate && anim !== false) || anim){
72.22974 +                this.ui.animCollapse(function(){
72.22975 +                    this.fireEvent("collapse", this);
72.22976 +                    if(deep === true){
72.22977 +                        this.collapseChildNodes(true);
72.22978 +                    }
72.22979 +                }.createDelegate(this));
72.22980 +                return;
72.22981 +            }else{
72.22982 +                this.ui.collapse();
72.22983 +                this.fireEvent("collapse", this);
72.22984 +            }
72.22985 +        }
72.22986 +        if(deep === true){
72.22987 +            var cs = this.childNodes;
72.22988 +            for(var i = 0, len = cs.length; i < len; i++) {
72.22989 +            	cs[i].collapse(true, false);
72.22990 +            }
72.22991 +        }
72.22992 +    },
72.22993 +
72.22994 +    
72.22995 +    delayedExpand : function(delay){
72.22996 +        if(!this.expandProcId){
72.22997 +            this.expandProcId = this.expand.defer(delay, this);
72.22998 +        }
72.22999 +    },
72.23000 +
72.23001 +    
72.23002 +    cancelExpand : function(){
72.23003 +        if(this.expandProcId){
72.23004 +            clearTimeout(this.expandProcId);
72.23005 +        }
72.23006 +        this.expandProcId = false;
72.23007 +    },
72.23008 +
72.23009 +    
72.23010 +    toggle : function(){
72.23011 +        if(this.expanded){
72.23012 +            this.collapse();
72.23013 +        }else{
72.23014 +            this.expand();
72.23015 +        }
72.23016 +    },
72.23017 +
72.23018 +    
72.23019 +    ensureVisible : function(callback){
72.23020 +        var tree = this.getOwnerTree();
72.23021 +        tree.expandPath(this.parentNode.getPath(), false, function(){
72.23022 +            var node = tree.getNodeById(this.id);  
72.23023 +            tree.getTreeEl().scrollChildIntoView(node.ui.anchor);
72.23024 +            Ext.callback(callback);
72.23025 +        }.createDelegate(this));
72.23026 +    },
72.23027 +
72.23028 +    
72.23029 +    expandChildNodes : function(deep){
72.23030 +        var cs = this.childNodes;
72.23031 +        for(var i = 0, len = cs.length; i < len; i++) {
72.23032 +        	cs[i].expand(deep);
72.23033 +        }
72.23034 +    },
72.23035 +
72.23036 +    
72.23037 +    collapseChildNodes : function(deep){
72.23038 +        var cs = this.childNodes;
72.23039 +        for(var i = 0, len = cs.length; i < len; i++) {
72.23040 +        	cs[i].collapse(deep);
72.23041 +        }
72.23042 +    },
72.23043 +
72.23044 +    
72.23045 +    disable : function(){
72.23046 +        this.disabled = true;
72.23047 +        this.unselect();
72.23048 +        if(this.rendered && this.ui.onDisableChange){ 
72.23049 +            this.ui.onDisableChange(this, true);
72.23050 +        }
72.23051 +        this.fireEvent("disabledchange", this, true);
72.23052 +    },
72.23053 +
72.23054 +    
72.23055 +    enable : function(){
72.23056 +        this.disabled = false;
72.23057 +        if(this.rendered && this.ui.onDisableChange){ 
72.23058 +            this.ui.onDisableChange(this, false);
72.23059 +        }
72.23060 +        this.fireEvent("disabledchange", this, false);
72.23061 +    },
72.23062 +
72.23063 +    
72.23064 +    renderChildren : function(suppressEvent){
72.23065 +        if(suppressEvent !== false){
72.23066 +            this.fireEvent("beforechildrenrendered", this);
72.23067 +        }
72.23068 +        var cs = this.childNodes;
72.23069 +        for(var i = 0, len = cs.length; i < len; i++){
72.23070 +            cs[i].render(true);
72.23071 +        }
72.23072 +        this.childrenRendered = true;
72.23073 +    },
72.23074 +
72.23075 +    
72.23076 +    sort : function(fn, scope){
72.23077 +        Ext.tree.TreeNode.superclass.sort.apply(this, arguments);
72.23078 +        if(this.childrenRendered){
72.23079 +            var cs = this.childNodes;
72.23080 +            for(var i = 0, len = cs.length; i < len; i++){
72.23081 +                cs[i].render(true);
72.23082 +            }
72.23083 +        }
72.23084 +    },
72.23085 +
72.23086 +    
72.23087 +    render : function(bulkRender){
72.23088 +        this.ui.render(bulkRender);
72.23089 +        if(!this.rendered){
72.23090 +            
72.23091 +            this.getOwnerTree().registerNode(this);
72.23092 +            this.rendered = true;
72.23093 +            if(this.expanded){
72.23094 +                this.expanded = false;
72.23095 +                this.expand(false, false);
72.23096 +            }
72.23097 +        }
72.23098 +    },
72.23099 +
72.23100 +    
72.23101 +    renderIndent : function(deep, refresh){
72.23102 +        if(refresh){
72.23103 +            this.ui.childIndent = null;
72.23104 +        }
72.23105 +        this.ui.renderIndent();
72.23106 +        if(deep === true && this.childrenRendered){
72.23107 +            var cs = this.childNodes;
72.23108 +            for(var i = 0, len = cs.length; i < len; i++){
72.23109 +                cs[i].renderIndent(true, refresh);
72.23110 +            }
72.23111 +        }
72.23112 +    },
72.23113 +
72.23114 +    beginUpdate : function(){
72.23115 +        this.childrenRendered = false;
72.23116 +    },
72.23117 +
72.23118 +    endUpdate : function(){
72.23119 +        if(this.expanded && this.rendered){
72.23120 +            this.renderChildren();
72.23121 +        }
72.23122 +    },
72.23123 +
72.23124 +    destroy : function(){
72.23125 +        for(var i = 0,l = this.childNodes.length; i < l; i++){
72.23126 +            this.childNodes[i].destroy();
72.23127 +        }
72.23128 +        this.childNodes = null;
72.23129 +        if(this.ui.destroy){
72.23130 +            this.ui.destroy();
72.23131 +        }
72.23132 +    }
72.23133 +});
72.23134 +
72.23135 + Ext.tree.AsyncTreeNode = function(config){
72.23136 +    this.loaded = false;
72.23137 +    this.loading = false;
72.23138 +    Ext.tree.AsyncTreeNode.superclass.constructor.apply(this, arguments);
72.23139 +    
72.23140 +    this.addEvents('beforeload', 'load');
72.23141 +    
72.23142 +    
72.23143 +};
72.23144 +Ext.extend(Ext.tree.AsyncTreeNode, Ext.tree.TreeNode, {
72.23145 +    expand : function(deep, anim, callback){
72.23146 +        if(this.loading){ 
72.23147 +            var timer;
72.23148 +            var f = function(){
72.23149 +                if(!this.loading){ 
72.23150 +                    clearInterval(timer);
72.23151 +                    this.expand(deep, anim, callback);
72.23152 +                }
72.23153 +            }.createDelegate(this);
72.23154 +            timer = setInterval(f, 200);
72.23155 +            return;
72.23156 +        }
72.23157 +        if(!this.loaded){
72.23158 +            if(this.fireEvent("beforeload", this) === false){
72.23159 +                return;
72.23160 +            }
72.23161 +            this.loading = true;
72.23162 +            this.ui.beforeLoad(this);
72.23163 +            var loader = this.loader || this.attributes.loader || this.getOwnerTree().getLoader();
72.23164 +            if(loader){
72.23165 +                loader.load(this, this.loadComplete.createDelegate(this, [deep, anim, callback]));
72.23166 +                return;
72.23167 +            }
72.23168 +        }
72.23169 +        Ext.tree.AsyncTreeNode.superclass.expand.call(this, deep, anim, callback);
72.23170 +    },
72.23171 +    
72.23172 +    
72.23173 +    isLoading : function(){
72.23174 +        return this.loading;  
72.23175 +    },
72.23176 +    
72.23177 +    loadComplete : function(deep, anim, callback){
72.23178 +        this.loading = false;
72.23179 +        this.loaded = true;
72.23180 +        this.ui.afterLoad(this);
72.23181 +        this.fireEvent("load", this);
72.23182 +        this.expand(deep, anim, callback);
72.23183 +    },
72.23184 +    
72.23185 +    
72.23186 +    isLoaded : function(){
72.23187 +        return this.loaded;
72.23188 +    },
72.23189 +    
72.23190 +    hasChildNodes : function(){
72.23191 +        if(!this.isLeaf() && !this.loaded){
72.23192 +            return true;
72.23193 +        }else{
72.23194 +            return Ext.tree.AsyncTreeNode.superclass.hasChildNodes.call(this);
72.23195 +        }
72.23196 +    },
72.23197 +
72.23198 +    
72.23199 +    reload : function(callback){
72.23200 +        this.collapse(false, false);
72.23201 +        while(this.firstChild){
72.23202 +            this.removeChild(this.firstChild);
72.23203 +        }
72.23204 +        this.childrenRendered = false;
72.23205 +        this.loaded = false;
72.23206 +        if(this.isHiddenRoot()){
72.23207 +            this.expanded = false;
72.23208 +        }
72.23209 +        this.expand(false, false, callback);
72.23210 +    }
72.23211 +});
72.23212 +
72.23213 +Ext.tree.TreeNodeUI = function(node){
72.23214 +    this.node = node;
72.23215 +    this.rendered = false;
72.23216 +    this.animating = false;
72.23217 +    this.wasLeaf = true;
72.23218 +    this.ecc = 'x-tree-ec-icon x-tree-elbow';
72.23219 +    this.emptyIcon = Ext.BLANK_IMAGE_URL;
72.23220 +};
72.23221 +
72.23222 +Ext.tree.TreeNodeUI.prototype = {
72.23223 +    
72.23224 +    removeChild : function(node){
72.23225 +        if(this.rendered){
72.23226 +            this.ctNode.removeChild(node.ui.getEl());
72.23227 +        } 
72.23228 +    },
72.23229 +
72.23230 +    
72.23231 +    beforeLoad : function(){
72.23232 +         this.addClass("x-tree-node-loading");
72.23233 +    },
72.23234 +
72.23235 +    
72.23236 +    afterLoad : function(){
72.23237 +         this.removeClass("x-tree-node-loading");
72.23238 +    },
72.23239 +
72.23240 +    
72.23241 +    onTextChange : function(node, text, oldText){
72.23242 +        if(this.rendered){
72.23243 +            this.textNode.innerHTML = text;
72.23244 +        }
72.23245 +    },
72.23246 +
72.23247 +    
72.23248 +    onDisableChange : function(node, state){
72.23249 +        this.disabled = state;
72.23250 +		if (this.checkbox) {
72.23251 +			this.checkbox.disabled = state;
72.23252 +		}        
72.23253 +        if(state){
72.23254 +            this.addClass("x-tree-node-disabled");
72.23255 +        }else{
72.23256 +            this.removeClass("x-tree-node-disabled");
72.23257 +        } 
72.23258 +    },
72.23259 +
72.23260 +    
72.23261 +    onSelectedChange : function(state){
72.23262 +        if(state){
72.23263 +            this.focus();
72.23264 +            this.addClass("x-tree-selected");
72.23265 +        }else{
72.23266 +            
72.23267 +            this.removeClass("x-tree-selected");
72.23268 +        }
72.23269 +    },
72.23270 +
72.23271 +    
72.23272 +    onMove : function(tree, node, oldParent, newParent, index, refNode){
72.23273 +        this.childIndent = null;
72.23274 +        if(this.rendered){
72.23275 +            var targetNode = newParent.ui.getContainer();
72.23276 +            if(!targetNode){
72.23277 +                this.holder = document.createElement("div");
72.23278 +                this.holder.appendChild(this.wrap);
72.23279 +                return;
72.23280 +            }
72.23281 +            var insertBefore = refNode ? refNode.ui.getEl() : null;
72.23282 +            if(insertBefore){
72.23283 +                targetNode.insertBefore(this.wrap, insertBefore);
72.23284 +            }else{
72.23285 +                targetNode.appendChild(this.wrap);
72.23286 +            }
72.23287 +            this.node.renderIndent(true);
72.23288 +        }
72.23289 +    },
72.23290 +
72.23291 +
72.23292 +    addClass : function(cls){
72.23293 +        if(this.elNode){
72.23294 +            Ext.fly(this.elNode).addClass(cls);
72.23295 +        }
72.23296 +    },
72.23297 +
72.23298 +
72.23299 +    removeClass : function(cls){
72.23300 +        if(this.elNode){
72.23301 +            Ext.fly(this.elNode).removeClass(cls);  
72.23302 +        }
72.23303 +    },
72.23304 +
72.23305 +    
72.23306 +    remove : function(){
72.23307 +        if(this.rendered){
72.23308 +            this.holder = document.createElement("div");
72.23309 +            this.holder.appendChild(this.wrap);
72.23310 +        }  
72.23311 +    },
72.23312 +
72.23313 +    
72.23314 +    fireEvent : function(){
72.23315 +        return this.node.fireEvent.apply(this.node, arguments);  
72.23316 +    },
72.23317 +
72.23318 +    
72.23319 +    initEvents : function(){
72.23320 +        this.node.on("move", this.onMove, this);
72.23321 +
72.23322 +        if(this.node.disabled){
72.23323 +            this.addClass("x-tree-node-disabled");
72.23324 +			if (this.checkbox) {
72.23325 +				this.checkbox.disabled = true;
72.23326 +			}            
72.23327 +        }
72.23328 +        if(this.node.hidden){
72.23329 +            this.hide();
72.23330 +        }
72.23331 +        var ot = this.node.getOwnerTree();
72.23332 +        var dd = ot.enableDD || ot.enableDrag || ot.enableDrop;
72.23333 +        if(dd && (!this.node.isRoot || ot.rootVisible)){
72.23334 +            Ext.dd.Registry.register(this.elNode, {
72.23335 +                node: this.node,
72.23336 +                handles: this.getDDHandles(),
72.23337 +                isHandle: false
72.23338 +            });
72.23339 +        }
72.23340 +    },
72.23341 +
72.23342 +    
72.23343 +    getDDHandles : function(){
72.23344 +        return [this.iconNode, this.textNode, this.elNode];
72.23345 +    },
72.23346 +
72.23347 +
72.23348 +    hide : function(){
72.23349 +        this.node.hidden = true;
72.23350 +        if(this.wrap){
72.23351 +            this.wrap.style.display = "none";
72.23352 +        }
72.23353 +    },
72.23354 +
72.23355 +
72.23356 +    show : function(){
72.23357 +        this.node.hidden = false;
72.23358 +        if(this.wrap){
72.23359 +            this.wrap.style.display = "";
72.23360 +        } 
72.23361 +    },
72.23362 +
72.23363 +    
72.23364 +    onContextMenu : function(e){
72.23365 +        if (this.node.hasListener("contextmenu") || this.node.getOwnerTree().hasListener("contextmenu")) {
72.23366 +            e.preventDefault();
72.23367 +            this.focus();
72.23368 +            this.fireEvent("contextmenu", this.node, e);
72.23369 +        }
72.23370 +    },
72.23371 +
72.23372 +    
72.23373 +    onClick : function(e){
72.23374 +        if(this.dropping){
72.23375 +            e.stopEvent();
72.23376 +            return;
72.23377 +        }
72.23378 +        if(this.fireEvent("beforeclick", this.node, e) !== false){
72.23379 +            var a = e.getTarget('a');
72.23380 +            if(!this.disabled && this.node.attributes.href && a){
72.23381 +                this.fireEvent("click", this.node, e);
72.23382 +                return;
72.23383 +            }else if(a && e.ctrlKey){
72.23384 +                e.stopEvent();
72.23385 +            }
72.23386 +            e.preventDefault();
72.23387 +            if(this.disabled){
72.23388 +                return;
72.23389 +            }
72.23390 +
72.23391 +            if(this.node.attributes.singleClickExpand && !this.animating && this.node.hasChildNodes()){
72.23392 +                this.node.toggle();
72.23393 +            }
72.23394 +
72.23395 +            this.fireEvent("click", this.node, e);
72.23396 +        }else{
72.23397 +            e.stopEvent();
72.23398 +        }
72.23399 +    },
72.23400 +
72.23401 +    
72.23402 +    onDblClick : function(e){
72.23403 +        e.preventDefault();
72.23404 +        if(this.disabled){
72.23405 +            return;
72.23406 +        }
72.23407 +        if(this.checkbox){
72.23408 +            this.toggleCheck();
72.23409 +        }
72.23410 +        if(!this.animating && this.node.hasChildNodes()){
72.23411 +            this.node.toggle();
72.23412 +        }
72.23413 +        this.fireEvent("dblclick", this.node, e);
72.23414 +    },
72.23415 +
72.23416 +    onOver : function(e){
72.23417 +        this.addClass('x-tree-node-over');
72.23418 +    },
72.23419 +
72.23420 +    onOut : function(e){
72.23421 +        this.removeClass('x-tree-node-over');
72.23422 +    },
72.23423 +
72.23424 +    
72.23425 +    onCheckChange : function(){
72.23426 +        var checked = this.checkbox.checked;
72.23427 +		
72.23428 +		this.checkbox.defaultChecked = checked;
72.23429 +        this.node.attributes.checked = checked;
72.23430 +        this.fireEvent('checkchange', this.node, checked);
72.23431 +    },
72.23432 +
72.23433 +    
72.23434 +    ecClick : function(e){
72.23435 +        if(!this.animating && (this.node.hasChildNodes() || this.node.attributes.expandable)){
72.23436 +            this.node.toggle();
72.23437 +        }
72.23438 +    },
72.23439 +
72.23440 +    
72.23441 +    startDrop : function(){
72.23442 +        this.dropping = true;
72.23443 +    },
72.23444 +    
72.23445 +    
72.23446 +    endDrop : function(){ 
72.23447 +       setTimeout(function(){
72.23448 +           this.dropping = false;
72.23449 +       }.createDelegate(this), 50); 
72.23450 +    },
72.23451 +
72.23452 +    
72.23453 +    expand : function(){
72.23454 +        this.updateExpandIcon();
72.23455 +        this.ctNode.style.display = "";
72.23456 +    },
72.23457 +
72.23458 +    
72.23459 +    focus : function(){
72.23460 +        if(!this.node.preventHScroll){
72.23461 +            try{this.anchor.focus();
72.23462 +            }catch(e){}
72.23463 +        }else if(!Ext.isIE){
72.23464 +            try{
72.23465 +                var noscroll = this.node.getOwnerTree().getTreeEl().dom;
72.23466 +                var l = noscroll.scrollLeft;
72.23467 +                this.anchor.focus();
72.23468 +                noscroll.scrollLeft = l;
72.23469 +            }catch(e){}
72.23470 +        }
72.23471 +    },
72.23472 +
72.23473 +
72.23474 +    toggleCheck : function(value){
72.23475 +        var cb = this.checkbox;
72.23476 +        if(cb){
72.23477 +            cb.checked = (value === undefined ? !cb.checked : value);
72.23478 +            this.onCheckChange();
72.23479 +        }
72.23480 +    },
72.23481 +
72.23482 +    
72.23483 +    blur : function(){
72.23484 +        try{
72.23485 +            this.anchor.blur();
72.23486 +        }catch(e){} 
72.23487 +    },
72.23488 +
72.23489 +    
72.23490 +    animExpand : function(callback){
72.23491 +        var ct = Ext.get(this.ctNode);
72.23492 +        ct.stopFx();
72.23493 +        if(!this.node.hasChildNodes()){
72.23494 +            this.updateExpandIcon();
72.23495 +            this.ctNode.style.display = "";
72.23496 +            Ext.callback(callback);
72.23497 +            return;
72.23498 +        }
72.23499 +        this.animating = true;
72.23500 +        this.updateExpandIcon();
72.23501 +        
72.23502 +        ct.slideIn('t', {
72.23503 +           callback : function(){
72.23504 +               this.animating = false;
72.23505 +               Ext.callback(callback);
72.23506 +            },
72.23507 +            scope: this,
72.23508 +            duration: this.node.ownerTree.duration || .25
72.23509 +        });
72.23510 +    },
72.23511 +
72.23512 +    
72.23513 +    highlight : function(){
72.23514 +        var tree = this.node.getOwnerTree();
72.23515 +        Ext.fly(this.wrap).highlight(
72.23516 +            tree.hlColor || "C3DAF9",
72.23517 +            {endColor: tree.hlBaseColor}
72.23518 +        );
72.23519 +    },
72.23520 +
72.23521 +    
72.23522 +    collapse : function(){
72.23523 +        this.updateExpandIcon();
72.23524 +        this.ctNode.style.display = "none";
72.23525 +    },
72.23526 +
72.23527 +    
72.23528 +    animCollapse : function(callback){
72.23529 +        var ct = Ext.get(this.ctNode);
72.23530 +        ct.enableDisplayMode('block');
72.23531 +        ct.stopFx();
72.23532 +
72.23533 +        this.animating = true;
72.23534 +        this.updateExpandIcon();
72.23535 +
72.23536 +        ct.slideOut('t', {
72.23537 +            callback : function(){
72.23538 +               this.animating = false;
72.23539 +               Ext.callback(callback);
72.23540 +            },
72.23541 +            scope: this,
72.23542 +            duration: this.node.ownerTree.duration || .25
72.23543 +        });
72.23544 +    },
72.23545 +
72.23546 +    
72.23547 +    getContainer : function(){
72.23548 +        return this.ctNode;  
72.23549 +    },
72.23550 +
72.23551 +    
72.23552 +    getEl : function(){
72.23553 +        return this.wrap;  
72.23554 +    },
72.23555 +
72.23556 +    
72.23557 +    appendDDGhost : function(ghostNode){
72.23558 +        ghostNode.appendChild(this.elNode.cloneNode(true));
72.23559 +    },
72.23560 +
72.23561 +    
72.23562 +    getDDRepairXY : function(){
72.23563 +        return Ext.lib.Dom.getXY(this.iconNode);
72.23564 +    },
72.23565 +
72.23566 +    
72.23567 +    onRender : function(){
72.23568 +        this.render();    
72.23569 +    },
72.23570 +
72.23571 +    
72.23572 +    render : function(bulkRender){
72.23573 +        var n = this.node, a = n.attributes;
72.23574 +        var targetNode = n.parentNode ? 
72.23575 +              n.parentNode.ui.getContainer() : n.ownerTree.innerCt.dom;
72.23576 +        
72.23577 +        if(!this.rendered){
72.23578 +            this.rendered = true;
72.23579 +
72.23580 +            this.renderElements(n, a, targetNode, bulkRender);
72.23581 +
72.23582 +            if(a.qtip){
72.23583 +               if(this.textNode.setAttributeNS){
72.23584 +                   this.textNode.setAttributeNS("ext", "qtip", a.qtip);
72.23585 +                   if(a.qtipTitle){
72.23586 +                       this.textNode.setAttributeNS("ext", "qtitle", a.qtipTitle);
72.23587 +                   }
72.23588 +               }else{
72.23589 +                   this.textNode.setAttribute("ext:qtip", a.qtip);
72.23590 +                   if(a.qtipTitle){
72.23591 +                       this.textNode.setAttribute("ext:qtitle", a.qtipTitle);
72.23592 +                   }
72.23593 +               } 
72.23594 +            }else if(a.qtipCfg){
72.23595 +                a.qtipCfg.target = Ext.id(this.textNode);
72.23596 +                Ext.QuickTips.register(a.qtipCfg);
72.23597 +            }
72.23598 +            this.initEvents();
72.23599 +            if(!this.node.expanded){
72.23600 +                this.updateExpandIcon(true);
72.23601 +            }
72.23602 +        }else{
72.23603 +            if(bulkRender === true) {
72.23604 +                targetNode.appendChild(this.wrap);
72.23605 +            }
72.23606 +        }
72.23607 +    },
72.23608 +
72.23609 +    
72.23610 +    renderElements : function(n, a, targetNode, bulkRender){
72.23611 +        
72.23612 +        this.indentMarkup = n.parentNode ? n.parentNode.ui.getChildIndent() : '';
72.23613 +
72.23614 +        var cb = typeof a.checked == 'boolean';
72.23615 +
72.23616 +        var href = a.href ? a.href : Ext.isGecko ? "" : "#";
72.23617 +        var buf = ['<li class="x-tree-node"><div ext:tree-node-id="',n.id,'" class="x-tree-node-el x-tree-node-leaf x-unselectable ', a.cls,'" unselectable="on">',
72.23618 +            '<span class="x-tree-node-indent">',this.indentMarkup,"</span>",
72.23619 +            '<img src="', this.emptyIcon, '" class="x-tree-ec-icon x-tree-elbow" />',
72.23620 +            '<img src="', a.icon || this.emptyIcon, '" class="x-tree-node-icon',(a.icon ? " x-tree-node-inline-icon" : ""),(a.iconCls ? " "+a.iconCls : ""),'" unselectable="on" />',
72.23621 +            cb ? ('<input class="x-tree-node-cb" type="checkbox" ' + (a.checked ? 'checked="checked" />' : '/>')) : '',
72.23622 +            '<a hidefocus="on" class="x-tree-node-anchor" href="',href,'" tabIndex="1" ',
72.23623 +             a.hrefTarget ? ' target="'+a.hrefTarget+'"' : "", '><span unselectable="on">',n.text,"</span></a></div>",
72.23624 +            '<ul class="x-tree-node-ct" style="display:none;"></ul>',
72.23625 +            "</li>"].join('');
72.23626 +
72.23627 +        var nel;
72.23628 +        if(bulkRender !== true && n.nextSibling && (nel = n.nextSibling.ui.getEl())){
72.23629 +            this.wrap = Ext.DomHelper.insertHtml("beforeBegin", nel, buf);
72.23630 +        }else{
72.23631 +            this.wrap = Ext.DomHelper.insertHtml("beforeEnd", targetNode, buf);
72.23632 +        }
72.23633 +        
72.23634 +        this.elNode = this.wrap.childNodes[0];
72.23635 +        this.ctNode = this.wrap.childNodes[1];
72.23636 +        var cs = this.elNode.childNodes;
72.23637 +        this.indentNode = cs[0];
72.23638 +        this.ecNode = cs[1];
72.23639 +        this.iconNode = cs[2];
72.23640 +        var index = 3;
72.23641 +        if(cb){
72.23642 +            this.checkbox = cs[3];
72.23643 +			
72.23644 +			this.checkbox.defaultChecked = this.checkbox.checked;			
72.23645 +            index++;
72.23646 +        }
72.23647 +        this.anchor = cs[index];
72.23648 +        this.textNode = cs[index].firstChild;
72.23649 +    },
72.23650 +
72.23651 +
72.23652 +    getAnchor : function(){
72.23653 +        return this.anchor;
72.23654 +    },
72.23655 +    
72.23656 +
72.23657 +    getTextEl : function(){
72.23658 +        return this.textNode;
72.23659 +    },
72.23660 +    
72.23661 +
72.23662 +    getIconEl : function(){
72.23663 +        return this.iconNode;
72.23664 +    },
72.23665 +
72.23666 +
72.23667 +    isChecked : function(){
72.23668 +        return this.checkbox ? this.checkbox.checked : false; 
72.23669 +    },
72.23670 +
72.23671 +    
72.23672 +    updateExpandIcon : function(){
72.23673 +        if(this.rendered){
72.23674 +            var n = this.node, c1, c2;
72.23675 +            var cls = n.isLast() ? "x-tree-elbow-end" : "x-tree-elbow";
72.23676 +            var hasChild = n.hasChildNodes();
72.23677 +            if(hasChild || n.attributes.expandable){
72.23678 +                if(n.expanded){
72.23679 +                    cls += "-minus";
72.23680 +                    c1 = "x-tree-node-collapsed";
72.23681 +                    c2 = "x-tree-node-expanded";
72.23682 +                }else{
72.23683 +                    cls += "-plus";
72.23684 +                    c1 = "x-tree-node-expanded";
72.23685 +                    c2 = "x-tree-node-collapsed";
72.23686 +                }
72.23687 +                if(this.wasLeaf){
72.23688 +                    this.removeClass("x-tree-node-leaf");
72.23689 +                    this.wasLeaf = false;
72.23690 +                }
72.23691 +                if(this.c1 != c1 || this.c2 != c2){
72.23692 +                    Ext.fly(this.elNode).replaceClass(c1, c2);
72.23693 +                    this.c1 = c1; this.c2 = c2;
72.23694 +                }
72.23695 +            }else{
72.23696 +                if(!this.wasLeaf){
72.23697 +                    Ext.fly(this.elNode).replaceClass("x-tree-node-expanded", "x-tree-node-leaf");
72.23698 +                    delete this.c1;
72.23699 +                    delete this.c2;
72.23700 +                    this.wasLeaf = true;
72.23701 +                }
72.23702 +            }
72.23703 +            var ecc = "x-tree-ec-icon "+cls;
72.23704 +            if(this.ecc != ecc){
72.23705 +                this.ecNode.className = ecc;
72.23706 +                this.ecc = ecc;
72.23707 +            }
72.23708 +        }
72.23709 +    },
72.23710 +
72.23711 +    
72.23712 +    getChildIndent : function(){
72.23713 +        if(!this.childIndent){
72.23714 +            var buf = [];
72.23715 +            var p = this.node;
72.23716 +            while(p){
72.23717 +                if(!p.isRoot || (p.isRoot && p.ownerTree.rootVisible)){
72.23718 +                    if(!p.isLast()) {
72.23719 +                        buf.unshift('<img src="'+this.emptyIcon+'" class="x-tree-elbow-line" />');
72.23720 +                    } else {
72.23721 +                        buf.unshift('<img src="'+this.emptyIcon+'" class="x-tree-icon" />');
72.23722 +                    }
72.23723 +                }
72.23724 +                p = p.parentNode;
72.23725 +            }
72.23726 +            this.childIndent = buf.join("");
72.23727 +        }
72.23728 +        return this.childIndent;
72.23729 +    },
72.23730 +
72.23731 +    
72.23732 +    renderIndent : function(){
72.23733 +        if(this.rendered){
72.23734 +            var indent = "";
72.23735 +            var p = this.node.parentNode;
72.23736 +            if(p){
72.23737 +                indent = p.ui.getChildIndent();
72.23738 +            }
72.23739 +            if(this.indentMarkup != indent){ 
72.23740 +                this.indentNode.innerHTML = indent;
72.23741 +                this.indentMarkup = indent;
72.23742 +            }
72.23743 +            this.updateExpandIcon();
72.23744 +        }
72.23745 +    },
72.23746 +
72.23747 +    destroy : function(){
72.23748 +        if(this.elNode){
72.23749 +            Ext.dd.Registry.unregister(this.elNode.id);
72.23750 +        }
72.23751 +        delete this.elNode;
72.23752 +        delete this.ctNode;
72.23753 +        delete this.indentNode;
72.23754 +        delete this.ecNode;
72.23755 +        delete this.iconNode;
72.23756 +        delete this.checkbox;
72.23757 +        delete this.anchor;
72.23758 +        delete this.textNode;
72.23759 +        Ext.removeNode(this.ctNode);
72.23760 +    }
72.23761 +};
72.23762 +
72.23763 +
72.23764 +Ext.tree.RootTreeNodeUI = Ext.extend(Ext.tree.TreeNodeUI, {
72.23765 +    
72.23766 +    render : function(){
72.23767 +        if(!this.rendered){
72.23768 +            var targetNode = this.node.ownerTree.innerCt.dom;
72.23769 +            this.node.expanded = true;
72.23770 +            targetNode.innerHTML = '<div class="x-tree-root-node"></div>';
72.23771 +            this.wrap = this.ctNode = targetNode.firstChild;
72.23772 +        }
72.23773 +    },
72.23774 +    collapse : Ext.emptyFn,
72.23775 +    expand : Ext.emptyFn
72.23776 +});
72.23777 +
72.23778 +Ext.tree.TreeLoader = function(config){
72.23779 +    this.baseParams = {};
72.23780 +    Ext.apply(this, config);
72.23781 +
72.23782 +    this.addEvents(
72.23783 +        
72.23784 +        "beforeload",
72.23785 +        
72.23786 +        "load",
72.23787 +        
72.23788 +        "loadexception"
72.23789 +    );
72.23790 +
72.23791 +    Ext.tree.TreeLoader.superclass.constructor.call(this);
72.23792 +};
72.23793 +
72.23794 +Ext.extend(Ext.tree.TreeLoader, Ext.util.Observable, {
72.23795 +    
72.23796 +    
72.23797 +    
72.23798 +    
72.23799 +    
72.23800 +    
72.23801 +    
72.23802 +    uiProviders : {},
72.23803 +
72.23804 +    
72.23805 +    clearOnLoad : true,
72.23806 +
72.23807 +    
72.23808 +    load : function(node, callback){
72.23809 +        if(this.clearOnLoad){
72.23810 +            while(node.firstChild){
72.23811 +                node.removeChild(node.firstChild);
72.23812 +            }
72.23813 +        }
72.23814 +        if(this.doPreload(node)){ 
72.23815 +            if(typeof callback == "function"){
72.23816 +                callback();
72.23817 +            }
72.23818 +        }else if(this.dataUrl||this.url){
72.23819 +            this.requestData(node, callback);
72.23820 +        }
72.23821 +    },
72.23822 +
72.23823 +    doPreload : function(node){
72.23824 +        if(node.attributes.children){
72.23825 +            if(node.childNodes.length < 1){ 
72.23826 +                var cs = node.attributes.children;
72.23827 +                node.beginUpdate();
72.23828 +                for(var i = 0, len = cs.length; i < len; i++){
72.23829 +                    var cn = node.appendChild(this.createNode(cs[i]));
72.23830 +                    if(this.preloadChildren){
72.23831 +                        this.doPreload(cn);
72.23832 +                    }
72.23833 +                }
72.23834 +                node.endUpdate();
72.23835 +            }
72.23836 +            return true;
72.23837 +        }else {
72.23838 +            return false;
72.23839 +        }
72.23840 +    },
72.23841 +
72.23842 +    getParams: function(node){
72.23843 +        var buf = [], bp = this.baseParams;
72.23844 +        for(var key in bp){
72.23845 +            if(typeof bp[key] != "function"){
72.23846 +                buf.push(encodeURIComponent(key), "=", encodeURIComponent(bp[key]), "&");
72.23847 +            }
72.23848 +        }
72.23849 +        buf.push("node=", encodeURIComponent(node.id));
72.23850 +        return buf.join("");
72.23851 +    },
72.23852 +
72.23853 +    requestData : function(node, callback){
72.23854 +        if(this.fireEvent("beforeload", this, node, callback) !== false){
72.23855 +            this.transId = Ext.Ajax.request({
72.23856 +                method:this.requestMethod,
72.23857 +                url: this.dataUrl||this.url,
72.23858 +                success: this.handleResponse,
72.23859 +                failure: this.handleFailure,
72.23860 +                scope: this,
72.23861 +                argument: {callback: callback, node: node},
72.23862 +                params: this.getParams(node)
72.23863 +            });
72.23864 +        }else{
72.23865 +            
72.23866 +            
72.23867 +            if(typeof callback == "function"){
72.23868 +                callback();
72.23869 +            }
72.23870 +        }
72.23871 +    },
72.23872 +
72.23873 +    isLoading : function(){
72.23874 +        return this.transId ? true : false;
72.23875 +    },
72.23876 +
72.23877 +    abort : function(){
72.23878 +        if(this.isLoading()){
72.23879 +            Ext.Ajax.abort(this.transId);
72.23880 +        }
72.23881 +    },
72.23882 +
72.23883 +    
72.23884 +    createNode : function(attr){
72.23885 +        
72.23886 +        if(this.baseAttrs){
72.23887 +            Ext.applyIf(attr, this.baseAttrs);
72.23888 +        }
72.23889 +        if(this.applyLoader !== false){
72.23890 +            attr.loader = this;
72.23891 +        }
72.23892 +        if(typeof attr.uiProvider == 'string'){
72.23893 +           attr.uiProvider = this.uiProviders[attr.uiProvider] || eval(attr.uiProvider);
72.23894 +        }
72.23895 +        return(attr.leaf ?
72.23896 +                        new Ext.tree.TreeNode(attr) :
72.23897 +                        new Ext.tree.AsyncTreeNode(attr));
72.23898 +    },
72.23899 +
72.23900 +    processResponse : function(response, node, callback){
72.23901 +        var json = response.responseText;
72.23902 +        try {
72.23903 +            var o = eval("("+json+")");
72.23904 +            node.beginUpdate();
72.23905 +            for(var i = 0, len = o.length; i < len; i++){
72.23906 +                var n = this.createNode(o[i]);
72.23907 +                if(n){
72.23908 +                    node.appendChild(n);
72.23909 +                }
72.23910 +            }
72.23911 +            node.endUpdate();
72.23912 +            if(typeof callback == "function"){
72.23913 +                callback(this, node);
72.23914 +            }
72.23915 +        }catch(e){
72.23916 +            this.handleFailure(response);
72.23917 +        }
72.23918 +    },
72.23919 +
72.23920 +    handleResponse : function(response){
72.23921 +        this.transId = false;
72.23922 +        var a = response.argument;
72.23923 +        this.processResponse(response, a.node, a.callback);
72.23924 +        this.fireEvent("load", this, a.node, response);
72.23925 +    },
72.23926 +
72.23927 +    handleFailure : function(response){
72.23928 +        this.transId = false;
72.23929 +        var a = response.argument;
72.23930 +        this.fireEvent("loadexception", this, a.node, response);
72.23931 +        if(typeof a.callback == "function"){
72.23932 +            a.callback(this, a.node);
72.23933 +        }
72.23934 +    }
72.23935 +});
72.23936 +
72.23937 +Ext.tree.TreeFilter = function(tree, config){
72.23938 +    this.tree = tree;
72.23939 +    this.filtered = {};
72.23940 +    Ext.apply(this, config);
72.23941 +};
72.23942 +
72.23943 +Ext.tree.TreeFilter.prototype = {
72.23944 +    clearBlank:false,
72.23945 +    reverse:false,
72.23946 +    autoClear:false,
72.23947 +    remove:false,
72.23948 +
72.23949 +     
72.23950 +    filter : function(value, attr, startNode){
72.23951 +        attr = attr || "text";
72.23952 +        var f;
72.23953 +        if(typeof value == "string"){
72.23954 +            var vlen = value.length;
72.23955 +            
72.23956 +            if(vlen == 0 && this.clearBlank){
72.23957 +                this.clear();
72.23958 +                return;
72.23959 +            }
72.23960 +            value = value.toLowerCase();
72.23961 +            f = function(n){
72.23962 +                return n.attributes[attr].substr(0, vlen).toLowerCase() == value;
72.23963 +            };
72.23964 +        }else if(value.exec){ 
72.23965 +            f = function(n){
72.23966 +                return value.test(n.attributes[attr]);
72.23967 +            };
72.23968 +        }else{
72.23969 +            throw 'Illegal filter type, must be string or regex';
72.23970 +        }
72.23971 +        this.filterBy(f, null, startNode);
72.23972 +	},
72.23973 +    
72.23974 +    
72.23975 +    filterBy : function(fn, scope, startNode){
72.23976 +        startNode = startNode || this.tree.root;
72.23977 +        if(this.autoClear){
72.23978 +            this.clear();
72.23979 +        }
72.23980 +        var af = this.filtered, rv = this.reverse;
72.23981 +        var f = function(n){
72.23982 +            if(n == startNode){
72.23983 +                return true;
72.23984 +            }
72.23985 +            if(af[n.id]){
72.23986 +                return false;
72.23987 +            }
72.23988 +            var m = fn.call(scope || n, n);
72.23989 +            if(!m || rv){
72.23990 +                af[n.id] = n;
72.23991 +                n.ui.hide();
72.23992 +                return false;
72.23993 +            }
72.23994 +            return true;
72.23995 +        };
72.23996 +        startNode.cascade(f);
72.23997 +        if(this.remove){
72.23998 +           for(var id in af){
72.23999 +               if(typeof id != "function"){
72.24000 +                   var n = af[id];
72.24001 +                   if(n && n.parentNode){
72.24002 +                       n.parentNode.removeChild(n);
72.24003 +                   }
72.24004 +               }
72.24005 +           } 
72.24006 +        }
72.24007 +    },
72.24008 +    
72.24009 +    
72.24010 +    clear : function(){
72.24011 +        var t = this.tree;
72.24012 +        var af = this.filtered;
72.24013 +        for(var id in af){
72.24014 +            if(typeof id != "function"){
72.24015 +                var n = af[id];
72.24016 +                if(n){
72.24017 +                    n.ui.show();
72.24018 +                }
72.24019 +            }
72.24020 +        }
72.24021 +        this.filtered = {}; 
72.24022 +    }
72.24023 +};
72.24024 +
72.24025 +
72.24026 +Ext.tree.TreeSorter = function(tree, config){
72.24027 +    
72.24028 +	
72.24029 +    
72.24030 +    
72.24031 +    
72.24032 +    
72.24033 +    
72.24034 +    Ext.apply(this, config);
72.24035 +    tree.on("beforechildrenrendered", this.doSort, this);
72.24036 +    tree.on("append", this.updateSort, this);
72.24037 +    tree.on("insert", this.updateSort, this);
72.24038 +    tree.on("textchange", this.updateSortParent, this);
72.24039 +    
72.24040 +    var dsc = this.dir && this.dir.toLowerCase() == "desc";
72.24041 +    var p = this.property || "text";
72.24042 +    var sortType = this.sortType;
72.24043 +    var fs = this.folderSort;
72.24044 +    var cs = this.caseSensitive === true;
72.24045 +    var leafAttr = this.leafAttr || 'leaf';
72.24046 +
72.24047 +    this.sortFn = function(n1, n2){
72.24048 +        if(fs){
72.24049 +            if(n1.attributes[leafAttr] && !n2.attributes[leafAttr]){
72.24050 +                return 1;
72.24051 +            }
72.24052 +            if(!n1.attributes[leafAttr] && n2.attributes[leafAttr]){
72.24053 +                return -1;
72.24054 +            }
72.24055 +        }
72.24056 +    	var v1 = sortType ? sortType(n1) : (cs ? n1.attributes[p] : n1.attributes[p].toUpperCase());
72.24057 +    	var v2 = sortType ? sortType(n2) : (cs ? n2.attributes[p] : n2.attributes[p].toUpperCase());
72.24058 +    	if(v1 < v2){
72.24059 +			return dsc ? +1 : -1;
72.24060 +		}else if(v1 > v2){
72.24061 +			return dsc ? -1 : +1;
72.24062 +        }else{
72.24063 +	    	return 0;
72.24064 +        }
72.24065 +    };
72.24066 +};
72.24067 +
72.24068 +Ext.tree.TreeSorter.prototype = {
72.24069 +    doSort : function(node){
72.24070 +        node.sort(this.sortFn);
72.24071 +    },
72.24072 +    
72.24073 +    compareNodes : function(n1, n2){
72.24074 +        return (n1.text.toUpperCase() > n2.text.toUpperCase() ? 1 : -1);
72.24075 +    },
72.24076 +    
72.24077 +    updateSort : function(tree, node){
72.24078 +        if(node.childrenRendered){
72.24079 +            this.doSort.defer(1, this, [node]);
72.24080 +        }
72.24081 +    },
72.24082 +    
72.24083 +    updateSortParent : function(node){
72.24084 +		var p = node.parentNode;
72.24085 +		if(p && p.childrenRendered){
72.24086 +            this.doSort.defer(1, this, [p]);
72.24087 +        }
72.24088 +    }
72.24089 +};
72.24090 +
72.24091 +if(Ext.dd.DropZone){
72.24092 +    
72.24093 +Ext.tree.TreeDropZone = function(tree, config){
72.24094 +    
72.24095 +    this.allowParentInsert = false;
72.24096 +    
72.24097 +    this.allowContainerDrop = false;
72.24098 +    
72.24099 +    this.appendOnly = false;
72.24100 +    Ext.tree.TreeDropZone.superclass.constructor.call(this, tree.innerCt, config);
72.24101 +    
72.24102 +    this.tree = tree;
72.24103 +    
72.24104 +    this.dragOverData = {};
72.24105 +    
72.24106 +    this.lastInsertClass = "x-tree-no-status";
72.24107 +};
72.24108 +
72.24109 +Ext.extend(Ext.tree.TreeDropZone, Ext.dd.DropZone, {
72.24110 +    
72.24111 +    ddGroup : "TreeDD",
72.24112 +
72.24113 +    
72.24114 +    expandDelay : 1000,
72.24115 +
72.24116 +    
72.24117 +    expandNode : function(node){
72.24118 +        if(node.hasChildNodes() && !node.isExpanded()){
72.24119 +            node.expand(false, null, this.triggerCacheRefresh.createDelegate(this));
72.24120 +        }
72.24121 +    },
72.24122 +
72.24123 +    
72.24124 +    queueExpand : function(node){
72.24125 +        this.expandProcId = this.expandNode.defer(this.expandDelay, this, [node]);
72.24126 +    },
72.24127 +
72.24128 +    
72.24129 +    cancelExpand : function(){
72.24130 +        if(this.expandProcId){
72.24131 +            clearTimeout(this.expandProcId);
72.24132 +            this.expandProcId = false;
72.24133 +        }
72.24134 +    },
72.24135 +
72.24136 +    
72.24137 +    isValidDropPoint : function(n, pt, dd, e, data){
72.24138 +        if(!n || !data){ return false; }
72.24139 +        var targetNode = n.node;
72.24140 +        var dropNode = data.node;
72.24141 +        
72.24142 +        if(!(targetNode && targetNode.isTarget && pt)){
72.24143 +            return false;
72.24144 +        }
72.24145 +        if(pt == "append" && targetNode.allowChildren === false){
72.24146 +            return false;
72.24147 +        }
72.24148 +        if((pt == "above" || pt == "below") && (targetNode.parentNode && targetNode.parentNode.allowChildren === false)){
72.24149 +            return false;
72.24150 +        }
72.24151 +        if(dropNode && (targetNode == dropNode || dropNode.contains(targetNode))){
72.24152 +            return false;
72.24153 +        }
72.24154 +        
72.24155 +        var overEvent = this.dragOverData;
72.24156 +        overEvent.tree = this.tree;
72.24157 +        overEvent.target = targetNode;
72.24158 +        overEvent.data = data;
72.24159 +        overEvent.point = pt;
72.24160 +        overEvent.source = dd;
72.24161 +        overEvent.rawEvent = e;
72.24162 +        overEvent.dropNode = dropNode;
72.24163 +        overEvent.cancel = false;  
72.24164 +        var result = this.tree.fireEvent("nodedragover", overEvent);
72.24165 +        return overEvent.cancel === false && result !== false;
72.24166 +    },
72.24167 +
72.24168 +    
72.24169 +    getDropPoint : function(e, n, dd){
72.24170 +        var tn = n.node;
72.24171 +        if(tn.isRoot){
72.24172 +            return tn.allowChildren !== false ? "append" : false; 
72.24173 +        }
72.24174 +        var dragEl = n.ddel;
72.24175 +        var t = Ext.lib.Dom.getY(dragEl), b = t + dragEl.offsetHeight;
72.24176 +        var y = Ext.lib.Event.getPageY(e);
72.24177 +        var noAppend = tn.allowChildren === false || tn.isLeaf();
72.24178 +        if(this.appendOnly || tn.parentNode.allowChildren === false){
72.24179 +            return noAppend ? false : "append";
72.24180 +        }
72.24181 +        var noBelow = false;
72.24182 +        if(!this.allowParentInsert){
72.24183 +            noBelow = tn.hasChildNodes() && tn.isExpanded();
72.24184 +        }
72.24185 +        var q = (b - t) / (noAppend ? 2 : 3);
72.24186 +        if(y >= t && y < (t + q)){
72.24187 +            return "above";
72.24188 +        }else if(!noBelow && (noAppend || y >= b-q && y <= b)){
72.24189 +            return "below";
72.24190 +        }else{
72.24191 +            return "append";
72.24192 +        }
72.24193 +    },
72.24194 +
72.24195 +    
72.24196 +    onNodeEnter : function(n, dd, e, data){
72.24197 +        this.cancelExpand();
72.24198 +    },
72.24199 +
72.24200 +    
72.24201 +    onNodeOver : function(n, dd, e, data){
72.24202 +        var pt = this.getDropPoint(e, n, dd);
72.24203 +        var node = n.node;
72.24204 +        
72.24205 +        
72.24206 +        if(!this.expandProcId && pt == "append" && node.hasChildNodes() && !n.node.isExpanded()){
72.24207 +            this.queueExpand(node);
72.24208 +        }else if(pt != "append"){
72.24209 +            this.cancelExpand();
72.24210 +        }
72.24211 +        
72.24212 +        
72.24213 +        var returnCls = this.dropNotAllowed;
72.24214 +        if(this.isValidDropPoint(n, pt, dd, e, data)){
72.24215 +           if(pt){
72.24216 +               var el = n.ddel;
72.24217 +               var cls;
72.24218 +               if(pt == "above"){
72.24219 +                   returnCls = n.node.isFirst() ? "x-tree-drop-ok-above" : "x-tree-drop-ok-between";
72.24220 +                   cls = "x-tree-drag-insert-above";
72.24221 +               }else if(pt == "below"){
72.24222 +                   returnCls = n.node.isLast() ? "x-tree-drop-ok-below" : "x-tree-drop-ok-between";
72.24223 +                   cls = "x-tree-drag-insert-below";
72.24224 +               }else{
72.24225 +                   returnCls = "x-tree-drop-ok-append";
72.24226 +                   cls = "x-tree-drag-append";
72.24227 +               }
72.24228 +               if(this.lastInsertClass != cls){
72.24229 +                   Ext.fly(el).replaceClass(this.lastInsertClass, cls);
72.24230 +                   this.lastInsertClass = cls;
72.24231 +               }
72.24232 +           }
72.24233 +       }
72.24234 +       return returnCls;
72.24235 +    },
72.24236 +
72.24237 +    
72.24238 +    onNodeOut : function(n, dd, e, data){
72.24239 +        this.cancelExpand();
72.24240 +        this.removeDropIndicators(n);
72.24241 +    },
72.24242 +
72.24243 +    
72.24244 +    onNodeDrop : function(n, dd, e, data){
72.24245 +        var point = this.getDropPoint(e, n, dd);
72.24246 +        var targetNode = n.node;
72.24247 +        targetNode.ui.startDrop();
72.24248 +        if(!this.isValidDropPoint(n, point, dd, e, data)){
72.24249 +            targetNode.ui.endDrop();
72.24250 +            return false;
72.24251 +        }
72.24252 +        
72.24253 +        var dropNode = data.node || (dd.getTreeNode ? dd.getTreeNode(data, targetNode, point, e) : null);
72.24254 +        var dropEvent = {
72.24255 +            tree : this.tree,
72.24256 +            target: targetNode,
72.24257 +            data: data,
72.24258 +            point: point,
72.24259 +            source: dd,
72.24260 +            rawEvent: e,
72.24261 +            dropNode: dropNode,
72.24262 +            cancel: !dropNode,
72.24263 +            dropStatus: false
72.24264 +        };
72.24265 +        var retval = this.tree.fireEvent("beforenodedrop", dropEvent);
72.24266 +        if(retval === false || dropEvent.cancel === true || !dropEvent.dropNode){
72.24267 +            targetNode.ui.endDrop();
72.24268 +            return dropEvent.dropStatus;
72.24269 +        }
72.24270 +        
72.24271 +        targetNode = dropEvent.target;
72.24272 +        if(point == "append" && !targetNode.isExpanded()){
72.24273 +            targetNode.expand(false, null, function(){
72.24274 +                this.completeDrop(dropEvent);
72.24275 +            }.createDelegate(this));
72.24276 +        }else{
72.24277 +            this.completeDrop(dropEvent);
72.24278 +        }
72.24279 +        return true;
72.24280 +    },
72.24281 +
72.24282 +    
72.24283 +    completeDrop : function(de){
72.24284 +        var ns = de.dropNode, p = de.point, t = de.target;
72.24285 +        if(!Ext.isArray(ns)){
72.24286 +            ns = [ns];
72.24287 +        }
72.24288 +        var n;
72.24289 +        for(var i = 0, len = ns.length; i < len; i++){
72.24290 +            n = ns[i];
72.24291 +            if(p == "above"){
72.24292 +                t.parentNode.insertBefore(n, t);
72.24293 +            }else if(p == "below"){
72.24294 +                t.parentNode.insertBefore(n, t.nextSibling);
72.24295 +            }else{
72.24296 +                t.appendChild(n);
72.24297 +            }
72.24298 +        }
72.24299 +        n.ui.focus();
72.24300 +        if(this.tree.hlDrop){
72.24301 +            n.ui.highlight();
72.24302 +        }
72.24303 +        t.ui.endDrop();
72.24304 +        this.tree.fireEvent("nodedrop", de);
72.24305 +    },
72.24306 +
72.24307 +    
72.24308 +    afterNodeMoved : function(dd, data, e, targetNode, dropNode){
72.24309 +        if(this.tree.hlDrop){
72.24310 +            dropNode.ui.focus();
72.24311 +            dropNode.ui.highlight();
72.24312 +        }
72.24313 +        this.tree.fireEvent("nodedrop", this.tree, targetNode, data, dd, e);
72.24314 +    },
72.24315 +
72.24316 +    
72.24317 +    getTree : function(){
72.24318 +        return this.tree;
72.24319 +    },
72.24320 +
72.24321 +    
72.24322 +    removeDropIndicators : function(n){
72.24323 +        if(n && n.ddel){
72.24324 +            var el = n.ddel;
72.24325 +            Ext.fly(el).removeClass([
72.24326 +                    "x-tree-drag-insert-above",
72.24327 +                    "x-tree-drag-insert-below",
72.24328 +                    "x-tree-drag-append"]);
72.24329 +            this.lastInsertClass = "_noclass";
72.24330 +        }
72.24331 +    },
72.24332 +
72.24333 +    
72.24334 +    beforeDragDrop : function(target, e, id){
72.24335 +        this.cancelExpand();
72.24336 +        return true;
72.24337 +    },
72.24338 +
72.24339 +    
72.24340 +    afterRepair : function(data){
72.24341 +        if(data && Ext.enableFx){
72.24342 +            data.node.ui.highlight();
72.24343 +        }
72.24344 +        this.hideProxy();
72.24345 +    }    
72.24346 +});
72.24347 +
72.24348 +}
72.24349 +
72.24350 +if(Ext.dd.DragZone){
72.24351 +Ext.tree.TreeDragZone = function(tree, config){
72.24352 +    Ext.tree.TreeDragZone.superclass.constructor.call(this, tree.getTreeEl(), config);
72.24353 +    
72.24354 +    this.tree = tree;
72.24355 +};
72.24356 +
72.24357 +Ext.extend(Ext.tree.TreeDragZone, Ext.dd.DragZone, {
72.24358 +    
72.24359 +    ddGroup : "TreeDD",
72.24360 +
72.24361 +    
72.24362 +    onBeforeDrag : function(data, e){
72.24363 +        var n = data.node;
72.24364 +        return n && n.draggable && !n.disabled;
72.24365 +    },
72.24366 +
72.24367 +    
72.24368 +    onInitDrag : function(e){
72.24369 +        var data = this.dragData;
72.24370 +        this.tree.getSelectionModel().select(data.node);
72.24371 +        this.tree.eventModel.disable();
72.24372 +        this.proxy.update("");
72.24373 +        data.node.ui.appendDDGhost(this.proxy.ghost.dom);
72.24374 +        this.tree.fireEvent("startdrag", this.tree, data.node, e);
72.24375 +    },
72.24376 +
72.24377 +    
72.24378 +    getRepairXY : function(e, data){
72.24379 +        return data.node.ui.getDDRepairXY();
72.24380 +    },
72.24381 +
72.24382 +    
72.24383 +    onEndDrag : function(data, e){
72.24384 +        this.tree.eventModel.enable.defer(100, this.tree.eventModel);
72.24385 +        this.tree.fireEvent("enddrag", this.tree, data.node, e);
72.24386 +    },
72.24387 +
72.24388 +    
72.24389 +    onValidDrop : function(dd, e, id){
72.24390 +        this.tree.fireEvent("dragdrop", this.tree, this.dragData.node, dd, e);
72.24391 +        this.hideProxy();
72.24392 +    },
72.24393 +
72.24394 +    
72.24395 +    beforeInvalidDrop : function(e, id){
72.24396 +        
72.24397 +        var sm = this.tree.getSelectionModel();
72.24398 +        sm.clearSelections();
72.24399 +        sm.select(this.dragData.node);
72.24400 +    }
72.24401 +});
72.24402 +}
72.24403 +
72.24404 +Ext.tree.TreeEditor = function(tree, fc, config){
72.24405 +    fc = fc || {};
72.24406 +    var field = fc.events ? fc : new Ext.form.TextField(fc);
72.24407 +    Ext.tree.TreeEditor.superclass.constructor.call(this, field, config);
72.24408 +
72.24409 +    this.tree = tree;
72.24410 +
72.24411 +    if(!tree.rendered){
72.24412 +        tree.on('render', this.initEditor, this);
72.24413 +    }else{
72.24414 +        this.initEditor(tree);
72.24415 +    }
72.24416 +};
72.24417 +
72.24418 +Ext.extend(Ext.tree.TreeEditor, Ext.Editor, {
72.24419 +    
72.24420 +    alignment: "l-l",
72.24421 +        autoSize: false,
72.24422 +    
72.24423 +    hideEl : false,
72.24424 +    
72.24425 +    cls: "x-small-editor x-tree-editor",
72.24426 +    
72.24427 +    shim:false,
72.24428 +        shadow:"frame",
72.24429 +    
72.24430 +    maxWidth: 250,
72.24431 +    
72.24432 +    editDelay : 350,
72.24433 +
72.24434 +    initEditor : function(tree){
72.24435 +        tree.on('beforeclick', this.beforeNodeClick, this);
72.24436 +        tree.on('dblclick', this.onNodeDblClick, this);
72.24437 +        this.on('complete', this.updateNode, this);
72.24438 +        this.on('beforestartedit', this.fitToTree, this);
72.24439 +        this.on('startedit', this.bindScroll, this, {delay:10});
72.24440 +        this.on('specialkey', this.onSpecialKey, this);
72.24441 +    },
72.24442 +
72.24443 +        fitToTree : function(ed, el){
72.24444 +        var td = this.tree.getTreeEl().dom, nd = el.dom;
72.24445 +        if(td.scrollLeft >  nd.offsetLeft){             td.scrollLeft = nd.offsetLeft;
72.24446 +        }
72.24447 +        var w = Math.min(
72.24448 +                this.maxWidth,
72.24449 +                (td.clientWidth > 20 ? td.clientWidth : td.offsetWidth) - Math.max(0, nd.offsetLeft-td.scrollLeft) - 5);
72.24450 +        this.setSize(w, '');
72.24451 +    },
72.24452 +
72.24453 +        triggerEdit : function(node, defer){
72.24454 +        this.completeEdit();
72.24455 +		if(node.attributes.editable !== false){
72.24456 +			this.editNode = node;
72.24457 +            this.autoEditTimer = this.startEdit.defer(this.editDelay, this, [node.ui.textNode, node.text]);
72.24458 +            return false;
72.24459 +        }
72.24460 +    },
72.24461 +
72.24462 +        bindScroll : function(){
72.24463 +        this.tree.getTreeEl().on('scroll', this.cancelEdit, this);
72.24464 +    },
72.24465 +
72.24466 +        beforeNodeClick : function(node, e){
72.24467 +        clearTimeout(this.autoEditTimer);
72.24468 +        if(this.tree.getSelectionModel().isSelected(node)){
72.24469 +            e.stopEvent();
72.24470 +            return this.triggerEdit(node);
72.24471 +        }
72.24472 +    },
72.24473 +
72.24474 +    onNodeDblClick : function(node, e){
72.24475 +        clearTimeout(this.autoEditTimer);
72.24476 +    },
72.24477 +
72.24478 +        updateNode : function(ed, value){
72.24479 +        this.tree.getTreeEl().un('scroll', this.cancelEdit, this);
72.24480 +        this.editNode.setText(value);
72.24481 +    },
72.24482 +
72.24483 +        onHide : function(){
72.24484 +        Ext.tree.TreeEditor.superclass.onHide.call(this);
72.24485 +        if(this.editNode){
72.24486 +            this.editNode.ui.focus.defer(50, this.editNode.ui);
72.24487 +        }
72.24488 +    },
72.24489 +
72.24490 +        onSpecialKey : function(field, e){
72.24491 +        var k = e.getKey();
72.24492 +        if(k == e.ESC){
72.24493 +            e.stopEvent();
72.24494 +            this.cancelEdit();
72.24495 +        }else if(k == e.ENTER && !e.hasModifier()){
72.24496 +            e.stopEvent();
72.24497 +            this.completeEdit();
72.24498 +        }
72.24499 +    }
72.24500 +});
72.24501 +
72.24502 +Ext.menu.Menu = function(config){
72.24503 +    if(Ext.isArray(config)){
72.24504 +        config = {items:config};
72.24505 +    }
72.24506 +    Ext.apply(this, config);
72.24507 +    this.id = this.id || Ext.id();
72.24508 +    this.addEvents(
72.24509 +        
72.24510 +        'beforeshow',
72.24511 +        
72.24512 +        'beforehide',
72.24513 +        
72.24514 +        'show',
72.24515 +        
72.24516 +        'hide',
72.24517 +        
72.24518 +        'click',
72.24519 +        
72.24520 +        'mouseover',
72.24521 +        
72.24522 +        'mouseout',
72.24523 +        
72.24524 +        'itemclick'
72.24525 +    );
72.24526 +    Ext.menu.MenuMgr.register(this);
72.24527 +    Ext.menu.Menu.superclass.constructor.call(this);
72.24528 +    var mis = this.items;
72.24529 +    
72.24530 +
72.24531 +    this.items = new Ext.util.MixedCollection();
72.24532 +    if(mis){
72.24533 +        this.add.apply(this, mis);
72.24534 +    }
72.24535 +};
72.24536 +
72.24537 +Ext.extend(Ext.menu.Menu, Ext.util.Observable, {
72.24538 +    
72.24539 +    
72.24540 +    
72.24541 +    minWidth : 120,
72.24542 +    
72.24543 +    shadow : "sides",
72.24544 +    
72.24545 +    subMenuAlign : "tl-tr?",
72.24546 +    
72.24547 +    defaultAlign : "tl-bl?",
72.24548 +    
72.24549 +    allowOtherMenus : false,
72.24550 +
72.24551 +    hidden:true,
72.24552 +
72.24553 +    createEl : function(){
72.24554 +        return new Ext.Layer({
72.24555 +            cls: "x-menu",
72.24556 +            shadow:this.shadow,
72.24557 +            constrain: false,
72.24558 +            parentEl: this.parentEl || document.body,
72.24559 +            zindex:15000
72.24560 +        });
72.24561 +    },
72.24562 +
72.24563 +        render : function(){
72.24564 +        if(this.el){
72.24565 +            return;
72.24566 +        }
72.24567 +        var el = this.el = this.createEl();
72.24568 +
72.24569 +        if(!this.keyNav){
72.24570 +            this.keyNav = new Ext.menu.MenuNav(this);
72.24571 +        }
72.24572 +        if(this.plain){
72.24573 +            el.addClass("x-menu-plain");
72.24574 +        }
72.24575 +        if(this.cls){
72.24576 +            el.addClass(this.cls);
72.24577 +        }
72.24578 +                this.focusEl = el.createChild({
72.24579 +            tag: "a", cls: "x-menu-focus", href: "#", onclick: "return false;", tabIndex:"-1"
72.24580 +        });
72.24581 +        var ul = el.createChild({tag: "ul", cls: "x-menu-list"});
72.24582 +        ul.on("click", this.onClick, this);
72.24583 +        ul.on("mouseover", this.onMouseOver, this);
72.24584 +        ul.on("mouseout", this.onMouseOut, this);
72.24585 +        this.items.each(function(item){
72.24586 +            var li = document.createElement("li");
72.24587 +            li.className = "x-menu-list-item";
72.24588 +            ul.dom.appendChild(li);
72.24589 +            item.render(li, this);
72.24590 +        }, this);
72.24591 +        this.ul = ul;
72.24592 +        this.autoWidth();
72.24593 +    },
72.24594 +
72.24595 +        autoWidth : function(){
72.24596 +        var el = this.el, ul = this.ul;
72.24597 +        if(!el){
72.24598 +            return;
72.24599 +        }
72.24600 +        var w = this.width;
72.24601 +        if(w){
72.24602 +            el.setWidth(w);
72.24603 +        }else if(Ext.isIE){
72.24604 +            el.setWidth(this.minWidth);
72.24605 +            var t = el.dom.offsetWidth;             el.setWidth(ul.getWidth()+el.getFrameWidth("lr"));
72.24606 +        }
72.24607 +    },
72.24608 +
72.24609 +        delayAutoWidth : function(){
72.24610 +        if(this.el){
72.24611 +            if(!this.awTask){
72.24612 +                this.awTask = new Ext.util.DelayedTask(this.autoWidth, this);
72.24613 +            }
72.24614 +            this.awTask.delay(20);
72.24615 +        }
72.24616 +    },
72.24617 +
72.24618 +        findTargetItem : function(e){
72.24619 +        var t = e.getTarget(".x-menu-list-item", this.ul,  true);
72.24620 +        if(t && t.menuItemId){
72.24621 +            return this.items.get(t.menuItemId);
72.24622 +        }
72.24623 +    },
72.24624 +
72.24625 +        onClick : function(e){
72.24626 +        var t;
72.24627 +        if(t = this.findTargetItem(e)){
72.24628 +            t.onClick(e);
72.24629 +            this.fireEvent("click", this, t, e);
72.24630 +        }
72.24631 +    },
72.24632 +
72.24633 +        setActiveItem : function(item, autoExpand){
72.24634 +        if(item != this.activeItem){
72.24635 +            if(this.activeItem){
72.24636 +                this.activeItem.deactivate();
72.24637 +            }
72.24638 +            this.activeItem = item;
72.24639 +            item.activate(autoExpand);
72.24640 +        }else if(autoExpand){
72.24641 +            item.expandMenu();
72.24642 +        }
72.24643 +    },
72.24644 +
72.24645 +        tryActivate : function(start, step){
72.24646 +        var items = this.items;
72.24647 +        for(var i = start, len = items.length; i >= 0 && i < len; i+= step){
72.24648 +            var item = items.get(i);
72.24649 +            if(!item.disabled && item.canActivate){
72.24650 +                this.setActiveItem(item, false);
72.24651 +                return item;
72.24652 +            }
72.24653 +        }
72.24654 +        return false;
72.24655 +    },
72.24656 +
72.24657 +        onMouseOver : function(e){
72.24658 +        var t;
72.24659 +        if(t = this.findTargetItem(e)){
72.24660 +            if(t.canActivate && !t.disabled){
72.24661 +                this.setActiveItem(t, true);
72.24662 +            }
72.24663 +        }
72.24664 +        this.fireEvent("mouseover", this, e, t);
72.24665 +    },
72.24666 +
72.24667 +        onMouseOut : function(e){
72.24668 +        var t;
72.24669 +        if(t = this.findTargetItem(e)){
72.24670 +            if(t == this.activeItem && t.shouldDeactivate(e)){
72.24671 +                this.activeItem.deactivate();
72.24672 +                delete this.activeItem;
72.24673 +            }
72.24674 +        }
72.24675 +        this.fireEvent("mouseout", this, e, t);
72.24676 +    },
72.24677 +
72.24678 +    
72.24679 +    isVisible : function(){
72.24680 +        return this.el && !this.hidden;
72.24681 +    },
72.24682 +
72.24683 +    
72.24684 +    show : function(el, pos, parentMenu){
72.24685 +        this.parentMenu = parentMenu;
72.24686 +        if(!this.el){
72.24687 +            this.render();
72.24688 +        }
72.24689 +        this.fireEvent("beforeshow", this);
72.24690 +        this.showAt(this.el.getAlignToXY(el, pos || this.defaultAlign), parentMenu, false);
72.24691 +    },
72.24692 +
72.24693 +    
72.24694 +    showAt : function(xy, parentMenu, _e){
72.24695 +        this.parentMenu = parentMenu;
72.24696 +        if(!this.el){
72.24697 +            this.render();
72.24698 +        }
72.24699 +        if(_e !== false){
72.24700 +            this.fireEvent("beforeshow", this);
72.24701 +            xy = this.el.adjustForConstraints(xy);
72.24702 +        }
72.24703 +        this.el.setXY(xy);
72.24704 +        this.el.show();
72.24705 +        this.hidden = false;
72.24706 +        this.focus();
72.24707 +        this.fireEvent("show", this);
72.24708 +    },
72.24709 +
72.24710 +    
72.24711 +
72.24712 +    focus : function(){
72.24713 +        if(!this.hidden){
72.24714 +            this.doFocus.defer(50, this);
72.24715 +        }
72.24716 +    },
72.24717 +
72.24718 +    doFocus : function(){
72.24719 +        if(!this.hidden){
72.24720 +            this.focusEl.focus();
72.24721 +        }
72.24722 +    },
72.24723 +
72.24724 +    
72.24725 +    hide : function(deep){
72.24726 +        if(this.el && this.isVisible()){
72.24727 +            this.fireEvent("beforehide", this);
72.24728 +            if(this.activeItem){
72.24729 +                this.activeItem.deactivate();
72.24730 +                this.activeItem = null;
72.24731 +            }
72.24732 +            this.el.hide();
72.24733 +            this.hidden = true;
72.24734 +            this.fireEvent("hide", this);
72.24735 +        }
72.24736 +        if(deep === true && this.parentMenu){
72.24737 +            this.parentMenu.hide(true);
72.24738 +        }
72.24739 +    },
72.24740 +
72.24741 +    
72.24742 +    add : function(){
72.24743 +        var a = arguments, l = a.length, item;
72.24744 +        for(var i = 0; i < l; i++){
72.24745 +            var el = a[i];
72.24746 +            if(el.render){                 item = this.addItem(el);
72.24747 +            }else if(typeof el == "string"){                 if(el == "separator" || el == "-"){
72.24748 +                    item = this.addSeparator();
72.24749 +                }else{
72.24750 +                    item = this.addText(el);
72.24751 +                }
72.24752 +            }else if(el.tagName || el.el){                 item = this.addElement(el);
72.24753 +            }else if(typeof el == "object"){                 Ext.applyIf(el, this.defaults);
72.24754 +                item = this.addMenuItem(el);
72.24755 +            }
72.24756 +        }
72.24757 +        return item;
72.24758 +    },
72.24759 +
72.24760 +    
72.24761 +    getEl : function(){
72.24762 +        if(!this.el){
72.24763 +            this.render();
72.24764 +        }
72.24765 +        return this.el;
72.24766 +    },
72.24767 +
72.24768 +    
72.24769 +    addSeparator : function(){
72.24770 +        return this.addItem(new Ext.menu.Separator());
72.24771 +    },
72.24772 +
72.24773 +    
72.24774 +    addElement : function(el){
72.24775 +        return this.addItem(new Ext.menu.BaseItem(el));
72.24776 +    },
72.24777 +
72.24778 +    
72.24779 +    addItem : function(item){
72.24780 +        this.items.add(item);
72.24781 +        if(this.ul){
72.24782 +            var li = document.createElement("li");
72.24783 +            li.className = "x-menu-list-item";
72.24784 +            this.ul.dom.appendChild(li);
72.24785 +            item.render(li, this);
72.24786 +            this.delayAutoWidth();
72.24787 +        }
72.24788 +        return item;
72.24789 +    },
72.24790 +
72.24791 +    
72.24792 +    addMenuItem : function(config){
72.24793 +        if(!(config instanceof Ext.menu.Item)){
72.24794 +            if(typeof config.checked == "boolean"){                 config = new Ext.menu.CheckItem(config);
72.24795 +            }else{
72.24796 +                config = new Ext.menu.Item(config);
72.24797 +            }
72.24798 +        }
72.24799 +        return this.addItem(config);
72.24800 +    },
72.24801 +
72.24802 +    
72.24803 +    addText : function(text){
72.24804 +        return this.addItem(new Ext.menu.TextItem(text));
72.24805 +    },
72.24806 +
72.24807 +    
72.24808 +    insert : function(index, item){
72.24809 +        this.items.insert(index, item);
72.24810 +        if(this.ul){
72.24811 +            var li = document.createElement("li");
72.24812 +            li.className = "x-menu-list-item";
72.24813 +            this.ul.dom.insertBefore(li, this.ul.dom.childNodes[index]);
72.24814 +            item.render(li, this);
72.24815 +            this.delayAutoWidth();
72.24816 +        }
72.24817 +        return item;
72.24818 +    },
72.24819 +
72.24820 +    
72.24821 +    remove : function(item){
72.24822 +        this.items.removeKey(item.id);
72.24823 +        item.destroy();
72.24824 +    },
72.24825 +
72.24826 +    
72.24827 +    removeAll : function(){
72.24828 +    	if(this.items){
72.24829 +	        var f;
72.24830 +	        while(f = this.items.first()){
72.24831 +	            this.remove(f);
72.24832 +	        }
72.24833 +    	}
72.24834 +    },
72.24835 +
72.24836 +    
72.24837 +    destroy : function(){
72.24838 +        this.beforeDestroy();
72.24839 +        Ext.menu.MenuMgr.unregister(this);
72.24840 +        if (this.keyNav) {
72.24841 +        	this.keyNav.disable();	
72.24842 +        }
72.24843 +        this.removeAll();
72.24844 +        if (this.ul) {
72.24845 +        	this.ul.removeAllListeners();	
72.24846 +        }
72.24847 +        if (this.el) {
72.24848 +        	this.el.destroy();	
72.24849 +        }
72.24850 +    },
72.24851 +
72.24852 +	    beforeDestroy : Ext.emptyFn
72.24853 +
72.24854 +});
72.24855 +
72.24856 +Ext.menu.MenuNav = function(menu){
72.24857 +    Ext.menu.MenuNav.superclass.constructor.call(this, menu.el);
72.24858 +    this.scope = this.menu = menu;
72.24859 +};
72.24860 +
72.24861 +Ext.extend(Ext.menu.MenuNav, Ext.KeyNav, {
72.24862 +    doRelay : function(e, h){
72.24863 +        var k = e.getKey();
72.24864 +        if(!this.menu.activeItem && e.isNavKeyPress() && k != e.SPACE && k != e.RETURN){
72.24865 +            this.menu.tryActivate(0, 1);
72.24866 +            return false;
72.24867 +        }
72.24868 +        return h.call(this.scope || this, e, this.menu);
72.24869 +    },
72.24870 +
72.24871 +    up : function(e, m){
72.24872 +        if(!m.tryActivate(m.items.indexOf(m.activeItem)-1, -1)){
72.24873 +            m.tryActivate(m.items.length-1, -1);
72.24874 +        }
72.24875 +    },
72.24876 +
72.24877 +    down : function(e, m){
72.24878 +        if(!m.tryActivate(m.items.indexOf(m.activeItem)+1, 1)){
72.24879 +            m.tryActivate(0, 1);
72.24880 +        }
72.24881 +    },
72.24882 +
72.24883 +    right : function(e, m){
72.24884 +        if(m.activeItem){
72.24885 +            m.activeItem.expandMenu(true);
72.24886 +        }
72.24887 +    },
72.24888 +
72.24889 +    left : function(e, m){
72.24890 +        m.hide();
72.24891 +        if(m.parentMenu && m.parentMenu.activeItem){
72.24892 +            m.parentMenu.activeItem.activate();
72.24893 +        }
72.24894 +    },
72.24895 +
72.24896 +    enter : function(e, m){
72.24897 +        if(m.activeItem){
72.24898 +            e.stopPropagation();
72.24899 +            m.activeItem.onClick(e);
72.24900 +            m.fireEvent("click", this, m.activeItem);
72.24901 +            return true;
72.24902 +        }
72.24903 +    }
72.24904 +});
72.24905 +
72.24906 +Ext.menu.MenuMgr = function(){
72.24907 +   var menus, active, groups = {}, attached = false, lastShow = new Date();
72.24908 +
72.24909 +      function init(){
72.24910 +       menus = {};
72.24911 +       active = new Ext.util.MixedCollection();
72.24912 +       Ext.getDoc().addKeyListener(27, function(){
72.24913 +           if(active.length > 0){
72.24914 +               hideAll();
72.24915 +           }
72.24916 +       });
72.24917 +   }
72.24918 +
72.24919 +      function hideAll(){
72.24920 +       if(active && active.length > 0){
72.24921 +           var c = active.clone();
72.24922 +           c.each(function(m){
72.24923 +               m.hide();
72.24924 +           });
72.24925 +       }
72.24926 +   }
72.24927 +
72.24928 +      function onHide(m){
72.24929 +       active.remove(m);
72.24930 +       if(active.length < 1){
72.24931 +           Ext.getDoc().un("mousedown", onMouseDown);
72.24932 +           attached = false;
72.24933 +       }
72.24934 +   }
72.24935 +
72.24936 +      function onShow(m){
72.24937 +       var last = active.last();
72.24938 +       lastShow = new Date();
72.24939 +       active.add(m);
72.24940 +       if(!attached){
72.24941 +           Ext.getDoc().on("mousedown", onMouseDown);
72.24942 +           attached = true;
72.24943 +       }
72.24944 +       if(m.parentMenu){
72.24945 +          m.getEl().setZIndex(parseInt(m.parentMenu.getEl().getStyle("z-index"), 10) + 3);
72.24946 +          m.parentMenu.activeChild = m;
72.24947 +       }else if(last && last.isVisible()){
72.24948 +          m.getEl().setZIndex(parseInt(last.getEl().getStyle("z-index"), 10) + 3);
72.24949 +       }
72.24950 +   }
72.24951 +
72.24952 +      function onBeforeHide(m){
72.24953 +       if(m.activeChild){
72.24954 +           m.activeChild.hide();
72.24955 +       }
72.24956 +       if(m.autoHideTimer){
72.24957 +           clearTimeout(m.autoHideTimer);
72.24958 +           delete m.autoHideTimer;
72.24959 +       }
72.24960 +   }
72.24961 +
72.24962 +      function onBeforeShow(m){
72.24963 +       var pm = m.parentMenu;
72.24964 +       if(!pm && !m.allowOtherMenus){
72.24965 +           hideAll();
72.24966 +       }else if(pm && pm.activeChild){
72.24967 +           pm.activeChild.hide();
72.24968 +       }
72.24969 +   }
72.24970 +
72.24971 +      function onMouseDown(e){
72.24972 +       if(lastShow.getElapsed() > 50 && active.length > 0 && !e.getTarget(".x-menu")){
72.24973 +           hideAll();
72.24974 +       }
72.24975 +   }
72.24976 +
72.24977 +      function onBeforeCheck(mi, state){
72.24978 +       if(state){
72.24979 +           var g = groups[mi.group];
72.24980 +           for(var i = 0, l = g.length; i < l; i++){
72.24981 +               if(g[i] != mi){
72.24982 +                   g[i].setChecked(false);
72.24983 +               }
72.24984 +           }
72.24985 +       }
72.24986 +   }
72.24987 +
72.24988 +   return {
72.24989 +
72.24990 +       
72.24991 +       hideAll : function(){
72.24992 +            hideAll();  
72.24993 +       },
72.24994 +
72.24995 +              register : function(menu){
72.24996 +           if(!menus){
72.24997 +               init();
72.24998 +           }
72.24999 +           menus[menu.id] = menu;
72.25000 +           menu.on("beforehide", onBeforeHide);
72.25001 +           menu.on("hide", onHide);
72.25002 +           menu.on("beforeshow", onBeforeShow);
72.25003 +           menu.on("show", onShow);
72.25004 +           var g = menu.group;
72.25005 +           if(g && menu.events["checkchange"]){
72.25006 +               if(!groups[g]){
72.25007 +                   groups[g] = [];
72.25008 +               }
72.25009 +               groups[g].push(menu);
72.25010 +               menu.on("checkchange", onCheck);
72.25011 +           }
72.25012 +       },
72.25013 +
72.25014 +        
72.25015 +       get : function(menu){
72.25016 +           if(typeof menu == "string"){                if(!menus){                     return null;
72.25017 +               }
72.25018 +               return menus[menu];
72.25019 +           }else if(menu.events){                 return menu;
72.25020 +           }else if(typeof menu.length == 'number'){                return new Ext.menu.Menu({items:menu});
72.25021 +           }else{                return new Ext.menu.Menu(menu);
72.25022 +           }
72.25023 +       },
72.25024 +
72.25025 +              unregister : function(menu){
72.25026 +           delete menus[menu.id];
72.25027 +           menu.un("beforehide", onBeforeHide);
72.25028 +           menu.un("hide", onHide);
72.25029 +           menu.un("beforeshow", onBeforeShow);
72.25030 +           menu.un("show", onShow);
72.25031 +           var g = menu.group;
72.25032 +           if(g && menu.events["checkchange"]){
72.25033 +               groups[g].remove(menu);
72.25034 +               menu.un("checkchange", onCheck);
72.25035 +           }
72.25036 +       },
72.25037 +
72.25038 +              registerCheckable : function(menuItem){
72.25039 +           var g = menuItem.group;
72.25040 +           if(g){
72.25041 +               if(!groups[g]){
72.25042 +                   groups[g] = [];
72.25043 +               }
72.25044 +               groups[g].push(menuItem);
72.25045 +               menuItem.on("beforecheckchange", onBeforeCheck);
72.25046 +           }
72.25047 +       },
72.25048 +
72.25049 +              unregisterCheckable : function(menuItem){
72.25050 +           var g = menuItem.group;
72.25051 +           if(g){
72.25052 +               groups[g].remove(menuItem);
72.25053 +               menuItem.un("beforecheckchange", onBeforeCheck);
72.25054 +           }
72.25055 +       },
72.25056 +
72.25057 +       getCheckedItem : function(groupId){
72.25058 +           var g = groups[groupId];
72.25059 +           if(g){
72.25060 +               for(var i = 0, l = g.length; i < l; i++){
72.25061 +                   if(g[i].checked){
72.25062 +                       return g[i];
72.25063 +                   }
72.25064 +               }
72.25065 +           }
72.25066 +           return null;
72.25067 +       },
72.25068 +
72.25069 +       setCheckedItem : function(groupId, itemId){
72.25070 +           var g = groups[groupId];
72.25071 +           if(g){
72.25072 +               for(var i = 0, l = g.length; i < l; i++){
72.25073 +                   if(g[i].id == itemId){
72.25074 +                       g[i].setChecked(true);
72.25075 +                   }
72.25076 +               }
72.25077 +           }
72.25078 +           return null;
72.25079 +       }
72.25080 +   };
72.25081 +}();
72.25082 +
72.25083 +
72.25084 +Ext.menu.BaseItem = function(config){
72.25085 +    Ext.menu.BaseItem.superclass.constructor.call(this, config);
72.25086 +
72.25087 +    this.addEvents(
72.25088 +        
72.25089 +        'click',
72.25090 +        
72.25091 +        'activate',
72.25092 +        
72.25093 +        'deactivate'
72.25094 +    );
72.25095 +
72.25096 +    if(this.handler){
72.25097 +        this.on("click", this.handler, this.scope);
72.25098 +    }
72.25099 +};
72.25100 +
72.25101 +Ext.extend(Ext.menu.BaseItem, Ext.Component, {
72.25102 +    
72.25103 +    
72.25104 +    
72.25105 +    canActivate : false,
72.25106 +    
72.25107 +    activeClass : "x-menu-item-active",
72.25108 +    
72.25109 +    hideOnClick : true,
72.25110 +    
72.25111 +    hideDelay : 100,
72.25112 +
72.25113 +        ctype: "Ext.menu.BaseItem",
72.25114 +
72.25115 +        actionMode : "container",
72.25116 +
72.25117 +        render : function(container, parentMenu){
72.25118 +        this.parentMenu = parentMenu;
72.25119 +        Ext.menu.BaseItem.superclass.render.call(this, container);
72.25120 +        this.container.menuItemId = this.id;
72.25121 +    },
72.25122 +
72.25123 +        onRender : function(container, position){
72.25124 +        this.el = Ext.get(this.el);
72.25125 +        container.dom.appendChild(this.el.dom);
72.25126 +    },
72.25127 +
72.25128 +    
72.25129 +    setHandler : function(handler, scope){
72.25130 +        if(this.handler){
72.25131 +            this.un("click", this.handler, this.scope);
72.25132 +        }
72.25133 +        this.on("click", this.handler = handler, this.scope = scope);
72.25134 +    },
72.25135 +
72.25136 +        onClick : function(e){
72.25137 +        if(!this.disabled && this.fireEvent("click", this, e) !== false
72.25138 +                && this.parentMenu.fireEvent("itemclick", this, e) !== false){
72.25139 +            this.handleClick(e);
72.25140 +        }else{
72.25141 +            e.stopEvent();
72.25142 +        }
72.25143 +    },
72.25144 +
72.25145 +        activate : function(){
72.25146 +        if(this.disabled){
72.25147 +            return false;
72.25148 +        }
72.25149 +        var li = this.container;
72.25150 +        li.addClass(this.activeClass);
72.25151 +        this.region = li.getRegion().adjust(2, 2, -2, -2);
72.25152 +        this.fireEvent("activate", this);
72.25153 +        return true;
72.25154 +    },
72.25155 +
72.25156 +        deactivate : function(){
72.25157 +        this.container.removeClass(this.activeClass);
72.25158 +        this.fireEvent("deactivate", this);
72.25159 +    },
72.25160 +
72.25161 +        shouldDeactivate : function(e){
72.25162 +        return !this.region || !this.region.contains(e.getPoint());
72.25163 +    },
72.25164 +
72.25165 +        handleClick : function(e){
72.25166 +        if(this.hideOnClick){
72.25167 +            this.parentMenu.hide.defer(this.hideDelay, this.parentMenu, [true]);
72.25168 +        }
72.25169 +    },
72.25170 +
72.25171 +        expandMenu : function(autoActivate){
72.25172 +            },
72.25173 +
72.25174 +        hideMenu : function(){
72.25175 +            }
72.25176 +});
72.25177 +
72.25178 +Ext.menu.TextItem = function(text){
72.25179 +    this.text = text;
72.25180 +    Ext.menu.TextItem.superclass.constructor.call(this);
72.25181 +};
72.25182 +
72.25183 +Ext.extend(Ext.menu.TextItem, Ext.menu.BaseItem, {
72.25184 +    
72.25185 +    
72.25186 +    hideOnClick : false,
72.25187 +    
72.25188 +    itemCls : "x-menu-text",
72.25189 +
72.25190 +        onRender : function(){
72.25191 +        var s = document.createElement("span");
72.25192 +        s.className = this.itemCls;
72.25193 +        s.innerHTML = this.text;
72.25194 +        this.el = s;
72.25195 +        Ext.menu.TextItem.superclass.onRender.apply(this, arguments);
72.25196 +    }
72.25197 +});
72.25198 +
72.25199 +Ext.menu.Separator = function(config){
72.25200 +    Ext.menu.Separator.superclass.constructor.call(this, config);
72.25201 +};
72.25202 +
72.25203 +Ext.extend(Ext.menu.Separator, Ext.menu.BaseItem, {
72.25204 +    
72.25205 +    itemCls : "x-menu-sep",
72.25206 +    
72.25207 +    hideOnClick : false,
72.25208 +
72.25209 +        onRender : function(li){
72.25210 +        var s = document.createElement("span");
72.25211 +        s.className = this.itemCls;
72.25212 +        s.innerHTML = "&#160;";
72.25213 +        this.el = s;
72.25214 +        li.addClass("x-menu-sep-li");
72.25215 +        Ext.menu.Separator.superclass.onRender.apply(this, arguments);
72.25216 +    }
72.25217 +});
72.25218 +
72.25219 +Ext.menu.Item = function(config){
72.25220 +    Ext.menu.Item.superclass.constructor.call(this, config);
72.25221 +    if(this.menu){
72.25222 +        this.menu = Ext.menu.MenuMgr.get(this.menu);
72.25223 +    }
72.25224 +};
72.25225 +Ext.extend(Ext.menu.Item, Ext.menu.BaseItem, {
72.25226 +    
72.25227 +    
72.25228 +    
72.25229 +    
72.25230 +    
72.25231 +    
72.25232 +    
72.25233 +    itemCls : "x-menu-item",
72.25234 +    
72.25235 +    canActivate : true,
72.25236 +    
72.25237 +    showDelay: 200,
72.25238 +        hideDelay: 200,
72.25239 +
72.25240 +        ctype: "Ext.menu.Item",
72.25241 +
72.25242 +        onRender : function(container, position){
72.25243 +        var el = document.createElement("a");
72.25244 +        el.hideFocus = true;
72.25245 +        el.unselectable = "on";
72.25246 +        el.href = this.href || "#";
72.25247 +        if(this.hrefTarget){
72.25248 +            el.target = this.hrefTarget;
72.25249 +        }
72.25250 +        el.className = this.itemCls + (this.menu ?  " x-menu-item-arrow" : "") + (this.cls ?  " " + this.cls : "");
72.25251 +        el.innerHTML = String.format(
72.25252 +                '<img src="{0}" class="x-menu-item-icon {2}" />{1}',
72.25253 +                this.icon || Ext.BLANK_IMAGE_URL, this.itemText||this.text, this.iconCls || '');
72.25254 +        this.el = el;
72.25255 +        Ext.menu.Item.superclass.onRender.call(this, container, position);
72.25256 +    },
72.25257 +
72.25258 +    
72.25259 +    setText : function(text){
72.25260 +        this.text = text;
72.25261 +        if(this.rendered){
72.25262 +            this.el.update(String.format(
72.25263 +                '<img src="{0}" class="x-menu-item-icon {2}">{1}',
72.25264 +                this.icon || Ext.BLANK_IMAGE_URL, this.text, this.iconCls || ''));
72.25265 +            this.parentMenu.autoWidth();
72.25266 +        }
72.25267 +    },
72.25268 +
72.25269 +    
72.25270 +    setIconClass : function(cls){
72.25271 +        var oldCls = this.iconCls;
72.25272 +        this.iconCls = cls;
72.25273 +        if(this.rendered){
72.25274 +            this.el.child('img.x-menu-item-icon').replaceClass(oldCls, this.iconCls);
72.25275 +        }
72.25276 +    },
72.25277 +
72.25278 +        handleClick : function(e){
72.25279 +        if(!this.href){             e.stopEvent();
72.25280 +        }
72.25281 +        Ext.menu.Item.superclass.handleClick.apply(this, arguments);
72.25282 +    },
72.25283 +
72.25284 +        activate : function(autoExpand){
72.25285 +        if(Ext.menu.Item.superclass.activate.apply(this, arguments)){
72.25286 +            this.focus();
72.25287 +            if(autoExpand){
72.25288 +                this.expandMenu();
72.25289 +            }
72.25290 +        }
72.25291 +        return true;
72.25292 +    },
72.25293 +
72.25294 +        shouldDeactivate : function(e){
72.25295 +        if(Ext.menu.Item.superclass.shouldDeactivate.call(this, e)){
72.25296 +            if(this.menu && this.menu.isVisible()){
72.25297 +                return !this.menu.getEl().getRegion().contains(e.getPoint());
72.25298 +            }
72.25299 +            return true;
72.25300 +        }
72.25301 +        return false;
72.25302 +    },
72.25303 +
72.25304 +        deactivate : function(){
72.25305 +        Ext.menu.Item.superclass.deactivate.apply(this, arguments);
72.25306 +        this.hideMenu();
72.25307 +    },
72.25308 +
72.25309 +        expandMenu : function(autoActivate){
72.25310 +        if(!this.disabled && this.menu){
72.25311 +            clearTimeout(this.hideTimer);
72.25312 +            delete this.hideTimer;
72.25313 +            if(!this.menu.isVisible() && !this.showTimer){
72.25314 +                this.showTimer = this.deferExpand.defer(this.showDelay, this, [autoActivate]);
72.25315 +            }else if (this.menu.isVisible() && autoActivate){
72.25316 +                this.menu.tryActivate(0, 1);
72.25317 +            }
72.25318 +        }
72.25319 +    },
72.25320 +
72.25321 +        deferExpand : function(autoActivate){
72.25322 +        delete this.showTimer;
72.25323 +        this.menu.show(this.container, this.parentMenu.subMenuAlign || "tl-tr?", this.parentMenu);
72.25324 +        if(autoActivate){
72.25325 +            this.menu.tryActivate(0, 1);
72.25326 +        }
72.25327 +    },
72.25328 +
72.25329 +        hideMenu : function(){
72.25330 +        clearTimeout(this.showTimer);
72.25331 +        delete this.showTimer;
72.25332 +        if(!this.hideTimer && this.menu && this.menu.isVisible()){
72.25333 +            this.hideTimer = this.deferHide.defer(this.hideDelay, this);
72.25334 +        }
72.25335 +    },
72.25336 +
72.25337 +        deferHide : function(){
72.25338 +        delete this.hideTimer;
72.25339 +        this.menu.hide();
72.25340 +    }
72.25341 +});
72.25342 +
72.25343 +Ext.menu.CheckItem = function(config){
72.25344 +    Ext.menu.CheckItem.superclass.constructor.call(this, config);
72.25345 +    this.addEvents(
72.25346 +        
72.25347 +        "beforecheckchange" ,
72.25348 +        
72.25349 +        "checkchange"
72.25350 +    );
72.25351 +    
72.25352 +    if(this.checkHandler){
72.25353 +        this.on('checkchange', this.checkHandler, this.scope);
72.25354 +    }
72.25355 +    Ext.menu.MenuMgr.registerCheckable(this);
72.25356 +};
72.25357 +Ext.extend(Ext.menu.CheckItem, Ext.menu.Item, {
72.25358 +    
72.25359 +    
72.25360 +    itemCls : "x-menu-item x-menu-check-item",
72.25361 +    
72.25362 +    groupClass : "x-menu-group-item",
72.25363 +
72.25364 +    
72.25365 +    checked: false,
72.25366 +
72.25367 +        ctype: "Ext.menu.CheckItem",
72.25368 +
72.25369 +        onRender : function(c){
72.25370 +        Ext.menu.CheckItem.superclass.onRender.apply(this, arguments);
72.25371 +        if(this.group){
72.25372 +            this.el.addClass(this.groupClass);
72.25373 +        }
72.25374 +        if(this.checked){
72.25375 +            this.checked = false;
72.25376 +            this.setChecked(true, true);
72.25377 +        }
72.25378 +    },
72.25379 +
72.25380 +        destroy : function(){
72.25381 +        Ext.menu.MenuMgr.unregisterCheckable(this);
72.25382 +        Ext.menu.CheckItem.superclass.destroy.apply(this, arguments);
72.25383 +    },
72.25384 +
72.25385 +    
72.25386 +    setChecked : function(state, suppressEvent){
72.25387 +        if(this.checked != state && this.fireEvent("beforecheckchange", this, state) !== false){
72.25388 +            if(this.container){
72.25389 +                this.container[state ? "addClass" : "removeClass"]("x-menu-item-checked");
72.25390 +            }
72.25391 +            this.checked = state;
72.25392 +            if(suppressEvent !== true){
72.25393 +                this.fireEvent("checkchange", this, state);
72.25394 +            }
72.25395 +        }
72.25396 +    },
72.25397 +
72.25398 +        handleClick : function(e){
72.25399 +       if(!this.disabled && !(this.checked && this.group)){           this.setChecked(!this.checked);
72.25400 +       }
72.25401 +       Ext.menu.CheckItem.superclass.handleClick.apply(this, arguments);
72.25402 +    }
72.25403 +});
72.25404 +
72.25405 +Ext.menu.Adapter = function(component, config){
72.25406 +    Ext.menu.Adapter.superclass.constructor.call(this, config);
72.25407 +    this.component = component;
72.25408 +};
72.25409 +Ext.extend(Ext.menu.Adapter, Ext.menu.BaseItem, {
72.25410 +        canActivate : true,
72.25411 +
72.25412 +        onRender : function(container, position){
72.25413 +        this.component.render(container);
72.25414 +        this.el = this.component.getEl();
72.25415 +    },
72.25416 +
72.25417 +        activate : function(){
72.25418 +        if(this.disabled){
72.25419 +            return false;
72.25420 +        }
72.25421 +        this.component.focus();
72.25422 +        this.fireEvent("activate", this);
72.25423 +        return true;
72.25424 +    },
72.25425 +
72.25426 +        deactivate : function(){
72.25427 +        this.fireEvent("deactivate", this);
72.25428 +    },
72.25429 +
72.25430 +        disable : function(){
72.25431 +        this.component.disable();
72.25432 +        Ext.menu.Adapter.superclass.disable.call(this);
72.25433 +    },
72.25434 +
72.25435 +        enable : function(){
72.25436 +        this.component.enable();
72.25437 +        Ext.menu.Adapter.superclass.enable.call(this);
72.25438 +    }
72.25439 +});
72.25440 +
72.25441 +Ext.menu.DateItem = function(config){
72.25442 +    Ext.menu.DateItem.superclass.constructor.call(this, new Ext.DatePicker(config), config);
72.25443 +    
72.25444 +    this.picker = this.component;
72.25445 +    this.addEvents('select');
72.25446 +    
72.25447 +    this.picker.on("render", function(picker){
72.25448 +        picker.getEl().swallowEvent("click");
72.25449 +        picker.container.addClass("x-menu-date-item");
72.25450 +    });
72.25451 +
72.25452 +    this.picker.on("select", this.onSelect, this);
72.25453 +};
72.25454 +
72.25455 +Ext.extend(Ext.menu.DateItem, Ext.menu.Adapter, {
72.25456 +        onSelect : function(picker, date){
72.25457 +        this.fireEvent("select", this, date, picker);
72.25458 +        Ext.menu.DateItem.superclass.handleClick.call(this);
72.25459 +    }
72.25460 +});
72.25461 +
72.25462 +Ext.menu.ColorItem = function(config){
72.25463 +    Ext.menu.ColorItem.superclass.constructor.call(this, new Ext.ColorPalette(config), config);
72.25464 +    
72.25465 +    this.palette = this.component;
72.25466 +    this.relayEvents(this.palette, ["select"]);
72.25467 +    if(this.selectHandler){
72.25468 +        this.on('select', this.selectHandler, this.scope);
72.25469 +    }
72.25470 +};
72.25471 +Ext.extend(Ext.menu.ColorItem, Ext.menu.Adapter);
72.25472 +
72.25473 +Ext.menu.DateMenu = function(config){
72.25474 +    Ext.menu.DateMenu.superclass.constructor.call(this, config);
72.25475 +    this.plain = true;
72.25476 +    var di = new Ext.menu.DateItem(config);
72.25477 +    this.add(di);
72.25478 +    
72.25479 +    this.picker = di.picker;
72.25480 +    
72.25481 +    this.relayEvents(di, ["select"]);
72.25482 +
72.25483 +    this.on('beforeshow', function(){
72.25484 +        if(this.picker){
72.25485 +            this.picker.hideMonthPicker(true);
72.25486 +        }
72.25487 +    }, this);
72.25488 +};
72.25489 +Ext.extend(Ext.menu.DateMenu, Ext.menu.Menu, {
72.25490 +    cls:'x-date-menu',
72.25491 +
72.25492 +        beforeDestroy : function() {
72.25493 +        this.picker.destroy();
72.25494 +    }
72.25495 +});
72.25496 +
72.25497 +Ext.menu.ColorMenu = function(config){
72.25498 +    Ext.menu.ColorMenu.superclass.constructor.call(this, config);
72.25499 +    this.plain = true;
72.25500 +    var ci = new Ext.menu.ColorItem(config);
72.25501 +    this.add(ci);
72.25502 +    
72.25503 +    this.palette = ci.palette;
72.25504 +    
72.25505 +    this.relayEvents(ci, ["select"]);
72.25506 +};
72.25507 +Ext.extend(Ext.menu.ColorMenu, Ext.menu.Menu);
72.25508 +
72.25509 +Ext.form.Field = Ext.extend(Ext.BoxComponent,  {
72.25510 +    
72.25511 +    
72.25512 +    
72.25513 +    
72.25514 +    
72.25515 +    
72.25516 +    
72.25517 +    
72.25518 +    
72.25519 +    
72.25520 +    
72.25521 +    
72.25522 +    
72.25523 +    invalidClass : "x-form-invalid",
72.25524 +    
72.25525 +    invalidText : "The value in this field is invalid",
72.25526 +    
72.25527 +    focusClass : "x-form-focus",
72.25528 +    
72.25529 +    validationEvent : "keyup",
72.25530 +    
72.25531 +    validateOnBlur : true,
72.25532 +    
72.25533 +    validationDelay : 250,
72.25534 +    
72.25535 +    defaultAutoCreate : {tag: "input", type: "text", size: "20", autocomplete: "off"},
72.25536 +    
72.25537 +    fieldClass : "x-form-field",
72.25538 +    
72.25539 +    msgTarget : 'qtip',
72.25540 +    
72.25541 +    msgFx : 'normal',
72.25542 +    
72.25543 +    readOnly : false,
72.25544 +    
72.25545 +    disabled : false,
72.25546 +    
72.25547 +        isFormField : true,
72.25548 +    
72.25549 +        hasFocus : false,
72.25550 +
72.25551 +		initComponent : function(){
72.25552 +        Ext.form.Field.superclass.initComponent.call(this);
72.25553 +        this.addEvents(
72.25554 +            
72.25555 +            'focus',
72.25556 +            
72.25557 +            'blur',
72.25558 +            
72.25559 +            'specialkey',
72.25560 +            
72.25561 +            'change',
72.25562 +            
72.25563 +            'invalid',
72.25564 +            
72.25565 +            'valid'
72.25566 +        );
72.25567 +    },
72.25568 +
72.25569 +    
72.25570 +    getName: function(){
72.25571 +         return this.rendered && this.el.dom.name ? this.el.dom.name : (this.hiddenName || '');
72.25572 +    },
72.25573 +
72.25574 +        onRender : function(ct, position){
72.25575 +        Ext.form.Field.superclass.onRender.call(this, ct, position);
72.25576 +        if(!this.el){
72.25577 +            var cfg = this.getAutoCreate();
72.25578 +            if(!cfg.name){
72.25579 +                cfg.name = this.name || this.id;
72.25580 +            }
72.25581 +            if(this.inputType){
72.25582 +                cfg.type = this.inputType;
72.25583 +            }
72.25584 +            this.el = ct.createChild(cfg, position);
72.25585 +        }
72.25586 +        var type = this.el.dom.type;
72.25587 +        if(type){
72.25588 +            if(type == 'password'){
72.25589 +                type = 'text';
72.25590 +            }
72.25591 +            this.el.addClass('x-form-'+type);
72.25592 +        }
72.25593 +        if(this.readOnly){
72.25594 +            this.el.dom.readOnly = true;
72.25595 +        }
72.25596 +        if(this.tabIndex !== undefined){
72.25597 +            this.el.dom.setAttribute('tabIndex', this.tabIndex);
72.25598 +        }
72.25599 +
72.25600 +        this.el.addClass([this.fieldClass, this.cls]);
72.25601 +        this.initValue();
72.25602 +    },
72.25603 +
72.25604 +        initValue : function(){
72.25605 +        if(this.value !== undefined){
72.25606 +            this.setValue(this.value);
72.25607 +        }else if(this.el.dom.value.length > 0){
72.25608 +            this.setValue(this.el.dom.value);
72.25609 +        }
72.25610 +    },
72.25611 +
72.25612 +    
72.25613 +    isDirty : function() {
72.25614 +        if(this.disabled) {
72.25615 +            return false;
72.25616 +        }
72.25617 +        return String(this.getValue()) !== String(this.originalValue);
72.25618 +    },
72.25619 +
72.25620 +        afterRender : function(){
72.25621 +        Ext.form.Field.superclass.afterRender.call(this);
72.25622 +        this.initEvents();
72.25623 +    },
72.25624 +
72.25625 +        fireKey : function(e){
72.25626 +        if(e.isSpecialKey()){
72.25627 +            this.fireEvent("specialkey", this, e);
72.25628 +        }
72.25629 +    },
72.25630 +
72.25631 +    
72.25632 +    reset : function(){
72.25633 +        this.setValue(this.originalValue);
72.25634 +        this.clearInvalid();
72.25635 +    },
72.25636 +
72.25637 +        initEvents : function(){
72.25638 +        this.el.on(Ext.isIE || Ext.isSafari3 ? "keydown" : "keypress", this.fireKey,  this);
72.25639 +        this.el.on("focus", this.onFocus,  this);
72.25640 +        this.el.on("blur", this.onBlur,  this);
72.25641 +
72.25642 +                this.originalValue = this.getValue();
72.25643 +    },
72.25644 +
72.25645 +        onFocus : function(){
72.25646 +        if(!Ext.isOpera && this.focusClass){             this.el.addClass(this.focusClass);
72.25647 +        }
72.25648 +        if(!this.hasFocus){
72.25649 +            this.hasFocus = true;
72.25650 +            this.startValue = this.getValue();
72.25651 +            this.fireEvent("focus", this);
72.25652 +        }
72.25653 +    },
72.25654 +
72.25655 +    beforeBlur : Ext.emptyFn,
72.25656 +
72.25657 +        onBlur : function(){
72.25658 +        this.beforeBlur();
72.25659 +        if(!Ext.isOpera && this.focusClass){             this.el.removeClass(this.focusClass);
72.25660 +        }
72.25661 +        this.hasFocus = false;
72.25662 +        if(this.validationEvent !== false && this.validateOnBlur && this.validationEvent != "blur"){
72.25663 +            this.validate();
72.25664 +        }
72.25665 +        var v = this.getValue();
72.25666 +        if(String(v) !== String(this.startValue)){
72.25667 +            this.fireEvent('change', this, v, this.startValue);
72.25668 +        }
72.25669 +        this.fireEvent("blur", this);
72.25670 +    },
72.25671 +
72.25672 +    
72.25673 +    isValid : function(preventMark){
72.25674 +        if(this.disabled){
72.25675 +            return true;
72.25676 +        }
72.25677 +        var restore = this.preventMark;
72.25678 +        this.preventMark = preventMark === true;
72.25679 +        var v = this.validateValue(this.processValue(this.getRawValue()));
72.25680 +        this.preventMark = restore;
72.25681 +        return v;
72.25682 +    },
72.25683 +
72.25684 +    
72.25685 +    validate : function(){
72.25686 +        if(this.disabled || this.validateValue(this.processValue(this.getRawValue()))){
72.25687 +            this.clearInvalid();
72.25688 +            return true;
72.25689 +        }
72.25690 +        return false;
72.25691 +    },
72.25692 +
72.25693 +        processValue : function(value){
72.25694 +        return value;
72.25695 +    },
72.25696 +
72.25697 +            validateValue : function(value){
72.25698 +        return true;
72.25699 +    },
72.25700 +
72.25701 +    
72.25702 +    markInvalid : function(msg){
72.25703 +        if(!this.rendered || this.preventMark){             return;
72.25704 +        }
72.25705 +        this.el.addClass(this.invalidClass);
72.25706 +        msg = msg || this.invalidText;
72.25707 +        switch(this.msgTarget){
72.25708 +            case 'qtip':
72.25709 +                this.el.dom.qtip = msg;
72.25710 +                this.el.dom.qclass = 'x-form-invalid-tip';
72.25711 +                if(Ext.QuickTips){                     Ext.QuickTips.enable();
72.25712 +                }
72.25713 +                break;
72.25714 +            case 'title':
72.25715 +                this.el.dom.title = msg;
72.25716 +                break;
72.25717 +            case 'under':
72.25718 +                if(!this.errorEl){
72.25719 +                    var elp = this.getErrorCt();
72.25720 +                    this.errorEl = elp.createChild({cls:'x-form-invalid-msg'});
72.25721 +                    this.errorEl.setWidth(elp.getWidth(true)-20);
72.25722 +                }
72.25723 +                this.errorEl.update(msg);
72.25724 +                Ext.form.Field.msgFx[this.msgFx].show(this.errorEl, this);
72.25725 +                break;
72.25726 +            case 'side':
72.25727 +                if(!this.errorIcon){
72.25728 +                    var elp = this.getErrorCt();
72.25729 +                    this.errorIcon = elp.createChild({cls:'x-form-invalid-icon'});
72.25730 +                }
72.25731 +                this.alignErrorIcon();
72.25732 +                this.errorIcon.dom.qtip = msg;
72.25733 +                this.errorIcon.dom.qclass = 'x-form-invalid-tip';
72.25734 +                this.errorIcon.show();
72.25735 +                this.on('resize', this.alignErrorIcon, this);
72.25736 +                break;
72.25737 +            default:
72.25738 +                var t = Ext.getDom(this.msgTarget);
72.25739 +                t.innerHTML = msg;
72.25740 +                t.style.display = this.msgDisplay;
72.25741 +                break;
72.25742 +        }
72.25743 +        this.fireEvent('invalid', this, msg);
72.25744 +    },
72.25745 +    
72.25746 +        getErrorCt : function(){
72.25747 +        return this.el.findParent('.x-form-element', 5, true) ||             this.el.findParent('.x-form-field-wrap', 5, true);       },
72.25748 +
72.25749 +        alignErrorIcon : function(){
72.25750 +        this.errorIcon.alignTo(this.el, 'tl-tr', [2, 0]);
72.25751 +    },
72.25752 +
72.25753 +    
72.25754 +    clearInvalid : function(){
72.25755 +        if(!this.rendered || this.preventMark){             return;
72.25756 +        }
72.25757 +        this.el.removeClass(this.invalidClass);
72.25758 +        switch(this.msgTarget){
72.25759 +            case 'qtip':
72.25760 +                this.el.dom.qtip = '';
72.25761 +                break;
72.25762 +            case 'title':
72.25763 +                this.el.dom.title = '';
72.25764 +                break;
72.25765 +            case 'under':
72.25766 +                if(this.errorEl){
72.25767 +                    Ext.form.Field.msgFx[this.msgFx].hide(this.errorEl, this);
72.25768 +                }
72.25769 +                break;
72.25770 +            case 'side':
72.25771 +                if(this.errorIcon){
72.25772 +                    this.errorIcon.dom.qtip = '';
72.25773 +                    this.errorIcon.hide();
72.25774 +                    this.un('resize', this.alignErrorIcon, this);
72.25775 +                }
72.25776 +                break;
72.25777 +            default:
72.25778 +                var t = Ext.getDom(this.msgTarget);
72.25779 +                t.innerHTML = '';
72.25780 +                t.style.display = 'none';
72.25781 +                break;
72.25782 +        }
72.25783 +        this.fireEvent('valid', this);
72.25784 +    },
72.25785 +
72.25786 +    
72.25787 +    getRawValue : function(){
72.25788 +        var v = this.rendered ? this.el.getValue() : Ext.value(this.value, '');
72.25789 +        if(v === this.emptyText){
72.25790 +            v = '';
72.25791 +        }
72.25792 +        return v;
72.25793 +    },
72.25794 +
72.25795 +    
72.25796 +    getValue : function(){
72.25797 +        if(!this.rendered) {
72.25798 +            return this.value;
72.25799 +        }
72.25800 +        var v = this.el.getValue();
72.25801 +        if(v === this.emptyText || v === undefined){
72.25802 +            v = '';
72.25803 +        }
72.25804 +        return v;
72.25805 +    },
72.25806 +
72.25807 +    
72.25808 +    setRawValue : function(v){
72.25809 +        return this.el.dom.value = (v === null || v === undefined ? '' : v);
72.25810 +    },
72.25811 +
72.25812 +    
72.25813 +    setValue : function(v){
72.25814 +        this.value = v;
72.25815 +        if(this.rendered){
72.25816 +            this.el.dom.value = (v === null || v === undefined ? '' : v);
72.25817 +            this.validate();
72.25818 +        }
72.25819 +    },
72.25820 +
72.25821 +    adjustSize : function(w, h){
72.25822 +        var s = Ext.form.Field.superclass.adjustSize.call(this, w, h);
72.25823 +        s.width = this.adjustWidth(this.el.dom.tagName, s.width);
72.25824 +        return s;
72.25825 +    },
72.25826 +
72.25827 +    adjustWidth : function(tag, w){
72.25828 +        tag = tag.toLowerCase();
72.25829 +        if(typeof w == 'number' && !Ext.isSafari){
72.25830 +            if(Ext.isIE && (tag == 'input' || tag == 'textarea')){
72.25831 +                if(tag == 'input' && !Ext.isStrict){
72.25832 +                    return this.inEditor ? w : w - 3;
72.25833 +                }
72.25834 +                if(tag == 'input' && Ext.isStrict){
72.25835 +                    return w - (Ext.isIE6 ? 4 : 1);
72.25836 +                }
72.25837 +                if(tag == 'textarea' && Ext.isStrict){
72.25838 +                    return w-2;
72.25839 +                }
72.25840 +            }else if(Ext.isOpera && Ext.isStrict){
72.25841 +                if(tag == 'input'){
72.25842 +                    return w + 2;
72.25843 +                }
72.25844 +                if(tag == 'textarea'){
72.25845 +                    return w-2;
72.25846 +                }
72.25847 +            }
72.25848 +        }
72.25849 +        return w;
72.25850 +    }
72.25851 +
72.25852 +    
72.25853 +    
72.25854 +
72.25855 +    
72.25856 +});
72.25857 +
72.25858 +
72.25859 +Ext.form.Field.msgFx = {
72.25860 +    normal : {
72.25861 +        show: function(msgEl, f){
72.25862 +            msgEl.setDisplayed('block');
72.25863 +        },
72.25864 +
72.25865 +        hide : function(msgEl, f){
72.25866 +            msgEl.setDisplayed(false).update('');
72.25867 +        }
72.25868 +    },
72.25869 +
72.25870 +    slide : {
72.25871 +        show: function(msgEl, f){
72.25872 +            msgEl.slideIn('t', {stopFx:true});
72.25873 +        },
72.25874 +
72.25875 +        hide : function(msgEl, f){
72.25876 +            msgEl.slideOut('t', {stopFx:true,useDisplay:true});
72.25877 +        }
72.25878 +    },
72.25879 +
72.25880 +    slideRight : {
72.25881 +        show: function(msgEl, f){
72.25882 +            msgEl.fixDisplay();
72.25883 +            msgEl.alignTo(f.el, 'tl-tr');
72.25884 +            msgEl.slideIn('l', {stopFx:true});
72.25885 +        },
72.25886 +
72.25887 +        hide : function(msgEl, f){
72.25888 +            msgEl.slideOut('l', {stopFx:true,useDisplay:true});
72.25889 +        }
72.25890 +    }
72.25891 +};
72.25892 +Ext.reg('field', Ext.form.Field);
72.25893 +
72.25894 +
72.25895 +Ext.form.TextField = Ext.extend(Ext.form.Field,  {
72.25896 +    
72.25897 +    
72.25898 +    grow : false,
72.25899 +    
72.25900 +    growMin : 30,
72.25901 +    
72.25902 +    growMax : 800,
72.25903 +    
72.25904 +    vtype : null,
72.25905 +    
72.25906 +    maskRe : null,
72.25907 +    
72.25908 +    disableKeyFilter : false,
72.25909 +    
72.25910 +    allowBlank : true,
72.25911 +    
72.25912 +    minLength : 0,
72.25913 +    
72.25914 +    maxLength : Number.MAX_VALUE,
72.25915 +    
72.25916 +    minLengthText : "The minimum length for this field is {0}",
72.25917 +    
72.25918 +    maxLengthText : "The maximum length for this field is {0}",
72.25919 +    
72.25920 +    selectOnFocus : false,
72.25921 +    
72.25922 +    blankText : "This field is required",
72.25923 +    
72.25924 +    validator : null,
72.25925 +    
72.25926 +    regex : null,
72.25927 +    
72.25928 +    regexText : "",
72.25929 +    
72.25930 +    emptyText : null,
72.25931 +    
72.25932 +    emptyClass : 'x-form-empty-field',
72.25933 +
72.25934 +    
72.25935 +
72.25936 +    initComponent : function(){
72.25937 +        Ext.form.TextField.superclass.initComponent.call(this);
72.25938 +        this.addEvents(
72.25939 +            
72.25940 +            'autosize',
72.25941 +
72.25942 +            
72.25943 +            'keydown',
72.25944 +            
72.25945 +            'keyup',
72.25946 +            
72.25947 +            'keypress'
72.25948 +        );
72.25949 +    },
72.25950 +
72.25951 +        initEvents : function(){
72.25952 +        Ext.form.TextField.superclass.initEvents.call(this);
72.25953 +        if(this.validationEvent == 'keyup'){
72.25954 +            this.validationTask = new Ext.util.DelayedTask(this.validate, this);
72.25955 +            this.el.on('keyup', this.filterValidation, this);
72.25956 +        }
72.25957 +        else if(this.validationEvent !== false){
72.25958 +            this.el.on(this.validationEvent, this.validate, this, {buffer: this.validationDelay});
72.25959 +        }
72.25960 +        if(this.selectOnFocus || this.emptyText){
72.25961 +            this.on("focus", this.preFocus, this);
72.25962 +            if(this.emptyText){
72.25963 +                this.on('blur', this.postBlur, this);
72.25964 +                this.applyEmptyText();
72.25965 +            }
72.25966 +        }
72.25967 +        if(this.maskRe || (this.vtype && this.disableKeyFilter !== true && (this.maskRe = Ext.form.VTypes[this.vtype+'Mask']))){
72.25968 +            this.el.on("keypress", this.filterKeys, this);
72.25969 +        }
72.25970 +        if(this.grow){
72.25971 +            this.el.on("keyup", this.onKeyUpBuffered,  this, {buffer:50});
72.25972 +            this.el.on("click", this.autoSize,  this);
72.25973 +        }
72.25974 +
72.25975 +        if(this.enableKeyEvents){
72.25976 +            this.el.on("keyup", this.onKeyUp, this);
72.25977 +            this.el.on("keydown", this.onKeyDown, this);
72.25978 +            this.el.on("keypress", this.onKeyPress, this);
72.25979 +        }
72.25980 +    },
72.25981 +
72.25982 +    processValue : function(value){
72.25983 +        if(this.stripCharsRe){
72.25984 +            var newValue = value.replace(this.stripCharsRe, '');
72.25985 +            if(newValue !== value){
72.25986 +                this.setRawValue(newValue);
72.25987 +                return newValue;
72.25988 +            }
72.25989 +        }
72.25990 +        return value;
72.25991 +    },
72.25992 +
72.25993 +    filterValidation : function(e){
72.25994 +        if(!e.isNavKeyPress()){
72.25995 +            this.validationTask.delay(this.validationDelay);
72.25996 +        }
72.25997 +    },
72.25998 +
72.25999 +        onKeyUpBuffered : function(e){
72.26000 +        if(!e.isNavKeyPress()){
72.26001 +            this.autoSize();
72.26002 +        }
72.26003 +    },
72.26004 +
72.26005 +        onKeyUp : function(e){
72.26006 +        this.fireEvent('keyup', this, e);
72.26007 +    },
72.26008 +
72.26009 +        onKeyDown : function(e){
72.26010 +        this.fireEvent('keydown', this, e);
72.26011 +    },
72.26012 +
72.26013 +        onKeyPress : function(e){
72.26014 +        this.fireEvent('keypress', this, e);
72.26015 +    },
72.26016 +
72.26017 +    
72.26018 +    reset : function(){
72.26019 +        Ext.form.TextField.superclass.reset.call(this);
72.26020 +        this.applyEmptyText();
72.26021 +    },
72.26022 +
72.26023 +    applyEmptyText : function(){
72.26024 +        if(this.rendered && this.emptyText && this.getRawValue().length < 1){
72.26025 +            this.setRawValue(this.emptyText);
72.26026 +            this.el.addClass(this.emptyClass);
72.26027 +        }
72.26028 +    },
72.26029 +
72.26030 +        preFocus : function(){
72.26031 +        if(this.emptyText){
72.26032 +            if(this.el.dom.value == this.emptyText){
72.26033 +                this.setRawValue('');
72.26034 +            }
72.26035 +            this.el.removeClass(this.emptyClass);
72.26036 +        }
72.26037 +        if(this.selectOnFocus){
72.26038 +            this.el.dom.select();
72.26039 +        }
72.26040 +    },
72.26041 +
72.26042 +        postBlur : function(){
72.26043 +        this.applyEmptyText();
72.26044 +    },
72.26045 +
72.26046 +        filterKeys : function(e){
72.26047 +        var k = e.getKey();
72.26048 +        if(!Ext.isIE && (e.isNavKeyPress() || k == e.BACKSPACE || (k == e.DELETE && e.button == -1))){
72.26049 +            return;
72.26050 +        }
72.26051 +        var c = e.getCharCode(), cc = String.fromCharCode(c);
72.26052 +        if(Ext.isIE && (e.isSpecialKey() || !cc)){
72.26053 +            return;
72.26054 +        }
72.26055 +        if(!this.maskRe.test(cc)){
72.26056 +            e.stopEvent();
72.26057 +        }
72.26058 +    },
72.26059 +
72.26060 +    setValue : function(v){
72.26061 +        if(this.emptyText && this.el && v !== undefined && v !== null && v !== ''){
72.26062 +            this.el.removeClass(this.emptyClass);
72.26063 +        }
72.26064 +        Ext.form.TextField.superclass.setValue.apply(this, arguments);
72.26065 +        this.applyEmptyText();
72.26066 +        this.autoSize();
72.26067 +    },
72.26068 +
72.26069 +    
72.26070 +    validateValue : function(value){
72.26071 +        if(value.length < 1 || value === this.emptyText){              if(this.allowBlank){
72.26072 +                 this.clearInvalid();
72.26073 +                 return true;
72.26074 +             }else{
72.26075 +                 this.markInvalid(this.blankText);
72.26076 +                 return false;
72.26077 +             }
72.26078 +        }
72.26079 +        if(value.length < this.minLength){
72.26080 +            this.markInvalid(String.format(this.minLengthText, this.minLength));
72.26081 +            return false;
72.26082 +        }
72.26083 +        if(value.length > this.maxLength){
72.26084 +            this.markInvalid(String.format(this.maxLengthText, this.maxLength));
72.26085 +            return false;
72.26086 +        }
72.26087 +        if(this.vtype){
72.26088 +            var vt = Ext.form.VTypes;
72.26089 +            if(!vt[this.vtype](value, this)){
72.26090 +                this.markInvalid(this.vtypeText || vt[this.vtype +'Text']);
72.26091 +                return false;
72.26092 +            }
72.26093 +        }
72.26094 +        if(typeof this.validator == "function"){
72.26095 +            var msg = this.validator(value);
72.26096 +            if(msg !== true){
72.26097 +                this.markInvalid(msg);
72.26098 +                return false;
72.26099 +            }
72.26100 +        }
72.26101 +        if(this.regex && !this.regex.test(value)){
72.26102 +            this.markInvalid(this.regexText);
72.26103 +            return false;
72.26104 +        }
72.26105 +        return true;
72.26106 +    },
72.26107 +
72.26108 +    
72.26109 +    selectText : function(start, end){
72.26110 +        var v = this.getRawValue();
72.26111 +        if(v.length > 0){
72.26112 +            start = start === undefined ? 0 : start;
72.26113 +            end = end === undefined ? v.length : end;
72.26114 +            var d = this.el.dom;
72.26115 +            if(d.setSelectionRange){
72.26116 +                d.setSelectionRange(start, end);
72.26117 +            }else if(d.createTextRange){
72.26118 +                var range = d.createTextRange();
72.26119 +                range.moveStart("character", start);
72.26120 +                range.moveEnd("character", end-v.length);
72.26121 +                range.select();
72.26122 +            }
72.26123 +        }
72.26124 +    },
72.26125 +
72.26126 +    
72.26127 +    autoSize : function(){
72.26128 +        if(!this.grow || !this.rendered){
72.26129 +            return;
72.26130 +        }
72.26131 +        if(!this.metrics){
72.26132 +            this.metrics = Ext.util.TextMetrics.createInstance(this.el);
72.26133 +        }
72.26134 +        var el = this.el;
72.26135 +        var v = el.dom.value;
72.26136 +        var d = document.createElement('div');
72.26137 +        d.appendChild(document.createTextNode(v));
72.26138 +        v = d.innerHTML;
72.26139 +        d = null;
72.26140 +        v += "&#160;";
72.26141 +        var w = Math.min(this.growMax, Math.max(this.metrics.getWidth(v) +  10, this.growMin));
72.26142 +        this.el.setWidth(w);
72.26143 +        this.fireEvent("autosize", this, w);
72.26144 +    }
72.26145 +});
72.26146 +Ext.reg('textfield', Ext.form.TextField);
72.26147 +
72.26148 +
72.26149 +Ext.form.TriggerField = Ext.extend(Ext.form.TextField,  {
72.26150 +    
72.26151 +    
72.26152 +    defaultAutoCreate : {tag: "input", type: "text", size: "16", autocomplete: "off"},
72.26153 +    
72.26154 +    hideTrigger:false,
72.26155 +
72.26156 +    
72.26157 +    autoSize: Ext.emptyFn,
72.26158 +        monitorTab : true,
72.26159 +        deferHeight : true,
72.26160 +        mimicing : false,
72.26161 +
72.26162 +        onResize : function(w, h){
72.26163 +        Ext.form.TriggerField.superclass.onResize.call(this, w, h);
72.26164 +        if(typeof w == 'number'){
72.26165 +            this.el.setWidth(this.adjustWidth('input', w - this.trigger.getWidth()));
72.26166 +        }
72.26167 +        this.wrap.setWidth(this.el.getWidth()+this.trigger.getWidth());
72.26168 +    },
72.26169 +
72.26170 +        adjustSize : Ext.BoxComponent.prototype.adjustSize,
72.26171 +
72.26172 +        getResizeEl : function(){
72.26173 +        return this.wrap;
72.26174 +    },
72.26175 +
72.26176 +        getPositionEl : function(){
72.26177 +        return this.wrap;
72.26178 +    },
72.26179 +
72.26180 +        alignErrorIcon : function(){
72.26181 +        this.errorIcon.alignTo(this.wrap, 'tl-tr', [2, 0]);
72.26182 +    },
72.26183 +
72.26184 +        onRender : function(ct, position){
72.26185 +        Ext.form.TriggerField.superclass.onRender.call(this, ct, position);
72.26186 +        this.wrap = this.el.wrap({cls: "x-form-field-wrap"});
72.26187 +        this.trigger = this.wrap.createChild(this.triggerConfig ||
72.26188 +                {tag: "img", src: Ext.BLANK_IMAGE_URL, cls: "x-form-trigger " + this.triggerClass});
72.26189 +        if(this.hideTrigger){
72.26190 +            this.trigger.setDisplayed(false);
72.26191 +        }
72.26192 +        this.initTrigger();
72.26193 +        if(!this.width){
72.26194 +            this.wrap.setWidth(this.el.getWidth()+this.trigger.getWidth());
72.26195 +        }
72.26196 +    },
72.26197 +
72.26198 +        initTrigger : function(){
72.26199 +        this.trigger.on("click", this.onTriggerClick, this, {preventDefault:true});
72.26200 +        this.trigger.addClassOnOver('x-form-trigger-over');
72.26201 +        this.trigger.addClassOnClick('x-form-trigger-click');
72.26202 +    },
72.26203 +
72.26204 +        onDestroy : function(){
72.26205 +        if(this.trigger){
72.26206 +            this.trigger.removeAllListeners();
72.26207 +            this.trigger.remove();
72.26208 +        }
72.26209 +        if(this.wrap){
72.26210 +            this.wrap.remove();
72.26211 +        }
72.26212 +        Ext.form.TriggerField.superclass.onDestroy.call(this);
72.26213 +    },
72.26214 +
72.26215 +        onFocus : function(){
72.26216 +        Ext.form.TriggerField.superclass.onFocus.call(this);
72.26217 +        if(!this.mimicing){
72.26218 +            this.wrap.addClass('x-trigger-wrap-focus');
72.26219 +            this.mimicing = true;
72.26220 +            Ext.get(Ext.isIE ? document.body : document).on("mousedown", this.mimicBlur, this, {delay: 10});
72.26221 +            if(this.monitorTab){
72.26222 +                this.el.on("keydown", this.checkTab, this);
72.26223 +            }
72.26224 +        }
72.26225 +    },
72.26226 +
72.26227 +        checkTab : function(e){
72.26228 +        if(e.getKey() == e.TAB){
72.26229 +            this.triggerBlur();
72.26230 +        }
72.26231 +    },
72.26232 +
72.26233 +        onBlur : function(){
72.26234 +            },
72.26235 +
72.26236 +        mimicBlur : function(e){
72.26237 +        if(!this.wrap.contains(e.target) && this.validateBlur(e)){
72.26238 +            this.triggerBlur();
72.26239 +        }
72.26240 +    },
72.26241 +
72.26242 +        triggerBlur : function(){
72.26243 +        this.mimicing = false;
72.26244 +        Ext.get(Ext.isIE ? document.body : document).un("mousedown", this.mimicBlur);
72.26245 +        if(this.monitorTab){
72.26246 +            this.el.un("keydown", this.checkTab, this);
72.26247 +        }
72.26248 +        this.beforeBlur();
72.26249 +        this.wrap.removeClass('x-trigger-wrap-focus');
72.26250 +        Ext.form.TriggerField.superclass.onBlur.call(this);
72.26251 +    },
72.26252 +
72.26253 +    beforeBlur : Ext.emptyFn, 
72.26254 +
72.26255 +            validateBlur : function(e){
72.26256 +        return true;
72.26257 +    },
72.26258 +
72.26259 +        onDisable : function(){
72.26260 +        Ext.form.TriggerField.superclass.onDisable.call(this);
72.26261 +        if(this.wrap){
72.26262 +            this.wrap.addClass('x-item-disabled');
72.26263 +        }
72.26264 +    },
72.26265 +
72.26266 +        onEnable : function(){
72.26267 +        Ext.form.TriggerField.superclass.onEnable.call(this);
72.26268 +        if(this.wrap){
72.26269 +            this.wrap.removeClass('x-item-disabled');
72.26270 +        }
72.26271 +    },
72.26272 +
72.26273 +
72.26274 +        onShow : function(){
72.26275 +        if(this.wrap){
72.26276 +            this.wrap.dom.style.display = '';
72.26277 +            this.wrap.dom.style.visibility = 'visible';
72.26278 +        }
72.26279 +    },
72.26280 +
72.26281 +        onHide : function(){
72.26282 +        this.wrap.dom.style.display = 'none';
72.26283 +    },
72.26284 +
72.26285 +    
72.26286 +    onTriggerClick : Ext.emptyFn
72.26287 +
72.26288 +    
72.26289 +    
72.26290 +    
72.26291 +});
72.26292 +
72.26293 +Ext.form.TwinTriggerField = Ext.extend(Ext.form.TriggerField, {
72.26294 +    initComponent : function(){
72.26295 +        Ext.form.TwinTriggerField.superclass.initComponent.call(this);
72.26296 +
72.26297 +        this.triggerConfig = {
72.26298 +            tag:'span', cls:'x-form-twin-triggers', cn:[
72.26299 +            {tag: "img", src: Ext.BLANK_IMAGE_URL, cls: "x-form-trigger " + this.trigger1Class},
72.26300 +            {tag: "img", src: Ext.BLANK_IMAGE_URL, cls: "x-form-trigger " + this.trigger2Class}
72.26301 +        ]};
72.26302 +    },
72.26303 +
72.26304 +    getTrigger : function(index){
72.26305 +        return this.triggers[index];
72.26306 +    },
72.26307 +
72.26308 +    initTrigger : function(){
72.26309 +        var ts = this.trigger.select('.x-form-trigger', true);
72.26310 +        this.wrap.setStyle('overflow', 'hidden');
72.26311 +        var triggerField = this;
72.26312 +        ts.each(function(t, all, index){
72.26313 +            t.hide = function(){
72.26314 +                var w = triggerField.wrap.getWidth();
72.26315 +                this.dom.style.display = 'none';
72.26316 +                triggerField.el.setWidth(w-triggerField.trigger.getWidth());
72.26317 +            };
72.26318 +            t.show = function(){
72.26319 +                var w = triggerField.wrap.getWidth();
72.26320 +                this.dom.style.display = '';
72.26321 +                triggerField.el.setWidth(w-triggerField.trigger.getWidth());
72.26322 +            };
72.26323 +            var triggerIndex = 'Trigger'+(index+1);
72.26324 +
72.26325 +            if(this['hide'+triggerIndex]){
72.26326 +                t.dom.style.display = 'none';
72.26327 +            }
72.26328 +            t.on("click", this['on'+triggerIndex+'Click'], this, {preventDefault:true});
72.26329 +            t.addClassOnOver('x-form-trigger-over');
72.26330 +            t.addClassOnClick('x-form-trigger-click');
72.26331 +        }, this);
72.26332 +        this.triggers = ts.elements;
72.26333 +    },
72.26334 +
72.26335 +    onTrigger1Click : Ext.emptyFn,
72.26336 +    onTrigger2Click : Ext.emptyFn
72.26337 +});
72.26338 +Ext.reg('trigger', Ext.form.TriggerField);
72.26339 +
72.26340 +Ext.form.TextArea = Ext.extend(Ext.form.TextField,  {
72.26341 +    
72.26342 +    growMin : 60,
72.26343 +    
72.26344 +    growMax: 1000,
72.26345 +    growAppend : '&#160;\n&#160;',
72.26346 +    growPad : 0,
72.26347 +
72.26348 +    enterIsSpecial : false,
72.26349 +
72.26350 +    
72.26351 +    preventScrollbars: false,
72.26352 +    
72.26353 +
72.26354 +        onRender : function(ct, position){
72.26355 +        if(!this.el){
72.26356 +            this.defaultAutoCreate = {
72.26357 +                tag: "textarea",
72.26358 +                style:"width:100px;height:60px;",
72.26359 +                autocomplete: "off"
72.26360 +            };
72.26361 +        }
72.26362 +        Ext.form.TextArea.superclass.onRender.call(this, ct, position);
72.26363 +        if(this.grow){
72.26364 +            this.textSizeEl = Ext.DomHelper.append(document.body, {
72.26365 +                tag: "pre", cls: "x-form-grow-sizer"
72.26366 +            });
72.26367 +            if(this.preventScrollbars){
72.26368 +                this.el.setStyle("overflow", "hidden");
72.26369 +            }
72.26370 +            this.el.setHeight(this.growMin);
72.26371 +        }
72.26372 +    },
72.26373 +
72.26374 +    onDestroy : function(){
72.26375 +        if(this.textSizeEl){
72.26376 +            Ext.removeNode(this.textSizeEl);
72.26377 +        }
72.26378 +        Ext.form.TextArea.superclass.onDestroy.call(this);
72.26379 +    },
72.26380 +
72.26381 +    fireKey : function(e){
72.26382 +        if(e.isSpecialKey() && (this.enterIsSpecial || (e.getKey() != e.ENTER || e.hasModifier()))){
72.26383 +            this.fireEvent("specialkey", this, e);
72.26384 +        }
72.26385 +    },
72.26386 +
72.26387 +        onKeyUp : function(e){
72.26388 +        if(!e.isNavKeyPress() || e.getKey() == e.ENTER){
72.26389 +            this.autoSize();
72.26390 +        }
72.26391 +    },
72.26392 +
72.26393 +    
72.26394 +    autoSize : function(){
72.26395 +        if(!this.grow || !this.textSizeEl){
72.26396 +            return;
72.26397 +        }
72.26398 +        var el = this.el;
72.26399 +        var v = el.dom.value;
72.26400 +        var ts = this.textSizeEl;
72.26401 +        ts.innerHTML = '';
72.26402 +        ts.appendChild(document.createTextNode(v));
72.26403 +        v = ts.innerHTML;
72.26404 +
72.26405 +        Ext.fly(ts).setWidth(this.el.getWidth());
72.26406 +        if(v.length < 1){
72.26407 +            v = "&#160;&#160;";
72.26408 +        }else{
72.26409 +            if(Ext.isIE){
72.26410 +                v = v.replace(/\n/g, '<p>&#160;</p>');
72.26411 +            }
72.26412 +            v += this.growAppend;
72.26413 +        }
72.26414 +        ts.innerHTML = v;
72.26415 +        var h = Math.min(this.growMax, Math.max(ts.offsetHeight, this.growMin)+this.growPad);
72.26416 +        if(h != this.lastHeight){
72.26417 +            this.lastHeight = h;
72.26418 +            this.el.setHeight(h);
72.26419 +            this.fireEvent("autosize", this, h);
72.26420 +        }
72.26421 +    }
72.26422 +});
72.26423 +Ext.reg('textarea', Ext.form.TextArea);
72.26424 +
72.26425 +Ext.form.NumberField = Ext.extend(Ext.form.TextField,  {
72.26426 +    
72.26427 +    fieldClass: "x-form-field x-form-num-field",
72.26428 +    
72.26429 +    allowDecimals : true,
72.26430 +    
72.26431 +    decimalSeparator : ".",
72.26432 +    
72.26433 +    decimalPrecision : 2,
72.26434 +    
72.26435 +    allowNegative : true,
72.26436 +    
72.26437 +    minValue : Number.NEGATIVE_INFINITY,
72.26438 +    
72.26439 +    maxValue : Number.MAX_VALUE,
72.26440 +    
72.26441 +    minText : "The minimum value for this field is {0}",
72.26442 +    
72.26443 +    maxText : "The maximum value for this field is {0}",
72.26444 +    
72.26445 +    nanText : "{0} is not a valid number",
72.26446 +    
72.26447 +    baseChars : "0123456789",
72.26448 +
72.26449 +        initEvents : function(){
72.26450 +        Ext.form.NumberField.superclass.initEvents.call(this);
72.26451 +        var allowed = this.baseChars+'';
72.26452 +        if(this.allowDecimals){
72.26453 +            allowed += this.decimalSeparator;
72.26454 +        }
72.26455 +        if(this.allowNegative){
72.26456 +            allowed += "-";
72.26457 +        }
72.26458 +        this.stripCharsRe = new RegExp('[^'+allowed+']', 'gi');
72.26459 +        var keyPress = function(e){
72.26460 +            var k = e.getKey();
72.26461 +            if(!Ext.isIE && (e.isSpecialKey() || k == e.BACKSPACE || k == e.DELETE)){
72.26462 +                return;
72.26463 +            }
72.26464 +            var c = e.getCharCode();
72.26465 +            if(allowed.indexOf(String.fromCharCode(c)) === -1){
72.26466 +                e.stopEvent();
72.26467 +            }
72.26468 +        };
72.26469 +        this.el.on("keypress", keyPress, this);
72.26470 +    },
72.26471 +
72.26472 +        validateValue : function(value){
72.26473 +        if(!Ext.form.NumberField.superclass.validateValue.call(this, value)){
72.26474 +            return false;
72.26475 +        }
72.26476 +        if(value.length < 1){              return true;
72.26477 +        }
72.26478 +        value = String(value).replace(this.decimalSeparator, ".");
72.26479 +        if(isNaN(value)){
72.26480 +            this.markInvalid(String.format(this.nanText, value));
72.26481 +            return false;
72.26482 +        }
72.26483 +        var num = this.parseValue(value);
72.26484 +        if(num < this.minValue){
72.26485 +            this.markInvalid(String.format(this.minText, this.minValue));
72.26486 +            return false;
72.26487 +        }
72.26488 +        if(num > this.maxValue){
72.26489 +            this.markInvalid(String.format(this.maxText, this.maxValue));
72.26490 +            return false;
72.26491 +        }
72.26492 +        return true;
72.26493 +    },
72.26494 +
72.26495 +    getValue : function(){
72.26496 +        return this.fixPrecision(this.parseValue(Ext.form.NumberField.superclass.getValue.call(this)));
72.26497 +    },
72.26498 +
72.26499 +    setValue : function(v){
72.26500 +    	v = typeof v == 'number' ? v : parseFloat(String(v).replace(this.decimalSeparator, "."));
72.26501 +        v = isNaN(v) ? '' : String(v).replace(".", this.decimalSeparator);
72.26502 +        Ext.form.NumberField.superclass.setValue.call(this, v);
72.26503 +    },
72.26504 +
72.26505 +        parseValue : function(value){
72.26506 +        value = parseFloat(String(value).replace(this.decimalSeparator, "."));
72.26507 +        return isNaN(value) ? '' : value;
72.26508 +    },
72.26509 +
72.26510 +        fixPrecision : function(value){
72.26511 +        var nan = isNaN(value);
72.26512 +        if(!this.allowDecimals || this.decimalPrecision == -1 || nan || !value){
72.26513 +           return nan ? '' : value;
72.26514 +        }
72.26515 +        return parseFloat(parseFloat(value).toFixed(this.decimalPrecision));
72.26516 +    },
72.26517 +
72.26518 +    beforeBlur : function(){
72.26519 +        var v = this.parseValue(this.getRawValue());
72.26520 +        if(v){
72.26521 +            this.setValue(this.fixPrecision(v));
72.26522 +        }
72.26523 +    }
72.26524 +});
72.26525 +Ext.reg('numberfield', Ext.form.NumberField);
72.26526 +
72.26527 +Ext.form.DateField = Ext.extend(Ext.form.TriggerField,  {
72.26528 +    
72.26529 +    format : "m/d/Y",
72.26530 +    
72.26531 +    altFormats : "m/d/Y|n/j/Y|n/j/y|m/j/y|n/d/y|m/j/Y|n/d/Y|m-d-y|m-d-Y|m/d|m-d|md|mdy|mdY|d|Y-m-d",
72.26532 +    
72.26533 +    disabledDays : null,
72.26534 +    
72.26535 +    disabledDaysText : "Disabled",
72.26536 +    
72.26537 +    disabledDates : null,
72.26538 +    
72.26539 +    disabledDatesText : "Disabled",
72.26540 +    
72.26541 +    minValue : null,
72.26542 +    
72.26543 +    maxValue : null,
72.26544 +    
72.26545 +    minText : "The date in this field must be equal to or after {0}",
72.26546 +    
72.26547 +    maxText : "The date in this field must be equal to or before {0}",
72.26548 +    
72.26549 +    invalidText : "{0} is not a valid date - it must be in the format {1}",
72.26550 +    
72.26551 +    triggerClass : 'x-form-date-trigger',
72.26552 +    
72.26553 +
72.26554 +        defaultAutoCreate : {tag: "input", type: "text", size: "10", autocomplete: "off"},
72.26555 +
72.26556 +    initComponent : function(){
72.26557 +        Ext.form.DateField.superclass.initComponent.call(this);
72.26558 +        if(typeof this.minValue == "string"){
72.26559 +            this.minValue = this.parseDate(this.minValue);
72.26560 +        }
72.26561 +        if(typeof this.maxValue == "string"){
72.26562 +            this.maxValue = this.parseDate(this.maxValue);
72.26563 +        }
72.26564 +        this.ddMatch = null;
72.26565 +        if(this.disabledDates){
72.26566 +            var dd = this.disabledDates;
72.26567 +            var re = "(?:";
72.26568 +            for(var i = 0; i < dd.length; i++){
72.26569 +                re += dd[i];
72.26570 +                if(i != dd.length-1) re += "|";
72.26571 +            }
72.26572 +            this.ddMatch = new RegExp(re + ")");
72.26573 +        }
72.26574 +    },
72.26575 +
72.26576 +        validateValue : function(value){
72.26577 +        value = this.formatDate(value);
72.26578 +        if(!Ext.form.DateField.superclass.validateValue.call(this, value)){
72.26579 +            return false;
72.26580 +        }
72.26581 +        if(value.length < 1){              return true;
72.26582 +        }
72.26583 +        var svalue = value;
72.26584 +        value = this.parseDate(value);
72.26585 +        if(!value){
72.26586 +            this.markInvalid(String.format(this.invalidText, svalue, this.format));
72.26587 +            return false;
72.26588 +        }
72.26589 +        var time = value.getTime();
72.26590 +        if(this.minValue && time < this.minValue.getTime()){
72.26591 +            this.markInvalid(String.format(this.minText, this.formatDate(this.minValue)));
72.26592 +            return false;
72.26593 +        }
72.26594 +        if(this.maxValue && time > this.maxValue.getTime()){
72.26595 +            this.markInvalid(String.format(this.maxText, this.formatDate(this.maxValue)));
72.26596 +            return false;
72.26597 +        }
72.26598 +        if(this.disabledDays){
72.26599 +            var day = value.getDay();
72.26600 +            for(var i = 0; i < this.disabledDays.length; i++) {
72.26601 +            	if(day === this.disabledDays[i]){
72.26602 +            	    this.markInvalid(this.disabledDaysText);
72.26603 +                    return false;
72.26604 +            	}
72.26605 +            }
72.26606 +        }
72.26607 +        var fvalue = this.formatDate(value);
72.26608 +        if(this.ddMatch && this.ddMatch.test(fvalue)){
72.26609 +            this.markInvalid(String.format(this.disabledDatesText, fvalue));
72.26610 +            return false;
72.26611 +        }
72.26612 +        return true;
72.26613 +    },
72.26614 +
72.26615 +            validateBlur : function(){
72.26616 +        return !this.menu || !this.menu.isVisible();
72.26617 +    },
72.26618 +
72.26619 +    
72.26620 +    getValue : function(){
72.26621 +        return this.parseDate(Ext.form.DateField.superclass.getValue.call(this)) || "";
72.26622 +    },
72.26623 +
72.26624 +    
72.26625 +    setValue : function(date){
72.26626 +        Ext.form.DateField.superclass.setValue.call(this, this.formatDate(this.parseDate(date)));
72.26627 +    },
72.26628 +
72.26629 +        parseDate : function(value){
72.26630 +        if(!value || Ext.isDate(value)){
72.26631 +            return value;
72.26632 +        }
72.26633 +        var v = Date.parseDate(value, this.format);
72.26634 +        if(!v && this.altFormats){
72.26635 +            if(!this.altFormatsArray){
72.26636 +                this.altFormatsArray = this.altFormats.split("|");
72.26637 +            }
72.26638 +            for(var i = 0, len = this.altFormatsArray.length; i < len && !v; i++){
72.26639 +                v = Date.parseDate(value, this.altFormatsArray[i]);
72.26640 +            }
72.26641 +        }
72.26642 +        return v;
72.26643 +    },
72.26644 +
72.26645 +        onDestroy : function(){
72.26646 +        if(this.menu) {
72.26647 +            this.menu.destroy();
72.26648 +        }
72.26649 +        if(this.wrap){
72.26650 +            this.wrap.remove();
72.26651 +        }
72.26652 +        Ext.form.DateField.superclass.onDestroy.call(this);
72.26653 +    },
72.26654 +
72.26655 +        formatDate : function(date){
72.26656 +        return Ext.isDate(date) ? date.dateFormat(this.format) : date;
72.26657 +    },
72.26658 +
72.26659 +        menuListeners : {
72.26660 +        select: function(m, d){
72.26661 +            this.setValue(d);
72.26662 +        },
72.26663 +        show : function(){             this.onFocus();
72.26664 +        },
72.26665 +        hide : function(){
72.26666 +            this.focus.defer(10, this);
72.26667 +            var ml = this.menuListeners;
72.26668 +            this.menu.un("select", ml.select,  this);
72.26669 +            this.menu.un("show", ml.show,  this);
72.26670 +            this.menu.un("hide", ml.hide,  this);
72.26671 +        }
72.26672 +    },
72.26673 +
72.26674 +            onTriggerClick : function(){
72.26675 +        if(this.disabled){
72.26676 +            return;
72.26677 +        }
72.26678 +        if(this.menu == null){
72.26679 +            this.menu = new Ext.menu.DateMenu();
72.26680 +        }
72.26681 +        Ext.apply(this.menu.picker,  {
72.26682 +            minDate : this.minValue,
72.26683 +            maxDate : this.maxValue,
72.26684 +            disabledDatesRE : this.ddMatch,
72.26685 +            disabledDatesText : this.disabledDatesText,
72.26686 +            disabledDays : this.disabledDays,
72.26687 +            disabledDaysText : this.disabledDaysText,
72.26688 +            format : this.format,
72.26689 +            minText : String.format(this.minText, this.formatDate(this.minValue)),
72.26690 +            maxText : String.format(this.maxText, this.formatDate(this.maxValue))
72.26691 +        });
72.26692 +        this.menu.on(Ext.apply({}, this.menuListeners, {
72.26693 +            scope:this
72.26694 +        }));
72.26695 +        this.menu.picker.setValue(this.getValue() || new Date());
72.26696 +        this.menu.show(this.el, "tl-bl?");
72.26697 +    },
72.26698 +
72.26699 +    beforeBlur : function(){
72.26700 +        var v = this.parseDate(this.getRawValue());
72.26701 +        if(v){
72.26702 +            this.setValue(v);
72.26703 +        }
72.26704 +    }
72.26705 +
72.26706 +    
72.26707 +    
72.26708 +    
72.26709 +    
72.26710 +});
72.26711 +Ext.reg('datefield', Ext.form.DateField);
72.26712 +
72.26713 +Ext.form.ComboBox = Ext.extend(Ext.form.TriggerField, {
72.26714 +    
72.26715 +    
72.26716 +    
72.26717 +    
72.26718 +    
72.26719 +
72.26720 +        defaultAutoCreate : {tag: "input", type: "text", size: "24", autocomplete: "off"},
72.26721 +    
72.26722 +    
72.26723 +    
72.26724 +    
72.26725 +    
72.26726 +    
72.26727 +    listClass: '',
72.26728 +    
72.26729 +    selectedClass: 'x-combo-selected',
72.26730 +    
72.26731 +    triggerClass : 'x-form-arrow-trigger',
72.26732 +    
72.26733 +    shadow:'sides',
72.26734 +    
72.26735 +    listAlign: 'tl-bl?',
72.26736 +    
72.26737 +    maxHeight: 300,
72.26738 +    
72.26739 +    minHeight: 90,
72.26740 +    
72.26741 +    triggerAction: 'query',
72.26742 +    
72.26743 +    minChars : 4,
72.26744 +    
72.26745 +    typeAhead: false,
72.26746 +    
72.26747 +    queryDelay: 500,
72.26748 +    
72.26749 +    pageSize: 0,
72.26750 +    
72.26751 +    selectOnFocus:false,
72.26752 +    
72.26753 +    queryParam: 'query',
72.26754 +    
72.26755 +    loadingText: 'Loading...',
72.26756 +    
72.26757 +    resizable: false,
72.26758 +    
72.26759 +    handleHeight : 8,
72.26760 +    
72.26761 +    editable: true,
72.26762 +    
72.26763 +    allQuery: '',
72.26764 +    
72.26765 +    mode: 'remote',
72.26766 +    
72.26767 +    minListWidth : 70,
72.26768 +    
72.26769 +    forceSelection:false,
72.26770 +    
72.26771 +    typeAheadDelay : 250,
72.26772 +    
72.26773 +
72.26774 +    
72.26775 +    lazyInit : true,
72.26776 +
72.26777 +    initComponent : function(){
72.26778 +        Ext.form.ComboBox.superclass.initComponent.call(this);
72.26779 +        this.addEvents(
72.26780 +            
72.26781 +            'expand',
72.26782 +            
72.26783 +            'collapse',
72.26784 +            
72.26785 +            'beforeselect',
72.26786 +            
72.26787 +            'select',
72.26788 +            
72.26789 +            'beforequery'
72.26790 +        );
72.26791 +        if(this.transform){
72.26792 +            this.allowDomMove = false;
72.26793 +            var s = Ext.getDom(this.transform);
72.26794 +            if(!this.hiddenName){
72.26795 +                this.hiddenName = s.name;
72.26796 +            }
72.26797 +            if(!this.store){
72.26798 +                this.mode = 'local';
72.26799 +                var d = [], opts = s.options;
72.26800 +                for(var i = 0, len = opts.length;i < len; i++){
72.26801 +                    var o = opts[i];
72.26802 +                    var value = (Ext.isIE ? o.getAttributeNode('value').specified : o.hasAttribute('value')) ? o.value : o.text;
72.26803 +                    if(o.selected) {
72.26804 +                        this.value = value;
72.26805 +                    }
72.26806 +                    d.push([value, o.text]);
72.26807 +                }
72.26808 +                this.store = new Ext.data.SimpleStore({
72.26809 +                    'id': 0,
72.26810 +                    fields: ['value', 'text'],
72.26811 +                    data : d
72.26812 +                });
72.26813 +                this.valueField = 'value';
72.26814 +                this.displayField = 'text';
72.26815 +            }
72.26816 +            s.name = Ext.id();             if(!this.lazyRender){
72.26817 +                this.target = true;
72.26818 +                this.el = Ext.DomHelper.insertBefore(s, this.autoCreate || this.defaultAutoCreate);
72.26819 +                Ext.removeNode(s);                 this.render(this.el.parentNode);
72.26820 +            }else{
72.26821 +                Ext.removeNode(s);             }
72.26822 +        }
72.26823 +                else if(Ext.isArray(this.store)){
72.26824 +			if (Ext.isArray(this.store[0])){
72.26825 +				this.store = new Ext.data.SimpleStore({
72.26826 +				    fields: ['value','text'],
72.26827 +				    data: this.store
72.26828 +				});
72.26829 +		        this.valueField = 'value';
72.26830 +			}else{
72.26831 +				this.store = new Ext.data.SimpleStore({
72.26832 +				    fields: ['text'],
72.26833 +				    data: this.store,
72.26834 +				    expandData: true
72.26835 +				});
72.26836 +		        this.valueField = 'text';
72.26837 +			}
72.26838 +			this.displayField = 'text';
72.26839 +			this.mode = 'local';
72.26840 +		}
72.26841 +		
72.26842 +        this.selectedIndex = -1;
72.26843 +        if(this.mode == 'local'){
72.26844 +            if(this.initialConfig.queryDelay === undefined){
72.26845 +                this.queryDelay = 10;
72.26846 +            }
72.26847 +            if(this.initialConfig.minChars === undefined){
72.26848 +                this.minChars = 0;
72.26849 +            }
72.26850 +        }
72.26851 +    },
72.26852 +
72.26853 +        onRender : function(ct, position){
72.26854 +        Ext.form.ComboBox.superclass.onRender.call(this, ct, position);
72.26855 +        if(this.hiddenName){
72.26856 +            this.hiddenField = this.el.insertSibling({tag:'input', type:'hidden', name: this.hiddenName, id: (this.hiddenId||this.hiddenName)},
72.26857 +                    'before', true);
72.26858 +            this.hiddenField.value =
72.26859 +                this.hiddenValue !== undefined ? this.hiddenValue :
72.26860 +                this.value !== undefined ? this.value : '';
72.26861 +
72.26862 +                        this.el.dom.removeAttribute('name');
72.26863 +        }
72.26864 +        if(Ext.isGecko){
72.26865 +            this.el.dom.setAttribute('autocomplete', 'off');
72.26866 +        }
72.26867 +
72.26868 +        if(!this.lazyInit){
72.26869 +            this.initList();
72.26870 +        }else{
72.26871 +            this.on('focus', this.initList, this, {single: true});
72.26872 +        }
72.26873 +
72.26874 +        if(!this.editable){
72.26875 +            this.editable = true;
72.26876 +            this.setEditable(false);
72.26877 +        }
72.26878 +    },
72.26879 +
72.26880 +    initList : function(){
72.26881 +        if(!this.list){
72.26882 +            var cls = 'x-combo-list';
72.26883 +
72.26884 +            this.list = new Ext.Layer({
72.26885 +                shadow: this.shadow, cls: [cls, this.listClass].join(' '), constrain:false
72.26886 +            });
72.26887 +
72.26888 +            var lw = this.listWidth || Math.max(this.wrap.getWidth(), this.minListWidth);
72.26889 +            this.list.setWidth(lw);
72.26890 +            this.list.swallowEvent('mousewheel');
72.26891 +            this.assetHeight = 0;
72.26892 +
72.26893 +            if(this.title){
72.26894 +                this.header = this.list.createChild({cls:cls+'-hd', html: this.title});
72.26895 +                this.assetHeight += this.header.getHeight();
72.26896 +            }
72.26897 +
72.26898 +            this.innerList = this.list.createChild({cls:cls+'-inner'});
72.26899 +            this.innerList.on('mouseover', this.onViewOver, this);
72.26900 +            this.innerList.on('mousemove', this.onViewMove, this);
72.26901 +            this.innerList.setWidth(lw - this.list.getFrameWidth('lr'));
72.26902 +
72.26903 +            if(this.pageSize){
72.26904 +                this.footer = this.list.createChild({cls:cls+'-ft'});
72.26905 +                this.pageTb = new Ext.PagingToolbar({
72.26906 +                    store:this.store,
72.26907 +                    pageSize: this.pageSize,
72.26908 +                    renderTo:this.footer
72.26909 +                });
72.26910 +                this.assetHeight += this.footer.getHeight();
72.26911 +            }
72.26912 +
72.26913 +            if(!this.tpl){
72.26914 +                
72.26915 +                this.tpl = '<tpl for="."><div class="'+cls+'-item">{' + this.displayField + '}</div></tpl>';
72.26916 +                
72.26917 +            }
72.26918 +
72.26919 +            
72.26920 +            this.view = new Ext.DataView({
72.26921 +                applyTo: this.innerList,
72.26922 +                tpl: this.tpl,
72.26923 +                singleSelect: true,
72.26924 +                selectedClass: this.selectedClass,
72.26925 +                itemSelector: this.itemSelector || '.' + cls + '-item'
72.26926 +            });
72.26927 +
72.26928 +            this.view.on('click', this.onViewClick, this);
72.26929 +
72.26930 +            this.bindStore(this.store, true);
72.26931 +
72.26932 +            if(this.resizable){
72.26933 +                this.resizer = new Ext.Resizable(this.list,  {
72.26934 +                   pinned:true, handles:'se'
72.26935 +                });
72.26936 +                this.resizer.on('resize', function(r, w, h){
72.26937 +                    this.maxHeight = h-this.handleHeight-this.list.getFrameWidth('tb')-this.assetHeight;
72.26938 +                    this.listWidth = w;
72.26939 +                    this.innerList.setWidth(w - this.list.getFrameWidth('lr'));
72.26940 +                    this.restrictHeight();
72.26941 +                }, this);
72.26942 +                this[this.pageSize?'footer':'innerList'].setStyle('margin-bottom', this.handleHeight+'px');
72.26943 +            }
72.26944 +        }
72.26945 +    },
72.26946 +
72.26947 +
72.26948 +        bindStore : function(store, initial){
72.26949 +        if(this.store && !initial){
72.26950 +            this.store.un('beforeload', this.onBeforeLoad, this);
72.26951 +            this.store.un('load', this.onLoad, this);
72.26952 +            this.store.un('loadexception', this.collapse, this);
72.26953 +            if(!store){
72.26954 +                this.store = null;
72.26955 +                if(this.view){
72.26956 +                    this.view.setStore(null);
72.26957 +                }
72.26958 +            }
72.26959 +        }
72.26960 +        if(store){
72.26961 +            this.store = Ext.StoreMgr.lookup(store);
72.26962 +
72.26963 +            this.store.on('beforeload', this.onBeforeLoad, this);
72.26964 +            this.store.on('load', this.onLoad, this);
72.26965 +            this.store.on('loadexception', this.collapse, this);
72.26966 +
72.26967 +            if(this.view){
72.26968 +                this.view.setStore(store);
72.26969 +            }
72.26970 +        }
72.26971 +    },
72.26972 +
72.26973 +        initEvents : function(){
72.26974 +        Ext.form.ComboBox.superclass.initEvents.call(this);
72.26975 +
72.26976 +        this.keyNav = new Ext.KeyNav(this.el, {
72.26977 +            "up" : function(e){
72.26978 +                this.inKeyMode = true;
72.26979 +                this.selectPrev();
72.26980 +            },
72.26981 +
72.26982 +            "down" : function(e){
72.26983 +                if(!this.isExpanded()){
72.26984 +                    this.onTriggerClick();
72.26985 +                }else{
72.26986 +                    this.inKeyMode = true;
72.26987 +                    this.selectNext();
72.26988 +                }
72.26989 +            },
72.26990 +
72.26991 +            "enter" : function(e){
72.26992 +                this.onViewClick();
72.26993 +                this.delayedCheck = true;
72.26994 +                this.unsetDelayCheck.defer(10, this);
72.26995 +            },
72.26996 +
72.26997 +            "esc" : function(e){
72.26998 +                this.collapse();
72.26999 +            },
72.27000 +
72.27001 +            "tab" : function(e){
72.27002 +                this.onViewClick(false);
72.27003 +                return true;
72.27004 +            },
72.27005 +
72.27006 +            scope : this,
72.27007 +
72.27008 +            doRelay : function(foo, bar, hname){
72.27009 +                if(hname == 'down' || this.scope.isExpanded()){
72.27010 +                   return Ext.KeyNav.prototype.doRelay.apply(this, arguments);
72.27011 +                }
72.27012 +                return true;
72.27013 +            },
72.27014 +
72.27015 +            forceKeyDown : true
72.27016 +        });
72.27017 +        this.queryDelay = Math.max(this.queryDelay || 10,
72.27018 +                this.mode == 'local' ? 10 : 250);
72.27019 +        this.dqTask = new Ext.util.DelayedTask(this.initQuery, this);
72.27020 +        if(this.typeAhead){
72.27021 +            this.taTask = new Ext.util.DelayedTask(this.onTypeAhead, this);
72.27022 +        }
72.27023 +        if(this.editable !== false){
72.27024 +            this.el.on("keyup", this.onKeyUp, this);
72.27025 +        }
72.27026 +        if(this.forceSelection){
72.27027 +            this.on('blur', this.doForce, this);
72.27028 +        }
72.27029 +    },
72.27030 +
72.27031 +    onDestroy : function(){
72.27032 +        if(this.view){
72.27033 +            this.view.el.removeAllListeners();
72.27034 +            this.view.el.remove();
72.27035 +            this.view.purgeListeners();
72.27036 +        }
72.27037 +        if(this.list){
72.27038 +            this.list.destroy();
72.27039 +        }
72.27040 +        this.bindStore(null);
72.27041 +        Ext.form.ComboBox.superclass.onDestroy.call(this);
72.27042 +    },
72.27043 +
72.27044 +    unsetDelayCheck : function(){
72.27045 +        delete this.delayedCheck;
72.27046 +    },
72.27047 +        fireKey : function(e){
72.27048 +        if(e.isNavKeyPress() && !this.isExpanded() && !this.delayedCheck){
72.27049 +            this.fireEvent("specialkey", this, e);
72.27050 +        }
72.27051 +    },
72.27052 +
72.27053 +        onResize: function(w, h){
72.27054 +        Ext.form.ComboBox.superclass.onResize.apply(this, arguments);
72.27055 +        if(this.list && this.listWidth === undefined){
72.27056 +            var lw = Math.max(w, this.minListWidth);
72.27057 +            this.list.setWidth(lw);
72.27058 +            this.innerList.setWidth(lw - this.list.getFrameWidth('lr'));
72.27059 +        }
72.27060 +    },
72.27061 +
72.27062 +        onEnable: function(){
72.27063 +        Ext.form.ComboBox.superclass.onEnable.apply(this, arguments);
72.27064 +        if(this.hiddenField){
72.27065 +            this.hiddenField.disabled = false;
72.27066 +        }
72.27067 +    },
72.27068 +
72.27069 +        onDisable: function(){
72.27070 +        Ext.form.ComboBox.superclass.onDisable.apply(this, arguments);
72.27071 +        if(this.hiddenField){
72.27072 +            this.hiddenField.disabled = true;
72.27073 +        }
72.27074 +    },
72.27075 +
72.27076 +    
72.27077 +    setEditable : function(value){
72.27078 +        if(value == this.editable){
72.27079 +            return;
72.27080 +        }
72.27081 +        this.editable = value;
72.27082 +        if(!value){
72.27083 +            this.el.dom.setAttribute('readOnly', true);
72.27084 +            this.el.on('mousedown', this.onTriggerClick,  this);
72.27085 +            this.el.addClass('x-combo-noedit');
72.27086 +        }else{
72.27087 +            this.el.dom.setAttribute('readOnly', false);
72.27088 +            this.el.un('mousedown', this.onTriggerClick,  this);
72.27089 +            this.el.removeClass('x-combo-noedit');
72.27090 +        }
72.27091 +    },
72.27092 +
72.27093 +        onBeforeLoad : function(){
72.27094 +        if(!this.hasFocus){
72.27095 +            return;
72.27096 +        }
72.27097 +        this.innerList.update(this.loadingText ?
72.27098 +               '<div class="loading-indicator">'+this.loadingText+'</div>' : '');
72.27099 +        this.restrictHeight();
72.27100 +        this.selectedIndex = -1;
72.27101 +    },
72.27102 +
72.27103 +        onLoad : function(){
72.27104 +        if(!this.hasFocus){
72.27105 +            return;
72.27106 +        }
72.27107 +        if(this.store.getCount() > 0){
72.27108 +            this.expand();
72.27109 +            this.restrictHeight();
72.27110 +            if(this.lastQuery == this.allQuery){
72.27111 +                if(this.editable){
72.27112 +                    this.el.dom.select();
72.27113 +                }
72.27114 +                if(!this.selectByValue(this.value, true)){
72.27115 +                    this.select(0, true);
72.27116 +                }
72.27117 +            }else{
72.27118 +                this.selectNext();
72.27119 +                if(this.typeAhead && this.lastKey != Ext.EventObject.BACKSPACE && this.lastKey != Ext.EventObject.DELETE){
72.27120 +                    this.taTask.delay(this.typeAheadDelay);
72.27121 +                }
72.27122 +            }
72.27123 +        }else{
72.27124 +            this.onEmptyResults();
72.27125 +        }
72.27126 +            },
72.27127 +
72.27128 +        onTypeAhead : function(){
72.27129 +        if(this.store.getCount() > 0){
72.27130 +            var r = this.store.getAt(0);
72.27131 +            var newValue = r.data[this.displayField];
72.27132 +            var len = newValue.length;
72.27133 +            var selStart = this.getRawValue().length;
72.27134 +            if(selStart != len){
72.27135 +                this.setRawValue(newValue);
72.27136 +                this.selectText(selStart, newValue.length);
72.27137 +            }
72.27138 +        }
72.27139 +    },
72.27140 +
72.27141 +        onSelect : function(record, index){
72.27142 +        if(this.fireEvent('beforeselect', this, record, index) !== false){
72.27143 +            this.setValue(record.data[this.valueField || this.displayField]);
72.27144 +            this.collapse();
72.27145 +            this.fireEvent('select', this, record, index);
72.27146 +        }
72.27147 +    },
72.27148 +
72.27149 +    
72.27150 +    getValue : function(){
72.27151 +        if(this.valueField){
72.27152 +            return typeof this.value != 'undefined' ? this.value : '';
72.27153 +        }else{
72.27154 +            return Ext.form.ComboBox.superclass.getValue.call(this);
72.27155 +        }
72.27156 +    },
72.27157 +
72.27158 +    
72.27159 +    clearValue : function(){
72.27160 +        if(this.hiddenField){
72.27161 +            this.hiddenField.value = '';
72.27162 +        }
72.27163 +        this.setRawValue('');
72.27164 +        this.lastSelectionText = '';
72.27165 +        this.applyEmptyText();
72.27166 +        this.value = '';
72.27167 +    },
72.27168 +
72.27169 +    
72.27170 +    setValue : function(v){
72.27171 +        var text = v;
72.27172 +        if(this.valueField){
72.27173 +            var r = this.findRecord(this.valueField, v);
72.27174 +            if(r){
72.27175 +                text = r.data[this.displayField];
72.27176 +            }else if(this.valueNotFoundText !== undefined){
72.27177 +                text = this.valueNotFoundText;
72.27178 +            }
72.27179 +        }
72.27180 +        this.lastSelectionText = text;
72.27181 +        if(this.hiddenField){
72.27182 +            this.hiddenField.value = v;
72.27183 +        }
72.27184 +        Ext.form.ComboBox.superclass.setValue.call(this, text);
72.27185 +        this.value = v;
72.27186 +    },
72.27187 +
72.27188 +        findRecord : function(prop, value){
72.27189 +        var record;
72.27190 +        if(this.store.getCount() > 0){
72.27191 +            this.store.each(function(r){
72.27192 +                if(r.data[prop] == value){
72.27193 +                    record = r;
72.27194 +                    return false;
72.27195 +                }
72.27196 +            });
72.27197 +        }
72.27198 +        return record;
72.27199 +    },
72.27200 +
72.27201 +        onViewMove : function(e, t){
72.27202 +        this.inKeyMode = false;
72.27203 +    },
72.27204 +
72.27205 +        onViewOver : function(e, t){
72.27206 +        if(this.inKeyMode){             return;
72.27207 +        }
72.27208 +        var item = this.view.findItemFromChild(t);
72.27209 +        if(item){
72.27210 +            var index = this.view.indexOf(item);
72.27211 +            this.select(index, false);
72.27212 +        }
72.27213 +    },
72.27214 +
72.27215 +        onViewClick : function(doFocus){
72.27216 +        var index = this.view.getSelectedIndexes()[0];
72.27217 +        var r = this.store.getAt(index);
72.27218 +        if(r){
72.27219 +            this.onSelect(r, index);
72.27220 +        }
72.27221 +        if(doFocus !== false){
72.27222 +            this.el.focus();
72.27223 +        }
72.27224 +    },
72.27225 +
72.27226 +        restrictHeight : function(){
72.27227 +        this.innerList.dom.style.height = '';
72.27228 +        var inner = this.innerList.dom;
72.27229 +        var pad = this.list.getFrameWidth('tb')+(this.resizable?this.handleHeight:0)+this.assetHeight;
72.27230 +        var h = Math.max(inner.clientHeight, inner.offsetHeight, inner.scrollHeight);
72.27231 +        var ha = this.getPosition()[1]-Ext.getBody().getScroll().top;
72.27232 +        var hb = Ext.lib.Dom.getViewHeight()-ha-this.getSize().height;
72.27233 +        var space = Math.max(ha, hb, this.minHeight || 0)-this.list.shadowOffset-pad-5;
72.27234 +        h = Math.min(h, space, this.maxHeight);
72.27235 +        
72.27236 +        this.innerList.setHeight(h);
72.27237 +        this.list.beginUpdate();
72.27238 +        this.list.setHeight(h+pad);
72.27239 +        this.list.alignTo(this.wrap, this.listAlign);
72.27240 +        this.list.endUpdate();
72.27241 +    },
72.27242 +
72.27243 +        onEmptyResults : function(){
72.27244 +        this.collapse();
72.27245 +    },
72.27246 +
72.27247 +    
72.27248 +    isExpanded : function(){
72.27249 +        return this.list && this.list.isVisible();
72.27250 +    },
72.27251 +
72.27252 +    
72.27253 +    selectByValue : function(v, scrollIntoView){
72.27254 +        if(v !== undefined && v !== null){
72.27255 +            var r = this.findRecord(this.valueField || this.displayField, v);
72.27256 +            if(r){
72.27257 +                this.select(this.store.indexOf(r), scrollIntoView);
72.27258 +                return true;
72.27259 +            }
72.27260 +        }
72.27261 +        return false;
72.27262 +    },
72.27263 +
72.27264 +    
72.27265 +    select : function(index, scrollIntoView){
72.27266 +        this.selectedIndex = index;
72.27267 +        this.view.select(index);
72.27268 +        if(scrollIntoView !== false){
72.27269 +            var el = this.view.getNode(index);
72.27270 +            if(el){
72.27271 +                this.innerList.scrollChildIntoView(el, false);
72.27272 +            }
72.27273 +        }
72.27274 +    },
72.27275 +
72.27276 +        selectNext : function(){
72.27277 +        var ct = this.store.getCount();
72.27278 +        if(ct > 0){
72.27279 +            if(this.selectedIndex == -1){
72.27280 +                this.select(0);
72.27281 +            }else if(this.selectedIndex < ct-1){
72.27282 +                this.select(this.selectedIndex+1);
72.27283 +            }
72.27284 +        }
72.27285 +    },
72.27286 +
72.27287 +        selectPrev : function(){
72.27288 +        var ct = this.store.getCount();
72.27289 +        if(ct > 0){
72.27290 +            if(this.selectedIndex == -1){
72.27291 +                this.select(0);
72.27292 +            }else if(this.selectedIndex != 0){
72.27293 +                this.select(this.selectedIndex-1);
72.27294 +            }
72.27295 +        }
72.27296 +    },
72.27297 +
72.27298 +        onKeyUp : function(e){
72.27299 +        if(this.editable !== false && !e.isSpecialKey()){
72.27300 +            this.lastKey = e.getKey();
72.27301 +            this.dqTask.delay(this.queryDelay);
72.27302 +        }
72.27303 +    },
72.27304 +
72.27305 +        validateBlur : function(){
72.27306 +        return !this.list || !this.list.isVisible();
72.27307 +    },
72.27308 +
72.27309 +        initQuery : function(){
72.27310 +        this.doQuery(this.getRawValue());
72.27311 +    },
72.27312 +
72.27313 +        doForce : function(){
72.27314 +        if(this.el.dom.value.length > 0){
72.27315 +            this.el.dom.value =
72.27316 +                this.lastSelectionText === undefined ? '' : this.lastSelectionText;
72.27317 +            this.applyEmptyText();
72.27318 +        }
72.27319 +    },
72.27320 +
72.27321 +    
72.27322 +    doQuery : function(q, forceAll){
72.27323 +        if(q === undefined || q === null){
72.27324 +            q = '';
72.27325 +        }
72.27326 +        var qe = {
72.27327 +            query: q,
72.27328 +            forceAll: forceAll,
72.27329 +            combo: this,
72.27330 +            cancel:false
72.27331 +        };
72.27332 +        if(this.fireEvent('beforequery', qe)===false || qe.cancel){
72.27333 +            return false;
72.27334 +        }
72.27335 +        q = qe.query;
72.27336 +        forceAll = qe.forceAll;
72.27337 +        if(forceAll === true || (q.length >= this.minChars)){
72.27338 +            if(this.lastQuery !== q){
72.27339 +                this.lastQuery = q;
72.27340 +                if(this.mode == 'local'){
72.27341 +                    this.selectedIndex = -1;
72.27342 +                    if(forceAll){
72.27343 +                        this.store.clearFilter();
72.27344 +                    }else{
72.27345 +                        this.store.filter(this.displayField, q);
72.27346 +                    }
72.27347 +                    this.onLoad();
72.27348 +                }else{
72.27349 +                    this.store.baseParams[this.queryParam] = q;
72.27350 +                    this.store.load({
72.27351 +                        params: this.getParams(q)
72.27352 +                    });
72.27353 +                    this.expand();
72.27354 +                }
72.27355 +            }else{
72.27356 +                this.selectedIndex = -1;
72.27357 +                this.onLoad();
72.27358 +            }
72.27359 +        }
72.27360 +    },
72.27361 +
72.27362 +        getParams : function(q){
72.27363 +        var p = {};
72.27364 +                if(this.pageSize){
72.27365 +            p.start = 0;
72.27366 +            p.limit = this.pageSize;
72.27367 +        }
72.27368 +        return p;
72.27369 +    },
72.27370 +
72.27371 +    
72.27372 +    collapse : function(){
72.27373 +        if(!this.isExpanded()){
72.27374 +            return;
72.27375 +        }
72.27376 +        this.list.hide();
72.27377 +        Ext.getDoc().un('mousewheel', this.collapseIf, this);
72.27378 +        Ext.getDoc().un('mousedown', this.collapseIf, this);
72.27379 +        this.fireEvent('collapse', this);
72.27380 +    },
72.27381 +
72.27382 +        collapseIf : function(e){
72.27383 +        if(!e.within(this.wrap) && !e.within(this.list)){
72.27384 +            this.collapse();
72.27385 +        }
72.27386 +    },
72.27387 +
72.27388 +    
72.27389 +    expand : function(){
72.27390 +        if(this.isExpanded() || !this.hasFocus){
72.27391 +            return;
72.27392 +        }
72.27393 +        this.list.alignTo(this.wrap, this.listAlign);
72.27394 +        this.list.show();
72.27395 +        this.innerList.setOverflow('auto');         Ext.getDoc().on('mousewheel', this.collapseIf, this);
72.27396 +        Ext.getDoc().on('mousedown', this.collapseIf, this);
72.27397 +        this.fireEvent('expand', this);
72.27398 +    },
72.27399 +
72.27400 +            onTriggerClick : function(){
72.27401 +        if(this.disabled){
72.27402 +            return;
72.27403 +        }
72.27404 +        if(this.isExpanded()){
72.27405 +            this.collapse();
72.27406 +            this.el.focus();
72.27407 +        }else {
72.27408 +            this.onFocus({});
72.27409 +            if(this.triggerAction == 'all') {
72.27410 +                this.doQuery(this.allQuery, true);
72.27411 +            } else {
72.27412 +                this.doQuery(this.getRawValue());
72.27413 +            }
72.27414 +            this.el.focus();
72.27415 +        }
72.27416 +    }
72.27417 +
72.27418 +    
72.27419 +    
72.27420 +    
72.27421 +    
72.27422 +
72.27423 +});
72.27424 +Ext.reg('combo', Ext.form.ComboBox);
72.27425 +
72.27426 +Ext.form.Checkbox = Ext.extend(Ext.form.Field,  {
72.27427 +    
72.27428 +    focusClass : undefined,
72.27429 +    
72.27430 +    fieldClass: "x-form-field",
72.27431 +    
72.27432 +    checked: false,
72.27433 +    
72.27434 +    defaultAutoCreate : { tag: "input", type: 'checkbox', autocomplete: "off"},
72.27435 +    
72.27436 +    
72.27437 +
72.27438 +	    initComponent : function(){
72.27439 +        Ext.form.Checkbox.superclass.initComponent.call(this);
72.27440 +        this.addEvents(
72.27441 +            
72.27442 +            'check'
72.27443 +        );
72.27444 +    },
72.27445 +
72.27446 +        onResize : function(){
72.27447 +        Ext.form.Checkbox.superclass.onResize.apply(this, arguments);
72.27448 +        if(!this.boxLabel){
72.27449 +            this.el.alignTo(this.wrap, 'c-c');
72.27450 +        }
72.27451 +    },
72.27452 +    
72.27453 +        initEvents : function(){
72.27454 +        Ext.form.Checkbox.superclass.initEvents.call(this);
72.27455 +        this.el.on("click", this.onClick,  this);
72.27456 +        this.el.on("change", this.onClick,  this);
72.27457 +    },
72.27458 +
72.27459 +	    getResizeEl : function(){
72.27460 +        return this.wrap;
72.27461 +    },
72.27462 +
72.27463 +        getPositionEl : function(){
72.27464 +        return this.wrap;
72.27465 +    },
72.27466 +
72.27467 +    
72.27468 +    markInvalid : Ext.emptyFn,
72.27469 +    
72.27470 +    clearInvalid : Ext.emptyFn,
72.27471 +
72.27472 +        onRender : function(ct, position){
72.27473 +        Ext.form.Checkbox.superclass.onRender.call(this, ct, position);
72.27474 +        if(this.inputValue !== undefined){
72.27475 +            this.el.dom.value = this.inputValue;
72.27476 +        }
72.27477 +        this.wrap = this.el.wrap({cls: "x-form-check-wrap"});
72.27478 +        if(this.boxLabel){
72.27479 +            this.wrap.createChild({tag: 'label', htmlFor: this.el.id, cls: 'x-form-cb-label', html: this.boxLabel});
72.27480 +        }
72.27481 +        if(this.checked){
72.27482 +            this.setValue(true);
72.27483 +        }else{
72.27484 +            this.checked = this.el.dom.checked;
72.27485 +        }
72.27486 +    },
72.27487 +    
72.27488 +        onDestroy : function(){
72.27489 +        if(this.wrap){
72.27490 +            this.wrap.remove();
72.27491 +        }
72.27492 +        Ext.form.Checkbox.superclass.onDestroy.call(this);
72.27493 +    },
72.27494 +
72.27495 +        initValue : Ext.emptyFn,
72.27496 +
72.27497 +    
72.27498 +    getValue : function(){
72.27499 +        if(this.rendered){
72.27500 +            return this.el.dom.checked;
72.27501 +        }
72.27502 +        return false;
72.27503 +    },
72.27504 +
72.27505 +	    onClick : function(){
72.27506 +        if(this.el.dom.checked != this.checked){
72.27507 +            this.setValue(this.el.dom.checked);
72.27508 +        }
72.27509 +    },
72.27510 +
72.27511 +    
72.27512 +    setValue : function(v){
72.27513 +        this.checked = (v === true || v === 'true' || v == '1' || String(v).toLowerCase() == 'on');
72.27514 +        if(this.el && this.el.dom){
72.27515 +            this.el.dom.checked = this.checked;
72.27516 +            this.el.dom.defaultChecked = this.checked;
72.27517 +        }
72.27518 +        this.fireEvent("check", this, this.checked);
72.27519 +    }
72.27520 +});
72.27521 +Ext.reg('checkbox', Ext.form.Checkbox);
72.27522 +
72.27523 +Ext.form.Radio = Ext.extend(Ext.form.Checkbox, {
72.27524 +    inputType: 'radio',
72.27525 +
72.27526 +    
72.27527 +    markInvalid : Ext.emptyFn,
72.27528 +    
72.27529 +    clearInvalid : Ext.emptyFn,
72.27530 +
72.27531 +    
72.27532 +    getGroupValue : function(){
72.27533 +    	var p = this.el.up('form') || Ext.getBody();
72.27534 +        var c = p.child('input[name='+this.el.dom.name+']:checked', true);
72.27535 +        return c ? c.value : null;
72.27536 +    },
72.27537 +    
72.27538 +        onClick : function(){
72.27539 +    	if(this.el.dom.checked != this.checked){
72.27540 +    		var p = this.el.up('form') || Ext.getBody();
72.27541 +			var els = p.select('input[name='+this.el.dom.name+']');
72.27542 +			els.each(function(el){
72.27543 +				if(el.dom.id == this.id){
72.27544 +					this.setValue(true);
72.27545 +				}else{
72.27546 +					Ext.getCmp(el.dom.id).setValue(false);
72.27547 +				}
72.27548 +			}, this);
72.27549 +		}
72.27550 +    },
72.27551 +
72.27552 +    
72.27553 +    setValue : function(v){
72.27554 +    	if (typeof v == 'boolean') {
72.27555 +            Ext.form.Radio.superclass.setValue.call(this, v);
72.27556 +        } else {
72.27557 +            var r = this.el.up('form').child('input[name='+this.el.dom.name+'][value='+v+']', true);
72.27558 +            if (r){
72.27559 +                r.checked = true;
72.27560 +            };
72.27561 +        }
72.27562 +    }
72.27563 +});
72.27564 +Ext.reg('radio', Ext.form.Radio);
72.27565 +
72.27566 +Ext.form.Hidden = Ext.extend(Ext.form.Field, {
72.27567 +    
72.27568 +    inputType : 'hidden',
72.27569 +
72.27570 +    
72.27571 +    onRender : function(){
72.27572 +        Ext.form.Hidden.superclass.onRender.apply(this, arguments);
72.27573 +    },
72.27574 +
72.27575 +    
72.27576 +    initEvents : function(){
72.27577 +        this.originalValue = this.getValue();
72.27578 +    },
72.27579 +
72.27580 +    
72.27581 +    setSize : Ext.emptyFn,
72.27582 +    setWidth : Ext.emptyFn,
72.27583 +    setHeight : Ext.emptyFn,
72.27584 +    setPosition : Ext.emptyFn,
72.27585 +    setPagePosition : Ext.emptyFn,
72.27586 +    markInvalid : Ext.emptyFn,
72.27587 +    clearInvalid : Ext.emptyFn
72.27588 +});
72.27589 +Ext.reg('hidden', Ext.form.Hidden);
72.27590 +
72.27591 +Ext.form.BasicForm = function(el, config){
72.27592 +    Ext.apply(this, config);
72.27593 +    
72.27594 +    this.items = new Ext.util.MixedCollection(false, function(o){
72.27595 +        return o.id || (o.id = Ext.id());
72.27596 +    });
72.27597 +    this.addEvents(
72.27598 +        
72.27599 +        'beforeaction',
72.27600 +        
72.27601 +        'actionfailed',
72.27602 +        
72.27603 +        'actioncomplete'
72.27604 +    );
72.27605 +    
72.27606 +    if(el){
72.27607 +        this.initEl(el);
72.27608 +    }
72.27609 +    Ext.form.BasicForm.superclass.constructor.call(this);
72.27610 +};
72.27611 +
72.27612 +Ext.extend(Ext.form.BasicForm, Ext.util.Observable, {
72.27613 +    
72.27614 +    
72.27615 +    
72.27616 +    
72.27617 +    
72.27618 +    
72.27619 +    
72.27620 +    timeout: 30,
72.27621 +
72.27622 +        activeAction : null,
72.27623 +
72.27624 +    
72.27625 +    trackResetOnLoad : false,
72.27626 +
72.27627 +    
72.27628 +    
72.27629 +    
72.27630 +        initEl : function(el){
72.27631 +        this.el = Ext.get(el);
72.27632 +        this.id = this.el.id || Ext.id();
72.27633 +        if(!this.standardSubmit){
72.27634 +            this.el.on('submit', this.onSubmit, this);
72.27635 +        }
72.27636 +        this.el.addClass('x-form');
72.27637 +    },
72.27638 +
72.27639 +    
72.27640 +    getEl: function(){
72.27641 +        return this.el;
72.27642 +    },
72.27643 +
72.27644 +        onSubmit : function(e){
72.27645 +        e.stopEvent();
72.27646 +    },
72.27647 +    
72.27648 +    	destroy: function() {
72.27649 +        this.items.each(function(f){
72.27650 +            Ext.destroy(f);
72.27651 +        });
72.27652 +        if(this.el){
72.27653 +			this.el.removeAllListeners();
72.27654 +			this.el.remove();
72.27655 +        }
72.27656 +		this.purgeListeners();
72.27657 +	},
72.27658 +
72.27659 +    
72.27660 +    isValid : function(){
72.27661 +        var valid = true;
72.27662 +        this.items.each(function(f){
72.27663 +           if(!f.validate()){
72.27664 +               valid = false;
72.27665 +           }
72.27666 +        });
72.27667 +        return valid;
72.27668 +    },
72.27669 +
72.27670 +    
72.27671 +    isDirty : function(){
72.27672 +        var dirty = false;
72.27673 +        this.items.each(function(f){
72.27674 +           if(f.isDirty()){
72.27675 +               dirty = true;
72.27676 +               return false;
72.27677 +           }
72.27678 +        });
72.27679 +        return dirty;
72.27680 +    },
72.27681 +
72.27682 +    
72.27683 +    doAction : function(action, options){
72.27684 +        if(typeof action == 'string'){
72.27685 +            action = new Ext.form.Action.ACTION_TYPES[action](this, options);
72.27686 +        }
72.27687 +        if(this.fireEvent('beforeaction', this, action) !== false){
72.27688 +            this.beforeAction(action);
72.27689 +            action.run.defer(100, action);
72.27690 +        }
72.27691 +        return this;
72.27692 +    },
72.27693 +
72.27694 +    
72.27695 +    submit : function(options){
72.27696 +        if(this.standardSubmit){
72.27697 +            var v = this.isValid();
72.27698 +            if(v){
72.27699 +                this.el.dom.submit();
72.27700 +            }
72.27701 +            return v;
72.27702 +        }
72.27703 +        this.doAction('submit', options);
72.27704 +        return this;
72.27705 +    },
72.27706 +
72.27707 +    
72.27708 +    load : function(options){
72.27709 +        this.doAction('load', options);
72.27710 +        return this;
72.27711 +    },
72.27712 +
72.27713 +    
72.27714 +    updateRecord : function(record){
72.27715 +        record.beginEdit();
72.27716 +        var fs = record.fields;
72.27717 +        fs.each(function(f){
72.27718 +            var field = this.findField(f.name);
72.27719 +            if(field){
72.27720 +                record.set(f.name, field.getValue());
72.27721 +            }
72.27722 +        }, this);
72.27723 +        record.endEdit();
72.27724 +        return this;
72.27725 +    },
72.27726 +
72.27727 +    
72.27728 +    loadRecord : function(record){
72.27729 +        this.setValues(record.data);
72.27730 +        return this;
72.27731 +    },
72.27732 +
72.27733 +        beforeAction : function(action){
72.27734 +        var o = action.options;
72.27735 +        if(o.waitMsg){
72.27736 +            if(this.waitMsgTarget === true){
72.27737 +                this.el.mask(o.waitMsg, 'x-mask-loading');
72.27738 +            }else if(this.waitMsgTarget){
72.27739 +                this.waitMsgTarget = Ext.get(this.waitMsgTarget);
72.27740 +                this.waitMsgTarget.mask(o.waitMsg, 'x-mask-loading');
72.27741 +            }else{
72.27742 +                Ext.MessageBox.wait(o.waitMsg, o.waitTitle || this.waitTitle || 'Please Wait...');
72.27743 +            }
72.27744 +        }
72.27745 +    },
72.27746 +
72.27747 +        afterAction : function(action, success){
72.27748 +        this.activeAction = null;
72.27749 +        var o = action.options;
72.27750 +        if(o.waitMsg){
72.27751 +            if(this.waitMsgTarget === true){
72.27752 +                this.el.unmask();
72.27753 +            }else if(this.waitMsgTarget){
72.27754 +                this.waitMsgTarget.unmask();
72.27755 +            }else{
72.27756 +                Ext.MessageBox.updateProgress(1);
72.27757 +                Ext.MessageBox.hide();
72.27758 +            }
72.27759 +        }
72.27760 +        if(success){
72.27761 +            if(o.reset){
72.27762 +                this.reset();
72.27763 +            }
72.27764 +            Ext.callback(o.success, o.scope, [this, action]);
72.27765 +            this.fireEvent('actioncomplete', this, action);
72.27766 +        }else{
72.27767 +            Ext.callback(o.failure, o.scope, [this, action]);
72.27768 +            this.fireEvent('actionfailed', this, action);
72.27769 +        }
72.27770 +    },
72.27771 +
72.27772 +    
72.27773 +    findField : function(id){
72.27774 +        var field = this.items.get(id);
72.27775 +        if(!field){
72.27776 +            this.items.each(function(f){
72.27777 +                if(f.isFormField && (f.dataIndex == id || f.id == id || f.getName() == id)){
72.27778 +                    field = f;
72.27779 +                    return false;
72.27780 +                }
72.27781 +            });
72.27782 +        }
72.27783 +        return field || null;
72.27784 +    },
72.27785 +
72.27786 +
72.27787 +    
72.27788 +    markInvalid : function(errors){
72.27789 +        if(Ext.isArray(errors)){
72.27790 +            for(var i = 0, len = errors.length; i < len; i++){
72.27791 +                var fieldError = errors[i];
72.27792 +                var f = this.findField(fieldError.id);
72.27793 +                if(f){
72.27794 +                    f.markInvalid(fieldError.msg);
72.27795 +                }
72.27796 +            }
72.27797 +        }else{
72.27798 +            var field, id;
72.27799 +            for(id in errors){
72.27800 +                if(typeof errors[id] != 'function' && (field = this.findField(id))){
72.27801 +                    field.markInvalid(errors[id]);
72.27802 +                }
72.27803 +            }
72.27804 +        }
72.27805 +        return this;
72.27806 +    },
72.27807 +
72.27808 +    
72.27809 +    setValues : function(values){
72.27810 +        if(Ext.isArray(values)){             for(var i = 0, len = values.length; i < len; i++){
72.27811 +                var v = values[i];
72.27812 +                var f = this.findField(v.id);
72.27813 +                if(f){
72.27814 +                    f.setValue(v.value);
72.27815 +                    if(this.trackResetOnLoad){
72.27816 +                        f.originalValue = f.getValue();
72.27817 +                    }
72.27818 +                }
72.27819 +            }
72.27820 +        }else{             var field, id;
72.27821 +            for(id in values){
72.27822 +                if(typeof values[id] != 'function' && (field = this.findField(id))){
72.27823 +                    field.setValue(values[id]);
72.27824 +                    if(this.trackResetOnLoad){
72.27825 +                        field.originalValue = field.getValue();
72.27826 +                    }
72.27827 +                }
72.27828 +            }
72.27829 +        }
72.27830 +        return this;
72.27831 +    },
72.27832 +
72.27833 +    
72.27834 +    getValues : function(asString){
72.27835 +        var fs = Ext.lib.Ajax.serializeForm(this.el.dom);
72.27836 +        if(asString === true){
72.27837 +            return fs;
72.27838 +        }
72.27839 +        return Ext.urlDecode(fs);
72.27840 +    },
72.27841 +
72.27842 +    
72.27843 +    clearInvalid : function(){
72.27844 +        this.items.each(function(f){
72.27845 +           f.clearInvalid();
72.27846 +        });
72.27847 +        return this;
72.27848 +    },
72.27849 +
72.27850 +    
72.27851 +    reset : function(){
72.27852 +        this.items.each(function(f){
72.27853 +            f.reset();
72.27854 +        });
72.27855 +        return this;
72.27856 +    },
72.27857 +
72.27858 +    
72.27859 +    add : function(){
72.27860 +        this.items.addAll(Array.prototype.slice.call(arguments, 0));
72.27861 +        return this;
72.27862 +    },
72.27863 +
72.27864 +
72.27865 +    
72.27866 +    remove : function(field){
72.27867 +        this.items.remove(field);
72.27868 +        return this;
72.27869 +    },
72.27870 +
72.27871 +    
72.27872 +    render : function(){
72.27873 +        this.items.each(function(f){
72.27874 +            if(f.isFormField && !f.rendered && document.getElementById(f.id)){                 f.applyToMarkup(f.id);
72.27875 +            }
72.27876 +        });
72.27877 +        return this;
72.27878 +    },
72.27879 +
72.27880 +    
72.27881 +    applyToFields : function(o){
72.27882 +        this.items.each(function(f){
72.27883 +           Ext.apply(f, o);
72.27884 +        });
72.27885 +        return this;
72.27886 +    },
72.27887 +
72.27888 +    
72.27889 +    applyIfToFields : function(o){
72.27890 +        this.items.each(function(f){
72.27891 +           Ext.applyIf(f, o);
72.27892 +        });
72.27893 +        return this;
72.27894 +    }
72.27895 +});
72.27896 +
72.27897 +Ext.BasicForm = Ext.form.BasicForm;
72.27898 +
72.27899 +Ext.FormPanel = Ext.extend(Ext.Panel, {
72.27900 +	
72.27901 +    
72.27902 +    
72.27903 +    
72.27904 +    buttonAlign:'center',
72.27905 +
72.27906 +    
72.27907 +    minButtonWidth:75,
72.27908 +
72.27909 +    
72.27910 +    labelAlign:'left',
72.27911 +
72.27912 +    
72.27913 +    monitorValid : false,
72.27914 +
72.27915 +    
72.27916 +    monitorPoll : 200,
72.27917 +
72.27918 +    
72.27919 +    layout: 'form',
72.27920 +
72.27921 +        initComponent :function(){
72.27922 +        this.form = this.createForm();
72.27923 +        
72.27924 +        Ext.FormPanel.superclass.initComponent.call(this);
72.27925 +
72.27926 +        this.addEvents(
72.27927 +            
72.27928 +            'clientvalidation'
72.27929 +        );
72.27930 +
72.27931 +        this.relayEvents(this.form, ['beforeaction', 'actionfailed', 'actioncomplete']);
72.27932 +    },
72.27933 +
72.27934 +        createForm: function(){
72.27935 +        delete this.initialConfig.listeners;
72.27936 +        return new Ext.form.BasicForm(null, this.initialConfig);
72.27937 +    },
72.27938 +
72.27939 +        initFields : function(){
72.27940 +        var f = this.form;
72.27941 +        var formPanel = this;
72.27942 +        var fn = function(c){
72.27943 +            if(c.doLayout && c != formPanel){
72.27944 +                Ext.applyIf(c, {
72.27945 +                    labelAlign: c.ownerCt.labelAlign,
72.27946 +                    labelWidth: c.ownerCt.labelWidth,
72.27947 +                    itemCls: c.ownerCt.itemCls
72.27948 +                });
72.27949 +                if(c.items){
72.27950 +                    c.items.each(fn);
72.27951 +                }
72.27952 +            }else if(c.isFormField){
72.27953 +                f.add(c);
72.27954 +            }
72.27955 +        }
72.27956 +        this.items.each(fn);
72.27957 +    },
72.27958 +
72.27959 +        getLayoutTarget : function(){
72.27960 +        return this.form.el;
72.27961 +    },
72.27962 +
72.27963 +    
72.27964 +    getForm : function(){
72.27965 +        return this.form;
72.27966 +    },
72.27967 +
72.27968 +        onRender : function(ct, position){
72.27969 +        this.initFields();
72.27970 +
72.27971 +        Ext.FormPanel.superclass.onRender.call(this, ct, position);
72.27972 +        var o = {
72.27973 +            tag: 'form',
72.27974 +            method : this.method || 'POST',
72.27975 +            id : this.formId || Ext.id()
72.27976 +        };
72.27977 +        if(this.fileUpload) {
72.27978 +            o.enctype = 'multipart/form-data';
72.27979 +        }
72.27980 +        this.form.initEl(this.body.createChild(o));
72.27981 +    },
72.27982 +    
72.27983 +        beforeDestroy: function(){
72.27984 +        Ext.FormPanel.superclass.beforeDestroy.call(this);
72.27985 +        Ext.destroy(this.form);
72.27986 +    },
72.27987 +
72.27988 +        initEvents : function(){
72.27989 +        Ext.FormPanel.superclass.initEvents.call(this);
72.27990 +		this.items.on('remove', this.onRemove, this);
72.27991 +		this.items.on('add', this.onAdd, this);
72.27992 +        if(this.monitorValid){             this.startMonitoring();
72.27993 +        }
72.27994 +    },
72.27995 +    
72.27996 +    	onAdd : function(ct, c) {
72.27997 +		if (c.isFormField) {
72.27998 +			this.form.add(c);
72.27999 +		}
72.28000 +	},
72.28001 +	
72.28002 +		onRemove : function(c) {
72.28003 +		if (c.isFormField) {
72.28004 +			Ext.destroy(c.container.up('.x-form-item'));
72.28005 +			this.form.remove(c);
72.28006 +		}
72.28007 +	},
72.28008 +
72.28009 +    
72.28010 +    startMonitoring : function(){
72.28011 +        if(!this.bound){
72.28012 +            this.bound = true;
72.28013 +            Ext.TaskMgr.start({
72.28014 +                run : this.bindHandler,
72.28015 +                interval : this.monitorPoll || 200,
72.28016 +                scope: this
72.28017 +            });
72.28018 +        }
72.28019 +    },
72.28020 +
72.28021 +    
72.28022 +    stopMonitoring : function(){
72.28023 +        this.bound = false;
72.28024 +    },
72.28025 +
72.28026 +    
72.28027 +    load : function(){
72.28028 +        this.form.load.apply(this.form, arguments);  
72.28029 +    },
72.28030 +
72.28031 +        onDisable : function(){
72.28032 +        Ext.FormPanel.superclass.onDisable.call(this);
72.28033 +        if(this.form){
72.28034 +            this.form.items.each(function(){
72.28035 +                 this.disable();
72.28036 +            });
72.28037 +        }
72.28038 +    },
72.28039 +
72.28040 +        onEnable : function(){
72.28041 +        Ext.FormPanel.superclass.onEnable.call(this);
72.28042 +        if(this.form){
72.28043 +            this.form.items.each(function(){
72.28044 +                 this.enable();
72.28045 +            });
72.28046 +        }
72.28047 +    },
72.28048 +
72.28049 +        bindHandler : function(){
72.28050 +        if(!this.bound){
72.28051 +            return false;         }
72.28052 +        var valid = true;
72.28053 +        this.form.items.each(function(f){
72.28054 +            if(!f.isValid(true)){
72.28055 +                valid = false;
72.28056 +                return false;
72.28057 +            }
72.28058 +        });
72.28059 +        if(this.buttons){
72.28060 +            for(var i = 0, len = this.buttons.length; i < len; i++){
72.28061 +                var btn = this.buttons[i];
72.28062 +                if(btn.formBind === true && btn.disabled === valid){
72.28063 +                    btn.setDisabled(!valid);
72.28064 +                }
72.28065 +            }
72.28066 +        }
72.28067 +        this.fireEvent('clientvalidation', this, valid);
72.28068 +    }
72.28069 +});
72.28070 +Ext.reg('form', Ext.FormPanel);
72.28071 +
72.28072 +Ext.form.FormPanel = Ext.FormPanel;
72.28073 +
72.28074 +
72.28075 +
72.28076 +Ext.form.FieldSet = Ext.extend(Ext.Panel, {
72.28077 +    
72.28078 +    
72.28079 +    
72.28080 +    
72.28081 +    
72.28082 +    baseCls:'x-fieldset',
72.28083 +    
72.28084 +    layout: 'form',
72.28085 +
72.28086 +    
72.28087 +    onRender : function(ct, position){
72.28088 +        if(!this.el){
72.28089 +            this.el = document.createElement('fieldset');
72.28090 +            this.el.id = this.id;
72.28091 +            if (this.title || this.header || this.checkboxToggle) {
72.28092 +                this.el.appendChild(document.createElement('legend')).className = 'x-fieldset-header';
72.28093 +            }
72.28094 +        }
72.28095 +
72.28096 +        Ext.form.FieldSet.superclass.onRender.call(this, ct, position);
72.28097 +
72.28098 +        if(this.checkboxToggle){
72.28099 +            var o = typeof this.checkboxToggle == 'object' ?
72.28100 +                    this.checkboxToggle :
72.28101 +                    {tag: 'input', type: 'checkbox', name: this.checkboxName || this.id+'-checkbox'};
72.28102 +            this.checkbox = this.header.insertFirst(o);
72.28103 +            this.checkbox.dom.checked = !this.collapsed;
72.28104 +            this.checkbox.on('click', this.onCheckClick, this);
72.28105 +        }
72.28106 +    },
72.28107 +
72.28108 +    
72.28109 +    onCollapse : function(doAnim, animArg){
72.28110 +        if(this.checkbox){
72.28111 +            this.checkbox.dom.checked = false;
72.28112 +        }
72.28113 +        this.afterCollapse();
72.28114 +
72.28115 +    },
72.28116 +
72.28117 +    
72.28118 +    onExpand : function(doAnim, animArg){
72.28119 +        if(this.checkbox){
72.28120 +            this.checkbox.dom.checked = true;
72.28121 +        }
72.28122 +        this.afterExpand();
72.28123 +    },
72.28124 +
72.28125 +    
72.28126 +    onCheckClick : function(){
72.28127 +        this[this.checkbox.dom.checked ? 'expand' : 'collapse']();
72.28128 +    }
72.28129 +
72.28130 +    
72.28131 +    
72.28132 +    
72.28133 +    
72.28134 +    
72.28135 +    
72.28136 +    
72.28137 +    
72.28138 +    
72.28139 +    
72.28140 +    
72.28141 +    
72.28142 +    
72.28143 +    
72.28144 +    
72.28145 +    
72.28146 +    
72.28147 +    
72.28148 +    
72.28149 +    
72.28150 +    
72.28151 +    
72.28152 +    
72.28153 +    
72.28154 +    
72.28155 +    
72.28156 +    
72.28157 +    
72.28158 +    
72.28159 +    
72.28160 +    
72.28161 +    
72.28162 +    
72.28163 +    
72.28164 +    
72.28165 +    
72.28166 +    
72.28167 +});
72.28168 +Ext.reg('fieldset', Ext.form.FieldSet);
72.28169 +
72.28170 +
72.28171 +
72.28172 +
72.28173 +Ext.form.HtmlEditor = Ext.extend(Ext.form.Field, {
72.28174 +    
72.28175 +    enableFormat : true,
72.28176 +    
72.28177 +    enableFontSize : true,
72.28178 +    
72.28179 +    enableColors : true,
72.28180 +    
72.28181 +    enableAlignments : true,
72.28182 +    
72.28183 +    enableLists : true,
72.28184 +    
72.28185 +    enableSourceEdit : true,
72.28186 +    
72.28187 +    enableLinks : true,
72.28188 +    
72.28189 +    enableFont : true,
72.28190 +    
72.28191 +    createLinkText : 'Please enter the URL for the link:',
72.28192 +    
72.28193 +    defaultLinkValue : 'http:/'+'/',
72.28194 +    
72.28195 +    fontFamilies : [
72.28196 +        'Arial',
72.28197 +        'Courier New',
72.28198 +        'Tahoma',
72.28199 +        'Times New Roman',
72.28200 +        'Verdana'
72.28201 +    ],
72.28202 +    defaultFont: 'tahoma',
72.28203 +
72.28204 +    
72.28205 +    validationEvent : false,
72.28206 +    deferHeight: true,
72.28207 +    initialized : false,
72.28208 +    activated : false,
72.28209 +    sourceEditMode : false,
72.28210 +    onFocus : Ext.emptyFn,
72.28211 +    iframePad:3,
72.28212 +    hideMode:'offsets',
72.28213 +    defaultAutoCreate : {
72.28214 +        tag: "textarea",
72.28215 +        style:"width:500px;height:300px;",
72.28216 +        autocomplete: "off"
72.28217 +    },
72.28218 +
72.28219 +    
72.28220 +    initComponent : function(){
72.28221 +        this.addEvents(
72.28222 +            
72.28223 +            'initialize',
72.28224 +            
72.28225 +            'activate',
72.28226 +             
72.28227 +            'beforesync',
72.28228 +             
72.28229 +            'beforepush',
72.28230 +             
72.28231 +            'sync',
72.28232 +             
72.28233 +            'push',
72.28234 +             
72.28235 +            'editmodechange'
72.28236 +        )
72.28237 +    },
72.28238 +
72.28239 +    
72.28240 +    createFontOptions : function(){
72.28241 +        var buf = [], fs = this.fontFamilies, ff, lc;
72.28242 +        for(var i = 0, len = fs.length; i< len; i++){
72.28243 +            ff = fs[i];
72.28244 +            lc = ff.toLowerCase();
72.28245 +            buf.push(
72.28246 +                '<option value="',lc,'" style="font-family:',ff,';"',
72.28247 +                    (this.defaultFont == lc ? ' selected="true">' : '>'),
72.28248 +                    ff,
72.28249 +                '</option>'
72.28250 +            );
72.28251 +        }
72.28252 +        return buf.join('');
72.28253 +    },
72.28254 +    
72.28255 +    
72.28256 +    createToolbar : function(editor){
72.28257 +        
72.28258 +        var tipsEnabled = Ext.QuickTips && Ext.QuickTips.isEnabled();
72.28259 +        
72.28260 +        function btn(id, toggle, handler){
72.28261 +            return {
72.28262 +                itemId : id,
72.28263 +                cls : 'x-btn-icon x-edit-'+id,
72.28264 +                enableToggle:toggle !== false,
72.28265 +                scope: editor,
72.28266 +                handler:handler||editor.relayBtnCmd,
72.28267 +                clickEvent:'mousedown',
72.28268 +                tooltip: tipsEnabled ? editor.buttonTips[id] || undefined : undefined,
72.28269 +                tabIndex:-1
72.28270 +            };
72.28271 +        }
72.28272 +
72.28273 +        
72.28274 +        var tb = new Ext.Toolbar({
72.28275 +            renderTo:this.wrap.dom.firstChild
72.28276 +        });
72.28277 +
72.28278 +        
72.28279 +        tb.el.on('click', function(e){
72.28280 +            e.preventDefault();
72.28281 +        });
72.28282 +
72.28283 +        if(this.enableFont && !Ext.isSafari){
72.28284 +            this.fontSelect = tb.el.createChild({
72.28285 +                tag:'select',
72.28286 +                cls:'x-font-select',
72.28287 +                html: this.createFontOptions()
72.28288 +            });
72.28289 +            this.fontSelect.on('change', function(){
72.28290 +                var font = this.fontSelect.dom.value;
72.28291 +                this.relayCmd('fontname', font);
72.28292 +                this.deferFocus();
72.28293 +            }, this);
72.28294 +            tb.add(
72.28295 +                this.fontSelect.dom,
72.28296 +                '-'
72.28297 +            );
72.28298 +        };
72.28299 +
72.28300 +        if(this.enableFormat){
72.28301 +            tb.add(
72.28302 +                btn('bold'),
72.28303 +                btn('italic'),
72.28304 +                btn('underline')
72.28305 +            );
72.28306 +        };
72.28307 +
72.28308 +        if(this.enableFontSize){
72.28309 +            tb.add(
72.28310 +                '-',
72.28311 +                btn('increasefontsize', false, this.adjustFont),
72.28312 +                btn('decreasefontsize', false, this.adjustFont)
72.28313 +            );
72.28314 +        };
72.28315 +
72.28316 +        if(this.enableColors){
72.28317 +            tb.add(
72.28318 +                '-', {
72.28319 +                    itemId:'forecolor',
72.28320 +                    cls:'x-btn-icon x-edit-forecolor',
72.28321 +                    clickEvent:'mousedown',
72.28322 +                    tooltip: tipsEnabled ? editor.buttonTips['forecolor'] || undefined : undefined,
72.28323 +                    tabIndex:-1,
72.28324 +                    menu : new Ext.menu.ColorMenu({
72.28325 +                        allowReselect: true,
72.28326 +                        focus: Ext.emptyFn,
72.28327 +                        value:'000000',
72.28328 +                        plain:true,
72.28329 +                        selectHandler: function(cp, color){
72.28330 +                            this.execCmd('forecolor', Ext.isSafari || Ext.isIE ? '#'+color : color);
72.28331 +                            this.deferFocus();
72.28332 +                        },
72.28333 +                        scope: this,
72.28334 +                        clickEvent:'mousedown'
72.28335 +                    })
72.28336 +                }, {
72.28337 +                    itemId:'backcolor',
72.28338 +                    cls:'x-btn-icon x-edit-backcolor',
72.28339 +                    clickEvent:'mousedown',
72.28340 +                    tooltip: tipsEnabled ? editor.buttonTips['backcolor'] || undefined : undefined,
72.28341 +                    tabIndex:-1,
72.28342 +                    menu : new Ext.menu.ColorMenu({
72.28343 +                        focus: Ext.emptyFn,
72.28344 +                        value:'FFFFFF',
72.28345 +                        plain:true,
72.28346 +                        allowReselect: true,
72.28347 +                        selectHandler: function(cp, color){
72.28348 +                            if(Ext.isGecko){
72.28349 +                                this.execCmd('useCSS', false);
72.28350 +                                this.execCmd('hilitecolor', color);
72.28351 +                                this.execCmd('useCSS', true);
72.28352 +                                this.deferFocus();
72.28353 +                            }else{
72.28354 +                                this.execCmd(Ext.isOpera ? 'hilitecolor' : 'backcolor', Ext.isSafari || Ext.isIE ? '#'+color : color);
72.28355 +                                this.deferFocus();
72.28356 +                            }
72.28357 +                        },
72.28358 +                        scope:this,
72.28359 +                        clickEvent:'mousedown'
72.28360 +                    })
72.28361 +                }
72.28362 +            );
72.28363 +        };
72.28364 +
72.28365 +        if(this.enableAlignments){
72.28366 +            tb.add(
72.28367 +                '-',
72.28368 +                btn('justifyleft'),
72.28369 +                btn('justifycenter'),
72.28370 +                btn('justifyright')
72.28371 +            );
72.28372 +        };
72.28373 +
72.28374 +        if(!Ext.isSafari){
72.28375 +            if(this.enableLinks){
72.28376 +                tb.add(
72.28377 +                    '-',
72.28378 +                    btn('createlink', false, this.createLink)
72.28379 +                );
72.28380 +            };
72.28381 +
72.28382 +            if(this.enableLists){
72.28383 +                tb.add(
72.28384 +                    '-',
72.28385 +                    btn('insertorderedlist'),
72.28386 +                    btn('insertunorderedlist')
72.28387 +                );
72.28388 +            }
72.28389 +            if(this.enableSourceEdit){
72.28390 +                tb.add(
72.28391 +                    '-',
72.28392 +                    btn('sourceedit', true, function(btn){
72.28393 +                        this.toggleSourceEdit(btn.pressed);
72.28394 +                    })
72.28395 +                );
72.28396 +            }
72.28397 +        }
72.28398 +
72.28399 +        this.tb = tb;
72.28400 +    },
72.28401 +
72.28402 +    
72.28403 +    getDocMarkup : function(){
72.28404 +        return '<html><head><style type="text/css">body{border:0;margin:0;padding:3px;height:98%;cursor:text;}</style></head><body></body></html>';
72.28405 +    },
72.28406 +
72.28407 +    
72.28408 +    getEditorBody : function(){
72.28409 +        return this.doc.body || this.doc.documentElement;
72.28410 +    },
72.28411 +
72.28412 +    
72.28413 +    onRender : function(ct, position){
72.28414 +        Ext.form.HtmlEditor.superclass.onRender.call(this, ct, position);
72.28415 +        this.el.dom.style.border = '0 none';
72.28416 +        this.el.dom.setAttribute('tabIndex', -1);
72.28417 +        this.el.addClass('x-hidden');
72.28418 +        if(Ext.isIE){ 
72.28419 +            this.el.applyStyles('margin-top:-1px;margin-bottom:-1px;')
72.28420 +        }
72.28421 +        this.wrap = this.el.wrap({
72.28422 +            cls:'x-html-editor-wrap', cn:{cls:'x-html-editor-tb'}
72.28423 +        });
72.28424 +
72.28425 +        this.createToolbar(this);
72.28426 +
72.28427 +        this.tb.items.each(function(item){
72.28428 +           if(item.itemId != 'sourceedit'){
72.28429 +                item.disable();
72.28430 +            }
72.28431 +        });
72.28432 +
72.28433 +        var iframe = document.createElement('iframe');
72.28434 +        iframe.name = Ext.id();
72.28435 +        iframe.frameBorder = 'no';
72.28436 +
72.28437 +        iframe.src=(Ext.SSL_SECURE_URL || "javascript:false");
72.28438 +
72.28439 +        this.wrap.dom.appendChild(iframe);
72.28440 +
72.28441 +        this.iframe = iframe;
72.28442 +
72.28443 +        if(Ext.isIE){
72.28444 +            iframe.contentWindow.document.designMode = 'on';
72.28445 +            this.doc = iframe.contentWindow.document;
72.28446 +            this.win = iframe.contentWindow;
72.28447 +        } else {
72.28448 +            this.doc = (iframe.contentDocument || window.frames[iframe.name].document);
72.28449 +            this.win = window.frames[iframe.name];
72.28450 +            this.doc.designMode = 'on';
72.28451 +        }
72.28452 +        this.doc.open();
72.28453 +        this.doc.write(this.getDocMarkup())
72.28454 +        this.doc.close();
72.28455 +
72.28456 +        var task = { 
72.28457 +            run : function(){
72.28458 +                if(this.doc.body || this.doc.readyState == 'complete'){
72.28459 +                    Ext.TaskMgr.stop(task);
72.28460 +                    this.doc.designMode="on";
72.28461 +                    this.initEditor.defer(10, this);
72.28462 +                }
72.28463 +            },
72.28464 +            interval : 10,
72.28465 +            duration:10000,
72.28466 +            scope: this
72.28467 +        };
72.28468 +        Ext.TaskMgr.start(task);
72.28469 +
72.28470 +        if(!this.width){
72.28471 +            this.setSize(this.el.getSize());
72.28472 +        }
72.28473 +    },
72.28474 +
72.28475 +    
72.28476 +    onResize : function(w, h){
72.28477 +        Ext.form.HtmlEditor.superclass.onResize.apply(this, arguments);
72.28478 +        if(this.el && this.iframe){
72.28479 +            if(typeof w == 'number'){
72.28480 +                var aw = w - this.wrap.getFrameWidth('lr');
72.28481 +                this.el.setWidth(this.adjustWidth('textarea', aw));
72.28482 +                this.iframe.style.width = aw + 'px';
72.28483 +            }
72.28484 +            if(typeof h == 'number'){
72.28485 +                var ah = h - this.wrap.getFrameWidth('tb') - this.tb.el.getHeight();
72.28486 +                this.el.setHeight(this.adjustWidth('textarea', ah));
72.28487 +                this.iframe.style.height = ah + 'px';
72.28488 +                if(this.doc){
72.28489 +                    this.getEditorBody().style.height = (ah - (this.iframePad*2)) + 'px';
72.28490 +                }
72.28491 +            }
72.28492 +        }
72.28493 +    },
72.28494 +
72.28495 +    
72.28496 +    toggleSourceEdit : function(sourceEditMode){
72.28497 +        if(sourceEditMode === undefined){
72.28498 +            sourceEditMode = !this.sourceEditMode;
72.28499 +        }
72.28500 +        this.sourceEditMode = sourceEditMode === true;
72.28501 +        var btn = this.tb.items.get('sourceedit');
72.28502 +        if(btn.pressed !== this.sourceEditMode){
72.28503 +            btn.toggle(this.sourceEditMode);
72.28504 +            return;
72.28505 +        }
72.28506 +        if(this.sourceEditMode){
72.28507 +            this.tb.items.each(function(item){
72.28508 +                if(item.itemId != 'sourceedit'){
72.28509 +                    item.disable();
72.28510 +                }
72.28511 +            });
72.28512 +            this.syncValue();
72.28513 +            this.iframe.className = 'x-hidden';
72.28514 +            this.el.removeClass('x-hidden');
72.28515 +            this.el.dom.removeAttribute('tabIndex');
72.28516 +            this.el.focus();
72.28517 +        }else{
72.28518 +            if(this.initialized){
72.28519 +                this.tb.items.each(function(item){
72.28520 +                    item.enable();
72.28521 +                });
72.28522 +            }
72.28523 +            this.pushValue();
72.28524 +            this.iframe.className = '';
72.28525 +            this.el.addClass('x-hidden');
72.28526 +            this.el.dom.setAttribute('tabIndex', -1);
72.28527 +            this.deferFocus();
72.28528 +        }
72.28529 +        var lastSize = this.lastSize;
72.28530 +        if(lastSize){
72.28531 +            delete this.lastSize;
72.28532 +            this.setSize(lastSize);
72.28533 +        }
72.28534 +        this.fireEvent('editmodechange', this, this.sourceEditMode);
72.28535 +    },
72.28536 +
72.28537 +    
72.28538 +    createLink : function(){
72.28539 +        var url = prompt(this.createLinkText, this.defaultLinkValue);
72.28540 +        if(url && url != 'http:/'+'/'){
72.28541 +            this.relayCmd('createlink', url);
72.28542 +        }
72.28543 +    },
72.28544 +
72.28545 +    
72.28546 +    adjustSize : Ext.BoxComponent.prototype.adjustSize,
72.28547 +
72.28548 +    
72.28549 +    getResizeEl : function(){
72.28550 +        return this.wrap;
72.28551 +    },
72.28552 +
72.28553 +    
72.28554 +    getPositionEl : function(){
72.28555 +        return this.wrap;
72.28556 +    },
72.28557 +
72.28558 +    
72.28559 +    initEvents : function(){
72.28560 +        this.originalValue = this.getValue();
72.28561 +    },
72.28562 +
72.28563 +    
72.28564 +    markInvalid : Ext.emptyFn,
72.28565 +    
72.28566 +    
72.28567 +    clearInvalid : Ext.emptyFn,
72.28568 +
72.28569 +    
72.28570 +    setValue : function(v){
72.28571 +        Ext.form.HtmlEditor.superclass.setValue.call(this, v);
72.28572 +        this.pushValue();
72.28573 +    },
72.28574 +
72.28575 +    
72.28576 +    cleanHtml : function(html){
72.28577 +        html = String(html);
72.28578 +        if(html.length > 5){
72.28579 +            if(Ext.isSafari){ 
72.28580 +                html = html.replace(/\sclass="(?:Apple-style-span|khtml-block-placeholder)"/gi, '');
72.28581 +            }
72.28582 +        }
72.28583 +        if(html == '&nbsp;'){
72.28584 +            html = '';
72.28585 +        }
72.28586 +        return html;
72.28587 +    },
72.28588 +
72.28589 +    
72.28590 +    syncValue : function(){
72.28591 +        if(this.initialized){
72.28592 +            var bd = this.getEditorBody();
72.28593 +            var html = bd.innerHTML;
72.28594 +            if(Ext.isSafari){
72.28595 +                var bs = bd.getAttribute('style'); 
72.28596 +                var m = bs.match(/text-align:(.*?);/i);
72.28597 +                if(m && m[1]){
72.28598 +                    html = '<div style="'+m[0]+'">' + html + '</div>';
72.28599 +                }
72.28600 +            }
72.28601 +            html = this.cleanHtml(html);
72.28602 +            if(this.fireEvent('beforesync', this, html) !== false){
72.28603 +                this.el.dom.value = html;
72.28604 +                this.fireEvent('sync', this, html);
72.28605 +            }
72.28606 +        }
72.28607 +    },
72.28608 +
72.28609 +    
72.28610 +    pushValue : function(){
72.28611 +        if(this.initialized){
72.28612 +            var v = this.el.dom.value;
72.28613 +            if(!this.activated && v.length < 1){
72.28614 +                v = '&nbsp;';
72.28615 +            }
72.28616 +            if(this.fireEvent('beforepush', this, v) !== false){
72.28617 +                this.getEditorBody().innerHTML = v;
72.28618 +                this.fireEvent('push', this, v);
72.28619 +            }
72.28620 +        }
72.28621 +    },
72.28622 +
72.28623 +    
72.28624 +    deferFocus : function(){
72.28625 +        this.focus.defer(10, this);
72.28626 +    },
72.28627 +
72.28628 +    
72.28629 +    focus : function(){
72.28630 +        if(this.win && !this.sourceEditMode){
72.28631 +            this.win.focus();
72.28632 +        }else{
72.28633 +            this.el.focus();
72.28634 +        }
72.28635 +    },
72.28636 +
72.28637 +    
72.28638 +    initEditor : function(){
72.28639 +        var dbody = this.getEditorBody();
72.28640 +        var ss = this.el.getStyles('font-size', 'font-family', 'background-image', 'background-repeat');
72.28641 +        ss['background-attachment'] = 'fixed'; 
72.28642 +        dbody.bgProperties = 'fixed'; 
72.28643 +        Ext.DomHelper.applyStyles(dbody, ss);
72.28644 +        Ext.EventManager.on(this.doc, {
72.28645 +            'mousedown': this.onEditorEvent,
72.28646 +            'dblclick': this.onEditorEvent,
72.28647 +            'click': this.onEditorEvent,
72.28648 +            'keyup': this.onEditorEvent,
72.28649 +            buffer:100,
72.28650 +            scope: this
72.28651 +        });
72.28652 +        if(Ext.isGecko){
72.28653 +            Ext.EventManager.on(this.doc, 'keypress', this.applyCommand, this);
72.28654 +        }
72.28655 +        if(Ext.isIE || Ext.isSafari || Ext.isOpera){
72.28656 +            Ext.EventManager.on(this.doc, 'keydown', this.fixKeys, this);
72.28657 +        }
72.28658 +        this.initialized = true;
72.28659 +
72.28660 +        this.fireEvent('initialize', this);
72.28661 +        this.pushValue();
72.28662 +    },
72.28663 +
72.28664 +    
72.28665 +    onDestroy : function(){
72.28666 +        if(this.rendered){
72.28667 +            this.tb.items.each(function(item){
72.28668 +                if(item.menu){
72.28669 +                    item.menu.removeAll();
72.28670 +                    if(item.menu.el){
72.28671 +                        item.menu.el.destroy();
72.28672 +                    }
72.28673 +                }
72.28674 +                item.destroy();
72.28675 +            });
72.28676 +            this.wrap.dom.innerHTML = '';
72.28677 +            this.wrap.remove();
72.28678 +        }
72.28679 +    },
72.28680 +
72.28681 +    
72.28682 +    onFirstFocus : function(){
72.28683 +        this.activated = true;
72.28684 +        this.tb.items.each(function(item){
72.28685 +           item.enable();
72.28686 +        });
72.28687 +        if(Ext.isGecko){ 
72.28688 +            this.win.focus();
72.28689 +            var s = this.win.getSelection();
72.28690 +            if(!s.focusNode || s.focusNode.nodeType != 3){
72.28691 +                var r = s.getRangeAt(0);
72.28692 +                r.selectNodeContents(this.getEditorBody());
72.28693 +                r.collapse(true);
72.28694 +                this.deferFocus();
72.28695 +            }
72.28696 +            try{
72.28697 +                this.execCmd('useCSS', true);
72.28698 +                this.execCmd('styleWithCSS', false);
72.28699 +            }catch(e){}
72.28700 +        }
72.28701 +        this.fireEvent('activate', this);
72.28702 +    },
72.28703 +
72.28704 +    
72.28705 +    adjustFont: function(btn){
72.28706 +        var adjust = btn.itemId == 'increasefontsize' ? 1 : -1;
72.28707 +
72.28708 +        var v = parseInt(this.doc.queryCommandValue('FontSize') || 2, 10);
72.28709 +        if(Ext.isSafari3 || Ext.isAir){
72.28710 +            
72.28711 +            
72.28712 +            if(v <= 10){
72.28713 +                v = 1 + adjust;
72.28714 +            }else if(v <= 13){
72.28715 +                v = 2 + adjust;
72.28716 +            }else if(v <= 16){
72.28717 +                v = 3 + adjust;
72.28718 +            }else if(v <= 18){
72.28719 +                v = 4 + adjust;
72.28720 +            }else if(v <= 24){
72.28721 +                v = 5 + adjust;
72.28722 +            }else {
72.28723 +                v = 6 + adjust;
72.28724 +            }
72.28725 +            v = v.constrain(1, 6);
72.28726 +        }else{
72.28727 +            if(Ext.isSafari){ 
72.28728 +                adjust *= 2;
72.28729 +            }
72.28730 +            v = Math.max(1, v+adjust) + (Ext.isSafari ? 'px' : 0);
72.28731 +        }
72.28732 +        this.execCmd('FontSize', v);
72.28733 +    },
72.28734 +
72.28735 +    
72.28736 +    onEditorEvent : function(e){
72.28737 +        this.updateToolbar();
72.28738 +    },
72.28739 +
72.28740 +
72.28741 +    
72.28742 +    updateToolbar: function(){
72.28743 +
72.28744 +        if(!this.activated){
72.28745 +            this.onFirstFocus();
72.28746 +            return;
72.28747 +        }
72.28748 +
72.28749 +        var btns = this.tb.items.map, doc = this.doc;
72.28750 +
72.28751 +        if(this.enableFont && !Ext.isSafari){
72.28752 +            var name = (this.doc.queryCommandValue('FontName')||this.defaultFont).toLowerCase();
72.28753 +            if(name != this.fontSelect.dom.value){
72.28754 +                this.fontSelect.dom.value = name;
72.28755 +            }
72.28756 +        }
72.28757 +        if(this.enableFormat){
72.28758 +            btns.bold.toggle(doc.queryCommandState('bold'));
72.28759 +            btns.italic.toggle(doc.queryCommandState('italic'));
72.28760 +            btns.underline.toggle(doc.queryCommandState('underline'));
72.28761 +        }
72.28762 +        if(this.enableAlignments){
72.28763 +            btns.justifyleft.toggle(doc.queryCommandState('justifyleft'));
72.28764 +            btns.justifycenter.toggle(doc.queryCommandState('justifycenter'));
72.28765 +            btns.justifyright.toggle(doc.queryCommandState('justifyright'));
72.28766 +        }
72.28767 +        if(!Ext.isSafari && this.enableLists){
72.28768 +            btns.insertorderedlist.toggle(doc.queryCommandState('insertorderedlist'));
72.28769 +            btns.insertunorderedlist.toggle(doc.queryCommandState('insertunorderedlist'));
72.28770 +        }
72.28771 +        
72.28772 +        Ext.menu.MenuMgr.hideAll();
72.28773 +
72.28774 +        this.syncValue();
72.28775 +    },
72.28776 +
72.28777 +    
72.28778 +    relayBtnCmd : function(btn){
72.28779 +        this.relayCmd(btn.itemId);
72.28780 +    },
72.28781 +
72.28782 +    
72.28783 +    relayCmd : function(cmd, value){
72.28784 +        this.win.focus();
72.28785 +        this.execCmd(cmd, value);
72.28786 +        this.updateToolbar();
72.28787 +        this.deferFocus();
72.28788 +    },
72.28789 +
72.28790 +    
72.28791 +    execCmd : function(cmd, value){
72.28792 +        this.doc.execCommand(cmd, false, value === undefined ? null : value);
72.28793 +        this.syncValue();
72.28794 +    },
72.28795 +
72.28796 +    
72.28797 +    applyCommand : function(e){
72.28798 +        if(e.ctrlKey){
72.28799 +            var c = e.getCharCode(), cmd;
72.28800 +            if(c > 0){
72.28801 +                c = String.fromCharCode(c);
72.28802 +                switch(c){
72.28803 +                    case 'b':
72.28804 +                        cmd = 'bold';
72.28805 +                    break;
72.28806 +                    case 'i':
72.28807 +                        cmd = 'italic';
72.28808 +                    break;
72.28809 +                    case 'u':
72.28810 +                        cmd = 'underline';
72.28811 +                    break;
72.28812 +                }
72.28813 +                if(cmd){
72.28814 +                    this.win.focus();
72.28815 +                    this.execCmd(cmd);
72.28816 +                    this.deferFocus();
72.28817 +                    e.preventDefault();
72.28818 +                }
72.28819 +            }
72.28820 +        }
72.28821 +    },
72.28822 +
72.28823 +    
72.28824 +    insertAtCursor : function(text){
72.28825 +        if(!this.activated){
72.28826 +            return;
72.28827 +        }
72.28828 +        if(Ext.isIE){
72.28829 +            this.win.focus();
72.28830 +            var r = this.doc.selection.createRange();
72.28831 +            if(r){
72.28832 +                r.collapse(true);
72.28833 +                r.pasteHTML(text);
72.28834 +                this.syncValue();
72.28835 +                this.deferFocus();
72.28836 +            }
72.28837 +        }else if(Ext.isGecko || Ext.isOpera){
72.28838 +            this.win.focus();
72.28839 +            this.execCmd('InsertHTML', text);
72.28840 +            this.deferFocus();
72.28841 +        }else if(Ext.isSafari){
72.28842 +            this.execCmd('InsertText', text);
72.28843 +            this.deferFocus();
72.28844 +        }
72.28845 +    },
72.28846 +
72.28847 +    
72.28848 +    fixKeys : function(){ 
72.28849 +        if(Ext.isIE){
72.28850 +            return function(e){
72.28851 +                var k = e.getKey(), r;
72.28852 +                if(k == e.TAB){
72.28853 +                    e.stopEvent();
72.28854 +                    r = this.doc.selection.createRange();
72.28855 +                    if(r){
72.28856 +                        r.collapse(true);
72.28857 +                        r.pasteHTML('&nbsp;&nbsp;&nbsp;&nbsp;');
72.28858 +                        this.deferFocus();
72.28859 +                    }
72.28860 +                }else if(k == e.ENTER){
72.28861 +                    r = this.doc.selection.createRange();
72.28862 +                    if(r){
72.28863 +                        var target = r.parentElement();
72.28864 +                        if(!target || target.tagName.toLowerCase() != 'li'){
72.28865 +                            e.stopEvent();
72.28866 +                            r.pasteHTML('<br />');
72.28867 +                            r.collapse(false);
72.28868 +                            r.select();
72.28869 +                        }
72.28870 +                    }
72.28871 +                }
72.28872 +            };
72.28873 +        }else if(Ext.isOpera){
72.28874 +            return function(e){
72.28875 +                var k = e.getKey();
72.28876 +                if(k == e.TAB){
72.28877 +                    e.stopEvent();
72.28878 +                    this.win.focus();
72.28879 +                    this.execCmd('InsertHTML','&nbsp;&nbsp;&nbsp;&nbsp;');
72.28880 +                    this.deferFocus();
72.28881 +                }
72.28882 +            };
72.28883 +        }else if(Ext.isSafari){
72.28884 +            return function(e){
72.28885 +                var k = e.getKey();
72.28886 +                if(k == e.TAB){
72.28887 +                    e.stopEvent();
72.28888 +                    this.execCmd('InsertText','\t');
72.28889 +                    this.deferFocus();
72.28890 +                }
72.28891 +             };
72.28892 +        }
72.28893 +    }(),
72.28894 +
72.28895 +    
72.28896 +    getToolbar : function(){
72.28897 +        return this.tb;
72.28898 +    },
72.28899 +
72.28900 +    
72.28901 +    buttonTips : {
72.28902 +        bold : {
72.28903 +            title: 'Bold (Ctrl+B)',
72.28904 +            text: 'Make the selected text bold.',
72.28905 +            cls: 'x-html-editor-tip'
72.28906 +        },
72.28907 +        italic : {
72.28908 +            title: 'Italic (Ctrl+I)',
72.28909 +            text: 'Make the selected text italic.',
72.28910 +            cls: 'x-html-editor-tip'
72.28911 +        },
72.28912 +        underline : {
72.28913 +            title: 'Underline (Ctrl+U)',
72.28914 +            text: 'Underline the selected text.',
72.28915 +            cls: 'x-html-editor-tip'
72.28916 +        },
72.28917 +        increasefontsize : {
72.28918 +            title: 'Grow Text',
72.28919 +            text: 'Increase the font size.',
72.28920 +            cls: 'x-html-editor-tip'
72.28921 +        },
72.28922 +        decreasefontsize : {
72.28923 +            title: 'Shrink Text',
72.28924 +            text: 'Decrease the font size.',
72.28925 +            cls: 'x-html-editor-tip'
72.28926 +        },
72.28927 +        backcolor : {
72.28928 +            title: 'Text Highlight Color',
72.28929 +            text: 'Change the background color of the selected text.',
72.28930 +            cls: 'x-html-editor-tip'
72.28931 +        },
72.28932 +        forecolor : {
72.28933 +            title: 'Font Color',
72.28934 +            text: 'Change the color of the selected text.',
72.28935 +            cls: 'x-html-editor-tip'
72.28936 +        },
72.28937 +        justifyleft : {
72.28938 +            title: 'Align Text Left',
72.28939 +            text: 'Align text to the left.',
72.28940 +            cls: 'x-html-editor-tip'
72.28941 +        },
72.28942 +        justifycenter : {
72.28943 +            title: 'Center Text',
72.28944 +            text: 'Center text in the editor.',
72.28945 +            cls: 'x-html-editor-tip'
72.28946 +        },
72.28947 +        justifyright : {
72.28948 +            title: 'Align Text Right',
72.28949 +            text: 'Align text to the right.',
72.28950 +            cls: 'x-html-editor-tip'
72.28951 +        },
72.28952 +        insertunorderedlist : {
72.28953 +            title: 'Bullet List',
72.28954 +            text: 'Start a bulleted list.',
72.28955 +            cls: 'x-html-editor-tip'
72.28956 +        },
72.28957 +        insertorderedlist : {
72.28958 +            title: 'Numbered List',
72.28959 +            text: 'Start a numbered list.',
72.28960 +            cls: 'x-html-editor-tip'
72.28961 +        },
72.28962 +        createlink : {
72.28963 +            title: 'Hyperlink',
72.28964 +            text: 'Make the selected text a hyperlink.',
72.28965 +            cls: 'x-html-editor-tip'
72.28966 +        },
72.28967 +        sourceedit : {
72.28968 +            title: 'Source Edit',
72.28969 +            text: 'Switch to source editing mode.',
72.28970 +            cls: 'x-html-editor-tip'
72.28971 +        }
72.28972 +    }
72.28973 +
72.28974 +    
72.28975 +    
72.28976 +    
72.28977 +    
72.28978 +    
72.28979 +    
72.28980 +    
72.28981 +    
72.28982 +    
72.28983 +    
72.28984 +    
72.28985 +    
72.28986 +    
72.28987 +    
72.28988 +    
72.28989 +    
72.28990 +    
72.28991 +    
72.28992 +    
72.28993 +    
72.28994 +    
72.28995 +    
72.28996 +    
72.28997 +    
72.28998 +    
72.28999 +    
72.29000 +    
72.29001 +    
72.29002 +    
72.29003 +    
72.29004 +    
72.29005 +    
72.29006 +    
72.29007 +    
72.29008 +});
72.29009 +Ext.reg('htmleditor', Ext.form.HtmlEditor);
72.29010 +
72.29011 +Ext.form.TimeField = Ext.extend(Ext.form.ComboBox, {
72.29012 +    
72.29013 +    minValue : null,
72.29014 +    
72.29015 +    maxValue : null,
72.29016 +    
72.29017 +    minText : "The time in this field must be equal to or after {0}",
72.29018 +    
72.29019 +    maxText : "The time in this field must be equal to or before {0}",
72.29020 +    
72.29021 +    invalidText : "{0} is not a valid time",
72.29022 +    
72.29023 +    format : "g:i A",
72.29024 +    
72.29025 +    altFormats : "g:ia|g:iA|g:i a|g:i A|h:i|g:i|H:i|ga|ha|gA|h a|g a|g A|gi|hi|gia|hia|g|H",
72.29026 +    
72.29027 +    increment: 15,
72.29028 +
72.29029 +    
72.29030 +    mode: 'local',
72.29031 +    
72.29032 +    triggerAction: 'all',
72.29033 +    
72.29034 +    typeAhead: false,
72.29035 +
72.29036 +    
72.29037 +    initComponent : function(){
72.29038 +        Ext.form.TimeField.superclass.initComponent.call(this);
72.29039 +
72.29040 +        if(typeof this.minValue == "string"){
72.29041 +            this.minValue = this.parseDate(this.minValue);
72.29042 +        }
72.29043 +        if(typeof this.maxValue == "string"){
72.29044 +            this.maxValue = this.parseDate(this.maxValue);
72.29045 +        }
72.29046 +
72.29047 +        if(!this.store){
72.29048 +            var min = this.parseDate(this.minValue);
72.29049 +            if(!min){
72.29050 +                min = new Date().clearTime();
72.29051 +            }
72.29052 +            var max = this.parseDate(this.maxValue);
72.29053 +            if(!max){
72.29054 +                max = new Date().clearTime().add('mi', (24 * 60) - 1);
72.29055 +            }
72.29056 +            var times = [];
72.29057 +            while(min <= max){
72.29058 +                times.push([min.dateFormat(this.format)]);
72.29059 +                min = min.add('mi', this.increment);
72.29060 +            }
72.29061 +            this.store = new Ext.data.SimpleStore({
72.29062 +                fields: ['text'],
72.29063 +                data : times
72.29064 +            });
72.29065 +            this.displayField = 'text';
72.29066 +        }
72.29067 +    },
72.29068 +
72.29069 +    
72.29070 +    getValue : function(){
72.29071 +        var v = Ext.form.TimeField.superclass.getValue.call(this);
72.29072 +        return this.formatDate(this.parseDate(v)) || '';
72.29073 +    },
72.29074 +
72.29075 +    
72.29076 +    setValue : function(value){
72.29077 +        Ext.form.TimeField.superclass.setValue.call(this, this.formatDate(this.parseDate(value)));
72.29078 +    },
72.29079 +
72.29080 +    
72.29081 +    validateValue : Ext.form.DateField.prototype.validateValue,
72.29082 +    parseDate : Ext.form.DateField.prototype.parseDate,
72.29083 +    formatDate : Ext.form.DateField.prototype.formatDate,
72.29084 +
72.29085 +    
72.29086 +    beforeBlur : function(){
72.29087 +        var v = this.parseDate(this.getRawValue());
72.29088 +        if(v){
72.29089 +            this.setValue(v.dateFormat(this.format));
72.29090 +        }
72.29091 +    }
72.29092 +
72.29093 +    
72.29094 +    
72.29095 +    
72.29096 +    
72.29097 +});
72.29098 +Ext.reg('timefield', Ext.form.TimeField);
72.29099 +
72.29100 +Ext.form.Label = Ext.extend(Ext.BoxComponent, {
72.29101 +    
72.29102 +    
72.29103 +
72.29104 +    onRender : function(ct, position){
72.29105 +        if(!this.el){
72.29106 +            this.el = document.createElement('label');
72.29107 +            this.el.id = this.getId();
72.29108 +            this.el.innerHTML = this.text ? Ext.util.Format.htmlEncode(this.text) : (this.html || '');
72.29109 +            if(this.forId){
72.29110 +                this.el.setAttribute('htmlFor', this.forId);
72.29111 +            }
72.29112 +        }
72.29113 +        Ext.form.Label.superclass.onRender.call(this, ct, position);
72.29114 +    }
72.29115 +});
72.29116 +
72.29117 +Ext.reg('label', Ext.form.Label);
72.29118 +
72.29119 +Ext.form.Action = function(form, options){
72.29120 +    this.form = form;
72.29121 +    this.options = options || {};
72.29122 +};
72.29123 +
72.29124 +
72.29125 +Ext.form.Action.CLIENT_INVALID = 'client';
72.29126 +
72.29127 +Ext.form.Action.SERVER_INVALID = 'server';
72.29128 +
72.29129 +Ext.form.Action.CONNECT_FAILURE = 'connect';
72.29130 +
72.29131 +Ext.form.Action.LOAD_FAILURE = 'load';
72.29132 +
72.29133 +Ext.form.Action.prototype = {
72.29134 +
72.29135 +
72.29136 +
72.29137 +
72.29138 +
72.29139 +
72.29140 +
72.29141 +
72.29142 +
72.29143 +
72.29144 +
72.29145 +    type : 'default',
72.29146 +
72.29147 +
72.29148 +        run : function(options){
72.29149 +
72.29150 +    },
72.29151 +
72.29152 +        success : function(response){
72.29153 +
72.29154 +    },
72.29155 +
72.29156 +        handleResponse : function(response){
72.29157 +
72.29158 +    },
72.29159 +
72.29160 +        failure : function(response){
72.29161 +        this.response = response;
72.29162 +        this.failureType = Ext.form.Action.CONNECT_FAILURE;
72.29163 +        this.form.afterAction(this, false);
72.29164 +    },
72.29165 +
72.29166 +        processResponse : function(response){
72.29167 +        this.response = response;
72.29168 +        if(!response.responseText){
72.29169 +            return true;
72.29170 +        }
72.29171 +        this.result = this.handleResponse(response);
72.29172 +        return this.result;
72.29173 +    },
72.29174 +
72.29175 +        getUrl : function(appendParams){
72.29176 +        var url = this.options.url || this.form.url || this.form.el.dom.action;
72.29177 +        if(appendParams){
72.29178 +            var p = this.getParams();
72.29179 +            if(p){
72.29180 +                url += (url.indexOf('?') != -1 ? '&' : '?') + p;
72.29181 +            }
72.29182 +        }
72.29183 +        return url;
72.29184 +    },
72.29185 +
72.29186 +        getMethod : function(){
72.29187 +        return (this.options.method || this.form.method || this.form.el.dom.method || 'POST').toUpperCase();
72.29188 +    },
72.29189 +
72.29190 +        getParams : function(){
72.29191 +        var bp = this.form.baseParams;
72.29192 +        var p = this.options.params;
72.29193 +        if(p){
72.29194 +            if(typeof p == "object"){
72.29195 +                p = Ext.urlEncode(Ext.applyIf(p, bp));
72.29196 +            }else if(typeof p == 'string' && bp){
72.29197 +                p += '&' + Ext.urlEncode(bp);
72.29198 +            }
72.29199 +        }else if(bp){
72.29200 +            p = Ext.urlEncode(bp);
72.29201 +        }
72.29202 +        return p;
72.29203 +    },
72.29204 +
72.29205 +        createCallback : function(opts){
72.29206 +		var opts = opts || {};
72.29207 +        return {
72.29208 +            success: this.success,
72.29209 +            failure: this.failure,
72.29210 +            scope: this,
72.29211 +            timeout: (opts.timeout*1000) || (this.form.timeout*1000),
72.29212 +            upload: this.form.fileUpload ? this.success : undefined
72.29213 +        };
72.29214 +    }
72.29215 +};
72.29216 +
72.29217 +
72.29218 +Ext.form.Action.Submit = function(form, options){
72.29219 +    Ext.form.Action.Submit.superclass.constructor.call(this, form, options);
72.29220 +};
72.29221 +
72.29222 +Ext.extend(Ext.form.Action.Submit, Ext.form.Action, {
72.29223 +    
72.29224 +    type : 'submit',
72.29225 +
72.29226 +        run : function(){
72.29227 +        var o = this.options;
72.29228 +        var method = this.getMethod();
72.29229 +        var isGet = method == 'GET';
72.29230 +        if(o.clientValidation === false || this.form.isValid()){
72.29231 +            Ext.Ajax.request(Ext.apply(this.createCallback(o), {
72.29232 +                form:this.form.el.dom,
72.29233 +                url:this.getUrl(isGet),
72.29234 +                method: method,
72.29235 +                headers: o.headers,
72.29236 +                params:!isGet ? this.getParams() : null,
72.29237 +                isUpload: this.form.fileUpload
72.29238 +            }));
72.29239 +        }else if (o.clientValidation !== false){             this.failureType = Ext.form.Action.CLIENT_INVALID;
72.29240 +            this.form.afterAction(this, false);
72.29241 +        }
72.29242 +    },
72.29243 +
72.29244 +        success : function(response){
72.29245 +        var result = this.processResponse(response);
72.29246 +        if(result === true || result.success){
72.29247 +            this.form.afterAction(this, true);
72.29248 +            return;
72.29249 +        }
72.29250 +        if(result.errors){
72.29251 +            this.form.markInvalid(result.errors);
72.29252 +            this.failureType = Ext.form.Action.SERVER_INVALID;
72.29253 +        }
72.29254 +        this.form.afterAction(this, false);
72.29255 +    },
72.29256 +
72.29257 +        handleResponse : function(response){
72.29258 +        if(this.form.errorReader){
72.29259 +            var rs = this.form.errorReader.read(response);
72.29260 +            var errors = [];
72.29261 +            if(rs.records){
72.29262 +                for(var i = 0, len = rs.records.length; i < len; i++) {
72.29263 +                    var r = rs.records[i];
72.29264 +                    errors[i] = r.data;
72.29265 +                }
72.29266 +            }
72.29267 +            if(errors.length < 1){
72.29268 +                errors = null;
72.29269 +            }
72.29270 +            return {
72.29271 +                success : rs.success,
72.29272 +                errors : errors
72.29273 +            };
72.29274 +        }
72.29275 +        return Ext.decode(response.responseText);
72.29276 +    }
72.29277 +});
72.29278 +
72.29279 +
72.29280 +
72.29281 +Ext.form.Action.Load = function(form, options){
72.29282 +    Ext.form.Action.Load.superclass.constructor.call(this, form, options);
72.29283 +    this.reader = this.form.reader;
72.29284 +};
72.29285 +
72.29286 +Ext.extend(Ext.form.Action.Load, Ext.form.Action, {
72.29287 +        type : 'load',
72.29288 +
72.29289 +        run : function(){
72.29290 +        Ext.Ajax.request(Ext.apply(
72.29291 +                this.createCallback(this.options), {
72.29292 +                    method:this.getMethod(),
72.29293 +                    url:this.getUrl(false),
72.29294 +                    headers: this.options.headers,
72.29295 +                    params:this.getParams()
72.29296 +        }));
72.29297 +    },
72.29298 +
72.29299 +        success : function(response){
72.29300 +        var result = this.processResponse(response);
72.29301 +        if(result === true || !result.success || !result.data){
72.29302 +            this.failureType = Ext.form.Action.LOAD_FAILURE;
72.29303 +            this.form.afterAction(this, false);
72.29304 +            return;
72.29305 +        }
72.29306 +        this.form.clearInvalid();
72.29307 +        this.form.setValues(result.data);
72.29308 +        this.form.afterAction(this, true);
72.29309 +    },
72.29310 +
72.29311 +        handleResponse : function(response){
72.29312 +        if(this.form.reader){
72.29313 +            var rs = this.form.reader.read(response);
72.29314 +            var data = rs.records && rs.records[0] ? rs.records[0].data : null;
72.29315 +            return {
72.29316 +                success : rs.success,
72.29317 +                data : data
72.29318 +            };
72.29319 +        }
72.29320 +        return Ext.decode(response.responseText);
72.29321 +    }
72.29322 +});
72.29323 +
72.29324 +Ext.form.Action.ACTION_TYPES = {
72.29325 +    'load' : Ext.form.Action.Load,
72.29326 +    'submit' : Ext.form.Action.Submit
72.29327 +};
72.29328 +
72.29329 +
72.29330 +Ext.form.VTypes = function(){
72.29331 +        var alpha = /^[a-zA-Z_]+$/;
72.29332 +    var alphanum = /^[a-zA-Z0-9_]+$/;
72.29333 +    var email = /^([\w]+)(.[\w]+)*@([\w-]+\.){1,5}([A-Za-z]){2,4}$/;
72.29334 +    var url = /(((https?)|(ftp)):\/\/([\-\w]+\.)+\w{2,3}(\/[%\-\w]+(\.\w{2,})?)*(([\w\-\.\?\\\/+@&#;`~=%!]*)(\.\w{2,})?)*\/?)/i;
72.29335 +
72.29336 +        return {
72.29337 +        
72.29338 +        'email' : function(v){
72.29339 +            return email.test(v);
72.29340 +        },
72.29341 +        
72.29342 +        'emailText' : 'This field should be an e-mail address in the format "user@domain.com"',
72.29343 +        
72.29344 +        'emailMask' : /[a-z0-9_\.\-@]/i,
72.29345 +
72.29346 +        
72.29347 +        'url' : function(v){
72.29348 +            return url.test(v);
72.29349 +        },
72.29350 +        
72.29351 +        'urlText' : 'This field should be a URL in the format "http:/'+'/www.domain.com"',
72.29352 +        
72.29353 +        
72.29354 +        'alpha' : function(v){
72.29355 +            return alpha.test(v);
72.29356 +        },
72.29357 +        
72.29358 +        'alphaText' : 'This field should only contain letters and _',
72.29359 +        
72.29360 +        'alphaMask' : /[a-z_]/i,
72.29361 +
72.29362 +        
72.29363 +        'alphanum' : function(v){
72.29364 +            return alphanum.test(v);
72.29365 +        },
72.29366 +        
72.29367 +        'alphanumText' : 'This field should only contain letters, numbers and _',
72.29368 +        
72.29369 +        'alphanumMask' : /[a-z0-9_]/i
72.29370 +    };
72.29371 +}();
72.29372 +
72.29373 +Ext.grid.GridPanel = Ext.extend(Ext.Panel, {
72.29374 +    
72.29375 +    
72.29376 +    
72.29377 +    
72.29378 +    
72.29379 +    
72.29380 +    
72.29381 +    
72.29382 +    
72.29383 +    
72.29384 +    
72.29385 +    
72.29386 +
72.29387 +    
72.29388 +    ddText : "{0} selected row{1}",
72.29389 +    
72.29390 +    minColumnWidth : 25,
72.29391 +    
72.29392 +    trackMouseOver : true,
72.29393 +    
72.29394 +    enableDragDrop : false,
72.29395 +    
72.29396 +    enableColumnMove : true,
72.29397 +    
72.29398 +    enableColumnHide : true,
72.29399 +    
72.29400 +    enableHdMenu : true,
72.29401 +    
72.29402 +    stripeRows : false,
72.29403 +    
72.29404 +    autoExpandColumn : false,
72.29405 +    
72.29406 +    autoExpandMin : 50,
72.29407 +    
72.29408 +    autoExpandMax : 1000,
72.29409 +    
72.29410 +    view : null,
72.29411 +    
72.29412 +    loadMask : false,
72.29413 +
72.29414 +    
72.29415 +    rendered : false,
72.29416 +    
72.29417 +    viewReady: false,
72.29418 +    
72.29419 +    stateEvents: ["columnmove", "columnresize", "sortchange"],
72.29420 +
72.29421 +    
72.29422 +    initComponent : function(){
72.29423 +        Ext.grid.GridPanel.superclass.initComponent.call(this);
72.29424 +
72.29425 +        
72.29426 +        
72.29427 +        this.autoScroll = false;
72.29428 +        this.autoWidth = false;
72.29429 +
72.29430 +        if(Ext.isArray(this.columns)){
72.29431 +            this.colModel = new Ext.grid.ColumnModel(this.columns);
72.29432 +            delete this.columns;
72.29433 +        }
72.29434 +
72.29435 +        
72.29436 +        if(this.ds){
72.29437 +            this.store = this.ds;
72.29438 +            delete this.ds;
72.29439 +        }
72.29440 +        if(this.cm){
72.29441 +            this.colModel = this.cm;
72.29442 +            delete this.cm;
72.29443 +        }
72.29444 +        if(this.sm){
72.29445 +            this.selModel = this.sm;
72.29446 +            delete this.sm;
72.29447 +        }
72.29448 +        this.store = Ext.StoreMgr.lookup(this.store);
72.29449 +
72.29450 +        this.addEvents(
72.29451 +            
72.29452 +            
72.29453 +            "click",
72.29454 +            
72.29455 +            "dblclick",
72.29456 +            
72.29457 +            "contextmenu",
72.29458 +            
72.29459 +            "mousedown",
72.29460 +            
72.29461 +            "mouseup",
72.29462 +            
72.29463 +            "mouseover",
72.29464 +            
72.29465 +            "mouseout",
72.29466 +            
72.29467 +            "keypress",
72.29468 +            
72.29469 +            "keydown",
72.29470 +
72.29471 +            
72.29472 +            
72.29473 +            "cellmousedown",
72.29474 +            
72.29475 +            "rowmousedown",
72.29476 +            
72.29477 +            "headermousedown",
72.29478 +
72.29479 +            
72.29480 +            "cellclick",
72.29481 +            
72.29482 +            "celldblclick",
72.29483 +            
72.29484 +            "rowclick",
72.29485 +            
72.29486 +            "rowdblclick",
72.29487 +            
72.29488 +            "headerclick",
72.29489 +            
72.29490 +            "headerdblclick",
72.29491 +            
72.29492 +            "rowcontextmenu",
72.29493 +            
72.29494 +            "cellcontextmenu",
72.29495 +            
72.29496 +            "headercontextmenu",
72.29497 +            
72.29498 +            "bodyscroll",
72.29499 +            
72.29500 +            "columnresize",
72.29501 +            
72.29502 +            "columnmove",
72.29503 +            
72.29504 +            "sortchange"
72.29505 +        );
72.29506 +    },
72.29507 +
72.29508 +    
72.29509 +    onRender : function(ct, position){
72.29510 +        Ext.grid.GridPanel.superclass.onRender.apply(this, arguments);
72.29511 +
72.29512 +        var c = this.body;
72.29513 +
72.29514 +        this.el.addClass('x-grid-panel');
72.29515 +
72.29516 +        var view = this.getView();
72.29517 +        view.init(this);
72.29518 +
72.29519 +        c.on("mousedown", this.onMouseDown, this);
72.29520 +        c.on("click", this.onClick, this);
72.29521 +        c.on("dblclick", this.onDblClick, this);
72.29522 +        c.on("contextmenu", this.onContextMenu, this);
72.29523 +        c.on("keydown", this.onKeyDown, this);
72.29524 +
72.29525 +        this.relayEvents(c, ["mousedown","mouseup","mouseover","mouseout","keypress"]);
72.29526 +
72.29527 +        this.getSelectionModel().init(this);
72.29528 +        this.view.render();
72.29529 +    },
72.29530 +
72.29531 +    
72.29532 +    initEvents : function(){
72.29533 +        Ext.grid.GridPanel.superclass.initEvents.call(this);
72.29534 +
72.29535 +        if(this.loadMask){
72.29536 +            this.loadMask = new Ext.LoadMask(this.bwrap,
72.29537 +                    Ext.apply({store:this.store}, this.loadMask));
72.29538 +        }
72.29539 +    },
72.29540 +
72.29541 +    initStateEvents : function(){
72.29542 +        Ext.grid.GridPanel.superclass.initStateEvents.call(this);
72.29543 +        this.colModel.on('hiddenchange', this.saveState, this, {delay: 100});
72.29544 +    },
72.29545 +
72.29546 +    applyState : function(state){
72.29547 +        var cm = this.colModel;
72.29548 +        var cs = state.columns;
72.29549 +        if(cs){
72.29550 +            for(var i = 0, len = cs.length; i < len; i++){
72.29551 +                var s = cs[i];
72.29552 +                var c = cm.getColumnById(s.id);
72.29553 +                if(c){
72.29554 +                    c.hidden = s.hidden;
72.29555 +                    c.width = s.width;
72.29556 +                    var oldIndex = cm.getIndexById(s.id);
72.29557 +                    if(oldIndex != i){
72.29558 +                        cm.moveColumn(oldIndex, i);
72.29559 +                    }
72.29560 +                }
72.29561 +            }
72.29562 +        }
72.29563 +        if(state.sort){
72.29564 +            this.store[this.store.remoteSort ? 'setDefaultSort' : 'sort'](state.sort.field, state.sort.direction);
72.29565 +        }
72.29566 +    },
72.29567 +
72.29568 +    getState : function(){
72.29569 +        var o = {columns: []};
72.29570 +        for(var i = 0, c; c = this.colModel.config[i]; i++){
72.29571 +            o.columns[i] = {
72.29572 +                id: c.id,
72.29573 +                width: c.width
72.29574 +            };
72.29575 +            if(c.hidden){
72.29576 +                o.columns[i].hidden = true;
72.29577 +            }
72.29578 +        }
72.29579 +        var ss = this.store.getSortState();
72.29580 +        if(ss){
72.29581 +            o.sort = ss;
72.29582 +        }
72.29583 +        return o;
72.29584 +    },
72.29585 +
72.29586 +    
72.29587 +    afterRender : function(){
72.29588 +        Ext.grid.GridPanel.superclass.afterRender.call(this);
72.29589 +        this.view.layout();
72.29590 +        this.viewReady = true;
72.29591 +    },
72.29592 +
72.29593 +    
72.29594 +    reconfigure : function(store, colModel){
72.29595 +        if(this.loadMask){
72.29596 +            this.loadMask.destroy();
72.29597 +            this.loadMask = new Ext.LoadMask(this.bwrap,
72.29598 +                    Ext.apply({store:store}, this.initialConfig.loadMask));
72.29599 +        }
72.29600 +        this.view.bind(store, colModel);
72.29601 +        this.store = store;
72.29602 +        this.colModel = colModel;
72.29603 +        if(this.rendered){
72.29604 +            this.view.refresh(true);
72.29605 +        }
72.29606 +    },
72.29607 +
72.29608 +    
72.29609 +    onKeyDown : function(e){
72.29610 +        this.fireEvent("keydown", e);
72.29611 +    },
72.29612 +
72.29613 +    
72.29614 +    onDestroy : function(){
72.29615 +        if(this.rendered){
72.29616 +            if(this.loadMask){
72.29617 +                this.loadMask.destroy();
72.29618 +            }
72.29619 +            var c = this.body;
72.29620 +            c.removeAllListeners();
72.29621 +            this.view.destroy();
72.29622 +            c.update("");
72.29623 +        }
72.29624 +        this.colModel.purgeListeners();
72.29625 +        Ext.grid.GridPanel.superclass.onDestroy.call(this);
72.29626 +    },
72.29627 +
72.29628 +    
72.29629 +    processEvent : function(name, e){
72.29630 +        this.fireEvent(name, e);
72.29631 +        var t = e.getTarget();
72.29632 +        var v = this.view;
72.29633 +        var header = v.findHeaderIndex(t);
72.29634 +        if(header !== false){
72.29635 +            this.fireEvent("header" + name, this, header, e);
72.29636 +        }else{
72.29637 +            var row = v.findRowIndex(t);
72.29638 +            var cell = v.findCellIndex(t);
72.29639 +            if(row !== false){
72.29640 +                this.fireEvent("row" + name, this, row, e);
72.29641 +                if(cell !== false){
72.29642 +                    this.fireEvent("cell" + name, this, row, cell, e);
72.29643 +                }
72.29644 +            }
72.29645 +        }
72.29646 +    },
72.29647 +
72.29648 +    
72.29649 +    onClick : function(e){
72.29650 +        this.processEvent("click", e);
72.29651 +    },
72.29652 +
72.29653 +    
72.29654 +    onMouseDown : function(e){
72.29655 +        this.processEvent("mousedown", e);
72.29656 +    },
72.29657 +
72.29658 +    
72.29659 +    onContextMenu : function(e, t){
72.29660 +        this.processEvent("contextmenu", e);
72.29661 +    },
72.29662 +
72.29663 +    
72.29664 +    onDblClick : function(e){
72.29665 +        this.processEvent("dblclick", e);
72.29666 +    },
72.29667 +
72.29668 +    
72.29669 +    walkCells : function(row, col, step, fn, scope){
72.29670 +        var cm = this.colModel, clen = cm.getColumnCount();
72.29671 +        var ds = this.store, rlen = ds.getCount(), first = true;
72.29672 +        if(step < 0){
72.29673 +            if(col < 0){
72.29674 +                row--;
72.29675 +                first = false;
72.29676 +            }
72.29677 +            while(row >= 0){
72.29678 +                if(!first){
72.29679 +                    col = clen-1;
72.29680 +                }
72.29681 +                first = false;
72.29682 +                while(col >= 0){
72.29683 +                    if(fn.call(scope || this, row, col, cm) === true){
72.29684 +                        return [row, col];
72.29685 +                    }
72.29686 +                    col--;
72.29687 +                }
72.29688 +                row--;
72.29689 +            }
72.29690 +        } else {
72.29691 +            if(col >= clen){
72.29692 +                row++;
72.29693 +                first = false;
72.29694 +            }
72.29695 +            while(row < rlen){
72.29696 +                if(!first){
72.29697 +                    col = 0;
72.29698 +                }
72.29699 +                first = false;
72.29700 +                while(col < clen){
72.29701 +                    if(fn.call(scope || this, row, col, cm) === true){
72.29702 +                        return [row, col];
72.29703 +                    }
72.29704 +                    col++;
72.29705 +                }
72.29706 +                row++;
72.29707 +            }
72.29708 +        }
72.29709 +        return null;
72.29710 +    },
72.29711 +
72.29712 +    
72.29713 +    getSelections : function(){
72.29714 +        return this.selModel.getSelections();
72.29715 +    },
72.29716 +
72.29717 +    
72.29718 +    onResize : function(){
72.29719 +        Ext.grid.GridPanel.superclass.onResize.apply(this, arguments);
72.29720 +        if(this.viewReady){
72.29721 +            this.view.layout();
72.29722 +        }
72.29723 +    },
72.29724 +
72.29725 +    
72.29726 +    getGridEl : function(){
72.29727 +        return this.body;
72.29728 +    },
72.29729 +
72.29730 +    
72.29731 +    stopEditing : function(){},
72.29732 +
72.29733 +    
72.29734 +    getSelectionModel : function(){
72.29735 +        if(!this.selModel){
72.29736 +            this.selModel = new Ext.grid.RowSelectionModel(
72.29737 +                    this.disableSelection ? {selectRow: Ext.emptyFn} : null);
72.29738 +        }
72.29739 +        return this.selModel;
72.29740 +    },
72.29741 +
72.29742 +    
72.29743 +    getStore : function(){
72.29744 +        return this.store;
72.29745 +    },
72.29746 +
72.29747 +    
72.29748 +    getColumnModel : function(){
72.29749 +        return this.colModel;
72.29750 +    },
72.29751 +
72.29752 +    
72.29753 +    getView : function(){
72.29754 +        if(!this.view){
72.29755 +            this.view = new Ext.grid.GridView(this.viewConfig);
72.29756 +        }
72.29757 +        return this.view;
72.29758 +    },
72.29759 +    
72.29760 +    getDragDropText : function(){
72.29761 +        var count = this.selModel.getCount();
72.29762 +        return String.format(this.ddText, count, count == 1 ? '' : 's');
72.29763 +    }
72.29764 +
72.29765 +    
72.29766 +    
72.29767 +    
72.29768 +    
72.29769 +    
72.29770 +    
72.29771 +    
72.29772 +    
72.29773 +    
72.29774 +    
72.29775 +    
72.29776 +    
72.29777 +    
72.29778 +    
72.29779 +    
72.29780 +    
72.29781 +    
72.29782 +    
72.29783 +    
72.29784 +    
72.29785 +    
72.29786 +    
72.29787 +    
72.29788 +    
72.29789 +    
72.29790 +    
72.29791 +    
72.29792 +    
72.29793 +    
72.29794 +    
72.29795 +    
72.29796 +
72.29797 +
72.29798 +
72.29799 +    
72.29800 +    
72.29801 +    
72.29802 +    
72.29803 +    
72.29804 +    
72.29805 +    
72.29806 +    
72.29807 +    
72.29808 +    
72.29809 +    
72.29810 +    
72.29811 +    
72.29812 +    
72.29813 +    
72.29814 +});
72.29815 +Ext.reg('grid', Ext.grid.GridPanel);
72.29816 +
72.29817 +Ext.grid.GridView = function(config){
72.29818 +    Ext.apply(this, config);
72.29819 +        this.addEvents(
72.29820 +      
72.29821 +      "beforerowremoved",
72.29822 +      
72.29823 +      "beforerowsinserted",
72.29824 +      
72.29825 +      "beforerefresh",
72.29826 +      
72.29827 +      "rowremoved",
72.29828 +      
72.29829 +      "rowsinserted",
72.29830 +      
72.29831 +      "rowupdated",
72.29832 +      
72.29833 +      "refresh"
72.29834 +  );
72.29835 +    Ext.grid.GridView.superclass.constructor.call(this);
72.29836 +};
72.29837 +
72.29838 +Ext.extend(Ext.grid.GridView, Ext.util.Observable, {
72.29839 +    
72.29840 +    
72.29841 +    
72.29842 +    
72.29843 +    deferEmptyText: true,
72.29844 +    
72.29845 +    scrollOffset: 19,
72.29846 +    
72.29847 +    autoFill: false,
72.29848 +    
72.29849 +    forceFit: false,
72.29850 +    
72.29851 +    sortClasses : ["sort-asc", "sort-desc"],
72.29852 +    
72.29853 +    sortAscText : "Sort Ascending",
72.29854 +    
72.29855 +    sortDescText : "Sort Descending",
72.29856 +    
72.29857 +    columnsText : "Columns",
72.29858 +
72.29859 +        borderWidth: 2,
72.29860 +
72.29861 +    
72.29862 +
72.29863 +        initTemplates : function(){
72.29864 +        var ts = this.templates || {};
72.29865 +        if(!ts.master){
72.29866 +            ts.master = new Ext.Template(
72.29867 +                    '<div class="x-grid3" hidefocus="true">',
72.29868 +                        '<div class="x-grid3-viewport">',
72.29869 +                            '<div class="x-grid3-header"><div class="x-grid3-header-inner"><div class="x-grid3-header-offset">{header}</div></div><div class="x-clear"></div></div>',
72.29870 +                            '<div class="x-grid3-scroller"><div class="x-grid3-body">{body}</div><a href="#" class="x-grid3-focus" tabIndex="-1"></a></div>',
72.29871 +                        "</div>",
72.29872 +                        '<div class="x-grid3-resize-marker">&#160;</div>',
72.29873 +                        '<div class="x-grid3-resize-proxy">&#160;</div>',
72.29874 +                    "</div>"
72.29875 +                    );
72.29876 +        }
72.29877 +
72.29878 +        if(!ts.header){
72.29879 +            ts.header = new Ext.Template(
72.29880 +                    '<table border="0" cellspacing="0" cellpadding="0" style="{tstyle}">',
72.29881 +                    '<thead><tr class="x-grid3-hd-row">{cells}</tr></thead>',
72.29882 +                    "</table>"
72.29883 +                    );
72.29884 +        }
72.29885 +
72.29886 +        if(!ts.hcell){
72.29887 +            ts.hcell = new Ext.Template(
72.29888 +                    '<td class="x-grid3-hd x-grid3-cell x-grid3-td-{id}" style="{style}"><div {tooltip} {attr} class="x-grid3-hd-inner x-grid3-hd-{id}" unselectable="on" style="{istyle}">', this.grid.enableHdMenu ? '<a class="x-grid3-hd-btn" href="#"></a>' : '',
72.29889 +                    '{value}<img class="x-grid3-sort-icon" src="', Ext.BLANK_IMAGE_URL, '" />',
72.29890 +                    "</div></td>"
72.29891 +                    );
72.29892 +        }
72.29893 +
72.29894 +        if(!ts.body){
72.29895 +            ts.body = new Ext.Template('{rows}');
72.29896 +        }
72.29897 +
72.29898 +        if(!ts.row){
72.29899 +            ts.row = new Ext.Template(
72.29900 +                    '<div class="x-grid3-row {alt}" style="{tstyle}"><table class="x-grid3-row-table" border="0" cellspacing="0" cellpadding="0" style="{tstyle}">',
72.29901 +                    '<tbody><tr>{cells}</tr>',
72.29902 +                    (this.enableRowBody ? '<tr class="x-grid3-row-body-tr" style="{bodyStyle}"><td colspan="{cols}" class="x-grid3-body-cell" tabIndex="0" hidefocus="on"><div class="x-grid3-row-body">{body}</div></td></tr>' : ''),
72.29903 +                    '</tbody></table></div>'
72.29904 +                    );
72.29905 +        }
72.29906 +
72.29907 +        if(!ts.cell){
72.29908 +            ts.cell = new Ext.Template(
72.29909 +                    '<td class="x-grid3-col x-grid3-cell x-grid3-td-{id} {css}" style="{style}" tabIndex="0" {cellAttr}>',
72.29910 +                    '<div class="x-grid3-cell-inner x-grid3-col-{id}" unselectable="on" {attr}>{value}</div>',
72.29911 +                    "</td>"
72.29912 +                    );
72.29913 +        }
72.29914 +
72.29915 +        for(var k in ts){
72.29916 +            var t = ts[k];
72.29917 +            if(t && typeof t.compile == 'function' && !t.compiled){
72.29918 +                t.disableFormats = true;
72.29919 +                t.compile();
72.29920 +            }
72.29921 +        }
72.29922 +
72.29923 +        this.templates = ts;
72.29924 +
72.29925 +        this.tdClass = 'x-grid3-cell';
72.29926 +        this.cellSelector = 'td.x-grid3-cell';
72.29927 +        this.hdCls = 'x-grid3-hd';
72.29928 +        this.rowSelector = 'div.x-grid3-row';
72.29929 +        this.colRe = new RegExp("x-grid3-td-([^\\s]+)", "");
72.29930 +    },
72.29931 +
72.29932 +        fly : function(el){
72.29933 +        if(!this._flyweight){
72.29934 +            this._flyweight = new Ext.Element.Flyweight(document.body);
72.29935 +        }
72.29936 +        this._flyweight.dom = el;
72.29937 +        return this._flyweight;
72.29938 +    },
72.29939 +
72.29940 +        getEditorParent : function(ed){
72.29941 +        return this.scroller.dom;
72.29942 +    },
72.29943 +
72.29944 +        initElements : function(){
72.29945 +        var E = Ext.Element;
72.29946 +
72.29947 +        var el = this.grid.getGridEl().dom.firstChild;
72.29948 +        var cs = el.childNodes;
72.29949 +
72.29950 +        this.el = new E(el);
72.29951 +
72.29952 +        this.mainWrap = new E(cs[0]);
72.29953 +        this.mainHd = new E(this.mainWrap.dom.firstChild);
72.29954 +
72.29955 +        if(this.grid.hideHeaders){
72.29956 +            this.mainHd.setDisplayed(false);
72.29957 +        }
72.29958 +
72.29959 +        this.innerHd = this.mainHd.dom.firstChild;
72.29960 +        this.scroller = new E(this.mainWrap.dom.childNodes[1]);
72.29961 +        if(this.forceFit){
72.29962 +            this.scroller.setStyle('overflow-x', 'hidden');
72.29963 +        }
72.29964 +        this.mainBody = new E(this.scroller.dom.firstChild);
72.29965 +
72.29966 +        this.focusEl = new E(this.scroller.dom.childNodes[1]);
72.29967 +        this.focusEl.swallowEvent("click", true);
72.29968 +
72.29969 +        this.resizeMarker = new E(cs[1]);
72.29970 +        this.resizeProxy = new E(cs[2]);
72.29971 +    },
72.29972 +
72.29973 +        getRows : function(){
72.29974 +        return this.hasRows() ? this.mainBody.dom.childNodes : [];
72.29975 +    },
72.29976 +
72.29977 +    
72.29978 +        findCell : function(el){
72.29979 +        if(!el){
72.29980 +            return false;
72.29981 +        }
72.29982 +        return this.fly(el).findParent(this.cellSelector, 3);
72.29983 +    },
72.29984 +
72.29985 +        findCellIndex : function(el, requiredCls){
72.29986 +        var cell = this.findCell(el);
72.29987 +        if(cell && (!requiredCls || this.fly(cell).hasClass(requiredCls))){
72.29988 +            return this.getCellIndex(cell);
72.29989 +        }
72.29990 +        return false;
72.29991 +    },
72.29992 +
72.29993 +        getCellIndex : function(el){
72.29994 +        if(el){
72.29995 +            var m = el.className.match(this.colRe);
72.29996 +            if(m && m[1]){
72.29997 +                return this.cm.getIndexById(m[1]);
72.29998 +            }
72.29999 +        }
72.30000 +        return false;
72.30001 +    },
72.30002 +
72.30003 +        findHeaderCell : function(el){
72.30004 +        var cell = this.findCell(el);
72.30005 +        return cell && this.fly(cell).hasClass(this.hdCls) ? cell : null;
72.30006 +    },
72.30007 +
72.30008 +        findHeaderIndex : function(el){
72.30009 +        return this.findCellIndex(el, this.hdCls);
72.30010 +    },
72.30011 +
72.30012 +        findRow : function(el){
72.30013 +        if(!el){
72.30014 +            return false;
72.30015 +        }
72.30016 +        return this.fly(el).findParent(this.rowSelector, 10);
72.30017 +    },
72.30018 +
72.30019 +        findRowIndex : function(el){
72.30020 +        var r = this.findRow(el);
72.30021 +        return r ? r.rowIndex : false;
72.30022 +    },
72.30023 +
72.30024 +    
72.30025 +
72.30026 +    getRow : function(row){
72.30027 +        return this.getRows()[row];
72.30028 +    },
72.30029 +
72.30030 +
72.30031 +    getCell : function(row, col){
72.30032 +        return this.getRow(row).getElementsByTagName('td')[col];
72.30033 +    },
72.30034 +
72.30035 +
72.30036 +    getHeaderCell : function(index){
72.30037 +      return this.mainHd.dom.getElementsByTagName('td')[index];
72.30038 +    },
72.30039 +
72.30040 +    
72.30041 +        addRowClass : function(row, cls){
72.30042 +        var r = this.getRow(row);
72.30043 +        if(r){
72.30044 +            this.fly(r).addClass(cls);
72.30045 +        }
72.30046 +    },
72.30047 +
72.30048 +        removeRowClass : function(row, cls){
72.30049 +        var r = this.getRow(row);
72.30050 +        if(r){
72.30051 +            this.fly(r).removeClass(cls);
72.30052 +        }
72.30053 +    },
72.30054 +
72.30055 +        removeRow : function(row){
72.30056 +        Ext.removeNode(this.getRow(row));
72.30057 +    },
72.30058 +
72.30059 +        removeRows : function(firstRow, lastRow){
72.30060 +        var bd = this.mainBody.dom;
72.30061 +        for(var rowIndex = firstRow; rowIndex <= lastRow; rowIndex++){
72.30062 +            Ext.removeNode(bd.childNodes[firstRow]);
72.30063 +        }
72.30064 +    },
72.30065 +
72.30066 +    
72.30067 +        getScrollState : function(){
72.30068 +        var sb = this.scroller.dom;
72.30069 +        return {left: sb.scrollLeft, top: sb.scrollTop};
72.30070 +    },
72.30071 +
72.30072 +        restoreScroll : function(state){
72.30073 +        var sb = this.scroller.dom;
72.30074 +        sb.scrollLeft = state.left;
72.30075 +        sb.scrollTop = state.top;
72.30076 +    },
72.30077 +
72.30078 +    
72.30079 +    scrollToTop : function(){
72.30080 +        this.scroller.dom.scrollTop = 0;
72.30081 +        this.scroller.dom.scrollLeft = 0;
72.30082 +    },
72.30083 +
72.30084 +        syncScroll : function(){
72.30085 +      this.syncHeaderScroll();
72.30086 +      var mb = this.scroller.dom;
72.30087 +        this.grid.fireEvent("bodyscroll", mb.scrollLeft, mb.scrollTop);
72.30088 +    },
72.30089 +
72.30090 +        syncHeaderScroll : function(){
72.30091 +        var mb = this.scroller.dom;
72.30092 +        this.innerHd.scrollLeft = mb.scrollLeft;
72.30093 +        this.innerHd.scrollLeft = mb.scrollLeft;     },
72.30094 +
72.30095 +        updateSortIcon : function(col, dir){
72.30096 +        var sc = this.sortClasses;
72.30097 +        var hds = this.mainHd.select('td').removeClass(sc);
72.30098 +        hds.item(col).addClass(sc[dir == "DESC" ? 1 : 0]);
72.30099 +    },
72.30100 +
72.30101 +        updateAllColumnWidths : function(){
72.30102 +        var tw = this.getTotalWidth();
72.30103 +        var clen = this.cm.getColumnCount();
72.30104 +        var ws = [];
72.30105 +        for(var i = 0; i < clen; i++){
72.30106 +            ws[i] = this.getColumnWidth(i);
72.30107 +        }
72.30108 +
72.30109 +        this.innerHd.firstChild.firstChild.style.width = tw;
72.30110 +
72.30111 +        for(var i = 0; i < clen; i++){
72.30112 +            var hd = this.getHeaderCell(i);
72.30113 +            hd.style.width = ws[i];
72.30114 +        }
72.30115 +
72.30116 +        var ns = this.getRows();
72.30117 +        for(var i = 0, len = ns.length; i < len; i++){
72.30118 +            ns[i].style.width = tw;
72.30119 +            ns[i].firstChild.style.width = tw;
72.30120 +            var row = ns[i].firstChild.rows[0];
72.30121 +            for(var j = 0; j < clen; j++){
72.30122 +                row.childNodes[j].style.width = ws[j];
72.30123 +            }
72.30124 +        }
72.30125 +
72.30126 +        this.onAllColumnWidthsUpdated(ws, tw);
72.30127 +    },
72.30128 +
72.30129 +        updateColumnWidth : function(col, width){
72.30130 +        var w = this.getColumnWidth(col);
72.30131 +        var tw = this.getTotalWidth();
72.30132 +
72.30133 +        this.innerHd.firstChild.firstChild.style.width = tw;
72.30134 +        var hd = this.getHeaderCell(col);
72.30135 +        hd.style.width = w;
72.30136 +
72.30137 +        var ns = this.getRows();
72.30138 +        for(var i = 0, len = ns.length; i < len; i++){
72.30139 +            ns[i].style.width = tw;
72.30140 +            ns[i].firstChild.style.width = tw;
72.30141 +            ns[i].firstChild.rows[0].childNodes[col].style.width = w;
72.30142 +        }
72.30143 +
72.30144 +        this.onColumnWidthUpdated(col, w, tw);
72.30145 +    },
72.30146 +
72.30147 +        updateColumnHidden : function(col, hidden){
72.30148 +        var tw = this.getTotalWidth();
72.30149 +
72.30150 +        this.innerHd.firstChild.firstChild.style.width = tw;
72.30151 +
72.30152 +        var display = hidden ? 'none' : '';
72.30153 +
72.30154 +        var hd = this.getHeaderCell(col);
72.30155 +        hd.style.display = display;
72.30156 +
72.30157 +        var ns = this.getRows();
72.30158 +        for(var i = 0, len = ns.length; i < len; i++){
72.30159 +            ns[i].style.width = tw;
72.30160 +            ns[i].firstChild.style.width = tw;
72.30161 +            ns[i].firstChild.rows[0].childNodes[col].style.display = display;
72.30162 +        }
72.30163 +
72.30164 +        this.onColumnHiddenUpdated(col, hidden, tw);
72.30165 +
72.30166 +        delete this.lastViewWidth;         this.layout();
72.30167 +    },
72.30168 +
72.30169 +        doRender : function(cs, rs, ds, startRow, colCount, stripe){
72.30170 +        var ts = this.templates, ct = ts.cell, rt = ts.row, last = colCount-1;
72.30171 +        var tstyle = 'width:'+this.getTotalWidth()+';';
72.30172 +                var buf = [], cb, c, p = {}, rp = {tstyle: tstyle}, r;
72.30173 +        for(var j = 0, len = rs.length; j < len; j++){
72.30174 +            r = rs[j]; cb = [];
72.30175 +            var rowIndex = (j+startRow);
72.30176 +            for(var i = 0; i < colCount; i++){
72.30177 +                c = cs[i];
72.30178 +                p.id = c.id;
72.30179 +                p.css = i == 0 ? 'x-grid3-cell-first ' : (i == last ? 'x-grid3-cell-last ' : '');
72.30180 +                p.attr = p.cellAttr = "";
72.30181 +                p.value = c.renderer(r.data[c.name], p, r, rowIndex, i, ds);
72.30182 +                p.style = c.style;
72.30183 +                if(p.value == undefined || p.value === "") p.value = "&#160;";
72.30184 +                if(r.dirty && typeof r.modified[c.name] !== 'undefined'){
72.30185 +                    p.css += ' x-grid3-dirty-cell';
72.30186 +                }
72.30187 +                cb[cb.length] = ct.apply(p);
72.30188 +            }
72.30189 +            var alt = [];
72.30190 +            if(stripe && ((rowIndex+1) % 2 == 0)){
72.30191 +                alt[0] = "x-grid3-row-alt";
72.30192 +            }
72.30193 +            if(r.dirty){
72.30194 +                alt[1] = " x-grid3-dirty-row";
72.30195 +            }
72.30196 +            rp.cols = colCount;
72.30197 +            if(this.getRowClass){
72.30198 +                alt[2] = this.getRowClass(r, rowIndex, rp, ds);
72.30199 +            }
72.30200 +            rp.alt = alt.join(" ");
72.30201 +            rp.cells = cb.join("");
72.30202 +            buf[buf.length] =  rt.apply(rp);
72.30203 +        }
72.30204 +        return buf.join("");
72.30205 +    },
72.30206 +
72.30207 +        processRows : function(startRow, skipStripe){
72.30208 +        if(this.ds.getCount() < 1){
72.30209 +            return;
72.30210 +        }
72.30211 +        skipStripe = skipStripe || !this.grid.stripeRows;
72.30212 +        startRow = startRow || 0;
72.30213 +        var rows = this.getRows();
72.30214 +        var cls = ' x-grid3-row-alt ';
72.30215 +        for(var i = startRow, len = rows.length; i < len; i++){
72.30216 +            var row = rows[i];
72.30217 +            row.rowIndex = i;
72.30218 +            if(!skipStripe){
72.30219 +                var isAlt = ((i+1) % 2 == 0);
72.30220 +                var hasAlt = (' '+row.className + ' ').indexOf(cls) != -1;
72.30221 +                if(isAlt == hasAlt){
72.30222 +                    continue;
72.30223 +                }
72.30224 +                if(isAlt){
72.30225 +                    row.className += " x-grid3-row-alt";
72.30226 +                }else{
72.30227 +                    row.className = row.className.replace("x-grid3-row-alt", "");
72.30228 +                }
72.30229 +            }
72.30230 +        }
72.30231 +    },
72.30232 +
72.30233 +        renderUI : function(){
72.30234 +
72.30235 +        var header = this.renderHeaders();
72.30236 +        var body = this.templates.body.apply({rows:''});
72.30237 +
72.30238 +
72.30239 +        var html = this.templates.master.apply({
72.30240 +            body: body,
72.30241 +            header: header
72.30242 +        });
72.30243 +
72.30244 +        var g = this.grid;
72.30245 +
72.30246 +        g.getGridEl().dom.innerHTML = html;
72.30247 +
72.30248 +        this.initElements();
72.30249 +
72.30250 +
72.30251 +        this.mainBody.dom.innerHTML = this.renderRows();
72.30252 +        this.processRows(0, true);
72.30253 +
72.30254 +        if(this.deferEmptyText !== true){
72.30255 +            this.applyEmptyText();
72.30256 +        }
72.30257 +
72.30258 +                Ext.fly(this.innerHd).on("click", this.handleHdDown, this);
72.30259 +        this.mainHd.on("mouseover", this.handleHdOver, this);
72.30260 +        this.mainHd.on("mouseout", this.handleHdOut, this);
72.30261 +        this.mainHd.on("mousemove", this.handleHdMove, this);
72.30262 +
72.30263 +        this.scroller.on('scroll', this.syncScroll,  this);
72.30264 +        if(g.enableColumnResize !== false){
72.30265 +            this.splitone = new Ext.grid.GridView.SplitDragZone(g, this.mainHd.dom);
72.30266 +        }
72.30267 +
72.30268 +        if(g.enableColumnMove){
72.30269 +            this.columnDrag = new Ext.grid.GridView.ColumnDragZone(g, this.innerHd);
72.30270 +            this.columnDrop = new Ext.grid.HeaderDropZone(g, this.mainHd.dom);
72.30271 +        }
72.30272 +
72.30273 +        if(g.enableHdMenu !== false){
72.30274 +            if(g.enableColumnHide !== false){
72.30275 +                this.colMenu = new Ext.menu.Menu({id:g.id + "-hcols-menu"});
72.30276 +                this.colMenu.on("beforeshow", this.beforeColMenuShow, this);
72.30277 +                this.colMenu.on("itemclick", this.handleHdMenuClick, this);
72.30278 +            }
72.30279 +            this.hmenu = new Ext.menu.Menu({id: g.id + "-hctx"});
72.30280 +            this.hmenu.add(
72.30281 +                {id:"asc", text: this.sortAscText, cls: "xg-hmenu-sort-asc"},
72.30282 +                {id:"desc", text: this.sortDescText, cls: "xg-hmenu-sort-desc"}
72.30283 +            );
72.30284 +            if(g.enableColumnHide !== false){
72.30285 +                this.hmenu.add('-',
72.30286 +                    {id:"columns", text: this.columnsText, menu: this.colMenu, iconCls: 'x-cols-icon'}
72.30287 +                );
72.30288 +            }
72.30289 +            this.hmenu.on("itemclick", this.handleHdMenuClick, this);
72.30290 +
72.30291 +                    }
72.30292 +
72.30293 +        if(g.enableDragDrop || g.enableDrag){
72.30294 +            this.dragZone = new Ext.grid.GridDragZone(g, {
72.30295 +                ddGroup : g.ddGroup || 'GridDD'
72.30296 +            });
72.30297 +        }
72.30298 +
72.30299 +        this.updateHeaderSortState();
72.30300 +
72.30301 +    },
72.30302 +
72.30303 +        layout : function(){
72.30304 +        if(!this.mainBody){
72.30305 +            return;         }
72.30306 +        var g = this.grid;
72.30307 +        var c = g.getGridEl();
72.30308 +        var csize = c.getSize(true);
72.30309 +        var vw = csize.width;
72.30310 +
72.30311 +        if(vw < 20 || csize.height < 20){             return;
72.30312 +        }
72.30313 +
72.30314 +        if(g.autoHeight){
72.30315 +            this.scroller.dom.style.overflow = 'visible';
72.30316 +        }else{
72.30317 +            this.el.setSize(csize.width, csize.height);
72.30318 +
72.30319 +            var hdHeight = this.mainHd.getHeight();
72.30320 +            var vh = csize.height - (hdHeight);
72.30321 +
72.30322 +            this.scroller.setSize(vw, vh);
72.30323 +            if(this.innerHd){
72.30324 +                this.innerHd.style.width = (vw)+'px';
72.30325 +            }
72.30326 +        }
72.30327 +        if(this.forceFit){
72.30328 +            if(this.lastViewWidth != vw){
72.30329 +                this.fitColumns(false, false);
72.30330 +                this.lastViewWidth = vw;
72.30331 +            }
72.30332 +        }else {
72.30333 +            this.autoExpand();
72.30334 +            this.syncHeaderScroll();
72.30335 +        }
72.30336 +        this.onLayout(vw, vh);
72.30337 +    },
72.30338 +
72.30339 +            onLayout : function(vw, vh){
72.30340 +            },
72.30341 +
72.30342 +    onColumnWidthUpdated : function(col, w, tw){
72.30343 +            },
72.30344 +
72.30345 +    onAllColumnWidthsUpdated : function(ws, tw){
72.30346 +            },
72.30347 +
72.30348 +    onColumnHiddenUpdated : function(col, hidden, tw){
72.30349 +            },
72.30350 +
72.30351 +    updateColumnText : function(col, text){
72.30352 +            },
72.30353 +
72.30354 +    afterMove : function(colIndex){
72.30355 +            },
72.30356 +
72.30357 +    
72.30358 +        init: function(grid){
72.30359 +        this.grid = grid;
72.30360 +
72.30361 +        this.initTemplates();
72.30362 +        this.initData(grid.store, grid.colModel);
72.30363 +        this.initUI(grid);
72.30364 +    },
72.30365 +
72.30366 +        getColumnId : function(index){
72.30367 +      return this.cm.getColumnId(index);
72.30368 +    },
72.30369 +
72.30370 +        renderHeaders : function(){
72.30371 +        var cm = this.cm, ts = this.templates;
72.30372 +        var ct = ts.hcell;
72.30373 +
72.30374 +        var cb = [], sb = [], p = {};
72.30375 +
72.30376 +        for(var i = 0, len = cm.getColumnCount(); i < len; i++){
72.30377 +            p.id = cm.getColumnId(i);
72.30378 +            p.value = cm.getColumnHeader(i) || "";
72.30379 +            p.style = this.getColumnStyle(i, true);
72.30380 +            p.tooltip = this.getColumnTooltip(i);
72.30381 +            if(cm.config[i].align == 'right'){
72.30382 +                p.istyle = 'padding-right:16px';
72.30383 +            } else {
72.30384 +                delete p.istyle;
72.30385 +            }
72.30386 +            cb[cb.length] = ct.apply(p);
72.30387 +        }
72.30388 +        return ts.header.apply({cells: cb.join(""), tstyle:'width:'+this.getTotalWidth()+';'});
72.30389 +    },
72.30390 +
72.30391 +        getColumnTooltip : function(i){
72.30392 +        var tt = this.cm.getColumnTooltip(i);
72.30393 +        if(tt){
72.30394 +            if(Ext.QuickTips.isEnabled()){
72.30395 +                return 'ext:qtip="'+tt+'"';
72.30396 +            }else{
72.30397 +                return 'title="'+tt+'"';
72.30398 +            }
72.30399 +        }
72.30400 +        return "";
72.30401 +    },
72.30402 +
72.30403 +        beforeUpdate : function(){
72.30404 +        this.grid.stopEditing(true);
72.30405 +    },
72.30406 +
72.30407 +        updateHeaders : function(){
72.30408 +        this.innerHd.firstChild.innerHTML = this.renderHeaders();
72.30409 +    },
72.30410 +
72.30411 +    
72.30412 +    focusRow : function(row){
72.30413 +        this.focusCell(row, 0, false);
72.30414 +    },
72.30415 +
72.30416 +    
72.30417 +    focusCell : function(row, col, hscroll){
72.30418 +        var xy = this.ensureVisible(row, col, hscroll);
72.30419 +        this.focusEl.setXY(xy);
72.30420 +        if(Ext.isGecko){
72.30421 +            this.focusEl.focus();
72.30422 +        }else{
72.30423 +            this.focusEl.focus.defer(1, this.focusEl);
72.30424 +        }
72.30425 +    },
72.30426 +
72.30427 +        ensureVisible : function(row, col, hscroll){
72.30428 +        if(typeof row != "number"){
72.30429 +            row = row.rowIndex;
72.30430 +        }
72.30431 +        if(!this.ds){
72.30432 +            return;
72.30433 +        }
72.30434 +        if(row < 0 || row >= this.ds.getCount()){
72.30435 +            return;
72.30436 +        }
72.30437 +        col = (col !== undefined ? col : 0);
72.30438 +
72.30439 +        var rowEl = this.getRow(row), cellEl;
72.30440 +        if(!(hscroll === false && col === 0)){
72.30441 +            while(this.cm.isHidden(col)){
72.30442 +                col++;
72.30443 +            }
72.30444 +            cellEl = this.getCell(row, col);
72.30445 +        }
72.30446 +        if(!rowEl){
72.30447 +            return;
72.30448 +        }
72.30449 +
72.30450 +        var c = this.scroller.dom;
72.30451 +
72.30452 +        var ctop = 0;
72.30453 +        var p = rowEl, stop = this.el.dom;
72.30454 +        while(p && p != stop){
72.30455 +            ctop += p.offsetTop;
72.30456 +            p = p.offsetParent;
72.30457 +        }
72.30458 +        ctop -= this.mainHd.dom.offsetHeight;
72.30459 +
72.30460 +        var cbot = ctop + rowEl.offsetHeight;
72.30461 +
72.30462 +        var ch = c.clientHeight;
72.30463 +        var stop = parseInt(c.scrollTop, 10);
72.30464 +        var sbot = stop + ch;
72.30465 +
72.30466 +        if(ctop < stop){
72.30467 +          c.scrollTop = ctop;
72.30468 +        }else if(cbot > sbot){
72.30469 +            c.scrollTop = cbot-ch;
72.30470 +        }
72.30471 +
72.30472 +        if(hscroll !== false){
72.30473 +            var cleft = parseInt(cellEl.offsetLeft, 10);
72.30474 +            var cright = cleft + cellEl.offsetWidth;
72.30475 +
72.30476 +            var sleft = parseInt(c.scrollLeft, 10);
72.30477 +            var sright = sleft + c.clientWidth;
72.30478 +            if(cleft < sleft){
72.30479 +                c.scrollLeft = cleft;
72.30480 +            }else if(cright > sright){
72.30481 +                c.scrollLeft = cright-c.clientWidth;
72.30482 +            }
72.30483 +        }
72.30484 +        return cellEl ? Ext.fly(cellEl).getXY() : [c.scrollLeft, Ext.fly(rowEl).getY()];
72.30485 +    },
72.30486 +
72.30487 +        insertRows : function(dm, firstRow, lastRow, isUpdate){
72.30488 +        if(!isUpdate && firstRow === 0 && lastRow == dm.getCount()-1){
72.30489 +            this.refresh();
72.30490 +        }else{
72.30491 +            if(!isUpdate){
72.30492 +                this.fireEvent("beforerowsinserted", this, firstRow, lastRow);
72.30493 +            }
72.30494 +            var html = this.renderRows(firstRow, lastRow);
72.30495 +            var before = this.getRow(firstRow);
72.30496 +            if(before){
72.30497 +                Ext.DomHelper.insertHtml('beforeBegin', before, html);
72.30498 +            }else{
72.30499 +                Ext.DomHelper.insertHtml('beforeEnd', this.mainBody.dom, html);
72.30500 +            }
72.30501 +            if(!isUpdate){
72.30502 +                this.fireEvent("rowsinserted", this, firstRow, lastRow);
72.30503 +                this.processRows(firstRow);
72.30504 +            }
72.30505 +        }
72.30506 +    },
72.30507 +
72.30508 +        deleteRows : function(dm, firstRow, lastRow){
72.30509 +        if(dm.getRowCount()<1){
72.30510 +            this.refresh();
72.30511 +        }else{
72.30512 +            this.fireEvent("beforerowsdeleted", this, firstRow, lastRow);
72.30513 +
72.30514 +            this.removeRows(firstRow, lastRow);
72.30515 +
72.30516 +            this.processRows(firstRow);
72.30517 +            this.fireEvent("rowsdeleted", this, firstRow, lastRow);
72.30518 +        }
72.30519 +    },
72.30520 +
72.30521 +        getColumnStyle : function(col, isHeader){
72.30522 +        var style = !isHeader ? (this.cm.config[col].css || '') : '';
72.30523 +        style += 'width:'+this.getColumnWidth(col)+';';
72.30524 +        if(this.cm.isHidden(col)){
72.30525 +            style += 'display:none;';
72.30526 +        }
72.30527 +        var align = this.cm.config[col].align;
72.30528 +        if(align){
72.30529 +            style += 'text-align:'+align+';';
72.30530 +        }
72.30531 +        return style;
72.30532 +    },
72.30533 +
72.30534 +        getColumnWidth : function(col){
72.30535 +        var w = this.cm.getColumnWidth(col);
72.30536 +        if(typeof w == 'number'){
72.30537 +            return (Ext.isBorderBox ? w : (w-this.borderWidth > 0 ? w-this.borderWidth:0)) + 'px';
72.30538 +        }
72.30539 +        return w;
72.30540 +    },
72.30541 +
72.30542 +        getTotalWidth : function(){
72.30543 +        return this.cm.getTotalWidth()+'px';
72.30544 +    },
72.30545 +
72.30546 +        fitColumns : function(preventRefresh, onlyExpand, omitColumn){
72.30547 +        var cm = this.cm, leftOver, dist, i;
72.30548 +        var tw = cm.getTotalWidth(false);
72.30549 +        var aw = this.grid.getGridEl().getWidth(true)-this.scrollOffset;
72.30550 +
72.30551 +        if(aw < 20){             return;
72.30552 +        }
72.30553 +        var extra = aw - tw;
72.30554 +
72.30555 +        if(extra === 0){
72.30556 +            return false;
72.30557 +        }
72.30558 +
72.30559 +        var vc = cm.getColumnCount(true);
72.30560 +        var ac = vc-(typeof omitColumn == 'number' ? 1 : 0);
72.30561 +        if(ac === 0){
72.30562 +            ac = 1;
72.30563 +            omitColumn = undefined;
72.30564 +        }
72.30565 +        var colCount = cm.getColumnCount();
72.30566 +        var cols = [];
72.30567 +        var extraCol = 0;
72.30568 +        var width = 0;
72.30569 +        var w;
72.30570 +        for (i = 0; i < colCount; i++){
72.30571 +            if(!cm.isHidden(i) && !cm.isFixed(i) && i !== omitColumn){
72.30572 +                w = cm.getColumnWidth(i);
72.30573 +                cols.push(i);
72.30574 +                extraCol = i;
72.30575 +                cols.push(w);
72.30576 +                width += w;
72.30577 +            }
72.30578 +        }
72.30579 +        var frac = (aw - cm.getTotalWidth())/width;
72.30580 +        while (cols.length){
72.30581 +            w = cols.pop();
72.30582 +            i = cols.pop();
72.30583 +            cm.setColumnWidth(i, Math.max(this.grid.minColumnWidth, Math.floor(w + w*frac)), true);
72.30584 +        }
72.30585 +
72.30586 +        if((tw = cm.getTotalWidth(false)) > aw){
72.30587 +            var adjustCol = ac != vc ? omitColumn : extraCol;
72.30588 +             cm.setColumnWidth(adjustCol, Math.max(1,
72.30589 +                     cm.getColumnWidth(adjustCol)- (tw-aw)), true);
72.30590 +        }
72.30591 +
72.30592 +        if(preventRefresh !== true){
72.30593 +            this.updateAllColumnWidths();
72.30594 +        }
72.30595 +
72.30596 +
72.30597 +        return true;
72.30598 +    },
72.30599 +
72.30600 +        autoExpand : function(preventUpdate){
72.30601 +        var g = this.grid, cm = this.cm;
72.30602 +        if(!this.userResized && g.autoExpandColumn){
72.30603 +            var tw = cm.getTotalWidth(false);
72.30604 +            var aw = this.grid.getGridEl().getWidth(true)-this.scrollOffset;
72.30605 +            if(tw != aw){
72.30606 +                var ci = cm.getIndexById(g.autoExpandColumn);
72.30607 +                var currentWidth = cm.getColumnWidth(ci);
72.30608 +                var cw = Math.min(Math.max(((aw-tw)+currentWidth), g.autoExpandMin), g.autoExpandMax);
72.30609 +                if(cw != currentWidth){
72.30610 +                    cm.setColumnWidth(ci, cw, true);
72.30611 +                    if(preventUpdate !== true){
72.30612 +                        this.updateColumnWidth(ci, cw);
72.30613 +                    }
72.30614 +                }
72.30615 +            }
72.30616 +        }
72.30617 +    },
72.30618 +
72.30619 +        getColumnData : function(){
72.30620 +                var cs = [], cm = this.cm, colCount = cm.getColumnCount();
72.30621 +        for(var i = 0; i < colCount; i++){
72.30622 +            var name = cm.getDataIndex(i);
72.30623 +            cs[i] = {
72.30624 +                name : (typeof name == 'undefined' ? this.ds.fields.get(i).name : name),
72.30625 +                renderer : cm.getRenderer(i),
72.30626 +                id : cm.getColumnId(i),
72.30627 +                style : this.getColumnStyle(i)
72.30628 +            };
72.30629 +        }
72.30630 +        return cs;
72.30631 +    },
72.30632 +
72.30633 +        renderRows : function(startRow, endRow){
72.30634 +                var g = this.grid, cm = g.colModel, ds = g.store, stripe = g.stripeRows;
72.30635 +        var colCount = cm.getColumnCount();
72.30636 +
72.30637 +        if(ds.getCount() < 1){
72.30638 +            return "";
72.30639 +        }
72.30640 +
72.30641 +        var cs = this.getColumnData();
72.30642 +
72.30643 +        startRow = startRow || 0;
72.30644 +        endRow = typeof endRow == "undefined"? ds.getCount()-1 : endRow;
72.30645 +
72.30646 +                var rs = ds.getRange(startRow, endRow);
72.30647 +
72.30648 +        return this.doRender(cs, rs, ds, startRow, colCount, stripe);
72.30649 +    },
72.30650 +
72.30651 +        renderBody : function(){
72.30652 +        var markup = this.renderRows();
72.30653 +        return this.templates.body.apply({rows: markup});
72.30654 +    },
72.30655 +
72.30656 +        refreshRow : function(record){
72.30657 +        var ds = this.ds, index;
72.30658 +        if(typeof record == 'number'){
72.30659 +            index = record;
72.30660 +            record = ds.getAt(index);
72.30661 +        }else{
72.30662 +            index = ds.indexOf(record);
72.30663 +        }
72.30664 +        var cls = [];
72.30665 +        this.insertRows(ds, index, index, true);
72.30666 +        this.getRow(index).rowIndex = index;
72.30667 +        this.onRemove(ds, record, index+1, true);
72.30668 +        this.fireEvent("rowupdated", this, index, record);
72.30669 +    },
72.30670 +
72.30671 +    
72.30672 +    refresh : function(headersToo){
72.30673 +        this.fireEvent("beforerefresh", this);
72.30674 +        this.grid.stopEditing(true);
72.30675 +
72.30676 +        var result = this.renderBody();
72.30677 +        this.mainBody.update(result);
72.30678 +
72.30679 +        if(headersToo === true){
72.30680 +            this.updateHeaders();
72.30681 +            this.updateHeaderSortState();
72.30682 +        }
72.30683 +        this.processRows(0, true);
72.30684 +        this.layout();
72.30685 +        this.applyEmptyText();
72.30686 +        this.fireEvent("refresh", this);
72.30687 +    },
72.30688 +
72.30689 +        applyEmptyText : function(){
72.30690 +        if(this.emptyText && !this.hasRows()){
72.30691 +            this.mainBody.update('<div class="x-grid-empty">' + this.emptyText + '</div>');
72.30692 +        }
72.30693 +    },
72.30694 +
72.30695 +        updateHeaderSortState : function(){
72.30696 +        var state = this.ds.getSortState();
72.30697 +        if(!state){
72.30698 +            return;
72.30699 +        }
72.30700 +        if(!this.sortState || (this.sortState.field != state.field || this.sortState.direction != state.direction)){
72.30701 +            this.grid.fireEvent('sortchange', this.grid, state);
72.30702 +        }
72.30703 +        this.sortState = state;
72.30704 +        var sortColumn = this.cm.findColumnIndex(state.field);
72.30705 +        if(sortColumn != -1){
72.30706 +            var sortDir = state.direction;
72.30707 +            this.updateSortIcon(sortColumn, sortDir);
72.30708 +        }
72.30709 +    },
72.30710 +
72.30711 +        destroy : function(){
72.30712 +        if(this.colMenu){
72.30713 +            this.colMenu.removeAll();
72.30714 +            Ext.menu.MenuMgr.unregister(this.colMenu);
72.30715 +            this.colMenu.getEl().remove();
72.30716 +            delete this.colMenu;
72.30717 +        }
72.30718 +        if(this.hmenu){
72.30719 +            this.hmenu.removeAll();
72.30720 +            Ext.menu.MenuMgr.unregister(this.hmenu);
72.30721 +            this.hmenu.getEl().remove();
72.30722 +            delete this.hmenu;
72.30723 +        }
72.30724 +        if(this.grid.enableColumnMove){
72.30725 +            var dds = Ext.dd.DDM.ids['gridHeader' + this.grid.getGridEl().id];
72.30726 +            if(dds){
72.30727 +                for(var dd in dds){
72.30728 +                    if(!dds[dd].config.isTarget && dds[dd].dragElId){
72.30729 +                        var elid = dds[dd].dragElId;
72.30730 +                        dds[dd].unreg();
72.30731 +                        Ext.get(elid).remove();
72.30732 +                    } else if(dds[dd].config.isTarget){
72.30733 +                        dds[dd].proxyTop.remove();
72.30734 +                        dds[dd].proxyBottom.remove();
72.30735 +                        dds[dd].unreg();
72.30736 +                    }
72.30737 +                    if(Ext.dd.DDM.locationCache[dd]){
72.30738 +                        delete Ext.dd.DDM.locationCache[dd];
72.30739 +                    }
72.30740 +                }
72.30741 +                delete Ext.dd.DDM.ids['gridHeader' + this.grid.getGridEl().id];
72.30742 +            }
72.30743 +        }
72.30744 +
72.30745 +        Ext.destroy(this.resizeMarker, this.resizeProxy);
72.30746 +
72.30747 +        if(this.dragZone){
72.30748 +            this.dragZone.unreg();
72.30749 +        }
72.30750 +
72.30751 +        this.initData(null, null);
72.30752 +        Ext.EventManager.removeResizeListener(this.onWindowResize, this);
72.30753 +    },
72.30754 +
72.30755 +        onDenyColumnHide : function(){
72.30756 +
72.30757 +    },
72.30758 +
72.30759 +        render : function(){
72.30760 +
72.30761 +        var cm = this.cm;
72.30762 +        var colCount = cm.getColumnCount();
72.30763 +
72.30764 +        if(this.autoFill){
72.30765 +            this.fitColumns(true, true);
72.30766 +        }else if(this.forceFit){
72.30767 +            this.fitColumns(true, false);
72.30768 +        }else if(this.grid.autoExpandColumn){
72.30769 +            this.autoExpand(true);
72.30770 +        }
72.30771 +
72.30772 +        this.renderUI();
72.30773 +    },
72.30774 +
72.30775 +    
72.30776 +        initData : function(ds, cm){
72.30777 +        if(this.ds){
72.30778 +            this.ds.un("load", this.onLoad, this);
72.30779 +            this.ds.un("datachanged", this.onDataChange, this);
72.30780 +            this.ds.un("add", this.onAdd, this);
72.30781 +            this.ds.un("remove", this.onRemove, this);
72.30782 +            this.ds.un("update", this.onUpdate, this);
72.30783 +            this.ds.un("clear", this.onClear, this);
72.30784 +        }
72.30785 +        if(ds){
72.30786 +            ds.on("load", this.onLoad, this);
72.30787 +            ds.on("datachanged", this.onDataChange, this);
72.30788 +            ds.on("add", this.onAdd, this);
72.30789 +            ds.on("remove", this.onRemove, this);
72.30790 +            ds.on("update", this.onUpdate, this);
72.30791 +            ds.on("clear", this.onClear, this);
72.30792 +        }
72.30793 +        this.ds = ds;
72.30794 +
72.30795 +        if(this.cm){
72.30796 +            this.cm.un("configchange", this.onColConfigChange, this);
72.30797 +            this.cm.un("widthchange", this.onColWidthChange, this);
72.30798 +            this.cm.un("headerchange", this.onHeaderChange, this);
72.30799 +            this.cm.un("hiddenchange", this.onHiddenChange, this);
72.30800 +            this.cm.un("columnmoved", this.onColumnMove, this);
72.30801 +            this.cm.un("columnlockchange", this.onColumnLock, this);
72.30802 +        }
72.30803 +        if(cm){
72.30804 +            cm.on("configchange", this.onColConfigChange, this);
72.30805 +            cm.on("widthchange", this.onColWidthChange, this);
72.30806 +            cm.on("headerchange", this.onHeaderChange, this);
72.30807 +            cm.on("hiddenchange", this.onHiddenChange, this);
72.30808 +            cm.on("columnmoved", this.onColumnMove, this);
72.30809 +            cm.on("columnlockchange", this.onColumnLock, this);
72.30810 +        }
72.30811 +        this.cm = cm;
72.30812 +    },
72.30813 +
72.30814 +        onDataChange : function(){
72.30815 +        this.refresh();
72.30816 +        this.updateHeaderSortState();
72.30817 +    },
72.30818 +
72.30819 +        onClear : function(){
72.30820 +        this.refresh();
72.30821 +    },
72.30822 +
72.30823 +        onUpdate : function(ds, record){
72.30824 +        this.refreshRow(record);
72.30825 +    },
72.30826 +
72.30827 +        onAdd : function(ds, records, index){
72.30828 +        this.insertRows(ds, index, index + (records.length-1));
72.30829 +    },
72.30830 +
72.30831 +        onRemove : function(ds, record, index, isUpdate){
72.30832 +        if(isUpdate !== true){
72.30833 +            this.fireEvent("beforerowremoved", this, index, record);
72.30834 +        }
72.30835 +        this.removeRow(index);
72.30836 +        if(isUpdate !== true){
72.30837 +            this.processRows(index);
72.30838 +            this.applyEmptyText();
72.30839 +            this.fireEvent("rowremoved", this, index, record);
72.30840 +        }
72.30841 +    },
72.30842 +
72.30843 +        onLoad : function(){
72.30844 +        this.scrollToTop();
72.30845 +    },
72.30846 +
72.30847 +        onColWidthChange : function(cm, col, width){
72.30848 +        this.updateColumnWidth(col, width);
72.30849 +    },
72.30850 +
72.30851 +        onHeaderChange : function(cm, col, text){
72.30852 +        this.updateHeaders();
72.30853 +    },
72.30854 +
72.30855 +        onHiddenChange : function(cm, col, hidden){
72.30856 +        this.updateColumnHidden(col, hidden);
72.30857 +    },
72.30858 +
72.30859 +        onColumnMove : function(cm, oldIndex, newIndex){
72.30860 +        this.indexMap = null;
72.30861 +        var s = this.getScrollState();
72.30862 +        this.refresh(true);
72.30863 +        this.restoreScroll(s);
72.30864 +        this.afterMove(newIndex);
72.30865 +    },
72.30866 +
72.30867 +        onColConfigChange : function(){
72.30868 +        delete this.lastViewWidth;
72.30869 +        this.indexMap = null;
72.30870 +        this.refresh(true);
72.30871 +    },
72.30872 +
72.30873 +    
72.30874 +        initUI : function(grid){
72.30875 +        grid.on("headerclick", this.onHeaderClick, this);
72.30876 +
72.30877 +        if(grid.trackMouseOver){
72.30878 +            grid.on("mouseover", this.onRowOver, this);
72.30879 +          grid.on("mouseout", this.onRowOut, this);
72.30880 +      }
72.30881 +    },
72.30882 +
72.30883 +        initEvents : function(){
72.30884 +
72.30885 +    },
72.30886 +
72.30887 +        onHeaderClick : function(g, index){
72.30888 +        if(this.headersDisabled || !this.cm.isSortable(index)){
72.30889 +            return;
72.30890 +        }
72.30891 +        g.stopEditing(true);
72.30892 +        g.store.sort(this.cm.getDataIndex(index));
72.30893 +    },
72.30894 +
72.30895 +        onRowOver : function(e, t){
72.30896 +        var row;
72.30897 +        if((row = this.findRowIndex(t)) !== false){
72.30898 +            this.addRowClass(row, "x-grid3-row-over");
72.30899 +        }
72.30900 +    },
72.30901 +
72.30902 +        onRowOut : function(e, t){
72.30903 +        var row;
72.30904 +        if((row = this.findRowIndex(t)) !== false && row !== this.findRowIndex(e.getRelatedTarget())){
72.30905 +            this.removeRowClass(row, "x-grid3-row-over");
72.30906 +        }
72.30907 +    },
72.30908 +
72.30909 +        handleWheel : function(e){
72.30910 +        e.stopPropagation();
72.30911 +    },
72.30912 +
72.30913 +        onRowSelect : function(row){
72.30914 +        this.addRowClass(row, "x-grid3-row-selected");
72.30915 +    },
72.30916 +
72.30917 +        onRowDeselect : function(row){
72.30918 +        this.removeRowClass(row, "x-grid3-row-selected");
72.30919 +    },
72.30920 +
72.30921 +        onCellSelect : function(row, col){
72.30922 +        var cell = this.getCell(row, col);
72.30923 +        if(cell){
72.30924 +            this.fly(cell).addClass("x-grid3-cell-selected");
72.30925 +        }
72.30926 +    },
72.30927 +
72.30928 +        onCellDeselect : function(row, col){
72.30929 +        var cell = this.getCell(row, col);
72.30930 +        if(cell){
72.30931 +            this.fly(cell).removeClass("x-grid3-cell-selected");
72.30932 +        }
72.30933 +    },
72.30934 +
72.30935 +        onColumnSplitterMoved : function(i, w){
72.30936 +        this.userResized = true;
72.30937 +        var cm = this.grid.colModel;
72.30938 +        cm.setColumnWidth(i, w, true);
72.30939 +
72.30940 +        if(this.forceFit){
72.30941 +            this.fitColumns(true, false, i);
72.30942 +            this.updateAllColumnWidths();
72.30943 +        }else{
72.30944 +            this.updateColumnWidth(i, w);
72.30945 +        }
72.30946 +
72.30947 +        this.grid.fireEvent("columnresize", i, w);
72.30948 +    },
72.30949 +
72.30950 +        handleHdMenuClick : function(item){
72.30951 +        var index = this.hdCtxIndex;
72.30952 +        var cm = this.cm, ds = this.ds;
72.30953 +        switch(item.id){
72.30954 +            case "asc":
72.30955 +                ds.sort(cm.getDataIndex(index), "ASC");
72.30956 +                break;
72.30957 +            case "desc":
72.30958 +                ds.sort(cm.getDataIndex(index), "DESC");
72.30959 +                break;
72.30960 +            default:
72.30961 +                index = cm.getIndexById(item.id.substr(4));
72.30962 +                if(index != -1){
72.30963 +                    if(item.checked && cm.getColumnsBy(this.isHideableColumn, this).length <= 1){
72.30964 +                        this.onDenyColumnHide();
72.30965 +                        return false;
72.30966 +                    }
72.30967 +                    cm.setHidden(index, item.checked);
72.30968 +                }
72.30969 +        }
72.30970 +        return true;
72.30971 +    },
72.30972 +
72.30973 +        isHideableColumn : function(c){
72.30974 +        return !c.hidden && !c.fixed;
72.30975 +    },
72.30976 +
72.30977 +        beforeColMenuShow : function(){
72.30978 +        var cm = this.cm,  colCount = cm.getColumnCount();
72.30979 +        this.colMenu.removeAll();
72.30980 +        for(var i = 0; i < colCount; i++){
72.30981 +            if(cm.config[i].fixed !== true && cm.config[i].hideable !== false){
72.30982 +                this.colMenu.add(new Ext.menu.CheckItem({
72.30983 +                    id: "col-"+cm.getColumnId(i),
72.30984 +                    text: cm.getColumnHeader(i),
72.30985 +                    checked: !cm.isHidden(i),
72.30986 +                    hideOnClick:false,
72.30987 +                    disabled: cm.config[i].hideable === false
72.30988 +                }));
72.30989 +            }
72.30990 +        }
72.30991 +    },
72.30992 +
72.30993 +        handleHdDown : function(e, t){
72.30994 +        if(Ext.fly(t).hasClass('x-grid3-hd-btn')){
72.30995 +            e.stopEvent();
72.30996 +            var hd = this.findHeaderCell(t);
72.30997 +            Ext.fly(hd).addClass('x-grid3-hd-menu-open');
72.30998 +            var index = this.getCellIndex(hd);
72.30999 +            this.hdCtxIndex = index;
72.31000 +            var ms = this.hmenu.items, cm = this.cm;
72.31001 +            ms.get("asc").setDisabled(!cm.isSortable(index));
72.31002 +            ms.get("desc").setDisabled(!cm.isSortable(index));
72.31003 +            this.hmenu.on("hide", function(){
72.31004 +                Ext.fly(hd).removeClass('x-grid3-hd-menu-open');
72.31005 +            }, this, {single:true});
72.31006 +            this.hmenu.show(t, "tl-bl?");
72.31007 +        }
72.31008 +    },
72.31009 +
72.31010 +        handleHdOver : function(e, t){
72.31011 +        var hd = this.findHeaderCell(t);
72.31012 +        if(hd && !this.headersDisabled){
72.31013 +            this.activeHd = hd;
72.31014 +            this.activeHdIndex = this.getCellIndex(hd);
72.31015 +            var fly = this.fly(hd);
72.31016 +            this.activeHdRegion = fly.getRegion();
72.31017 +            if(!this.cm.isMenuDisabled(this.activeHdIndex)){
72.31018 +                fly.addClass("x-grid3-hd-over");
72.31019 +                this.activeHdBtn = fly.child('.x-grid3-hd-btn');
72.31020 +                if(this.activeHdBtn){
72.31021 +                    this.activeHdBtn.dom.style.height = (hd.firstChild.offsetHeight-1)+'px';
72.31022 +                }
72.31023 +            }
72.31024 +        }
72.31025 +    },
72.31026 +
72.31027 +        handleHdMove : function(e, t){
72.31028 +        if(this.activeHd && !this.headersDisabled){
72.31029 +            var hw = this.splitHandleWidth || 5;
72.31030 +            var r = this.activeHdRegion;
72.31031 +            var x = e.getPageX();
72.31032 +            var ss = this.activeHd.style;
72.31033 +            if(x - r.left <= hw && this.cm.isResizable(this.activeHdIndex-1)){
72.31034 +                ss.cursor = Ext.isAir ? 'move' : Ext.isSafari ? 'e-resize' : 'col-resize';             }else if(r.right - x <= (!this.activeHdBtn ? hw : 2) && this.cm.isResizable(this.activeHdIndex)){
72.31035 +                ss.cursor = Ext.isAir ? 'move' : Ext.isSafari ? 'w-resize' : 'col-resize';
72.31036 +            }else{
72.31037 +                ss.cursor = '';
72.31038 +            }
72.31039 +        }
72.31040 +    },
72.31041 +
72.31042 +        handleHdOut : function(e, t){
72.31043 +        var hd = this.findHeaderCell(t);
72.31044 +        if(hd && (!Ext.isIE || !e.within(hd, true))){
72.31045 +            this.activeHd = null;
72.31046 +            this.fly(hd).removeClass("x-grid3-hd-over");
72.31047 +            hd.style.cursor = '';
72.31048 +        }
72.31049 +    },
72.31050 +
72.31051 +        hasRows : function(){
72.31052 +        var fc = this.mainBody.dom.firstChild;
72.31053 +        return fc && fc.className != 'x-grid-empty';
72.31054 +    },
72.31055 +
72.31056 +        bind : function(d, c){
72.31057 +        this.initData(d, c);
72.31058 +    }
72.31059 +});
72.31060 +
72.31061 +
72.31062 +Ext.grid.GridView.SplitDragZone = function(grid, hd){
72.31063 +    this.grid = grid;
72.31064 +    this.view = grid.getView();
72.31065 +    this.marker = this.view.resizeMarker;
72.31066 +    this.proxy = this.view.resizeProxy;
72.31067 +    Ext.grid.GridView.SplitDragZone.superclass.constructor.call(this, hd,
72.31068 +        "gridSplitters" + this.grid.getGridEl().id, {
72.31069 +        dragElId : Ext.id(this.proxy.dom), resizeFrame:false
72.31070 +    });
72.31071 +    this.scroll = false;
72.31072 +    this.hw = this.view.splitHandleWidth || 5;
72.31073 +};
72.31074 +Ext.extend(Ext.grid.GridView.SplitDragZone, Ext.dd.DDProxy, {
72.31075 +
72.31076 +    b4StartDrag : function(x, y){
72.31077 +        this.view.headersDisabled = true;
72.31078 +        var h = this.view.mainWrap.getHeight();
72.31079 +        this.marker.setHeight(h);
72.31080 +        this.marker.show();
72.31081 +        this.marker.alignTo(this.view.getHeaderCell(this.cellIndex), 'tl-tl', [-2, 0]);
72.31082 +        this.proxy.setHeight(h);
72.31083 +        var w = this.cm.getColumnWidth(this.cellIndex);
72.31084 +        var minw = Math.max(w-this.grid.minColumnWidth, 0);
72.31085 +        this.resetConstraints();
72.31086 +        this.setXConstraint(minw, 1000);
72.31087 +        this.setYConstraint(0, 0);
72.31088 +        this.minX = x - minw;
72.31089 +        this.maxX = x + 1000;
72.31090 +        this.startPos = x;
72.31091 +        Ext.dd.DDProxy.prototype.b4StartDrag.call(this, x, y);
72.31092 +    },
72.31093 +
72.31094 +
72.31095 +    handleMouseDown : function(e){
72.31096 +        var t = this.view.findHeaderCell(e.getTarget());
72.31097 +        if(t){
72.31098 +            var xy = this.view.fly(t).getXY(), x = xy[0], y = xy[1];
72.31099 +            var exy = e.getXY(), ex = exy[0], ey = exy[1];
72.31100 +            var w = t.offsetWidth, adjust = false;
72.31101 +            if((ex - x) <= this.hw){
72.31102 +                adjust = -1;
72.31103 +            }else if((x+w) - ex <= this.hw){
72.31104 +                adjust = 0;
72.31105 +            }
72.31106 +            if(adjust !== false){
72.31107 +                this.cm = this.grid.colModel;
72.31108 +                var ci = this.view.getCellIndex(t);
72.31109 +                if(adjust == -1){
72.31110 +                  if (ci + adjust < 0) {
72.31111 +                    return;
72.31112 +                  }
72.31113 +                    while(this.cm.isHidden(ci+adjust)){
72.31114 +                        --adjust;
72.31115 +                        if(ci+adjust < 0){
72.31116 +                            return;
72.31117 +                        }
72.31118 +                    }
72.31119 +                }
72.31120 +                this.cellIndex = ci+adjust;
72.31121 +                this.split = t.dom;
72.31122 +                if(this.cm.isResizable(this.cellIndex) && !this.cm.isFixed(this.cellIndex)){
72.31123 +                    Ext.grid.GridView.SplitDragZone.superclass.handleMouseDown.apply(this, arguments);
72.31124 +                }
72.31125 +            }else if(this.view.columnDrag){
72.31126 +                this.view.columnDrag.callHandleMouseDown(e);
72.31127 +            }
72.31128 +        }
72.31129 +    },
72.31130 +
72.31131 +    endDrag : function(e){
72.31132 +        this.marker.hide();
72.31133 +        var v = this.view;
72.31134 +        var endX = Math.max(this.minX, e.getPageX());
72.31135 +        var diff = endX - this.startPos;
72.31136 +        v.onColumnSplitterMoved(this.cellIndex, this.cm.getColumnWidth(this.cellIndex)+diff);
72.31137 +        setTimeout(function(){
72.31138 +            v.headersDisabled = false;
72.31139 +        }, 50);
72.31140 +    },
72.31141 +
72.31142 +    autoOffset : function(){
72.31143 +        this.setDelta(0,0);
72.31144 +    }
72.31145 +});
72.31146 +
72.31147 +
72.31148 +Ext.grid.GroupingView = Ext.extend(Ext.grid.GridView, {
72.31149 +    
72.31150 +    hideGroupedColumn:false,
72.31151 +    
72.31152 +    showGroupName:true,
72.31153 +    
72.31154 +    startCollapsed:false,
72.31155 +    
72.31156 +    enableGrouping:true,
72.31157 +    
72.31158 +    enableGroupingMenu:true,
72.31159 +    
72.31160 +    enableNoGroups:true,
72.31161 +    
72.31162 +    emptyGroupText : '(None)',
72.31163 +    
72.31164 +    ignoreAdd: false,
72.31165 +    
72.31166 +    groupTextTpl : '{text}',
72.31167 +    
72.31168 +    
72.31169 +
72.31170 +    
72.31171 +    gidSeed : 1000,
72.31172 +
72.31173 +    
72.31174 +    initTemplates : function(){
72.31175 +        Ext.grid.GroupingView.superclass.initTemplates.call(this);
72.31176 +        this.state = {};
72.31177 +
72.31178 +        var sm = this.grid.getSelectionModel();
72.31179 +        sm.on(sm.selectRow ? 'beforerowselect' : 'beforecellselect',
72.31180 +                this.onBeforeRowSelect, this);
72.31181 +
72.31182 +        if(!this.startGroup){
72.31183 +            this.startGroup = new Ext.XTemplate(
72.31184 +                '<div id="{groupId}" class="x-grid-group {cls}">',
72.31185 +                    '<div id="{groupId}-hd" class="x-grid-group-hd" style="{style}"><div>', this.groupTextTpl ,'</div></div>',
72.31186 +                    '<div id="{groupId}-bd" class="x-grid-group-body">'
72.31187 +            );
72.31188 +        }
72.31189 +        this.startGroup.compile();
72.31190 +        this.endGroup = '</div></div>';
72.31191 +    },
72.31192 +
72.31193 +    
72.31194 +    findGroup : function(el){
72.31195 +        return Ext.fly(el).up('.x-grid-group', this.mainBody.dom);
72.31196 +    },
72.31197 +
72.31198 +    
72.31199 +    getGroups : function(){
72.31200 +        return this.hasRows() ? this.mainBody.dom.childNodes : [];
72.31201 +    },
72.31202 +
72.31203 +    
72.31204 +    onAdd : function(){
72.31205 +        if(this.enableGrouping && !this.ignoreAdd){
72.31206 +            var ss = this.getScrollState();
72.31207 +            this.refresh();
72.31208 +            this.restoreScroll(ss);
72.31209 +        }else if(!this.enableGrouping){
72.31210 +            Ext.grid.GroupingView.superclass.onAdd.apply(this, arguments);
72.31211 +        }
72.31212 +    },
72.31213 +
72.31214 +    
72.31215 +    onRemove : function(ds, record, index, isUpdate){
72.31216 +        Ext.grid.GroupingView.superclass.onRemove.apply(this, arguments);
72.31217 +        var g = document.getElementById(record._groupId);
72.31218 +        if(g && g.childNodes[1].childNodes.length < 1){
72.31219 +            Ext.removeNode(g);
72.31220 +        }
72.31221 +        this.applyEmptyText();
72.31222 +    },
72.31223 +
72.31224 +    
72.31225 +    refreshRow : function(record){
72.31226 +        if(this.ds.getCount()==1){
72.31227 +            this.refresh();
72.31228 +        }else{
72.31229 +            this.isUpdating = true;
72.31230 +            Ext.grid.GroupingView.superclass.refreshRow.apply(this, arguments);
72.31231 +            this.isUpdating = false;
72.31232 +        }
72.31233 +    },
72.31234 +
72.31235 +    
72.31236 +    beforeMenuShow : function(){
72.31237 +        var field = this.getGroupField();
72.31238 +        var g = this.hmenu.items.get('groupBy');
72.31239 +        if(g){
72.31240 +            g.setDisabled(this.cm.config[this.hdCtxIndex].groupable === false);
72.31241 +        }
72.31242 +        var s = this.hmenu.items.get('showGroups');
72.31243 +        if(s){
72.31244 +           s.setDisabled(!field && this.cm.config[this.hdCtxIndex].groupable === false);
72.31245 +			s.setChecked(!!field, true);
72.31246 +        }
72.31247 +    },
72.31248 +
72.31249 +    
72.31250 +    renderUI : function(){
72.31251 +        Ext.grid.GroupingView.superclass.renderUI.call(this);
72.31252 +        this.mainBody.on('mousedown', this.interceptMouse, this);
72.31253 +
72.31254 +        if(this.enableGroupingMenu && this.hmenu){
72.31255 +            this.hmenu.add('-',{
72.31256 +                id:'groupBy',
72.31257 +                text: this.groupByText,
72.31258 +                handler: this.onGroupByClick,
72.31259 +                scope: this,
72.31260 +                iconCls:'x-group-by-icon'
72.31261 +            });
72.31262 +            if(this.enableNoGroups){
72.31263 +                this.hmenu.add({
72.31264 +                    id:'showGroups',
72.31265 +                    text: this.showGroupsText,
72.31266 +                    checked: true,
72.31267 +                    checkHandler: this.onShowGroupsClick,
72.31268 +                    scope: this
72.31269 +                });
72.31270 +            }
72.31271 +            this.hmenu.on('beforeshow', this.beforeMenuShow, this);
72.31272 +        }
72.31273 +    },
72.31274 +
72.31275 +    
72.31276 +    onGroupByClick : function(){
72.31277 +        this.grid.store.groupBy(this.cm.getDataIndex(this.hdCtxIndex));
72.31278 +        this.beforeMenuShow(); 
72.31279 +    },
72.31280 +
72.31281 +    
72.31282 +    onShowGroupsClick : function(mi, checked){
72.31283 +        if(checked){
72.31284 +            this.onGroupByClick();
72.31285 +        }else{
72.31286 +            this.grid.store.clearGrouping();
72.31287 +        }
72.31288 +    },
72.31289 +
72.31290 +    
72.31291 +    toggleGroup : function(group, expanded){
72.31292 +        this.grid.stopEditing(true);
72.31293 +        group = Ext.getDom(group);
72.31294 +        var gel = Ext.fly(group);
72.31295 +        expanded = expanded !== undefined ?
72.31296 +                expanded : gel.hasClass('x-grid-group-collapsed');
72.31297 +
72.31298 +        this.state[gel.dom.id] = expanded;
72.31299 +        gel[expanded ? 'removeClass' : 'addClass']('x-grid-group-collapsed');
72.31300 +    },
72.31301 +
72.31302 +    
72.31303 +    toggleAllGroups : function(expanded){
72.31304 +        var groups = this.getGroups();
72.31305 +        for(var i = 0, len = groups.length; i < len; i++){
72.31306 +            this.toggleGroup(groups[i], expanded);
72.31307 +        }
72.31308 +    },
72.31309 +
72.31310 +    
72.31311 +    expandAllGroups : function(){
72.31312 +        this.toggleAllGroups(true);
72.31313 +    },
72.31314 +
72.31315 +    
72.31316 +    collapseAllGroups : function(){
72.31317 +        this.toggleAllGroups(false);
72.31318 +    },
72.31319 +
72.31320 +    
72.31321 +    interceptMouse : function(e){
72.31322 +        var hd = e.getTarget('.x-grid-group-hd', this.mainBody);
72.31323 +        if(hd){
72.31324 +            e.stopEvent();
72.31325 +            this.toggleGroup(hd.parentNode);
72.31326 +        }
72.31327 +    },
72.31328 +
72.31329 +    
72.31330 +    getGroup : function(v, r, groupRenderer, rowIndex, colIndex, ds){
72.31331 +        var g = groupRenderer ? groupRenderer(v, {}, r, rowIndex, colIndex, ds) : String(v);
72.31332 +        if(g === ''){
72.31333 +            g = this.cm.config[colIndex].emptyGroupText || this.emptyGroupText;
72.31334 +        }
72.31335 +        return g;
72.31336 +    },
72.31337 +
72.31338 +    
72.31339 +    getGroupField : function(){
72.31340 +        return this.grid.store.getGroupState();
72.31341 +    },
72.31342 +
72.31343 +    
72.31344 +    renderRows : function(){
72.31345 +        var groupField = this.getGroupField();
72.31346 +        var eg = !!groupField;
72.31347 +        
72.31348 +        if(this.hideGroupedColumn) {
72.31349 +            var colIndex = this.cm.findColumnIndex(groupField);
72.31350 +            if(!eg && this.lastGroupField !== undefined) {
72.31351 +                this.mainBody.update('');
72.31352 +                this.cm.setHidden(this.cm.findColumnIndex(this.lastGroupField), false);
72.31353 +                delete this.lastGroupField;
72.31354 +            }else if (eg && this.lastGroupField === undefined) {
72.31355 +                this.lastGroupField = groupField;
72.31356 +                this.cm.setHidden(colIndex, true);
72.31357 +            }else if (eg && this.lastGroupField !== undefined && groupField !== this.lastGroupField) {
72.31358 +                this.mainBody.update('');
72.31359 +                var oldIndex = this.cm.findColumnIndex(this.lastGroupField);
72.31360 +                this.cm.setHidden(oldIndex, false);
72.31361 +                this.lastGroupField = groupField;
72.31362 +                this.cm.setHidden(colIndex, true);
72.31363 +            }
72.31364 +        }
72.31365 +        return Ext.grid.GroupingView.superclass.renderRows.apply(
72.31366 +                    this, arguments);
72.31367 +    },
72.31368 +
72.31369 +    
72.31370 +    doRender : function(cs, rs, ds, startRow, colCount, stripe){
72.31371 +        if(rs.length < 1){
72.31372 +            return '';
72.31373 +        }
72.31374 +        var groupField = this.getGroupField();
72.31375 +        var colIndex = this.cm.findColumnIndex(groupField);
72.31376 +
72.31377 +        this.enableGrouping = !!groupField;
72.31378 +
72.31379 +        if(!this.enableGrouping || this.isUpdating){
72.31380 +            return Ext.grid.GroupingView.superclass.doRender.apply(
72.31381 +                    this, arguments);
72.31382 +        }
72.31383 +        var gstyle = 'width:'+this.getTotalWidth()+';';
72.31384 +
72.31385 +        var gidPrefix = this.grid.getGridEl().id;
72.31386 +        var cfg = this.cm.config[colIndex];
72.31387 +        var groupRenderer = cfg.groupRenderer || cfg.renderer;
72.31388 +        var prefix = this.showGroupName ?
72.31389 +                     (cfg.groupName || cfg.header)+': ' : '';
72.31390 +
72.31391 +        var groups = [], curGroup, i, len, gid;
72.31392 +        for(i = 0, len = rs.length; i < len; i++){
72.31393 +            var rowIndex = startRow + i;
72.31394 +            var r = rs[i],
72.31395 +                gvalue = r.data[groupField],
72.31396 +                g = this.getGroup(gvalue, r, groupRenderer, rowIndex, colIndex, ds);
72.31397 +            if(!curGroup || curGroup.group != g){
72.31398 +                gid = gidPrefix + '-gp-' + groupField + '-' + Ext.util.Format.htmlEncode(g);
72.31399 +               	
72.31400 +				
72.31401 +				var isCollapsed  = typeof this.state[gid] !== 'undefined' ? !this.state[gid] : this.startCollapsed;
72.31402 +				var gcls = isCollapsed ? 'x-grid-group-collapsed' : '';	
72.31403 +                curGroup = {
72.31404 +                    group: g,
72.31405 +                    gvalue: gvalue,
72.31406 +                    text: prefix + g,
72.31407 +                    groupId: gid,
72.31408 +                    startRow: rowIndex,
72.31409 +                    rs: [r],
72.31410 +                    cls: gcls,
72.31411 +                    style: gstyle
72.31412 +                };
72.31413 +                groups.push(curGroup);
72.31414 +            }else{
72.31415 +                curGroup.rs.push(r);
72.31416 +            }
72.31417 +            r._groupId = gid;
72.31418 +        }
72.31419 +
72.31420 +        var buf = [];
72.31421 +        for(i = 0, len = groups.length; i < len; i++){
72.31422 +            var g = groups[i];
72.31423 +            this.doGroupStart(buf, g, cs, ds, colCount);
72.31424 +            buf[buf.length] = Ext.grid.GroupingView.superclass.doRender.call(
72.31425 +                    this, cs, g.rs, ds, g.startRow, colCount, stripe);
72.31426 +
72.31427 +            this.doGroupEnd(buf, g, cs, ds, colCount);
72.31428 +        }
72.31429 +        return buf.join('');
72.31430 +    },
72.31431 +
72.31432 +    
72.31433 +    getGroupId : function(value){
72.31434 +        var gidPrefix = this.grid.getGridEl().id;
72.31435 +        var groupField = this.getGroupField();
72.31436 +        var colIndex = this.cm.findColumnIndex(groupField);
72.31437 +        var cfg = this.cm.config[colIndex];
72.31438 +        var groupRenderer = cfg.groupRenderer || cfg.renderer;
72.31439 +        var gtext = this.getGroup(value, {data:{}}, groupRenderer, 0, colIndex, this.ds);
72.31440 +        return gidPrefix + '-gp-' + groupField + '-' + Ext.util.Format.htmlEncode(value);
72.31441 +    },
72.31442 +
72.31443 +    
72.31444 +    doGroupStart : function(buf, g, cs, ds, colCount){
72.31445 +        buf[buf.length] = this.startGroup.apply(g);
72.31446 +    },
72.31447 +
72.31448 +    
72.31449 +    doGroupEnd : function(buf, g, cs, ds, colCount){
72.31450 +        buf[buf.length] = this.endGroup;
72.31451 +    },
72.31452 +
72.31453 +    
72.31454 +    getRows : function(){
72.31455 +        if(!this.enableGrouping){
72.31456 +            return Ext.grid.GroupingView.superclass.getRows.call(this);
72.31457 +        }
72.31458 +        var r = [];
72.31459 +        var g, gs = this.getGroups();
72.31460 +        for(var i = 0, len = gs.length; i < len; i++){
72.31461 +            g = gs[i].childNodes[1].childNodes;
72.31462 +            for(var j = 0, jlen = g.length; j < jlen; j++){
72.31463 +                r[r.length] = g[j];
72.31464 +            }
72.31465 +        }
72.31466 +        return r;
72.31467 +    },
72.31468 +
72.31469 +    
72.31470 +    updateGroupWidths : function(){
72.31471 +        if(!this.enableGrouping || !this.hasRows()){
72.31472 +            return;
72.31473 +        }
72.31474 +        var tw = Math.max(this.cm.getTotalWidth(), this.el.dom.offsetWidth-this.scrollOffset) +'px';
72.31475 +        var gs = this.getGroups();
72.31476 +        for(var i = 0, len = gs.length; i < len; i++){
72.31477 +            gs[i].firstChild.style.width = tw;
72.31478 +        }
72.31479 +    },
72.31480 +
72.31481 +    
72.31482 +    onColumnWidthUpdated : function(col, w, tw){
72.31483 +        this.updateGroupWidths();
72.31484 +    },
72.31485 +
72.31486 +    
72.31487 +    onAllColumnWidthsUpdated : function(ws, tw){
72.31488 +        this.updateGroupWidths();
72.31489 +    },
72.31490 +
72.31491 +    
72.31492 +    onColumnHiddenUpdated : function(col, hidden, tw){
72.31493 +        this.updateGroupWidths();
72.31494 +    },
72.31495 +
72.31496 +    
72.31497 +    onLayout : function(){
72.31498 +        this.updateGroupWidths();
72.31499 +    },
72.31500 +
72.31501 +    
72.31502 +    onBeforeRowSelect : function(sm, rowIndex){
72.31503 +        if(!this.enableGrouping){
72.31504 +            return;
72.31505 +        }
72.31506 +        var row = this.getRow(rowIndex);
72.31507 +        if(row && !row.offsetParent){
72.31508 +            var g = this.findGroup(row);
72.31509 +            this.toggleGroup(g, true);
72.31510 +        }
72.31511 +    },
72.31512 +
72.31513 +    
72.31514 +    groupByText: 'Group By This Field',
72.31515 +    
72.31516 +    showGroupsText: 'Show in Groups'
72.31517 +});
72.31518 +
72.31519 +Ext.grid.GroupingView.GROUP_ID = 1000;
72.31520 +
72.31521 +
72.31522 +Ext.grid.HeaderDragZone = function(grid, hd, hd2){
72.31523 +    this.grid = grid;
72.31524 +    this.view = grid.getView();
72.31525 +    this.ddGroup = "gridHeader" + this.grid.getGridEl().id;
72.31526 +    Ext.grid.HeaderDragZone.superclass.constructor.call(this, hd);
72.31527 +    if(hd2){
72.31528 +        this.setHandleElId(Ext.id(hd));
72.31529 +        this.setOuterHandleElId(Ext.id(hd2));
72.31530 +    }
72.31531 +    this.scroll = false;
72.31532 +};
72.31533 +Ext.extend(Ext.grid.HeaderDragZone, Ext.dd.DragZone, {
72.31534 +    maxDragWidth: 120,
72.31535 +    getDragData : function(e){
72.31536 +        var t = Ext.lib.Event.getTarget(e);
72.31537 +        var h = this.view.findHeaderCell(t);
72.31538 +        if(h){
72.31539 +            return {ddel: h.firstChild, header:h};
72.31540 +        }
72.31541 +        return false;
72.31542 +    },
72.31543 +
72.31544 +    onInitDrag : function(e){
72.31545 +        this.view.headersDisabled = true;
72.31546 +        var clone = this.dragData.ddel.cloneNode(true);
72.31547 +        clone.id = Ext.id();
72.31548 +        clone.style.width = Math.min(this.dragData.header.offsetWidth,this.maxDragWidth) + "px";
72.31549 +        this.proxy.update(clone);
72.31550 +        return true;
72.31551 +    },
72.31552 +
72.31553 +    afterValidDrop : function(){
72.31554 +        var v = this.view;
72.31555 +        setTimeout(function(){
72.31556 +            v.headersDisabled = false;
72.31557 +        }, 50);
72.31558 +    },
72.31559 +
72.31560 +    afterInvalidDrop : function(){
72.31561 +        var v = this.view;
72.31562 +        setTimeout(function(){
72.31563 +            v.headersDisabled = false;
72.31564 +        }, 50);
72.31565 +    }
72.31566 +});
72.31567 +
72.31568 +
72.31569 +
72.31570 +Ext.grid.HeaderDropZone = function(grid, hd, hd2){
72.31571 +    this.grid = grid;
72.31572 +    this.view = grid.getView();
72.31573 +    
72.31574 +    this.proxyTop = Ext.DomHelper.append(document.body, {
72.31575 +        cls:"col-move-top", html:"&#160;"
72.31576 +    }, true);
72.31577 +    this.proxyBottom = Ext.DomHelper.append(document.body, {
72.31578 +        cls:"col-move-bottom", html:"&#160;"
72.31579 +    }, true);
72.31580 +    this.proxyTop.hide = this.proxyBottom.hide = function(){
72.31581 +        this.setLeftTop(-100,-100);
72.31582 +        this.setStyle("visibility", "hidden");
72.31583 +    };
72.31584 +    this.ddGroup = "gridHeader" + this.grid.getGridEl().id;
72.31585 +    
72.31586 +    
72.31587 +    Ext.grid.HeaderDropZone.superclass.constructor.call(this, grid.getGridEl().dom);
72.31588 +};
72.31589 +Ext.extend(Ext.grid.HeaderDropZone, Ext.dd.DropZone, {
72.31590 +    proxyOffsets : [-4, -9],
72.31591 +    fly: Ext.Element.fly,
72.31592 +
72.31593 +    getTargetFromEvent : function(e){
72.31594 +        var t = Ext.lib.Event.getTarget(e);
72.31595 +        var cindex = this.view.findCellIndex(t);
72.31596 +        if(cindex !== false){
72.31597 +            return this.view.getHeaderCell(cindex);
72.31598 +        }
72.31599 +    },
72.31600 +
72.31601 +    nextVisible : function(h){
72.31602 +        var v = this.view, cm = this.grid.colModel;
72.31603 +        h = h.nextSibling;
72.31604 +        while(h){
72.31605 +            if(!cm.isHidden(v.getCellIndex(h))){
72.31606 +                return h;
72.31607 +            }
72.31608 +            h = h.nextSibling;
72.31609 +        }
72.31610 +        return null;
72.31611 +    },
72.31612 +
72.31613 +    prevVisible : function(h){
72.31614 +        var v = this.view, cm = this.grid.colModel;
72.31615 +        h = h.prevSibling;
72.31616 +        while(h){
72.31617 +            if(!cm.isHidden(v.getCellIndex(h))){
72.31618 +                return h;
72.31619 +            }
72.31620 +            h = h.prevSibling;
72.31621 +        }
72.31622 +        return null;
72.31623 +    },
72.31624 +
72.31625 +    positionIndicator : function(h, n, e){
72.31626 +        var x = Ext.lib.Event.getPageX(e);
72.31627 +        var r = Ext.lib.Dom.getRegion(n.firstChild);
72.31628 +        var px, pt, py = r.top + this.proxyOffsets[1];
72.31629 +        if((r.right - x) <= (r.right-r.left)/2){
72.31630 +            px = r.right+this.view.borderWidth;
72.31631 +            pt = "after";
72.31632 +        }else{
72.31633 +            px = r.left;
72.31634 +            pt = "before";
72.31635 +        }
72.31636 +        var oldIndex = this.view.getCellIndex(h);
72.31637 +        var newIndex = this.view.getCellIndex(n);
72.31638 +
72.31639 +        if(this.grid.colModel.isFixed(newIndex)){
72.31640 +            return false;
72.31641 +        }
72.31642 +
72.31643 +        var locked = this.grid.colModel.isLocked(newIndex);
72.31644 +
72.31645 +        if(pt == "after"){
72.31646 +            newIndex++;
72.31647 +        }
72.31648 +        if(oldIndex < newIndex){
72.31649 +            newIndex--;
72.31650 +        }
72.31651 +        if(oldIndex == newIndex && (locked == this.grid.colModel.isLocked(oldIndex))){
72.31652 +            return false;
72.31653 +        }
72.31654 +        px +=  this.proxyOffsets[0];
72.31655 +        this.proxyTop.setLeftTop(px, py);
72.31656 +        this.proxyTop.show();
72.31657 +        if(!this.bottomOffset){
72.31658 +            this.bottomOffset = this.view.mainHd.getHeight();
72.31659 +        }
72.31660 +        this.proxyBottom.setLeftTop(px, py+this.proxyTop.dom.offsetHeight+this.bottomOffset);
72.31661 +        this.proxyBottom.show();
72.31662 +        return pt;
72.31663 +    },
72.31664 +
72.31665 +    onNodeEnter : function(n, dd, e, data){
72.31666 +        if(data.header != n){
72.31667 +            this.positionIndicator(data.header, n, e);
72.31668 +        }
72.31669 +    },
72.31670 +
72.31671 +    onNodeOver : function(n, dd, e, data){
72.31672 +        var result = false;
72.31673 +        if(data.header != n){
72.31674 +            result = this.positionIndicator(data.header, n, e);
72.31675 +        }
72.31676 +        if(!result){
72.31677 +            this.proxyTop.hide();
72.31678 +            this.proxyBottom.hide();
72.31679 +        }
72.31680 +        return result ? this.dropAllowed : this.dropNotAllowed;
72.31681 +    },
72.31682 +
72.31683 +    onNodeOut : function(n, dd, e, data){
72.31684 +        this.proxyTop.hide();
72.31685 +        this.proxyBottom.hide();
72.31686 +    },
72.31687 +
72.31688 +    onNodeDrop : function(n, dd, e, data){
72.31689 +        var h = data.header;
72.31690 +        if(h != n){
72.31691 +            var cm = this.grid.colModel;
72.31692 +            var x = Ext.lib.Event.getPageX(e);
72.31693 +            var r = Ext.lib.Dom.getRegion(n.firstChild);
72.31694 +            var pt = (r.right - x) <= ((r.right-r.left)/2) ? "after" : "before";
72.31695 +            var oldIndex = this.view.getCellIndex(h);
72.31696 +            var newIndex = this.view.getCellIndex(n);
72.31697 +            var locked = cm.isLocked(newIndex);
72.31698 +            if(pt == "after"){
72.31699 +                newIndex++;
72.31700 +            }
72.31701 +            if(oldIndex < newIndex){
72.31702 +                newIndex--;
72.31703 +            }
72.31704 +            if(oldIndex == newIndex && (locked == cm.isLocked(oldIndex))){
72.31705 +                return false;
72.31706 +            }
72.31707 +            cm.setLocked(oldIndex, locked, true);
72.31708 +            cm.moveColumn(oldIndex, newIndex);
72.31709 +            this.grid.fireEvent("columnmove", oldIndex, newIndex);
72.31710 +            return true;
72.31711 +        }
72.31712 +        return false;
72.31713 +    }
72.31714 +});
72.31715 +
72.31716 +
72.31717 +Ext.grid.GridView.ColumnDragZone = function(grid, hd){
72.31718 +    Ext.grid.GridView.ColumnDragZone.superclass.constructor.call(this, grid, hd, null);
72.31719 +    this.proxy.el.addClass('x-grid3-col-dd');
72.31720 +};
72.31721 +
72.31722 +Ext.extend(Ext.grid.GridView.ColumnDragZone, Ext.grid.HeaderDragZone, {
72.31723 +    handleMouseDown : function(e){
72.31724 +
72.31725 +    },
72.31726 +
72.31727 +    callHandleMouseDown : function(e){
72.31728 +        Ext.grid.GridView.ColumnDragZone.superclass.handleMouseDown.call(this, e);
72.31729 +    }
72.31730 +});
72.31731 +Ext.grid.SplitDragZone = function(grid, hd, hd2){
72.31732 +    this.grid = grid;
72.31733 +    this.view = grid.getView();
72.31734 +    this.proxy = this.view.resizeProxy;
72.31735 +    Ext.grid.SplitDragZone.superclass.constructor.call(this, hd,
72.31736 +        "gridSplitters" + this.grid.getGridEl().id, {
72.31737 +        dragElId : Ext.id(this.proxy.dom), resizeFrame:false
72.31738 +    });
72.31739 +    this.setHandleElId(Ext.id(hd));
72.31740 +    this.setOuterHandleElId(Ext.id(hd2));
72.31741 +    this.scroll = false;
72.31742 +};
72.31743 +Ext.extend(Ext.grid.SplitDragZone, Ext.dd.DDProxy, {
72.31744 +    fly: Ext.Element.fly,
72.31745 +
72.31746 +    b4StartDrag : function(x, y){
72.31747 +        this.view.headersDisabled = true;
72.31748 +        this.proxy.setHeight(this.view.mainWrap.getHeight());
72.31749 +        var w = this.cm.getColumnWidth(this.cellIndex);
72.31750 +        var minw = Math.max(w-this.grid.minColumnWidth, 0);
72.31751 +        this.resetConstraints();
72.31752 +        this.setXConstraint(minw, 1000);
72.31753 +        this.setYConstraint(0, 0);
72.31754 +        this.minX = x - minw;
72.31755 +        this.maxX = x + 1000;
72.31756 +        this.startPos = x;
72.31757 +        Ext.dd.DDProxy.prototype.b4StartDrag.call(this, x, y);
72.31758 +    },
72.31759 +
72.31760 +
72.31761 +    handleMouseDown : function(e){
72.31762 +        ev = Ext.EventObject.setEvent(e);
72.31763 +        var t = this.fly(ev.getTarget());
72.31764 +        if(t.hasClass("x-grid-split")){
72.31765 +            this.cellIndex = this.view.getCellIndex(t.dom);
72.31766 +            this.split = t.dom;
72.31767 +            this.cm = this.grid.colModel;
72.31768 +            if(this.cm.isResizable(this.cellIndex) && !this.cm.isFixed(this.cellIndex)){
72.31769 +                Ext.grid.SplitDragZone.superclass.handleMouseDown.apply(this, arguments);
72.31770 +            }
72.31771 +        }
72.31772 +    },
72.31773 +
72.31774 +    endDrag : function(e){
72.31775 +        this.view.headersDisabled = false;
72.31776 +        var endX = Math.max(this.minX, Ext.lib.Event.getPageX(e));
72.31777 +        var diff = endX - this.startPos;
72.31778 +        this.view.onColumnSplitterMoved(this.cellIndex, this.cm.getColumnWidth(this.cellIndex)+diff);
72.31779 +    },
72.31780 +
72.31781 +    autoOffset : function(){
72.31782 +        this.setDelta(0,0);
72.31783 +    }
72.31784 +});
72.31785 +Ext.grid.GridDragZone = function(grid, config){
72.31786 +    this.view = grid.getView();
72.31787 +    Ext.grid.GridDragZone.superclass.constructor.call(this, this.view.mainBody.dom, config);
72.31788 +    if(this.view.lockedBody){
72.31789 +        this.setHandleElId(Ext.id(this.view.mainBody.dom));
72.31790 +        this.setOuterHandleElId(Ext.id(this.view.lockedBody.dom));
72.31791 +    }
72.31792 +    this.scroll = false;
72.31793 +    this.grid = grid;
72.31794 +    this.ddel = document.createElement('div');
72.31795 +    this.ddel.className = 'x-grid-dd-wrap';
72.31796 +};
72.31797 +
72.31798 +Ext.extend(Ext.grid.GridDragZone, Ext.dd.DragZone, {
72.31799 +    ddGroup : "GridDD",
72.31800 +
72.31801 +    getDragData : function(e){
72.31802 +        var t = Ext.lib.Event.getTarget(e);
72.31803 +        var rowIndex = this.view.findRowIndex(t);
72.31804 +        if(rowIndex !== false){
72.31805 +            var sm = this.grid.selModel;
72.31806 +            if(!sm.isSelected(rowIndex) || e.hasModifier()){
72.31807 +                sm.handleMouseDown(this.grid, rowIndex, e);
72.31808 +            }
72.31809 +            return {grid: this.grid, ddel: this.ddel, rowIndex: rowIndex, selections:sm.getSelections()};
72.31810 +        }
72.31811 +        return false;
72.31812 +    },
72.31813 +
72.31814 +    onInitDrag : function(e){
72.31815 +        var data = this.dragData;
72.31816 +        this.ddel.innerHTML = this.grid.getDragDropText();
72.31817 +        this.proxy.update(this.ddel);
72.31818 +            },
72.31819 +
72.31820 +    afterRepair : function(){
72.31821 +        this.dragging = false;
72.31822 +    },
72.31823 +
72.31824 +    getRepairXY : function(e, data){
72.31825 +        return false;
72.31826 +    },
72.31827 +
72.31828 +    onEndDrag : function(data, e){
72.31829 +            },
72.31830 +
72.31831 +    onValidDrop : function(dd, e, id){
72.31832 +                this.hideProxy();
72.31833 +    },
72.31834 +
72.31835 +    beforeInvalidDrop : function(e, id){
72.31836 +
72.31837 +    }
72.31838 +});
72.31839 +
72.31840 +
72.31841 +Ext.grid.ColumnModel = function(config){
72.31842 +	
72.31843 +    this.defaultWidth = 100;
72.31844 +
72.31845 +    
72.31846 +    this.defaultSortable = false;
72.31847 +
72.31848 +    
72.31849 +    if(config.columns){
72.31850 +        Ext.apply(this, config);
72.31851 +        this.setConfig(config.columns, true);
72.31852 +    }else{
72.31853 +        this.setConfig(config, true);
72.31854 +    }
72.31855 +    this.addEvents(
72.31856 +        
72.31857 +	    "widthchange",
72.31858 +        
72.31859 +	    "headerchange",
72.31860 +        
72.31861 +	    "hiddenchange",
72.31862 +	    
72.31863 +        "columnmoved",
72.31864 +                "columnlockchange",
72.31865 +        
72.31866 +        "configchange"
72.31867 +    );
72.31868 +    Ext.grid.ColumnModel.superclass.constructor.call(this);
72.31869 +};
72.31870 +Ext.extend(Ext.grid.ColumnModel, Ext.util.Observable, {
72.31871 +    
72.31872 +    
72.31873 +    
72.31874 +    
72.31875 +    
72.31876 +    
72.31877 +    
72.31878 +    
72.31879 +    
72.31880 +    
72.31881 +    
72.31882 +    
72.31883 +    
72.31884 +    
72.31885 +    
72.31886 +
72.31887 +    
72.31888 +    getColumnId : function(index){
72.31889 +        return this.config[index].id;
72.31890 +    },
72.31891 +
72.31892 +    
72.31893 +    setConfig : function(config, initial){
72.31894 +        if(!initial){             delete this.totalWidth;
72.31895 +            for(var i = 0, len = this.config.length; i < len; i++){
72.31896 +                var c = this.config[i];
72.31897 +                if(c.editor){
72.31898 +                    c.editor.destroy();
72.31899 +                }
72.31900 +            }
72.31901 +        }
72.31902 +        this.config = config;
72.31903 +        this.lookup = {};
72.31904 +                for(var i = 0, len = config.length; i < len; i++){
72.31905 +            var c = config[i];
72.31906 +            if(typeof c.renderer == "string"){
72.31907 +                c.renderer = Ext.util.Format[c.renderer];
72.31908 +            }
72.31909 +            if(typeof c.id == "undefined"){
72.31910 +                c.id = i;
72.31911 +            }
72.31912 +            if(c.editor && c.editor.isFormField){
72.31913 +                c.editor = new Ext.grid.GridEditor(c.editor);
72.31914 +            }
72.31915 +            this.lookup[c.id] = c;
72.31916 +        }
72.31917 +        if(!initial){
72.31918 +            this.fireEvent('configchange', this);
72.31919 +        }
72.31920 +    },
72.31921 +
72.31922 +    
72.31923 +    getColumnById : function(id){
72.31924 +        return this.lookup[id];
72.31925 +    },
72.31926 +
72.31927 +    
72.31928 +    getIndexById : function(id){
72.31929 +        for(var i = 0, len = this.config.length; i < len; i++){
72.31930 +            if(this.config[i].id == id){
72.31931 +                return i;
72.31932 +            }
72.31933 +        }
72.31934 +        return -1;
72.31935 +    },
72.31936 +
72.31937 +        moveColumn : function(oldIndex, newIndex){
72.31938 +        var c = this.config[oldIndex];
72.31939 +        this.config.splice(oldIndex, 1);
72.31940 +        this.config.splice(newIndex, 0, c);
72.31941 +        this.dataMap = null;
72.31942 +        this.fireEvent("columnmoved", this, oldIndex, newIndex);
72.31943 +    },
72.31944 +
72.31945 +        isLocked : function(colIndex){
72.31946 +        return this.config[colIndex].locked === true;
72.31947 +    },
72.31948 +
72.31949 +        setLocked : function(colIndex, value, suppressEvent){
72.31950 +        if(this.isLocked(colIndex) == value){
72.31951 +            return;
72.31952 +        }
72.31953 +        this.config[colIndex].locked = value;
72.31954 +        if(!suppressEvent){
72.31955 +            this.fireEvent("columnlockchange", this, colIndex, value);
72.31956 +        }
72.31957 +    },
72.31958 +
72.31959 +        getTotalLockedWidth : function(){
72.31960 +        var totalWidth = 0;
72.31961 +        for(var i = 0; i < this.config.length; i++){
72.31962 +            if(this.isLocked(i) && !this.isHidden(i)){
72.31963 +                this.totalWidth += this.getColumnWidth(i);
72.31964 +            }
72.31965 +        }
72.31966 +        return totalWidth;
72.31967 +    },
72.31968 +
72.31969 +        getLockedCount : function(){
72.31970 +        for(var i = 0, len = this.config.length; i < len; i++){
72.31971 +            if(!this.isLocked(i)){
72.31972 +                return i;
72.31973 +            }
72.31974 +        }
72.31975 +    },
72.31976 +
72.31977 +    
72.31978 +    getColumnCount : function(visibleOnly){
72.31979 +        if(visibleOnly === true){
72.31980 +            var c = 0;
72.31981 +            for(var i = 0, len = this.config.length; i < len; i++){
72.31982 +                if(!this.isHidden(i)){
72.31983 +                    c++;
72.31984 +                }
72.31985 +            }
72.31986 +            return c;
72.31987 +        }
72.31988 +        return this.config.length;
72.31989 +    },
72.31990 +
72.31991 +    
72.31992 +    getColumnsBy : function(fn, scope){
72.31993 +        var r = [];
72.31994 +        for(var i = 0, len = this.config.length; i < len; i++){
72.31995 +            var c = this.config[i];
72.31996 +            if(fn.call(scope||this, c, i) === true){
72.31997 +                r[r.length] = c;
72.31998 +            }
72.31999 +        }
72.32000 +        return r;
72.32001 +    },
72.32002 +
72.32003 +    
72.32004 +    isSortable : function(col){
72.32005 +        if(typeof this.config[col].sortable == "undefined"){
72.32006 +            return this.defaultSortable;
72.32007 +        }
72.32008 +        return this.config[col].sortable;
72.32009 +    },
72.32010 +
72.32011 +    
72.32012 +    isMenuDisabled : function(col){
72.32013 +        return !!this.config[col].menuDisabled;
72.32014 +    },
72.32015 +
72.32016 +    
72.32017 +    getRenderer : function(col){
72.32018 +        if(!this.config[col].renderer){
72.32019 +            return Ext.grid.ColumnModel.defaultRenderer;
72.32020 +        }
72.32021 +        return this.config[col].renderer;
72.32022 +    },
72.32023 +
72.32024 +    
72.32025 +    setRenderer : function(col, fn){
72.32026 +        this.config[col].renderer = fn;
72.32027 +    },
72.32028 +
72.32029 +    
72.32030 +    getColumnWidth : function(col){
72.32031 +        return this.config[col].width || this.defaultWidth;
72.32032 +    },
72.32033 +
72.32034 +    
72.32035 +    setColumnWidth : function(col, width, suppressEvent){
72.32036 +        this.config[col].width = width;
72.32037 +        this.totalWidth = null;
72.32038 +        if(!suppressEvent){
72.32039 +             this.fireEvent("widthchange", this, col, width);
72.32040 +        }
72.32041 +    },
72.32042 +
72.32043 +    
72.32044 +    getTotalWidth : function(includeHidden){
72.32045 +        if(!this.totalWidth){
72.32046 +            this.totalWidth = 0;
72.32047 +            for(var i = 0, len = this.config.length; i < len; i++){
72.32048 +                if(includeHidden || !this.isHidden(i)){
72.32049 +                    this.totalWidth += this.getColumnWidth(i);
72.32050 +                }
72.32051 +            }
72.32052 +        }
72.32053 +        return this.totalWidth;
72.32054 +    },
72.32055 +
72.32056 +    
72.32057 +    getColumnHeader : function(col){
72.32058 +        return this.config[col].header;
72.32059 +    },
72.32060 +
72.32061 +    
72.32062 +    setColumnHeader : function(col, header){
72.32063 +        this.config[col].header = header;
72.32064 +        this.fireEvent("headerchange", this, col, header);
72.32065 +    },
72.32066 +
72.32067 +    
72.32068 +    getColumnTooltip : function(col){
72.32069 +            return this.config[col].tooltip;
72.32070 +    },
72.32071 +    
72.32072 +    setColumnTooltip : function(col, tooltip){
72.32073 +            this.config[col].tooltip = tooltip;
72.32074 +    },
72.32075 +
72.32076 +    
72.32077 +    getDataIndex : function(col){
72.32078 +        return this.config[col].dataIndex;
72.32079 +    },
72.32080 +
72.32081 +    
72.32082 +    setDataIndex : function(col, dataIndex){
72.32083 +        this.config[col].dataIndex = dataIndex;
72.32084 +    },
72.32085 +
72.32086 +    
72.32087 +    findColumnIndex : function(dataIndex){
72.32088 +        var c = this.config;
72.32089 +        for(var i = 0, len = c.length; i < len; i++){
72.32090 +            if(c[i].dataIndex == dataIndex){
72.32091 +                return i;
72.32092 +            }
72.32093 +        }
72.32094 +        return -1;
72.32095 +    },
72.32096 +
72.32097 +    
72.32098 +    isCellEditable : function(colIndex, rowIndex){
72.32099 +        return (this.config[colIndex].editable || (typeof this.config[colIndex].editable == "undefined" && this.config[colIndex].editor)) ? true : false;
72.32100 +    },
72.32101 +
72.32102 +    
72.32103 +    getCellEditor : function(colIndex, rowIndex){
72.32104 +        return this.config[colIndex].editor;
72.32105 +    },
72.32106 +
72.32107 +    
72.32108 +    setEditable : function(col, editable){
72.32109 +        this.config[col].editable = editable;
72.32110 +    },
72.32111 +
72.32112 +
72.32113 +    
72.32114 +    isHidden : function(colIndex){
72.32115 +        return this.config[colIndex].hidden;
72.32116 +    },
72.32117 +
72.32118 +
72.32119 +    
72.32120 +    isFixed : function(colIndex){
72.32121 +        return this.config[colIndex].fixed;
72.32122 +    },
72.32123 +
72.32124 +    
72.32125 +    isResizable : function(colIndex){
72.32126 +        return colIndex >= 0 && this.config[colIndex].resizable !== false && this.config[colIndex].fixed !== true;
72.32127 +    },
72.32128 +    
72.32129 +    setHidden : function(colIndex, hidden){
72.32130 +        var c = this.config[colIndex];
72.32131 +        if(c.hidden !== hidden){
72.32132 +            c.hidden = hidden;
72.32133 +            this.totalWidth = null;
72.32134 +            this.fireEvent("hiddenchange", this, colIndex, hidden);
72.32135 +        }
72.32136 +    },
72.32137 +
72.32138 +    
72.32139 +    setEditor : function(col, editor){
72.32140 +        this.config[col].editor = editor;
72.32141 +    }
72.32142 +});
72.32143 +
72.32144 +Ext.grid.ColumnModel.defaultRenderer = function(value){
72.32145 +	if(typeof value == "string" && value.length < 1){
72.32146 +	    return "&#160;";
72.32147 +	}
72.32148 +	return value;
72.32149 +};
72.32150 +
72.32151 +Ext.grid.DefaultColumnModel = Ext.grid.ColumnModel;
72.32152 +
72.32153 +
72.32154 +Ext.grid.AbstractSelectionModel = function(){
72.32155 +    this.locked = false;
72.32156 +    Ext.grid.AbstractSelectionModel.superclass.constructor.call(this);
72.32157 +};
72.32158 +
72.32159 +Ext.extend(Ext.grid.AbstractSelectionModel, Ext.util.Observable,  {
72.32160 +    
72.32161 +    init : function(grid){
72.32162 +        this.grid = grid;
72.32163 +        this.initEvents();
72.32164 +    },
72.32165 +
72.32166 +    
72.32167 +    lock : function(){
72.32168 +        this.locked = true;
72.32169 +    },
72.32170 +
72.32171 +    
72.32172 +    unlock : function(){
72.32173 +        this.locked = false;
72.32174 +    },
72.32175 +
72.32176 +    
72.32177 +    isLocked : function(){
72.32178 +        return this.locked;
72.32179 +    }
72.32180 +});
72.32181 +
72.32182 +Ext.grid.RowSelectionModel = function(config){
72.32183 +    Ext.apply(this, config);
72.32184 +    this.selections = new Ext.util.MixedCollection(false, function(o){
72.32185 +        return o.id;
72.32186 +    });
72.32187 +
72.32188 +    this.last = false;
72.32189 +    this.lastActive = false;
72.32190 +
72.32191 +    this.addEvents(
72.32192 +        
72.32193 +	    "selectionchange",
72.32194 +        
72.32195 +	    "beforerowselect",
72.32196 +        
72.32197 +	    "rowselect",
72.32198 +        
72.32199 +	    "rowdeselect"
72.32200 +    );
72.32201 +
72.32202 +    Ext.grid.RowSelectionModel.superclass.constructor.call(this);
72.32203 +};
72.32204 +
72.32205 +Ext.extend(Ext.grid.RowSelectionModel, Ext.grid.AbstractSelectionModel,  {
72.32206 +    
72.32207 +    singleSelect : false,
72.32208 +
72.32209 +	
72.32210 +        initEvents : function(){
72.32211 +
72.32212 +        if(!this.grid.enableDragDrop && !this.grid.enableDrag){
72.32213 +            this.grid.on("rowmousedown", this.handleMouseDown, this);
72.32214 +        }else{             this.grid.on("rowclick", function(grid, rowIndex, e) {
72.32215 +                if(e.button === 0 && !e.shiftKey && !e.ctrlKey) {
72.32216 +                    this.selectRow(rowIndex, false);
72.32217 +                    grid.view.focusRow(rowIndex);
72.32218 +                }
72.32219 +            }, this);
72.32220 +        }
72.32221 +
72.32222 +        this.rowNav = new Ext.KeyNav(this.grid.getGridEl(), {
72.32223 +            "up" : function(e){
72.32224 +                if(!e.shiftKey){
72.32225 +                    this.selectPrevious(e.shiftKey);
72.32226 +                }else if(this.last !== false && this.lastActive !== false){
72.32227 +                    var last = this.last;
72.32228 +                    this.selectRange(this.last,  this.lastActive-1);
72.32229 +                    this.grid.getView().focusRow(this.lastActive);
72.32230 +                    if(last !== false){
72.32231 +                        this.last = last;
72.32232 +                    }
72.32233 +                }else{
72.32234 +                    this.selectFirstRow();
72.32235 +                }
72.32236 +            },
72.32237 +            "down" : function(e){
72.32238 +                if(!e.shiftKey){
72.32239 +                    this.selectNext(e.shiftKey);
72.32240 +                }else if(this.last !== false && this.lastActive !== false){
72.32241 +                    var last = this.last;
72.32242 +                    this.selectRange(this.last,  this.lastActive+1);
72.32243 +                    this.grid.getView().focusRow(this.lastActive);
72.32244 +                    if(last !== false){
72.32245 +                        this.last = last;
72.32246 +                    }
72.32247 +                }else{
72.32248 +                    this.selectFirstRow();
72.32249 +                }
72.32250 +            },
72.32251 +            scope: this
72.32252 +        });
72.32253 +
72.32254 +        var view = this.grid.view;
72.32255 +        view.on("refresh", this.onRefresh, this);
72.32256 +        view.on("rowupdated", this.onRowUpdated, this);
72.32257 +        view.on("rowremoved", this.onRemove, this);
72.32258 +    },
72.32259 +
72.32260 +        onRefresh : function(){
72.32261 +        var ds = this.grid.store, index;
72.32262 +        var s = this.getSelections();
72.32263 +        this.clearSelections(true);
72.32264 +        for(var i = 0, len = s.length; i < len; i++){
72.32265 +            var r = s[i];
72.32266 +            if((index = ds.indexOfId(r.id)) != -1){
72.32267 +                this.selectRow(index, true);
72.32268 +            }
72.32269 +        }
72.32270 +        if(s.length != this.selections.getCount()){
72.32271 +            this.fireEvent("selectionchange", this);
72.32272 +        }
72.32273 +    },
72.32274 +
72.32275 +        onRemove : function(v, index, r){
72.32276 +        if(this.selections.remove(r) !== false){
72.32277 +            this.fireEvent('selectionchange', this);
72.32278 +        }
72.32279 +    },
72.32280 +
72.32281 +        onRowUpdated : function(v, index, r){
72.32282 +        if(this.isSelected(r)){
72.32283 +            v.onRowSelect(index);
72.32284 +        }
72.32285 +    },
72.32286 +
72.32287 +    
72.32288 +    selectRecords : function(records, keepExisting){
72.32289 +        if(!keepExisting){
72.32290 +            this.clearSelections();
72.32291 +        }
72.32292 +        var ds = this.grid.store;
72.32293 +        for(var i = 0, len = records.length; i < len; i++){
72.32294 +            this.selectRow(ds.indexOf(records[i]), true);
72.32295 +        }
72.32296 +    },
72.32297 +
72.32298 +    
72.32299 +    getCount : function(){
72.32300 +        return this.selections.length;
72.32301 +    },
72.32302 +
72.32303 +    
72.32304 +    selectFirstRow : function(){
72.32305 +        this.selectRow(0);
72.32306 +    },
72.32307 +
72.32308 +    
72.32309 +    selectLastRow : function(keepExisting){
72.32310 +        this.selectRow(this.grid.store.getCount() - 1, keepExisting);
72.32311 +    },
72.32312 +
72.32313 +    
72.32314 +    selectNext : function(keepExisting){
72.32315 +        if(this.hasNext()){
72.32316 +            this.selectRow(this.last+1, keepExisting);
72.32317 +            this.grid.getView().focusRow(this.last);
72.32318 +			return true;
72.32319 +        }
72.32320 +		return false;
72.32321 +    },
72.32322 +
72.32323 +    
72.32324 +    selectPrevious : function(keepExisting){
72.32325 +        if(this.hasPrevious()){
72.32326 +            this.selectRow(this.last-1, keepExisting);
72.32327 +            this.grid.getView().focusRow(this.last);
72.32328 +			return true;
72.32329 +        }
72.32330 +		return false;
72.32331 +    },
72.32332 +
72.32333 +    
72.32334 +    hasNext : function(){
72.32335 +        return this.last !== false && (this.last+1) < this.grid.store.getCount();
72.32336 +    },
72.32337 +
72.32338 +    
72.32339 +    hasPrevious : function(){
72.32340 +        return !!this.last;
72.32341 +    },
72.32342 +
72.32343 +
72.32344 +    
72.32345 +    getSelections : function(){
72.32346 +        return [].concat(this.selections.items);
72.32347 +    },
72.32348 +
72.32349 +    
72.32350 +    getSelected : function(){
72.32351 +        return this.selections.itemAt(0);
72.32352 +    },
72.32353 +
72.32354 +    
72.32355 +    each : function(fn, scope){
72.32356 +        var s = this.getSelections();
72.32357 +        for(var i = 0, len = s.length; i < len; i++){
72.32358 +            if(fn.call(scope || this, s[i], i) === false){
72.32359 +                return false;
72.32360 +            }
72.32361 +        }
72.32362 +        return true;
72.32363 +    },
72.32364 +
72.32365 +    
72.32366 +    clearSelections : function(fast){
72.32367 +        if(this.locked) return;
72.32368 +        if(fast !== true){
72.32369 +            var ds = this.grid.store;
72.32370 +            var s = this.selections;
72.32371 +            s.each(function(r){
72.32372 +                this.deselectRow(ds.indexOfId(r.id));
72.32373 +            }, this);
72.32374 +            s.clear();
72.32375 +        }else{
72.32376 +            this.selections.clear();
72.32377 +        }
72.32378 +        this.last = false;
72.32379 +    },
72.32380 +
72.32381 +
72.32382 +    
72.32383 +    selectAll : function(){
72.32384 +        if(this.locked) return;
72.32385 +        this.selections.clear();
72.32386 +        for(var i = 0, len = this.grid.store.getCount(); i < len; i++){
72.32387 +            this.selectRow(i, true);
72.32388 +        }
72.32389 +    },
72.32390 +
72.32391 +    
72.32392 +    hasSelection : function(){
72.32393 +        return this.selections.length > 0;
72.32394 +    },
72.32395 +
72.32396 +    
72.32397 +    isSelected : function(index){
72.32398 +        var r = typeof index == "number" ? this.grid.store.getAt(index) : index;
72.32399 +        return (r && this.selections.key(r.id) ? true : false);
72.32400 +    },
72.32401 +
72.32402 +    
72.32403 +    isIdSelected : function(id){
72.32404 +        return (this.selections.key(id) ? true : false);
72.32405 +    },
72.32406 +
72.32407 +        handleMouseDown : function(g, rowIndex, e){
72.32408 +        if(e.button !== 0 || this.isLocked()){
72.32409 +            return;
72.32410 +        };
72.32411 +        var view = this.grid.getView();
72.32412 +        if(e.shiftKey && this.last !== false){
72.32413 +            var last = this.last;
72.32414 +            this.selectRange(last, rowIndex, e.ctrlKey);
72.32415 +            this.last = last;             view.focusRow(rowIndex);
72.32416 +        }else{
72.32417 +            var isSelected = this.isSelected(rowIndex);
72.32418 +            if(e.ctrlKey && isSelected){
72.32419 +                this.deselectRow(rowIndex);
72.32420 +            }else if(!isSelected || this.getCount() > 1){
72.32421 +                this.selectRow(rowIndex, e.ctrlKey || e.shiftKey);
72.32422 +                view.focusRow(rowIndex);
72.32423 +            }
72.32424 +        }
72.32425 +    },
72.32426 +
72.32427 +    
72.32428 +    selectRows : function(rows, keepExisting){
72.32429 +        if(!keepExisting){
72.32430 +            this.clearSelections();
72.32431 +        }
72.32432 +        for(var i = 0, len = rows.length; i < len; i++){
72.32433 +            this.selectRow(rows[i], true);
72.32434 +        }
72.32435 +    },
72.32436 +
72.32437 +    
72.32438 +    selectRange : function(startRow, endRow, keepExisting){
72.32439 +        if(this.locked) return;
72.32440 +        if(!keepExisting){
72.32441 +            this.clearSelections();
72.32442 +        }
72.32443 +        if(startRow <= endRow){
72.32444 +            for(var i = startRow; i <= endRow; i++){
72.32445 +                this.selectRow(i, true);
72.32446 +            }
72.32447 +        }else{
72.32448 +            for(var i = startRow; i >= endRow; i--){
72.32449 +                this.selectRow(i, true);
72.32450 +            }
72.32451 +        }
72.32452 +    },
72.32453 +
72.32454 +    
72.32455 +    deselectRange : function(startRow, endRow, preventViewNotify){
72.32456 +        if(this.locked) return;
72.32457 +        for(var i = startRow; i <= endRow; i++){
72.32458 +            this.deselectRow(i, preventViewNotify);
72.32459 +        }
72.32460 +    },
72.32461 +
72.32462 +    
72.32463 +    selectRow : function(index, keepExisting, preventViewNotify){
72.32464 +        if(this.locked || (index < 0 || index >= this.grid.store.getCount())) return;
72.32465 +        var r = this.grid.store.getAt(index);
72.32466 +        if(r && this.fireEvent("beforerowselect", this, index, keepExisting, r) !== false){
72.32467 +            if(!keepExisting || this.singleSelect){
72.32468 +                this.clearSelections();
72.32469 +            }
72.32470 +            this.selections.add(r);
72.32471 +            this.last = this.lastActive = index;
72.32472 +            if(!preventViewNotify){
72.32473 +                this.grid.getView().onRowSelect(index);
72.32474 +            }
72.32475 +            this.fireEvent("rowselect", this, index, r);
72.32476 +            this.fireEvent("selectionchange", this);
72.32477 +        }
72.32478 +    },
72.32479 +
72.32480 +    
72.32481 +    deselectRow : function(index, preventViewNotify){
72.32482 +        if(this.locked) return;
72.32483 +        if(this.last == index){
72.32484 +            this.last = false;
72.32485 +        }
72.32486 +        if(this.lastActive == index){
72.32487 +            this.lastActive = false;
72.32488 +        }
72.32489 +        var r = this.grid.store.getAt(index);
72.32490 +        if(r){
72.32491 +            this.selections.remove(r);
72.32492 +            if(!preventViewNotify){
72.32493 +                this.grid.getView().onRowDeselect(index);
72.32494 +            }
72.32495 +            this.fireEvent("rowdeselect", this, index, r);
72.32496 +            this.fireEvent("selectionchange", this);
72.32497 +        }
72.32498 +    },
72.32499 +
72.32500 +        restoreLast : function(){
72.32501 +        if(this._last){
72.32502 +            this.last = this._last;
72.32503 +        }
72.32504 +    },
72.32505 +
72.32506 +        acceptsNav : function(row, col, cm){
72.32507 +        return !cm.isHidden(col) && cm.isCellEditable(col, row);
72.32508 +    },
72.32509 +
72.32510 +        onEditorKey : function(field, e){
72.32511 +        var k = e.getKey(), newCell, g = this.grid, ed = g.activeEditor;
72.32512 +        var shift = e.shiftKey;
72.32513 +        if(k == e.TAB){
72.32514 +            e.stopEvent();
72.32515 +            ed.completeEdit();
72.32516 +            if(shift){
72.32517 +                newCell = g.walkCells(ed.row, ed.col-1, -1, this.acceptsNav, this);
72.32518 +            }else{
72.32519 +                newCell = g.walkCells(ed.row, ed.col+1, 1, this.acceptsNav, this);
72.32520 +            }
72.32521 +        }else if(k == e.ENTER){
72.32522 +            e.stopEvent();
72.32523 +            ed.completeEdit();
72.32524 +			if(this.moveEditorOnEnter !== false){
72.32525 +				if(shift){
72.32526 +					newCell = g.walkCells(ed.row - 1, ed.col, -1, this.acceptsNav, this);
72.32527 +				}else{
72.32528 +					newCell = g.walkCells(ed.row + 1, ed.col, 1, this.acceptsNav, this);
72.32529 +				}
72.32530 +			}
72.32531 +        }else if(k == e.ESC){
72.32532 +            ed.cancelEdit();
72.32533 +        }
72.32534 +        if(newCell){
72.32535 +            g.startEditing(newCell[0], newCell[1]);
72.32536 +        }
72.32537 +    }
72.32538 +});
72.32539 +
72.32540 +Ext.grid.CellSelectionModel = function(config){
72.32541 +    Ext.apply(this, config);
72.32542 +
72.32543 +    this.selection = null;
72.32544 +
72.32545 +    this.addEvents(
72.32546 +        
72.32547 +	    "beforecellselect",
72.32548 +        
72.32549 +	    "cellselect",
72.32550 +        
72.32551 +	    "selectionchange"
72.32552 +    );
72.32553 +
72.32554 +    Ext.grid.CellSelectionModel.superclass.constructor.call(this);
72.32555 +};
72.32556 +
72.32557 +Ext.extend(Ext.grid.CellSelectionModel, Ext.grid.AbstractSelectionModel,  {
72.32558 +
72.32559 +    
72.32560 +    initEvents : function(){
72.32561 +        this.grid.on("cellmousedown", this.handleMouseDown, this);
72.32562 +        this.grid.getGridEl().on(Ext.isIE || Ext.isSafari3 ? "keydown" : "keypress", this.handleKeyDown, this);
72.32563 +        var view = this.grid.view;
72.32564 +        view.on("refresh", this.onViewChange, this);
72.32565 +        view.on("rowupdated", this.onRowUpdated, this);
72.32566 +        view.on("beforerowremoved", this.clearSelections, this);
72.32567 +        view.on("beforerowsinserted", this.clearSelections, this);
72.32568 +        if(this.grid.isEditor){
72.32569 +            this.grid.on("beforeedit", this.beforeEdit,  this);
72.32570 +        }
72.32571 +    },
72.32572 +
72.32573 +	    beforeEdit : function(e){
72.32574 +        this.select(e.row, e.column, false, true, e.record);
72.32575 +    },
72.32576 +
72.32577 +	    onRowUpdated : function(v, index, r){
72.32578 +        if(this.selection && this.selection.record == r){
72.32579 +            v.onCellSelect(index, this.selection.cell[1]);
72.32580 +        }
72.32581 +    },
72.32582 +
72.32583 +	    onViewChange : function(){
72.32584 +        this.clearSelections(true);
72.32585 +    },
72.32586 +
72.32587 +	
72.32588 +    getSelectedCell : function(){
72.32589 +        return this.selection ? this.selection.cell : null;
72.32590 +    },
72.32591 +
72.32592 +    
72.32593 +    clearSelections : function(preventNotify){
72.32594 +        var s = this.selection;
72.32595 +        if(s){
72.32596 +            if(preventNotify !== true){
72.32597 +                this.grid.view.onCellDeselect(s.cell[0], s.cell[1]);
72.32598 +            }
72.32599 +            this.selection = null;
72.32600 +            this.fireEvent("selectionchange", this, null);
72.32601 +        }
72.32602 +    },
72.32603 +
72.32604 +    
72.32605 +    hasSelection : function(){
72.32606 +        return this.selection ? true : false;
72.32607 +    },
72.32608 +
72.32609 +    
72.32610 +    handleMouseDown : function(g, row, cell, e){
72.32611 +        if(e.button !== 0 || this.isLocked()){
72.32612 +            return;
72.32613 +        };
72.32614 +        this.select(row, cell);
72.32615 +    },
72.32616 +
72.32617 +    
72.32618 +    select : function(rowIndex, colIndex, preventViewNotify, preventFocus,  r){
72.32619 +        if(this.fireEvent("beforecellselect", this, rowIndex, colIndex) !== false){
72.32620 +            this.clearSelections();
72.32621 +            r = r || this.grid.store.getAt(rowIndex);
72.32622 +            this.selection = {
72.32623 +                record : r,
72.32624 +                cell : [rowIndex, colIndex]
72.32625 +            };
72.32626 +            if(!preventViewNotify){
72.32627 +                var v = this.grid.getView();
72.32628 +                v.onCellSelect(rowIndex, colIndex);
72.32629 +                if(preventFocus !== true){
72.32630 +                    v.focusCell(rowIndex, colIndex);
72.32631 +                }
72.32632 +            }
72.32633 +            this.fireEvent("cellselect", this, rowIndex, colIndex);
72.32634 +            this.fireEvent("selectionchange", this, this.selection);
72.32635 +        }
72.32636 +    },
72.32637 +
72.32638 +	    isSelectable : function(rowIndex, colIndex, cm){
72.32639 +        return !cm.isHidden(colIndex);
72.32640 +    },
72.32641 +
72.32642 +    
72.32643 +    handleKeyDown : function(e){
72.32644 +        if(!e.isNavKeyPress()){
72.32645 +            return;
72.32646 +        }
72.32647 +        var g = this.grid, s = this.selection;
72.32648 +        if(!s){
72.32649 +            e.stopEvent();
72.32650 +            var cell = g.walkCells(0, 0, 1, this.isSelectable,  this);
72.32651 +            if(cell){
72.32652 +                this.select(cell[0], cell[1]);
72.32653 +            }
72.32654 +            return;
72.32655 +        }
72.32656 +        var sm = this;
72.32657 +        var walk = function(row, col, step){
72.32658 +            return g.walkCells(row, col, step, sm.isSelectable,  sm);
72.32659 +        };
72.32660 +        var k = e.getKey(), r = s.cell[0], c = s.cell[1];
72.32661 +        var newCell;
72.32662 +
72.32663 +        switch(k){
72.32664 +             case e.TAB:
72.32665 +                 if(e.shiftKey){
72.32666 +                     newCell = walk(r, c-1, -1);
72.32667 +                 }else{
72.32668 +                     newCell = walk(r, c+1, 1);
72.32669 +                 }
72.32670 +             break;
72.32671 +             case e.DOWN:
72.32672 +                 newCell = walk(r+1, c, 1);
72.32673 +             break;
72.32674 +             case e.UP:
72.32675 +                 newCell = walk(r-1, c, -1);
72.32676 +             break;
72.32677 +             case e.RIGHT:
72.32678 +                 newCell = walk(r, c+1, 1);
72.32679 +             break;
72.32680 +             case e.LEFT:
72.32681 +                 newCell = walk(r, c-1, -1);
72.32682 +             break;
72.32683 +             case e.ENTER:
72.32684 +                 if(g.isEditor && !g.editing){
72.32685 +                    g.startEditing(r, c);
72.32686 +                    e.stopEvent();
72.32687 +                    return;
72.32688 +                }
72.32689 +             break;
72.32690 +        };
72.32691 +        if(newCell){
72.32692 +            this.select(newCell[0], newCell[1]);
72.32693 +            e.stopEvent();
72.32694 +        }
72.32695 +    },
72.32696 +
72.32697 +    acceptsNav : function(row, col, cm){
72.32698 +        return !cm.isHidden(col) && cm.isCellEditable(col, row);
72.32699 +    },
72.32700 +
72.32701 +    onEditorKey : function(field, e){
72.32702 +        var k = e.getKey(), newCell, g = this.grid, ed = g.activeEditor;
72.32703 +        if(k == e.TAB){
72.32704 +            if(e.shiftKey){
72.32705 +                newCell = g.walkCells(ed.row, ed.col-1, -1, this.acceptsNav, this);
72.32706 +            }else{
72.32707 +                newCell = g.walkCells(ed.row, ed.col+1, 1, this.acceptsNav, this);
72.32708 +            }
72.32709 +            e.stopEvent();
72.32710 +        }else if(k == e.ENTER){
72.32711 +            ed.completeEdit();
72.32712 +            e.stopEvent();
72.32713 +        }else if(k == e.ESC){
72.32714 +        	e.stopEvent();
72.32715 +            ed.cancelEdit();
72.32716 +        }
72.32717 +        if(newCell){
72.32718 +            g.startEditing(newCell[0], newCell[1]);
72.32719 +        }
72.32720 +    }
72.32721 +});
72.32722 +
72.32723 +Ext.grid.EditorGridPanel = Ext.extend(Ext.grid.GridPanel, {
72.32724 +    
72.32725 +    clicksToEdit: 2,
72.32726 +
72.32727 +        isEditor : true,
72.32728 +        detectEdit: false,
72.32729 +
72.32730 +	
72.32731 +	autoEncode : false,
72.32732 +
72.32733 +	
72.32734 +        trackMouseOver: false,     
72.32735 +        initComponent : function(){
72.32736 +        Ext.grid.EditorGridPanel.superclass.initComponent.call(this);
72.32737 +
72.32738 +        if(!this.selModel){
72.32739 +            
72.32740 +            this.selModel = new Ext.grid.CellSelectionModel();
72.32741 +        }
72.32742 +
72.32743 +        this.activeEditor = null;
72.32744 +
72.32745 +	    this.addEvents(
72.32746 +            
72.32747 +            "beforeedit",
72.32748 +            
72.32749 +            "afteredit",
72.32750 +            
72.32751 +            "validateedit"
72.32752 +        );
72.32753 +    },
72.32754 +
72.32755 +        initEvents : function(){
72.32756 +        Ext.grid.EditorGridPanel.superclass.initEvents.call(this);
72.32757 +        
72.32758 +        this.on("bodyscroll", this.stopEditing, this, [true]);
72.32759 +
72.32760 +        if(this.clicksToEdit == 1){
72.32761 +            this.on("cellclick", this.onCellDblClick, this);
72.32762 +        }else {
72.32763 +            if(this.clicksToEdit == 'auto' && this.view.mainBody){
72.32764 +                this.view.mainBody.on("mousedown", this.onAutoEditClick, this);
72.32765 +            }
72.32766 +            this.on("celldblclick", this.onCellDblClick, this);
72.32767 +        }
72.32768 +        this.getGridEl().addClass("xedit-grid");
72.32769 +    },
72.32770 +
72.32771 +        onCellDblClick : function(g, row, col){
72.32772 +        this.startEditing(row, col);
72.32773 +    },
72.32774 +
72.32775 +        onAutoEditClick : function(e, t){
72.32776 +        if(e.button !== 0){
72.32777 +            return;
72.32778 +        }
72.32779 +        var row = this.view.findRowIndex(t);
72.32780 +        var col = this.view.findCellIndex(t);
72.32781 +        if(row !== false && col !== false){
72.32782 +            this.stopEditing();
72.32783 +            if(this.selModel.getSelectedCell){                 var sc = this.selModel.getSelectedCell();
72.32784 +                if(sc && sc.cell[0] === row && sc.cell[1] === col){
72.32785 +                    this.startEditing(row, col);
72.32786 +                }
72.32787 +            }else{
72.32788 +                if(this.selModel.isSelected(row)){
72.32789 +                    this.startEditing(row, col);
72.32790 +                }
72.32791 +            }
72.32792 +        }
72.32793 +    },
72.32794 +
72.32795 +        onEditComplete : function(ed, value, startValue){
72.32796 +        this.editing = false;
72.32797 +        this.activeEditor = null;
72.32798 +        ed.un("specialkey", this.selModel.onEditorKey, this.selModel);
72.32799 +		var r = ed.record;
72.32800 +        var field = this.colModel.getDataIndex(ed.col);
72.32801 +        value = this.postEditValue(value, startValue, r, field);
72.32802 +        if(String(value) !== String(startValue)){
72.32803 +            var e = {
72.32804 +                grid: this,
72.32805 +                record: r,
72.32806 +                field: field,
72.32807 +                originalValue: startValue,
72.32808 +                value: value,
72.32809 +                row: ed.row,
72.32810 +                column: ed.col,
72.32811 +                cancel:false
72.32812 +            };
72.32813 +            if(this.fireEvent("validateedit", e) !== false && !e.cancel){
72.32814 +                r.set(field, e.value);
72.32815 +                delete e.cancel;
72.32816 +                this.fireEvent("afteredit", e);
72.32817 +            }
72.32818 +        }
72.32819 +        this.view.focusCell(ed.row, ed.col);
72.32820 +    },
72.32821 +
72.32822 +    
72.32823 +    startEditing : function(row, col){
72.32824 +        this.stopEditing();
72.32825 +        if(this.colModel.isCellEditable(col, row)){
72.32826 +            this.view.ensureVisible(row, col, true);
72.32827 +            var r = this.store.getAt(row);
72.32828 +            var field = this.colModel.getDataIndex(col);
72.32829 +            var e = {
72.32830 +                grid: this,
72.32831 +                record: r,
72.32832 +                field: field,
72.32833 +                value: r.data[field],
72.32834 +                row: row,
72.32835 +                column: col,
72.32836 +                cancel:false
72.32837 +            };
72.32838 +            if(this.fireEvent("beforeedit", e) !== false && !e.cancel){
72.32839 +                this.editing = true;
72.32840 +                var ed = this.colModel.getCellEditor(col, row);
72.32841 +                if(!ed.rendered){
72.32842 +                    ed.render(this.view.getEditorParent(ed));
72.32843 +                }
72.32844 +                (function(){                     ed.row = row;
72.32845 +                    ed.col = col;
72.32846 +                    ed.record = r;
72.32847 +                    ed.on("complete", this.onEditComplete, this, {single: true});
72.32848 +                    ed.on("specialkey", this.selModel.onEditorKey, this.selModel);
72.32849 +                    this.activeEditor = ed;
72.32850 +                    var v = this.preEditValue(r, field);
72.32851 +                    ed.startEdit(this.view.getCell(row, col), v);
72.32852 +                }).defer(50, this);
72.32853 +            }
72.32854 +        }
72.32855 +    },
72.32856 +    
72.32857 +	preEditValue : function(r, field){
72.32858 +		return this.autoEncode && typeof value == 'string' ? Ext.util.Format.htmlDecode(r.data[field]) : r.data[field];
72.32859 +	},
72.32860 +	
72.32861 +	postEditValue : function(value, originalValue, r, field){
72.32862 +		return this.autoEncode && typeof value == 'string' ? Ext.util.Format.htmlEncode(value) : value;
72.32863 +	},
72.32864 +	    
72.32865 +    
72.32866 +    stopEditing : function(cancel){
72.32867 +        if(this.activeEditor){
72.32868 +            this.activeEditor[cancel === true ? 'cancelEdit' : 'completeEdit']();
72.32869 +        }
72.32870 +        this.activeEditor = null;
72.32871 +    }
72.32872 +});
72.32873 +Ext.reg('editorgrid', Ext.grid.EditorGridPanel);
72.32874 +Ext.grid.GridEditor = function(field, config){
72.32875 +    Ext.grid.GridEditor.superclass.constructor.call(this, field, config);
72.32876 +    field.monitorTab = false;
72.32877 +};
72.32878 +
72.32879 +Ext.extend(Ext.grid.GridEditor, Ext.Editor, {
72.32880 +    alignment: "tl-tl",
72.32881 +    autoSize: "width",
72.32882 +    hideEl : false,
72.32883 +    cls: "x-small-editor x-grid-editor",
72.32884 +    shim:false,
72.32885 +    shadow:false
72.32886 +});
72.32887 +
72.32888 +Ext.grid.PropertyRecord = Ext.data.Record.create([
72.32889 +    {name:'name',type:'string'}, 'value'
72.32890 +]);
72.32891 +
72.32892 +
72.32893 +Ext.grid.PropertyStore = function(grid, source){
72.32894 +    this.grid = grid;
72.32895 +    this.store = new Ext.data.Store({
72.32896 +        recordType : Ext.grid.PropertyRecord
72.32897 +    });
72.32898 +    this.store.on('update', this.onUpdate,  this);
72.32899 +    if(source){
72.32900 +        this.setSource(source);
72.32901 +    }
72.32902 +    Ext.grid.PropertyStore.superclass.constructor.call(this);
72.32903 +};
72.32904 +Ext.extend(Ext.grid.PropertyStore, Ext.util.Observable, {
72.32905 +        setSource : function(o){
72.32906 +        this.source = o;
72.32907 +        this.store.removeAll();
72.32908 +        var data = [];
72.32909 +        for(var k in o){
72.32910 +            if(this.isEditableValue(o[k])){
72.32911 +                data.push(new Ext.grid.PropertyRecord({name: k, value: o[k]}, k));
72.32912 +            }
72.32913 +        }
72.32914 +        this.store.loadRecords({records: data}, {}, true);
72.32915 +    },
72.32916 +
72.32917 +        onUpdate : function(ds, record, type){
72.32918 +        if(type == Ext.data.Record.EDIT){
72.32919 +            var v = record.data['value'];
72.32920 +            var oldValue = record.modified['value'];
72.32921 +            if(this.grid.fireEvent('beforepropertychange', this.source, record.id, v, oldValue) !== false){
72.32922 +                this.source[record.id] = v;
72.32923 +                record.commit();
72.32924 +                this.grid.fireEvent('propertychange', this.source, record.id, v, oldValue);
72.32925 +            }else{
72.32926 +                record.reject();
72.32927 +            }
72.32928 +        }
72.32929 +    },
72.32930 +
72.32931 +        getProperty : function(row){
72.32932 +       return this.store.getAt(row);
72.32933 +    },
72.32934 +
72.32935 +        isEditableValue: function(val){
72.32936 +        if(Ext.isDate(val)){
72.32937 +            return true;
72.32938 +        }else if(typeof val == 'object' || typeof val == 'function'){
72.32939 +            return false;
72.32940 +        }
72.32941 +        return true;
72.32942 +    },
72.32943 +
72.32944 +        setValue : function(prop, value){
72.32945 +        this.source[prop] = value;
72.32946 +        this.store.getById(prop).set('value', value);
72.32947 +    },
72.32948 +
72.32949 +        getSource : function(){
72.32950 +        return this.source;
72.32951 +    }
72.32952 +});
72.32953 +
72.32954 +
72.32955 +Ext.grid.PropertyColumnModel = function(grid, store){
72.32956 +    this.grid = grid;
72.32957 +    var g = Ext.grid;
72.32958 +    g.PropertyColumnModel.superclass.constructor.call(this, [
72.32959 +        {header: this.nameText, width:50, sortable: true, dataIndex:'name', id: 'name', menuDisabled:true},
72.32960 +        {header: this.valueText, width:50, resizable:false, dataIndex: 'value', id: 'value', menuDisabled:true}
72.32961 +    ]);
72.32962 +    this.store = store;
72.32963 +    this.bselect = Ext.DomHelper.append(document.body, {
72.32964 +        tag: 'select', cls: 'x-grid-editor x-hide-display', children: [
72.32965 +            {tag: 'option', value: 'true', html: 'true'},
72.32966 +            {tag: 'option', value: 'false', html: 'false'}
72.32967 +        ]
72.32968 +    });
72.32969 +    var f = Ext.form;
72.32970 +
72.32971 +    var bfield = new f.Field({
72.32972 +        el:this.bselect,
72.32973 +        bselect : this.bselect,
72.32974 +        autoShow: true,
72.32975 +        getValue : function(){
72.32976 +            return this.bselect.value == 'true';
72.32977 +        }
72.32978 +    });
72.32979 +    this.editors = {
72.32980 +        'date' : new g.GridEditor(new f.DateField({selectOnFocus:true})),
72.32981 +        'string' : new g.GridEditor(new f.TextField({selectOnFocus:true})),
72.32982 +        'number' : new g.GridEditor(new f.NumberField({selectOnFocus:true, style:'text-align:left;'})),
72.32983 +        'boolean' : new g.GridEditor(bfield)
72.32984 +    };
72.32985 +    this.renderCellDelegate = this.renderCell.createDelegate(this);
72.32986 +    this.renderPropDelegate = this.renderProp.createDelegate(this);
72.32987 +};
72.32988 +
72.32989 +Ext.extend(Ext.grid.PropertyColumnModel, Ext.grid.ColumnModel, {
72.32990 +        nameText : 'Name',
72.32991 +    valueText : 'Value',
72.32992 +    dateFormat : 'm/j/Y',
72.32993 +
72.32994 +        renderDate : function(dateVal){
72.32995 +        return dateVal.dateFormat(this.dateFormat);
72.32996 +    },
72.32997 +
72.32998 +        renderBool : function(bVal){
72.32999 +        return bVal ? 'true' : 'false';
72.33000 +    },
72.33001 +
72.33002 +        isCellEditable : function(colIndex, rowIndex){
72.33003 +        return colIndex == 1;
72.33004 +    },
72.33005 +
72.33006 +        getRenderer : function(col){
72.33007 +        return col == 1 ?
72.33008 +            this.renderCellDelegate : this.renderPropDelegate;
72.33009 +    },
72.33010 +
72.33011 +        renderProp : function(v){
72.33012 +        return this.getPropertyName(v);
72.33013 +    },
72.33014 +
72.33015 +        renderCell : function(val){
72.33016 +        var rv = val;
72.33017 +        if(Ext.isDate(val)){
72.33018 +            rv = this.renderDate(val);
72.33019 +        }else if(typeof val == 'boolean'){
72.33020 +            rv = this.renderBool(val);
72.33021 +        }
72.33022 +        return Ext.util.Format.htmlEncode(rv);
72.33023 +    },
72.33024 +
72.33025 +        getPropertyName : function(name){
72.33026 +        var pn = this.grid.propertyNames;
72.33027 +        return pn && pn[name] ? pn[name] : name;
72.33028 +    },
72.33029 +
72.33030 +        getCellEditor : function(colIndex, rowIndex){
72.33031 +        var p = this.store.getProperty(rowIndex);
72.33032 +        var n = p.data['name'], val = p.data['value'];
72.33033 +        if(this.grid.customEditors[n]){
72.33034 +            return this.grid.customEditors[n];
72.33035 +        }
72.33036 +        if(Ext.isDate(val)){
72.33037 +            return this.editors['date'];
72.33038 +        }else if(typeof val == 'number'){
72.33039 +            return this.editors['number'];
72.33040 +        }else if(typeof val == 'boolean'){
72.33041 +            return this.editors['boolean'];
72.33042 +        }else{
72.33043 +            return this.editors['string'];
72.33044 +        }
72.33045 +    }
72.33046 +});
72.33047 +
72.33048 +
72.33049 +Ext.grid.PropertyGrid = Ext.extend(Ext.grid.EditorGridPanel, {
72.33050 +    
72.33051 +    
72.33052 +
72.33053 +        enableColumnMove:false,
72.33054 +    stripeRows:false,
72.33055 +    trackMouseOver: false,
72.33056 +    clicksToEdit:1,
72.33057 +    enableHdMenu : false,
72.33058 +    viewConfig : {
72.33059 +        forceFit:true
72.33060 +    },
72.33061 +
72.33062 +        initComponent : function(){
72.33063 +        this.customEditors = this.customEditors || {};
72.33064 +        this.lastEditRow = null;
72.33065 +        var store = new Ext.grid.PropertyStore(this);
72.33066 +        this.propStore = store;
72.33067 +        var cm = new Ext.grid.PropertyColumnModel(this, store);
72.33068 +        store.store.sort('name', 'ASC');
72.33069 +        this.addEvents(
72.33070 +            
72.33071 +            'beforepropertychange',
72.33072 +            
72.33073 +            'propertychange'
72.33074 +        );
72.33075 +        this.cm = cm;
72.33076 +        this.ds = store.store;
72.33077 +        Ext.grid.PropertyGrid.superclass.initComponent.call(this);
72.33078 +
72.33079 +        this.selModel.on('beforecellselect', function(sm, rowIndex, colIndex){
72.33080 +            if(colIndex === 0){
72.33081 +                this.startEditing.defer(200, this, [rowIndex, 1]);
72.33082 +                return false;
72.33083 +            }
72.33084 +        }, this);
72.33085 +    },
72.33086 +
72.33087 +        onRender : function(){
72.33088 +        Ext.grid.PropertyGrid.superclass.onRender.apply(this, arguments);
72.33089 +
72.33090 +        this.getGridEl().addClass('x-props-grid');
72.33091 +    },
72.33092 +
72.33093 +        afterRender: function(){
72.33094 +        Ext.grid.PropertyGrid.superclass.afterRender.apply(this, arguments);
72.33095 +        if(this.source){
72.33096 +            this.setSource(this.source);
72.33097 +        }
72.33098 +    },
72.33099 +
72.33100 +    
72.33101 +    setSource : function(source){
72.33102 +        this.propStore.setSource(source);
72.33103 +    },
72.33104 +
72.33105 +    
72.33106 +    getSource : function(){
72.33107 +        return this.propStore.getSource();
72.33108 +    }
72.33109 +});
72.33110 +Ext.reg("propertygrid", Ext.grid.PropertyGrid);
72.33111 +
72.33112 +
72.33113 +Ext.grid.RowNumberer = function(config){
72.33114 +    Ext.apply(this, config);
72.33115 +    if(this.rowspan){
72.33116 +        this.renderer = this.renderer.createDelegate(this);
72.33117 +    }
72.33118 +};
72.33119 +
72.33120 +Ext.grid.RowNumberer.prototype = {
72.33121 +    
72.33122 +    header: "",
72.33123 +    
72.33124 +    width: 23,
72.33125 +    
72.33126 +    sortable: false,
72.33127 +
72.33128 +    
72.33129 +    fixed:true,
72.33130 +    menuDisabled:true,
72.33131 +    dataIndex: '',
72.33132 +    id: 'numberer',
72.33133 +    rowspan: undefined,
72.33134 +
72.33135 +    
72.33136 +    renderer : function(v, p, record, rowIndex){
72.33137 +        if(this.rowspan){
72.33138 +            p.cellAttr = 'rowspan="'+this.rowspan+'"';
72.33139 +        }
72.33140 +        return rowIndex+1;
72.33141 +    }
72.33142 +};
72.33143 +
72.33144 +Ext.grid.CheckboxSelectionModel = Ext.extend(Ext.grid.RowSelectionModel, {
72.33145 +    
72.33146 +    header: '<div class="x-grid3-hd-checker">&#160;</div>',
72.33147 +    
72.33148 +    width: 20,
72.33149 +    
72.33150 +    sortable: false,
72.33151 +
72.33152 +    
72.33153 +    menuDisabled:true,
72.33154 +    fixed:true,
72.33155 +    dataIndex: '',
72.33156 +    id: 'checker',
72.33157 +
72.33158 +    
72.33159 +    initEvents : function(){
72.33160 +        Ext.grid.CheckboxSelectionModel.superclass.initEvents.call(this);
72.33161 +        this.grid.on('render', function(){
72.33162 +            var view = this.grid.getView();
72.33163 +            view.mainBody.on('mousedown', this.onMouseDown, this);
72.33164 +            Ext.fly(view.innerHd).on('mousedown', this.onHdMouseDown, this);
72.33165 +
72.33166 +        }, this);
72.33167 +    },
72.33168 +
72.33169 +    
72.33170 +    onMouseDown : function(e, t){
72.33171 +        if(e.button === 0 && t.className == 'x-grid3-row-checker'){ 
72.33172 +            e.stopEvent();
72.33173 +            var row = e.getTarget('.x-grid3-row');
72.33174 +            if(row){
72.33175 +                var index = row.rowIndex;
72.33176 +                if(this.isSelected(index)){
72.33177 +                    this.deselectRow(index);
72.33178 +                }else{
72.33179 +                    this.selectRow(index, true);
72.33180 +                }
72.33181 +            }
72.33182 +        }
72.33183 +    },
72.33184 +
72.33185 +    
72.33186 +    onHdMouseDown : function(e, t){
72.33187 +        if(t.className == 'x-grid3-hd-checker'){
72.33188 +            e.stopEvent();
72.33189 +            var hd = Ext.fly(t.parentNode);
72.33190 +            var isChecked = hd.hasClass('x-grid3-hd-checker-on');
72.33191 +            if(isChecked){
72.33192 +                hd.removeClass('x-grid3-hd-checker-on');
72.33193 +                this.clearSelections();
72.33194 +            }else{
72.33195 +                hd.addClass('x-grid3-hd-checker-on');
72.33196 +                this.selectAll();
72.33197 +            }
72.33198 +        }
72.33199 +    },
72.33200 +
72.33201 +    
72.33202 +    renderer : function(v, p, record){
72.33203 +        return '<div class="x-grid3-row-checker">&#160;</div>';
72.33204 +    }
72.33205 +});
72.33206 +
72.33207 +Ext.LoadMask = function(el, config){
72.33208 +    this.el = Ext.get(el);
72.33209 +    Ext.apply(this, config);
72.33210 +    if(this.store){
72.33211 +        this.store.on('beforeload', this.onBeforeLoad, this);
72.33212 +        this.store.on('load', this.onLoad, this);
72.33213 +        this.store.on('loadexception', this.onLoad, this);
72.33214 +        this.removeMask = Ext.value(this.removeMask, false);
72.33215 +    }else{
72.33216 +        var um = this.el.getUpdater();
72.33217 +        um.showLoadIndicator = false;         um.on('beforeupdate', this.onBeforeLoad, this);
72.33218 +        um.on('update', this.onLoad, this);
72.33219 +        um.on('failure', this.onLoad, this);
72.33220 +        this.removeMask = Ext.value(this.removeMask, true);
72.33221 +    }
72.33222 +};
72.33223 +
72.33224 +Ext.LoadMask.prototype = {
72.33225 +    
72.33226 +    
72.33227 +    
72.33228 +    msg : 'Loading...',
72.33229 +    
72.33230 +    msgCls : 'x-mask-loading',
72.33231 +
72.33232 +    
72.33233 +    disabled: false,
72.33234 +
72.33235 +    
72.33236 +    disable : function(){
72.33237 +       this.disabled = true;
72.33238 +    },
72.33239 +
72.33240 +    
72.33241 +    enable : function(){
72.33242 +        this.disabled = false;
72.33243 +    },
72.33244 +
72.33245 +        onLoad : function(){
72.33246 +        this.el.unmask(this.removeMask);
72.33247 +    },
72.33248 +
72.33249 +        onBeforeLoad : function(){
72.33250 +        if(!this.disabled){
72.33251 +            this.el.mask(this.msg, this.msgCls);
72.33252 +        }
72.33253 +    },
72.33254 +
72.33255 +    
72.33256 +    show: function(){
72.33257 +        this.onBeforeLoad();
72.33258 +    },
72.33259 +
72.33260 +    
72.33261 +    hide: function(){
72.33262 +        this.onLoad();    
72.33263 +    },
72.33264 +
72.33265 +        destroy : function(){
72.33266 +        if(this.store){
72.33267 +            this.store.un('beforeload', this.onBeforeLoad, this);
72.33268 +            this.store.un('load', this.onLoad, this);
72.33269 +            this.store.un('loadexception', this.onLoad, this);
72.33270 +        }else{
72.33271 +            var um = this.el.getUpdater();
72.33272 +            um.un('beforeupdate', this.onBeforeLoad, this);
72.33273 +            um.un('update', this.onLoad, this);
72.33274 +            um.un('failure', this.onLoad, this);
72.33275 +        }
72.33276 +    }
72.33277 +};
72.33278 +
72.33279 +Ext.ProgressBar = Ext.extend(Ext.BoxComponent, {
72.33280 +   
72.33281 +    baseCls : 'x-progress',
72.33282 +
72.33283 +    
72.33284 +    waitTimer : null,
72.33285 +
72.33286 +    
72.33287 +    initComponent : function(){
72.33288 +        Ext.ProgressBar.superclass.initComponent.call(this);
72.33289 +        this.addEvents(
72.33290 +            
72.33291 +            "update"
72.33292 +        );
72.33293 +    },
72.33294 +
72.33295 +    
72.33296 +    onRender : function(ct, position){
72.33297 +        Ext.ProgressBar.superclass.onRender.call(this, ct, position);
72.33298 +
72.33299 +        var tpl = new Ext.Template(
72.33300 +            '<div class="{cls}-wrap">',
72.33301 +                '<div class="{cls}-inner">',
72.33302 +                    '<div class="{cls}-bar">',
72.33303 +                        '<div class="{cls}-text">',
72.33304 +                            '<div>&#160;</div>',
72.33305 +                        '</div>',
72.33306 +                    '</div>',
72.33307 +                    '<div class="{cls}-text {cls}-text-back">',
72.33308 +                        '<div>&#160;</div>',
72.33309 +                    '</div>',
72.33310 +                '</div>',
72.33311 +            '</div>'
72.33312 +        );
72.33313 +
72.33314 +        if(position){
72.33315 +            this.el = tpl.insertBefore(position, {cls: this.baseCls}, true);
72.33316 +        }else{
72.33317 +            this.el = tpl.append(ct, {cls: this.baseCls}, true);
72.33318 +        }
72.33319 +        if(this.id){
72.33320 +            this.el.dom.id = this.id;
72.33321 +        }
72.33322 +        var inner = this.el.dom.firstChild;
72.33323 +        this.progressBar = Ext.get(inner.firstChild);
72.33324 +
72.33325 +        if(this.textEl){
72.33326 +            
72.33327 +            this.textEl = Ext.get(this.textEl);
72.33328 +            delete this.textTopEl;
72.33329 +        }else{
72.33330 +            
72.33331 +            this.textTopEl = Ext.get(this.progressBar.dom.firstChild);
72.33332 +            var textBackEl = Ext.get(inner.childNodes[1]);
72.33333 +            this.textTopEl.setStyle("z-index", 99).addClass('x-hidden');
72.33334 +            this.textEl = new Ext.CompositeElement([this.textTopEl.dom.firstChild, textBackEl.dom.firstChild]);
72.33335 +            this.textEl.setWidth(inner.offsetWidth);
72.33336 +        }
72.33337 +        this.progressBar.setHeight(inner.offsetHeight);
72.33338 +    },
72.33339 +    
72.33340 +    
72.33341 +	afterRender : function(){
72.33342 +		Ext.ProgressBar.superclass.afterRender.call(this);
72.33343 +		if(this.value){
72.33344 +			this.updateProgress(this.value, this.text);
72.33345 +		}else{
72.33346 +			this.updateText(this.text);
72.33347 +		}
72.33348 +	},
72.33349 +
72.33350 +    
72.33351 +    updateProgress : function(value, text){
72.33352 +        this.value = value || 0;
72.33353 +        if(text){
72.33354 +            this.updateText(text);
72.33355 +        }
72.33356 +        var w = Math.floor(value*this.el.dom.firstChild.offsetWidth);
72.33357 +        this.progressBar.setWidth(w);
72.33358 +        if(this.textTopEl){
72.33359 +            
72.33360 +            this.textTopEl.removeClass('x-hidden').setWidth(w);
72.33361 +        }
72.33362 +        this.fireEvent('update', this, value, text);
72.33363 +        return this;
72.33364 +    },
72.33365 +
72.33366 +    
72.33367 +    wait : function(o){
72.33368 +        if(!this.waitTimer){
72.33369 +            var scope = this;
72.33370 +            o = o || {};
72.33371 +            this.waitTimer = Ext.TaskMgr.start({
72.33372 +                run: function(i){
72.33373 +                    var inc = o.increment || 10;
72.33374 +                    this.updateProgress(((((i+inc)%inc)+1)*(100/inc))*.01);
72.33375 +                },
72.33376 +                interval: o.interval || 1000,
72.33377 +                duration: o.duration,
72.33378 +                onStop: function(){
72.33379 +                    if(o.fn){
72.33380 +                        o.fn.apply(o.scope || this);
72.33381 +                    }
72.33382 +                    this.reset();
72.33383 +                },
72.33384 +                scope: scope
72.33385 +            });
72.33386 +        }
72.33387 +        return this;
72.33388 +    },
72.33389 +
72.33390 +    
72.33391 +    isWaiting : function(){
72.33392 +        return this.waitTimer != null;
72.33393 +    },
72.33394 +
72.33395 +    
72.33396 +    updateText : function(text){
72.33397 +        this.text = text || '&#160;';
72.33398 +        this.textEl.update(this.text);
72.33399 +        return this;
72.33400 +    },
72.33401 +
72.33402 +    
72.33403 +    setSize : function(w, h){
72.33404 +        Ext.ProgressBar.superclass.setSize.call(this, w, h);
72.33405 +        if(this.textTopEl){
72.33406 +            var inner = this.el.dom.firstChild;
72.33407 +            this.textEl.setSize(inner.offsetWidth, inner.offsetHeight);
72.33408 +        }
72.33409 +        return this;
72.33410 +    },
72.33411 +
72.33412 +    
72.33413 +    reset : function(hide){
72.33414 +        this.updateProgress(0);
72.33415 +        if(this.textTopEl){
72.33416 +            this.textTopEl.addClass('x-hidden');
72.33417 +        }
72.33418 +        if(this.waitTimer){
72.33419 +            this.waitTimer.onStop = null; 
72.33420 +            Ext.TaskMgr.stop(this.waitTimer);
72.33421 +            this.waitTimer = null;
72.33422 +        }
72.33423 +        if(hide === true){
72.33424 +            this.hide();
72.33425 +        }
72.33426 +        return this;
72.33427 +    }
72.33428 +});
72.33429 +Ext.reg('progress', Ext.ProgressBar);
72.33430 +
72.33431 +Ext.Slider = Ext.extend(Ext.BoxComponent, {
72.33432 +	
72.33433 +	
72.33434 +    vertical: false,
72.33435 +	
72.33436 +    minValue: 0,
72.33437 +		
72.33438 +    maxValue: 100,
72.33439 +	
72.33440 +    keyIncrement: 1,
72.33441 +	
72.33442 +    increment: 0,
72.33443 +	
72.33444 +    clickRange: [5,15],
72.33445 +	
72.33446 +    clickToChange : true,
72.33447 +	
72.33448 +    animate: true,
72.33449 +
72.33450 +	
72.33451 +    initComponent : function(){
72.33452 +        if(this.value === undefined){
72.33453 +            this.value = this.minValue;
72.33454 +        }
72.33455 +        Ext.Slider.superclass.initComponent.call(this);
72.33456 +        this.keyIncrement = Math.max(this.increment, this.keyIncrement); 
72.33457 +        this.addEvents(
72.33458 +            		
72.33459 +			'beforechange', 
72.33460 +			
72.33461 +			'change', 
72.33462 +			
72.33463 +			'dragstart', 
72.33464 +			
72.33465 +			'drag', 
72.33466 +			
72.33467 +			'dragend'
72.33468 +		);
72.33469 +
72.33470 +        if(this.vertical){
72.33471 +            Ext.apply(this, Ext.Slider.Vertical);
72.33472 +        }
72.33473 +    },
72.33474 +
72.33475 +	
72.33476 +    onRender : function(){
72.33477 +        this.autoEl = {
72.33478 +            cls: 'x-slider ' + (this.vertical ? 'x-slider-vert' : 'x-slider-horz'),
72.33479 +            cn:{cls:'x-slider-end',cn:{cls:'x-slider-inner',cn:[{cls:'x-slider-thumb'},{tag:'a', cls:'x-slider-focus', href:"#", tabIndex: '-1', hidefocus:'on'}]}}
72.33480 +        };
72.33481 +        Ext.Slider.superclass.onRender.apply(this, arguments);
72.33482 +        this.endEl = this.el.first();
72.33483 +        this.innerEl = this.endEl.first();
72.33484 +        this.thumb = this.innerEl.first();
72.33485 +        this.halfThumb = (this.vertical ? this.thumb.getHeight() : this.thumb.getWidth())/2;
72.33486 +        this.focusEl = this.thumb.next();
72.33487 +        this.initEvents();
72.33488 +    },
72.33489 +
72.33490 +	
72.33491 +    initEvents : function(){
72.33492 +        this.thumb.addClassOnOver('x-slider-thumb-over');
72.33493 +        this.mon(this.el, 'mousedown', this.onMouseDown, this);
72.33494 +        this.mon(this.el, 'keydown', this.onKeyDown, this);
72.33495 +
72.33496 +        this.tracker = new Ext.dd.DragTracker({
72.33497 +            onBeforeStart: this.onBeforeDragStart.createDelegate(this),
72.33498 +            onStart: this.onDragStart.createDelegate(this),
72.33499 +            onDrag: this.onDrag.createDelegate(this),
72.33500 +            onEnd: this.onDragEnd.createDelegate(this),
72.33501 +            tolerance: 3,
72.33502 +            autoStart: 300
72.33503 +        });
72.33504 +        this.tracker.initEl(this.thumb);
72.33505 +        this.on('beforedestroy', this.tracker.destroy, this.tracker);
72.33506 +    },
72.33507 +
72.33508 +	
72.33509 +    onMouseDown : function(e){
72.33510 +        if(this.disabled) {return;}
72.33511 +        if(this.clickToChange && e.target != this.thumb.dom){
72.33512 +            var local = this.innerEl.translatePoints(e.getXY());
72.33513 +            this.onClickChange(local);
72.33514 +        }
72.33515 +        this.focus();
72.33516 +    },
72.33517 +
72.33518 +	
72.33519 +    onClickChange : function(local){
72.33520 +        if(local.top > this.clickRange[0] && local.top < this.clickRange[1]){
72.33521 +            this.setValue(Math.round(local.left/this.getRatio()));
72.33522 +        }
72.33523 +    },
72.33524 +	
72.33525 +	
72.33526 +    onKeyDown : function(e){
72.33527 +        if(this.disabled){e.preventDefault();return;}
72.33528 +        var k = e.getKey();
72.33529 +        switch(k){
72.33530 +            case e.UP:
72.33531 +            case e.RIGHT:
72.33532 +                e.stopEvent();
72.33533 +                if(e.ctrlKey){
72.33534 +                    this.setValue(this.maxValue);
72.33535 +                }else{
72.33536 +                    this.setValue(this.value+this.keyIncrement);
72.33537 +                }
72.33538 +            break;
72.33539 +            case e.DOWN:
72.33540 +            case e.LEFT:
72.33541 +                e.stopEvent();
72.33542 +                if(e.ctrlKey){
72.33543 +                    this.setValue(this.minValue);
72.33544 +                }else{
72.33545 +                    this.setValue(this.value-this.keyIncrement);
72.33546 +                }
72.33547 +            break;
72.33548 +            default:
72.33549 +                e.preventDefault();
72.33550 +        }
72.33551 +    },
72.33552 +	
72.33553 +	
72.33554 +    doSnap : function(value){
72.33555 +        if(!this.increment || this.increment == 1 || !value) {
72.33556 +            return value;
72.33557 +        }
72.33558 +        var newValue = value, inc = this.increment;
72.33559 +        var m = value % inc;
72.33560 +        if(m > 0){
72.33561 +            if(m > (inc/2)){
72.33562 +                newValue = value + (inc-m);
72.33563 +            }else{
72.33564 +                newValue = value - m;
72.33565 +            }
72.33566 +        }
72.33567 +        return newValue.constrain(this.minValue,  this.maxValue);
72.33568 +    },
72.33569 +	
72.33570 +	
72.33571 +    afterRender : function(){
72.33572 +        Ext.Slider.superclass.afterRender.apply(this, arguments);
72.33573 +        if(this.value !== undefined){
72.33574 +            var v = this.normalizeValue(this.value);
72.33575 +            if(v !== this.value){
72.33576 +                delete this.value;
72.33577 +                this.setValue(v, false);
72.33578 +            }else{
72.33579 +                this.moveThumb(this.translateValue(v), false);
72.33580 +            }
72.33581 +        }
72.33582 +    },
72.33583 +
72.33584 +	
72.33585 +    getRatio : function(){
72.33586 +        var w = this.innerEl.getWidth();
72.33587 +        var v = this.maxValue - this.minValue;
72.33588 +        return w/v;
72.33589 +    },
72.33590 +
72.33591 +	
72.33592 +    normalizeValue : function(v){
72.33593 +       if(typeof v != 'number'){
72.33594 +            v = parseInt(v);
72.33595 +        }
72.33596 +        v = Math.round(v);
72.33597 +        v = this.doSnap(v);
72.33598 +        v = v.constrain(this.minValue, this.maxValue);
72.33599 +        return v;
72.33600 +    },
72.33601 +
72.33602 +	
72.33603 +    setValue : function(v, animate){
72.33604 +        v = this.normalizeValue(v);
72.33605 +        if(v !== this.value && this.fireEvent('beforechange', this, v, this.value) !== false){
72.33606 +            this.value = v;
72.33607 +            this.moveThumb(this.translateValue(v), animate !== false);
72.33608 +            this.fireEvent('change', this, v);
72.33609 +        }
72.33610 +    },
72.33611 +
72.33612 +	
72.33613 +    translateValue : function(v){
72.33614 +        return (v * this.getRatio())-this.halfThumb;
72.33615 +    },
72.33616 +
72.33617 +	
72.33618 +    moveThumb: function(v, animate){
72.33619 +        if(!animate || this.animate === false){
72.33620 +            this.thumb.setLeft(v);
72.33621 +        }else{
72.33622 +            this.thumb.shift({left: v, stopFx: true, duration:.35});
72.33623 +        }
72.33624 +    },
72.33625 +
72.33626 +	
72.33627 +    focus : function(){
72.33628 +        this.focusEl.focus(10);
72.33629 +    },
72.33630 +
72.33631 +	
72.33632 +    onBeforeDragStart : function(e){
72.33633 +        return !this.disabled;
72.33634 +    },
72.33635 +
72.33636 +	
72.33637 +    onDragStart: function(e){
72.33638 +        this.thumb.addClass('x-slider-thumb-drag');
72.33639 +        this.fireEvent('dragstart', this, e);
72.33640 +    },
72.33641 +
72.33642 +	
72.33643 +    onDrag: function(e){
72.33644 +        var pos = this.innerEl.translatePoints(this.tracker.getXY());
72.33645 +        this.setValue(Math.round(pos.left/this.getRatio()), false);
72.33646 +        this.fireEvent('drag', this, e);
72.33647 +    },
72.33648 +	
72.33649 +	
72.33650 +    onDragEnd: function(e){
72.33651 +        this.thumb.removeClass('x-slider-thumb-drag');
72.33652 +        this.fireEvent('dragend', this, e);
72.33653 +    },
72.33654 +
72.33655 +	
72.33656 +    onResize : function(w, h){
72.33657 +        this.innerEl.setWidth(w - (this.el.getPadding('l') + this.endEl.getPadding('r')));
72.33658 +    },
72.33659 +	
72.33660 +	
72.33661 +    getValue : function(){
72.33662 +        return this.value;
72.33663 +    }
72.33664 +});
72.33665 +Ext.reg('slider', Ext.Slider);
72.33666 +
72.33667 +
72.33668 +Ext.Slider.Vertical = {
72.33669 +    onResize : function(w, h){
72.33670 +        this.innerEl.setHeight(h - (this.el.getPadding('t') + this.endEl.getPadding('b')));
72.33671 +    },
72.33672 +
72.33673 +    getRatio : function(){
72.33674 +        var h = this.innerEl.getHeight();
72.33675 +        var v = this.maxValue - this.minValue;
72.33676 +        return h/v;
72.33677 +    },
72.33678 +
72.33679 +    moveThumb: function(v, animate){
72.33680 +        if(!animate || this.animate === false){
72.33681 +            this.thumb.setBottom(v);
72.33682 +        }else{
72.33683 +            this.thumb.shift({bottom: v, stopFx: true, duration:.35});
72.33684 +        }
72.33685 +    },
72.33686 +
72.33687 +    onDrag: function(e){
72.33688 +        var pos = this.innerEl.translatePoints(this.tracker.getXY());
72.33689 +        var bottom = this.innerEl.getHeight()-pos.top;
72.33690 +        this.setValue(Math.round(bottom/this.getRatio()), false);
72.33691 +        this.fireEvent('drag', this, e);
72.33692 +    },
72.33693 +
72.33694 +    onClickChange : function(local){
72.33695 +        if(local.left > this.clickRange[0] && local.left < this.clickRange[1]){
72.33696 +            var bottom = this.innerEl.getHeight()-local.top;
72.33697 +            this.setValue(Math.round(bottom/this.getRatio()));
72.33698 +        }
72.33699 +    }
72.33700 +};
72.33701 +
72.33702 +Ext.StatusBar = Ext.extend(Ext.Toolbar, {
72.33703 +    
72.33704 +    
72.33705 +    
72.33706 +    
72.33707 +    
72.33708 +    
72.33709 +    
72.33710 +    cls : 'x-statusbar',
72.33711 +    
72.33712 +    busyIconCls : 'x-status-busy',
72.33713 +    
72.33714 +    busyText : 'Loading...',
72.33715 +    
72.33716 +    autoClear : 5000,
72.33717 +    
72.33718 +        activeThreadId : 0,
72.33719 +    
72.33720 +        initComponent : function(){
72.33721 +        if(this.statusAlign=='right'){
72.33722 +            this.cls += ' x-status-right';
72.33723 +        }
72.33724 +        Ext.StatusBar.superclass.initComponent.call(this);
72.33725 +    },
72.33726 +    
72.33727 +        afterRender : function(){
72.33728 +        Ext.StatusBar.superclass.afterRender.call(this);
72.33729 +        
72.33730 +        var right = this.statusAlign=='right',
72.33731 +            td = Ext.get(this.nextBlock());
72.33732 +        
72.33733 +        if(right){
72.33734 +            this.tr.appendChild(td.dom);
72.33735 +        }else{
72.33736 +            td.insertBefore(this.tr.firstChild);
72.33737 +        }
72.33738 +        
72.33739 +        this.statusEl = td.createChild({
72.33740 +            cls: 'x-status-text ' + (this.iconCls || this.defaultIconCls || ''),
72.33741 +            html: this.text || this.defaultText || ''
72.33742 +        });
72.33743 +        this.statusEl.unselectable();
72.33744 +        
72.33745 +        this.spacerEl = td.insertSibling({
72.33746 +            tag: 'td',
72.33747 +            style: 'width:100%',
72.33748 +            cn: [{cls:'ytb-spacer'}]
72.33749 +        }, right ? 'before' : 'after');
72.33750 +    },
72.33751 +
72.33752 +    
72.33753 +    setStatus : function(o){
72.33754 +        o = o || {};
72.33755 +        
72.33756 +        if(typeof o == 'string'){
72.33757 +            o = {text:o};
72.33758 +        }
72.33759 +        if(o.text !== undefined){
72.33760 +            this.setText(o.text);
72.33761 +        }
72.33762 +        if(o.iconCls !== undefined){
72.33763 +            this.setIcon(o.iconCls);
72.33764 +        }
72.33765 +        
72.33766 +        if(o.clear){
72.33767 +            var c = o.clear,
72.33768 +                wait = this.autoClear,
72.33769 +                defaults = {useDefaults: true, anim: true};
72.33770 +            
72.33771 +            if(typeof c == 'object'){
72.33772 +                c = Ext.applyIf(c, defaults);
72.33773 +                if(c.wait){
72.33774 +                    wait = c.wait;
72.33775 +                }
72.33776 +            }else if(typeof c == 'number'){
72.33777 +                wait = c;
72.33778 +                c = defaults;
72.33779 +            }else if(typeof c == 'boolean'){
72.33780 +                c = defaults;
72.33781 +            }
72.33782 +            
72.33783 +            c.threadId = this.activeThreadId;
72.33784 +            this.clearStatus.defer(wait, this, [c]);
72.33785 +        }
72.33786 +        return this;
72.33787 +    },
72.33788 +     
72.33789 +    
72.33790 +    clearStatus : function(o){
72.33791 +        o = o || {};
72.33792 +        
72.33793 +        if(o.threadId && o.threadId !== this.activeThreadId){
72.33794 +                                                return this;
72.33795 +        }
72.33796 +        
72.33797 +        var text = o.useDefaults ? this.defaultText : '',
72.33798 +            iconCls = o.useDefaults ? this.defaultIconCls : '';
72.33799 +            
72.33800 +        if(o.anim){
72.33801 +            this.statusEl.fadeOut({
72.33802 +                remove: false,
72.33803 +                useDisplay: true,
72.33804 +                scope: this,
72.33805 +                callback: function(){
72.33806 +                    this.setStatus({
72.33807 +	                    text: text, 
72.33808 +	                    iconCls: iconCls
72.33809 +	                });
72.33810 +                    this.statusEl.show();
72.33811 +                }
72.33812 +            });
72.33813 +        }else{
72.33814 +                        this.statusEl.hide();
72.33815 +	        this.setStatus({
72.33816 +	            text: text,
72.33817 +	            iconCls: iconCls
72.33818 +	        });
72.33819 +            this.statusEl.show();
72.33820 +        }
72.33821 +        return this;
72.33822 +    },
72.33823 +    
72.33824 +    
72.33825 +    setText : function(text){
72.33826 +        this.activeThreadId++;
72.33827 +        this.text = text || '';
72.33828 +        if(this.rendered){
72.33829 +            this.statusEl.update(this.text);
72.33830 +        }
72.33831 +        return this;
72.33832 +    },
72.33833 +    
72.33834 +    
72.33835 +    getText : function(){
72.33836 +        return this.text;
72.33837 +    },
72.33838 +
72.33839 +    
72.33840 +    setIcon : function(cls){
72.33841 +        this.activeThreadId++;
72.33842 +        cls = cls || '';
72.33843 +        
72.33844 +        if(this.rendered){
72.33845 +	        if(this.currIconCls){
72.33846 +	            this.statusEl.removeClass(this.currIconCls);
72.33847 +	            this.currIconCls = null;
72.33848 +	        }
72.33849 +	        if(cls.length > 0){
72.33850 +	            this.statusEl.addClass(cls);
72.33851 +	            this.currIconCls = cls;
72.33852 +	        }
72.33853 +        }else{
72.33854 +            this.currIconCls = cls;
72.33855 +        }
72.33856 +        return this;
72.33857 +    },
72.33858 +    
72.33859 +    
72.33860 +    showBusy : function(o){
72.33861 +        if(typeof o == 'string'){
72.33862 +            o = {text:o};
72.33863 +        }
72.33864 +        o = Ext.applyIf(o || {}, {
72.33865 +            text: this.busyText,
72.33866 +            iconCls: this.busyIconCls
72.33867 +        });
72.33868 +        return this.setStatus(o);
72.33869 +    }
72.33870 +});
72.33871 +Ext.reg('statusbar', Ext.StatusBar);
72.33872 +
72.33873 +Ext.debug = {};
72.33874 +
72.33875 +(function(){
72.33876 +
72.33877 +var cp;
72.33878 +
72.33879 +function createConsole(){
72.33880 +
72.33881 +    var scriptPanel = new Ext.debug.ScriptsPanel();
72.33882 +    var logView = new Ext.debug.LogPanel();
72.33883 +    var tree = new Ext.debug.DomTree();
72.33884 +
72.33885 +    var tabs = new Ext.TabPanel({
72.33886 +        activeTab: 0,
72.33887 +        border: false,
72.33888 +        tabPosition: 'bottom',
72.33889 +        items: [{
72.33890 +            title: 'Debug Console',
72.33891 +            layout:'border',
72.33892 +            items: [logView, scriptPanel]
72.33893 +        },{
72.33894 +            title: 'DOM Inspector',
72.33895 +            layout:'border',
72.33896 +            items: [tree]
72.33897 +        }]
72.33898 +    });
72.33899 +
72.33900 +    cp = new Ext.Panel({
72.33901 +        id: 'x-debug-browser',
72.33902 +        title: 'Console',
72.33903 +        collapsible: true,
72.33904 +        animCollapse: false,
72.33905 +        style: 'position:absolute;left:0;bottom:0;',
72.33906 +        height:200,
72.33907 +        logView: logView,
72.33908 +        layout: 'fit',
72.33909 +        
72.33910 +        tools:[{
72.33911 +            id: 'close',
72.33912 +            handler: function(){
72.33913 +                cp.destroy();
72.33914 +                cp = null;
72.33915 +                Ext.EventManager.removeResizeListener(handleResize);
72.33916 +            }
72.33917 +        }],
72.33918 +
72.33919 +        items: tabs
72.33920 +    });
72.33921 +
72.33922 +    cp.render(document.body);
72.33923 +
72.33924 +    cp.resizer = new Ext.Resizable(cp.el, {
72.33925 +        minHeight:50,
72.33926 +        handles: "n",
72.33927 +        pinned: true,
72.33928 +        transparent:true,
72.33929 +        resizeElement : function(){
72.33930 +            var box = this.proxy.getBox();
72.33931 +            this.proxy.hide();
72.33932 +            cp.setHeight(box.height);
72.33933 +            return box;
72.33934 +        }
72.33935 +    });
72.33936 +
72.33937 +    function handleResize(){
72.33938 +        cp.setWidth(Ext.getBody().getViewSize().width);
72.33939 +    }
72.33940 +    Ext.EventManager.onWindowResize(handleResize);
72.33941 +
72.33942 +    handleResize();
72.33943 +}
72.33944 +
72.33945 +
72.33946 +Ext.apply(Ext, {
72.33947 +    log : function(){
72.33948 +        if(!cp){
72.33949 +            createConsole();
72.33950 +        }
72.33951 +        cp.logView.log.apply(cp.logView, arguments);
72.33952 +    },
72.33953 +
72.33954 +    logf : function(format, arg1, arg2, etc){
72.33955 +        Ext.log(String.format.apply(String, arguments));
72.33956 +    },
72.33957 +
72.33958 +    dump : function(o){
72.33959 +        if(typeof o == 'string' || typeof o == 'number' || typeof o == 'undefined' || Ext.isDate(o)){
72.33960 +            Ext.log(o);
72.33961 +        }else if(!o){
72.33962 +            Ext.log("null");
72.33963 +        }else if(typeof o != "object"){
72.33964 +            Ext.log('Unknown return type');
72.33965 +        }else if(Ext.isArray(o)){
72.33966 +            Ext.log('['+o.join(',')+']');
72.33967 +        }else{
72.33968 +            var b = ["{\n"];
72.33969 +            for(var key in o){
72.33970 +                var to = typeof o[key];
72.33971 +                if(to != "function" && to != "object"){
72.33972 +                    b.push(String.format("  {0}: {1},\n", key, o[key]));
72.33973 +                }
72.33974 +            }
72.33975 +            var s = b.join("");
72.33976 +            if(s.length > 3){
72.33977 +                s = s.substr(0, s.length-2);
72.33978 +            }
72.33979 +            Ext.log(s + "\n}");
72.33980 +        }
72.33981 +    },
72.33982 +
72.33983 +    _timers : {},
72.33984 +
72.33985 +    time : function(name){
72.33986 +        name = name || "def";
72.33987 +        Ext._timers[name] = new Date().getTime();
72.33988 +    },
72.33989 +
72.33990 +    timeEnd : function(name, printResults){
72.33991 +        var t = new Date().getTime();
72.33992 +        name = name || "def";
72.33993 +        var v = String.format("{0} ms", t-Ext._timers[name]);
72.33994 +        Ext._timers[name] = new Date().getTime();
72.33995 +        if(printResults !== false){
72.33996 +            Ext.log('Timer ' + (name == "def" ? v : name + ": " + v));
72.33997 +        }
72.33998 +        return v;
72.33999 +    }
72.34000 +});
72.34001 +
72.34002 +})();
72.34003 +
72.34004 +
72.34005 +Ext.debug.ScriptsPanel = Ext.extend(Ext.Panel, {
72.34006 +    id:'x-debug-scripts',
72.34007 +    region: 'east',
72.34008 +    minWidth: 200,
72.34009 +    split: true,
72.34010 +    width: 350,
72.34011 +    border: false,
72.34012 +    layout:'anchor',
72.34013 +    style:'border-width:0 0 0 1px;',
72.34014 +
72.34015 +    initComponent : function(){
72.34016 +
72.34017 +        this.scriptField = new Ext.form.TextArea({
72.34018 +            anchor: '100% -26',
72.34019 +            style:'border-width:0;'
72.34020 +        });
72.34021 +
72.34022 +        this.trapBox = new Ext.form.Checkbox({
72.34023 +            id: 'console-trap',
72.34024 +            boxLabel: 'Trap Errors',
72.34025 +            checked: true
72.34026 +        });
72.34027 +
72.34028 +        this.toolbar = new Ext.Toolbar([{
72.34029 +                text: 'Run',
72.34030 +                scope: this,
72.34031 +                handler: this.evalScript
72.34032 +            },{
72.34033 +                text: 'Clear',
72.34034 +                scope: this,
72.34035 +                handler: this.clear
72.34036 +            },
72.34037 +            '->',
72.34038 +            this.trapBox,
72.34039 +            ' ', ' '
72.34040 +        ]);
72.34041 +
72.34042 +        this.items = [this.toolbar, this.scriptField];
72.34043 +
72.34044 +        Ext.debug.ScriptsPanel.superclass.initComponent.call(this);
72.34045 +    },
72.34046 +
72.34047 +    evalScript : function(){
72.34048 +        var s = this.scriptField.getValue();
72.34049 +        if(this.trapBox.getValue()){
72.34050 +            try{
72.34051 +                var rt = eval(s);
72.34052 +                Ext.dump(rt === undefined? '(no return)' : rt);
72.34053 +            }catch(e){
72.34054 +                Ext.log(e.message || e.descript);
72.34055 +            }
72.34056 +        }else{
72.34057 +            var rt = eval(s);
72.34058 +            Ext.dump(rt === undefined? '(no return)' : rt);
72.34059 +        }
72.34060 +    },
72.34061 +
72.34062 +    clear : function(){
72.34063 +        this.scriptField.setValue('');
72.34064 +        this.scriptField.focus();
72.34065 +    }
72.34066 +
72.34067 +});
72.34068 +
72.34069 +Ext.debug.LogPanel = Ext.extend(Ext.Panel, {
72.34070 +    autoScroll: true,
72.34071 +    region: 'center',
72.34072 +    border: false,
72.34073 +    style:'border-width:0 1px 0 0',
72.34074 +
72.34075 +    log : function(){
72.34076 +        var markup = [  '<div style="padding:5px !important;border-bottom:1px solid #ccc;">',
72.34077 +                    Ext.util.Format.htmlEncode(Array.prototype.join.call(arguments, ', ')).replace(/\n/g, '<br />').replace(/\s/g, '&#160;'),
72.34078 +                    '</div>'].join('');
72.34079 +
72.34080 +        this.body.insertHtml('beforeend', markup);
72.34081 +        this.body.scrollTo('top', 100000);
72.34082 +    },
72.34083 +
72.34084 +    clear : function(){
72.34085 +        this.body.update('');
72.34086 +        this.body.dom.scrollTop = 0;
72.34087 +    }
72.34088 +});
72.34089 +
72.34090 +Ext.debug.DomTree = Ext.extend(Ext.tree.TreePanel, {
72.34091 +    enableDD:false ,
72.34092 +    lines:false,
72.34093 +    rootVisible:false,
72.34094 +    animate:false,
72.34095 +    hlColor:'ffff9c',
72.34096 +    autoScroll: true,
72.34097 +    region:'center',
72.34098 +    border:false,
72.34099 +
72.34100 +    initComponent : function(){
72.34101 +
72.34102 +
72.34103 +        Ext.debug.DomTree.superclass.initComponent.call(this);
72.34104 +        
72.34105 +                var styles = false, hnode;
72.34106 +        var nonSpace = /^\s*$/;
72.34107 +        var html = Ext.util.Format.htmlEncode;
72.34108 +        var ellipsis = Ext.util.Format.ellipsis;
72.34109 +        var styleRe = /\s?([a-z\-]*)\:([^;]*)(?:[;\s\n\r]*)/gi;
72.34110 +
72.34111 +        function findNode(n){
72.34112 +            if(!n || n.nodeType != 1 || n == document.body || n == document){
72.34113 +                return false;
72.34114 +            }
72.34115 +            var pn = [n], p = n;
72.34116 +            while((p = p.parentNode) && p.nodeType == 1 && p.tagName.toUpperCase() != 'HTML'){
72.34117 +                pn.unshift(p);
72.34118 +            }
72.34119 +            var cn = hnode;
72.34120 +            for(var i = 0, len = pn.length; i < len; i++){
72.34121 +                cn.expand();
72.34122 +                cn = cn.findChild('htmlNode', pn[i]);
72.34123 +                if(!cn){                     return false;
72.34124 +                }
72.34125 +            }
72.34126 +            cn.select();
72.34127 +            var a = cn.ui.anchor;
72.34128 +            treeEl.dom.scrollTop = Math.max(0 ,a.offsetTop-10);
72.34129 +                        cn.highlight();
72.34130 +            return true;
72.34131 +        }
72.34132 +
72.34133 +        function nodeTitle(n){
72.34134 +            var s = n.tagName;
72.34135 +            if(n.id){
72.34136 +                s += '#'+n.id;
72.34137 +            }else if(n.className){
72.34138 +                s += '.'+n.className;
72.34139 +            }
72.34140 +            return s;
72.34141 +        }
72.34142 +
72.34143 +        function onNodeSelect(t, n, last){
72.34144 +            return;
72.34145 +            if(last && last.unframe){
72.34146 +                last.unframe();
72.34147 +            }
72.34148 +            var props = {};
72.34149 +            if(n && n.htmlNode){
72.34150 +                if(frameEl.pressed){
72.34151 +                    n.frame();
72.34152 +                }
72.34153 +                if(inspecting){
72.34154 +                    return;
72.34155 +                }
72.34156 +                addStyle.enable();
72.34157 +                reload.setDisabled(n.leaf);
72.34158 +                var dom = n.htmlNode;
72.34159 +                stylePanel.setTitle(nodeTitle(dom));
72.34160 +                if(styles && !showAll.pressed){
72.34161 +                    var s = dom.style ? dom.style.cssText : '';
72.34162 +                    if(s){
72.34163 +                        var m;
72.34164 +                        while ((m = styleRe.exec(s)) != null){
72.34165 +                            props[m[1].toLowerCase()] = m[2];
72.34166 +                        }
72.34167 +                    }
72.34168 +                }else if(styles){
72.34169 +                    var cl = Ext.debug.cssList;
72.34170 +                    var s = dom.style, fly = Ext.fly(dom);
72.34171 +                    if(s){
72.34172 +                        for(var i = 0, len = cl.length; i<len; i++){
72.34173 +                            var st = cl[i];
72.34174 +                            var v = s[st] || fly.getStyle(st);
72.34175 +                            if(v != undefined && v !== null && v !== ''){
72.34176 +                                props[st] = v;
72.34177 +                            }
72.34178 +                        }
72.34179 +                    }
72.34180 +                }else{
72.34181 +                    for(var a in dom){
72.34182 +                        var v = dom[a];
72.34183 +                        if((isNaN(a+10)) && v != undefined && v !== null && v !== '' && !(Ext.isGecko && a[0] == a[0].toUpperCase())){
72.34184 +                            props[a] = v;
72.34185 +                        }
72.34186 +                    }
72.34187 +                }
72.34188 +            }else{
72.34189 +                if(inspecting){
72.34190 +                    return;
72.34191 +                }
72.34192 +                addStyle.disable();
72.34193 +                reload.disabled();
72.34194 +            }
72.34195 +            stylesGrid.setSource(props);
72.34196 +            stylesGrid.treeNode = n;
72.34197 +            stylesGrid.view.fitColumns();
72.34198 +        }
72.34199 +
72.34200 +        this.loader = new Ext.tree.TreeLoader();
72.34201 +        this.loader.load = function(n, cb){
72.34202 +            var isBody = n.htmlNode == document.body;
72.34203 +            var cn = n.htmlNode.childNodes;
72.34204 +            for(var i = 0, c; c = cn[i]; i++){
72.34205 +                if(isBody && c.id == 'x-debug-browser'){
72.34206 +                    continue;
72.34207 +                }
72.34208 +                if(c.nodeType == 1){
72.34209 +                    n.appendChild(new Ext.debug.HtmlNode(c));
72.34210 +                }else if(c.nodeType == 3 && !nonSpace.test(c.nodeValue)){
72.34211 +                    n.appendChild(new Ext.tree.TreeNode({
72.34212 +                        text:'<em>' + ellipsis(html(String(c.nodeValue)), 35) + '</em>',
72.34213 +                        cls: 'x-tree-noicon'
72.34214 +                    }));
72.34215 +                }
72.34216 +            }
72.34217 +            cb();
72.34218 +        };
72.34219 +
72.34220 +        
72.34221 +        this.root = this.setRootNode(new Ext.tree.TreeNode('Ext'));
72.34222 +
72.34223 +        hnode = this.root.appendChild(new Ext.debug.HtmlNode(
72.34224 +                document.getElementsByTagName('html')[0]
72.34225 +        ));
72.34226 +
72.34227 +    }
72.34228 +});
72.34229 +
72.34230 +
72.34231 +Ext.debug.HtmlNode = function(){
72.34232 +    var html = Ext.util.Format.htmlEncode;
72.34233 +    var ellipsis = Ext.util.Format.ellipsis;
72.34234 +    var nonSpace = /^\s*$/;
72.34235 +
72.34236 +    var attrs = [
72.34237 +        {n: 'id', v: 'id'},
72.34238 +        {n: 'className', v: 'class'},
72.34239 +        {n: 'name', v: 'name'},
72.34240 +        {n: 'type', v: 'type'},
72.34241 +        {n: 'src', v: 'src'},
72.34242 +        {n: 'href', v: 'href'}
72.34243 +    ];
72.34244 +
72.34245 +    function hasChild(n){
72.34246 +        for(var i = 0, c; c = n.childNodes[i]; i++){
72.34247 +            if(c.nodeType == 1){
72.34248 +                return true;
72.34249 +            }
72.34250 +        }
72.34251 +        return false;
72.34252 +    }
72.34253 +
72.34254 +    function renderNode(n, leaf){
72.34255 +        var tag = n.tagName.toLowerCase();
72.34256 +        var s = '&lt;' + tag;
72.34257 +        for(var i = 0, len = attrs.length; i < len; i++){
72.34258 +            var a = attrs[i];
72.34259 +            var v = n[a.n];
72.34260 +            if(v && !nonSpace.test(v)){
72.34261 +                s += ' ' + a.v + '=&quot;<i>' + html(v) +'</i>&quot;';
72.34262 +            }
72.34263 +        }
72.34264 +        var style = n.style ? n.style.cssText : '';
72.34265 +        if(style){
72.34266 +            s += ' style=&quot;<i>' + html(style.toLowerCase()) +'</i>&quot;';
72.34267 +        }
72.34268 +        if(leaf && n.childNodes.length > 0){
72.34269 +            s+='&gt;<em>' + ellipsis(html(String(n.innerHTML)), 35) + '</em>&lt;/'+tag+'&gt;';
72.34270 +        }else if(leaf){
72.34271 +            s += ' /&gt;';
72.34272 +        }else{
72.34273 +            s += '&gt;';
72.34274 +        }
72.34275 +        return s;
72.34276 +    }
72.34277 +
72.34278 +    var HtmlNode = function(n){
72.34279 +        var leaf = !hasChild(n);
72.34280 +        this.htmlNode = n;
72.34281 +        this.tagName = n.tagName.toLowerCase();
72.34282 +        var attr = {
72.34283 +            text : renderNode(n, leaf),
72.34284 +            leaf : leaf,
72.34285 +            cls: 'x-tree-noicon'
72.34286 +        };
72.34287 +        HtmlNode.superclass.constructor.call(this, attr);
72.34288 +        this.attributes.htmlNode = n;         if(!leaf){
72.34289 +            this.on('expand', this.onExpand,  this);
72.34290 +            this.on('collapse', this.onCollapse,  this);
72.34291 +        }
72.34292 +    };
72.34293 +
72.34294 +
72.34295 +    Ext.extend(HtmlNode, Ext.tree.AsyncTreeNode, {
72.34296 +        cls: 'x-tree-noicon',
72.34297 +        preventHScroll: true,
72.34298 +        refresh : function(highlight){
72.34299 +            var leaf = !hasChild(this.htmlNode);
72.34300 +            this.setText(renderNode(this.htmlNode, leaf));
72.34301 +            if(highlight){
72.34302 +                Ext.fly(this.ui.textNode).highlight();
72.34303 +            }
72.34304 +        },
72.34305 +
72.34306 +        onExpand : function(){
72.34307 +            if(!this.closeNode && this.parentNode){
72.34308 +                this.closeNode = this.parentNode.insertBefore(new Ext.tree.TreeNode({
72.34309 +                    text:'&lt;/' + this.tagName + '&gt;',
72.34310 +                    cls: 'x-tree-noicon'
72.34311 +                }), this.nextSibling);
72.34312 +            }else if(this.closeNode){
72.34313 +                this.closeNode.ui.show();
72.34314 +            }
72.34315 +        },
72.34316 +
72.34317 +        onCollapse : function(){
72.34318 +            if(this.closeNode){
72.34319 +                this.closeNode.ui.hide();
72.34320 +            }
72.34321 +        },
72.34322 +
72.34323 +        render : function(bulkRender){
72.34324 +            HtmlNode.superclass.render.call(this, bulkRender);
72.34325 +        },
72.34326 +
72.34327 +        highlightNode : function(){
72.34328 +                    },
72.34329 +
72.34330 +        highlight : function(){
72.34331 +                    },
72.34332 +
72.34333 +        frame : function(){
72.34334 +            this.htmlNode.style.border = '1px solid #0000ff';
72.34335 +                    },
72.34336 +
72.34337 +        unframe : function(){
72.34338 +                        this.htmlNode.style.border = '';
72.34339 +        }
72.34340 +    });
72.34341 +
72.34342 +    return HtmlNode;
72.34343 +}();
72.34344 +
72.34345 +
72.34346 +
    73.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    73.2 +++ b/onlypaths/js/ext/ext-base.js	Sun Jan 31 12:33:33 2010 -0500
    73.3 @@ -0,0 +1,10 @@
    73.4 +/*
    73.5 + * Ext JS Library 2.1
    73.6 + * Copyright(c) 2006-2008, Ext JS, LLC.
    73.7 + * licensing@extjs.com
    73.8 + * 
    73.9 + * http://extjs.com/license
   73.10 + */
   73.11 +
   73.12 +Ext={version:"2.1"};window["undefined"]=window["undefined"];Ext.apply=function(C,D,B){if(B){Ext.apply(C,B)}if(C&&D&&typeof D=="object"){for(var A in D){C[A]=D[A]}}return C};(function(){var idSeed=0;var ua=navigator.userAgent.toLowerCase();var isStrict=document.compatMode=="CSS1Compat",isOpera=ua.indexOf("opera")>-1,isSafari=(/webkit|khtml/).test(ua),isSafari3=isSafari&&ua.indexOf("webkit/5")!=-1,isIE=!isOpera&&ua.indexOf("msie")>-1,isIE7=!isOpera&&ua.indexOf("msie 7")>-1,isGecko=!isSafari&&ua.indexOf("gecko")>-1,isBorderBox=isIE&&!isStrict,isWindows=(ua.indexOf("windows")!=-1||ua.indexOf("win32")!=-1),isMac=(ua.indexOf("macintosh")!=-1||ua.indexOf("mac os x")!=-1),isAir=(ua.indexOf("adobeair")!=-1),isLinux=(ua.indexOf("linux")!=-1),isSecure=window.location.href.toLowerCase().indexOf("https")===0;if(isIE&&!isIE7){try{document.execCommand("BackgroundImageCache",false,true)}catch(e){}}Ext.apply(Ext,{isStrict:isStrict,isSecure:isSecure,isReady:false,enableGarbageCollector:true,enableListenerCollection:false,SSL_SECURE_URL:"javascript:false",BLANK_IMAGE_URL:"http:/"+"/extjs.com/s.gif",emptyFn:function(){},applyIf:function(o,c){if(o&&c){for(var p in c){if(typeof o[p]=="undefined"){o[p]=c[p]}}}return o},addBehaviors:function(o){if(!Ext.isReady){Ext.onReady(function(){Ext.addBehaviors(o)});return }var cache={};for(var b in o){var parts=b.split("@");if(parts[1]){var s=parts[0];if(!cache[s]){cache[s]=Ext.select(s)}cache[s].on(parts[1],o[b])}}cache=null},id:function(el,prefix){prefix=prefix||"ext-gen";el=Ext.getDom(el);var id=prefix+(++idSeed);return el?(el.id?el.id:(el.id=id)):id},extend:function(){var io=function(o){for(var m in o){this[m]=o[m]}};var oc=Object.prototype.constructor;return function(sb,sp,overrides){if(typeof sp=="object"){overrides=sp;sp=sb;sb=overrides.constructor!=oc?overrides.constructor:function(){sp.apply(this,arguments)}}var F=function(){},sbp,spp=sp.prototype;F.prototype=spp;sbp=sb.prototype=new F();sbp.constructor=sb;sb.superclass=spp;if(spp.constructor==oc){spp.constructor=sp}sb.override=function(o){Ext.override(sb,o)};sbp.override=io;Ext.override(sb,overrides);sb.extend=function(o){Ext.extend(sb,o)};return sb}}(),override:function(origclass,overrides){if(overrides){var p=origclass.prototype;for(var method in overrides){p[method]=overrides[method]}}},namespace:function(){var a=arguments,o=null,i,j,d,rt;for(i=0;i<a.length;++i){d=a[i].split(".");rt=d[0];eval("if (typeof "+rt+" == \"undefined\"){"+rt+" = {};} o = "+rt+";");for(j=1;j<d.length;++j){o[d[j]]=o[d[j]]||{};o=o[d[j]]}}},urlEncode:function(o){if(!o){return""}var buf=[];for(var key in o){var ov=o[key],k=encodeURIComponent(key);var type=typeof ov;if(type=="undefined"){buf.push(k,"=&")}else{if(type!="function"&&type!="object"){buf.push(k,"=",encodeURIComponent(ov),"&")}else{if(Ext.isArray(ov)){if(ov.length){for(var i=0,len=ov.length;i<len;i++){buf.push(k,"=",encodeURIComponent(ov[i]===undefined?"":ov[i]),"&")}}else{buf.push(k,"=&")}}}}}buf.pop();return buf.join("")},urlDecode:function(string,overwrite){if(!string||!string.length){return{}}var obj={};var pairs=string.split("&");var pair,name,value;for(var i=0,len=pairs.length;i<len;i++){pair=pairs[i].split("=");name=decodeURIComponent(pair[0]);value=decodeURIComponent(pair[1]);if(overwrite!==true){if(typeof obj[name]=="undefined"){obj[name]=value}else{if(typeof obj[name]=="string"){obj[name]=[obj[name]];obj[name].push(value)}else{obj[name].push(value)}}}else{obj[name]=value}}return obj},each:function(array,fn,scope){if(!Ext.isArray(array)){array=[array]}for(var i=0,len=array.length;i<len;i++){if(fn.call(scope||array[i],array[i],i,array)===false){return i}}},combine:function(){var as=arguments,l=as.length,r=[];for(var i=0;i<l;i++){var a=as[i];if(Ext.isArray(a)){r=r.concat(a)}else{if(a.length!==undefined&&!a.substr){r=r.concat(Array.prototype.slice.call(a,0))}else{r.push(a)}}}return r},escapeRe:function(s){return s.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},callback:function(cb,scope,args,delay){if(typeof cb=="function"){if(delay){cb.defer(delay,scope,args||[])}else{cb.apply(scope,args||[])}}},getDom:function(el){if(!el||!document){return null}return el.dom?el.dom:(typeof el=="string"?document.getElementById(el):el)},getDoc:function(){return Ext.get(document)},getBody:function(){return Ext.get(document.body||document.documentElement)},getCmp:function(id){return Ext.ComponentMgr.get(id)},num:function(v,defaultValue){if(typeof v!="number"){return defaultValue}return v},destroy:function(){for(var i=0,a=arguments,len=a.length;i<len;i++){var as=a[i];if(as){if(typeof as.destroy=="function"){as.destroy()}else{if(as.dom){as.removeAllListeners();as.remove()}}}}},removeNode:isIE?function(){var d;return function(n){if(n&&n.tagName!="BODY"){d=d||document.createElement("div");d.appendChild(n);d.innerHTML=""}}}():function(n){if(n&&n.parentNode&&n.tagName!="BODY"){n.parentNode.removeChild(n)}},type:function(o){if(o===undefined||o===null){return false}if(o.htmlElement){return"element"}var t=typeof o;if(t=="object"&&o.nodeName){switch(o.nodeType){case 1:return"element";case 3:return(/\S/).test(o.nodeValue)?"textnode":"whitespace"}}if(t=="object"||t=="function"){switch(o.constructor){case Array:return"array";case RegExp:return"regexp"}if(typeof o.length=="number"&&typeof o.item=="function"){return"nodelist"}}return t},isEmpty:function(v,allowBlank){return v===null||v===undefined||(!allowBlank?v==="":false)},value:function(v,defaultValue,allowBlank){return Ext.isEmpty(v,allowBlank)?defaultValue:v},isArray:function(v){return v&&typeof v.pop=="function"},isDate:function(v){return v&&typeof v.getFullYear=="function"},isOpera:isOpera,isSafari:isSafari,isSafari3:isSafari3,isSafari2:isSafari&&!isSafari3,isIE:isIE,isIE6:isIE&&!isIE7,isIE7:isIE7,isGecko:isGecko,isBorderBox:isBorderBox,isLinux:isLinux,isWindows:isWindows,isMac:isMac,isAir:isAir,useShims:((isIE&&!isIE7)||(isGecko&&isMac))});Ext.ns=Ext.namespace})();Ext.ns("Ext","Ext.util","Ext.grid","Ext.dd","Ext.tree","Ext.data","Ext.form","Ext.menu","Ext.state","Ext.lib","Ext.layout","Ext.app","Ext.ux");Ext.apply(Function.prototype,{createCallback:function(){var A=arguments;var B=this;return function(){return B.apply(window,A)}},createDelegate:function(C,B,A){var D=this;return function(){var F=B||arguments;if(A===true){F=Array.prototype.slice.call(arguments,0);F=F.concat(B)}else{if(typeof A=="number"){F=Array.prototype.slice.call(arguments,0);var E=[A,0].concat(B);Array.prototype.splice.apply(F,E)}}return D.apply(C||window,F)}},defer:function(C,E,B,A){var D=this.createDelegate(E,B,A);if(C){return setTimeout(D,C)}D();return 0},createSequence:function(B,A){if(typeof B!="function"){return this}var C=this;return function(){var D=C.apply(this||window,arguments);B.apply(A||this||window,arguments);return D}},createInterceptor:function(B,A){if(typeof B!="function"){return this}var C=this;return function(){B.target=this;B.method=C;if(B.apply(A||this||window,arguments)===false){return }return C.apply(this||window,arguments)}}});Ext.applyIf(String,{escape:function(A){return A.replace(/('|\\)/g,"\\$1")},leftPad:function(D,B,C){var A=new String(D);if(!C){C=" "}while(A.length<B){A=C+A}return A.toString()},format:function(B){var A=Array.prototype.slice.call(arguments,1);return B.replace(/\{(\d+)\}/g,function(C,D){return A[D]})}});String.prototype.toggle=function(B,A){return this==B?A:B};String.prototype.trim=function(){var A=/^\s+|\s+$/g;return function(){return this.replace(A,"")}}();Ext.applyIf(Number.prototype,{constrain:function(B,A){return Math.min(Math.max(this,B),A)}});Ext.applyIf(Array.prototype,{indexOf:function(C){for(var B=0,A=this.length;B<A;B++){if(this[B]==C){return B}}return -1},remove:function(B){var A=this.indexOf(B);if(A!=-1){this.splice(A,1)}return this}});Date.prototype.getElapsed=function(A){return Math.abs((A||new Date()).getTime()-this.getTime())};
   73.13 +(function(){var B;Ext.lib.Dom={getViewWidth:function(E){return E?this.getDocumentWidth():this.getViewportWidth()},getViewHeight:function(E){return E?this.getDocumentHeight():this.getViewportHeight()},getDocumentHeight:function(){var E=(document.compatMode!="CSS1Compat")?document.body.scrollHeight:document.documentElement.scrollHeight;return Math.max(E,this.getViewportHeight())},getDocumentWidth:function(){var E=(document.compatMode!="CSS1Compat")?document.body.scrollWidth:document.documentElement.scrollWidth;return Math.max(E,this.getViewportWidth())},getViewportHeight:function(){if(Ext.isIE){return Ext.isStrict?document.documentElement.clientHeight:document.body.clientHeight}else{return self.innerHeight}},getViewportWidth:function(){if(Ext.isIE){return Ext.isStrict?document.documentElement.clientWidth:document.body.clientWidth}else{return self.innerWidth}},isAncestor:function(F,G){F=Ext.getDom(F);G=Ext.getDom(G);if(!F||!G){return false}if(F.contains&&!Ext.isSafari){return F.contains(G)}else{if(F.compareDocumentPosition){return !!(F.compareDocumentPosition(G)&16)}else{var E=G.parentNode;while(E){if(E==F){return true}else{if(!E.tagName||E.tagName.toUpperCase()=="HTML"){return false}}E=E.parentNode}return false}}},getRegion:function(E){return Ext.lib.Region.getRegion(E)},getY:function(E){return this.getXY(E)[1]},getX:function(E){return this.getXY(E)[0]},getXY:function(G){var F,K,M,N,J=(document.body||document.documentElement);G=Ext.getDom(G);if(G==J){return[0,0]}if(G.getBoundingClientRect){M=G.getBoundingClientRect();N=C(document).getScroll();return[M.left+N.left,M.top+N.top]}var O=0,L=0;F=G;var E=C(G).getStyle("position")=="absolute";while(F){O+=F.offsetLeft;L+=F.offsetTop;if(!E&&C(F).getStyle("position")=="absolute"){E=true}if(Ext.isGecko){K=C(F);var P=parseInt(K.getStyle("borderTopWidth"),10)||0;var H=parseInt(K.getStyle("borderLeftWidth"),10)||0;O+=H;L+=P;if(F!=G&&K.getStyle("overflow")!="visible"){O+=H;L+=P}}F=F.offsetParent}if(Ext.isSafari&&E){O-=J.offsetLeft;L-=J.offsetTop}if(Ext.isGecko&&!E){var I=C(J);O+=parseInt(I.getStyle("borderLeftWidth"),10)||0;L+=parseInt(I.getStyle("borderTopWidth"),10)||0}F=G.parentNode;while(F&&F!=J){if(!Ext.isOpera||(F.tagName!="TR"&&C(F).getStyle("display")!="inline")){O-=F.scrollLeft;L-=F.scrollTop}F=F.parentNode}return[O,L]},setXY:function(E,F){E=Ext.fly(E,"_setXY");E.position();var G=E.translatePoints(F);if(F[0]!==false){E.dom.style.left=G.left+"px"}if(F[1]!==false){E.dom.style.top=G.top+"px"}},setX:function(F,E){this.setXY(F,[E,false])},setY:function(E,F){this.setXY(E,[false,F])}};Ext.lib.Event=function(){var F=false;var G=[];var K=[];var I=0;var H=[];var E=0;var J=null;return{POLL_RETRYS:200,POLL_INTERVAL:20,EL:0,TYPE:1,FN:2,WFN:3,OBJ:3,ADJ_SCOPE:4,_interval:null,startInterval:function(){if(!this._interval){var L=this;var M=function(){L._tryPreloadAttach()};this._interval=setInterval(M,this.POLL_INTERVAL)}},onAvailable:function(N,L,O,M){H.push({id:N,fn:L,obj:O,override:M,checkReady:false});I=this.POLL_RETRYS;this.startInterval()},addListener:function(Q,M,P){Q=Ext.getDom(Q);if(!Q||!P){return false}if("unload"==M){K[K.length]=[Q,M,P];return true}var O=function(R){return typeof Ext!="undefined"?P(Ext.lib.Event.getEvent(R)):false};var L=[Q,M,P,O];var N=G.length;G[N]=L;this.doAdd(Q,M,O,false);return true},removeListener:function(S,O,R){var Q,N;S=Ext.getDom(S);if(!R){return this.purgeElement(S,false,O)}if("unload"==O){for(Q=0,N=K.length;Q<N;Q++){var M=K[Q];if(M&&M[0]==S&&M[1]==O&&M[2]==R){K.splice(Q,1);return true}}return false}var L=null;var P=arguments[3];if("undefined"==typeof P){P=this._getCacheIndex(S,O,R)}if(P>=0){L=G[P]}if(!S||!L){return false}this.doRemove(S,O,L[this.WFN],false);delete G[P][this.WFN];delete G[P][this.FN];G.splice(P,1);return true},getTarget:function(N,M){N=N.browserEvent||N;var L=N.target||N.srcElement;return this.resolveTextNode(L)},resolveTextNode:function(L){if(Ext.isSafari&&L&&3==L.nodeType){return L.parentNode}else{return L}},getPageX:function(M){M=M.browserEvent||M;var L=M.pageX;if(!L&&0!==L){L=M.clientX||0;if(Ext.isIE){L+=this.getScroll()[1]}}return L},getPageY:function(L){L=L.browserEvent||L;var M=L.pageY;if(!M&&0!==M){M=L.clientY||0;if(Ext.isIE){M+=this.getScroll()[0]}}return M},getXY:function(L){L=L.browserEvent||L;return[this.getPageX(L),this.getPageY(L)]},getRelatedTarget:function(M){M=M.browserEvent||M;var L=M.relatedTarget;if(!L){if(M.type=="mouseout"){L=M.toElement}else{if(M.type=="mouseover"){L=M.fromElement}}}return this.resolveTextNode(L)},getTime:function(N){N=N.browserEvent||N;if(!N.time){var M=new Date().getTime();try{N.time=M}catch(L){this.lastError=L;return M}}return N.time},stopEvent:function(L){this.stopPropagation(L);this.preventDefault(L)},stopPropagation:function(L){L=L.browserEvent||L;if(L.stopPropagation){L.stopPropagation()}else{L.cancelBubble=true}},preventDefault:function(L){L=L.browserEvent||L;if(L.preventDefault){L.preventDefault()}else{L.returnValue=false}},getEvent:function(M){var L=M||window.event;if(!L){var N=this.getEvent.caller;while(N){L=N.arguments[0];if(L&&Event==L.constructor){break}N=N.caller}}return L},getCharCode:function(L){L=L.browserEvent||L;return L.charCode||L.keyCode||0},_getCacheIndex:function(Q,N,P){for(var O=0,M=G.length;O<M;++O){var L=G[O];if(L&&L[this.FN]==P&&L[this.EL]==Q&&L[this.TYPE]==N){return O}}return -1},elCache:{},getEl:function(L){return document.getElementById(L)},clearCache:function(){},_load:function(M){F=true;var L=Ext.lib.Event;if(Ext.isIE){L.doRemove(window,"load",L._load)}},_tryPreloadAttach:function(){if(this.locked){return false}this.locked=true;var R=!F;if(!R){R=(I>0)}var Q=[];for(var M=0,L=H.length;M<L;++M){var P=H[M];if(P){var O=this.getEl(P.id);if(O){if(!P.checkReady||F||O.nextSibling||(document&&document.body)){var N=O;if(P.override){if(P.override===true){N=P.obj}else{N=P.override}}P.fn.call(N,P.obj);H[M]=null}}else{Q.push(P)}}}I=(Q.length===0)?0:I-1;if(R){this.startInterval()}else{clearInterval(this._interval);this._interval=null}this.locked=false;return true},purgeElement:function(P,Q,N){var R=this.getListeners(P,N);if(R){for(var O=0,L=R.length;O<L;++O){var M=R[O];this.removeListener(P,M.type,M.fn)}}if(Q&&P&&P.childNodes){for(O=0,L=P.childNodes.length;O<L;++O){this.purgeElement(P.childNodes[O],Q,N)}}},getListeners:function(M,R){var P=[],L;if(!R){L=[G,K]}else{if(R=="unload"){L=[K]}else{L=[G]}}for(var O=0;O<L.length;++O){var T=L[O];if(T&&T.length>0){for(var Q=0,S=T.length;Q<S;++Q){var N=T[Q];if(N&&N[this.EL]===M&&(!R||R===N[this.TYPE])){P.push({type:N[this.TYPE],fn:N[this.FN],obj:N[this.OBJ],adjust:N[this.ADJ_SCOPE],index:Q})}}}}return(P.length)?P:null},_unload:function(S){var R=Ext.lib.Event,P,O,M,L,N;for(P=0,L=K.length;P<L;++P){M=K[P];if(M){var Q=window;if(M[R.ADJ_SCOPE]){if(M[R.ADJ_SCOPE]===true){Q=M[R.OBJ]}else{Q=M[R.ADJ_SCOPE]}}M[R.FN].call(Q,R.getEvent(S),M[R.OBJ]);K[P]=null;M=null;Q=null}}K=null;if(G&&G.length>0){O=G.length;while(O){N=O-1;M=G[N];if(M){R.removeListener(M[R.EL],M[R.TYPE],M[R.FN],N)}O=O-1}M=null;R.clearCache()}R.doRemove(window,"unload",R._unload)},getScroll:function(){var L=document.documentElement,M=document.body;if(L&&(L.scrollTop||L.scrollLeft)){return[L.scrollTop,L.scrollLeft]}else{if(M){return[M.scrollTop,M.scrollLeft]}else{return[0,0]}}},doAdd:function(){if(window.addEventListener){return function(O,M,N,L){O.addEventListener(M,N,(L))}}else{if(window.attachEvent){return function(O,M,N,L){O.attachEvent("on"+M,N)}}else{return function(){}}}}(),doRemove:function(){if(window.removeEventListener){return function(O,M,N,L){O.removeEventListener(M,N,(L))}}else{if(window.detachEvent){return function(N,L,M){N.detachEvent("on"+L,M)}}else{return function(){}}}}()}}();var D=Ext.lib.Event;D.on=D.addListener;D.un=D.removeListener;if(document&&document.body){D._load()}else{D.doAdd(window,"load",D._load)}D.doAdd(window,"unload",D._unload);D._tryPreloadAttach();Ext.lib.Ajax={request:function(K,I,E,J,F){if(F){var G=F.headers;if(G){for(var H in G){if(G.hasOwnProperty(H)){this.initHeader(H,G[H],false)}}}if(F.xmlData){if(!G||!G["Content-Type"]){this.initHeader("Content-Type","text/xml",false)}K=(K?K:(F.method?F.method:"POST"));J=F.xmlData}else{if(F.jsonData){if(!G||!G["Content-Type"]){this.initHeader("Content-Type","application/json",false)}K=(K?K:(F.method?F.method:"POST"));J=typeof F.jsonData=="object"?Ext.encode(F.jsonData):F.jsonData}}}return this.asyncRequest(K,I,E,J)},serializeForm:function(F){if(typeof F=="string"){F=(document.getElementById(F)||document.forms[F])}var G,E,H,J,K="",M=false;for(var L=0;L<F.elements.length;L++){G=F.elements[L];J=F.elements[L].disabled;E=F.elements[L].name;H=F.elements[L].value;if(!J&&E){switch(G.type){case"select-one":case"select-multiple":for(var I=0;I<G.options.length;I++){if(G.options[I].selected){if(Ext.isIE){K+=encodeURIComponent(E)+"="+encodeURIComponent(G.options[I].attributes["value"].specified?G.options[I].value:G.options[I].text)+"&"}else{K+=encodeURIComponent(E)+"="+encodeURIComponent(G.options[I].hasAttribute("value")?G.options[I].value:G.options[I].text)+"&"}}}break;case"radio":case"checkbox":if(G.checked){K+=encodeURIComponent(E)+"="+encodeURIComponent(H)+"&"}break;case"file":case undefined:case"reset":case"button":break;case"submit":if(M==false){K+=encodeURIComponent(E)+"="+encodeURIComponent(H)+"&";M=true}break;default:K+=encodeURIComponent(E)+"="+encodeURIComponent(H)+"&";break}}}K=K.substr(0,K.length-1);return K},headers:{},hasHeaders:false,useDefaultHeader:true,defaultPostHeader:"application/x-www-form-urlencoded",useDefaultXhrHeader:true,defaultXhrHeader:"XMLHttpRequest",hasDefaultHeaders:true,defaultHeaders:{},poll:{},timeout:{},pollInterval:50,transactionId:0,setProgId:function(E){this.activeX.unshift(E)},setDefaultPostHeader:function(E){this.useDefaultHeader=E},setDefaultXhrHeader:function(E){this.useDefaultXhrHeader=E},setPollingInterval:function(E){if(typeof E=="number"&&isFinite(E)){this.pollInterval=E}},createXhrObject:function(I){var H,E;try{E=new XMLHttpRequest();H={conn:E,tId:I}}catch(G){for(var F=0;F<this.activeX.length;++F){try{E=new ActiveXObject(this.activeX[F]);H={conn:E,tId:I};break}catch(G){}}}finally{return H}},getConnectionObject:function(){var F;var G=this.transactionId;try{F=this.createXhrObject(G);if(F){this.transactionId++}}catch(E){}finally{return F}},asyncRequest:function(I,F,H,E){var G=this.getConnectionObject();if(!G){return null}else{G.conn.open(I,F,true);if(this.useDefaultXhrHeader){if(!this.defaultHeaders["X-Requested-With"]){this.initHeader("X-Requested-With",this.defaultXhrHeader,true)}}if(E&&this.useDefaultHeader&&(!this.hasHeaders||!this.headers["Content-Type"])){this.initHeader("Content-Type",this.defaultPostHeader)}if(this.hasDefaultHeaders||this.hasHeaders){this.setHeader(G)}this.handleReadyState(G,H);G.conn.send(E||null);return G}},handleReadyState:function(F,G){var E=this;if(G&&G.timeout){this.timeout[F.tId]=window.setTimeout(function(){E.abort(F,G,true)},G.timeout)}this.poll[F.tId]=window.setInterval(function(){if(F.conn&&F.conn.readyState==4){window.clearInterval(E.poll[F.tId]);delete E.poll[F.tId];if(G&&G.timeout){window.clearTimeout(E.timeout[F.tId]);delete E.timeout[F.tId]}E.handleTransactionResponse(F,G)}},this.pollInterval)},handleTransactionResponse:function(I,J,E){if(!J){this.releaseObject(I);return }var G,F;try{if(I.conn.status!==undefined&&I.conn.status!=0){G=I.conn.status}else{G=13030}}catch(H){G=13030}if(G>=200&&G<300){F=this.createResponseObject(I,J.argument);if(J.success){if(!J.scope){J.success(F)}else{J.success.apply(J.scope,[F])}}}else{switch(G){case 12002:case 12029:case 12030:case 12031:case 12152:case 13030:F=this.createExceptionObject(I.tId,J.argument,(E?E:false));if(J.failure){if(!J.scope){J.failure(F)}else{J.failure.apply(J.scope,[F])}}break;default:F=this.createResponseObject(I,J.argument);if(J.failure){if(!J.scope){J.failure(F)}else{J.failure.apply(J.scope,[F])}}}}this.releaseObject(I);F=null},createResponseObject:function(E,K){var H={};var M={};try{var G=E.conn.getAllResponseHeaders();var J=G.split("\n");for(var I=0;I<J.length;I++){var F=J[I].indexOf(":");if(F!=-1){M[J[I].substring(0,F)]=J[I].substring(F+2)}}}catch(L){}H.tId=E.tId;H.status=E.conn.status;H.statusText=E.conn.statusText;H.getResponseHeader=M;H.getAllResponseHeaders=G;H.responseText=E.conn.responseText;H.responseXML=E.conn.responseXML;if(typeof K!==undefined){H.argument=K}return H},createExceptionObject:function(L,H,E){var J=0;var K="communication failure";var G=-1;var F="transaction aborted";var I={};I.tId=L;if(E){I.status=G;I.statusText=F}else{I.status=J;I.statusText=K}if(H){I.argument=H}return I},initHeader:function(E,H,G){var F=(G)?this.defaultHeaders:this.headers;if(F[E]===undefined){F[E]=H}else{F[E]=H+","+F[E]}if(G){this.hasDefaultHeaders=true}else{this.hasHeaders=true}},setHeader:function(E){if(this.hasDefaultHeaders){for(var F in this.defaultHeaders){if(this.defaultHeaders.hasOwnProperty(F)){E.conn.setRequestHeader(F,this.defaultHeaders[F])}}}if(this.hasHeaders){for(var F in this.headers){if(this.headers.hasOwnProperty(F)){E.conn.setRequestHeader(F,this.headers[F])}}this.headers={};this.hasHeaders=false}},resetDefaultHeaders:function(){delete this.defaultHeaders;this.defaultHeaders={};this.hasDefaultHeaders=false},abort:function(F,G,E){if(this.isCallInProgress(F)){F.conn.abort();window.clearInterval(this.poll[F.tId]);delete this.poll[F.tId];if(E){delete this.timeout[F.tId]}this.handleTransactionResponse(F,G,true);return true}else{return false}},isCallInProgress:function(E){if(E.conn){return E.conn.readyState!=4&&E.conn.readyState!=0}else{return false}},releaseObject:function(E){E.conn=null;E=null},activeX:["MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP"]};Ext.lib.Region=function(G,H,E,F){this.top=G;this[1]=G;this.right=H;this.bottom=E;this.left=F;this[0]=F};Ext.lib.Region.prototype={contains:function(E){return(E.left>=this.left&&E.right<=this.right&&E.top>=this.top&&E.bottom<=this.bottom)},getArea:function(){return((this.bottom-this.top)*(this.right-this.left))},intersect:function(I){var G=Math.max(this.top,I.top);var H=Math.min(this.right,I.right);var E=Math.min(this.bottom,I.bottom);var F=Math.max(this.left,I.left);if(E>=G&&H>=F){return new Ext.lib.Region(G,H,E,F)}else{return null}},union:function(I){var G=Math.min(this.top,I.top);var H=Math.max(this.right,I.right);var E=Math.max(this.bottom,I.bottom);var F=Math.min(this.left,I.left);return new Ext.lib.Region(G,H,E,F)},constrainTo:function(E){this.top=this.top.constrain(E.top,E.bottom);this.bottom=this.bottom.constrain(E.top,E.bottom);this.left=this.left.constrain(E.left,E.right);this.right=this.right.constrain(E.left,E.right);return this},adjust:function(G,F,E,H){this.top+=G;this.left+=F;this.right+=H;this.bottom+=E;return this}};Ext.lib.Region.getRegion=function(H){var J=Ext.lib.Dom.getXY(H);var G=J[1];var I=J[0]+H.offsetWidth;var E=J[1]+H.offsetHeight;var F=J[0];return new Ext.lib.Region(G,I,E,F)};Ext.lib.Point=function(E,F){if(Ext.isArray(E)){F=E[1];E=E[0]}this.x=this.right=this.left=this[0]=E;this.y=this.top=this.bottom=this[1]=F};Ext.lib.Point.prototype=new Ext.lib.Region();Ext.lib.Anim={scroll:function(H,F,I,J,E,G){return this.run(H,F,I,J,E,G,Ext.lib.Scroll)},motion:function(H,F,I,J,E,G){return this.run(H,F,I,J,E,G,Ext.lib.Motion)},color:function(H,F,I,J,E,G){return this.run(H,F,I,J,E,G,Ext.lib.ColorAnim)},run:function(I,F,K,L,E,H,G){G=G||Ext.lib.AnimBase;if(typeof L=="string"){L=Ext.lib.Easing[L]}var J=new G(I,F,K,L);J.animateX(function(){Ext.callback(E,H)});return J}};function C(E){if(!B){B=new Ext.Element.Flyweight()}B.dom=E;return B}if(Ext.isIE){function A(){var E=Function.prototype;delete E.createSequence;delete E.defer;delete E.createDelegate;delete E.createCallback;delete E.createInterceptor;window.detachEvent("onunload",A)}window.attachEvent("onunload",A)}Ext.lib.AnimBase=function(F,E,G,H){if(F){this.init(F,E,G,H)}};Ext.lib.AnimBase.prototype={toString:function(){var E=this.getEl();var F=E.id||E.tagName;return("Anim "+F)},patterns:{noNegatives:/width|height|opacity|padding/i,offsetAttribute:/^((width|height)|(top|left))$/,defaultUnit:/width|height|top$|bottom$|left$|right$/i,offsetUnit:/\d+(em|%|en|ex|pt|in|cm|mm|pc)$/i},doMethod:function(E,G,F){return this.method(this.currentFrame,G,F-G,this.totalFrames)},setAttribute:function(E,G,F){if(this.patterns.noNegatives.test(E)){G=(G>0)?G:0}Ext.fly(this.getEl(),"_anim").setStyle(E,G+F)},getAttribute:function(E){var G=this.getEl();var I=C(G).getStyle(E);if(I!=="auto"&&!this.patterns.offsetUnit.test(I)){return parseFloat(I)}var F=this.patterns.offsetAttribute.exec(E)||[];var J=!!(F[3]);var H=!!(F[2]);if(H||(C(G).getStyle("position")=="absolute"&&J)){I=G["offset"+F[0].charAt(0).toUpperCase()+F[0].substr(1)]}else{I=0}return I},getDefaultUnit:function(E){if(this.patterns.defaultUnit.test(E)){return"px"}return""},animateX:function(G,E){var F=function(){this.onComplete.removeListener(F);if(typeof G=="function"){G.call(E||this,this)}};this.onComplete.addListener(F,this);this.animate()},setRuntimeAttribute:function(F){var K;var G;var H=this.attributes;this.runtimeAttributes[F]={};var J=function(L){return(typeof L!=="undefined")};if(!J(H[F]["to"])&&!J(H[F]["by"])){return false}K=(J(H[F]["from"]))?H[F]["from"]:this.getAttribute(F);if(J(H[F]["to"])){G=H[F]["to"]}else{if(J(H[F]["by"])){if(K.constructor==Array){G=[];for(var I=0,E=K.length;I<E;++I){G[I]=K[I]+H[F]["by"][I]}}else{G=K+H[F]["by"]}}}this.runtimeAttributes[F].start=K;this.runtimeAttributes[F].end=G;this.runtimeAttributes[F].unit=(J(H[F].unit))?H[F]["unit"]:this.getDefaultUnit(F)},init:function(G,L,K,E){var F=false;var H=null;var J=0;G=Ext.getDom(G);this.attributes=L||{};this.duration=K||1;this.method=E||Ext.lib.Easing.easeNone;this.useSeconds=true;this.currentFrame=0;this.totalFrames=Ext.lib.AnimMgr.fps;this.getEl=function(){return G};this.isAnimated=function(){return F};this.getStartTime=function(){return H};this.runtimeAttributes={};this.animate=function(){if(this.isAnimated()){return false}this.currentFrame=0;this.totalFrames=(this.useSeconds)?Math.ceil(Ext.lib.AnimMgr.fps*this.duration):this.duration;Ext.lib.AnimMgr.registerElement(this)};this.stop=function(O){if(O){this.currentFrame=this.totalFrames;this._onTween.fire()}Ext.lib.AnimMgr.stop(this)};var N=function(){this.onStart.fire();this.runtimeAttributes={};for(var O in this.attributes){this.setRuntimeAttribute(O)}F=true;J=0;H=new Date()};var M=function(){var Q={duration:new Date()-this.getStartTime(),currentFrame:this.currentFrame};Q.toString=function(){return("duration: "+Q.duration+", currentFrame: "+Q.currentFrame)};this.onTween.fire(Q);var P=this.runtimeAttributes;for(var O in P){this.setAttribute(O,this.doMethod(O,P[O].start,P[O].end),P[O].unit)}J+=1};var I=function(){var O=(new Date()-H)/1000;var P={duration:O,frames:J,fps:J/O};P.toString=function(){return("duration: "+P.duration+", frames: "+P.frames+", fps: "+P.fps)};F=false;J=0;this.onComplete.fire(P)};this._onStart=new Ext.util.Event(this);this.onStart=new Ext.util.Event(this);this.onTween=new Ext.util.Event(this);this._onTween=new Ext.util.Event(this);this.onComplete=new Ext.util.Event(this);this._onComplete=new Ext.util.Event(this);this._onStart.addListener(N);this._onTween.addListener(M);this._onComplete.addListener(I)}};Ext.lib.AnimMgr=new function(){var G=null;var F=[];var E=0;this.fps=1000;this.delay=1;this.registerElement=function(J){F[F.length]=J;E+=1;J._onStart.fire();this.start()};this.unRegister=function(K,J){K._onComplete.fire();J=J||I(K);if(J!=-1){F.splice(J,1)}E-=1;if(E<=0){this.stop()}};this.start=function(){if(G===null){G=setInterval(this.run,this.delay)}};this.stop=function(L){if(!L){clearInterval(G);for(var K=0,J=F.length;K<J;++K){if(F[0].isAnimated()){this.unRegister(F[0],0)}}F=[];G=null;E=0}else{this.unRegister(L)}};this.run=function(){for(var L=0,J=F.length;L<J;++L){var K=F[L];if(!K||!K.isAnimated()){continue}if(K.currentFrame<K.totalFrames||K.totalFrames===null){K.currentFrame+=1;if(K.useSeconds){H(K)}K._onTween.fire()}else{Ext.lib.AnimMgr.stop(K,L)}}};var I=function(L){for(var K=0,J=F.length;K<J;++K){if(F[K]==L){return K}}return -1};var H=function(K){var N=K.totalFrames;var M=K.currentFrame;var L=(K.currentFrame*K.duration*1000/K.totalFrames);var J=(new Date()-K.getStartTime());var O=0;if(J<K.duration*1000){O=Math.round((J/L-1)*K.currentFrame)}else{O=N-(M+1)}if(O>0&&isFinite(O)){if(K.currentFrame+O>=N){O=N-(M+1)}K.currentFrame+=O}}};Ext.lib.Bezier=new function(){this.getPosition=function(I,H){var J=I.length;var G=[];for(var F=0;F<J;++F){G[F]=[I[F][0],I[F][1]]}for(var E=1;E<J;++E){for(F=0;F<J-E;++F){G[F][0]=(1-H)*G[F][0]+H*G[parseInt(F+1,10)][0];G[F][1]=(1-H)*G[F][1]+H*G[parseInt(F+1,10)][1]}}return[G[0][0],G[0][1]]}};(function(){Ext.lib.ColorAnim=function(I,H,J,K){Ext.lib.ColorAnim.superclass.constructor.call(this,I,H,J,K)};Ext.extend(Ext.lib.ColorAnim,Ext.lib.AnimBase);var F=Ext.lib;var G=F.ColorAnim.superclass;var E=F.ColorAnim.prototype;E.toString=function(){var H=this.getEl();var I=H.id||H.tagName;return("ColorAnim "+I)};E.patterns.color=/color$/i;E.patterns.rgb=/^rgb\(([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\)$/i;E.patterns.hex=/^#?([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})$/i;E.patterns.hex3=/^#?([0-9A-F]{1})([0-9A-F]{1})([0-9A-F]{1})$/i;E.patterns.transparent=/^transparent|rgba\(0, 0, 0, 0\)$/;E.parseColor=function(H){if(H.length==3){return H}var I=this.patterns.hex.exec(H);if(I&&I.length==4){return[parseInt(I[1],16),parseInt(I[2],16),parseInt(I[3],16)]}I=this.patterns.rgb.exec(H);if(I&&I.length==4){return[parseInt(I[1],10),parseInt(I[2],10),parseInt(I[3],10)]}I=this.patterns.hex3.exec(H);if(I&&I.length==4){return[parseInt(I[1]+I[1],16),parseInt(I[2]+I[2],16),parseInt(I[3]+I[3],16)]}return null};E.getAttribute=function(H){var J=this.getEl();if(this.patterns.color.test(H)){var K=C(J).getStyle(H);if(this.patterns.transparent.test(K)){var I=J.parentNode;K=C(I).getStyle(H);while(I&&this.patterns.transparent.test(K)){I=I.parentNode;K=C(I).getStyle(H);if(I.tagName.toUpperCase()=="HTML"){K="#fff"}}}}else{K=G.getAttribute.call(this,H)}return K};E.doMethod=function(I,M,J){var L;if(this.patterns.color.test(I)){L=[];for(var K=0,H=M.length;K<H;++K){L[K]=G.doMethod.call(this,I,M[K],J[K])}L="rgb("+Math.floor(L[0])+","+Math.floor(L[1])+","+Math.floor(L[2])+")"}else{L=G.doMethod.call(this,I,M,J)}return L};E.setRuntimeAttribute=function(I){G.setRuntimeAttribute.call(this,I);if(this.patterns.color.test(I)){var K=this.attributes;var M=this.parseColor(this.runtimeAttributes[I].start);var J=this.parseColor(this.runtimeAttributes[I].end);if(typeof K[I]["to"]==="undefined"&&typeof K[I]["by"]!=="undefined"){J=this.parseColor(K[I].by);for(var L=0,H=M.length;L<H;++L){J[L]=M[L]+J[L]}}this.runtimeAttributes[I].start=M;this.runtimeAttributes[I].end=J}}})();Ext.lib.Easing={easeNone:function(F,E,H,G){return H*F/G+E},easeIn:function(F,E,H,G){return H*(F/=G)*F+E},easeOut:function(F,E,H,G){return -H*(F/=G)*(F-2)+E},easeBoth:function(F,E,H,G){if((F/=G/2)<1){return H/2*F*F+E}return -H/2*((--F)*(F-2)-1)+E},easeInStrong:function(F,E,H,G){return H*(F/=G)*F*F*F+E},easeOutStrong:function(F,E,H,G){return -H*((F=F/G-1)*F*F*F-1)+E},easeBothStrong:function(F,E,H,G){if((F/=G/2)<1){return H/2*F*F*F*F+E}return -H/2*((F-=2)*F*F*F-2)+E},elasticIn:function(G,E,K,J,F,I){if(G==0){return E}if((G/=J)==1){return E+K}if(!I){I=J*0.3}if(!F||F<Math.abs(K)){F=K;var H=I/4}else{var H=I/(2*Math.PI)*Math.asin(K/F)}return -(F*Math.pow(2,10*(G-=1))*Math.sin((G*J-H)*(2*Math.PI)/I))+E},elasticOut:function(G,E,K,J,F,I){if(G==0){return E}if((G/=J)==1){return E+K}if(!I){I=J*0.3}if(!F||F<Math.abs(K)){F=K;var H=I/4}else{var H=I/(2*Math.PI)*Math.asin(K/F)}return F*Math.pow(2,-10*G)*Math.sin((G*J-H)*(2*Math.PI)/I)+K+E},elasticBoth:function(G,E,K,J,F,I){if(G==0){return E}if((G/=J/2)==2){return E+K}if(!I){I=J*(0.3*1.5)}if(!F||F<Math.abs(K)){F=K;var H=I/4}else{var H=I/(2*Math.PI)*Math.asin(K/F)}if(G<1){return -0.5*(F*Math.pow(2,10*(G-=1))*Math.sin((G*J-H)*(2*Math.PI)/I))+E}return F*Math.pow(2,-10*(G-=1))*Math.sin((G*J-H)*(2*Math.PI)/I)*0.5+K+E},backIn:function(F,E,I,H,G){if(typeof G=="undefined"){G=1.70158}return I*(F/=H)*F*((G+1)*F-G)+E},backOut:function(F,E,I,H,G){if(typeof G=="undefined"){G=1.70158}return I*((F=F/H-1)*F*((G+1)*F+G)+1)+E},backBoth:function(F,E,I,H,G){if(typeof G=="undefined"){G=1.70158}if((F/=H/2)<1){return I/2*(F*F*(((G*=(1.525))+1)*F-G))+E}return I/2*((F-=2)*F*(((G*=(1.525))+1)*F+G)+2)+E},bounceIn:function(F,E,H,G){return H-Ext.lib.Easing.bounceOut(G-F,0,H,G)+E},bounceOut:function(F,E,H,G){if((F/=G)<(1/2.75)){return H*(7.5625*F*F)+E}else{if(F<(2/2.75)){return H*(7.5625*(F-=(1.5/2.75))*F+0.75)+E}else{if(F<(2.5/2.75)){return H*(7.5625*(F-=(2.25/2.75))*F+0.9375)+E}}}return H*(7.5625*(F-=(2.625/2.75))*F+0.984375)+E},bounceBoth:function(F,E,H,G){if(F<G/2){return Ext.lib.Easing.bounceIn(F*2,0,H,G)*0.5+E}return Ext.lib.Easing.bounceOut(F*2-G,0,H,G)*0.5+H*0.5+E}};(function(){Ext.lib.Motion=function(K,J,L,M){if(K){Ext.lib.Motion.superclass.constructor.call(this,K,J,L,M)}};Ext.extend(Ext.lib.Motion,Ext.lib.ColorAnim);var H=Ext.lib;var I=H.Motion.superclass;var F=H.Motion.prototype;F.toString=function(){var J=this.getEl();var K=J.id||J.tagName;return("Motion "+K)};F.patterns.points=/^points$/i;F.setAttribute=function(J,L,K){if(this.patterns.points.test(J)){K=K||"px";I.setAttribute.call(this,"left",L[0],K);I.setAttribute.call(this,"top",L[1],K)}else{I.setAttribute.call(this,J,L,K)}};F.getAttribute=function(J){if(this.patterns.points.test(J)){var K=[I.getAttribute.call(this,"left"),I.getAttribute.call(this,"top")]}else{K=I.getAttribute.call(this,J)}return K};F.doMethod=function(J,N,K){var M=null;if(this.patterns.points.test(J)){var L=this.method(this.currentFrame,0,100,this.totalFrames)/100;M=H.Bezier.getPosition(this.runtimeAttributes[J],L)}else{M=I.doMethod.call(this,J,N,K)}return M};F.setRuntimeAttribute=function(S){if(this.patterns.points.test(S)){var K=this.getEl();var M=this.attributes;var J;var O=M["points"]["control"]||[];var L;var P,R;if(O.length>0&&!Ext.isArray(O[0])){O=[O]}else{var N=[];for(P=0,R=O.length;P<R;++P){N[P]=O[P]}O=N}Ext.fly(K,"_anim").position();if(G(M["points"]["from"])){Ext.lib.Dom.setXY(K,M["points"]["from"])}else{Ext.lib.Dom.setXY(K,Ext.lib.Dom.getXY(K))}J=this.getAttribute("points");if(G(M["points"]["to"])){L=E.call(this,M["points"]["to"],J);var Q=Ext.lib.Dom.getXY(this.getEl());for(P=0,R=O.length;P<R;++P){O[P]=E.call(this,O[P],J)}}else{if(G(M["points"]["by"])){L=[J[0]+M["points"]["by"][0],J[1]+M["points"]["by"][1]];for(P=0,R=O.length;P<R;++P){O[P]=[J[0]+O[P][0],J[1]+O[P][1]]}}}this.runtimeAttributes[S]=[J];if(O.length>0){this.runtimeAttributes[S]=this.runtimeAttributes[S].concat(O)}this.runtimeAttributes[S][this.runtimeAttributes[S].length]=L}else{I.setRuntimeAttribute.call(this,S)}};var E=function(J,L){var K=Ext.lib.Dom.getXY(this.getEl());J=[J[0]-K[0]+L[0],J[1]-K[1]+L[1]];return J};var G=function(J){return(typeof J!=="undefined")}})();(function(){Ext.lib.Scroll=function(I,H,J,K){if(I){Ext.lib.Scroll.superclass.constructor.call(this,I,H,J,K)}};Ext.extend(Ext.lib.Scroll,Ext.lib.ColorAnim);var F=Ext.lib;var G=F.Scroll.superclass;var E=F.Scroll.prototype;E.toString=function(){var H=this.getEl();var I=H.id||H.tagName;return("Scroll "+I)};E.doMethod=function(H,K,I){var J=null;if(H=="scroll"){J=[this.method(this.currentFrame,K[0],I[0]-K[0],this.totalFrames),this.method(this.currentFrame,K[1],I[1]-K[1],this.totalFrames)]}else{J=G.doMethod.call(this,H,K,I)}return J};E.getAttribute=function(H){var J=null;var I=this.getEl();if(H=="scroll"){J=[I.scrollLeft,I.scrollTop]}else{J=G.getAttribute.call(this,H)}return J};E.setAttribute=function(H,K,J){var I=this.getEl();if(H=="scroll"){I.scrollLeft=K[0];I.scrollTop=K[1]}else{G.setAttribute.call(this,H,K,J)}}})()})();
    74.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    74.2 +++ b/onlypaths/js/ext/keymap.js	Sun Jan 31 12:33:33 2010 -0500
    74.3 @@ -0,0 +1,210 @@
    74.4 +/**
    74.5 + * @class Ext.KeyMap
    74.6 + * Handles mapping keys to actions for an element. One key map can be used for multiple actions.
    74.7 + * The constructor accepts the same config object as defined by {@link #addBinding}.
    74.8 + * If you bind a callback function to a KeyMap, anytime the KeyMap handles an expected key
    74.9 + * combination it will call the function with this signature (if the match is a multi-key
   74.10 + * combination the callback will still be called only once): (String key, Ext.EventObject e)
   74.11 + * A KeyMap can also handle a string representation of keys.<br />
   74.12 + * Usage:
   74.13 + <pre><code>
   74.14 +// map one key by key code
   74.15 +var map = new Ext.KeyMap("my-element", {
   74.16 +    key: 13, // or Ext.EventObject.ENTER
   74.17 +    fn: myHandler,
   74.18 +    scope: myObject
   74.19 +});
   74.20 +
   74.21 +// map multiple keys to one action by string
   74.22 +var map = new Ext.KeyMap("my-element", {
   74.23 +    key: "a\r\n\t",
   74.24 +    fn: myHandler,
   74.25 +    scope: myObject
   74.26 +});
   74.27 +
   74.28 +// map multiple keys to multiple actions by strings and array of codes
   74.29 +var map = new Ext.KeyMap("my-element", [
   74.30 +    {
   74.31 +        key: [10,13],
   74.32 +        fn: function(){ alert("Return was pressed"); }
   74.33 +    }, {
   74.34 +        key: "abc",
   74.35 +        fn: function(){ alert('a, b or c was pressed'); }
   74.36 +    }, {
   74.37 +        key: "\t",
   74.38 +        ctrl:true,
   74.39 +        shift:true,
   74.40 +        fn: function(){ alert('Control + shift + tab was pressed.'); }
   74.41 +    }
   74.42 +]);
   74.43 +</code></pre>
   74.44 + * <b>Note: A KeyMap starts enabled</b>
   74.45 + * @constructor
   74.46 + * @param {String/HTMLElement/Ext.Element} el The element to bind to
   74.47 + * @param {Object} config The config (see {@link #addBinding})
   74.48 + * @param {String} eventName (optional) The event to bind to (defaults to "keydown")
   74.49 + */
   74.50 +Ext.KeyMap = function(el, config, eventName){
   74.51 +    this.el  = Ext.get(el);
   74.52 +    this.eventName = eventName || "keydown";
   74.53 +    this.bindings = [];
   74.54 +    if(config){
   74.55 +        this.addBinding(config);
   74.56 +    }
   74.57 +    this.enable();
   74.58 +};
   74.59 +
   74.60 +Ext.KeyMap.prototype = {
   74.61 +    /**
   74.62 +     * True to stop the event from bubbling and prevent the default browser action if the
   74.63 +     * key was handled by the KeyMap (defaults to false)
   74.64 +     * @type Boolean
   74.65 +     */
   74.66 +    stopEvent : false,
   74.67 +
   74.68 +    /**
   74.69 +     * Add a new binding to this KeyMap. The following config object properties are supported:
   74.70 +     * <pre>
   74.71 +Property    Type             Description
   74.72 +----------  ---------------  ----------------------------------------------------------------------
   74.73 +key         String/Array     A single keycode or an array of keycodes to handle
   74.74 +shift       Boolean          True to handle key only when shift is pressed (defaults to false)
   74.75 +ctrl        Boolean          True to handle key only when ctrl is pressed (defaults to false)
   74.76 +alt         Boolean          True to handle key only when alt is pressed (defaults to false)
   74.77 +fn          Function         The function to call when KeyMap finds the expected key combination
   74.78 +scope       Object           The scope of the callback function
   74.79 +</pre>
   74.80 +     *
   74.81 +     * Usage:
   74.82 +     * <pre><code>
   74.83 +// Create a KeyMap
   74.84 +var map = new Ext.KeyMap(document, {
   74.85 +    key: Ext.EventObject.ENTER,
   74.86 +    fn: handleKey,
   74.87 +    scope: this
   74.88 +});
   74.89 +
   74.90 +//Add a new binding to the existing KeyMap later
   74.91 +map.addBinding({
   74.92 +    key: 'abc',
   74.93 +    shift: true,
   74.94 +    fn: handleKey,
   74.95 +    scope: this
   74.96 +});
   74.97 +</code></pre>
   74.98 +     * @param {Object/Array} config A single KeyMap config or an array of configs
   74.99 +     */
  74.100 +	addBinding : function(config){
  74.101 +        if(config instanceof Array){
  74.102 +            for(var i = 0, len = config.length; i < len; i++){
  74.103 +                this.addBinding(config[i]);
  74.104 +            }
  74.105 +            return;
  74.106 +        }
  74.107 +        var keyCode = config.key,
  74.108 +            shift = config.shift, 
  74.109 +            ctrl = config.ctrl, 
  74.110 +            alt = config.alt,
  74.111 +            fn = config.fn,
  74.112 +            scope = config.scope;
  74.113 +        if(typeof keyCode == "string"){
  74.114 +            var ks = [];
  74.115 +            var keyString = keyCode.toUpperCase();
  74.116 +            for(var j = 0, len = keyString.length; j < len; j++){
  74.117 +                ks.push(keyString.charCodeAt(j));
  74.118 +            }
  74.119 +            keyCode = ks;
  74.120 +        }
  74.121 +        var keyArray = keyCode instanceof Array;
  74.122 +        var handler = function(e){
  74.123 +            if((!shift || e.shiftKey) && (!ctrl || e.ctrlKey) &&  (!alt || e.altKey)){
  74.124 +                var k = e.getKey();
  74.125 +                if(keyArray){
  74.126 +                    for(var i = 0, len = keyCode.length; i < len; i++){
  74.127 +                        if(keyCode[i] == k){
  74.128 +                          if(this.stopEvent){
  74.129 +                              e.stopEvent();
  74.130 +                          }
  74.131 +                          fn.call(scope || window, k, e);
  74.132 +                          return;
  74.133 +                        }
  74.134 +                    }
  74.135 +                }else{
  74.136 +                    if(k == keyCode){
  74.137 +                        if(this.stopEvent){
  74.138 +                           e.stopEvent();
  74.139 +                        }
  74.140 +                        fn.call(scope || window, k, e);
  74.141 +                    }
  74.142 +                }
  74.143 +            }
  74.144 +        };
  74.145 +        this.bindings.push(handler);  
  74.146 +	},
  74.147 +
  74.148 +    /**
  74.149 +     * Shorthand for adding a single key listener
  74.150 +     * @param {Number/Array/Object} key Either the numeric key code, array of key codes or an object with the
  74.151 +     * following options:
  74.152 +     * {key: (number or array), shift: (true/false), ctrl: (true/false), alt: (true/false)}
  74.153 +     * @param {Function} fn The function to call
  74.154 +     * @param {Object} scope (optional) The scope of the function
  74.155 +     */
  74.156 +    on : function(key, fn, scope){
  74.157 +        var keyCode, shift, ctrl, alt;
  74.158 +        if(typeof key == "object" && !(key instanceof Array)){
  74.159 +            keyCode = key.key;
  74.160 +            shift = key.shift;
  74.161 +            ctrl = key.ctrl;
  74.162 +            alt = key.alt;
  74.163 +        }else{
  74.164 +            keyCode = key;
  74.165 +        }
  74.166 +        this.addBinding({
  74.167 +            key: keyCode,
  74.168 +            shift: shift,
  74.169 +            ctrl: ctrl,
  74.170 +            alt: alt,
  74.171 +            fn: fn,
  74.172 +            scope: scope
  74.173 +        })
  74.174 +    },
  74.175 +
  74.176 +    // private
  74.177 +    handleKeyDown : function(e){
  74.178 +	    if(this.enabled){ //just in case
  74.179 +    	    var b = this.bindings;
  74.180 +    	    for(var i = 0, len = b.length; i < len; i++){
  74.181 +    	        b[i].call(this, e);
  74.182 +    	    }
  74.183 +	    }
  74.184 +	},
  74.185 +	
  74.186 +	/**
  74.187 +	 * Returns true if this KeyMap is enabled
  74.188 +	 * @return {Boolean} 
  74.189 +	 */
  74.190 +	isEnabled : function(){
  74.191 +	    return this.enabled;  
  74.192 +	},
  74.193 +	
  74.194 +	/**
  74.195 +	 * Enables this KeyMap
  74.196 +	 */
  74.197 +	enable: function(){
  74.198 +		if(!this.enabled){
  74.199 +		    this.el.on(this.eventName, this.handleKeyDown, this);
  74.200 +		    this.enabled = true;
  74.201 +		}
  74.202 +	},
  74.203 +
  74.204 +	/**
  74.205 +	 * Disable this KeyMap
  74.206 +	 */
  74.207 +	disable: function(){
  74.208 +		if(this.enabled){
  74.209 +		    this.el.removeListener(this.eventName, this.handleKeyDown, this);
  74.210 +		    this.enabled = false;
  74.211 +		}
  74.212 +	}
  74.213 +};
  74.214 \ No newline at end of file
    75.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    75.2 +++ b/onlypaths/js/features.js	Sun Jan 31 12:33:33 2010 -0500
    75.3 @@ -0,0 +1,97 @@
    75.4 +  var initialPage=[];
    75.5 +   var getPage = document.location.hash.replace("#","");
    75.6 +   if(getPage!=''){initialPage=getPage; }
    75.7 +  
    75.8 +  var myOPF, myOPF1;
    75.9 +
   75.10 +
   75.11 +function loadDemo(){ 
   75.12 + if(getPage!='')
   75.13 +  {
   75.14 +  document.getElementById("code").value= initialPage; 
   75.15 +  load(Ext.util.JSON.decode(document.forms[0].code.value),c);
   75.16 +  if(viewMode=='canvas')
   75.17 +    {  
   75.18 +     c.renderer.rectDoc(zoominit)
   75.19 +    }
   75.20 +
   75.21 +  } 
   75.22 + if(getPage=='')
   75.23 +  {  
   75.24 +   
   75.25 +    chargeFile(initialFile);  
   75.26 +    setTimeout("Draw()",2000); 
   75.27 +   
   75.28 +   //load( [{type:"doc", left:0, top:0, width:160, height:160, viewBox:"0 0 160 160"}, {"id":"shape:567398b2-3763-cc53-678a-e74d1d5d7569","type":"rect","transform":"","fillColor":"#d5d4d4","lineColor":"none","fillOpac":1,"lineOpac":1,"lineWidth":1,"left":-8,"top":-4,"width":170,"height":169},{"id":"shape:0cc9fd3c-6518-31e7-1dd9-ac3f03f334f9","type":"ellipse","transform":"","fillColor":"#ff0000","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"width":17.5,"height":22,"left":18.5,"top":95},{"id":"shape:91592290-f1a8-8bb1-30b9-8a1856f29375","type":"path","transform":"","fillColor":"#555500","lineColor":"none","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M5,112 L6,112 L11,112 L17,112 L25,112 L34,113 L38,113 L39,113 L40,113 L43,113 L47,113 L51,113 L52,113 L54,114 L59,114 L66,114 L73,113 L83,111 L85,111 L87,111 L92,111 L100,111 L107,111 L108,111 L111,111 L115,112 L116,112 L123,112 L131,113 L140,113 L146,113 L146,114 L146,115 L147,116 L149,118 L150,120 L150,122 L148,126 L145,128 L143,130 L143,131 L143,134 L141,136 L139,138 L135,140 L131,142 L127,144 L125,145 L121,145 L117,145 L115,145 L109,145 L102,145 L99,146 L96,147 L93,148 L89,149 L84,149 L80,150 L76,151 L73,151 L72,151 L71,151 L68,150 L66,148 L64,147 L58,146 L52,145 L46,145 L44,145 L43,145 L42,144 L41,143 L40,143 L37,143 L32,143 L29,143 L27,143 L25,143 L24,143 L23,143 L22,143 L21,143 L18,143 L16,143 L14,143 L13,143 L11,143 L10,143 L9,143 L8,143 L7,143 L6,143 L5,143 L4,143 L3,143 L4,143 L5,143 L6,143 z"},{"id":"shape:607f960c-6341-b01a-a000-692d153e6bc7","type":"text","transform":"","textFamily":"Arial","textSize":28,"top":137.922,"left":62,"text":"Robot 45","lineWidth":1,"fillColor":"#00daff","lineColor":"none","fillOpac":1,"lineOpac":1},{"id":"shape:aeb8f11c-5800-2feb-e3df-33139c1c070f","type":"rect","transform":"","fillColor":"#d5d4d4","lineColor":"none","fillOpac":1,"lineOpac":1,"lineWidth":1,"left":-2,"top":6,"width":6,"height":10},{"id":"shape:2b66c634-20de-49cc-501e-c2dd34ed072f","type":"ellipse","transform":"","fillColor":"#ff0000","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"width":39,"height":34.5586,"left":53,"top":83.58269999999999},{"id":"shape:72ac0941-f863-abd4-1859-0a90e75d9f86","type":"ellipse","transform":"","fillColor":"#aaaaaa","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"width":15,"height":12,"left":64,"top":94},{"id":"shape:8e937ef4-b625-9b54-a8d9-3f9db5391b29","type":"roundrect","transform":"rotate(-9.46232, 60, 85)","fillColor":"#808080","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"rx":20,"ry":20,"left":28,"top":71,"width":64,"height":28},{"id":"shape:03156a09-0646-b0cf-00d2-7a0dc4cb6300","type":"ellipse","transform":"","fillColor":"#ff0000","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"width":39,"height":35,"left":81,"top":83},{"id":"shape:fc34042d-ab37-df13-0405-dae6ec9bb3bb","type":"rect","transform":"","fillColor":"#aaaaaa","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"left":25.318,"top":85.7556,"width":16,"height":15},{"id":"shape:85289780-3df2-86f2-9aae-f189399120df","type":"rect","transform":"","fillColor":"#ff0000","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"left":16.318,"top":85.7556,"width":16,"height":15},{"id":"shape:e054d647-771a-5b58-4cd0-68514c515be7","type":"rect","transform":"","fillColor":"#ff0000","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"left":58.318,"top":59.7556,"width":16,"height":15},{"id":"shape:d9e5c336-4953-9ce5-9ecb-728c966350a4","type":"rect","transform":"","fillColor":"#aaaaaa","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"left":65.318,"top":59.7556,"width":16,"height":15},{"id":"shape:0dba98fe-95ad-b2df-5796-364664bf50fb","type":"line","transform":"","fillColor":"#ff0000","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"left":68,"top":59.7556,"width":0,"height":-25.7556},{"id":"shape:4f25051b-348d-82c6-3d3a-dc858d4671b9","type":"ellipse","transform":"","fillColor":"#aaaaaa","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"width":15,"height":12,"left":93,"top":95},{"id":"shape:6cc4981f-ed54-8300-7db2-f63b5e3efdb3","type":"ellipse","transform":"","fillColor":"#aaaaaa","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"width":4,"height":3,"left":25,"top":105}]
   75.29 +   //,c);
   75.30 +  }else{
   75.31 +
   75.32 +  }   
   75.33 + 
   75.34 +}  
   75.35 +
   75.36 +function Draw()
   75.37 +{ 
   75.38 +  load(myOPF,c); 
   75.39 +  if(viewMode=='canvas')
   75.40 +    {  
   75.41 +     c.renderer.rectDoc(zoominit)
   75.42 +    }
   75.43 +
   75.44 +  
   75.45 +}  
   75.46 +
   75.47 +function loadContent(source)
   75.48 +{
   75.49 +   var myOPF;
   75.50 +   eval("myOPF="+source);   
   75.51 +   return myOPF;
   75.52 +}
   75.53 +function chargeFile(fname) 
   75.54 +{
   75.55 +	var xhr=createXHR();
   75.56 +	xhr.open("GET", fname,true); 
   75.57 +	xhr.onreadystatechange=function() 
   75.58 +	{
   75.59 +		if (xhr.readyState == 4) 
   75.60 +		{
   75.61 +			if (xhr.status != 404) 
   75.62 +			{
   75.63 +				//myOPF=loadContent(xhr.responseText); 
   75.64 +				myOPFstr=xhr.responseText;
   75.65 +				myOPF=loadContent(xhr.responseText);
   75.66 +				//document.getElementById("source").innerHTML =xhr.responseText;
   75.67 +
   75.68 + 		} 
   75.69 +			else 
   75.70 +			{
   75.71 +				//document.getElementById("source").innerHTML = fname + " not found";
   75.72 +				
   75.73 +			}
   75.74 +		}
   75.75 +	}
   75.76 +	xhr.send(null);
   75.77 +}   
   75.78 +
   75.79 +function createXHR() 
   75.80 +{
   75.81 +    var request = false;
   75.82 +        try {
   75.83 +            request = new ActiveXObject('Msxml2.XMLHTTP');
   75.84 +        }
   75.85 +        catch (err2) {
   75.86 +            try {
   75.87 +                request = new ActiveXObject('Microsoft.XMLHTTP');
   75.88 +            }
   75.89 +            catch (err3) {
   75.90 +		try {
   75.91 +			request = new XMLHttpRequest();
   75.92 +		}
   75.93 +		catch (err1) 
   75.94 +		{
   75.95 +			request = false; alert('no no')
   75.96 +		}
   75.97 +            }
   75.98 +        }
   75.99 +    return request;
  75.100 +}                 
    76.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    76.2 +++ b/onlypaths/js/features_mini.js	Sun Jan 31 12:33:33 2010 -0500
    76.3 @@ -0,0 +1,87 @@
    76.4 +  var initialPage=[];
    76.5 +   var getPage = document.location.hash.replace("#","");
    76.6 +   if(getPage!=''){initialPage=getPage; }
    76.7 +  
    76.8 +  var myOPF, myOPF1;
    76.9 +
   76.10 +
   76.11 +function loadDemo(){ 
   76.12 + if(getPage!='')
   76.13 +  {
   76.14 +  document.getElementById("code").value= initialPage; 
   76.15 +  load(Ext.util.JSON.decode(document.forms[0].code.value),c);
   76.16 +
   76.17 +  } 
   76.18 + if(getPage=='')
   76.19 +  {  
   76.20 +   
   76.21 +    chargeFile(initialFile);  
   76.22 +    setTimeout("Draw()",2000); 
   76.23 +   
   76.24 +   //load( [{type:"doc", left:0, top:0, width:160, height:160, viewBox:"0 0 160 160"}, {"id":"shape:567398b2-3763-cc53-678a-e74d1d5d7569","type":"rect","transform":"","fillColor":"#d5d4d4","lineColor":"none","fillOpac":1,"lineOpac":1,"lineWidth":1,"left":-8,"top":-4,"width":170,"height":169},{"id":"shape:0cc9fd3c-6518-31e7-1dd9-ac3f03f334f9","type":"ellipse","transform":"","fillColor":"#ff0000","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"width":17.5,"height":22,"left":18.5,"top":95},{"id":"shape:91592290-f1a8-8bb1-30b9-8a1856f29375","type":"path","transform":"","fillColor":"#555500","lineColor":"none","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M5,112 L6,112 L11,112 L17,112 L25,112 L34,113 L38,113 L39,113 L40,113 L43,113 L47,113 L51,113 L52,113 L54,114 L59,114 L66,114 L73,113 L83,111 L85,111 L87,111 L92,111 L100,111 L107,111 L108,111 L111,111 L115,112 L116,112 L123,112 L131,113 L140,113 L146,113 L146,114 L146,115 L147,116 L149,118 L150,120 L150,122 L148,126 L145,128 L143,130 L143,131 L143,134 L141,136 L139,138 L135,140 L131,142 L127,144 L125,145 L121,145 L117,145 L115,145 L109,145 L102,145 L99,146 L96,147 L93,148 L89,149 L84,149 L80,150 L76,151 L73,151 L72,151 L71,151 L68,150 L66,148 L64,147 L58,146 L52,145 L46,145 L44,145 L43,145 L42,144 L41,143 L40,143 L37,143 L32,143 L29,143 L27,143 L25,143 L24,143 L23,143 L22,143 L21,143 L18,143 L16,143 L14,143 L13,143 L11,143 L10,143 L9,143 L8,143 L7,143 L6,143 L5,143 L4,143 L3,143 L4,143 L5,143 L6,143 z"},{"id":"shape:607f960c-6341-b01a-a000-692d153e6bc7","type":"text","transform":"","textFamily":"Arial","textSize":28,"top":137.922,"left":62,"text":"Robot 45","lineWidth":1,"fillColor":"#00daff","lineColor":"none","fillOpac":1,"lineOpac":1},{"id":"shape:aeb8f11c-5800-2feb-e3df-33139c1c070f","type":"rect","transform":"","fillColor":"#d5d4d4","lineColor":"none","fillOpac":1,"lineOpac":1,"lineWidth":1,"left":-2,"top":6,"width":6,"height":10},{"id":"shape:2b66c634-20de-49cc-501e-c2dd34ed072f","type":"ellipse","transform":"","fillColor":"#ff0000","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"width":39,"height":34.5586,"left":53,"top":83.58269999999999},{"id":"shape:72ac0941-f863-abd4-1859-0a90e75d9f86","type":"ellipse","transform":"","fillColor":"#aaaaaa","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"width":15,"height":12,"left":64,"top":94},{"id":"shape:8e937ef4-b625-9b54-a8d9-3f9db5391b29","type":"roundrect","transform":"rotate(-9.46232, 60, 85)","fillColor":"#808080","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"rx":20,"ry":20,"left":28,"top":71,"width":64,"height":28},{"id":"shape:03156a09-0646-b0cf-00d2-7a0dc4cb6300","type":"ellipse","transform":"","fillColor":"#ff0000","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"width":39,"height":35,"left":81,"top":83},{"id":"shape:fc34042d-ab37-df13-0405-dae6ec9bb3bb","type":"rect","transform":"","fillColor":"#aaaaaa","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"left":25.318,"top":85.7556,"width":16,"height":15},{"id":"shape:85289780-3df2-86f2-9aae-f189399120df","type":"rect","transform":"","fillColor":"#ff0000","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"left":16.318,"top":85.7556,"width":16,"height":15},{"id":"shape:e054d647-771a-5b58-4cd0-68514c515be7","type":"rect","transform":"","fillColor":"#ff0000","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"left":58.318,"top":59.7556,"width":16,"height":15},{"id":"shape:d9e5c336-4953-9ce5-9ecb-728c966350a4","type":"rect","transform":"","fillColor":"#aaaaaa","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"left":65.318,"top":59.7556,"width":16,"height":15},{"id":"shape:0dba98fe-95ad-b2df-5796-364664bf50fb","type":"line","transform":"","fillColor":"#ff0000","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"left":68,"top":59.7556,"width":0,"height":-25.7556},{"id":"shape:4f25051b-348d-82c6-3d3a-dc858d4671b9","type":"ellipse","transform":"","fillColor":"#aaaaaa","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"width":15,"height":12,"left":93,"top":95},{"id":"shape:6cc4981f-ed54-8300-7db2-f63b5e3efdb3","type":"ellipse","transform":"","fillColor":"#aaaaaa","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"width":4,"height":3,"left":25,"top":105}]
   76.25 +   //,c);
   76.26 +  }else{
   76.27 +
   76.28 +  }   
   76.29 + 
   76.30 +}  
   76.31 +
   76.32 +function Draw()
   76.33 +{ 
   76.34 +  load(myOPF,c);
   76.35 +}  
   76.36 +
   76.37 +function loadContent(source)
   76.38 +{
   76.39 +   var myOPF;
   76.40 +   eval("myOPF="+source);   
   76.41 +   return myOPF;
   76.42 +}
   76.43 +function chargeFile(fname) 
   76.44 +{
   76.45 +	var xhr=createXHR();
   76.46 +	xhr.open("GET", fname,true); 
   76.47 +	xhr.onreadystatechange=function() 
   76.48 +	{
   76.49 +		if (xhr.readyState == 4) 
   76.50 +		{
   76.51 +			if (xhr.status != 404) 
   76.52 +			{
   76.53 +				//myOPF=loadContent(xhr.responseText); 
   76.54 +				myOPFstr=xhr.responseText;
   76.55 +				myOPF=loadContent(xhr.responseText);
   76.56 +				//document.getElementById("source").innerHTML =xhr.responseText;
   76.57 +
   76.58 + 		} 
   76.59 +			else 
   76.60 +			{
   76.61 +				//document.getElementById("source").innerHTML = fname + " not found";
   76.62 +				
   76.63 +			}
   76.64 +		}
   76.65 +	}
   76.66 +	xhr.send(null);
   76.67 +}   
   76.68 +
   76.69 +function createXHR() 
   76.70 +{
   76.71 +    var request = false;
   76.72 +        try {
   76.73 +            request = new ActiveXObject('Msxml2.XMLHTTP');
   76.74 +        }
   76.75 +        catch (err2) {
   76.76 +            try {
   76.77 +                request = new ActiveXObject('Microsoft.XMLHTTP');
   76.78 +            }
   76.79 +            catch (err3) {
   76.80 +		try {
   76.81 +			request = new XMLHttpRequest();
   76.82 +		}
   76.83 +		catch (err1) 
   76.84 +		{
   76.85 +			request = false; alert('no no')
   76.86 +		}
   76.87 +            }
   76.88 +        }
   76.89 +    return request;
   76.90 +}                 
    77.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    77.2 +++ b/onlypaths/js/format.js	Sun Jan 31 12:33:33 2010 -0500
    77.3 @@ -0,0 +1,135 @@
    77.4 +/*
    77.5 +JSON Richdraw Abstraction Layer
    77.6 +
    77.7 +---------------------
    77.8 +Also,
    77.9 +
   77.10 +JSON Rich Draw Format
   77.11 +
   77.12 +---------------------
   77.13 +
   77.14 +*/
   77.15 +
   77.16 +
   77.17 +
   77.18 +function canvas(richdraw,format){ 
   77.19 +  
   77.20 +  var rawshapes = richdraw.getshapes()
   77.21 +  var newshapes = [];  
   77.22 +    //var view=Ext.util.JSON.encode(myOPF[0])
   77.23 +    //newshapes.push(Ext.util.JSON.decode(view));
   77.24 +    newshapes.push(myOPF[0]);
   77.25 +  for(var i = 0; i < rawshapes.length; i++){
   77.26 +    newshapes.push(richdraw.renderer.info(rawshapes[i]));
   77.27 +  }
   77.28 +    return newshapes;
   77.29 +}
   77.30 +
   77.31 +
   77.32 +var fullscreen=false;
   77.33 +function load(code,draw)
   77.34 +{
   77.35 +
   77.36 + var noattachlistener=false;
   77.37 + var renderdoc=false;  
   77.38 + var renderinfo=false
   77.39 + for(var i = 0; i < code.length; i++)
   77.40 +  {
   77.41 +   var rendering=true;  
   77.42 +
   77.43 +   if(code[i].type == "info")
   77.44 +    {
   77.45 +     rendering=false; 
   77.46 +     renderinfo=true;
   77.47 +     if(code[i].loop!=null)
   77.48 +      {
   77.49 +       timerNext=code[i].loop;
   77.50 +      }else{
   77.51 +       timerNext=0;
   77.52 +      }            
   77.53 +    } 
   77.54 +    
   77.55 +   if(code[i].type == "doc")
   77.56 +    { 
   77.57 +     rendering=false; 
   77.58 +     renderdoc=true;
   77.59 +     if(fullscreen==false)
   77.60 +      {
   77.61 +       draw.renderer.view(
   77.62 +       code[i].left,
   77.63 +       code[i].top,
   77.64 +       code[i].width,
   77.65 +       code[i].height,
   77.66 +       code[i].viewBox,
   77.67 +       (code[i].bgcolor!=null)?code[i].bgcolor:"" 
   77.68 +       ); 
   77.69 +      }
   77.70 +       else
   77.71 +      {
   77.72 +       draw.renderer.view(
   77.73 +        0,
   77.74 +        0,
   77.75 +        screenW,
   77.76 +        screenH,
   77.77 +        code[i].viewBox,
   77.78 +        ''
   77.79 +        ); 
   77.80 +      }  
   77.81 +    }
   77.82 +   
   77.83 +   if( rendering==true)
   77.84 +    {
   77.85 +     var co  = draw.renderer.create(code[i].type, 
   77.86 +     (code[i].fillColor!=null)?code[i].fillColor:"", 
   77.87 +     (code[i].lineColor)?code[i].lineColor:"", 
   77.88 +     (code[i].fillOpac)?code[i].fillOpac:"", 
   77.89 +     (code[i].lineOpac)?code[i].lineOpac:"", 
   77.90 +     (code[i].lineWidth)?code[i].lineWidth:"", 
   77.91 +     (code[i].left)?code[i].left:"", 
   77.92 +     (code[i].top)?code[i].top:"", 
   77.93 +     (code[i].width)?code[i].width:"", 
   77.94 +     (code[i].height)?code[i].height:"",  
   77.95 +     (code[i].text)?code[i].text:'', 
   77.96 +     (code[i].textSize)?code[i].textSize:"",    
   77.97 +     (code[i].textFamily)?code[i].textFamily:'Arial', 
   77.98 +     (code[i].href)?code[i].href:'', 
   77.99 +     (code[i].points)?code[i].points:'', 
  77.100 +     (code[i].transform)?code[i].transform:'',
  77.101 +     (code[i].parent)?code[i].parent:''); 
  77.102 +    
  77.103 +     co.id = ""+code[i].id;  
  77.104 +     if (!noattachlistener) 
  77.105 +      {  
  77.106 +        Ext.get(co).on("mousedown", draw.onHit, draw);
  77.107 +
  77.108 +        /*
  77.109 +        co.addEventListener("click", function(event) { myfunction(this.id,draw,event); }, false);
  77.110 +        co.addEventListener("mouseover", function(event) {myOverFunction(this.id,draw,event); }, false);
  77.111 +        co.addEventListener("mouseout", function(event) {myOutFunction(this.id,draw,event); }, false);
  77.112 +        co.addEventListener("mouseup", function(event) {myUpFunction(this.id,draw,event); }, false);
  77.113 +        co.addEventListener("mousedown", function(event) {myDownFunction(this.id,draw,event); }, false);
  77.114 +        co.addEventListener("mousemove", function(event) {myMoveFunction(this.id,draw,event); }, false);
  77.115 +        co.addEventListener("dblclick", function(event) {myDblclickFunction(this.id,draw,event); }, false);
  77.116 +        */
  77.117 +      }
  77.118 +    }
  77.119 +  }
  77.120 + if(renderdoc == false)
  77.121 +  { 
  77.122 +   if(fullscreen==false)
  77.123 +    {
  77.124 +     draw.renderer.view(0,0,canvasWidth,canvasHeight,'0 0 700 400','');   
  77.125 +    }
  77.126 +     else
  77.127 +    {
  77.128 +     draw.renderer.view(0,0,screenW,screenH,'0 0 700 400','');
  77.129 +    }
  77.130 +  }  
  77.131 + if(renderinfo == false)
  77.132 +  { 
  77.133 +  }  
  77.134 +}
  77.135 +
  77.136 +
  77.137 +
  77.138 +
    78.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    78.2 +++ b/onlypaths/js/format_mini.js	Sun Jan 31 12:33:33 2010 -0500
    78.3 @@ -0,0 +1,305 @@
    78.4 +/*
    78.5 +JSON Richdraw Abstraction Layer
    78.6 +
    78.7 +---------------------
    78.8 +Also,
    78.9 +
   78.10 +JSON Rich Draw Format
   78.11 +
   78.12 +---------------------
   78.13 +
   78.14 +
   78.15 +What data is not stored (yet)
   78.16 +-Transforms
   78.17 +
   78.18 +*/
   78.19 +
   78.20 +
   78.21 +
   78.22 +function canvas(richdraw,format){
   78.23 +  var rawshapes = richdraw.getshapes()
   78.24 +  var newshapes = [];
   78.25 +  for(var i = 0; i < rawshapes.length; i++){
   78.26 +    newshapes.push(richdraw.renderer.info(rawshapes[i]));
   78.27 +  }
   78.28 +    return newshapes;
   78.29 +}
   78.30 +
   78.31 +
   78.32 +var fullscreen=false;
   78.33 +function load(code,draw)
   78.34 +{
   78.35 +
   78.36 + var noattachlistener=false;
   78.37 + var renderdoc=false;  
   78.38 + var renderinfo=false
   78.39 + for(var i = 0; i < code.length; i++)
   78.40 +  {
   78.41 +   var rendering=true;  
   78.42 +
   78.43 +   if(code[i].type == "info")
   78.44 +    {
   78.45 +     rendering=false; 
   78.46 +     renderinfo=true;
   78.47 +     if(code[i].loop!=null)
   78.48 +      {
   78.49 +       timerNext=code[i].loop;
   78.50 +      }else{
   78.51 +       timerNext=0;
   78.52 +      }            
   78.53 +    } 
   78.54 +    
   78.55 +   if(code[i].type == "doc")
   78.56 +    { 
   78.57 +     rendering=false; 
   78.58 +     renderdoc=true;
   78.59 +     if(fullscreen==false)
   78.60 +      {
   78.61 +       draw.renderer.view(
   78.62 +       code[i].left,
   78.63 +       code[i].top,
   78.64 +       code[i].width,
   78.65 +       code[i].height,
   78.66 +       code[i].viewBox,
   78.67 +       (code[i].bgcolor!=null)?code[i].fillColor:"" 
   78.68 +       ); 
   78.69 +      }
   78.70 +       else
   78.71 +      {
   78.72 +       draw.renderer.view(
   78.73 +        0,
   78.74 +        0,
   78.75 +        screenW,
   78.76 +        screenH,
   78.77 +        code[i].viewBox,
   78.78 +        ''
   78.79 +        ); 
   78.80 +      }  
   78.81 +    }
   78.82 +   
   78.83 +   if( rendering==true)
   78.84 +    {
   78.85 +     var co  = draw.renderer.create(code[i].type, 
   78.86 +     (code[i].fillColor!=null)?code[i].fillColor:"", 
   78.87 +     (code[i].lineColor)?code[i].lineColor:"", 
   78.88 +     (code[i].fillOpac)?code[i].fillOpac:"", 
   78.89 +     (code[i].lineOpac)?code[i].lineOpac:"", 
   78.90 +     (code[i].lineWidth)?code[i].lineWidth:"", 
   78.91 +     (code[i].left)?code[i].left:"", 
   78.92 +     (code[i].top)?code[i].top:"", 
   78.93 +     (code[i].width)?code[i].width:"", 
   78.94 +     (code[i].height)?code[i].height:"",  
   78.95 +     (code[i].text)?code[i].text:'', 
   78.96 +     (code[i].textSize)?code[i].textSize:"",    
   78.97 +     (code[i].textFamily)?code[i].textFamily:'Arial', 
   78.98 +     (code[i].href)?code[i].href:'', 
   78.99 +     (code[i].points)?code[i].points:'', 
  78.100 +     (code[i].transform)?code[i].transform:'',
  78.101 +     (code[i].parent)?code[i].parent:''); 
  78.102 +    
  78.103 +     co.id = ""+code[i].id;  
  78.104 +     if (!noattachlistener) 
  78.105 +      {  
  78.106 +        Ext.get(co).on("mousedown", draw.onHit, draw);
  78.107 +
  78.108 +        /*
  78.109 +        co.addEventListener("click", function(event) { myfunction(this.id,draw,event); }, false);
  78.110 +        co.addEventListener("mouseover", function(event) {myOverFunction(this.id,draw,event); }, false);
  78.111 +        co.addEventListener("mouseout", function(event) {myOutFunction(this.id,draw,event); }, false);
  78.112 +        co.addEventListener("mouseup", function(event) {myUpFunction(this.id,draw,event); }, false);
  78.113 +        co.addEventListener("mousedown", function(event) {myDownFunction(this.id,draw,event); }, false);
  78.114 +        co.addEventListener("mousemove", function(event) {myMoveFunction(this.id,draw,event); }, false);
  78.115 +        co.addEventListener("dblclick", function(event) {myDblclickFunction(this.id,draw,event); }, false);
  78.116 +        */
  78.117 +      }
  78.118 +    }
  78.119 +  }
  78.120 + if(renderdoc == false)
  78.121 +  { 
  78.122 +   if(fullscreen==false)
  78.123 +    {
  78.124 +     draw.renderer.view(0,0,canvasWidth,canvasHeight,'0 0 700 400','');   
  78.125 +    }
  78.126 +     else
  78.127 +    {
  78.128 +     draw.renderer.view(0,0,screenW,screenH,'0 0 700 400','');
  78.129 +    }
  78.130 +  }  
  78.131 + if(renderinfo == false)
  78.132 +  { 
  78.133 +  }  
  78.134 +}
  78.135 +
  78.136 +
  78.137 +
  78.138 +
  78.139 +
  78.140 +
  78.141 +
  78.142 +
  78.143 +
  78.144 +function load03(code,richdraw){
  78.145 +
  78.146 + //var co  =richdraw.renderer.create('group', '', '', 1, '', '', 0, 0, '', '', '', '', '', '', '', '','');
  78.147 + //co.id = 'frame'+frameNum;  
  78.148 + // var co  ={};
  78.149 + var renderdoc=false;  
  78.150 + var renderinfo=false
  78.151 + for(var i = 0; i < code.length; i++){
  78.152 +  // code[i].parent='frame'+frameNum;   
  78.153 +  var rendering=true;
  78.154 +  if(code[i].type == "info")
  78.155 +   {
  78.156 +    rendering=false; 
  78.157 +    renderinfo=true;
  78.158 +    if(code[i].loop!=null)
  78.159 +     {
  78.160 +      timerNext=code[i].loop;
  78.161 +     }else{
  78.162 +      timerNext=0;
  78.163 +     }            
  78.164 +   } 
  78.165 +  if(code[i].type == "doc")
  78.166 +   { 
  78.167 +    rendering=false; 
  78.168 +    renderdoc=true;
  78.169 +   if(fullscreen==false){
  78.170 +     richdraw.renderer.view(
  78.171 +      code[i].left,
  78.172 +      code[i].top,
  78.173 +      code[i].width,
  78.174 +      code[i].height,
  78.175 +      code[i].viewBox
  78.176 +      ); 
  78.177 +    }else{
  78.178 +     richdraw.renderer.view(
  78.179 +      0,
  78.180 +      0,
  78.181 +      scr_w,
  78.182 +      scr_h,
  78.183 +      code[i].viewBox
  78.184 +      ); 
  78.185 +    
  78.186 +    
  78.187 +    }  
  78.188 +   /*richdraw.renderer.view((code[i].left)?code[i].left:NaN,
  78.189 +    (code[i].top)?code[i].top:NaN,
  78.190 +    (code[i].width)?code[i].width:NaN,
  78.191 +    (code[i].height)?code[i].height:NaN,
  78.192 +    (code[i].viewBox)?code[i].viewBox:''
  78.193 +    */
  78.194 +  
  78.195 +   }
  78.196 +      
  78.197 +  if( rendering==true)
  78.198 +  {
  78.199 +  var co  = richdraw.renderer.create(code[i].type, 
  78.200 +  (code[i].fillColor!=null)?code[i].fillColor:"", 
  78.201 +  (code[i].lineColor)?code[i].lineColor:"", 
  78.202 +  (code[i].fillOpac)?code[i].fillOpac:"", 
  78.203 +  (code[i].lineOpac)?code[i].lineOpac:"", 
  78.204 +  (code[i].lineWidth)?code[i].lineWidth:"", 
  78.205 +  (code[i].left)?code[i].left:"", 
  78.206 +  (code[i].top)?code[i].top:"", 
  78.207 +  (code[i].width)?code[i].width:"", 
  78.208 +  (code[i].height)?code[i].height:"",  
  78.209 +  (code[i].text)?code[i].text:'', 
  78.210 +  (code[i].textSize)?code[i].textSize:"",    
  78.211 +  (code[i].textFamily)?code[i].textFamily:'Arial', 
  78.212 +  (code[i].href)?code[i].href:'', 
  78.213 +  (code[i].points)?code[i].points:'', 
  78.214 +  (code[i].transform)?code[i].transform:'',
  78.215 +  (code[i].parent)?code[i].parent:''); 
  78.216 +  //(code[i].filter)?code[i].filter:'');  
  78.217 +  if(code[i].id==null){
  78.218 +   var nid='shape:' + createUUID(); 
  78.219 +    co.id = nid;
  78.220 +   }else{
  78.221 +    co.id = code[i].id;
  78.222 +   }
  78.223 +   
  78.224 +  //var cad=code[i].points;
  78.225 +  //co.id = ""+code[i].id; 
  78.226 +  //co.addEventListener("click", function(event) { myfunction(this.id); }, false);
  78.227 +  //co.addEventListener("mouseover", function(event) {myOverFunction(this.id); }, false);
  78.228 +  //co.addEventListener("mouseout", function(event) {myOutFunction(this.id); }, false);
  78.229 +  
  78.230 + 
  78.231 +  }
  78.232 +    Ext.get(co).on("mousedown", richdraw.onHit, richdraw);
  78.233 +   
  78.234 + }
  78.235 + if(renderdoc == false)
  78.236 +  { 
  78.237 +   if(fullscreen==false){
  78.238 +    richdraw.renderer.view(0,0,canvasWidth,canvasHeight,'0 0 700 400');   
  78.239 +   }else{
  78.240 +    richdraw.renderer.view(0,0,scr_w,scr_h,'0 0 700 400');
  78.241 +   }
  78.242 +   //richdraw.renderer.view(0,0,document.getElementById("richdraw").style.width,document.getElementById("richdraw").style.height,zoominit);   
  78.243 +
  78.244 +  }  
  78.245 + 
  78.246 + if(renderinfo == false){ 
  78.247 +
  78.248 + }  
  78.249 + 
  78.250 +}
  78.251 +
  78.252 +function load01(code,richdraw){
  78.253 +
  78.254 +for(var i = 0; i < code.length; i++){
  78.255 +
  78.256 +
  78.257 +  var co  = richdraw.renderer.create(code[i].type, //Shape
  78.258 +  (code[i].fillColor)?code[i].fillColor:"red", 
  78.259 +  (code[i].lineColor)?code[i].lineColor:"black", 
  78.260 +  (code[i].fillOpac)?code[i].fillOpac:1,
  78.261 +  (code[i].lineOpac)?code[i].lineOpac:1, 
  78.262 +  (code[i].lineWidth)?code[i].lineWidth:1, 
  78.263 +  (code[i].left)?code[i].left:100,
  78.264 +  (code[i].top)?code[i].top:100, 
  78.265 +  (code[i].width)?code[i].width:100, 
  78.266 +  (code[i].height)?code[i].height:100, 
  78.267 +  (code[i].text)?code[i].text:'',
  78.268 +  (code[i].textSize)?code[i].textSize:19,
  78.269 +  (code[i].textFamily)?code[i].textFamily:'Arial',
  78.270 +  (code[i].href)?code[i].href:'', 
  78.271 +  (code[i].points)?code[i].points:'', 
  78.272 +  (code[i].transform)?code[i].transform:'',
  78.273 +  (code[i].parent)?code[i].parent:''); 
  78.274 + 
  78.275 +
  78.276 +
  78.277 +co.id = "shape:"+code[i].id;
  78.278 +
  78.279 +/*
  78.280 +HACKS! HACKS!! NOT GOOD!!!
  78.281 +*/
  78.282 +if(code[i].type=="polyline"){
  78.283 + 
  78.284 +   //richdraw.renderer.editShape(co,code[i].points)
  78.285 +}else if(code[i].type=="path"){   
  78.286 + 
  78.287 +  // richdraw.renderer.editShape(co,code[i].d)
  78.288 +}else if(code[i].type == "text"){
  78.289 +  //--
  78.290 + //richdraw.renderer.editShape(co,code[i].text,null);
  78.291 + //richdraw.renderer.editShape(co,code[i].text)
  78.292 +}
  78.293 +
  78.294 +/*
  78.295 +End Evil Hacks
  78.296 +*/
  78.297 +
  78.298 +  
  78.299 +//Event.observe(co, "mousedown", richdraw.onHitListener);
  78.300 +
  78.301 +Ext.get(co).on("mousedown", richdraw.onHit, richdraw);
  78.302 +}
  78.303 +
  78.304 +
  78.305 +//create = function(shape, fillColor, lineColor, lineWidth, left, top, width, height)
  78.306 +}
  78.307 +
  78.308 +
    79.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    79.2 +++ b/onlypaths/js/me.js	Sun Jan 31 12:33:33 2010 -0500
    79.3 @@ -0,0 +1,819 @@
    79.4 +/*
    79.5 + * Ext JS Library 2.1
    79.6 + * Copyright(c) 2006-2008, Ext JS, LLC.
    79.7 + * licensing@extjs.com
    79.8 + * 
    79.9 + * http://extjs.com/license
   79.10 + */ 
   79.11 +Ext.BLANK_IMAGE_URL = 'theme/images/default/s.gif';
   79.12 +var mefillColor = {r:255,g:0,b:0,hex:'#ff0000',visible:'visible',color:'#ff0000',opacity:'1',gradient:'no'};
   79.13 +var mestrokeColor = {r:0,g:0,b:255,hex:'#000000',visible:'visible',color:'#ff0000',width:'1',opacity:'1',gradient:'no'};
   79.14 + 
   79.15 +var fillhex="#ff0000";  
   79.16 +var squarecont=0;
   79.17 +var squarerows=6;
   79.18 +var squarecols=6;  
   79.19 +var squarelist=new Array(squarerows);  
   79.20 +var filldraw=true;
   79.21 +var strokedraw=true;
   79.22 +var mode_render_fill=2;
   79.23 +var mode_render_stroke=2;
   79.24 +
   79.25 +var prevselect_fill='no-fill-gradient';
   79.26 +var prevselect_stroke='no-stroke-gradient'; 
   79.27 +
   79.28 +for (i = 0; i < squarerows; i++)
   79.29 + {
   79.30 +     squarelist[i]=new Array(squarecols);
   79.31 + }
   79.32 +
   79.33 +function rgb2hex(r,g,b){                
   79.34 + var rh= toHex(r);
   79.35 + var gh= toHex(g);
   79.36 + var bh= toHex(b);  
   79.37 + return '#'+rh + '' + gh + '' + bh;
   79.38 +// document.getElementById('inputfillhex').value=fillhex;
   79.39 + //parent.c.editCommand('mefillcolor', color);
   79.40 +}
   79.41 + 
   79.42 +function hex2rgb(hex)
   79.43 +   {
   79.44 +     var regexp = new RegExp('^#?([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})$');
   79.45 +     var match = hex.toLowerCase().match(regexp);
   79.46 +  
   79.47 +      if (match)
   79.48 +      {
   79.49 +          var rgb = new Array(parseInt(match[1], 16), parseInt(match[2], 16), parseInt(match[3], 16));
   79.50 +          return(rgb);
   79.51 +      }
   79.52 +      else
   79.53 +      {
   79.54 +          var rgb = new Array(0,0,0);
   79.55 +          return(rgb);
   79.56 +      }
   79.57 +  }
   79.58 +  
   79.59 +function toHex(color){
   79.60 +	color=parseInt(color).toString(16);
   79.61 +	return color.length<2?"0"+color:color;
   79.62 +} 
   79.63 +
   79.64 +function squareDump(r,g,b,container) {  
   79.65 + squareArray(r,g,b);
   79.66 + for (i = 0; i < squarerows; i++)
   79.67 +   {
   79.68 +  for (j = 0; j < squarecols; j++) 
   79.69 +   { 
   79.70 +        document.getElementById(container+i+'_'+j).style.backgroundColor = squarelist[i][j];
   79.71 +   } 
   79.72 +   squarecont++;            
   79.73 + }              
   79.74 + squarecont=0;
   79.75 +} 
   79.76 +
   79.77 +
   79.78 +
   79.79 +function squareArray(r,g,b) {     
   79.80 + 
   79.81 +  var l00_05=ccnp(r,g,b,0,0,0,(squarerows+0));
   79.82 + var color00_05=l00_05.split("_"); 
   79.83 + 
   79.84 + var l05_55=ccnp(255,255,255,255-r,255-g,255-b,(squarerows+0));
   79.85 + var color05_55=l05_55.split("_"); 
   79.86 +
   79.87 + var cols0, cols5, rowy;
   79.88 + var cad='';
   79.89 + for(var i=0;i<squarerows;i++){
   79.90 +        cols0=color00_05[i].split(",");
   79.91 +        cols5=color05_55[i].split(",");
   79.92 +        //for(var j=0;j<squarecols;j++){
   79.93 +        rowy=ccnprmtrc(parseInt(cols0[0]),parseInt(cols0[1]),parseInt(cols0[2]),parseInt(cols5[0]),parseInt(cols5[1]),parseInt(cols5[2]),squarecols+0);
   79.94 +        squarelist[i]=rowy.split("_");
   79.95 +        cad+=squarelist[i].join("  ");
   79.96 +        //}        
   79.97 + }
   79.98 +
   79.99 +//alert(l00_60);  
  79.100 +//document.getElementById('texta').value=cad;
  79.101 +}
  79.102 +function ccnp(a,b,c,d,e,f,nPartes){
  79.103 +	var q=0
  79.104 +	 var crdnds='';
  79.105 +	 var h = 1 / (nPartes);
  79.106 +	 var k = (1 - q)* a +  q * d;
  79.107 +	 var l = (1 - q)* b +  q * e;
  79.108 +	 var m = (1 - q)* c + q * f;
  79.109 +	// crdnds += k +" "+ l +" "+ m +", "+ R;
  79.110 +      for (var i=0; i<=(nPartes) ;i++)
  79.111 +       { 
  79.112 +	 k = (1 - q)* a +  q * d;
  79.113 +	 l = (1 - q)* b +  q * e;
  79.114 +	 m = (1 - q)* c +  q * f;
  79.115 +	q = q + h;
  79.116 +	if(i==(nPartes)){
  79.117 +	   crdnds+=''+ parseInt(Math.round(k)) +","+ parseInt(Math.round(l)) +","+ parseInt(Math.round(m)) +"" ;
  79.118 +	 }else{
  79.119 +  	   crdnds+=''+ parseInt(Math.round(k)) +","+ parseInt(Math.round(l)) +","+ parseInt(Math.round(m)) +"_";
  79.120 +
  79.121 +	 }   
  79.122 +       }  
  79.123 +	return  crdnds;
  79.124 +}
  79.125 +function ccnprmtrc(a,b,c,d,e,f,nPartes){
  79.126 +	var q=0
  79.127 +	 var crdnds='';
  79.128 +	 var h = 1 / (nPartes);
  79.129 +	 var k = (1 - q)* a +  q * d;
  79.130 +	 var l = (1 - q)* b +  q * e;
  79.131 +	 var m = (1 - q)* c + q * f;
  79.132 +	// crdnds += k +" "+ l +" "+ m +", "+ R;
  79.133 +      for (var i=0; i<=(nPartes) ;i++)
  79.134 +       { 
  79.135 +	 k = (1 - q)* a +  q * d;
  79.136 +	 l = (1 - q)* b +  q * e;
  79.137 +	 m = (1 - q)* c +  q * f;
  79.138 +	q = q + h;
  79.139 +	if(i==(nPartes)){
  79.140 +	   crdnds+='rgb('+ parseInt(Math.round(k)) +","+ parseInt(Math.round(l)) +","+ parseInt(Math.round(m)) +")" ;
  79.141 +	 }else{
  79.142 +  	   crdnds+='rgb('+ parseInt(Math.round(k)) +","+ parseInt(Math.round(l)) +","+ parseInt(Math.round(m)) +")_";
  79.143 +
  79.144 +	 }   
  79.145 +       }  
  79.146 +	return  crdnds;
  79.147 +} 
  79.148 +
  79.149 +
  79.150 +/**
  79.151 + * Converts an HSL color value to RGB. Conversion formula adapted from
  79.152 + * http://en.wikipedia.org/wiki/HSL_color_space. Assumes h, s, and l are
  79.153 + * contained in the set [0, 1] and returns r, g, and b in the set [0, 255].
  79.154 + *
  79.155 + * @param   {Number}    h       The hue
  79.156 + * @param   {Number}    s       The saturation
  79.157 + * @param   {Number}    l       The lightness
  79.158 + * @return  {Array}             The RGB representation
  79.159 + */
  79.160 +var hslToRgb = function(h, s, l){
  79.161 +    var r, g, b;
  79.162 +
  79.163 +    if(s == 0){
  79.164 +        r = g = b = l; // achromatic
  79.165 +    }else{
  79.166 +        function hue2rgb(p, q, t){
  79.167 +            if(t < 0) t += 1;
  79.168 +            if(t > 1) t -= 1;
  79.169 +            if(t < 1/6) return p + (q - p) * 6 * t;
  79.170 +            if(t < 1/2) return q;
  79.171 +            if(t < 2/3) return p + (q - p) * (2/3 - t) * 6;
  79.172 +            return p;
  79.173 +        };
  79.174 +
  79.175 +        var q = l < 0.5 ? l * (1 + s) : l + s - l * s;
  79.176 +        var p = 2 * l - q;
  79.177 +        r = hue2rgb(p, q, h + 1/3);
  79.178 +        g = hue2rgb(p, q, h);
  79.179 +        b = hue2rgb(p, q, h - 1/3);
  79.180 +    }
  79.181 +
  79.182 +    return [parseInt(r * 255), parseInt(g * 255), parseInt(b * 255)];
  79.183 +};  
  79.184 +/**
  79.185 + * Converts an RGB color value to HSL. Conversion formula adapted from
  79.186 + * http://en.wikipedia.org/wiki/HSL_color_space. Assumes r, g, and b are
  79.187 + * contained in the set [0, 255] and returns h, s, and l in the set [0, 1].
  79.188 + *
  79.189 + * @param   {Number}    r       The red color value
  79.190 + * @param   {Number}    g       The green color value
  79.191 + * @param   {Number}    b       The blue color value
  79.192 + * @return  {Array}             The HSL representation
  79.193 + */
  79.194 +var rgbToHsl = function(r, g, b){
  79.195 +    r /= 255, g /= 255, b /= 255;
  79.196 +    var max = Math.max(r, g, b), min = Math.min(r, g, b);
  79.197 +    var h, s, l = (max + min) / 2;
  79.198 +
  79.199 +    if(max == min){
  79.200 +        h = s = 0; // achromatic
  79.201 +    }else{
  79.202 +        var d = max - min;
  79.203 +        s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
  79.204 +        switch(max){
  79.205 +            case r: h = (g - b) / d + (g < b ? 6 : 0); break;
  79.206 +            case g: h = (b - r) / d + 2; break;
  79.207 +            case b: h = (r - g) / d + 4; break;
  79.208 +        }
  79.209 +        h /= 6;
  79.210 +    }
  79.211 +
  79.212 +    return [h, s, l];
  79.213 +};
  79.214 +function selectSquare(x,y,container){   
  79.215 +   movecolors=0;
  79.216 +  //$("#square"+x+"_"+y).css("border", "1px solid #000");
  79.217 +   //  $("#square"+x+"_"+y).mouseover(function(){
  79.218 +      
  79.219 +   // }).mouseout(function(){
  79.220 +     //  $("#square"+x+"_"+y).css("border", "0px solid #000");
  79.221 +   // });  
  79.222 +   var cadcolor=document.getElementById('square_'+container+(x)+'_'+y).style.backgroundColor
  79.223 +   //document.getElementById('texta').value=cadcolor; 
  79.224 +   var treecolors=GetString(cadcolor, '(', ')');
  79.225 +   
  79.226 +   //OPCTION? 
  79.227 +   var rgb=treecolors.split(', '); 
  79.228 +   //squareDump(rgb[0],rgb[1],rgb[2],'square_'+container);
  79.229 +   if(container=='stroke')
  79.230 +    {
  79.231 +        Ext.get('width-slider-stroke-mask').applyStyles({'background-color':'rgb('+rgb[0]+','+rgb[1]+','+rgb[2]+')'});
  79.232 +        //--document.forms.formstrokedata.mestrokecolor.value=rgb[0]+','+rgb[1]+','+rgb[2];
  79.233 +        mestrokeColor.r=rgb[0]; 
  79.234 +        mestrokeColor.g=rgb[1]; 
  79.235 +        mestrokeColor.b=rgb[2];
  79.236 +        mestrokeColor.hex=rgb2hex(rgb[0],rgb[1],rgb[2]);
  79.237 +        c.editCommand('linecolor',mestrokeColor.hex);
  79.238 +    }
  79.239 +     else
  79.240 +    {
  79.241 +         //--document.forms.formfilldata.mefillcolor.value=rgb[0]+','+rgb[1]+','+rgb[2];
  79.242 +         mefillColor.r=rgb[0]; mefillColor.g=rgb[1];mefillColor.b=rgb[2];
  79.243 +         mefillColor.hex=rgb2hex(rgb[0],rgb[1],rgb[2]);
  79.244 +         c.editCommand('fillcolor',mefillColor.hex);
  79.245 +
  79.246 +    }
  79.247 +   Ext.get('opacity-slider-'+container).applyStyles({'background-color':'rgb('+rgb[0]+','+rgb[1]+','+rgb[2]+')'});
  79.248 +   Ext.get(container+'-square').applyStyles({'background-color':'rgb('+rgb[0]+','+rgb[1]+','+rgb[2]+')'});
  79.249 +   
  79.250 +    //document.getElementById('texta').value=rgb[0]+' '+rgb[1]+' '+rgb[2]; 
  79.251 + /*   if(actualEdit ==1){
  79.252 +      fillMemory();    
  79.253 +    }else{
  79.254 +     strokeMemory();   
  79.255 +    }
  79.256 +        $('.slider1').SliderSetValues([[Math.round(rgb[0]*45/255),0]]);  
  79.257 +        $('.slider2').SliderSetValues([[Math.round(rgb[1]*45/255),0]]);
  79.258 +        $('.slider3').SliderSetValues([[Math.round(rgb[2]*45/255),0]]);  //-(mefillColor.b*45/255)
  79.259 + */
  79.260 +     
  79.261 +
  79.262 +} 
  79.263 +function setbe(num,id)
  79.264 + { 
  79.265 +  if(num == 1)
  79.266 +   { 
  79.267 +     if(filldraw==true)
  79.268 +      {
  79.269 +       
  79.270 +        Ext.get(id).dom.src ='img/theme/images/no.gif';  
  79.271 +        filldraw=false;  
  79.272 +        //--document.forms.formfilldata.fillvisible.value='hidden';
  79.273 +         mefillColor.visible='hidden';
  79.274 +         c.editCommand('fillcolor','none');
  79.275 +       // $('#tape').show("slow"); 
  79.276 +        
  79.277 +      }
  79.278 +       else 
  79.279 +      {
  79.280 +        Ext.get(id).dom.src ='img/theme/images/ok.gif';   
  79.281 +        filldraw=true; 
  79.282 +        //--document.forms.formfilldata.fillvisible.value='visible';
  79.283 +        mefillColor.visible='visible';
  79.284 +         c.editCommand('fillcolor',mefillColor.hex);
  79.285 +       // $('#tape').hide("slow"); 
  79.286 +      }
  79.287 +   }
  79.288 +
  79.289 +  if( num== 2)  // stroke
  79.290 +   {
  79.291 +     if(strokedraw==true)
  79.292 +      {
  79.293 +        Ext.get(id).dom.src ='img/theme/images/no.gif';     
  79.294 +        strokedraw=false; 
  79.295 +        //--document.forms.formstrokedata.strokevisible.value='hidden';
  79.296 +        mestrokeColor.visible='hidden'; 
  79.297 +        c.editCommand('linecolor','none');
  79.298 +        //$('#tape').show("slow"); 
  79.299 +      }
  79.300 +       else 
  79.301 +      {
  79.302 +        Ext.get(id).dom.src ='img/theme/images/ok.gif';   
  79.303 +        strokedraw=true; 
  79.304 +        //--document.forms.formstrokedata.strokevisible.value='visible'; 
  79.305 +        mestrokeColor.visible='visible';          
  79.306 +        c.editCommand('linecolor',mestrokeColor.hex);
  79.307 +        //$('#tape').hide("slow"); 
  79.308 +      }
  79.309 +   }
  79.310 + }                
  79.311 + 
  79.312 +///////////
  79.313 +
  79.314 +function onColorChange(){
  79.315 +c.lineColor =mestrokeColor.hex;
  79.316 +c.fillColor = mefillColor.hex;
  79.317 +c.lineWidth =mestrokeColor.width;
  79.318 +c.lineOpac = mestrokeColor.opacity;
  79.319 +c.fillOpac = mefillColor.opacity;
  79.320 +if(mefillColor.visible=='hidden')
  79.321 +{
  79.322 +c.fillColor = 'none';
  79.323 +}
  79.324 +if(mestrokeColor.visible=='hidden')
  79.325 +{
  79.326 +c.lineColor = 'none';
  79.327 +}
  79.328 +return;
  79.329 +}
  79.330 + 
  79.331 +///////////
  79.332 +
  79.333 +function setProperties(){   
  79.334 +   
  79.335 +   Ext.get('opacity-slider-fill').applyStyles({'background-color':'rgb('+mefillColor.r+','+mefillColor.g+','+mefillColor.b+')'});
  79.336 +   Ext.get('fill-square').applyStyles({'background-color':'rgb('+mefillColor.r+','+mefillColor.g+','+mefillColor.b+')'});
  79.337 +   squareDump(mefillColor.r,mefillColor.g,mefillColor.b,'square_fill'); 
  79.338 +   
  79.339 +   Ext.get('opacity-slider-stroke').applyStyles({'background-color':'rgb('+mestrokeColor.r+','+mestrokeColor.g+','+mestrokeColor.b+')'});
  79.340 +   Ext.get('width-slider-stroke-mask').applyStyles({'background-color':'rgb('+mestrokeColor.r+','+mestrokeColor.g+','+mestrokeColor.b+')'});
  79.341 +   Ext.get('stroke-square').applyStyles({'background-color':'rgb('+mestrokeColor.r+','+mestrokeColor.g+','+mestrokeColor.b+')'});
  79.342 +   squareDump(mestrokeColor.r,mestrokeColor.g,mestrokeColor.b,'square_stroke');  
  79.343 +
  79.344 +}                      
  79.345 +//////////
  79.346 +
  79.347 +
  79.348 +function GetString(source, start, end){
  79.349 +var st = source.indexOf(start) + start.length;
  79.350 +var en = source.indexOf(end, start);
  79.351 + return source.substring(st, en);//trimAll(source.substring(st, en));
  79.352 +}
  79.353 +
  79.354 +
  79.355 +
  79.356 +
  79.357 +var basicColors=new Array(" ",
  79.358 +"ff0000","ff8800","ffcc00",
  79.359 +"ffff00","ccff00","88ff00","00ff00","00ff88","00ffcc","00ffff",
  79.360 + "00ccff","0088ff","0000ff","8800ff","cc00ff","ff00ff","ff00cc","ff0088"
  79.361 +); 
  79.362 +
  79.363 +var str=''
  79.364 +for(var a=1;a<basicColors.length;a++){
  79.365 + str+='<span id="s'+a+'" style="background-color:'+basicColors[a]+'; width:2px;font-size:0.95em">.</span>';
  79.366 +} 
  79.367 +var str1=''
  79.368 +for(var a=basicColors.length;a>0;a--){
  79.369 + str1+='<span id="s'+a+'" style="background-color:'+basicColors[a]+'; width:2px;font-size:8px">&nbsp;</span>';
  79.370 +} 
  79.371 +
  79.372 +
  79.373 +  var str2='';
  79.374 +  var contx=0;
  79.375 +  var conty=0;
  79.376 +  var unitx=8;  
  79.377 +  var unity=8;
  79.378 +  var widthsq='width: '+unitx+'px;';
  79.379 +  for (i = 0; i < squarerows; i++) 
  79.380 +   { 
  79.381 +    contx=0;
  79.382 +    for (j = 0; j < squarecols; j++) 
  79.383 +     { 
  79.384 +        str2+='<div class="colorFillSquare" id="square_fill'+i+'_'+j+'" style="'+widthsq+' left:'+contx+'px; top:'+conty+'px;" onmouseover="this.style.borderWidth=\'1px\'; this.style.zIndex=100" onmouseout="this.style.borderWidth=\'0px\';this.style.zIndex=0" onclick="selectSquare('+i+','+j+',\'fill\')"></div>';
  79.385 +        contx+=unitx;
  79.386 +     } 
  79.387 +     conty+=unity;
  79.388 +   } 
  79.389 +
  79.390 + 
  79.391 +  var str3='';
  79.392 +  var contx=0;
  79.393 +  var conty=0;
  79.394 +  var unitx=8;  
  79.395 +  var unity=8;
  79.396 +  var widthsq='width: '+unitx+'px;';
  79.397 +  for (i = 0; i < squarerows; i++) 
  79.398 +   { 
  79.399 +    contx=0;
  79.400 +    for (j = 0; j < squarecols; j++) 
  79.401 +     { 
  79.402 +        str3+='<div class="colorStrokeSquare" id="square_stroke'+i+'_'+j+'" style="'+widthsq+' left:'+contx+'px; top:'+conty+'px;" onmouseover="this.style.borderWidth=\'1px\'; this.style.zIndex=100" onmouseout="this.style.borderWidth=\'0px\';this.style.zIndex=0" onclick="selectSquare('+i+','+j+',\'stroke\')"></div>';
  79.403 +        contx+=unitx;
  79.404 +     } 
  79.405 +     conty+=unity;
  79.406 +   } 
  79.407 +
  79.408 +///////////////////// 
  79.409 +
  79.410 +   var str4='';
  79.411 +       str4+='<span id="linear-fill-gradient" class="toolboxItem" title="Linear gradient" onmouseout="select(this,0,0)" onmouseover="select(this,1,0)" onclick="select(this,2,0)"><img  src="theme/images/gradient_linear.gif"></span>&nbsp;&nbsp;';
  79.412 +       str4+='<span id="radial-fill-gradient" class="toolboxItem" title="Radial gradient" onmouseout="select(this,0,1)" onmouseover="select(this,1,1)" onclick="select(this,2,1)"><img src="theme/images/gradient_radial.gif"></span>&nbsp;&nbsp;';
  79.413 +       str4+='<span id="no-fill-gradient" class="toolboxItem" title="No gradient" onmouseout="select(this,0,2)" onmouseover="select(this,1,2)" onclick="select(this,2,2)"><img src="theme/images/gradient_no.gif"></span>';
  79.414 +
  79.415 +/////////////////////
  79.416 +
  79.417 +   var str5='';
  79.418 +       str5+='<span id="linear-stroke-gradient" class="toolboxItem" title="Linear gradient" onmouseout="select(this,0,0)" onmouseover="select(this,1,0)" onclick="select(this,2,0)"><img  src="theme/images/gradient_linear.gif"></span>&nbsp;&nbsp;';
  79.419 +       str5+='<span id="radial-stroke-gradient" class="toolboxItem" title="Radial gradient" onmouseout="select(this,0,1)" onmouseover="select(this,1,1)" onclick="select(this,2,1)"><img src="theme/images/gradient_radial.gif"></span>&nbsp;&nbsp;';
  79.420 +       str5+='<span id="no-stroke-gradient" class="toolboxItem" title="No gradient" onmouseout="select(this,0,2)" onmouseover="select(this,1,2)" onclick="select(this,2,2)"><img src="theme/images/gradient_no.gif"></span>';
  79.421 +
  79.422 +/////////////////////
  79.423 +
  79.424 + var str6='';   //<form name="formfilldata">
  79.425 + str6+='<input type="text" class="field" name="fillvisible" title="Fill visible" value="visible"  size="2">';
  79.426 + str6+='<input type="text" class="field" name="fillcolor" title="Fill color"value="255,0,0" size="2">';  
  79.427 + str6+='<input type="text" class="field" name="fillopacity" title="Fill opacity" value="100" size="2">';
  79.428 + str6+='<input type="text" class="field" name="fillgradient" title="Fill gradient" value="no" size="2">';
  79.429 +  str6+='';
  79.430 +
  79.431 + var str7=''; // <form name="formstrokedata">
  79.432 + str7+='<input type="text" class="field" title="Stroke visible" name="strokevisible" value="visible"  size="2">';
  79.433 + str7+='<input type="text" class="field" title="Stroke color" name="strokecolor" value="0,0,0" size="2">';  
  79.434 +  str7+='<input type="text" class="field" title="Stroke width" name="strokewidth" value="1" size="2">';
  79.435 + str7+='<input type="text" class="field" title="Stroke opacity" name="strokeopacity" value="100" size="2">';
  79.436 +   str7+='<input type="text" class="field" title="Stroke gradienr" name="strokegradient" value="no" size="2">';
  79.437 +
  79.438 +  str7+='';
  79.439 +
  79.440 +
  79.441 +//ONREADY
  79.442 +
  79.443 +Ext.onReady(function() {
  79.444 +
  79.445 +      
  79.446 +   //  Ext.get("mefillColor").dom.innerHTML=(str);
  79.447 +   //   Ext.get("mestrokeColor").dom.innerHTML=(str1); 
  79.448 +  
  79.449 +
  79.450 +
  79.451 +    
  79.452 +   Ext.get("fillContainer").dom.innerHTML=(str2);      
  79.453 +   Ext.get("strokeContainer").dom.innerHTML=(str3); 
  79.454 +   //Ext.get("toolbox_fill").dom.innerHTML=(str4);
  79.455 +   //Ext.get("toolbox_stroke").dom.innerHTML=(str5); 
  79.456 +  // Ext.get("divformfill").dom.innerHTML=(str6); 
  79.457 +   //Ext.get("divformstroke").dom.innerHTML=(str7); 
  79.458 +
  79.459 +   
  79.460 +   Ext.get('fill-square').applyStyles({'background-color':'rgb(255,0,0)'});
  79.461 +   Ext.get('stroke-square').applyStyles({'background-color':'rgb(0,0,0)'});
  79.462 +  //Ext.get('no-stroke-gradient').applyStyles({'background-position':'0 0'});  
  79.463 +  //Ext.get('no-fill-gradient').applyStyles({'background-position':'0 0'});
  79.464 +  
  79.465 +         var color=hslToRgb(0, 1, 0.5); 
  79.466 +         squareDump(color[0],color[1],color[2],'square_fill');  
  79.467 + 
  79.468 +        var color=hslToRgb(0, 0, 0); 
  79.469 +        squareDump(color[0],color[1],color[2],'square_stroke');  
  79.470 +         
  79.471 +     //console.log('The windows has been loaded','fill-square' );      
  79.472 +     new Ext.Slider({
  79.473 +        renderTo: 'slider-fill',
  79.474 +        width: 62, 
  79.475 +        height: 5,
  79.476 +        minValue: -1,
  79.477 +        maxValue: 360, 
  79.478 +        value: 10,
  79.479 +        plugins: new Ext.ux.SliderFillColor()
  79.480 +    });
  79.481 +       new Ext.Slider({
  79.482 +        renderTo: 'opacity-slider-fill',
  79.483 +        width: 55,
  79.484 +        minValue: 0,
  79.485 +        maxValue: 100,
  79.486 +        value: 100,
  79.487 +        plugins: new Ext.ux.SliderOpacityFill()
  79.488 +    });     
  79.489 +        
  79.490 +        new Ext.Slider({
  79.491 +        renderTo: 'slider-stroke',
  79.492 +        width: 62,
  79.493 +        minValue: -1,
  79.494 +        maxValue: 360,
  79.495 +        value: -1,
  79.496 +        plugins: new Ext.ux.SliderStrokeColor()
  79.497 +    });   
  79.498 +   
  79.499 +      new Ext.Slider({
  79.500 +        renderTo: 'opacity-slider-stroke',
  79.501 +        width: 57,
  79.502 +        minValue: 0,
  79.503 +        maxValue: 100,
  79.504 +        value: 100, 
  79.505 +        plugins: new Ext.ux.SliderOpacityStroke()
  79.506 +    });  
  79.507 +      new Ext.Slider({
  79.508 +        renderTo: 'width-slider-stroke',
  79.509 +        width: 57,
  79.510 +        minValue: 0,
  79.511 +        maxValue: 50, 
  79.512 +        value: 1,
  79.513 +        plugins: new Ext.ux.SliderWidth()
  79.514 +    }); 
  79.515 +
  79.516 +   
  79.517 +}); 
  79.518 +
  79.519 +//  end ONREADY
  79.520 +
  79.521 +
  79.522 +
  79.523 +
  79.524 +
  79.525 +Ext.ux.SliderFillColor = Ext.extend(Ext.Tip, {
  79.526 +    minWidth: 10,
  79.527 +    offsets : [0, -10],
  79.528 +    init : function(slider){
  79.529 +        slider.on('dragstart', this.onSlide, this);
  79.530 +        slider.on('drag', this.onSlide, this);
  79.531 +        slider.on('dragend', this.hide, this);
  79.532 +        slider.on('destroy', this.destroy, this);
  79.533 +    },
  79.534 +
  79.535 +    onSlide : function(slider){
  79.536 +        //this.show();
  79.537 +        //this.doAutoWidth();
  79.538 +        //this.el.alignTo(slider.thumb, 'b-t?', this.offsets); 
  79.539 +         if(this.getText(slider)<0 || this.getText(slider)>359)
  79.540 +          {  
  79.541 +            var color=new Array();  
  79.542 +            color[0]='0';
  79.543 +            color[1]='0';
  79.544 +            color[2]='0'; 
  79.545 +
  79.546 +            if(this.getText(slider)>359)
  79.547 +             { 
  79.548 + 
  79.549 +              color[0]='245';
  79.550 +              color[1]='245';
  79.551 +              color[2]='245'; 
  79.552 +             }  
  79.553 +            Ext.get('fill-square').applyStyles({'background-color':'rgb('+color[0]+','+color[1]+','+color[2]+')'});
  79.554 +            Ext.get('opacity-slider-fill').applyStyles({'background-color':'rgb('+color[0]+','+color[1]+','+color[2]+')'});
  79.555 +      
  79.556 +          }
  79.557 +           else
  79.558 +          {  
  79.559 +              var color=hslToRgb((this.getText(slider)/359), 1, 0.5); 
  79.560 +             Ext.get('fill-square').applyStyles({'background-color':'rgb('+color[0]+','+color[1]+','+color[2]+')'});
  79.561 +             Ext.get('opacity-slider-fill').applyStyles({'background-color':'rgb('+color[0]+','+color[1]+','+color[2]+')'});
  79.562 +             //var color=hslToRgb((this.getText(slider)/359), 1, 0.5);       
  79.563 +          }
  79.564 +       
  79.565 +         squareDump(color[0],color[1],color[2],'square_fill'); 
  79.566 +         //Ext.get("fillcolor").dom.innerHTML=(color[0]+','+color[1]+','+color[2]);
  79.567 +         //--document.forms.formfilldata.fillcolor.value=color[0]+','+color[1]+','+color[2];
  79.568 +         mefillColor.r=color[0]; mefillColor.g=color[1]; mefillColor.b=color[2];
  79.569 +         mefillColor.hex=rgb2hex(color[0],color[1],color[2]);
  79.570 +         c.editCommand('fillcolor',mefillColor.hex);
  79.571 +
  79.572 +         //Ext.get("squareFill0_0").applyStyles({'background-color':'rgb('+color[0]+','+color[1]+','+color[2]+')'}); 
  79.573 +       // Ext.get("squareFill0_5").applyStyles({'background-color':'rgb(255,255,255)'});
  79.574 +        //Ext.get("squareFill5_5").applyStyles({'background-color':'rgb('+Math.abs(color[0]-255)+','+Math.abs(color[1]-255)+','+Math.abs(color[2]-255)+')'});
  79.575 +          //      Ext.get("squareFill5_0").applyStyles({'background-color':'rgb(0,0,0)'});
  79.576 +        //Ext.get("text").dom.innerHTML=color[0];
  79.577 +        
  79.578 +    },
  79.579 +
  79.580 +    getText : function(slider){ 
  79.581 +       return slider.getValue();
  79.582 +    }
  79.583 +});
  79.584 +
  79.585 +
  79.586 +
  79.587 + 
  79.588 +Ext.ux.SliderStrokeColor = Ext.extend(Ext.Tip, {
  79.589 +    minWidth: 10,
  79.590 +    offsets : [0, -10],
  79.591 +    init : function(slider){
  79.592 +        slider.on('dragstart', this.onSlide, this);
  79.593 +        slider.on('drag', this.onSlide, this);
  79.594 +        slider.on('dragend', this.hide, this);
  79.595 +        slider.on('destroy', this.destroy, this);
  79.596 +    },
  79.597 +
  79.598 +    onSlide : function(slider){
  79.599 +        //this.show();
  79.600 +        //this.doAutoWidth();
  79.601 +        //this.el.alignTo(slider.thumb, 'b-t?', this.offsets);
  79.602 +        if(this.getText(slider)<0 || this.getText(slider)>359)
  79.603 +          {  
  79.604 +            var color=new Array();  
  79.605 +            color[0]='0';
  79.606 +            color[1]='0';
  79.607 +            color[2]='0'; 
  79.608 +
  79.609 +            if(this.getText(slider)>359)
  79.610 +             { 
  79.611 + 
  79.612 +              color[0]='245';
  79.613 +              color[1]='245';
  79.614 +              color[2]='245'; 
  79.615 +             }  
  79.616 +            Ext.get('stroke-square').applyStyles({'background-color':'rgb('+color[0]+','+color[1]+','+color[2]+')'});
  79.617 +            Ext.get('opacity-slider-stroke').applyStyles({'background-color':'rgb('+color[0]+','+color[1]+','+color[2]+')'});
  79.618 +             Ext.get('width-slider-stroke-mask').applyStyles({'background-color':'rgb('+color[0]+','+color[1]+','+color[2]+')'});
  79.619 +
  79.620 +          }
  79.621 +           else
  79.622 +          { 
  79.623 +              var color=hslToRgb((this.getText(slider)/359), 1, 0.5); 
  79.624 +             Ext.get('stroke-square').applyStyles({'background-color':'rgb('+color[0]+','+color[1]+','+color[2]+')'});
  79.625 +             Ext.get('opacity-slider-stroke').applyStyles({'background-color':'rgb('+color[0]+','+color[1]+','+color[2]+')'});
  79.626 +             Ext.get('width-slider-stroke-mask').applyStyles({'background-color':'rgb('+color[0]+','+color[1]+','+color[2]+')'});
  79.627 +
  79.628 +             /*Ext.get('stroke-square').applyStyles({'background-color':'hsl('+this.getText(slider)+',100%,50%)'});
  79.629 +             Ext.get('opacity-slider-stroke').applyStyles({'background-color':'hsl('+this.getText(slider)+',100%,50%)'});
  79.630 +             var color=hslToRgb((this.getText(slider)/359), 1, 0.5);
  79.631 +             Ext.get('width-slider-stroke-mask').applyStyles({'background-color':'hsl('+this.getText(slider)+',100%,50%)'});
  79.632 +            */
  79.633 +          }
  79.634 +   
  79.635 +        
  79.636 +         
  79.637 +        //Ext.get('stroke-square').applyStyles({'background-color':'hsl('+this.getText(slider)+',100%,50%)'});
  79.638 +        //Ext.get('opacity-slider-stroke').applyStyles({'background-color':'hsl('+this.getText(slider)+',100%,50%)'});
  79.639 +
  79.640 +        //var color=hslToRgb((this.getText(slider)/359), 1, 0.5); 
  79.641 +        squareDump(color[0],color[1],color[2],'square_stroke'); 
  79.642 +        //--document.forms.formstrokedata.strokecolor.value=color[0]+','+color[1]+','+color[2];
  79.643 +        mestrokeColor.r=color[0]; mestrokeColor.g=color[1]; mestrokeColor.b=color[2];
  79.644 +        mestrokeColor.hex=rgb2hex(color[0],color[1],color[2]);
  79.645 +        c.editCommand('linecolor',mestrokeColor.hex);
  79.646 +        // this.body.update(''+this.getText(slider));
  79.647 +
  79.648 +    },
  79.649 +
  79.650 +    getText : function(slider){ 
  79.651 +       return slider.getValue();
  79.652 +    }
  79.653 +  }); 
  79.654 +
  79.655 +
  79.656 +
  79.657 +  Ext.ux.SliderOpacityFill = Ext.extend(Ext.Tip, {
  79.658 +    minWidth: 10,
  79.659 +    offsets : [0, -10],
  79.660 +    init : function(slider){
  79.661 +        slider.on('dragstart', this.onSlide, this);
  79.662 +        slider.on('drag', this.onSlide, this);
  79.663 +        slider.on('dragend', this.hide, this);
  79.664 +        slider.on('destroy', this.destroy, this);
  79.665 +    },
  79.666 +
  79.667 +    onSlide : function(slider){
  79.668 +        this.show();
  79.669 +        this.body.update(''+this.getText(slider)+'%');
  79.670 +        this.doAutoWidth();
  79.671 +        this.el.alignTo(slider.thumb, 'b-t?', this.offsets); 
  79.672 +        changeOpacity(this.getText(slider)/100, 'opacity-slider-fill');
  79.673 +        //--document.forms.formfilldata.fillopacity.value=this.getText(slider);
  79.674 +        mefillColor.opacity=this.getText(slider)/100;
  79.675 +        c.editCommand('fillopacity',mefillColor.opacity);
  79.676 +    },
  79.677 +
  79.678 +    getText : function(slider){
  79.679 +        return slider.getValue();
  79.680 +    }
  79.681 +  });                                      
  79.682 +  Ext.ux.SliderOpacityStroke = Ext.extend(Ext.Tip, {
  79.683 +    minWidth: 10,
  79.684 +    offsets : [0, -10],
  79.685 +    init : function(slider){
  79.686 +        slider.on('dragstart', this.onSlide, this);
  79.687 +        slider.on('drag', this.onSlide, this);
  79.688 +        slider.on('dragend', this.hide, this);
  79.689 +        slider.on('destroy', this.destroy, this);
  79.690 +    },
  79.691 +
  79.692 +    onSlide : function(slider){
  79.693 +        this.show();
  79.694 +        this.body.update(''+this.getText(slider)+'%');
  79.695 +        this.doAutoWidth();
  79.696 +        this.el.alignTo(slider.thumb, 'b-t?', this.offsets); 
  79.697 +        changeOpacity(this.getText(slider)/100, 'opacity-slider-stroke');
  79.698 +        //--document.forms.formstrokedata.strokeopacity.value=this.getText(slider);
  79.699 +        mestrokeColor.opacity=this.getText(slider)/100; 
  79.700 +        c.editCommand('lineopacity',mestrokeColor.opacity);
  79.701 +    },
  79.702 +
  79.703 +    getText : function(slider){
  79.704 +        return slider.getValue();
  79.705 +    }
  79.706 +  }); 
  79.707 +
  79.708 +  Ext.ux.SliderWidth = Ext.extend(Ext.Tip, {
  79.709 +    minWidth: 10,
  79.710 +    offsets : [0, -10],
  79.711 +    init : function(slider){
  79.712 +        slider.on('dragstart', this.onSlide, this);
  79.713 +        slider.on('drag', this.onSlide, this);
  79.714 +        slider.on('dragend', this.hide, this);
  79.715 +        slider.on('destroy', this.destroy, this);
  79.716 +    },
  79.717 +
  79.718 +    onSlide : function(slider){
  79.719 +        this.show();
  79.720 +        this.body.update(''+this.getText(slider)+'px');
  79.721 +        this.doAutoWidth();
  79.722 +        this.el.alignTo(slider.thumb, 'b-t?', this.offsets); 
  79.723 +        Ext.get('width-slider-stroke-mask').applyStyles({'width':this.getText(slider)+'px'});
  79.724 +        //--document.forms.formstrokedata.strokewidth.value=this.getText(slider);
  79.725 +        mestrokeColor.width=this.getText(slider);  
  79.726 +        c.editCommand('linewidth',mestrokeColor.width);
  79.727 +    },
  79.728 +
  79.729 +    getText : function(slider){
  79.730 +        return slider.getValue();
  79.731 +    }
  79.732 +  }); 
  79.733 +
  79.734 +
  79.735 +
  79.736 +
  79.737 +                                     
  79.738 +//===================================
  79.739 +//===================================
  79.740 +
  79.741 +function select(select,action,type){  
  79.742 + var id=select.id;
  79.743 + if(type==0){var text='lineal';}   
  79.744 + if(type==1){var text='radial';}  
  79.745 + if(type==2){var text='no';}  
  79.746 + // && mode_render_fill!=type
  79.747 + if(action==0 && mode_render_fill!=type)
  79.748 +  {
  79.749 +   Ext.get(id).applyStyles({'background-position':'0 12px'});  
  79.750 +    
  79.751 +
  79.752 +  }
  79.753 + if(action==1 && mode_render_fill!=type)
  79.754 +  {
  79.755 +   Ext.get(id).applyStyles({'background-position':'0 0'}); 
  79.756 +   
  79.757 +  } 
  79.758 + if(action==2)
  79.759 +  { 
  79.760 +   mode_render_fill=type; 
  79.761 +   if(id.indexOf('fill')!=-1)
  79.762 +    {
  79.763 +      Ext.get(prevselect_fill).applyStyles({'background-position':'0 12px'});
  79.764 +      prevselect_fill=id; 
  79.765 +      //--document.forms.formfilldata.fillgradient.value=text;
  79.766 +    }else{ 
  79.767 +    
  79.768 +      Ext.get(prevselect_stroke).applyStyles({'background-position':'0 12px'}); 
  79.769 +      prevselect_stroke=id;
  79.770 +      //--document.forms.formstrokedata.strokegradient.value=text;
  79.771 +    }  
  79.772 +   Ext.get(id).applyStyles({'background-position':'0 0'});
  79.773 +   
  79.774 + 
  79.775 +  }  
  79.776 +} 
  79.777 +
  79.778 +function changeOpacity(opacity, id)
  79.779 + {  
  79.780 +       var object = document.getElementById(id).style;  
  79.781 +       object.opacity = (opacity );
  79.782 +       object.MozOpacity = (opacity);  
  79.783 +       object.KhtmlOpacity = (opacity);  
  79.784 +       object.filter = "alpha(opacity=" + parseFloat(opacity*100) + ")";  
  79.785 + } 
  79.786 +
  79.787 + //print() function will just create a window similar to the default alert function within the page.
  79.788 +//Arguments
  79.789 +// txt  - The message that appears in the box.
  79.790 +// title - The title of the box(OPTIONAL) 
  79.791 +
  79.792 +/*
  79.793 +if(typeof console != 'object') {
  79.794 +console = {};
  79.795 +console.log = function(){return false;};
  79.796 +}                
  79.797 +
  79.798 +
  79.799 +/////////////////
  79.800 +var Docs = function(){
  79.801 +return {
  79.802 +init : function(){
  79.803 +var loading = Ext.get('loading');
  79.804 +var mask = Ext.get('loading-mask');
  79.805 +mask.setOpacity(.1);
  79.806 +mask.shift({
  79.807 +xy:loading.getXY(),
  79.808 +width:loading.getWidth(),
  79.809 +height:loading.getHeight(),
  79.810 +remove:true,
  79.811 +duration:1,
  79.812 +opacity:.8,
  79.813 +easing:'bounceOut',
  79.814 +callback : function(){
  79.815 +loading.fadeOut({duration:.1,remove:true});
  79.816 +}
  79.817 +});
  79.818 +}
  79.819 +};
  79.820 +}();
  79.821 +Ext.onReady(Docs.init, Docs, true);
  79.822 + */  
  79.823 \ No newline at end of file
    80.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    80.2 +++ b/onlypaths/js/onlypaths.js	Sun Jan 31 12:33:33 2010 -0500
    80.3 @@ -0,0 +1,990 @@
    80.4 +/*----------------------------------------------------------------------------
    80.5 + ONLYPATHS 0.1 
    80.6 + from
    80.7 + RICHDRAW 1.0
    80.8 + Vector Graphics Drawing Script
    80.9 + -----------------------------------------------------------------------------
   80.10 + Created by Mark Finkle (mark.finkle@gmail.com)
   80.11 + Implementation of simple vector graphic drawing control using SVG or VML.
   80.12 + -----------------------------------------------------------------------------
   80.13 + Copyright (c) 2006 Mark Finkle  
   80.14 +               2008 Antimatter15  
   80.15 +               2008 Josep_ssv
   80.16 +
   80.17 + This program is  free software;  you can redistribute  it and/or  modify it
   80.18 + under the terms of the MIT License.
   80.19 +
   80.20 + Permission  is hereby granted,  free of charge, to  any person  obtaining a
   80.21 + copy of this software and associated documentation files (the "Software"),
   80.22 + to deal in the  Software without restriction,  including without limitation
   80.23 + the  rights to use, copy, modify,  merge, publish, distribute,  sublicense,
   80.24 + and/or  sell copies  of the  Software, and to  permit persons to  whom  the
   80.25 + Software is  furnished  to do  so, subject  to  the  following  conditions:
   80.26 + The above copyright notice and this  permission notice shall be included in
   80.27 + all copies or substantial portions of the Software.
   80.28 +
   80.29 + THE SOFTWARE IS PROVIDED "AS IS",  WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
   80.30 + IMPLIED,  INCLUDING BUT NOT LIMITED TO  THE WARRANTIES  OF MERCHANTABILITY,
   80.31 + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
   80.32 + AUTHORS OR  COPYRIGHT  HOLDERS BE  LIABLE FOR  ANY CLAIM,  DAMAGES OR OTHER
   80.33 + LIABILITY, WHETHER  IN AN  ACTION OF CONTRACT, TORT OR  OTHERWISE,  ARISING
   80.34 + FROM,  OUT OF OR  IN  CONNECTION  WITH  THE  SOFTWARE OR THE  USE OR  OTHER
   80.35 + DEALINGS IN THE SOFTWARE.
   80.36 + -----------------------------------------------------------------------------
   80.37 + Dependencies: (SVG or VML rendering implementations)
   80.38 + History:
   80.39 + 2006-04-05 | Created richdraw.js  
   80.40 + 2008       | Update content and added framework ExtJS    
   80.41 + 2008-06-08 | Rename onlypaths.js   
   80.42 + --------------------------------------------------------------------------*/  
   80.43 + 
   80.44 +var xpArray=new Array();
   80.45 +var ypArray=new Array(); 
   80.46 +var setPoints=new Array(); 
   80.47 +
   80.48 +var inout='';//true;
   80.49 +var typeTransform='';
   80.50 +
   80.51 +var contmove=0;  
   80.52 +var zoomx=0;
   80.53 +var zoomy=0;
   80.54 +var zoomscale=1;
   80.55 +var zoommode='frame'; //more minus frame
   80.56 +
   80.57 +//
   80.58 + 
   80.59 +var data_path_close=true;
   80.60 +var data_text_family='';
   80.61 +var data_text_size=19
   80.62 +var data_text_messaje='';
   80.63 +var data_image_href='';   
   80.64 + 
   80.65 +var numClics=0;  
   80.66 +
   80.67 +////////////
   80.68 +
   80.69 +function RichDrawEditor(elem, renderer) {
   80.70 + this.container = elem;
   80.71 + this.gridX = 10;
   80.72 + this.gridY = 10;
   80.73 + this.mouseDownX = 0;  
   80.74 + this.mouseDownY = 0;    
   80.75 + this.clicX = 0;  
   80.76 + this.clicY = 0;
   80.77 + this.nowDraw=false;
   80.78 + this.mode = '';
   80.79 + this.fillColor = '';  
   80.80 + this.lineColor = '';
   80.81 + this.lineWidth = '';
   80.82 + this.selected = null;   
   80.83 + this.squareSelect = null;  
   80.84 + this.focusin = null;  
   80.85 + this.lineOpac = 1;
   80.86 + this.fillOpac = 1;
   80.87 + this.gridWidth = 1;
   80.88 + this.opac = 1;          
   80.89 + //++ ;
   80.90 + this.text_messaje="";
   80.91 + this.text_size=19;
   80.92 + this.text_family="Arial";
   80.93 + 
   80.94 + this.pathsEdit = false;
   80.95 + this.previusBox=null; 
   80.96 + this.initialPath='';
   80.97 + this.clipboard=null;
   80.98 + this.moveNow=true;
   80.99 + 
  80.100 + this.selectedBounds = { x:0, y:0, width:0, height: 0 };
  80.101 + this.onselect = function() {}
  80.102 + this.onunselect = function() {}
  80.103 + 
  80.104 + this.logtext = "";
  80.105 + 
  80.106 + this.renderer = renderer;
  80.107 + this.renderer.init(this.container);
  80.108 + this.renderer.editor = this;
  80.109 + 
  80.110 + this.initialUnit=1;
  80.111 + this.unit=this.initialUnit; 
  80.112 +
  80.113 + 
  80.114 + this.inputxy = []; 
  80.115 + this.viewInputxy = [];      
  80.116 + this.onViewInputXY = function(){};
  80.117 + this.onInputXY = function(){};   
  80.118 + 
  80.119 + 
  80.120 + //Ext.get(this.container).on('keypress', function(e){alert(e.keyCode);});
  80.121 +  
  80.122 + Ext.get(this.container).on( "mousedown", this.onMouseDown,this);
  80.123 + Ext.get(this.container).on( "mouseup", this.onMouseUp,this);  
  80.124 + Ext.get(this.container).on( "mousemove", this.onMouseMove,this); 
  80.125 + //Ext.get(this.container).on( "dblclick", this.onEndLine,this);
  80.126 + Ext.get(this.container).on( "selectstart", this.onSelectStart,this);
  80.127 +  
  80.128 +
  80.129 +  
  80.130 +}
  80.131 +
  80.132 +RichDrawEditor.prototype.log = function(logtext){
  80.133 +  if(document.forms[0].code){
  80.134 +    document.forms[0].code.value = logtext
  80.135 +  }
  80.136 +}
  80.137 +
  80.138 +
  80.139 +RichDrawEditor.prototype.getshapes = function(){
  80.140 + return this.renderer.getshapes();
  80.141 +}
  80.142 +
  80.143 +RichDrawEditor.prototype.info = function(shape){
  80.144 + return this.renderer.info(shape)
  80.145 +}
  80.146 +
  80.147 +
  80.148 +RichDrawEditor.prototype.clearWorkspace = function() {
  80.149 +  this.container.innerHTML = '';
  80.150 +};
  80.151 +
  80.152 +RichDrawEditor.prototype.deleteSelection = function() {
  80.153 + if (this.selected) {
  80.154 +   this.renderer.remove(this.container.ownerDocument.getElementById('tracker'));
  80.155 +   this.renderer.remove(this.selected);
  80.156 +   this.selected = null;
  80.157 + }
  80.158 +};
  80.159 +
  80.160 +RichDrawEditor.prototype.toFront = function(order) {
  80.161 + if (this.selected) { 
  80.162 +   this.renderer.index(this.selected, order);
  80.163 + }
  80.164 +};
  80.165 +
  80.166 +RichDrawEditor.prototype.deleteAll = function() {   
  80.167 + this.renderer.removeAll();
  80.168 +};
  80.169 +
  80.170 +
  80.171 +RichDrawEditor.prototype.select = function(elem) {
  80.172 + if (elem == this.selected){  return;  }
  80.173 + this.selected = elem;
  80.174 + this.renderer.showTracker(this.selected,this.pathsEdit);
  80.175 + this.onselect(this);
  80.176 +};
  80.177 +
  80.178 +
  80.179 +RichDrawEditor.prototype.unselect = function() {
  80.180 + if (this.selected) {
  80.181 +   this.renderer.remove(this.container.ownerDocument.getElementById('tracker'));
  80.182 +   this.selected = null;
  80.183 +   this.onunselect(this);
  80.184 +  }
  80.185 +};
  80.186 +
  80.187 +RichDrawEditor.prototype.getSelectedElement = function() {
  80.188 + return this.selected;
  80.189 +};
  80.190 +
  80.191 +RichDrawEditor.prototype.toCurve = function() {  
  80.192 + this.renderer.tocurve();
  80.193 +}
  80.194 +
  80.195 +RichDrawEditor.prototype.submitShape = function(data) {  
  80.196 + if (this.mode != 'select') {   
  80.197 +   setMode('path', 'Path');  
  80.198 +   this.actualStyle();
  80.199 +   onColorChange();   
  80.200 +   this.selected = this.renderer.create(this.mode, this.fillColor, this.lineColor, this.fillOpac, this.lineOpac, this.lineWidth, this.mouseDownX, this.mouseDownY, 1, 1,this.textMessaje,this.textSize,this.textFamily,this.imageHref, data, '', '');
  80.201 +   this.selected.id = 'shape:' + createUUID();
  80.202 +   Ext.get(this.selected).on("mousedown", this.onHit,this);   
  80.203 +   setMode('select', 'Select'); 
  80.204 + } else {
  80.205 +   this.renderer.transformShape(this.selected,data,null); 
  80.206 +   this.renderer.remove(this.container.ownerDocument.getElementById('tracker')); 
  80.207 +   this.renderer.showTracker(this.selected,this.pathsEdit);
  80.208 + }
  80.209 +};
  80.210 +
  80.211 +RichDrawEditor.prototype.setGrid = function(horizontal, vertical) {
  80.212 + this.gridX = horizontal;
  80.213 + this.gridY = vertical;
  80.214 + this.gridWidth = (vertical+horizontal)/2; //average. ideally, it should be the same
  80.215 +};
  80.216 +
  80.217 +
  80.218 +
  80.219 +RichDrawEditor.prototype.actualStyle = function()
  80.220 +{
  80.221 + this.textMessaje=$('option_text_message').value;
  80.222 + this.textSize=parseFloat($('option_text_size').value);
  80.223 + this.textFamily=$('option_text_family').value;
  80.224 + this.pathClose = $('option_path_close').checked; 
  80.225 + this.imageHref = $('option_image_href').value;
  80.226 +
  80.227 + return;
  80.228 +};
  80.229 +
  80.230 +
  80.231 +RichDrawEditor.prototype.editCommand = function(cmd, value)
  80.232 +{
  80.233 + if (cmd == 'mode') 
  80.234 +  {
  80.235 +   this.mode = value;
  80.236 +  }
  80.237 + else if (this.selected == null) 
  80.238 +  {  
  80.239 +   if (cmd == 'fillcolor') 
  80.240 +    {
  80.241 +     this.fillColor = value;
  80.242 +    }
  80.243 +   else if (cmd == 'linecolor') 
  80.244 +    {
  80.245 +     this.lineColor = value;
  80.246 +    }
  80.247 +   else if (cmd == 'linewidth') 
  80.248 +    {
  80.249 +     this.lineWidth = parseInt(value) + 'px';
  80.250 +    } 
  80.251 +   else if (cmd == 'fillopacity') {
  80.252 +     this.fillOpac = parseInt(value);
  80.253 +    } 
  80.254 +   else if (cmd == 'lineopacity') {
  80.255 +     this.lineOpac = parseInt(value);
  80.256 +    }
  80.257 +  }
  80.258 + else 
  80.259 +  {
  80.260 +    this.renderer.editCommand(this.selected, cmd, value);
  80.261 +  }
  80.262 +}
  80.263 +
  80.264 +
  80.265 +RichDrawEditor.prototype.queryCommand = function(cmd)
  80.266 +{
  80.267 + if (cmd == 'mode') 
  80.268 +  {
  80.269 +   return this.mode;
  80.270 +  }
  80.271 + else if (this.selected == null) 
  80.272 +  {
  80.273 +   if (cmd == 'fillcolor') 
  80.274 +    {
  80.275 +     return this.fillColor;
  80.276 +    }
  80.277 +   else if (cmd == 'linecolor') 
  80.278 +    {
  80.279 +     return this.lineColor;
  80.280 +    }
  80.281 +   else if (cmd == 'linewidth') 
  80.282 +    {
  80.283 +     return this.lineWidth;
  80.284 +    }
  80.285 +   else if (cmd == 'fillopacity') 
  80.286 +    {
  80.287 +     return  this.fillOpac;
  80.288 +    }
  80.289 +   else if (cmd == 'lineopacity') 
  80.290 +    {
  80.291 +     return  this.fillOpac;
  80.292 +    }
  80.293 +  }
  80.294 + else 
  80.295 +  {
  80.296 +   return this.renderer.queryCommand(this.selected, cmd);
  80.297 +  }
  80.298 +}
  80.299 +
  80.300 +
  80.301 +
  80.302 +
  80.303 +RichDrawEditor.prototype.onSelectStart = function(event) {
  80.304 +  return false
  80.305 +}
  80.306 +
  80.307 +RichDrawEditor.prototype.onMouseDown = function(event) {  
  80.308 + 
  80.309 + clockdata();
  80.310 + 
  80.311 + //MODE NO SELECT
  80.312 + if (this.mode != 'select') 
  80.313 +  {      
  80.314 +   var modeUsed=0;     
  80.315 +   if (this.mode == 'zoom') 
  80.316 +    {     
  80.317 +     var width=this.gridWidth;
  80.318 +     contmove=0;
  80.319 +     this.setGrid(width, width);  
  80.320 +     this.unselect(); 
  80.321 +     xpArray=new Array();
  80.322 +     ypArray=new Array();
  80.323 +     this.mouseDownX = this.viewInputxy[0];
  80.324 +     this.mouseDownY = this.viewInputxy[1];   
  80.325 +     xpArray.push(this.mouseDownX);
  80.326 +     ypArray.push(this.mouseDownY);
  80.327 +     if(zoommode=='window'){
  80.328 +         this.squareSelect= this.renderer.create('rect', 'none', "#000000", 1, 1, 1, this.mouseDownX, this.mouseDownY, 1, 1,this.textMessaje,this.textSize,this.textFamily,this.imageHref,'M0,0 1,1', '', '');
  80.329 +         this.squareSelect.id = 'squareSelectID';   
  80.330 +         Ext.get(this.squareSelect).on( "mousedown", this.onHit,this);  
  80.331 +         Ext.get(this.squareSelect).on( "mousemove", this.onDraw,this);
  80.332 +
  80.333 +     }else{
  80.334 +        this.renderer.zoom(this.mouseDownX, this.mouseDownY);  
  80.335 +      } 
  80.336 +     modeUsed=1; 
  80.337 +    } //end zoom     
  80.338 +   if (this.mode == 'controlpath') 
  80.339 +    {
  80.340 +     this.actualStyle(); 
  80.341 +     onColorChange();         
  80.342 +     if(numClics<=0)
  80.343 +      {     
  80.344 +       this.nowDraw=true;
  80.345 +       setPoints=new Array();    
  80.346 +       var width=this.gridWidth;  
  80.347 +       contmove=0;
  80.348 +       this.setGrid(width, width);  
  80.349 +       this.unselect(); 
  80.350 +       xpArray=new Array();
  80.351 +       ypArray=new Array();
  80.352 +       this.mouseDownX =  this.viewInputxy[0];
  80.353 +       this.mouseDownY =  this.viewInputxy[1];   
  80.354 +       xpArray.push(this.mouseDownX);
  80.355 +       ypArray.push(this.mouseDownY);
  80.356 +       setPoints.push(this.mouseDownX+','+this.mouseDownY); 
  80.357 +       onColorChange();
  80.358 +       this.actualStyle();                                                                                                                                                  
  80.359 +       this.selected = this.renderer.create(this.mode, this.fillColor, this.lineColor, this.fillOpac, this.lineOpac, this.lineWidth, this.mouseDownX, this.mouseDownY, 1, 1,this.textMessaje,this.textSize,this.textFamily,this.imageHref, 'M0,0 1,1', '', '');
  80.360 +              
  80.361 +       this.selected.id = 'shape:' + createUUID(); 
  80.362 +       Ext.get(this.selected).on( "mousedown", this.onHit,this);  
  80.363 +       this.log(this.selected.id);   
  80.364 +       
  80.365 +       Ext.get(this.selected).on( "dblclick", this.onEndLine,this);  
  80.366 +       Ext.get(this.container).on( "mousemove", this.onDraw,this); 
  80.367 +       numClics++;
  80.368 +     }
  80.369 +      else
  80.370 +     {  
  80.371 +       var coord=this.viewInputxy;
  80.372 +       var X=parseFloat(coord[0]);
  80.373 +       var Y=parseFloat(coord[1]); 
  80.374 +       setPoints.push(X+','+Y);
  80.375 +       this.renderer.clic(this.selected);
  80.376 +       numClics++;
  80.377 +     }
  80.378 +     modeUsed=1; 
  80.379 +    } //end mode controlpath
  80.380 +   if (modeUsed == 0) 
  80.381 +    {   
  80.382 +     var width=this.gridWidth;
  80.383 +     contmove=0; 
  80.384 +     this.setGrid(width, width);  
  80.385 +     this.unselect(); 
  80.386 +     xpArray=new Array();
  80.387 +     ypArray=new Array();
  80.388 +     this.mouseDownX = this.viewInputxy[0];   
  80.389 +     this.mouseDownY= this.viewInputxy[1];
  80.390 +  
  80.391 +     xpArray.push(this.mouseDownX);
  80.392 +     ypArray.push(this.mouseDownY);
  80.393 +     
  80.394 +     this.unselect();   
  80.395 +     onColorChange();
  80.396 +     this.actualStyle(); 
  80.397 +     this.selected = this.renderer.create(this.mode, this.fillColor, this.lineColor, this.fillOpac, this.lineOpac, this.lineWidth, this.mouseDownX, this.mouseDownY, 1, 1,this.textMessaje,this.textSize,this.textFamily,this.imageHref,'M0,0 1,1', '', '');
  80.398 +     this.selected.id = 'shape:' + createUUID();   
  80.399 +     Ext.get(this.selected).on( "mousedown", this.onHit,this);  
  80.400 +     Ext.get(this.container).on( "mousemove", this.onDraw,this);
  80.401 +    }     
  80.402 +  }
  80.403 +   else   //----- MODE SELECT
  80.404 +  {                                            
  80.405 +  if(this.container.ownerDocument.getElementById('tracker')) this.renderer.remove(this.container.ownerDocument.getElementById('tracker')); 
  80.406 + 
  80.407 +  
  80.408 +   var snappedX=this.viewInputxy[0];
  80.409 +   var snappedY=this.viewInputxy[1]
  80.410 +
  80.411 +   if (this.mouseDownX != snappedX || this.mouseDownY != snappedY)
  80.412 +    { 
  80.413 +      if(this.selected!=null && typeTransform=='Translate' )
  80.414 +       {
  80.415 +        
  80.416 +        Ext.get(this.container).un("mousemove", this.onDrag); 
  80.417 +        this.unselect();
  80.418 +       }
  80.419 +    }     
  80.420 +    
  80.421 +     if(typeTransform=='Translate')
  80.422 +      {  
  80.423 +       inout='move';//true;   
  80.424 +       this.renderer.remove(this.container.ownerDocument.getElementById('tracker')); 
  80.425 +
  80.426 +      }
  80.427 +     if(typeTransform=='Scale'  || typeTransform=='Rotate') 
  80.428 +      {
  80.429 +       inout='rotate_escale';//false  
  80.430 +       Ext.get(this.container).on( "mousemove", this.onDrag,this);         
  80.431 +       //Ext.get(this.selected).on( "mousedown", this.onHit,this);  
  80.432 +       this.renderer.remove(this.container.ownerDocument.getElementById('tracker')); 
  80.433 +      }  
  80.434 +  } //end mode select
  80.435 + return false;
  80.436 +};
  80.437 +
  80.438 +
  80.439 +RichDrawEditor.prototype.onMouseUp = function(event) 
  80.440 +{
  80.441 +   //MODE NO SELECT
  80.442 + if (this.mode != 'select') 
  80.443 +  {
  80.444 +   if(this.mode == 'controlpath') 
  80.445 +    {    
  80.446 +        
  80.447 +    }
  80.448 +     else
  80.449 +    {   
  80.450 +     //ZOOM    
  80.451 +      if (this.mode == 'zoom') 
  80.452 +       {
  80.453 +        var snappedX=this.viewInputxy[0];
  80.454 +        var snappedY=this.viewInputxy[1];
  80.455 +        this.renderer.zoom(snappedX, snappedY); 
  80.456 +        this.renderer.remove(this.container.ownerDocument.getElementById('squareSelectID'));
  80.457 +        Ext.get(this.container).un("mousemove", this.onDraw);  
  80.458 +        this.squareSelect = null; 
  80.459 +        this.selected = null;   
  80.460 +       }else{
  80.461 +        Ext.get(this.container).un("mousemove", this.onDraw);  
  80.462 +        this.selected = null;   
  80.463 +       } 
  80.464 +    }
  80.465 +  } 
  80.466 +   else //MODE SELECT
  80.467 +  { 
  80.468 +   Ext.get(this.container).un("mousemove", this.onDraw);  //or drag
  80.469 +   Ext.get(this.container).un("mousemove", this.onDrag);  
  80.470 +   moveNow=false;   
  80.471 +   contmove=0; 
  80.472 +   if(typeTransform=="Rotate" || typeTransform=="Scale" ) 
  80.473 +    {  
  80.474 +     this.renderer.showTracker(this.selected,this.pathsEdit); 
  80.475 +     typeTransform=='';
  80.476 +    } 
  80.477 +   if(typeTransform=="Translate" ) 
  80.478 +    { 
  80.479 +     this.renderer.showTracker(this.selected,this.pathsEdit); 
  80.480 +     typeTransform='';   
  80.481 +     contmove=0; 
  80.482 +     
  80.483 +    }  
  80.484 +
  80.485 +   if(inout=='multiSelect')
  80.486 +    {
  80.487 +
  80.488 +    } 
  80.489 +    
  80.490 +   typeTransform=''; 
  80.491 +  }  
  80.492 +};
  80.493 +
  80.494 +
  80.495 +RichDrawEditor.prototype.onDrag = function(event) {  
  80.496 +
  80.497 +  moveNow=true;  
  80.498 +  //var offset = Ext.get(this.selected).getXY()
  80.499 +  //var deltaX = this.viewInputxy[0] - (this.viewInputxy[0] - this.mouseDownX);
  80.500 +  //var deltaY = this.viewInputxy[1] - (this.viewInputxy[1] - this.mouseDownY);
  80.501 +  //var deltaX = offset[0] ;
  80.502 +  //var deltaY = offset[1] ; 
  80.503 +
  80.504 +  var deltaX = this.viewInputxy[0] ;
  80.505 +  var deltaY = this.viewInputxy[1] ; 
  80.506 +   var deltaX= this.selectedBounds['x']-this.mouseDownX + this.viewInputxy[0];
  80.507 +   var deltaY= this.selectedBounds['y']-this.mouseDownY + this.viewInputxy[1]; 
  80.508 +
  80.509 +  //var deltX = this.viewInputxy[0]+(this.mouseDownX-this.viewInputxy[0]);
  80.510 +  //var deltY = this.viewInputxy[1]+(this.mouseDownY-this.viewInputxy[1]); 
  80.511 +  
  80.512 +  var modeUsed=0;              
  80.513 +  if(this.mode == 'zoom') 
  80.514 +   {     
  80.515 +        Ext.get(this.container).getXY();
  80.516 +        this.renderer.resize(this.squareSelect, this.clicX,this.clicY, this.viewInputxy[0], this.viewInputxy[1]);
  80.517 +        modeUsed=1; 
  80.518 +   }
  80.519 +  if(this.mode == 'controlpath') 
  80.520 +     {  
  80.521 +      modeUsed=1; 
  80.522 +     } 
  80.523 +  
  80.524 +  if(modeUsed==0)
  80.525 +   {        
  80.526 +    if(inout=='multiSelect')
  80.527 +     { 
  80.528 +         this.renderer.showMultiSelect(this.mouseDownX, this.mouseDownY);  
  80.529 +     }
  80.530 +    if(typeTransform=="Translate")
  80.531 +     {  
  80.532 +      Ext.get(this.container).getXY();  
  80.533 +      //this.log(this.mouseDownX+' '+event.getXY()[0]+' '+ this.selectedBounds.x +'contmove'+contmove); 
  80.534 +      //this.renderer.move(this.selected, this.viewInputxy[0],this.viewInputxy[1],this.clicX,this.clicY);
  80.535 +      //this.renderer.move(this.selected, this.viewInputxy[0],this.viewInputxy[1], this.mouseDownX, this.mouseDownY);
  80.536 +      this.renderer.move(this.selected, deltaX, deltaY, this.mouseDownX, this.mouseDownY);
  80.537 +     }  
  80.538 +    if(typeTransform=="Rotate") 
  80.539 +     { 
  80.540 +      this.renderer.rotateShape(this.selected, this.previusBox,deltaX, deltaY);
  80.541 +     }
  80.542 +    if(typeTransform=="Scale") 
  80.543 +     {
  80.544 +      this.renderer.scaleShape(this.selected, this.previusBox, this.selectedBounds.x + deltaX, this.selectedBounds.y + deltaY); 
  80.545 +     }
  80.546 +    }   
  80.547 +};
  80.548 +
  80.549 +
  80.550 +RichDrawEditor.prototype.onResize = function(event) {
  80.551 +  var deltaX = this.viewInputxy[0] - this.mouseDownX;
  80.552 +  var deltaY = this.viewInputxy[1] - this.mouseDownY;
  80.553 +  this.renderer.track(handle, deltaX, deltaY);
  80.554 +  show_tracker();
  80.555 +};
  80.556 +
  80.557 +
  80.558 +RichDrawEditor.prototype.onDraw = function(event) {
  80.559 +  if (this.selected == null)
  80.560 +   {  
  80.561 +    if(this.squareSelect != null)
  80.562 +     {
  80.563 +      var offset = Ext.get(this.container).getXY()
  80.564 +      var snappedX = this.viewInputxy[0];//Math.round(zoomx+((event.getXY()[0] - offset[0]) / this.gridX) * this.gridX);
  80.565 +      var snappedY = this.viewInputxy[1];//Math.round(zoomy+((event.getXY()[1] - offset[1]) / this.gridY) * this.gridY);
  80.566 +      this.renderer.resize(this.squareSelect, this.mouseDownX, this.mouseDownY, snappedX, snappedY);
  80.567 +      }
  80.568 +       else
  80.569 +      {
  80.570 +        return;
  80.571 +      }
  80.572 +    }
  80.573 +     else
  80.574 +    {   
  80.575 +  
  80.576 +        var snappedX = this.viewInputxy[0];//Math.round(zoomx+((event.getXY()[0] - offset[0]) / this.gridX) * this.gridX);
  80.577 +        var snappedY = this.viewInputxy[1];// Math.round(zoomy+((event.getXY()[1] - offset[1]) / this.gridY) * this.gridY);
  80.578 +        this.renderer.resize(this.selected, this.mouseDownX, this.mouseDownY, snappedX, snappedY);
  80.579 +      
  80.580 +    }
  80.581 +};
  80.582 +
  80.583 +RichDrawEditor.prototype.onRotate = function(event) {
  80.584 +  if (this.selected == null)
  80.585 +   {
  80.586 +     
  80.587 +   }else{      
  80.588 +   }
  80.589 +};
  80.590 +
  80.591 +RichDrawEditor.prototype.onScale = function(event) {
  80.592 +  if (this.selected == null)
  80.593 +   {
  80.594 +     
  80.595 +   }else{      
  80.596 +   }
  80.597 +};
  80.598 +
  80.599 +RichDrawEditor.prototype.onTransform = function(event) {
  80.600 +  if (this.selected == null)
  80.601 +   {
  80.602 +     
  80.603 +   }else{  
  80.604 +  }
  80.605 +};
  80.606 +
  80.607 +RichDrawEditor.prototype.onMouseMove = function(event) {
  80.608 + var offset = Ext.get(c.container).getXY()
  80.609 + var x = Math.round(event.getXY()[0] - offset[0]);
  80.610 + var y = Math.round(event.getXY()[1] - offset[1]);
  80.611 + if (ie || opera) 
  80.612 +  {  
  80.613 +   proporx =1;
  80.614 +   propory =1;
  80.615 +   zoominit2='1 1 1 1';
  80.616 +   this.inputxy = [x,y];    
  80.617 +   this.viewInputxy = [x,y];  
  80.618 +   this.onInputXY(x,y);   
  80.619 +   this.onViewInputXY(x,y);
  80.620 +  }
  80.621 +   else
  80.622 +  {
  80.623 +   ////////////
  80.624 +   
  80.625 +    var X = x ; // x cursor on canvas
  80.626 +    var Y = y ; // y cursor on canvas
  80.627 +
  80.628 +    var Ex = parseFloat(tokensCanvas[2]) ; // (end) width canvas. Corner down-left
  80.629 +    var Ey = parseFloat(tokensCanvas[3]) ; // (end) height canvas. Corner up-right
  80.630 +
  80.631 +    var zoomX = 0 ; // ? x unknown
  80.632 +    var zoomY = 0 ; // ? y unknown
  80.633 +
  80.634 +    var sx = parseFloat(tokensZoom[0]) ; // (start) x origin of the coord zoom.
  80.635 +    var sy = parseFloat(tokensZoom[1]) ; // (start) y origin of the coord zoom.
  80.636 +    var Wz = parseFloat(tokensZoom[2]) ; // width zoom
  80.637 +    var Hz = parseFloat(tokensZoom[3]) ; // height zoom
  80.638 +
  80.639 +    var ex = parseFloat(sx + Wz) ; // (end) x width zoom. Corner down-left
  80.640 +    var ey = parseFloat(sy + Hz) ; // (end) y height zoom. Corner up-right
  80.641 +
  80.642 +    var r = X / Ex ; // 0 to 1
  80.643 +    var s = Y / Ey ; // 0 to 1
  80.644 +    this.unit = this.initialUnit * (Hz/Ey) ; // 0 to 1
  80.645 +    zoomX= (1 - r) * sx + ex * r;
  80.646 +    zoomY= (1 - s) * sy + ey * s; 
  80.647 +   
  80.648 +   this.inputxy = [x,y];    
  80.649 +   this.viewInputxy = [zoomX,zoomY];  
  80.650 +   this.onInputXY(x,y);  
  80.651 +   this.onViewInputXY(zoomX,zoomY);  
  80.652 +  }
  80.653 +   
  80.654 +};                                       
  80.655 +
  80.656 +
  80.657 +RichDrawEditor.prototype.onHit = function(event) {
  80.658 +  Ext.get(this.container).un("mousemove", this.onDrag); 
  80.659 +
  80.660 + if(this.mode == 'select') 
  80.661 +  {   
  80.662 +   if (event.stopPropagation) event.stopPropagation(); // DOM Level 2
  80.663 +   else event.cancelBubble = true; // IE
  80.664 +   // Now prevent any default action.
  80.665 +   if (event.preventDefault) event.preventDefault(); // DOM Level 2
  80.666 +   else event.returnValue = false; // IE      
  80.667 +   
  80.668 +   if(inout=='multiSelect')
  80.669 +    {   
  80.670 + 
  80.671 +    }
  80.672 +     else
  80.673 +    { 
  80.674 +     //Ext.get(this.container).un("mousemove", this.onDrag); 
  80.675 +     typeTransform="Translate";
  80.676 +     contmove=0;
  80.677 +     var width=this.gridWidth;
  80.678 +         
  80.679 +     this.setGrid(width, width);  
  80.680 +     
  80.681 +     this.select(event.getTarget()); 
  80.682 +     this.previusBox=this.selected;     
  80.683 +    
  80.684 +     this.renderer.getProperties(this.selected);
  80.685 +     //var offset = Ext.get(this.container).getXY(); 
  80.686 + 
  80.687 +     this.selectedBounds = this.renderer.bounds(this.selected); 
  80.688 +     
  80.689 +     this.mouseDownX =this.viewInputxy[0];//x;// offset[0];//zoomx+snappedX;
  80.690 +     this.mouseDownY =this.viewInputxy[1];//y;//  offset[1];//zoomy+snappedY;   
  80.691 +     this.log(this.gridX);
  80.692 +     this.renderer.info(this.selected); 
  80.693 +     if(this.container.ownerDocument.getElementById('tracker'))
  80.694 +      {
  80.695 +        this.renderer.remove(this.container.ownerDocument.getElementById('tracker')); 
  80.696 +      } 
  80.697 +     Ext.get(this.container).on( "mousemove", this.onDrag,this);   
  80.698 +    }
  80.699 +  }
  80.700 +   else
  80.701 +  {
  80.702 +    this.mouseDownX = this.viewInputxy[0];//Math.round(zoomx+((event.getXY()[0] - offset[0]) / this.gridX) * this.gridX);
  80.703 +    this.mouseDownY = this.viewInputxy[1];//Math.round(zoomy+((event.getXY()[1] - offset[1]) / this.gridY) * this.gridY);
  80.704 +    Ext.get(this.container).on( "mousemove", this.onDrag,this);   
  80.705 +    
  80.706 +  }
  80.707 +};  
  80.708 +
  80.709 +
  80.710 +RichDrawEditor.prototype.onClic = function(event) {
  80.711 + if(this.mode == 'controlpath') 
  80.712 +  {     
  80.713 +  
  80.714 +  }
  80.715 +   else
  80.716 +  {
  80.717 +       
  80.718 +  }
  80.719 +};   
  80.720 +
  80.721 +RichDrawEditor.prototype.reflect = function(HorV) {
  80.722 + this.selected=this.renderer.reflect(HorV);
  80.723 + this.selected.id = 'shape:' + createUUID();
  80.724 + Ext.get(this.selected).on( "mousedown", this.onHit,this);  
  80.725 +}
  80.726 +
  80.727 +RichDrawEditor.prototype.onEndLine = function(event) {   
  80.728 +  
  80.729 + if(this.mode == 'controlpath') 
  80.730 +  {     
  80.731 +        //alert(numClics);
  80.732 +        numClics=0;    
  80.733 +         Ext.get(this.container).un("mousemove", this.onDraw); 
  80.734 +         //Ext.get(this.selected).un( "mousedown", this.onHit,this);  
  80.735 +         //Ext.get(this.selected).un( "dblclick", this.onEndLine);  
  80.736 +         //Ext.get(this.container).un( "mousemove", this.onDraw,this);    
  80.737 +         //Ext.get(this.container).un( "mousemove", this.onDrag,this); 
  80.738 +         // Ext.get(this.selected).un( "mousedown", this.onHit);  
  80.739 +   
  80.740 +       // Ext.get(this.container).un("mousemove", this.onDraw,this); 
  80.741 +        //Ext.get(this.container).un("mousemove", this.onDrag,this);
  80.742 +        this.selected = null;   
  80.743 +        
  80.744 +          
  80.745 +  }
  80.746 +   else
  80.747 +  {   
  80.748 +  
  80.749 +   this.nowDraw=false;   
  80.750 +   typeTransform='';   
  80.751 +  }
  80.752 +};
  80.753 +
  80.754 +function noselect(){
  80.755 +}
  80.756 +
  80.757 +function createUUID()
  80.758 +{
  80.759 +  return [4, 2, 2, 2, 6].map(function(length) {
  80.760 +    var uuidpart = "";
  80.761 +    for (var i=0; i<length; i++) {
  80.762 +      var uuidchar = parseInt((Math.random() * 256)).toString(16);
  80.763 +      if (uuidchar.length == 1)
  80.764 +        uuidchar = "0" + uuidchar;
  80.765 +      uuidpart += uuidchar;
  80.766 +    }
  80.767 +    return uuidpart;
  80.768 +  }).join('-');
  80.769 +}
  80.770 +
  80.771 +
  80.772 +//----------------------------------------------------------------------------
  80.773 +// AbstractRenderer
  80.774 +//
  80.775 +// Abstract base class defining the drawing API. Can not be used directly.
  80.776 +//----------------------------------------------------------------------------
  80.777 +
  80.778 +function AbstractRenderer() {
  80.779 +
  80.780 +};
  80.781 +
  80.782 +AbstractRenderer.prototype.init = function(elem) {};
  80.783 +AbstractRenderer.prototype.bounds = function(shape) { return { x:0, y:0, width:0, height: 0 }; };
  80.784 +AbstractRenderer.prototype.create = function(shape, fillColor, lineColor, lineWidth, left, top, width, height, textMessaje, textSize, textFamily, imageHref, transform) {};
  80.785 +AbstractRenderer.prototype.datacreate = function(fillColor, lineColor, lineWidth, fillOpac, strokeOpac, left, top, width, height,data) {};
  80.786 +AbstractRenderer.prototype.index = function(shape, order) {};
  80.787 +AbstractRenderer.prototype.remove = function(shape) {}; 
  80.788 +AbstractRenderer.prototype.copy = function(shape) {};
  80.789 +AbstractRenderer.prototype.paste = function(left,top) {};
  80.790 +AbstractRenderer.prototype.duplicate = function(shape) {};
  80.791 +AbstractRenderer.prototype.move = function(shape, left, top) {};  
  80.792 +AbstractRenderer.prototype.endmove = function(shape) {};
  80.793 +AbstractRenderer.prototype.transform= function(shape, left, top) {};
  80.794 +AbstractRenderer.prototype.scale = function(shape, left, top) {};
  80.795 +AbstractRenderer.prototype.rotate = function(shape, left, top) {};
  80.796 +AbstractRenderer.prototype.track = function(shape) {}; 
  80.797 +AbstractRenderer.prototype.restruct = function(shape) {};
  80.798 +AbstractRenderer.prototype.resize = function(shape, fromX, fromY, toX, toY) {};
  80.799 +AbstractRenderer.prototype.editCommand = function(shape, cmd, value) {};
  80.800 +AbstractRenderer.prototype.queryCommand = function(shape, cmd) {};
  80.801 +AbstractRenderer.prototype.showTracker = function(shape,value) {};
  80.802 +AbstractRenderer.prototype.getMarkup = function() { return null; };
  80.803 +AbstractRenderer.prototype.info = function(shape){}; 
  80.804 +AbstractRenderer.prototype.editShape = function(shape,data){};
  80.805 +AbstractRenderer.prototype.onKeyPress = function(){};
  80.806 +
  80.807 +AbstractRenderer.prototype.getshapes = function(){};
  80.808 +
  80.809 +
  80.810 +//-----------------------------
  80.811 +// Geometry - string functions
  80.812 +//-----------------------------   
  80.813 +
  80.814 +//two point angle  deg
  80.815 +function ang2v(x1,y1,x2,y2)
  80.816 +{
  80.817 +     /*
  80.818 +      var k=0;
  80.819 +
  80.820 +      var sum1=u1+v1; 
  80.821 +      var sum2=u2+v2;    
  80.822 +
  80.823 +      var res1=u1-v1;  
  80.824 +      var res2=u2-v2;   
  80.825 +
  80.826 +     var ku1=k*u1; 
  80.827 +      var ku2=k*u2;   
  80.828 +
  80.829 +       var mu= Math.sqrt(u1*u1+u2*u2); 
  80.830 +       var mv= Math.sqrt(v1*v1+v2*v2);
  80.831 +
  80.832 +       var pesc= u1*v1+u2*v2; 
  80.833 +       //var ang=Math.acos(pesc/(mu*mv))*180/Math.PI;
  80.834 +       var ang=Math.acos(pesc/(mu*mv));  
  80.835 +       */ 
  80.836 +        var resx=x2-x1;  
  80.837 +      var resy=y2-y1;   
  80.838 +       var ang=Math.atan2(resy,resx); 
  80.839 +       //alert(ang);
  80.840 +       return ang;
  80.841 +}     
  80.842 +
  80.843 +function dist2p(a,b,c,d) 
  80.844 + {
  80.845 +   with (Math) 
  80.846 +    {
  80.847 +        //var d2p=sqrt(abs(((d-b)*(d-b) )+((c-a)*(c-a))));   //decimas(d2p,3);     return d2p;
  80.848 +          return sqrt(abs((d-b)*(d-b)+ (c-a)*(c-a)));
  80.849 +
  80.850 +    }
  80.851 + }
  80.852 +function pmd2pb(a,b,c,d,q) {
  80.853 +	pmdx= (1-q)*a+c*q;
  80.854 +	pmdy= (1-q)*b+d*q;
  80.855 +//pmdx=decimas(pmdx,3);
  80.856 +//pmdy=decimas(pmdy,3);
  80.857 +var cad=pmdx+','+pmdy;
  80.858 +var sol= new Array();
  80.859 +sol= [cad,pmdx,pmdy];
  80.860 +return sol
  80.861 +
  80.862 +} 
  80.863 +
  80.864 +function getAngle(dx,dy) {
  80.865 +  var angle = Math.atan2(dy, dx);
  80.866 +  //angle *= 180 / Math.PI;
  80.867 +  return angle;  
  80.868 +  
  80.869 +}
  80.870 +
  80.871 +/*
  80.872 +
  80.873 +A = y2-y1
  80.874 +B = x1-x2
  80.875 +C = A*x1+B*y1
  80.876 +Regardless of how the lines are specified, you should be able to generate two different points along the line, and then generate A, B and C. Now, lets say that you have lines, given by the equations:
  80.877 +A1x + B1y = C1
  80.878 +A2x + B2y = C2
  80.879 +To find the point at which the two lines intersect, we simply need to solve the two equations for the two unknowns, x and y.
  80.880 +
  80.881 +    double det = A1*B2 - A2*B1
  80.882 +    if(det == 0){
  80.883 +        //Lines are parallel
  80.884 +    }else{
  80.885 +        double x = (B2*C1 - B1*C2)/det
  80.886 +        double y = (A1*C2 - A2*C1)/det
  80.887 +    }
  80.888 +
  80.889 +
  80.890 +
  80.891 +
  80.892 +*/  
  80.893 +// interseccion 2 rectas
  80.894 +function ntrsccn2rb(a,b,c,d,e,f,g,h){
  80.895 + var solution= new Array();
  80.896 + var i2rx=0;var i2ry=0;
  80.897 + var w= (c-a)*(f-h)-(e-g)*(d-b);
  80.898 + if(w==0){
  80.899 +  n=1;
  80.900 +  i2rx= (1-n)*a+n*c;
  80.901 +  i2ry= (1-n)*b+n*d;
  80.902 +  solution= ['',i2rx,i2ry];  
  80.903 +  //Lines are parallel
  80.904 +  return solution
  80.905 +  //return (i2rx+' '+i2ry);
  80.906 + }
  80.907 + var n = (((e-a)*(f-h))-((e-g)*(f-b)))/w;
  80.908 + i2rx=(1-n)*a+n*c;
  80.909 + i2ry=(1-n)*b+n*d;
  80.910 + //return (i2rx+' '+i2ry);
  80.911 + solution= ['',i2rx,i2ry];
  80.912 + return solution
  80.913 +
  80.914 +}
  80.915 +
  80.916 +//ecuacion implicita de la recta
  80.917 +function ccnmplct(a,b,c,d) { 
  80.918 +  var solution= new Array();
  80.919 +  //a1 a2, b1 b2    vector direccion b1-a1 , b2-a2
  80.920 +  var v1m=c-a;
  80.921 +  var v1n=d-b;
  80.922 +  var c1x= v1m;
  80.923 +  var c1y= v1n;
  80.924 +  // ecuacion continua (x - a) /c -a =  (y - b)/d - b
  80.925 +  //(x - a) * v1n =  (y - b) * v1m 
  80.926 +  //x * v1n - v1n*a = y * v1m - b* v1m
  80.927 +  eia= v1n ;
  80.928 +  eib= - v1m;
  80.929 +  eic=  (b* v1m) - ( v1n*a)
  80.930 +  solution= [eia,eib,eic];
  80.931 +  return solution
  80.932 +}
  80.933 +function GetString(source, start, end){
  80.934 +var st = source.indexOf(start) + start.length;
  80.935 +var en = source.indexOf(end, start);
  80.936 + return source.substring(st, en);//trimAll(source.substring(st, en));
  80.937 +}
  80.938 + 
  80.939 +function deg2rad(angle){
  80.940 +return (angle/180) * Math.PI;
  80.941 +} 
  80.942 + 
  80.943 +String.prototype.trim = function(){ return this.replace(/^\s+|\s+$/g,'') }
  80.944 + 
  80.945 +function objectOffset(obj)
  80.946 +{
  80.947 + var posX=0;
  80.948 + var posY=0;
  80.949 + if(typeof(obj.offsetParent) != "undefined")
  80.950 +  {
  80.951 +   for(var x=0, y=0;obj; obj=obj.offsetParent)
  80.952 +   {
  80.953 +    x += obj.offsetLeft;
  80.954 +    y += obj.offsetTop;
  80.955 +   }
  80.956 +   posX=x;
  80.957 +   posY=y;
  80.958 +  }
  80.959 +   else
  80.960 +  {
  80.961 +   posX=obj.offsetLeft;
  80.962 +   posY=obj.offsetTop;
  80.963 +  }
  80.964 + alert(obj.id+" "+"X: "+posX+" Y: "+posY);
  80.965 +}
  80.966 +
  80.967 +function generateJSON(cssEnv)
  80.968 +{    
  80.969 + //string=string.replace(/;/g,'",') ;
  80.970 + //string=string.replace(/:/g,':"') ; 
  80.971 + //style="fill:#7e0000;fill-opacity:1" 
  80.972 + 
  80.973 + var css=cssEnv.split(';')
  80.974 +
  80.975 +  var strJSON = '{';
  80.976 +  ch = ',';
  80.977 +  for (i = 0 ; i < css.length; i++)
  80.978 +  { 
  80.979 +   var data=css[i].split(':'); 
  80.980 +   if(data[0]!=''){ 
  80.981 +     //if(i == (css.length-2)){   ch = ''; }   
  80.982 +     strJSON += "'"+data[0].trim()+"':'"+data[1].trim()+"'"+",";
  80.983 +   } 
  80.984 +      
  80.985 +   
  80.986 +  } 
  80.987 +  var num=  strJSON.length;
  80.988 +  strJSON=strJSON.substr(0, num-1);
  80.989 +
  80.990 +  strJSON += '}';
  80.991 +
  80.992 +  return strJSON;
  80.993 +} 
  80.994 \ No newline at end of file
    81.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    81.2 +++ b/onlypaths/js/onlypaths_mini.js	Sun Jan 31 12:33:33 2010 -0500
    81.3 @@ -0,0 +1,1188 @@
    81.4 +/*----------------------------------------------------------------------------
    81.5 + ONLYPATHS 0.1 
    81.6 + from
    81.7 + RICHDRAW 1.0
    81.8 + Vector Graphics Drawing Script
    81.9 + -----------------------------------------------------------------------------
   81.10 + Created by Mark Finkle (mark.finkle@gmail.com)
   81.11 + Implementation of simple vector graphic drawing control using SVG or VML.
   81.12 + -----------------------------------------------------------------------------
   81.13 + Copyright (c) 2006 Mark Finkle  
   81.14 +               2008 Antimatter15  
   81.15 +               2008 Josep_ssv
   81.16 +
   81.17 + This program is  free software;  you can redistribute  it and/or  modify it
   81.18 + under the terms of the MIT License.
   81.19 +
   81.20 + Permission  is hereby granted,  free of charge, to  any person  obtaining a
   81.21 + copy of this software and associated documentation files (the "Software"),
   81.22 + to deal in the  Software without restriction,  including without limitation
   81.23 + the  rights to use, copy, modify,  merge, publish, distribute,  sublicense,
   81.24 + and/or  sell copies  of the  Software, and to  permit persons to  whom  the
   81.25 + Software is  furnished  to do  so, subject  to  the  following  conditions:
   81.26 + The above copyright notice and this  permission notice shall be included in
   81.27 + all copies or substantial portions of the Software.
   81.28 +
   81.29 + THE SOFTWARE IS PROVIDED "AS IS",  WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
   81.30 + IMPLIED,  INCLUDING BUT NOT LIMITED TO  THE WARRANTIES  OF MERCHANTABILITY,
   81.31 + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
   81.32 + AUTHORS OR  COPYRIGHT  HOLDERS BE  LIABLE FOR  ANY CLAIM,  DAMAGES OR OTHER
   81.33 + LIABILITY, WHETHER  IN AN  ACTION OF CONTRACT, TORT OR  OTHERWISE,  ARISING
   81.34 + FROM,  OUT OF OR  IN  CONNECTION  WITH  THE  SOFTWARE OR THE  USE OR  OTHER
   81.35 + DEALINGS IN THE SOFTWARE.
   81.36 + -----------------------------------------------------------------------------
   81.37 + Dependencies: (SVG or VML rendering implementations)
   81.38 + History:
   81.39 + 2006-04-05 | Created richdraw.js  
   81.40 + 2008       | Update content and added framework ExtJS    
   81.41 + 2008-06-08 | Rename onlypaths.js   
   81.42 + --------------------------------------------------------------------------*/  
   81.43 + 
   81.44 +var xpArray=new Array();
   81.45 +var ypArray=new Array(); 
   81.46 +var setPoints=new Array(); 
   81.47 +
   81.48 +var inout='';//true;
   81.49 +var typeTransform='';
   81.50 +
   81.51 +var contmove=0;  
   81.52 +var zoomx=0;
   81.53 +var zoomy=0;
   81.54 +var zoomscale=1;
   81.55 +var zoommode='frame'; //more minus frame
   81.56 +
   81.57 +//
   81.58 + 
   81.59 +var data_path_close=true;
   81.60 +var data_text_family='';
   81.61 +var data_text_size=19
   81.62 +var data_text_messaje='';
   81.63 +var data_image_href='';   
   81.64 + 
   81.65 +var numClics=0;  
   81.66 +
   81.67 +////////////
   81.68 +
   81.69 +function RichDrawEditor(elem, renderer) {
   81.70 + this.container = elem;
   81.71 + this.gridX = 10;
   81.72 + this.gridY = 10;
   81.73 + this.mouseDownX = 0;  
   81.74 + this.mouseDownY = 0;    
   81.75 + this.clicX = 0;  
   81.76 + this.clicY = 0;
   81.77 + this.nowDraw=false;
   81.78 + this.mode = '';
   81.79 + this.fillColor = '';  
   81.80 + this.lineColor = '';
   81.81 + this.lineWidth = '';
   81.82 + this.selected = null;   
   81.83 + this.squareSelect = null;  
   81.84 + this.focusin = null;  
   81.85 + this.lineOpac = 1;
   81.86 + this.fillOpac = 1;
   81.87 + this.gridWidth = 1;
   81.88 + this.opac = 1;          
   81.89 + //++ ;
   81.90 + this.text_messaje="";
   81.91 + this.text_size=19;
   81.92 + this.text_family="Arial";
   81.93 + 
   81.94 + this.pathsEdit = false;
   81.95 + this.previusBox=null; 
   81.96 + this.initialPath='';
   81.97 + this.clipboard=null;
   81.98 + this.moveNow=true;
   81.99 + 
  81.100 + this.selectedBounds = { x:0, y:0, width:0, height: 0 };
  81.101 + this.onselect = function() {}
  81.102 + this.onunselect = function() {}
  81.103 + 
  81.104 + this.logtext = "";
  81.105 + 
  81.106 + this.renderer = renderer;
  81.107 + this.renderer.init(this.container);
  81.108 + this.renderer.editor = this;
  81.109 + this.inputxy = [];
  81.110 + this.onInputXY = function(){};
  81.111 +  Ext.get(this.container).on('keypress', function(e){alert(e.keyCode);});
  81.112 +  
  81.113 + Ext.get(this.container).on( "mousedown", this.onMouseDown,this);
  81.114 + Ext.get(this.container).on( "mouseup", this.onMouseUp,this);  
  81.115 + //Ext.get(this.container).on( "mouseout", this.outShape,this);   
  81.116 + //Ext.get(this.container).on( "mouseover", this.overShape,this);
  81.117 + Ext.get(this.container).on( "mousemove", this.onTranslate,this); 
  81.118 + Ext.get(this.container).on( "dblclick", this.onEndLine,this);
  81.119 + Ext.get(this.container).on( "selectstart", this.onSelectStart,this);
  81.120 +  
  81.121 +
  81.122 + //Ext.get(this.container).on("keydown", keypresshandler, this);
  81.123 + //Event.observe(this.container).on( "keydown", keypresshandler,this);        
  81.124 + //Ext.get(this.container).on( "keypress", this.onKeyPress,this); 
  81.125 + //Ext.get(this.container).on('keydown',this.onKeyPress,this); 
  81.126 +  
  81.127 +}
  81.128 +
  81.129 +RichDrawEditor.prototype.log = function(logtext){
  81.130 +  //this.logtext = logtext
  81.131 +  if(document.forms[0].code){
  81.132 +    document.forms[0].code.value = logtext
  81.133 +  }
  81.134 +}
  81.135 +
  81.136 +
  81.137 +RichDrawEditor.prototype.getshapes = function(){
  81.138 + return this.renderer.getshapes();
  81.139 +}
  81.140 +
  81.141 +RichDrawEditor.prototype.info = function(shape){
  81.142 + return this.renderer.info(shape)
  81.143 +}
  81.144 +
  81.145 +
  81.146 +RichDrawEditor.prototype.clearWorkspace = function() {
  81.147 +  this.container.innerHTML = '';
  81.148 +};
  81.149 +
  81.150 +RichDrawEditor.prototype.deleteSelection = function() {
  81.151 + if (this.selected) {
  81.152 +   this.renderer.remove(this.container.ownerDocument.getElementById('tracker'));
  81.153 +   this.renderer.remove(this.selected);
  81.154 +   this.selected = null;
  81.155 + }
  81.156 +};
  81.157 +
  81.158 +RichDrawEditor.prototype.toFront = function(order) {
  81.159 + if (this.selected) { 
  81.160 +   this.renderer.index(this.selected, order);
  81.161 + }
  81.162 +};
  81.163 +
  81.164 +RichDrawEditor.prototype.deleteAll = function() {   
  81.165 + this.renderer.removeAll();
  81.166 +};
  81.167 +
  81.168 +
  81.169 +RichDrawEditor.prototype.select = function(elem) {
  81.170 + if (elem == this.selected){  return;  }
  81.171 + this.selected = elem;
  81.172 + this.renderer.showTracker(this.selected,this.pathsEdit);
  81.173 + this.onselect(this);
  81.174 +};
  81.175 +
  81.176 +
  81.177 +RichDrawEditor.prototype.unselect = function() {
  81.178 + if (this.selected) {
  81.179 +   this.renderer.remove(this.container.ownerDocument.getElementById('tracker'));
  81.180 +   this.selected = null;
  81.181 +   this.onunselect(this);
  81.182 +  }
  81.183 +};
  81.184 +
  81.185 +RichDrawEditor.prototype.getSelectedElement = function() {
  81.186 + return this.selected;
  81.187 +};
  81.188 +
  81.189 +RichDrawEditor.prototype.toCurve = function() {  
  81.190 + this.renderer.tocurve();
  81.191 +}
  81.192 +
  81.193 +RichDrawEditor.prototype.submitShape = function(data) {  
  81.194 + if (this.mode != 'select') {   
  81.195 +   setMode('path', 'Path');  
  81.196 +   this.actualStyle();
  81.197 +   onColorChange();   
  81.198 +   //shape, fillColor, lineColor, fillOpac, lineOpac, lineWidth, left, top, width, height, textMessaje, textSize, textFamily, imageHref, points, transform, parent
  81.199 +   //this.selected = this.renderer.datacreate(this.fillColor, this.lineColor, this.fillOpac, this.lineOpac, this.lineWidth, this.mouseDownX, this.mouseDownY, 1, 1,data);
  81.200 +   this.selected = this.renderer.create(this.mode, this.fillColor, this.lineColor, this.fillOpac, this.lineOpac, this.lineWidth, this.mouseDownX, this.mouseDownY, 1, 1,this.textMessaje,this.textSize,this.textFamily,this.imageHref, data, '', '');
  81.201 +
  81.202 +   this.selected.id = 'shape:' + createUUID();
  81.203 +   Ext.get(this.selected).on("mousedown", this.onHit,this);   
  81.204 +   setMode('select', 'Select'); 
  81.205 + } else {
  81.206 +   this.renderer.transformShape(this.selected,data,null); 
  81.207 +   this.renderer.remove(this.container.ownerDocument.getElementById('tracker')); 
  81.208 +   this.renderer.showTracker(this.selected,this.pathsEdit);
  81.209 + }
  81.210 +};
  81.211 +
  81.212 +RichDrawEditor.prototype.setGrid = function(horizontal, vertical) {
  81.213 + this.gridX = horizontal;
  81.214 + this.gridY = vertical;
  81.215 + this.gridWidth = (vertical+horizontal)/2; //average. ideally, it should be the same
  81.216 +};
  81.217 +
  81.218 +
  81.219 +// ++
  81.220 +RichDrawEditor.prototype.actualStyle = function()
  81.221 +{
  81.222 + this.textMessaje=$('option_text_message').value;
  81.223 + this.textSize=parseFloat($('option_text_size').value);
  81.224 + this.textFamily=$('option_text_family').value;
  81.225 + this.pathClose = $('option_path_close').checked; 
  81.226 + this.imageHref = $('option_image_href').value;
  81.227 +
  81.228 + return;
  81.229 +};
  81.230 +
  81.231 +
  81.232 +RichDrawEditor.prototype.editCommand = function(cmd, value)
  81.233 +{
  81.234 + if (cmd == 'mode') 
  81.235 +  {
  81.236 +   this.mode = value;
  81.237 +  }
  81.238 + else if (this.selected == null) 
  81.239 +  {  
  81.240 +   if (cmd == 'fillcolor') 
  81.241 +    {
  81.242 +     this.fillColor = value;
  81.243 +    }
  81.244 +   else if (cmd == 'linecolor') 
  81.245 +    {
  81.246 +     this.lineColor = value;
  81.247 +    }
  81.248 +   else if (cmd == 'linewidth') 
  81.249 +    {
  81.250 +     this.lineWidth = parseInt(value) + 'px';
  81.251 +    } 
  81.252 +   else if (cmd == 'fillopacity') {
  81.253 +     this.fillOpac = parseInt(value);
  81.254 +    } 
  81.255 +   else if (cmd == 'lineopacity') {
  81.256 +     this.lineOpac = parseInt(value);
  81.257 +    }
  81.258 +  }
  81.259 + else 
  81.260 +  {
  81.261 +    this.renderer.editCommand(this.selected, cmd, value);
  81.262 +  }
  81.263 +}
  81.264 +
  81.265 +
  81.266 +RichDrawEditor.prototype.queryCommand = function(cmd)
  81.267 +{
  81.268 + if (cmd == 'mode') 
  81.269 +  {
  81.270 +   return this.mode;
  81.271 +  }
  81.272 + else if (this.selected == null) 
  81.273 +  {
  81.274 +   if (cmd == 'fillcolor') 
  81.275 +    {
  81.276 +     return this.fillColor;
  81.277 +    }
  81.278 +   else if (cmd == 'linecolor') 
  81.279 +    {
  81.280 +     return this.lineColor;
  81.281 +    }
  81.282 +   else if (cmd == 'linewidth') 
  81.283 +    {
  81.284 +     return this.lineWidth;
  81.285 +    }
  81.286 +   else if (cmd == 'fillopacity') 
  81.287 +    {
  81.288 +     return  this.fillOpac;
  81.289 +    }
  81.290 +   else if (cmd == 'lineopacity') 
  81.291 +    {
  81.292 +     return  this.fillOpac;
  81.293 +    }
  81.294 +  }
  81.295 + else 
  81.296 +  {
  81.297 +   return this.renderer.queryCommand(this.selected, cmd);
  81.298 +  }
  81.299 +}
  81.300 +
  81.301 +
  81.302 +
  81.303 +
  81.304 +RichDrawEditor.prototype.onSelectStart = function(event) {
  81.305 +  return false
  81.306 +}
  81.307 +
  81.308 +
  81.309 +/////////////////////////////
  81.310 +
  81.311 +
  81.312 + /*
  81.313 +
  81.314 +Event.observe(window, 'load', function() {
  81.315 +Event.observe(document, 'keypress', function(e){
  81.316 +var code;
  81.317 +if (!e) var e = window.event;
  81.318 +if (e.keyCode) code = e.keyCode;
  81.319 +else if (e.which) code = e.which;
  81.320 +var character = String.fromCharCode(code);
  81.321 +alert('Character was ' + character);
  81.322 +});
  81.323 +});
  81.324 +*/
  81.325 +
  81.326 +////////////////////////
  81.327 +/*RichDrawEditor.prototype.outShape = function(event) {  
  81.328 +  if(typeTransform=='Translate')
  81.329 +   {
  81.330 +    typeTransform='';
  81.331 +   } 
  81.332 +} 
  81.333 +RichDrawEditor.prototype.overShape = function(event) {  
  81.334 +   typeTransform='Translate';
  81.335 +  
  81.336 +} 
  81.337 +*/
  81.338 +RichDrawEditor.prototype.onMouseDown = function(event) {  
  81.339 + 
  81.340 + clockdata();
  81.341 + 
  81.342 + //MODE NO SELECT
  81.343 + if (this.mode != 'select') 
  81.344 +  {      
  81.345 +   var modeUsed=0;     
  81.346 +   if (this.mode == 'zoom') 
  81.347 +    {     
  81.348 +     var offset = Ext.get(this.container).getXY();
  81.349 +     var snappedX = Math.round((event.getXY()[0] - offset[0]) / this.gridX) * this.gridX;
  81.350 +     var snappedY = Math.round((event.getXY()[1] - offset[1]) / this.gridY) * this.gridY;
  81.351 +     //snappedX*=proporDiagonal;
  81.352 +     //snappedY*=proporDiagonal; 
  81.353 +     
  81.354 +     //snappedX+=marginx;
  81.355 +     //snappedY+=marginy;
  81.356 +     var width=this.gridWidth;
  81.357 +     contmove=0;
  81.358 +     this.setGrid(width, width);  
  81.359 +     this.unselect(); 
  81.360 +     xpArray=new Array();
  81.361 +     ypArray=new Array();
  81.362 +     this.mouseDownX = zoomx+snappedX;
  81.363 +     this.mouseDownY = zoomy+snappedY;   
  81.364 +     xpArray.push(this.mouseDownX);
  81.365 +     ypArray.push(this.mouseDownY);
  81.366 +     if(zoommode=='window'){
  81.367 +         this.squareSelect= this.renderer.create('rect', 'none', "#000000", 1, 1, 1, this.mouseDownX, this.mouseDownY, 1, 1,this.textMessaje,this.textSize,this.textFamily,this.imageHref,'M0,0 1,1', '', '');
  81.368 +         this.squareSelect.id = 'squareSelectID';   
  81.369 +         Ext.get(this.squareSelect).on( "mousedown", this.onHit,this);  
  81.370 +         Ext.get(this.squareSelect).on( "mousemove", this.onDraw,this);
  81.371 +
  81.372 +     }else{
  81.373 +        this.renderer.zoom(this.mouseDownX, this.mouseDownY);  
  81.374 +      } 
  81.375 +     modeUsed=1; 
  81.376 +    } //end zoom     
  81.377 +   if (this.mode == 'controlpath') 
  81.378 +    {
  81.379 +     this.actualStyle(); 
  81.380 +     onColorChange();         
  81.381 +     if(numClics<=0)
  81.382 +      {     
  81.383 +       this.nowDraw=true;
  81.384 +       setPoints=new Array();    
  81.385 +       var offset = Ext.get(this.container).getXY();
  81.386 +       var snappedX = Math.round((event.getXY()[0] - offset[0]) / this.gridX) * this.gridX;
  81.387 +       var snappedY = Math.round((event.getXY()[1] - offset[1]) / this.gridY) * this.gridY;
  81.388 +       //snappedX*=proporDiagonal;
  81.389 +       //snappedY*=proporDiagonal;
  81.390 +       //snappedX+=marginx;
  81.391 +       //snappedY+=marginy;
  81.392 +       var width=this.gridWidth;  
  81.393 +       contmove=0;
  81.394 +       this.setGrid(width, width);  
  81.395 +       this.unselect(); 
  81.396 +       xpArray=new Array();
  81.397 +       ypArray=new Array();
  81.398 +       this.mouseDownX = zoomx+snappedX;
  81.399 +       this.mouseDownY = zoomy+snappedY;   
  81.400 +       xpArray.push(this.mouseDownX);
  81.401 +       ypArray.push(this.mouseDownY);
  81.402 +       setPoints.push(this.mouseDownX+','+this.mouseDownY); 
  81.403 +       // ++ ;
  81.404 +        onColorChange();
  81.405 +        this.actualStyle();                                                                                                                                                  
  81.406 +       // ++ ;                       
  81.407 +       //shape, fillColor, lineColor, fillOpac, lineOpac, lineWidth, left, top, width, height, textMessaje, textSize, textFamily, imageHref, points, transform, parent
  81.408 +       //this.selected = this.renderer.create(this.mode, this.fillColor, this.lineColor, this.fillOpac, this.lineOpac, this.lineWidth, this.mouseDownX, this.mouseDownY, 1, 1,this.textMessaje,this.textSize,this.textFamily,this.imageHref, '');
  81.409 +
  81.410 +       this.selected = this.renderer.create(this.mode, this.fillColor, this.lineColor, this.fillOpac, this.lineOpac, this.lineWidth, this.mouseDownX, this.mouseDownY, 1, 1,this.textMessaje,this.textSize,this.textFamily,this.imageHref, 'M0,0 1,1', '', '');
  81.411 +              
  81.412 +       this.selected.id = 'shape:' + createUUID(); 
  81.413 +       Ext.get(this.selected).on( "mousedown", this.onHit,this);  
  81.414 +       this.log(this.selected.id);   
  81.415 +       
  81.416 +       Ext.get(this.selected).on( "dblclick", this.onEndLine,this);  
  81.417 +       Ext.get(this.container).on( "mousemove", this.onDraw,this); 
  81.418 +       numClics++;
  81.419 +     }
  81.420 +      else
  81.421 +     {  
  81.422 +       var coord=this.inputxy;
  81.423 +       var X=parseFloat(coord[0]);
  81.424 +       var Y=parseFloat(coord[1]); 
  81.425 +       setPoints.push(X+','+Y);
  81.426 +       this.renderer.clic(this.selected);
  81.427 +       numClics++;
  81.428 +     }
  81.429 +     modeUsed=1; 
  81.430 +    } //end mode controlpath
  81.431 +   if (modeUsed == 0) 
  81.432 +    {   
  81.433 +     var offset = Ext.get(this.container).getXY();
  81.434 +     var snappedX = Math.round((event.getXY()[0] - offset[0]) / this.gridX) * this.gridX;
  81.435 +     var snappedY = Math.round((event.getXY()[1] - offset[1]) / this.gridY) * this.gridY;
  81.436 +     //snappedX*=proporDiagonal;
  81.437 +     //snappedY*=proporDiagonal;
  81.438 +       //snappedX+=marginx;
  81.439 +       //snappedY+=marginy;
  81.440 +
  81.441 +     var width=this.gridWidth;
  81.442 +     contmove=0; 
  81.443 +     this.setGrid(width, width);  
  81.444 +     this.unselect(); 
  81.445 +     xpArray=new Array();
  81.446 +     ypArray=new Array();
  81.447 +     this.mouseDownX = zoomx+snappedX;
  81.448 +     this.mouseDownY = zoomy+snappedY;   
  81.449 +     xpArray.push(this.mouseDownX);
  81.450 +     ypArray.push(this.mouseDownY);
  81.451 +     this.unselect();   
  81.452 +      onColorChange();
  81.453 +      this.actualStyle(); 
  81.454 +     //this.selected = this.renderer.create(this.mode, this.fillColor, this.lineColor, this.fillOpac, this.lineOpac, this.lineWidth, this.mouseDownX, this.mouseDownY, 1, 1,this.textMessaje,this.textSize,this.textFamily,this.imageHref,'');
  81.455 +     
  81.456 +     this.selected = this.renderer.create(this.mode, this.fillColor, this.lineColor, this.fillOpac, this.lineOpac, this.lineWidth, this.mouseDownX, this.mouseDownY, 1, 1,this.textMessaje,this.textSize,this.textFamily,this.imageHref,'M0,0 1,1', '', '');
  81.457 +     
  81.458 +     this.selected.id = 'shape:' + createUUID();   
  81.459 +     //-- this.selected.id = this.mode+':' + createUUID();
  81.460 +     Ext.get(this.selected).on( "mousedown", this.onHit,this);  
  81.461 +     Ext.get(this.container).on( "mousemove", this.onDraw,this);
  81.462 +     //Ext.get(this.container).on( "mouseover", this.overShape,this);   
  81.463 +     //Ext.get(this.container).on( "mouseout", this.outShape,this); 
  81.464 +    }     
  81.465 +  }
  81.466 +   else   //----- MODE SELECT
  81.467 +  {                                            
  81.468 +   
  81.469 +   var offset = Ext.get(this.container).getXY();
  81.470 +   var snappedX = Math.round((event.getXY()[0] - offset[0]) / this.gridX) * this.gridX;
  81.471 +   var snappedY = Math.round((event.getXY()[1] - offset[1]) / this.gridY) * this.gridY;
  81.472 +
  81.473 +   //snappedX*=proporDiagonal;
  81.474 +   //snappedY*=proporDiagonal;
  81.475 +   //snappedX+=marginx;
  81.476 +   //snappedY+=marginy;
  81.477 +
  81.478 +   // if ((this.mouseDownX != snappedX && this.mouseDownY != snappedY) || typeTransform=='')
  81.479 +   if (this.mouseDownX != snappedX || this.mouseDownY != snappedY)
  81.480 +    { 
  81.481 +      if(this.selected!=null && typeTransform=='Translate' )
  81.482 +       {
  81.483 +        
  81.484 +        Ext.get(this.container).un("mousemove", this.onDrag); 
  81.485 +        this.unselect();
  81.486 +       }
  81.487 +      //typeTransform='';
  81.488 +    }     
  81.489 +    
  81.490 +  // if (typeTransform=='' && (this.mouseDownX != snappedX || this.mouseDownY != snappedY) )    
  81.491 +     // { 
  81.492 +      //if(typeTransform=='Rotate' || typeTransform=='Translate'){  }else{  
  81.493 +        
  81.494 +         //this.unselect();           
  81.495 +      // }
  81.496 +   // } 
  81.497 +     //else
  81.498 +    //{   
  81.499 +     // if(this.nowDraw==true){ alert('Double click, please'); this.onEndLineListener(event); return true;}
  81.500 +     //Ext.get(this.container).on( "mouseout", this.onRotate,this);  
  81.501 +          
  81.502 +         
  81.503 +     // if (this.mouseDownX != snappedX || this.mouseDownY != snappedY)
  81.504 +     //{  
  81.505 +     if(typeTransform=='Translate')
  81.506 +      {  
  81.507 +       inout='move';//true;   
  81.508 +       //Event.observe(this.selected, "mousedown", this.onHit,this);  
  81.509 +       //Ext.get(this.container).on( "mousemove", this.onDrag,this);  
  81.510 +       this.renderer.remove(this.container.ownerDocument.getElementById('tracker')); 
  81.511 +
  81.512 +      }
  81.513 +     if(typeTransform=='Scale'  || typeTransform=='Rotate') 
  81.514 +      {
  81.515 +       inout='rotate_escale';//false  
  81.516 +       Ext.get(this.container).on( "mousemove", this.onDrag,this);         
  81.517 +       Ext.get(this.selected).on( "mousedown", this.onHit,this);  
  81.518 +       this.renderer.remove(this.container.ownerDocument.getElementById('tracker')); 
  81.519 +
  81.520 +       //Ext.get(this.container).on( "mouseover", this.onTranslate,this);  
  81.521 +       //Ext.get(this.container).on( "mouseout", this.onRotate,this); 
  81.522 +       //this.unselect();   
  81.523 +      }  
  81.524 +    //} //end typeTransform==''
  81.525 +  } //end mode select
  81.526 + return false;
  81.527 +};
  81.528 +
  81.529 +
  81.530 +RichDrawEditor.prototype.onMouseUp = function(event) 
  81.531 +{
  81.532 + //Ext.get(this.selected).un("mousemove",this.onDrag)
  81.533 + 
  81.534 +   //MODE NO SELECT
  81.535 + if (this.mode != 'select') 
  81.536 +  {
  81.537 +   //this.renderer.restruct(this.selected);
  81.538 +   if(this.mode == 'controlpath') 
  81.539 +    {
  81.540 +     //Event.observe(this.selected, "mousemove", this.onClic,this);  
  81.541 +     //this.renderer.info(this.selected);
  81.542 +    }
  81.543 +     else
  81.544 +    {   
  81.545 +     //ZOOM    
  81.546 +      if (this.mode == 'zoom') 
  81.547 +       {
  81.548 +        var offset = Ext.get(this.container).getXY()
  81.549 +        var snappedX = Math.round(zoomx+((event.getXY()[0] - offset[0]) / this.gridX) * this.gridX);
  81.550 +        var snappedY = Math.round(zoomy+((event.getXY()[1] - offset[1]) / this.gridY) * this.gridY);
  81.551 +       
  81.552 +        //snappedX*=proporDiagonal;
  81.553 +        //snappedY*=proporDiagonal;
  81.554 +       //snappedX+=marginx;
  81.555 +       //snappedY+=marginy;
  81.556 +        this.renderer.zoom(snappedX, snappedY); 
  81.557 +        this.renderer.remove(this.container.ownerDocument.getElementById('squareSelectID'));
  81.558 +        Ext.get(this.container).un("mousemove", this.onDraw);  
  81.559 +        this.squareSelect = null; 
  81.560 +        this.selected = null;   
  81.561 +       }else{
  81.562 +        Ext.get(this.container).un("mousemove", this.onDraw);  
  81.563 +        this.selected = null;   
  81.564 +       } 
  81.565 +    }
  81.566 +  } 
  81.567 +   else //MODE SELECT
  81.568 +  { 
  81.569 +   Ext.get(this.container).un("mousemove", this.onDraw);  //or drag
  81.570 +   //Ext.get(this.container).un("mousemove", this.onDrag);  
  81.571 +   Ext.get(this.container).un("mousemove", this.onDrag);  
  81.572 +
  81.573 +   moveNow=false;   
  81.574 +   contmove=0; 
  81.575 +   // if(inout=='move' || inout=='rotate_scale' ){
  81.576 +   if(typeTransform=="Rotate" || typeTransform=="Scale" ) 
  81.577 +    {  
  81.578 +      //this.renderer.remove(this.container.ownerDocument.getElementById('tracker'));
  81.579 +      this.renderer.showTracker(this.selected,this.pathsEdit); 
  81.580 +   
  81.581 +     //inout='move';//true; 
  81.582 +     //this.renderer.restruct(this.selected);
  81.583 +     typeTransform=='';
  81.584 +    } 
  81.585 +   if(typeTransform=="Translate" ) 
  81.586 +    { 
  81.587 +              
  81.588 +     this.renderer.showTracker(this.selected,this.pathsEdit); 
  81.589 +     //Ext.get(this.container).un("mousemove", this.renderer.move);    
  81.590 +     //Ext.get(this.container).un("mousemove", this.onDrag);  
  81.591 +     typeTransform=='';   
  81.592 +     //this.renderer.restruct(this.selected); 
  81.593 +     //this.unselect();
  81.594 +     contmove=0; 
  81.595 +     
  81.596 +    }
  81.597 +   if(inout=='multiSelect')
  81.598 +    {
  81.599 +      
  81.600 +     //inout='move';//true;      
  81.601 +    } 
  81.602 +    
  81.603 +   typeTransform==''; 
  81.604 +  }  
  81.605 +   //Event.stopObserving(this.container, "mousemove", this.onDraw,this);  
  81.606 +};
  81.607 +
  81.608 +
  81.609 +RichDrawEditor.prototype.onDrag = function(event) {  
  81.610 +
  81.611 +  moveNow=true; 
  81.612 +  var offset = Ext.get(this.container).getXY();
  81.613 +  var snappedX = Math.round((event.getXY()[0] - offset[0]) / this.gridX) * this.gridX;
  81.614 +  var snappedY = Math.round((event.getXY()[1] - offset[1]) / this.gridY) * this.gridY;
  81.615 +  //snappedX*=proporDiagonal;
  81.616 +  //snappedY*=proporDiagonal;
  81.617 +       //snappedX+=marginx;
  81.618 +       //snappedY+=marginy;
  81.619 +  
  81.620 +  var deltaX = snappedX - this.mouseDownX;
  81.621 +  var deltaY = snappedY - this.mouseDownY; 
  81.622 +   
  81.623 +  var modeUsed=0;              
  81.624 +  if(this.mode == 'zoom') 
  81.625 +   {     
  81.626 +        Ext.get(this.container).getXY();
  81.627 +        this.renderer.resize(this.squareSelect, this.clicX,this.clicY, zoomx+(this.selectedBounds.x + deltaX), zoomy+(this.selectedBounds.y +deltaY));
  81.628 +       //this.renderer.zoom(this.selectedBounds.x + deltaX, this.selectedBounds.y + deltaY); 
  81.629 +       //this.renderer.zoom(this.mouseDownX, this.mouseDownY);  
  81.630 + 
  81.631 +          modeUsed=1; 
  81.632 +   }
  81.633 +  if(this.mode == 'controlpath') 
  81.634 +     {  
  81.635 +      modeUsed=1; 
  81.636 +     }
  81.637 +  if(modeUsed==0)
  81.638 +   {        
  81.639 +           if(inout=='multiSelect'){ 
  81.640 +               this.renderer.showMultiSelect(this.mouseDownX, this.mouseDownY);  
  81.641 +           }
  81.642 +       
  81.643 +       
  81.644 +           if(typeTransform=="Translate")
  81.645 +            {  
  81.646 +            Ext.get(this.container).getXY();  
  81.647 +              
  81.648 + 
  81.649 +           //var coord=this.inputxy;
  81.650 +	   //var moveX=parseFloat(coord[0]);
  81.651 +	   //var moveY=parseFloat(coord[1]); 
  81.652 +               this.log(this.mouseDownX+' '+event.getXY()[0]+' '+ this.selectedBounds.x +'contmove'+contmove); 
  81.653 +               this.renderer.move(this.selected, zoomx+(this.selectedBounds.x + deltaX), zoomy+(this.selectedBounds.y +deltaY),this.clicX,this.clicY);
  81.654 +                //this.renderer.showTracker(this.selected,this.pathsEdit); 
  81.655 +                 
  81.656 +            }  
  81.657 +          
  81.658 +                      
  81.659 +               if(typeTransform=="Rotate") 
  81.660 +                 { 
  81.661 +                   this.renderer.rotateShape(this.selected, this.previusBox,deltaX, deltaY);
  81.662 +                   //this.renderer.showTracker(this.selected,this.pathsEdit);
  81.663 +                 }
  81.664 +
  81.665 +              	//if(typeTransform=="Scale") {this.renderer.scale(this.selected, this.previusBox, deltaX, deltaY); }
  81.666 +          	if(typeTransform=="Scale") 
  81.667 +          	 {
  81.668 +          	      this.renderer.scaleShape(this.selected, this.previusBox, this.selectedBounds.x + deltaX, this.selectedBounds.y + deltaY); 
  81.669 +          	      //this.renderer.showTracker(this.selected,this.pathsEdit);
  81.670 +          	 }
  81.671 +          	//if(typeTransform=="Scale") {this.renderer.scale(this.selected, this.previusBox, this.selectedBounds.width + deltaX, this.selectedBounds.height + deltaY); }
  81.672 +          	
  81.673 +          	//RichDrawEditor.prototype.onTransform(event);
  81.674 +          	
  81.675 +             
  81.676 +           //} 
  81.677 +        
  81.678 +    }   
  81.679 + // Update selection tracker
  81.680 + //this.renderer.remove(this.container.ownerDocument.getElementById('tracker'));
  81.681 +  
  81.682 +  //this.renderer.remove(this.container.ownerDocument.getElementById('tracker'));
  81.683 +
  81.684 +// hide_tracker();
  81.685 +};
  81.686 +
  81.687 +
  81.688 +RichDrawEditor.prototype.onResize = function(event) {
  81.689 +  var offset = Ext.get(this.container).getXY();
  81.690 +  var snappedX = Math.round((event.getXY()[0] - offset[0]) / this.gridX) * this.gridX;
  81.691 +  var snappedY = Math.round((event.getXY()[1] - offset[1]) / this.gridY) * this.gridY;
  81.692 +  //snappedX*=proporDiagonal;
  81.693 +  //snappedY*=proporDiagonal;
  81.694 +       //snappedX+=marginx;
  81.695 +       //snappedY+=marginy;
  81.696 +  var deltaX = snappedX - this.mouseDownX;
  81.697 +  var deltaY = snappedY - this.mouseDownY;
  81.698 +
  81.699 +  this.renderer.track(handle, deltaX, deltaY);
  81.700 +
  81.701 +  // Update selection tracker
  81.702 +  show_tracker();
  81.703 +//  hide_tracker();
  81.704 +};
  81.705 +
  81.706 +
  81.707 +RichDrawEditor.prototype.onDraw = function(event) {
  81.708 +  if (this.selected == null)
  81.709 +   {  
  81.710 +       if(this.squareSelect != null)
  81.711 +       {
  81.712 +        var offset = Ext.get(this.container).getXY()
  81.713 +        var snappedX = Math.round(zoomx+((event.getXY()[0] - offset[0]) / this.gridX) * this.gridX);
  81.714 +        var snappedY = Math.round(zoomy+((event.getXY()[1] - offset[1]) / this.gridY) * this.gridY);
  81.715 +       
  81.716 +        //snappedX*=proporDiagonal;
  81.717 +        //snappedY*=proporDiagonal;
  81.718 +       //snappedX+=marginx;
  81.719 +       //snappedY+=marginy;
  81.720 +        
  81.721 +        this.renderer.resize(this.squareSelect, this.mouseDownX, this.mouseDownY, snappedX, snappedY);
  81.722 +
  81.723 +       }else{
  81.724 +        return;
  81.725 +       }
  81.726 +   }else{
  81.727 +        var offset = Ext.get(this.container).getXY()
  81.728 +        var snappedX = Math.round(zoomx+((event.getXY()[0] - offset[0]) / this.gridX) * this.gridX);
  81.729 +        var snappedY = Math.round(zoomy+((event.getXY()[1] - offset[1]) / this.gridY) * this.gridY);
  81.730 +       
  81.731 +        //snappedX*=proporDiagonal;
  81.732 +        //snappedY*=proporDiagonal; 
  81.733 +       //snappedX+=marginx;
  81.734 +       //snappedY+=marginy;
  81.735 +        
  81.736 +        this.renderer.resize(this.selected, this.mouseDownX, this.mouseDownY, snappedX, snappedY);
  81.737 +  }
  81.738 +};
  81.739 +
  81.740 +RichDrawEditor.prototype.onRotate = function(event) {
  81.741 +  if (this.selected == null)
  81.742 +   {
  81.743 +     
  81.744 +   }else{      
  81.745 +         //   this.renderer.remove(this.container.ownerDocument.getElementById('tracker')); 
  81.746 +        //document.getElementById('richdraw').style.cursor='e-resize';
  81.747 +         
  81.748 +         //alert('chao');
  81.749 +         //inout=false; 
  81.750 +          
  81.751 +        //return;
  81.752 +   }
  81.753 +};
  81.754 +
  81.755 +RichDrawEditor.prototype.onScale = function(event) {
  81.756 +  if (this.selected == null)
  81.757 +   {
  81.758 +     
  81.759 +   }else{      
  81.760 +         //document.getElementById('richdraw').style.cursor='e-resize';
  81.761 +         //alert('chao');
  81.762 +         //inout=false; 
  81.763 +          
  81.764 +        //return;
  81.765 +   }
  81.766 +};
  81.767 +
  81.768 +RichDrawEditor.prototype.onTransform = function(event) {
  81.769 +  if (this.selected == null)
  81.770 +   {
  81.771 +     
  81.772 +   }else{  
  81.773 +     	//if(typeTransform=="rotate") {this.renderer.rotate(this.selected, this.selectedBounds.x + deltaX, this.selectedBounds.y + deltaY);}
  81.774 +  	//if(typeTransform=="scale") {this.renderer.scale(this.selected, this.selectedBounds.x + deltaX, this.selectedBounds.y + deltaY); }
  81.775 +  
  81.776 +  }
  81.777 +};
  81.778 +
  81.779 +RichDrawEditor.prototype.onTranslate = function(event) {
  81.780 +  if (this.selected == null)
  81.781 +   {
  81.782 +    
  81.783 +   }else{  
  81.784 +      // document.getElementById('richdraw').style.cursor='move';
  81.785 +        //alert('hello');
  81.786 +         //inout=true;    
  81.787 +      
  81.788 +        //return;
  81.789 +   } 
  81.790 +   var offset = Ext.get(this.container).getXY()
  81.791 +          // var offset = Ext.get(this.container).getXY();
  81.792 +        var x = zoomx+Math.round(event.getXY()[0] - offset[0]);
  81.793 +        var y = zoomy+Math.round(event.getXY()[1] - offset[1]);
  81.794 +
  81.795 +   //var x= parseFloat(event.getXY()[0]); 
  81.796 +   //var y= parseFloat(event.getXY()[1]); 
  81.797 +   
  81.798 +
  81.799 +   this.inputxy = [x,y]
  81.800 +   this.onInputXY(x,y); 
  81.801 +   
  81.802 +   //Ext.get(this.container).getXY(); ;//
  81.803 +};                                       
  81.804 +
  81.805 +
  81.806 +RichDrawEditor.prototype.onHit = function(event) {
  81.807 +//console.log("AAH HIT!!!!")
  81.808 + if(this.mode == 'select') 
  81.809 +  {   
  81.810 +    
  81.811 +    //event.cancelBubble =false;
  81.812 +    // We've handled this event.  Don't let anybody else see it.  
  81.813 +   if (event.stopPropagation) event.stopPropagation(); // DOM Level 2
  81.814 +   else event.cancelBubble = true; // IE
  81.815 +   // Now prevent any default action.
  81.816 +   if (event.preventDefault) event.preventDefault(); // DOM Level 2
  81.817 +   else event.returnValue = false; // IE      
  81.818 +   
  81.819 +   if(inout=='multiSelect')
  81.820 +    {   
  81.821 +      //Ext.get(this.container).on( "mousemove", this.onDrag,this);   
  81.822 +      //Ext.get(this.container).on( "mouseup", this.onMouseUp,this);   
  81.823 + 
  81.824 +    }
  81.825 +     else
  81.826 +    { 
  81.827 +    
  81.828 +      Ext.get(this.container).un("mousemove", this.onDrag); 
  81.829 +      //this.unselect();    
  81.830 +     typeTransform="Translate";
  81.831 +     
  81.832 +    /* //this.previusBox=this.selected;      
  81.833 +     this.select(Event.element(event));
  81.834 +     this.selectedBounds = this.renderer.bounds(this.selected);
  81.835 +     //document.forms[0].code.value=shape(c,this.selected);
  81.836 +     var offset = Ext.get(this.container).getXY();
  81.837 +     this.mouseDownX = Math.round((event.getXY()[0] - offset[0]) / this.gridX) * this.gridX;
  81.838 +     this.mouseDownY = Math.round((event.getXY()[1] - offset[1]) / this.gridY) * this.gridY;
  81.839 +     this.renderer.info(this.selected);
  81.840 +     Ext.get(this.container).on( "mousemove", this.onDrag,this);    
  81.841 +     //Ext.get(this.container).on( "mouseover", noselect);  
  81.842 +     Ext.get(this.container).on( "mouseout", this.onMouseUp,this); 
  81.843 +     //Ext.get(this.container).on( "mouseup", this.onMouseUp,this); 
  81.844 +     //typeTransform=="Translate";  
  81.845 +     //if(typeTransform=="Rotate") {this.renderer.rotate(this.selected, this.previusBox,2, 2);}
  81.846 +    */
  81.847 +        //var width = parseFloat(widths.options[widths.selectedIndex].value);   
  81.848 +       
  81.849 +     contmove=0;
  81.850 +     //this.setGrid(this.lineWidth, width);  
  81.851 +     var width=this.gridWidth;
  81.852 +         
  81.853 +     this.setGrid(width, width);  
  81.854 +     
  81.855 +    this.select(event.getTarget()); 
  81.856 +    this.previusBox=this.selected;     
  81.857 +    
  81.858 +    //++
  81.859 +    this.renderer.getProperties(this.selected);
  81.860 +    var offset = Ext.get(this.container).getXY(); 
  81.861 + 
  81.862 +    this.selectedBounds = this.renderer.bounds(this.selected);
  81.863 +    //document.forms[0].code.value=shape(c,this.selected);
  81.864 +    //var snappedX = Math.round((event.getXY()[0] - offset[0]));
  81.865 +    //var snappedY = Math.round((event.getXY()[1] - offset[1]));
  81.866 +
  81.867 +           //offset[0]-=marginx;
  81.868 +           //offset[1]-=marginy;    
  81.869 +   var x =offset[0];//parseInt(this.selected.offsetLeft);//this.selectedBounds.x-event.getXY()[0];//this.inputxy[0]+ offset[0];//Math.round(event.getXY()[0] - offset[0]);
  81.870 +   var y =offset[1];//$(this.selected.id).offsetTop;;//parseInt(this.selected.offsetTop);//this.selectedBounds.y-event.getXY()[1];//this.inputxy[1]+ offset[1];//+Math.round(event.getXY()[1] - offset[1]);
  81.871 +   //alert(x+' '+y)    
  81.872 +    this.mouseDownX =x;// offset[0];//zoomx+snappedX;
  81.873 +    this.mouseDownY =y;//  offset[1];//zoomy+snappedY;   
  81.874 +    //objectOffset(this.selected)
  81.875 +   // this.mouseDownX = Math.round(zoomx+((event.getXY()[0] - offset[0]) / this.gridX) * this.gridX);
  81.876 +    //this.mouseDownY = Math.round(zoomy+((event.getXY()[1] - offset[1]) / this.gridY) * this.gridY);
  81.877 +    this.log(this.gridX);
  81.878 +    this.renderer.info(this.selected); 
  81.879 +    if(this.container.ownerDocument.getElementById('tracker'))
  81.880 +    {
  81.881 +     this.renderer.remove(this.container.ownerDocument.getElementById('tracker')); 
  81.882 +    } 
  81.883 +    Ext.get(this.container).on( "mousemove", this.onDrag,this);   
  81.884 +
  81.885 +    
  81.886 +    }
  81.887 +  }
  81.888 +   else
  81.889 +  {
  81.890 +    //this.selectedBounds = this.renderer.bounds(this.selected);
  81.891 +    var offset = Ext.get(this.container).getXY(); 
  81.892 +    
  81.893 +    this.mouseDownX = Math.round(zoomx+((event.getXY()[0] - offset[0]) / this.gridX) * this.gridX);
  81.894 +    this.mouseDownY = Math.round(zoomy+((event.getXY()[1] - offset[1]) / this.gridY) * this.gridY);
  81.895 +    Ext.get(this.container).on( "mousemove", this.onDrag,this);   
  81.896 +    
  81.897 +  }
  81.898 +};  
  81.899 +
  81.900 +
  81.901 +RichDrawEditor.prototype.onClic = function(event) {
  81.902 + if(this.mode == 'controlpath') 
  81.903 +  { 
  81.904 +     
  81.905 +    //Ext.get(this.container).on( "mouseout", this.onMouseUp,this);     
  81.906 +  
  81.907 +    //Ext.get(this.container).on( "mousemove", this.onDrag,this);   
  81.908 +
  81.909 +     //Ext.get(this.container).on( "mouseout", this.onDrag,this); 
  81.910 +  }
  81.911 +   else
  81.912 +  {
  81.913 +       
  81.914 +  }
  81.915 +};   
  81.916 +
  81.917 +RichDrawEditor.prototype.reflect = function(HorV) {
  81.918 + this.selected=this.renderer.reflect(HorV);
  81.919 + this.selected.id = 'shape:' + createUUID();
  81.920 + Ext.get(this.selected).on( "mousedown", this.onHit,this);  
  81.921 +}
  81.922 +
  81.923 +RichDrawEditor.prototype.onEndLine = function(event) {   
  81.924 +  
  81.925 + if(this.mode == 'controlpath') 
  81.926 +  {      // alert('hello');   
  81.927 +        numClics=0;
  81.928 +         //this.selected = null; 
  81.929 +
  81.930 +         //Event.stopObserving(this.container, "mousemove", this.onDraw,this); 
  81.931 +            
  81.932 +            
  81.933 +
  81.934 +            //Event.observe(this.selected, "mousedown", this.onHit,this);  
  81.935 +            //Ext.get(this.container).on( "mousemove", this.onDraw,this);  
  81.936 +          
  81.937 +            //Event.stopObserving(this.selected, "dblclick", this.onEndLine,this);
  81.938 +            //Event.stopObserving(this.container, "mousemove", this.onDraw,this);  
  81.939 + 
  81.940 +          this.selected = null;   
  81.941 +
  81.942 +
  81.943 +         //this.unselect(); 
  81.944 +         
  81.945 +  }
  81.946 +   else
  81.947 +  {
  81.948 +  this.nowDraw=false;     
  81.949 +  }
  81.950 +};
  81.951 +function noselect(){
  81.952 +    //typeTransform="";    
  81.953 +}
  81.954 +
  81.955 +function createUUID()
  81.956 +{
  81.957 +  return [4, 2, 2, 2, 6].map(function(length) {
  81.958 +    var uuidpart = "";
  81.959 +    for (var i=0; i<length; i++) {
  81.960 +      var uuidchar = parseInt((Math.random() * 256)).toString(16);
  81.961 +      if (uuidchar.length == 1)
  81.962 +        uuidchar = "0" + uuidchar;
  81.963 +      uuidpart += uuidchar;
  81.964 +    }
  81.965 +    return uuidpart;
  81.966 +  }).join('-');
  81.967 +}
  81.968 +
  81.969 +
  81.970 +//----------------------------------------------------------------------------
  81.971 +// AbstractRenderer
  81.972 +//
  81.973 +// Abstract base class defining the drawing API. Can not be used directly.
  81.974 +//----------------------------------------------------------------------------
  81.975 +
  81.976 +function AbstractRenderer() {
  81.977 +
  81.978 +};
  81.979 +
  81.980 +AbstractRenderer.prototype.init = function(elem) {};
  81.981 +AbstractRenderer.prototype.bounds = function(shape) { return { x:0, y:0, width:0, height: 0 }; };
  81.982 +AbstractRenderer.prototype.create = function(shape, fillColor, lineColor, lineWidth, left, top, width, height, textMessaje, textSize, textFamily, imageHref, transform) {};
  81.983 +AbstractRenderer.prototype.datacreate = function(fillColor, lineColor, lineWidth, fillOpac, strokeOpac, left, top, width, height,data) {};
  81.984 +AbstractRenderer.prototype.index = function(shape, order) {};
  81.985 +AbstractRenderer.prototype.remove = function(shape) {}; 
  81.986 +AbstractRenderer.prototype.copy = function(shape) {};
  81.987 +AbstractRenderer.prototype.paste = function(left,top) {};
  81.988 +AbstractRenderer.prototype.duplicate = function(shape) {};
  81.989 +AbstractRenderer.prototype.move = function(shape, left, top) {};  
  81.990 +AbstractRenderer.prototype.endmove = function(shape) {};
  81.991 +AbstractRenderer.prototype.transform= function(shape, left, top) {};
  81.992 +AbstractRenderer.prototype.scale = function(shape, left, top) {};
  81.993 +AbstractRenderer.prototype.rotate = function(shape, left, top) {};
  81.994 +AbstractRenderer.prototype.track = function(shape) {}; 
  81.995 +AbstractRenderer.prototype.restruct = function(shape) {};
  81.996 +AbstractRenderer.prototype.resize = function(shape, fromX, fromY, toX, toY) {};
  81.997 +AbstractRenderer.prototype.editCommand = function(shape, cmd, value) {};
  81.998 +AbstractRenderer.prototype.queryCommand = function(shape, cmd) {};
  81.999 +AbstractRenderer.prototype.showTracker = function(shape,value) {};
 81.1000 +AbstractRenderer.prototype.getMarkup = function() { return null; };
 81.1001 +AbstractRenderer.prototype.info = function(shape){}; 
 81.1002 +AbstractRenderer.prototype.editShape = function(shape,data){};
 81.1003 +AbstractRenderer.prototype.onKeyPress = function(){};
 81.1004 +
 81.1005 +AbstractRenderer.prototype.getshapes = function(){};
 81.1006 +
 81.1007 +
 81.1008 +//-----------------------------
 81.1009 +// Geometry - string functions
 81.1010 +//-----------------------------   
 81.1011 +
 81.1012 +//two point angle  deg
 81.1013 +function ang2v(x1,y1,x2,y2)
 81.1014 +{
 81.1015 +     /*
 81.1016 +      var k=0;
 81.1017 +
 81.1018 +      var sum1=u1+v1; 
 81.1019 +      var sum2=u2+v2;    
 81.1020 +
 81.1021 +      var res1=u1-v1;  
 81.1022 +      var res2=u2-v2;   
 81.1023 +
 81.1024 +     var ku1=k*u1; 
 81.1025 +      var ku2=k*u2;   
 81.1026 +
 81.1027 +       var mu= Math.sqrt(u1*u1+u2*u2); 
 81.1028 +       var mv= Math.sqrt(v1*v1+v2*v2);
 81.1029 +
 81.1030 +       var pesc= u1*v1+u2*v2; 
 81.1031 +       //var ang=Math.acos(pesc/(mu*mv))*180/Math.PI;
 81.1032 +       var ang=Math.acos(pesc/(mu*mv));  
 81.1033 +       */ 
 81.1034 +        var resx=x2-x1;  
 81.1035 +      var resy=y2-y1;   
 81.1036 +       var ang=Math.atan2(resy,resx); 
 81.1037 +       //alert(ang);
 81.1038 +       return ang;
 81.1039 +}     
 81.1040 +
 81.1041 +function dist2p(a,b,c,d) 
 81.1042 + {
 81.1043 +   with (Math) 
 81.1044 +    {
 81.1045 +        //var d2p=sqrt(abs(((d-b)*(d-b) )+((c-a)*(c-a))));   //decimas(d2p,3);     return d2p;
 81.1046 +          return sqrt(abs((d-b)*(d-b)+ (c-a)*(c-a)));
 81.1047 +
 81.1048 +    }
 81.1049 + }
 81.1050 +function pmd2pb(a,b,c,d,q) {
 81.1051 +	pmdx= (1-q)*a+c*q;
 81.1052 +	pmdy= (1-q)*b+d*q;
 81.1053 +//pmdx=decimas(pmdx,3);
 81.1054 +//pmdy=decimas(pmdy,3);
 81.1055 +var cad=pmdx+','+pmdy;
 81.1056 +var sol= new Array();
 81.1057 +sol= [cad,pmdx,pmdy];
 81.1058 +return sol
 81.1059 +
 81.1060 +} 
 81.1061 +
 81.1062 +function getAngle(dx,dy) {
 81.1063 +  var angle = Math.atan2(dy, dx);
 81.1064 +  //angle *= 180 / Math.PI;
 81.1065 +  return angle;  
 81.1066 +  
 81.1067 +}
 81.1068 +
 81.1069 +/*
 81.1070 +
 81.1071 +A = y2-y1
 81.1072 +B = x1-x2
 81.1073 +C = A*x1+B*y1
 81.1074 +Regardless of how the lines are specified, you should be able to generate two different points along the line, and then generate A, B and C. Now, lets say that you have lines, given by the equations:
 81.1075 +A1x + B1y = C1
 81.1076 +A2x + B2y = C2
 81.1077 +To find the point at which the two lines intersect, we simply need to solve the two equations for the two unknowns, x and y.
 81.1078 +
 81.1079 +    double det = A1*B2 - A2*B1
 81.1080 +    if(det == 0){
 81.1081 +        //Lines are parallel
 81.1082 +    }else{
 81.1083 +        double x = (B2*C1 - B1*C2)/det
 81.1084 +        double y = (A1*C2 - A2*C1)/det
 81.1085 +    }
 81.1086 +
 81.1087 +
 81.1088 +
 81.1089 +
 81.1090 +*/  
 81.1091 +// interseccion 2 rectas
 81.1092 +function ntrsccn2rb(a,b,c,d,e,f,g,h){
 81.1093 + var solution= new Array();
 81.1094 + var i2rx=0;var i2ry=0;
 81.1095 + var w= (c-a)*(f-h)-(e-g)*(d-b);
 81.1096 + if(w==0){
 81.1097 +  n=1;
 81.1098 +  i2rx= (1-n)*a+n*c;
 81.1099 +  i2ry= (1-n)*b+n*d;
 81.1100 +  solution= ['',i2rx,i2ry];  
 81.1101 +  //Lines are parallel
 81.1102 +  return solution
 81.1103 +  //return (i2rx+' '+i2ry);
 81.1104 + }
 81.1105 + var n = (((e-a)*(f-h))-((e-g)*(f-b)))/w;
 81.1106 + i2rx=(1-n)*a+n*c;
 81.1107 + i2ry=(1-n)*b+n*d;
 81.1108 + //return (i2rx+' '+i2ry);
 81.1109 + solution= ['',i2rx,i2ry];
 81.1110 + return solution
 81.1111 +
 81.1112 +}
 81.1113 +
 81.1114 +//ecuacion implicita de la recta
 81.1115 +function ccnmplct(a,b,c,d) { 
 81.1116 +  var solution= new Array();
 81.1117 +  //a1 a2, b1 b2    vector direccion b1-a1 , b2-a2
 81.1118 +  var v1m=c-a;
 81.1119 +  var v1n=d-b;
 81.1120 +  var c1x= v1m;
 81.1121 +  var c1y= v1n;
 81.1122 +  // ecuacion continua (x - a) /c -a =  (y - b)/d - b
 81.1123 +  //(x - a) * v1n =  (y - b) * v1m 
 81.1124 +  //x * v1n - v1n*a = y * v1m - b* v1m
 81.1125 +  eia= v1n ;
 81.1126 +  eib= - v1m;
 81.1127 +  eic=  (b* v1m) - ( v1n*a)
 81.1128 +  solution= [eia,eib,eic];
 81.1129 +  return solution
 81.1130 +}
 81.1131 +function GetString(source, start, end){
 81.1132 +var st = source.indexOf(start) + start.length;
 81.1133 +var en = source.indexOf(end, start);
 81.1134 + return source.substring(st, en);//trimAll(source.substring(st, en));
 81.1135 +}
 81.1136 + 
 81.1137 +function deg2rad(angle){
 81.1138 +return (angle/180) * Math.PI;
 81.1139 +} 
 81.1140 + 
 81.1141 +String.prototype.trim = function(){ return this.replace(/^\s+|\s+$/g,'') }
 81.1142 + 
 81.1143 +function objectOffset(obj)
 81.1144 +{
 81.1145 + var posX=0;
 81.1146 + var posY=0;
 81.1147 + if(typeof(obj.offsetParent) != "undefined")
 81.1148 +  {
 81.1149 +   for(var x=0, y=0;obj; obj=obj.offsetParent)
 81.1150 +   {
 81.1151 +    x += obj.offsetLeft;
 81.1152 +    y += obj.offsetTop;
 81.1153 +   }
 81.1154 +   posX=x;
 81.1155 +   posY=y;
 81.1156 +  }
 81.1157 +   else
 81.1158 +  {
 81.1159 +   posX=obj.offsetLeft;
 81.1160 +   posY=obj.offsetTop;
 81.1161 +  }
 81.1162 + alert(obj.id+" "+"X: "+posX+" Y: "+posY);
 81.1163 +}
 81.1164 +
 81.1165 +function generateJSON(cssEnv)
 81.1166 +{    
 81.1167 + //string=string.replace(/;/g,'",') ;
 81.1168 + //string=string.replace(/:/g,':"') ; 
 81.1169 + //style="fill:#7e0000;fill-opacity:1" 
 81.1170 + 
 81.1171 + var css=cssEnv.split(';')
 81.1172 +
 81.1173 +  var strJSON = '{';
 81.1174 +  ch = ',';
 81.1175 +  for (i = 0 ; i < css.length; i++)
 81.1176 +  { 
 81.1177 +   var data=css[i].split(':'); 
 81.1178 +   if(data[0]!=''){ 
 81.1179 +     //if(i == (css.length-2)){   ch = ''; }   
 81.1180 +     strJSON += "'"+data[0].trim()+"':'"+data[1].trim()+"'"+",";
 81.1181 +   } 
 81.1182 +      
 81.1183 +   
 81.1184 +  } 
 81.1185 +  var num=  strJSON.length;
 81.1186 +  strJSON=strJSON.substr(0, num-1);
 81.1187 +
 81.1188 +  strJSON += '}';
 81.1189 +
 81.1190 +  return strJSON;
 81.1191 +} 
 81.1192 \ No newline at end of file
    82.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    82.2 +++ b/onlypaths/js/prototype.js	Sun Jan 31 12:33:33 2010 -0500
    82.3 @@ -0,0 +1,1785 @@
    82.4 +/*  Prototype JavaScript framework, version 1.4.0
    82.5 + *  (c) 2005 Sam Stephenson <sam@conio.net>
    82.6 + *
    82.7 + *  THIS FILE IS AUTOMATICALLY GENERATED. When sending patches, please diff
    82.8 + *  against the source tree, available from the Prototype darcs repository.
    82.9 + *
   82.10 + *  Prototype is freely distributable under the terms of an MIT-style license.
   82.11 + *
   82.12 + *  For details, see the Prototype web site: http://prototype.conio.net/
   82.13 + *
   82.14 +/*--------------------------------------------------------------------------*/
   82.15 +
   82.16 +var Prototype = {
   82.17 +  Version: '1.4.0',
   82.18 +  ScriptFragment: '(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)',
   82.19 +
   82.20 +  emptyFunction: function() {},
   82.21 +  K: function(x) {return x}
   82.22 +}
   82.23 +
   82.24 +var Class = {
   82.25 +  create: function() {
   82.26 +    return function() {
   82.27 +      this.initialize.apply(this, arguments);
   82.28 +    }
   82.29 +  }
   82.30 +}
   82.31 +
   82.32 +var Abstract = new Object();
   82.33 +
   82.34 +Object.extend = function(destination, source) {
   82.35 +  for (property in source) {
   82.36 +    destination[property] = source[property];
   82.37 +  }
   82.38 +  return destination;
   82.39 +}
   82.40 +
   82.41 +Object.inspect = function(object) {
   82.42 +  try {
   82.43 +    if (object == undefined) return 'undefined';
   82.44 +    if (object == null) return 'null';
   82.45 +    return object.inspect ? object.inspect() : object.toString();
   82.46 +  } catch (e) {
   82.47 +    if (e instanceof RangeError) return '...';
   82.48 +    throw e;
   82.49 +  }
   82.50 +}
   82.51 +
   82.52 +Function.prototype.bind = function() {
   82.53 +  var __method = this, args = $A(arguments), object = args.shift();
   82.54 +  return function() {
   82.55 +    return __method.apply(object, args.concat($A(arguments)));
   82.56 +  }
   82.57 +}
   82.58 +
   82.59 +Function.prototype.bindAsEventListener = function(object) {
   82.60 +  var __method = this;
   82.61 +  return function(event) {
   82.62 +    return __method.call(object, event || window.event);
   82.63 +  }
   82.64 +}
   82.65 +
   82.66 +Object.extend(Number.prototype, {
   82.67 +  toColorPart: function() {
   82.68 +    var digits = this.toString(16);
   82.69 +    if (this < 16) return '0' + digits;
   82.70 +    return digits;
   82.71 +  },
   82.72 +
   82.73 +  succ: function() {
   82.74 +    return this + 1;
   82.75 +  },
   82.76 +
   82.77 +  times: function(iterator) {
   82.78 +    $R(0, this, true).each(iterator);
   82.79 +    return this;
   82.80 +  }
   82.81 +});
   82.82 +
   82.83 +var Try = {
   82.84 +  these: function() {
   82.85 +    var returnValue;
   82.86 +
   82.87 +    for (var i = 0; i < arguments.length; i++) {
   82.88 +      var lambda = arguments[i];
   82.89 +      try {
   82.90 +        returnValue = lambda();
   82.91 +        break;
   82.92 +      } catch (e) {}
   82.93 +    }
   82.94 +
   82.95 +    return returnValue;
   82.96 +  }
   82.97 +}
   82.98 +
   82.99 +/*--------------------------------------------------------------------------*/
  82.100 +
  82.101 +var PeriodicalExecuter = Class.create();
  82.102 +PeriodicalExecuter.prototype = {
  82.103 +  initialize: function(callback, frequency) {
  82.104 +    this.callback = callback;
  82.105 +    this.frequency = frequency;
  82.106 +    this.currentlyExecuting = false;
  82.107 +
  82.108 +    this.registerCallback();
  82.109 +  },
  82.110 +
  82.111 +  registerCallback: function() {
  82.112 +    setInterval(this.onTimerEvent.bind(this), this.frequency * 1000);
  82.113 +  },
  82.114 +
  82.115 +  onTimerEvent: function() {
  82.116 +    if (!this.currentlyExecuting) {
  82.117 +      try {
  82.118 +        this.currentlyExecuting = true;
  82.119 +        this.callback();
  82.120 +      } finally {
  82.121 +        this.currentlyExecuting = false;
  82.122 +      }
  82.123 +    }
  82.124 +  }
  82.125 +}
  82.126 +
  82.127 +/*--------------------------------------------------------------------------*/
  82.128 +
  82.129 +function $() {
  82.130 +  var elements = new Array();
  82.131 +
  82.132 +  for (var i = 0; i < arguments.length; i++) {
  82.133 +    var element = arguments[i];
  82.134 +    if (typeof element == 'string')
  82.135 +      element = document.getElementById(element);
  82.136 +
  82.137 +    if (arguments.length == 1)
  82.138 +      return element;
  82.139 +
  82.140 +    elements.push(element);
  82.141 +  }
  82.142 +
  82.143 +  return elements;
  82.144 +}
  82.145 +Object.extend(String.prototype, {
  82.146 +  stripTags: function() {
  82.147 +    return this.replace(/<\/?[^>]+>/gi, '');
  82.148 +  },
  82.149 +
  82.150 +  stripScripts: function() {
  82.151 +    return this.replace(new RegExp(Prototype.ScriptFragment, 'img'), '');
  82.152 +  },
  82.153 +
  82.154 +  extractScripts: function() {
  82.155 +    var matchAll = new RegExp(Prototype.ScriptFragment, 'img');
  82.156 +    var matchOne = new RegExp(Prototype.ScriptFragment, 'im');
  82.157 +    return (this.match(matchAll) || []).map(function(scriptTag) {
  82.158 +      return (scriptTag.match(matchOne) || ['', ''])[1];
  82.159 +    });
  82.160 +  },
  82.161 +
  82.162 +  evalScripts: function() {
  82.163 +    return this.extractScripts().map(eval);
  82.164 +  },
  82.165 +
  82.166 +  escapeHTML: function() {
  82.167 +    var div = document.createElement('div');
  82.168 +    var text = document.createTextNode(this);
  82.169 +    div.appendChild(text);
  82.170 +    return div.innerHTML;
  82.171 +  },
  82.172 +
  82.173 +  unescapeHTML: function() {
  82.174 +    var div = document.createElement('div');
  82.175 +    div.innerHTML = this.stripTags();
  82.176 +    return div.childNodes[0] ? div.childNodes[0].nodeValue : '';
  82.177 +  },
  82.178 +
  82.179 +  toQueryParams: function() {
  82.180 +    var pairs = this.match(/^\??(.*)$/)[1].split('&');
  82.181 +    return pairs.inject({}, function(params, pairString) {
  82.182 +      var pair = pairString.split('=');
  82.183 +      params[pair[0]] = pair[1];
  82.184 +      return params;
  82.185 +    });
  82.186 +  },
  82.187 +
  82.188 +  toArray: function() {
  82.189 +    return this.split('');
  82.190 +  },
  82.191 +
  82.192 +  camelize: function() {
  82.193 +    var oStringList = this.split('-');
  82.194 +    if (oStringList.length == 1) return oStringList[0];
  82.195 +
  82.196 +    var camelizedString = this.indexOf('-') == 0
  82.197 +      ? oStringList[0].charAt(0).toUpperCase() + oStringList[0].substring(1)
  82.198 +      : oStringList[0];
  82.199 +
  82.200 +    for (var i = 1, len = oStringList.length; i < len; i++) {
  82.201 +      var s = oStringList[i];
  82.202 +      camelizedString += s.charAt(0).toUpperCase() + s.substring(1);
  82.203 +    }
  82.204 +
  82.205 +    return camelizedString;
  82.206 +  },
  82.207 +
  82.208 +  inspect: function() {
  82.209 +    return "'" + this.replace('\\', '\\\\').replace("'", '\\\'') + "'";
  82.210 +  }
  82.211 +});
  82.212 +
  82.213 +String.prototype.parseQuery = String.prototype.toQueryParams;
  82.214 +
  82.215 +var $break    = new Object();
  82.216 +var $continue = new Object();
  82.217 +
  82.218 +var Enumerable = {
  82.219 +  each: function(iterator) {
  82.220 +    var index = 0;
  82.221 +    try {
  82.222 +      this._each(function(value) {
  82.223 +        try {
  82.224 +          iterator(value, index++);
  82.225 +        } catch (e) {
  82.226 +          if (e != $continue) throw e;
  82.227 +        }
  82.228 +      });
  82.229 +    } catch (e) {
  82.230 +      if (e != $break) throw e;
  82.231 +    }
  82.232 +  },
  82.233 +
  82.234 +  all: function(iterator) {
  82.235 +    var result = true;
  82.236 +    this.each(function(value, index) {
  82.237 +      result = result && !!(iterator || Prototype.K)(value, index);
  82.238 +      if (!result) throw $break;
  82.239 +    });
  82.240 +    return result;
  82.241 +  },
  82.242 +
  82.243 +  any: function(iterator) {
  82.244 +    var result = true;
  82.245 +    this.each(function(value, index) {
  82.246 +      if (result = !!(iterator || Prototype.K)(value, index))
  82.247 +        throw $break;
  82.248 +    });
  82.249 +    return result;
  82.250 +  },
  82.251 +
  82.252 +  collect: function(iterator) {
  82.253 +    var results = [];
  82.254 +    this.each(function(value, index) {
  82.255 +      results.push(iterator(value, index));
  82.256 +    });
  82.257 +    return results;
  82.258 +  },
  82.259 +
  82.260 +  detect: function (iterator) {
  82.261 +    var result;
  82.262 +    this.each(function(value, index) {
  82.263 +      if (iterator(value, index)) {
  82.264 +        result = value;
  82.265 +        throw $break;
  82.266 +      }
  82.267 +    });
  82.268 +    return result;
  82.269 +  },
  82.270 +
  82.271 +  findAll: function(iterator) {
  82.272 +    var results = [];
  82.273 +    this.each(function(value, index) {
  82.274 +      if (iterator(value, index))
  82.275 +        results.push(value);
  82.276 +    });
  82.277 +    return results;
  82.278 +  },
  82.279 +
  82.280 +  grep: function(pattern, iterator) {
  82.281 +    var results = [];
  82.282 +    this.each(function(value, index) {
  82.283 +      var stringValue = value.toString();
  82.284 +      if (stringValue.match(pattern))
  82.285 +        results.push((iterator || Prototype.K)(value, index));
  82.286 +    })
  82.287 +    return results;
  82.288 +  },
  82.289 +
  82.290 +  include: function(object) {
  82.291 +    var found = false;
  82.292 +    this.each(function(value) {
  82.293 +      if (value == object) {
  82.294 +        found = true;
  82.295 +        throw $break;
  82.296 +      }
  82.297 +    });
  82.298 +    return found;
  82.299 +  },
  82.300 +
  82.301 +  inject: function(memo, iterator) {
  82.302 +    this.each(function(value, index) {
  82.303 +      memo = iterator(memo, value, index);
  82.304 +    });
  82.305 +    return memo;
  82.306 +  },
  82.307 +
  82.308 +  invoke: function(method) {
  82.309 +    var args = $A(arguments).slice(1);
  82.310 +    return this.collect(function(value) {
  82.311 +      return value[method].apply(value, args);
  82.312 +    });
  82.313 +  },
  82.314 +
  82.315 +  max: function(iterator) {
  82.316 +    var result;
  82.317 +    this.each(function(value, index) {
  82.318 +      value = (iterator || Prototype.K)(value, index);
  82.319 +      if (value >= (result || value))
  82.320 +        result = value;
  82.321 +    });
  82.322 +    return result;
  82.323 +  },
  82.324 +
  82.325 +  min: function(iterator) {
  82.326 +    var result;
  82.327 +    this.each(function(value, index) {
  82.328 +      value = (iterator || Prototype.K)(value, index);
  82.329 +      if (value <= (result || value))
  82.330 +        result = value;
  82.331 +    });
  82.332 +    return result;
  82.333 +  },
  82.334 +
  82.335 +  partition: function(iterator) {
  82.336 +    var trues = [], falses = [];
  82.337 +    this.each(function(value, index) {
  82.338 +      ((iterator || Prototype.K)(value, index) ?
  82.339 +        trues : falses).push(value);
  82.340 +    });
  82.341 +    return [trues, falses];
  82.342 +  },
  82.343 +
  82.344 +  pluck: function(property) {
  82.345 +    var results = [];
  82.346 +    this.each(function(value, index) {
  82.347 +      results.push(value[property]);
  82.348 +    });
  82.349 +    return results;
  82.350 +  },
  82.351 +
  82.352 +  reject: function(iterator) {
  82.353 +    var results = [];
  82.354 +    this.each(function(value, index) {
  82.355 +      if (!iterator(value, index))
  82.356 +        results.push(value);
  82.357 +    });
  82.358 +    return results;
  82.359 +  },
  82.360 +
  82.361 +  sortBy: function(iterator) {
  82.362 +    return this.collect(function(value, index) {
  82.363 +      return {value: value, criteria: iterator(value, index)};
  82.364 +    }).sort(function(left, right) {
  82.365 +      var a = left.criteria, b = right.criteria;
  82.366 +      return a < b ? -1 : a > b ? 1 : 0;
  82.367 +    }).pluck('value');
  82.368 +  },
  82.369 +
  82.370 +  toArray: function() {
  82.371 +    return this.collect(Prototype.K);
  82.372 +  },
  82.373 +
  82.374 +  zip: function() {
  82.375 +    var iterator = Prototype.K, args = $A(arguments);
  82.376 +    if (typeof args.last() == 'function')
  82.377 +      iterator = args.pop();
  82.378 +
  82.379 +    var collections = [this].concat(args).map($A);
  82.380 +    return this.map(function(value, index) {
  82.381 +      iterator(value = collections.pluck(index));
  82.382 +      return value;
  82.383 +    });
  82.384 +  },
  82.385 +
  82.386 +  inspect: function() {
  82.387 +    return '#<Enumerable:' + this.toArray().inspect() + '>';
  82.388 +  }
  82.389 +}
  82.390 +
  82.391 +Object.extend(Enumerable, {
  82.392 +  map:     Enumerable.collect,
  82.393 +  find:    Enumerable.detect,
  82.394 +  select:  Enumerable.findAll,
  82.395 +  member:  Enumerable.include,
  82.396 +  entries: Enumerable.toArray
  82.397 +});
  82.398 +var $A = Array.from = function(iterable) {
  82.399 +  if (!iterable) return [];
  82.400 +  if (iterable.toArray) {
  82.401 +    return iterable.toArray();
  82.402 +  } else {
  82.403 +    var results = [];
  82.404 +    for (var i = 0; i < iterable.length; i++)
  82.405 +      results.push(iterable[i]);
  82.406 +    return results;
  82.407 +  }
  82.408 +}
  82.409 +
  82.410 +Object.extend(Array.prototype, Enumerable);
  82.411 +
  82.412 +Array.prototype._reverse = Array.prototype.reverse;
  82.413 +
  82.414 +Object.extend(Array.prototype, {
  82.415 +  _each: function(iterator) {
  82.416 +    for (var i = 0; i < this.length; i++)
  82.417 +      iterator(this[i]);
  82.418 +  },
  82.419 +
  82.420 +  clear: function() {
  82.421 +    this.length = 0;
  82.422 +    return this;
  82.423 +  },
  82.424 +
  82.425 +  first: function() {
  82.426 +    return this[0];
  82.427 +  },
  82.428 +
  82.429 +  last: function() {
  82.430 +    return this[this.length - 1];
  82.431 +  },
  82.432 +
  82.433 +  compact: function() {
  82.434 +    return this.select(function(value) {
  82.435 +      return value != undefined || value != null;
  82.436 +    });
  82.437 +  },
  82.438 +
  82.439 +  flatten: function() {
  82.440 +    return this.inject([], function(array, value) {
  82.441 +      return array.concat(value.constructor == Array ?
  82.442 +        value.flatten() : [value]);
  82.443 +    });
  82.444 +  },
  82.445 +
  82.446 +  without: function() {
  82.447 +    var values = $A(arguments);
  82.448 +    return this.select(function(value) {
  82.449 +      return !values.include(value);
  82.450 +    });
  82.451 +  },
  82.452 +
  82.453 +  indexOf: function(object) {
  82.454 +    for (var i = 0; i < this.length; i++)
  82.455 +      if (this[i] == object) return i;
  82.456 +    return -1;
  82.457 +  },
  82.458 +
  82.459 +  reverse: function(inline) {
  82.460 +    return (inline !== false ? this : this.toArray())._reverse();
  82.461 +  },
  82.462 +
  82.463 +  shift: function() {
  82.464 +    var result = this[0];
  82.465 +    for (var i = 0; i < this.length - 1; i++)
  82.466 +      this[i] = this[i + 1];
  82.467 +    this.length--;
  82.468 +    return result;
  82.469 +  },
  82.470 +
  82.471 +  inspect: function() {
  82.472 +    return '[' + this.map(Object.inspect).join(', ') + ']';
  82.473 +  }
  82.474 +});
  82.475 +var Hash = {
  82.476 +  _each: function(iterator) {
  82.477 +    for (key in this) {
  82.478 +      var value = this[key];
  82.479 +      if (typeof value == 'function') continue;
  82.480 +
  82.481 +      var pair = [key, value];
  82.482 +      pair.key = key;
  82.483 +      pair.value = value;
  82.484 +      iterator(pair);
  82.485 +    }
  82.486 +  },
  82.487 +
  82.488 +  keys: function() {
  82.489 +    return this.pluck('key');
  82.490 +  },
  82.491 +
  82.492 +  values: function() {
  82.493 +    return this.pluck('value');
  82.494 +  },
  82.495 +
  82.496 +  merge: function(hash) {
  82.497 +    return $H(hash).inject($H(this), function(mergedHash, pair) {
  82.498 +      mergedHash[pair.key] = pair.value;
  82.499 +      return mergedHash;
  82.500 +    });
  82.501 +  },
  82.502 +
  82.503 +  toQueryString: function() {
  82.504 +    return this.map(function(pair) {
  82.505 +      return pair.map(encodeURIComponent).join('=');
  82.506 +    }).join('&');
  82.507 +  },
  82.508 +
  82.509 +  inspect: function() {
  82.510 +    return '#<Hash:{' + this.map(function(pair) {
  82.511 +      return pair.map(Object.inspect).join(': ');
  82.512 +    }).join(', ') + '}>';
  82.513 +  }
  82.514 +}
  82.515 +
  82.516 +function $H(object) {
  82.517 +  var hash = Object.extend({}, object || {});
  82.518 +  Object.extend(hash, Enumerable);
  82.519 +  Object.extend(hash, Hash);
  82.520 +  return hash;
  82.521 +}
  82.522 +ObjectRange = Class.create();
  82.523 +Object.extend(ObjectRange.prototype, Enumerable);
  82.524 +Object.extend(ObjectRange.prototype, {
  82.525 +  initialize: function(start, end, exclusive) {
  82.526 +    this.start = start;
  82.527 +    this.end = end;
  82.528 +    this.exclusive = exclusive;
  82.529 +  },
  82.530 +
  82.531 +  _each: function(iterator) {
  82.532 +    var value = this.start;
  82.533 +    do {
  82.534 +      iterator(value);
  82.535 +      value = value.succ();
  82.536 +    } while (this.include(value));
  82.537 +  },
  82.538 +
  82.539 +  include: function(value) {
  82.540 +    if (value < this.start)
  82.541 +      return false;
  82.542 +    if (this.exclusive)
  82.543 +      return value < this.end;
  82.544 +    return value <= this.end;
  82.545 +  }
  82.546 +});
  82.547 +
  82.548 +var $R = function(start, end, exclusive) {
  82.549 +  return new ObjectRange(start, end, exclusive);
  82.550 +}
  82.551 +
  82.552 +var Ajax = {
  82.553 +  getTransport: function() {
  82.554 +    return Try.these(
  82.555 +      function() {return new ActiveXObject('Msxml2.XMLHTTP')},
  82.556 +      function() {return new ActiveXObject('Microsoft.XMLHTTP')},
  82.557 +      function() {return new XMLHttpRequest()}
  82.558 +    ) || false;
  82.559 +  },
  82.560 +
  82.561 +  activeRequestCount: 0
  82.562 +}
  82.563 +
  82.564 +Ajax.Responders = {
  82.565 +  responders: [],
  82.566 +
  82.567 +  _each: function(iterator) {
  82.568 +    this.responders._each(iterator);
  82.569 +  },
  82.570 +
  82.571 +  register: function(responderToAdd) {
  82.572 +    if (!this.include(responderToAdd))
  82.573 +      this.responders.push(responderToAdd);
  82.574 +  },
  82.575 +
  82.576 +  unregister: function(responderToRemove) {
  82.577 +    this.responders = this.responders.without(responderToRemove);
  82.578 +  },
  82.579 +
  82.580 +  dispatch: function(callback, request, transport, json) {
  82.581 +    this.each(function(responder) {
  82.582 +      if (responder[callback] && typeof responder[callback] == 'function') {
  82.583 +        try {
  82.584 +          responder[callback].apply(responder, [request, transport, json]);
  82.585 +        } catch (e) {}
  82.586 +      }
  82.587 +    });
  82.588 +  }
  82.589 +};
  82.590 +
  82.591 +Object.extend(Ajax.Responders, Enumerable);
  82.592 +
  82.593 +Ajax.Responders.register({
  82.594 +  onCreate: function() {
  82.595 +    Ajax.activeRequestCount++;
  82.596 +  },
  82.597 +
  82.598 +  onComplete: function() {
  82.599 +    Ajax.activeRequestCount--;
  82.600 +  }
  82.601 +});
  82.602 +
  82.603 +Ajax.Base = function() {};
  82.604 +Ajax.Base.prototype = {
  82.605 +  setOptions: function(options) {
  82.606 +    this.options = {
  82.607 +      method:       'post',
  82.608 +      asynchronous: true,
  82.609 +      parameters:   ''
  82.610 +    }
  82.611 +    Object.extend(this.options, options || {});
  82.612 +  },
  82.613 +
  82.614 +  responseIsSuccess: function() {
  82.615 +    return this.transport.status == undefined
  82.616 +        || this.transport.status == 0
  82.617 +        || (this.transport.status >= 200 && this.transport.status < 300);
  82.618 +  },
  82.619 +
  82.620 +  responseIsFailure: function() {
  82.621 +    return !this.responseIsSuccess();
  82.622 +  }
  82.623 +}
  82.624 +
  82.625 +Ajax.Request = Class.create();
  82.626 +Ajax.Request.Events =
  82.627 +  ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete'];
  82.628 +
  82.629 +Ajax.Request.prototype = Object.extend(new Ajax.Base(), {
  82.630 +  initialize: function(url, options) {
  82.631 +    this.transport = Ajax.getTransport();
  82.632 +    this.setOptions(options);
  82.633 +    this.request(url);
  82.634 +  },
  82.635 +
  82.636 +  request: function(url) {
  82.637 +    var parameters = this.options.parameters || '';
  82.638 +    if (parameters.length > 0) parameters += '&_=';
  82.639 +
  82.640 +    try {
  82.641 +      this.url = url;
  82.642 +      if (this.options.method == 'get' && parameters.length > 0)
  82.643 +        this.url += (this.url.match(/\?/) ? '&' : '?') + parameters;
  82.644 +
  82.645 +      Ajax.Responders.dispatch('onCreate', this, this.transport);
  82.646 +
  82.647 +      this.transport.open(this.options.method, this.url,
  82.648 +        this.options.asynchronous);
  82.649 +
  82.650 +      if (this.options.asynchronous) {
  82.651 +        this.transport.onreadystatechange = this.onStateChange.bind(this);
  82.652 +        setTimeout((function() {this.respondToReadyState(1)}).bind(this), 10);
  82.653 +      }
  82.654 +
  82.655 +      this.setRequestHeaders();
  82.656 +
  82.657 +      var body = this.options.postBody ? this.options.postBody : parameters;
  82.658 +      this.transport.send(this.options.method == 'post' ? body : null);
  82.659 +
  82.660 +    } catch (e) {
  82.661 +      this.dispatchException(e);
  82.662 +    }
  82.663 +  },
  82.664 +
  82.665 +  setRequestHeaders: function() {
  82.666 +    var requestHeaders =
  82.667 +      ['X-Requested-With', 'XMLHttpRequest',
  82.668 +       'X-Prototype-Version', Prototype.Version];
  82.669 +
  82.670 +    if (this.options.method == 'post') {
  82.671 +      requestHeaders.push('Content-type',
  82.672 +        'application/x-www-form-urlencoded');
  82.673 +
  82.674 +      /* Force "Connection: close" for Mozilla browsers to work around
  82.675 +       * a bug where XMLHttpReqeuest sends an incorrect Content-length
  82.676 +       * header. See Mozilla Bugzilla #246651.
  82.677 +       */
  82.678 +      if (this.transport.overrideMimeType)
  82.679 +        requestHeaders.push('Connection', 'close');
  82.680 +    }
  82.681 +
  82.682 +    if (this.options.requestHeaders)
  82.683 +      requestHeaders.push.apply(requestHeaders, this.options.requestHeaders);
  82.684 +
  82.685 +    for (var i = 0; i < requestHeaders.length; i += 2)
  82.686 +      this.transport.setRequestHeader(requestHeaders[i], requestHeaders[i+1]);
  82.687 +  },
  82.688 +
  82.689 +  onStateChange: function() {
  82.690 +    var readyState = this.transport.readyState;
  82.691 +    if (readyState != 1)
  82.692 +      this.respondToReadyState(this.transport.readyState);
  82.693 +  },
  82.694 +
  82.695 +  header: function(name) {
  82.696 +    try {
  82.697 +      return this.transport.getResponseHeader(name);
  82.698 +    } catch (e) {}
  82.699 +  },
  82.700 +
  82.701 +  evalJSON: function() {
  82.702 +    try {
  82.703 +      return eval(this.header('X-JSON'));
  82.704 +    } catch (e) {}
  82.705 +  },
  82.706 +
  82.707 +  evalResponse: function() {
  82.708 +    try {
  82.709 +      return eval(this.transport.responseText);
  82.710 +    } catch (e) {
  82.711 +      this.dispatchException(e);
  82.712 +    }
  82.713 +  },
  82.714 +
  82.715 +  respondToReadyState: function(readyState) {
  82.716 +    var event = Ajax.Request.Events[readyState];
  82.717 +    var transport = this.transport, json = this.evalJSON();
  82.718 +
  82.719 +    if (event == 'Complete') {
  82.720 +      try {
  82.721 +        (this.options['on' + this.transport.status]
  82.722 +         || this.options['on' + (this.responseIsSuccess() ? 'Success' : 'Failure')]
  82.723 +         || Prototype.emptyFunction)(transport, json);
  82.724 +      } catch (e) {
  82.725 +        this.dispatchException(e);
  82.726 +      }
  82.727 +
  82.728 +      if ((this.header('Content-type') || '').match(/^text\/javascript/i))
  82.729 +        this.evalResponse();
  82.730 +    }
  82.731 +
  82.732 +    try {
  82.733 +      (this.options['on' + event] || Prototype.emptyFunction)(transport, json);
  82.734 +      Ajax.Responders.dispatch('on' + event, this, transport, json);
  82.735 +    } catch (e) {
  82.736 +      this.dispatchException(e);
  82.737 +    }
  82.738 +
  82.739 +    /* Avoid memory leak in MSIE: clean up the oncomplete event handler */
  82.740 +    if (event == 'Complete')
  82.741 +      this.transport.onreadystatechange = Prototype.emptyFunction;
  82.742 +  },
  82.743 +
  82.744 +  dispatchException: function(exception) {
  82.745 +    (this.options.onException || Prototype.emptyFunction)(this, exception);
  82.746 +    Ajax.Responders.dispatch('onException', this, exception);
  82.747 +  }
  82.748 +});
  82.749 +
  82.750 +Ajax.Updater = Class.create();
  82.751 +
  82.752 +Object.extend(Object.extend(Ajax.Updater.prototype, Ajax.Request.prototype), {
  82.753 +  initialize: function(container, url, options) {
  82.754 +    this.containers = {
  82.755 +      success: container.success ? $(container.success) : $(container),
  82.756 +      failure: container.failure ? $(container.failure) :
  82.757 +        (container.success ? null : $(container))
  82.758 +    }
  82.759 +
  82.760 +    this.transport = Ajax.getTransport();
  82.761 +    this.setOptions(options);
  82.762 +
  82.763 +    var onComplete = this.options.onComplete || Prototype.emptyFunction;
  82.764 +    this.options.onComplete = (function(transport, object) {
  82.765 +      this.updateContent();
  82.766 +      onComplete(transport, object);
  82.767 +    }).bind(this);
  82.768 +
  82.769 +    this.request(url);
  82.770 +  },
  82.771 +
  82.772 +  updateContent: function() {
  82.773 +    var receiver = this.responseIsSuccess() ?
  82.774 +      this.containers.success : this.containers.failure;
  82.775 +    var response = this.transport.responseText;
  82.776 +
  82.777 +    if (!this.options.evalScripts)
  82.778 +      response = response.stripScripts();
  82.779 +
  82.780 +    if (receiver) {
  82.781 +      if (this.options.insertion) {
  82.782 +        new this.options.insertion(receiver, response);
  82.783 +      } else {
  82.784 +        Element.update(receiver, response);
  82.785 +      }
  82.786 +    }
  82.787 +
  82.788 +    if (this.responseIsSuccess()) {
  82.789 +      if (this.onComplete)
  82.790 +        setTimeout(this.onComplete.bind(this), 10);
  82.791 +    }
  82.792 +  }
  82.793 +});
  82.794 +
  82.795 +Ajax.PeriodicalUpdater = Class.create();
  82.796 +Ajax.PeriodicalUpdater.prototype = Object.extend(new Ajax.Base(), {
  82.797 +  initialize: function(container, url, options) {
  82.798 +    this.setOptions(options);
  82.799 +    this.onComplete = this.options.onComplete;
  82.800 +
  82.801 +    this.frequency = (this.options.frequency || 2);
  82.802 +    this.decay = (this.options.decay || 1);
  82.803 +
  82.804 +    this.updater = {};
  82.805 +    this.container = container;
  82.806 +    this.url = url;
  82.807 +
  82.808 +    this.start();
  82.809 +  },
  82.810 +
  82.811 +  start: function() {
  82.812 +    this.options.onComplete = this.updateComplete.bind(this);
  82.813 +    this.onTimerEvent();
  82.814 +  },
  82.815 +
  82.816 +  stop: function() {
  82.817 +    this.updater.onComplete = undefined;
  82.818 +    clearTimeout(this.timer);
  82.819 +    (this.onComplete || Prototype.emptyFunction).apply(this, arguments);
  82.820 +  },
  82.821 +
  82.822 +  updateComplete: function(request) {
  82.823 +    if (this.options.decay) {
  82.824 +      this.decay = (request.responseText == this.lastText ?
  82.825 +        this.decay * this.options.decay : 1);
  82.826 +
  82.827 +      this.lastText = request.responseText;
  82.828 +    }
  82.829 +    this.timer = setTimeout(this.onTimerEvent.bind(this),
  82.830 +      this.decay * this.frequency * 1000);
  82.831 +  },
  82.832 +
  82.833 +  onTimerEvent: function() {
  82.834 +    this.updater = new Ajax.Updater(this.container, this.url, this.options);
  82.835 +  }
  82.836 +});
  82.837 +document.getElementsByClassName = function(className, parentElement) {
  82.838 +  var children = ($(parentElement) || document.body).getElementsByTagName('*');
  82.839 +  return $A(children).inject([], function(elements, child) {
  82.840 +    if (child.className.match(new RegExp("(^|\\s)" + className + "(\\s|$)")))
  82.841 +      elements.push(child);
  82.842 +    return elements;
  82.843 +  });
  82.844 +}
  82.845 +
  82.846 +/*--------------------------------------------------------------------------*/
  82.847 +
  82.848 +if (!window.Element) {
  82.849 +  var Element = new Object();
  82.850 +}
  82.851 +
  82.852 +Object.extend(Element, {
  82.853 +  visible: function(element) {
  82.854 +    return $(element).style.display != 'none';
  82.855 +  },
  82.856 +
  82.857 +  toggle: function() {
  82.858 +    for (var i = 0; i < arguments.length; i++) {
  82.859 +      var element = $(arguments[i]);
  82.860 +      Element[Element.visible(element) ? 'hide' : 'show'](element);
  82.861 +    }
  82.862 +  },
  82.863 +
  82.864 +  hide: function() {
  82.865 +    for (var i = 0; i < arguments.length; i++) {
  82.866 +      var element = $(arguments[i]);
  82.867 +      element.style.display = 'none';
  82.868 +    }
  82.869 +  },
  82.870 +
  82.871 +  show: function() {
  82.872 +    for (var i = 0; i < arguments.length; i++) {
  82.873 +      var element = $(arguments[i]);
  82.874 +      element.style.display = '';
  82.875 +    }
  82.876 +  },
  82.877 +
  82.878 +  remove: function(element) {
  82.879 +    element = $(element);
  82.880 +    element.parentNode.removeChild(element);
  82.881 +  },
  82.882 +
  82.883 +  update: function(element, html) {
  82.884 +    $(element).innerHTML = html.stripScripts();
  82.885 +    setTimeout(function() {html.evalScripts()}, 10);
  82.886 +  },
  82.887 +
  82.888 +  getHeight: function(element) {
  82.889 +    element = $(element);
  82.890 +    return element.offsetHeight;
  82.891 +  },
  82.892 +
  82.893 +  classNames: function(element) {
  82.894 +    return new Element.ClassNames(element);
  82.895 +  },
  82.896 +
  82.897 +  hasClassName: function(element, className) {
  82.898 +    if (!(element = $(element))) return;
  82.899 +    return Element.classNames(element).include(className);
  82.900 +  },
  82.901 +
  82.902 +  addClassName: function(element, className) {
  82.903 +    if (!(element = $(element))) return;
  82.904 +    return Element.classNames(element).add(className);
  82.905 +  },
  82.906 +
  82.907 +  removeClassName: function(element, className) {
  82.908 +    if (!(element = $(element))) return;
  82.909 +    return Element.classNames(element).remove(className);
  82.910 +  },
  82.911 +
  82.912 +  // removes whitespace-only text node children
  82.913 +  cleanWhitespace: function(element) {
  82.914 +    element = $(element);
  82.915 +    for (var i = 0; i < element.childNodes.length; i++) {
  82.916 +      var node = element.childNodes[i];
  82.917 +      if (node.nodeType == 3 && !/\S/.test(node.nodeValue))
  82.918 +        Element.remove(node);
  82.919 +    }
  82.920 +  },
  82.921 +
  82.922 +  empty: function(element) {
  82.923 +    return $(element).innerHTML.match(/^\s*$/);
  82.924 +  },
  82.925 +
  82.926 +  scrollTo: function(element) {
  82.927 +    element = $(element);
  82.928 +    var x = element.x ? element.x : element.offsetLeft,
  82.929 +        y = element.y ? element.y : element.offsetTop;
  82.930 +    window.scrollTo(x, y);
  82.931 +  },
  82.932 +
  82.933 +  getStyle: function(element, style) {
  82.934 +    element = $(element);
  82.935 +    var value = element.style[style.camelize()];
  82.936 +    if (!value) {
  82.937 +      if (document.defaultView && document.defaultView.getComputedStyle) {
  82.938 +        var css = document.defaultView.getComputedStyle(element, null);
  82.939 +        value = css ? css.getPropertyValue(style) : null;
  82.940 +      } else if (element.currentStyle) {
  82.941 +        value = element.currentStyle[style.camelize()];
  82.942 +      }
  82.943 +    }
  82.944 +
  82.945 +    if (window.opera && ['left', 'top', 'right', 'bottom'].include(style))
  82.946 +      if (Element.getStyle(element, 'position') == 'static') value = 'auto';
  82.947 +
  82.948 +    return value == 'auto' ? null : value;
  82.949 +  },
  82.950 +
  82.951 +  setStyle: function(element, style) {
  82.952 +    element = $(element);
  82.953 +    for (name in style)
  82.954 +      element.style[name.camelize()] = style[name];
  82.955 +  },
  82.956 +
  82.957 +  getDimensions: function(element) {
  82.958 +    element = $(element);
  82.959 +    if (Element.getStyle(element, 'display') != 'none')
  82.960 +      return {width: element.offsetWidth, height: element.offsetHeight};
  82.961 +
  82.962 +    // All *Width and *Height properties give 0 on elements with display none,
  82.963 +    // so enable the element temporarily
  82.964 +    var els = element.style;
  82.965 +    var originalVisibility = els.visibility;
  82.966 +    var originalPosition = els.position;
  82.967 +    els.visibility = 'hidden';
  82.968 +    els.position = 'absolute';
  82.969 +    els.display = '';
  82.970 +    var originalWidth = element.clientWidth;
  82.971 +    var originalHeight = element.clientHeight;
  82.972 +    els.display = 'none';
  82.973 +    els.position = originalPosition;
  82.974 +    els.visibility = originalVisibility;
  82.975 +    return {width: originalWidth, height: originalHeight};
  82.976 +  },
  82.977 +
  82.978 +  makePositioned: function(element) {
  82.979 +    element = $(element);
  82.980 +    var pos = Element.getStyle(element, 'position');
  82.981 +    if (pos == 'static' || !pos) {
  82.982 +      element._madePositioned = true;
  82.983 +      element.style.position = 'relative';
  82.984 +      // Opera returns the offset relative to the positioning context, when an
  82.985 +      // element is position relative but top and left have not been defined
  82.986 +      if (window.opera) {
  82.987 +        element.style.top = 0;
  82.988 +        element.style.left = 0;
  82.989 +      }
  82.990 +    }
  82.991 +  },
  82.992 +
  82.993 +  undoPositioned: function(element) {
  82.994 +    element = $(element);
  82.995 +    if (element._madePositioned) {
  82.996 +      element._madePositioned = undefined;
  82.997 +      element.style.position =
  82.998 +        element.style.top =
  82.999 +        element.style.left =
 82.1000 +        element.style.bottom =
 82.1001 +        element.style.right = '';
 82.1002 +    }
 82.1003 +  },
 82.1004 +
 82.1005 +  makeClipping: function(element) {
 82.1006 +    element = $(element);
 82.1007 +    if (element._overflow) return;
 82.1008 +    element._overflow = element.style.overflow;
 82.1009 +    if ((Element.getStyle(element, 'overflow') || 'visible') != 'hidden')
 82.1010 +      element.style.overflow = 'hidden';
 82.1011 +  },
 82.1012 +
 82.1013 +  undoClipping: function(element) {
 82.1014 +    element = $(element);
 82.1015 +    if (element._overflow) return;
 82.1016 +    element.style.overflow = element._overflow;
 82.1017 +    element._overflow = undefined;
 82.1018 +  }
 82.1019 +});
 82.1020 +
 82.1021 +var Toggle = new Object();
 82.1022 +Toggle.display = Element.toggle;
 82.1023 +
 82.1024 +/*--------------------------------------------------------------------------*/
 82.1025 +
 82.1026 +Abstract.Insertion = function(adjacency) {
 82.1027 +  this.adjacency = adjacency;
 82.1028 +}
 82.1029 +
 82.1030 +Abstract.Insertion.prototype = {
 82.1031 +  initialize: function(element, content) {
 82.1032 +    this.element = $(element);
 82.1033 +    this.content = content.stripScripts();
 82.1034 +
 82.1035 +    if (this.adjacency && this.element.insertAdjacentHTML) {
 82.1036 +      try {
 82.1037 +        this.element.insertAdjacentHTML(this.adjacency, this.content);
 82.1038 +      } catch (e) {
 82.1039 +        if (this.element.tagName.toLowerCase() == 'tbody') {
 82.1040 +          this.insertContent(this.contentFromAnonymousTable());
 82.1041 +        } else {
 82.1042 +          throw e;
 82.1043 +        }
 82.1044 +      }
 82.1045 +    } else {
 82.1046 +      this.range = this.element.ownerDocument.createRange();
 82.1047 +      if (this.initializeRange) this.initializeRange();
 82.1048 +      this.insertContent([this.range.createContextualFragment(this.content)]);
 82.1049 +    }
 82.1050 +
 82.1051 +    setTimeout(function() {content.evalScripts()}, 10);
 82.1052 +  },
 82.1053 +
 82.1054 +  contentFromAnonymousTable: function() {
 82.1055 +    var div = document.createElement('div');
 82.1056 +    div.innerHTML = '<table><tbody>' + this.content + '</tbody></table>';
 82.1057 +    return $A(div.childNodes[0].childNodes[0].childNodes);
 82.1058 +  }
 82.1059 +}
 82.1060 +
 82.1061 +var Insertion = new Object();
 82.1062 +
 82.1063 +Insertion.Before = Class.create();
 82.1064 +Insertion.Before.prototype = Object.extend(new Abstract.Insertion('beforeBegin'), {
 82.1065 +  initializeRange: function() {
 82.1066 +    this.range.setStartBefore(this.element);
 82.1067 +  },
 82.1068 +
 82.1069 +  insertContent: function(fragments) {
 82.1070 +    fragments.each((function(fragment) {
 82.1071 +      this.element.parentNode.insertBefore(fragment, this.element);
 82.1072 +    }).bind(this));
 82.1073 +  }
 82.1074 +});
 82.1075 +
 82.1076 +Insertion.Top = Class.create();
 82.1077 +Insertion.Top.prototype = Object.extend(new Abstract.Insertion('afterBegin'), {
 82.1078 +  initializeRange: function() {
 82.1079 +    this.range.selectNodeContents(this.element);
 82.1080 +    this.range.collapse(true);
 82.1081 +  },
 82.1082 +
 82.1083 +  insertContent: function(fragments) {
 82.1084 +    fragments.reverse(false).each((function(fragment) {
 82.1085 +      this.element.insertBefore(fragment, this.element.firstChild);
 82.1086 +    }).bind(this));
 82.1087 +  }
 82.1088 +});
 82.1089 +
 82.1090 +Insertion.Bottom = Class.create();
 82.1091 +Insertion.Bottom.prototype = Object.extend(new Abstract.Insertion('beforeEnd'), {
 82.1092 +  initializeRange: function() {
 82.1093 +    this.range.selectNodeContents(this.element);
 82.1094 +    this.range.collapse(this.element);
 82.1095 +  },
 82.1096 +
 82.1097 +  insertContent: function(fragments) {
 82.1098 +    fragments.each((function(fragment) {
 82.1099 +      this.element.appendChild(fragment);
 82.1100 +    }).bind(this));
 82.1101 +  }
 82.1102 +});
 82.1103 +
 82.1104 +Insertion.After = Class.create();
 82.1105 +Insertion.After.prototype = Object.extend(new Abstract.Insertion('afterEnd'), {
 82.1106 +  initializeRange: function() {
 82.1107 +    this.range.setStartAfter(this.element);
 82.1108 +  },
 82.1109 +
 82.1110 +  insertContent: function(fragments) {
 82.1111 +    fragments.each((function(fragment) {
 82.1112 +      this.element.parentNode.insertBefore(fragment,
 82.1113 +        this.element.nextSibling);
 82.1114 +    }).bind(this));
 82.1115 +  }
 82.1116 +});
 82.1117 +
 82.1118 +/*--------------------------------------------------------------------------*/
 82.1119 +
 82.1120 +Element.ClassNames = Class.create();
 82.1121 +Element.ClassNames.prototype = {
 82.1122 +  initialize: function(element) {
 82.1123 +    this.element = $(element);
 82.1124 +  },
 82.1125 +
 82.1126 +  _each: function(iterator) {
 82.1127 +    this.element.className.split(/\s+/).select(function(name) {
 82.1128 +      return name.length > 0;
 82.1129 +    })._each(iterator);
 82.1130 +  },
 82.1131 +
 82.1132 +  set: function(className) {
 82.1133 +    this.element.className = className;
 82.1134 +  },
 82.1135 +
 82.1136 +  add: function(classNameToAdd) {
 82.1137 +    if (this.include(classNameToAdd)) return;
 82.1138 +    this.set(this.toArray().concat(classNameToAdd).join(' '));
 82.1139 +  },
 82.1140 +
 82.1141 +  remove: function(classNameToRemove) {
 82.1142 +    if (!this.include(classNameToRemove)) return;
 82.1143 +    this.set(this.select(function(className) {
 82.1144 +      return className != classNameToRemove;
 82.1145 +    }).join(' '));
 82.1146 +  },
 82.1147 +
 82.1148 +  toString: function() {
 82.1149 +    return this.toArray().join(' ');
 82.1150 +  }
 82.1151 +}
 82.1152 +
 82.1153 +Object.extend(Element.ClassNames.prototype, Enumerable);
 82.1154 +var Field = {
 82.1155 +  clear: function() {
 82.1156 +    for (var i = 0; i < arguments.length; i++)
 82.1157 +      $(arguments[i]).value = '';
 82.1158 +  },
 82.1159 +
 82.1160 +  focus: function(element) {
 82.1161 +    $(element).focus();
 82.1162 +  },
 82.1163 +
 82.1164 +  present: function() {
 82.1165 +    for (var i = 0; i < arguments.length; i++)
 82.1166 +      if ($(arguments[i]).value == '') return false;
 82.1167 +    return true;
 82.1168 +  },
 82.1169 +
 82.1170 +  select: function(element) {
 82.1171 +    $(element).select();
 82.1172 +  },
 82.1173 +
 82.1174 +  activate: function(element) {
 82.1175 +    element = $(element);
 82.1176 +    element.focus();
 82.1177 +    if (element.select)
 82.1178 +      element.select();
 82.1179 +  }
 82.1180 +}
 82.1181 +
 82.1182 +/*--------------------------------------------------------------------------*/
 82.1183 +
 82.1184 +var Form = {
 82.1185 +  serialize: function(form) {
 82.1186 +    var elements = Form.getElements($(form));
 82.1187 +    var queryComponents = new Array();
 82.1188 +
 82.1189 +    for (var i = 0; i < elements.length; i++) {
 82.1190 +      var queryComponent = Form.Element.serialize(elements[i]);
 82.1191 +      if (queryComponent)
 82.1192 +        queryComponents.push(queryComponent);
 82.1193 +    }
 82.1194 +
 82.1195 +    return queryComponents.join('&');
 82.1196 +  },
 82.1197 +
 82.1198 +  getElements: function(form) {
 82.1199 +    form = $(form);
 82.1200 +    var elements = new Array();
 82.1201 +
 82.1202 +    for (tagName in Form.Element.Serializers) {
 82.1203 +      var tagElements = form.getElementsByTagName(tagName);
 82.1204 +      for (var j = 0; j < tagElements.length; j++)
 82.1205 +        elements.push(tagElements[j]);
 82.1206 +    }
 82.1207 +    return elements;
 82.1208 +  },
 82.1209 +
 82.1210 +  getInputs: function(form, typeName, name) {
 82.1211 +    form = $(form);
 82.1212 +    var inputs = form.getElementsByTagName('input');
 82.1213 +
 82.1214 +    if (!typeName && !name)
 82.1215 +      return inputs;
 82.1216 +
 82.1217 +    var matchingInputs = new Array();
 82.1218 +    for (var i = 0; i < inputs.length; i++) {
 82.1219 +      var input = inputs[i];
 82.1220 +      if ((typeName && input.type != typeName) ||
 82.1221 +          (name && input.name != name))
 82.1222 +        continue;
 82.1223 +      matchingInputs.push(input);
 82.1224 +    }
 82.1225 +
 82.1226 +    return matchingInputs;
 82.1227 +  },
 82.1228 +
 82.1229 +  disable: function(form) {
 82.1230 +    var elements = Form.getElements(form);
 82.1231 +    for (var i = 0; i < elements.length; i++) {
 82.1232 +      var element = elements[i];
 82.1233 +      element.blur();
 82.1234 +      element.disabled = 'true';
 82.1235 +    }
 82.1236 +  },
 82.1237 +
 82.1238 +  enable: function(form) {
 82.1239 +    var elements = Form.getElements(form);
 82.1240 +    for (var i = 0; i < elements.length; i++) {
 82.1241 +      var element = elements[i];
 82.1242 +      element.disabled = '';
 82.1243 +    }
 82.1244 +  },
 82.1245 +
 82.1246 +  findFirstElement: function(form) {
 82.1247 +    return Form.getElements(form).find(function(element) {
 82.1248 +      return element.type != 'hidden' && !element.disabled &&
 82.1249 +        ['input', 'select', 'textarea'].include(element.tagName.toLowerCase());
 82.1250 +    });
 82.1251 +  },
 82.1252 +
 82.1253 +  focusFirstElement: function(form) {
 82.1254 +    Field.activate(Form.findFirstElement(form));
 82.1255 +  },
 82.1256 +
 82.1257 +  reset: function(form) {
 82.1258 +    $(form).reset();
 82.1259 +  }
 82.1260 +}
 82.1261 +
 82.1262 +Form.Element = {
 82.1263 +  serialize: function(element) {
 82.1264 +    element = $(element);
 82.1265 +    var method = element.tagName.toLowerCase();
 82.1266 +    var parameter = Form.Element.Serializers[method](element);
 82.1267 +
 82.1268 +    if (parameter) {
 82.1269 +      var key = encodeURIComponent(parameter[0]);
 82.1270 +      if (key.length == 0) return;
 82.1271 +
 82.1272 +      if (parameter[1].constructor != Array)
 82.1273 +        parameter[1] = [parameter[1]];
 82.1274 +
 82.1275 +      return parameter[1].map(function(value) {
 82.1276 +        return key + '=' + encodeURIComponent(value);
 82.1277 +      }).join('&');
 82.1278 +    }
 82.1279 +  },
 82.1280 +
 82.1281 +  getValue: function(element) {
 82.1282 +    element = $(element);
 82.1283 +    var method = element.tagName.toLowerCase();
 82.1284 +    var parameter = Form.Element.Serializers[method](element);
 82.1285 +
 82.1286 +    if (parameter)
 82.1287 +      return parameter[1];
 82.1288 +  }
 82.1289 +}
 82.1290 +
 82.1291 +Form.Element.Serializers = {
 82.1292 +  input: function(element) {
 82.1293 +    switch (element.type.toLowerCase()) {
 82.1294 +      case 'submit':
 82.1295 +      case 'hidden':
 82.1296 +      case 'password':
 82.1297 +      case 'text':
 82.1298 +        return Form.Element.Serializers.textarea(element);
 82.1299 +      case 'checkbox':
 82.1300 +      case 'radio':
 82.1301 +        return Form.Element.Serializers.inputSelector(element);
 82.1302 +    }
 82.1303 +    return false;
 82.1304 +  },
 82.1305 +
 82.1306 +  inputSelector: function(element) {
 82.1307 +    if (element.checked)
 82.1308 +      return [element.name, element.value];
 82.1309 +  },
 82.1310 +
 82.1311 +  textarea: function(element) {
 82.1312 +    return [element.name, element.value];
 82.1313 +  },
 82.1314 +
 82.1315 +  select: function(element) {
 82.1316 +    return Form.Element.Serializers[element.type == 'select-one' ?
 82.1317 +      'selectOne' : 'selectMany'](element);
 82.1318 +  },
 82.1319 +
 82.1320 +  selectOne: function(element) {
 82.1321 +    var value = '', opt, index = element.selectedIndex;
 82.1322 +    if (index >= 0) {
 82.1323 +      opt = element.options[index];
 82.1324 +      value = opt.value;
 82.1325 +      if (!value && !('value' in opt))
 82.1326 +        value = opt.text;
 82.1327 +    }
 82.1328 +    return [element.name, value];
 82.1329 +  },
 82.1330 +
 82.1331 +  selectMany: function(element) {
 82.1332 +    var value = new Array();
 82.1333 +    for (var i = 0; i < element.length; i++) {
 82.1334 +      var opt = element.options[i];
 82.1335 +      if (opt.selected) {
 82.1336 +        var optValue = opt.value;
 82.1337 +        if (!optValue && !('value' in opt))
 82.1338 +          optValue = opt.text;
 82.1339 +        value.push(optValue);
 82.1340 +      }
 82.1341 +    }
 82.1342 +    return [element.name, value];
 82.1343 +  }
 82.1344 +}
 82.1345 +
 82.1346 +/*--------------------------------------------------------------------------*/
 82.1347 +
 82.1348 +var $F = Form.Element.getValue;
 82.1349 +
 82.1350 +/*--------------------------------------------------------------------------*/
 82.1351 +
 82.1352 +Abstract.TimedObserver = function() {}
 82.1353 +Abstract.TimedObserver.prototype = {
 82.1354 +  initialize: function(element, frequency, callback) {
 82.1355 +    this.frequency = frequency;
 82.1356 +    this.element   = $(element);
 82.1357 +    this.callback  = callback;
 82.1358 +
 82.1359 +    this.lastValue = this.getValue();
 82.1360 +    this.registerCallback();
 82.1361 +  },
 82.1362 +
 82.1363 +  registerCallback: function() {
 82.1364 +    setInterval(this.onTimerEvent.bind(this), this.frequency * 1000);
 82.1365 +  },
 82.1366 +
 82.1367 +  onTimerEvent: function() {
 82.1368 +    var value = this.getValue();
 82.1369 +    if (this.lastValue != value) {
 82.1370 +      this.callback(this.element, value);
 82.1371 +      this.lastValue = value;
 82.1372 +    }
 82.1373 +  }
 82.1374 +}
 82.1375 +
 82.1376 +Form.Element.Observer = Class.create();
 82.1377 +Form.Element.Observer.prototype = Object.extend(new Abstract.TimedObserver(), {
 82.1378 +  getValue: function() {
 82.1379 +    return Form.Element.getValue(this.element);
 82.1380 +  }
 82.1381 +});
 82.1382 +
 82.1383 +Form.Observer = Class.create();
 82.1384 +Form.Observer.prototype = Object.extend(new Abstract.TimedObserver(), {
 82.1385 +  getValue: function() {
 82.1386 +    return Form.serialize(this.element);
 82.1387 +  }
 82.1388 +});
 82.1389 +
 82.1390 +/*--------------------------------------------------------------------------*/
 82.1391 +
 82.1392 +Abstract.EventObserver = function() {}
 82.1393 +Abstract.EventObserver.prototype = {
 82.1394 +  initialize: function(element, callback) {
 82.1395 +    this.element  = $(element);
 82.1396 +    this.callback = callback;
 82.1397 +
 82.1398 +    this.lastValue = this.getValue();
 82.1399 +    if (this.element.tagName.toLowerCase() == 'form')
 82.1400 +      this.registerFormCallbacks();
 82.1401 +    else
 82.1402 +      this.registerCallback(this.element);
 82.1403 +  },
 82.1404 +
 82.1405 +  onElementEvent: function() {
 82.1406 +    var value = this.getValue();
 82.1407 +    if (this.lastValue != value) {
 82.1408 +      this.callback(this.element, value);
 82.1409 +      this.lastValue = value;
 82.1410 +    }
 82.1411 +  },
 82.1412 +
 82.1413 +  registerFormCallbacks: function() {
 82.1414 +    var elements = Form.getElements(this.element);
 82.1415 +    for (var i = 0; i < elements.length; i++)
 82.1416 +      this.registerCallback(elements[i]);
 82.1417 +  },
 82.1418 +
 82.1419 +  registerCallback: function(element) {
 82.1420 +    if (element.type) {
 82.1421 +      switch (element.type.toLowerCase()) {
 82.1422 +        case 'checkbox':
 82.1423 +        case 'radio':
 82.1424 +          Event.observe(element, 'click', this.onElementEvent.bind(this));
 82.1425 +          break;
 82.1426 +        case 'password':
 82.1427 +        case 'text':
 82.1428 +        case 'textarea':
 82.1429 +        case 'select-one':
 82.1430 +        case 'select-multiple':
 82.1431 +          Event.observe(element, 'change', this.onElementEvent.bind(this));
 82.1432 +          break;
 82.1433 +      }
 82.1434 +    }
 82.1435 +  }
 82.1436 +}
 82.1437 +
 82.1438 +Form.Element.EventObserver = Class.create();
 82.1439 +Form.Element.EventObserver.prototype = Object.extend(new Abstract.EventObserver(), {
 82.1440 +  getValue: function() {
 82.1441 +    return Form.Element.getValue(this.element);
 82.1442 +  }
 82.1443 +});
 82.1444 +
 82.1445 +Form.EventObserver = Class.create();
 82.1446 +Form.EventObserver.prototype = Object.extend(new Abstract.EventObserver(), {
 82.1447 +  getValue: function() {
 82.1448 +    return Form.serialize(this.element);
 82.1449 +  }
 82.1450 +});
 82.1451 +if (!window.Event) {
 82.1452 +  var Event = new Object();
 82.1453 +}
 82.1454 +
 82.1455 +Object.extend(Event, {
 82.1456 +  KEY_BACKSPACE: 8,
 82.1457 +  KEY_TAB:       9,
 82.1458 +  KEY_RETURN:   13,
 82.1459 +  KEY_ESC:      27,
 82.1460 +  KEY_LEFT:     37,
 82.1461 +  KEY_UP:       38,
 82.1462 +  KEY_RIGHT:    39,
 82.1463 +  KEY_DOWN:     40,
 82.1464 +  KEY_DELETE:   46,
 82.1465 +
 82.1466 +  element: function(event) {
 82.1467 +    return event.target || event.srcElement;
 82.1468 +  },
 82.1469 +
 82.1470 +  isLeftClick: function(event) {
 82.1471 +    return (((event.which) && (event.which == 1)) ||
 82.1472 +            ((event.button) && (event.button == 1)));
 82.1473 +  },
 82.1474 +
 82.1475 +  pointerX: function(event) {
 82.1476 +    return event.pageX || (event.clientX +
 82.1477 +      (document.documentElement.scrollLeft || document.body.scrollLeft));
 82.1478 +  },
 82.1479 +
 82.1480 +  pointerY: function(event) {
 82.1481 +    return event.pageY || (event.clientY +
 82.1482 +      (document.documentElement.scrollTop || document.body.scrollTop));
 82.1483 +  },
 82.1484 +
 82.1485 +  stop: function(event) {
 82.1486 +    if (event.preventDefault) {
 82.1487 +      event.preventDefault();
 82.1488 +      event.stopPropagation();
 82.1489 +    } else {
 82.1490 +      event.returnValue = false;
 82.1491 +      event.cancelBubble = true;
 82.1492 +    }
 82.1493 +  },
 82.1494 +
 82.1495 +  // find the first node with the given tagName, starting from the
 82.1496 +  // node the event was triggered on; traverses the DOM upwards
 82.1497 +  findElement: function(event, tagName) {
 82.1498 +    var element = Event.element(event);
 82.1499 +    while (element.parentNode && (!element.tagName ||
 82.1500 +        (element.tagName.toUpperCase() != tagName.toUpperCase())))
 82.1501 +      element = element.parentNode;
 82.1502 +    return element;
 82.1503 +  },
 82.1504 +
 82.1505 +  observers: false,
 82.1506 +
 82.1507 +  _observeAndCache: function(element, name, observer, useCapture) {
 82.1508 +    if (!this.observers) this.observers = [];
 82.1509 +    if (element.addEventListener) {
 82.1510 +      this.observers.push([element, name, observer, useCapture]);
 82.1511 +      element.addEventListener(name, observer, useCapture);
 82.1512 +    } else if (element.attachEvent) {
 82.1513 +      this.observers.push([element, name, observer, useCapture]);
 82.1514 +      element.attachEvent('on' + name, observer);
 82.1515 +    }
 82.1516 +  },
 82.1517 +
 82.1518 +  unloadCache: function() {
 82.1519 +    if (!Event.observers) return;
 82.1520 +    for (var i = 0; i < Event.observers.length; i++) {
 82.1521 +      Event.stopObserving.apply(this, Event.observers[i]);
 82.1522 +      Event.observers[i][0] = null;
 82.1523 +    }
 82.1524 +    Event.observers = false;
 82.1525 +  },
 82.1526 +
 82.1527 +  observe: function(element, name, observer, useCapture) {
 82.1528 +    var element = $(element);
 82.1529 +    useCapture = useCapture || false;
 82.1530 +
 82.1531 +    if (name == 'keypress' &&
 82.1532 +        (navigator.appVersion.match(/Konqueror|Safari|KHTML/)
 82.1533 +        || element.attachEvent))
 82.1534 +      name = 'keydown';
 82.1535 +
 82.1536 +    this._observeAndCache(element, name, observer, useCapture);
 82.1537 +  },
 82.1538 +
 82.1539 +  stopObserving: function(element, name, observer, useCapture) {
 82.1540 +    var element = $(element);
 82.1541 +    useCapture = useCapture || false;
 82.1542 +
 82.1543 +    if (name == 'keypress' &&
 82.1544 +        (navigator.appVersion.match(/Konqueror|Safari|KHTML/)
 82.1545 +        || element.detachEvent))
 82.1546 +      name = 'keydown';
 82.1547 +
 82.1548 +    if (element.removeEventListener) {
 82.1549 +      element.removeEventListener(name, observer, useCapture);
 82.1550 +    } else if (element.detachEvent) {
 82.1551 +      element.detachEvent('on' + name, observer);
 82.1552 +    }
 82.1553 +  }
 82.1554 +});
 82.1555 +
 82.1556 +/* prevent memory leaks in IE */
 82.1557 +Event.observe(window, 'unload', Event.unloadCache, false);
 82.1558 +var Position = {
 82.1559 +  // set to true if needed, warning: firefox performance problems
 82.1560 +  // NOT neeeded for page scrolling, only if draggable contained in
 82.1561 +  // scrollable elements
 82.1562 +  includeScrollOffsets: false,
 82.1563 +
 82.1564 +  // must be called before calling withinIncludingScrolloffset, every time the
 82.1565 +  // page is scrolled
 82.1566 +  prepare: function() {
 82.1567 +    this.deltaX =  window.pageXOffset
 82.1568 +                || document.documentElement.scrollLeft
 82.1569 +                || document.body.scrollLeft
 82.1570 +                || 0;
 82.1571 +    this.deltaY =  window.pageYOffset
 82.1572 +                || document.documentElement.scrollTop
 82.1573 +                || document.body.scrollTop
 82.1574 +                || 0;
 82.1575 +  },
 82.1576 +
 82.1577 +  realOffset: function(element) {
 82.1578 +    var valueT = 0, valueL = 0;
 82.1579 +    do {
 82.1580 +      valueT += element.scrollTop  || 0;
 82.1581 +      valueL += element.scrollLeft || 0;
 82.1582 +      element = element.parentNode;
 82.1583 +    } while (element);
 82.1584 +    return [valueL, valueT];
 82.1585 +  },
 82.1586 +
 82.1587 +  cumulativeOffset: function(element) {
 82.1588 +    var valueT = 0, valueL = 0;
 82.1589 +    do {
 82.1590 +      valueT += element.offsetTop  || 0;
 82.1591 +      valueL += element.offsetLeft || 0;
 82.1592 +      element = element.offsetParent;
 82.1593 +    } while (element);
 82.1594 +    return [valueL, valueT];
 82.1595 +  },
 82.1596 +
 82.1597 +  positionedOffset: function(element) {
 82.1598 +    var valueT = 0, valueL = 0;
 82.1599 +    do {
 82.1600 +      valueT += element.offsetTop  || 0;
 82.1601 +      valueL += element.offsetLeft || 0;
 82.1602 +      element = element.offsetParent;
 82.1603 +      if (element) {
 82.1604 +        p = Element.getStyle(element, 'position');
 82.1605 +        if (p == 'relative' || p == 'absolute') break;
 82.1606 +      }
 82.1607 +    } while (element);
 82.1608 +    return [valueL, valueT];
 82.1609 +  },
 82.1610 +
 82.1611 +  offsetParent: function(element) {
 82.1612 +    if (element.offsetParent) return element.offsetParent;
 82.1613 +    if (element == document.body) return element;
 82.1614 +
 82.1615 +    while ((element = element.parentNode) && element != document.body)
 82.1616 +      if (Element.getStyle(element, 'position') != 'static')
 82.1617 +        return element;
 82.1618 +
 82.1619 +    return document.body;
 82.1620 +  },
 82.1621 +
 82.1622 +  // caches x/y coordinate pair to use with overlap
 82.1623 +  within: function(element, x, y) {
 82.1624 +    if (this.includeScrollOffsets)
 82.1625 +      return this.withinIncludingScrolloffsets(element, x, y);
 82.1626 +    this.xcomp = x;
 82.1627 +    this.ycomp = y;
 82.1628 +    this.offset = this.cumulativeOffset(element);
 82.1629 +
 82.1630 +    return (y >= this.offset[1] &&
 82.1631 +            y <  this.offset[1] + element.offsetHeight &&
 82.1632 +            x >= this.offset[0] &&
 82.1633 +            x <  this.offset[0] + element.offsetWidth);
 82.1634 +  },
 82.1635 +
 82.1636 +  withinIncludingScrolloffsets: function(element, x, y) {
 82.1637 +    var offsetcache = this.realOffset(element);
 82.1638 +
 82.1639 +    this.xcomp = x + offsetcache[0] - this.deltaX;
 82.1640 +    this.ycomp = y + offsetcache[1] - this.deltaY;
 82.1641 +    this.offset = this.cumulativeOffset(element);
 82.1642 +
 82.1643 +    return (this.ycomp >= this.offset[1] &&
 82.1644 +            this.ycomp <  this.offset[1] + element.offsetHeight &&
 82.1645 +            this.xcomp >= this.offset[0] &&
 82.1646 +            this.xcomp <  this.offset[0] + element.offsetWidth);
 82.1647 +  },
 82.1648 +
 82.1649 +  // within must be called directly before
 82.1650 +  overlap: function(mode, element) {
 82.1651 +    if (!mode) return 0;
 82.1652 +    if (mode == 'vertical')
 82.1653 +      return ((this.offset[1] + element.offsetHeight) - this.ycomp) /
 82.1654 +        element.offsetHeight;
 82.1655 +    if (mode == 'horizontal')
 82.1656 +      return ((this.offset[0] + element.offsetWidth) - this.xcomp) /
 82.1657 +        element.offsetWidth;
 82.1658 +  },
 82.1659 +
 82.1660 +  clone: function(source, target) {
 82.1661 +    source = $(source);
 82.1662 +    target = $(target);
 82.1663 +    target.style.position = 'absolute';
 82.1664 +    var offsets = this.cumulativeOffset(source);
 82.1665 +    target.style.top    = offsets[1] + 'px';
 82.1666 +    target.style.left   = offsets[0] + 'px';
 82.1667 +    target.style.width  = source.offsetWidth + 'px';
 82.1668 +    target.style.height = source.offsetHeight + 'px';
 82.1669 +  },
 82.1670 +
 82.1671 +  page: function(forElement) {
 82.1672 +    var valueT = 0, valueL = 0;
 82.1673 +
 82.1674 +    var element = forElement;
 82.1675 +    do {
 82.1676 +      valueT += element.offsetTop  || 0;
 82.1677 +      valueL += element.offsetLeft || 0;
 82.1678 +
 82.1679 +      // Safari fix
 82.1680 +      if (element.offsetParent==document.body)
 82.1681 +        if (Element.getStyle(element,'position')=='absolute') break;
 82.1682 +
 82.1683 +    } while (element = element.offsetParent);
 82.1684 +
 82.1685 +    element = forElement;
 82.1686 +    do {
 82.1687 +      valueT -= element.scrollTop  || 0;
 82.1688 +      valueL -= element.scrollLeft || 0;
 82.1689 +    } while (element = element.parentNode);
 82.1690 +
 82.1691 +    return [valueL, valueT];
 82.1692 +  },
 82.1693 +
 82.1694 +  clone: function(source, target) {
 82.1695 +    var options = Object.extend({
 82.1696 +      setLeft:    true,
 82.1697 +      setTop:     true,
 82.1698 +      setWidth:   true,
 82.1699 +      setHeight:  true,
 82.1700 +      offsetTop:  0,
 82.1701 +      offsetLeft: 0
 82.1702 +    }, arguments[2] || {})
 82.1703 +
 82.1704 +    // find page position of source
 82.1705 +    source = $(source);
 82.1706 +    var p = Position.page(source);
 82.1707 +
 82.1708 +    // find coordinate system to use
 82.1709 +    target = $(target);
 82.1710 +    var delta = [0, 0];
 82.1711 +    var parent = null;
 82.1712 +    // delta [0,0] will do fine with position: fixed elements,
 82.1713 +    // position:absolute needs offsetParent deltas
 82.1714 +    if (Element.getStyle(target,'position') == 'absolute') {
 82.1715 +      parent = Position.offsetParent(target);
 82.1716 +      delta = Position.page(parent);
 82.1717 +    }
 82.1718 +
 82.1719 +    // correct by body offsets (fixes Safari)
 82.1720 +    if (parent == document.body) {
 82.1721 +      delta[0] -= document.body.offsetLeft;
 82.1722 +      delta[1] -= document.body.offsetTop;
 82.1723 +    }
 82.1724 +
 82.1725 +    // set position
 82.1726 +    if(options.setLeft)   target.style.left  = (p[0] - delta[0] + options.offsetLeft) + 'px';
 82.1727 +    if(options.setTop)    target.style.top   = (p[1] - delta[1] + options.offsetTop) + 'px';
 82.1728 +    if(options.setWidth)  target.style.width = source.offsetWidth + 'px';
 82.1729 +    if(options.setHeight) target.style.height = source.offsetHeight + 'px';
 82.1730 +  },
 82.1731 +
 82.1732 +  absolutize: function(element) {
 82.1733 +    element = $(element);
 82.1734 +    if (element.style.position == 'absolute') return;
 82.1735 +    Position.prepare();
 82.1736 +
 82.1737 +    var offsets = Position.positionedOffset(element);
 82.1738 +    var top     = offsets[1];
 82.1739 +    var left    = offsets[0];
 82.1740 +    var width   = element.clientWidth;
 82.1741 +    var height  = element.clientHeight;
 82.1742 +
 82.1743 +    element._originalLeft   = left - parseFloat(element.style.left  || 0);
 82.1744 +    element._originalTop    = top  - parseFloat(element.style.top || 0);
 82.1745 +    element._originalWidth  = element.style.width;
 82.1746 +    element._originalHeight = element.style.height;
 82.1747 +
 82.1748 +    element.style.position = 'absolute';
 82.1749 +    element.style.top    = top + 'px';;
 82.1750 +    element.style.left   = left + 'px';;
 82.1751 +    element.style.width  = width + 'px';;
 82.1752 +    element.style.height = height + 'px';;
 82.1753 +  },
 82.1754 +
 82.1755 +  relativize: function(element) {
 82.1756 +    element = $(element);
 82.1757 +    if (element.style.position == 'relative') return;
 82.1758 +    Position.prepare();
 82.1759 +
 82.1760 +    element.style.position = 'relative';
 82.1761 +    var top  = parseFloat(element.style.top  || 0) - (element._originalTop || 0);
 82.1762 +    var left = parseFloat(element.style.left || 0) - (element._originalLeft || 0);
 82.1763 +
 82.1764 +    element.style.top    = top + 'px';
 82.1765 +    element.style.left   = left + 'px';
 82.1766 +    element.style.height = element._originalHeight;
 82.1767 +    element.style.width  = element._originalWidth;
 82.1768 +  }
 82.1769 +}
 82.1770 +
 82.1771 +// Safari returns margins on body which is incorrect if the child is absolutely
 82.1772 +// positioned.  For performance reasons, redefine Position.cumulativeOffset for
 82.1773 +// KHTML/WebKit only.
 82.1774 +if (/Konqueror|Safari|KHTML/.test(navigator.userAgent)) {
 82.1775 +  Position.cumulativeOffset = function(element) {
 82.1776 +    var valueT = 0, valueL = 0;
 82.1777 +    do {
 82.1778 +      valueT += element.offsetTop  || 0;
 82.1779 +      valueL += element.offsetLeft || 0;
 82.1780 +      if (element.offsetParent == document.body)
 82.1781 +        if (Element.getStyle(element, 'position') == 'absolute') break;
 82.1782 +
 82.1783 +      element = element.offsetParent;
 82.1784 +    } while (element);
 82.1785 +
 82.1786 +    return [valueL, valueT];
 82.1787 +  }
 82.1788 +}
 82.1789 \ No newline at end of file
    83.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    83.2 +++ b/onlypaths/js/svgpaths.js	Sun Jan 31 12:33:33 2010 -0500
    83.3 @@ -0,0 +1,295 @@
    83.4 +
    83.5 +var k = (Math.sqrt(2)-1)*4/3; 
    83.6 +var mult=50;
    83.7 +var ctx=0; 
    83.8 +var cty=0;   
    83.9 +
   83.10 +var round=    "M "+ctx+","+(cty+mult)+" C "+(ctx+mult*k)+","+(cty+mult)+" "+(ctx+mult)+","+(cty+mult*k)+" "+(ctx+mult)+","+cty+" C"+(ctx+mult)+","+(cty-mult*k)+"  "+(ctx+mult*k)+","+(cty-mult)+" "+ctx+","+(cty-mult)+" C"+(ctx-mult*k)+","+(cty-mult)+" "+(ctx-mult)+","+(cty-mult*k)+" "+(ctx-mult)+","+(cty)+"  "+(ctx-mult)+","+(cty+mult*k)+"  "+(ctx-mult*k)+","+(cty+mult)+"  "+ctx+","+(cty+mult)+" z";
   83.11 +var mult=30;
   83.12 +//var roundInside=round+" M "+ctx+","+(cty+mult)+" C "+ctx+","+(cty-mult)+" "+(ctx-mult*k)+","+(cty+mult)+"  "+(ctx+mult)+","+(cty-mult*k)+"  "+(ctx+mult)+","+(cty)+"  "+(ctx+mult)+","+(cty+mult*k)+" "+(ctx+mult*k)+","+(cty+mult)+" "+ctx+","+(cty+mult)+" "+(ctx-mult*k)+","+(cty+mult)+" "+(ctx-mult)+","+(cty+mult*k)+"  "+(ctx-mult)+","+cty+" "+(ctx-mult)+","+(cty-mult*k)+" "+(ctx-mult*k)+","+(cty-mult)+" z";
   83.13 +var semicircle="M "+ctx+","+(cty+mult)+" C "+(ctx+mult*k)+","+(cty+mult)+" "+(ctx+mult)+","+(cty+mult*k)+" "+(ctx+mult)+","+cty+" C"+(ctx+mult)+","+(cty-mult*k)+"  "+(ctx+mult*k)+","+(cty-mult)+" "+ctx+","+(cty-mult)+" ";
   83.14 +var sectors="M 50,50 L50,200 A100,100 0 0,1 200,50 L50,50";
   83.15 +var roundInside=round+"M "+ctx+","+(cty+mult)+" C "+(ctx-mult*k)+","+(cty-mult)+" "+(ctx-mult)+","+(cty-mult*k)+" "+(ctx-mult)+","+cty+" "+(ctx-mult)+","+(cty-mult*k)+"  "+(ctx-mult*k)+","+(cty+mult)+" "+ctx+","+(cty+mult)+" "+(ctx+mult*k)+","+(cty+mult)+" "+(ctx+mult)+","+(cty+mult*k)+" "+(ctx+mult)+","+(cty)+"  "+(ctx+mult)+","+(cty-mult*k)+"  "+(ctx+mult*k)+","+(cty-mult)+"  "+ctx+","+(cty-mult)+" z";
   83.16 +
   83.17 + //m-6,0 c0,-8 12,-8 12,0 m-12,0 c0,8 12,8 12,0
   83.18 +
   83.19 +var mult=50;
   83.20 +var semiround="M "+ctx+","+(cty+mult)+" C "+(ctx+mult*k)+","+(cty+mult)+" "+(ctx+mult)+","+(cty+mult*k)+" "+(ctx+mult)+","+cty+" ";
   83.21 +var mult=30;
   83.22 +var horn=semiround+"C "+(ctx+mult)+","+(cty+mult*k)+" "+ (ctx+mult*k)+","+(cty+mult)+" "+ ctx+","+(cty+mult)+" z";
   83.23 +
   83.24 +
   83.25 +var mult=50;
   83.26 +var ctx=0; 
   83.27 +var cty=0;   
   83.28 +var mult=50;
   83.29 +var semiround="M "+ctx+","+(cty+mult)+" C "+(ctx+mult*k)+","+(cty+mult)+" "+(ctx+mult)+","+(cty+mult*k)+" "+(ctx+mult)+","+cty+" ";
   83.30 +var mult=30;
   83.31 +var semiroundInside=semiround+"L"+(ctx+mult)+","+cty+" C"+(ctx+mult)+","+(cty+mult*k)+" "+ (ctx+mult*k)+","+(cty+mult)+" "+ ctx+","+(cty+mult)+" z";
   83.32 +
   83.33 +
   83.34 +var mult=0;
   83.35 +var ctx=0; 
   83.36 +var cty=60;
   83.37 +var rad1=60;
   83.38 +var rad2=8;
   83.39 +var rad=0;      
   83.40 +var addr=20;
   83.41 +var addx=70;
   83.42 +var addy=0
   83.43 +var mult=30;
   83.44 +var multiround='';
   83.45 +for(var m=0;m<8;m++){ 
   83.46 + mult=rad1;
   83.47 + ctx+=addx;
   83.48 + var semi="M "+ctx+","+(cty+mult)+" C "+(ctx+mult*k)+","+(cty+mult)+" "+(ctx+mult)+","+(cty+mult*k)+" "+(ctx+mult)+","+cty+" ";
   83.49 + 
   83.50 + mult=rad;
   83.51 +multiround+=semi+"L"+(ctx+mult)+","+cty+" C"+(ctx+mult)+","+(cty+mult*k)+" "+ (ctx+mult*k)+","+(cty+mult)+" "+ ctx+","+(cty+mult)+" z ";
   83.52 +rad+=rad2;
   83.53 +}
   83.54 +
   83.55 +
   83.56 +
   83.57 +
   83.58 +var mult=0;
   83.59 +var ctx=0; 
   83.60 +var cty=60;
   83.61 +var rad1=60;
   83.62 +var rad2=8;
   83.63 +var rad=0;      
   83.64 +var addr=20;
   83.65 +var addx=70;
   83.66 +var addy=0
   83.67 +var mult=30;
   83.68 +var multihorn='';
   83.69 +for(var m=0;m<8;m++){ 
   83.70 + mult=rad1;
   83.71 + ctx+=addx;
   83.72 + var semi="M "+ctx+","+(cty+mult)+" C "+(ctx+mult*k)+","+(cty+mult)+" "+(ctx+mult)+","+(cty+mult*k)+" "+(ctx+mult)+","+cty+" ";
   83.73 + 
   83.74 + mult=rad;
   83.75 +multihorn+=semi+"C "+(ctx+mult)+","+(cty+mult*k)+" "+ (ctx+mult*k)+","+(cty+mult)+" "+ ctx+","+(cty+mult)+" z";
   83.76 +rad+=rad2;
   83.77 +}
   83.78 +
   83.79 +var mult=0;  
   83.80 +var mult1=0;
   83.81 +var ctx=0; 
   83.82 +var cty=60;
   83.83 +var rad1=60;
   83.84 +var rad2=8;
   83.85 +var rad=0;      
   83.86 +var addr=20;
   83.87 +var addx=70;
   83.88 +var addy=0
   83.89 +var mult=30;
   83.90 +var multilife1='';
   83.91 +for(var m=0;m<8;m++){ 
   83.92 + mult=rad1;
   83.93 + ctx+=addx;
   83.94 + var semi="M "+ctx+","+(cty+mult)+" C "+(ctx+mult*k)+","+(cty+mult)+" "+(ctx+mult)+","+(cty+mult*k)+" "+(ctx+mult)+","+cty+" ";
   83.95 + 
   83.96 + mult1=rad;
   83.97 +multilife1+=semi+"C "+(ctx+mult)+","+(cty+mult1*k)+" "+ (ctx+mult1*k)+","+(cty+mult1)+" "+ ctx+","+(cty+mult)+" z";
   83.98 +rad+=rad2;
   83.99 +}
  83.100 +
  83.101 +
  83.102 +var mult=0;  
  83.103 +var mult1=0;  
  83.104 +var mult2=200;
  83.105 +var ctx=0; 
  83.106 +var cty=60;
  83.107 +var rad1=60;
  83.108 +var rad2=8;
  83.109 +var rad=0;      
  83.110 +var addr=20;
  83.111 +var addx=70;
  83.112 +var addy=0
  83.113 +var mult=30;
  83.114 +var multilife2='';
  83.115 +for(var m=0;m<8;m++){ 
  83.116 + mult=rad1;
  83.117 + ctx+=addx;
  83.118 + var semi="M "+ctx+","+(cty+mult)+" C "+(ctx+mult1*k)+","+(cty+mult1)+" "+(ctx+mult1)+","+(cty+mult1*k)+" "+(ctx+mult)+","+cty+" ";
  83.119 + mult2=rad;
  83.120 + multilife2+=semi+"C "+(ctx+mult)+","+(cty+mult2*k)+" "+ (ctx+mult2*k)+","+(cty+mult2)+" "+ ctx+","+(cty+mult)+" z";
  83.121 + rad+=rad2;
  83.122 +}
  83.123 +
  83.124 +var mult=30;
  83.125 +var mult1=70;  
  83.126 +var mult2=0;
  83.127 +var ctx=0; 
  83.128 +var cty=60;
  83.129 +var rad1=60;
  83.130 +var rad2=8;
  83.131 +var rad=0;      
  83.132 +var addr=20;
  83.133 +var addx=70;
  83.134 +var addy=0
  83.135 +var multilife3=shapes2faces(mult,mult1,mult2,ctx,cty,rad,rad1,rad2,addr,addx,addy);
  83.136 +
  83.137 +var ctx=0; 
  83.138 +var cty=0;
  83.139 +
  83.140 +var mult=30;
  83.141 +var mult1=70;  
  83.142 +var mult2=0;
  83.143 +
  83.144 +var rad1=60;
  83.145 +var rad2=8;
  83.146 +var rad=0;      
  83.147 +var addr=20;
  83.148 +var addx=70;
  83.149 +var addy=0
  83.150 +var multilife4=shapes2faces1(ctx,cty,mult,mult1,mult2,rad,rad1,rad2,addr,addx,addy);
  83.151 +
  83.152 +
  83.153 +function shapes2faces(mult,mult1,mult2,ctx,cty,rad,rad1,rad2,addr,addx,addy){
  83.154 + var life='';
  83.155 + for(var m=0;m<8;m++){ 
  83.156 +  mult=rad1;
  83.157 +  ctx+=addx;
  83.158 +  var semi="M "+ctx+","+(cty+mult)+" C "+(ctx+mult1*k)+","+(cty+mult1)+" "+(ctx+mult1)+","+(cty+mult1*k)+" "+(ctx+mult)+","+cty+" ";
  83.159 +  mult2=rad;
  83.160 +  life+=semi+"C "+(ctx+mult)+","+(cty+mult2*k)+" "+ (ctx+mult2*k)+","+(cty+mult2)+" "+ ctx+","+(cty+mult)+" z";
  83.161 +  rad+=rad2;
  83.162 + }                      
  83.163 + return life; 
  83.164 +}                     
  83.165 +
  83.166 +
  83.167 +function shapes2faces1(mult,mult1,mult2,ctx,cty,rad,rad1,rad2,addr,addx,addy){
  83.168 + var life='';
  83.169 + for(var m=0;m<8;m++){ 
  83.170 +  mult=rad1;
  83.171 +  ctx+=addx;
  83.172 +  var semi="M "+ctx+","+(cty+mult)+" C "+(ctx+mult2*k)+","+(cty+mult2)+" "+(ctx+mult2)+","+(cty+mult2*k)+" "+(ctx+mult)+","+cty+" ";
  83.173 +  mult2=rad;
  83.174 +  life+=semi+"C "+(ctx+mult)+","+(cty+mult2*k)+" "+ (ctx+mult2*k)+","+(cty+mult2)+" "+ ctx+","+(cty+mult)+" z";
  83.175 +  rad+=rad2;
  83.176 + }                      
  83.177 + return life; 
  83.178 +}   
  83.179 +
  83.180 +
  83.181 +
  83.182 +var islab=isoSlab(200,200,40,1);
  83.183 +function isoSlab(x,y,side,height){  
  83.184 + var chain=''; 
  83.185 + var iso=0.5235987755982988;//deg2rad(30);//   
  83.186 + //parent.document.getElementById('someinfo').value=iso;
  83.187 +  iso1=iso*1;
  83.188 +  iso2=iso*3;
  83.189 +  iso3=iso*5; 
  83.190 +  iso4=iso*7;
  83.191 +  iso5=iso*9;
  83.192 +  iso6=iso*11; 
  83.193 +  l1x=x+side*Math.cos(iso1);
  83.194 +  l1y=y+side*Math.sin(iso1); 
  83.195 +  l2x=l1x+side*Math.cos(iso3);
  83.196 +  l2y=l1y+side*Math.sin(iso3);
  83.197 +  l3x=l2x+side*Math.cos(iso4);
  83.198 +  l3y=l2y+side*Math.sin(iso4);
  83.199 +
  83.200 +  chain+="M "+x+","+y+" L"+l1x+','+l1y+" "+l2x+','+l2y+" "+l3x+','+l3y+" "+x+","+y;
  83.201 + return chain; 
  83.202 +}
  83.203 +
  83.204 +var iblock=isoBlock(200,200,40,60);
  83.205 +function isoBlock(x,y,side,height){  
  83.206 + 
  83.207 + var chain=''; 
  83.208 + var iso=0.5235987755982988;//deg2rad(30);//   
  83.209 + parent.document.getElementById('someinfo').value=iso;
  83.210 +  iso1=iso*1;
  83.211 +  iso2=iso*3;
  83.212 +  iso3=iso*5; 
  83.213 +  iso4=iso*7;
  83.214 +  iso5=iso*9;
  83.215 +  iso6=iso*11; 
  83.216 +  l1x=x+side*Math.cos(iso1);
  83.217 +  l1y=y+side*Math.sin(iso1); 
  83.218 +  l2x=l1x+side*Math.cos(iso3);
  83.219 +  l2y=l1y+side*Math.sin(iso3);
  83.220 +  l3x=l2x+side*Math.cos(iso4);
  83.221 +  l3y=l2y+side*Math.sin(iso4);
  83.222 +  
  83.223 +  m1x=l1x+height*Math.cos(iso2);
  83.224 +  m1y=l1y+height*Math.sin(iso2); 
  83.225 +  m2x=m1x+side*Math.cos(iso3);
  83.226 +  m2y=m1y+side*Math.sin(iso3); 
  83.227 +  m3x=m2x+side*Math.cos(iso4);
  83.228 +  m3y=m2y+side*Math.sin(iso4); 
  83.229 +
  83.230 +  
  83.231 +
  83.232 +  chain+="M "+x+","+y+" L"+l1x+','+l1y+" "+l2x+','+l2y+" "+l3x+','+l3y+" "+x+","+y; 
  83.233 +  chain+="M "+l1x+","+l1y+" L"+ m1x+','+m1y+" "+m2x+','+m2y+" "+l2x+','+l2y+" "+l1x+" "+l1y;
  83.234 +  chain+="M "+l2x+","+l2y+" L"+ m2x+','+m2y+" "+m3x+','+m3y+" "+l3x+','+l3y+" "+l2x+" "+l2y;
  83.235 +
  83.236 + return chain; 
  83.237 +}
  83.238 +function path(name,data) 
  83.239 + {
  83.240 +        this.name=name;
  83.241 +        this.data=data;
  83.242 + }   
  83.243 +  var paths = new Array();  
  83.244 +paths.push(new path(" "," "));   
  83.245 +paths.push(new path("Circle","M "+ctx+","+(cty+mult)+" C "+(ctx+mult*k)+","+(cty+mult)+" "+(ctx+mult)+","+(cty+mult*k)+" "+(ctx+mult)+","+cty+" "+(ctx+mult)+","+(cty-mult*k)+"  "+(ctx+mult*k)+","+(cty-mult)+" "+ctx+","+(cty-mult)+" "+(ctx-mult*k)+","+(cty-mult)+" "+(ctx-mult)+","+(cty-mult*k)+" "+(ctx-mult)+","+(cty)+"  "+(ctx-mult)+","+(cty+mult*k)+"  "+(ctx-mult*k)+","+(cty+mult)+"  "+ctx+","+(cty+mult)+"")); //+" "+ctx+","+(cty+mult);
  83.246 +paths.push(new path("Sectors",sectors));
  83.247 +paths.push(new path("IsoSlab",islab));
  83.248 +paths.push(new path("IsoBlock",iblock));
  83.249 +paths.push(new path("Ring",roundInside));
  83.250 +paths.push(new path("Openring","M30.516,-0.125 C13.956,-0.125 0.516,13.315 0.516,29.875 C0.516,46.435 13.956,59.875 30.516,59.875 C46.737,59.875 59.919,46.968 60.453,30.875 L40.453,30.875 C39.941,35.916 35.691,39.875 30.516,39.875 C24.996,39.875 20.516,35.395 20.516,29.875 C20.516,24.7 24.475,20.387 29.516,19.875 C29.852,19.841 30.171,19.875 30.516,19.875 C35.691,19.875 39.941,23.835 40.453,28.875 L60.453,28.875 C59.919,12.782 46.737,-0.125 30.516,-0.125 z"));
  83.251 +paths.push(new path("Semicircle",semicircle)); 
  83.252 +paths.push(new path("Semiround",semiround));  
  83.253 +paths.push(new path("Semiring",semiroundInside));
  83.254 +paths.push(new path("Horn",horn)); 
  83.255 +paths.push(new path("Multiround",multiround));
  83.256 +paths.push(new path("Multihorn",multihorn));
  83.257 +paths.push(new path("Smile","M 14.259536,40.040786 C 15.390718,47.977686 21.994878,54.095579 30.00708,54.095578 C 37.457213,54.095578 43.721998,48.803911 45.473419,41.683058 C 42.197299,45.827418 36.687895,48.557684 30.428889,48.557684 C 23.380933,48.557685 17.283291,45.087568 14.259536,40.040786 z"));
  83.258 +paths.push(new path("Multilife1",multilife1));
  83.259 +paths.push(new path("Multilife2",multilife2));
  83.260 +paths.push(new path("Multilife3",multilife3));  
  83.261 +paths.push(new path("Multilife4",multilife4));
  83.262 +paths.push(new path("Flora Winx Club","M 132.53555,358.08217 C 131.68247,357.89829 129.63839,357.17092 127.99314,356.46581 L 125.00178,355.1838 L 125.33525,351.16262 C 125.52381,348.88877 126.60691,345.28713 127.82781,342.87406 C 129.62086,339.33018 129.89787,338.03313 129.46172,335.22381 C 128.40416,328.41189 125.85465,320.38023 122.41232,313.01616 C 120.41584,308.74516 119.05535,304.8254 119.27593,303.97979 C 119.52408,303.02849 113.17358,289.51553 101.78179,266.75475 C 91.945759,247.10236 83.619249,230.72408 83.278439,230.35858 C 82.937629,229.99307 82.252829,231.738 81.756669,234.23619 C 80.817469,238.965 80.384589,240.87989 72.051769,277.16667 C 69.260229,289.32297 66.794039,300.08328 66.571371,301.07847 C 66.266451,302.44122 66.557039,302.99002 67.748519,303.3016 C 69.635279,303.795 69.594839,303.3658 68.142469,307.48224 C 66.718084,311.51936 67.247564,314.68136 69.871939,317.81046 C 71.298039,319.51084 71.631339,320.5606 71.226199,322.07583 C 70.930619,323.18128 70.592259,328.3706 70.474279,333.60768 C 70.265499,342.87533 69.637609,345.36631 67.490643,345.44436 C 67.009703,345.46184 65.83827,347.11952 64.887473,349.12809 C 63.936675,351.13666 62.312074,353.82698 61.277257,355.10659 C 59.428653,357.3925 59.268671,357.43316 52.123557,357.43316 C 46.63996,357.43316 44.046879,357.07039 41.580503,355.95822 C 38.33966,354.4968 38.309663,354.44597 38.309663,350.41602 C 38.309663,346.02606 39.340006,344.67162 46.228763,340.00598 C 48.213757,338.66157 49.203959,337.31554 49.544901,335.49818 C 49.812247,334.0731 51.779148,328.33549 53.915796,322.74794 C 56.052443,317.16038 57.984942,310.81326 58.210231,308.64322 C 58.435528,306.47317 59.105207,303.60881 59.698419,302.27795 C 60.545692,300.3771 60.78214,294.47338 60.80104,274.74693 C 60.814278,260.93573 61.13401,248.31646 61.511557,246.70412 C 62.128043,244.07137 65.09166,239.76956 73.643189,229.09455 C 76.430209,225.61546 76.561719,224.85609 75.189559,220.16583 C 74.939989,219.31275 75.248789,219.66174 75.875789,220.94135 C 77.714329,224.69353 77.302289,226.35963 73.351279,231.14919 C 71.297309,233.63908 68.136049,237.81442 66.326228,240.42773 C 63.223304,244.90825 62.994339,245.61582 62.311027,252.83607 C 61.912471,257.04736 61.496652,270.00308 61.38697,281.62658 C 61.208336,300.55697 61.316785,302.76013 62.427192,302.75954 C 63.609754,302.75891 64.839189,296.93287 65.864048,286.47293 C 66.01032,284.98005 66.312688,281.83919 66.535984,279.49323 C 67.714919,267.10696 69.539869,254.64453 70.800209,250.37305 C 71.171579,249.11441 73.300219,243.19882 75.530509,237.2273 L 79.585579,226.37 L 79.124589,217.4515 C 78.871039,212.54633 78.508909,207.31155 78.319869,205.81868 C 78.130819,204.3258 77.747019,200.66146 77.466959,197.6757 C 76.715299,189.66185 75.842089,185.63013 74.586049,184.3741 C 73.070839,182.85888 69.391919,182.60141 66.879524,183.83475 L 64.816288,184.8476 L 65.948386,189.32284 C 66.571045,191.78423 68.844459,199.14201 71.000419,205.67346 C 73.156389,212.20492 74.765869,217.70332 74.577059,217.89214 C 74.284589,218.18459 66.981133,196.59483 63.671804,185.65511 C 62.371285,181.35595 60.440678,180.25173 54.207857,180.24222 C 45.717407,180.22925 39.5697,183.0674 37.555592,187.92989 C 36.721581,189.94337 36.765421,190.59088 37.847584,192.24247 C 38.547927,193.31133 39.636371,194.18585 40.266343,194.18585 C 40.896315,194.18585 41.41175,194.53484 41.41175,194.96137 C 41.41175,196.93138 37.734179,195.28241 36.445774,192.73471 C 35.022964,189.92121 35.969325,177.72714 37.898016,174.02229 C 40.983638,168.09509 46.606008,163.01722 56.728303,157.01561 C 59.820695,155.18211 62.350835,153.38228 62.350835,153.01602 C 62.350835,152.64976 63.293784,150.35854 64.446271,147.92444 C 66.815606,142.92033 74.090949,134.74813 79.370139,131.16087 C 81.312749,129.84085 83.181249,128.30062 83.522339,127.73813 C 84.277369,126.49309 88.708509,124.12033 89.256059,124.66788 C 89.966009,125.37784 88.656179,126.71547 87.251009,126.71547 C 86.494199,126.71547 85.687819,126.90264 85.459049,127.13141 C 84.986759,127.60369 86.082689,130.75242 88.688329,136.40949 L 90.474349,140.2871 L 91.206889,137.62308 C 91.746939,135.65904 92.115929,135.24466 92.611189,136.04602 C 93.008559,136.68898 92.954349,137.52895 92.478499,138.10233 C 90.436239,140.5631 92.638899,140.33206 96.862169,137.64251 C 99.421719,136.01247 102.64583,134.43064 104.02685,134.12732 C 107.27168,133.41464 107.68659,132.63211 106.10196,130.21366 C 105.08768,128.66567 104.57837,128.43027 103.74316,129.12343 C 100.04356,132.19383 105.66501,120.91481 111.85588,112.84591 C 114.27242,109.69629 116.56901,106.68671 116.95942,106.15795 C 117.80686,105.01019 116.04013,98.021165 114.90255,98.021165 C 114.48581,98.021165 114.34572,98.544635 114.59124,99.184445 C 114.83675,99.824245 114.69096,100.34773 114.26725,100.34773 C 113.84354,100.34773 113.14677,101.26859 112.71885,102.39409 C 112.29094,103.51959 111.78438,104.284 111.59317,104.09279 C 111.40195,103.90157 111.93377,101.93376 112.77498,99.719865 C 113.6162,97.505965 113.97393,95.694595 113.56994,95.694595 C 113.16595,95.694595 110.82565,96.218075 108.36928,96.857875 C 105.9129,97.497685 102.75501,98.021165 101.35174,98.021165 C 99.457589,98.021165 98.787689,98.370765 98.751189,99.378325 C 98.711929,100.46255 98.567079,100.40106 98.031009,99.072605 C 97.661949,98.158025 95.721739,96.591545 93.719439,95.591545 C 91.717129,94.591545 89.909969,93.333175 89.703509,92.795175 C 89.220089,91.535395 87.412699,91.529715 86.905619,92.786385 C 86.668189,93.374815 86.490399,93.231985 86.453229,92.422965 C 86.353979,90.262425 84.318769,91.636195 82.158979,95.321615 C 79.747689,99.436165 79.733059,99.969235 81.948519,102.98885 C 84.264669,106.14572 86.789599,111.65331 86.515129,112.94996 C 86.447409,113.26986 86.740989,113.5316 87.167529,113.5316 C 87.594059,113.5316 87.943049,114.02599 87.943049,114.63026 C 87.943049,115.23451 88.379279,115.90493 88.912449,116.12007 C 89.559659,116.38122 89.484479,116.53158 88.686249,116.57246 C 87.974569,116.60891 86.622129,114.86282 85.344899,112.25859 C 84.122259,109.76568 82.912519,108.18093 82.532879,108.57487 C 82.166429,108.95511 79.901319,112.99308 77.499299,117.54813 L 73.131989,125.83005 L 67.935299,127.49504 C 65.077103,128.4108 58.267387,130.91443 52.802589,133.05868 C 44.756497,136.21575 42.27952,137.56826 39.780168,140.16934 L 36.693747,143.38138 L 30.715887,143.02196 C 27.428071,142.82428 22.905864,142.67973 20.666546,142.70075 C 14.491656,142.7587 15.370384,141.0779 22.335026,139.50932 C 24.456132,139.03161 26.327272,138.2337 26.493109,137.7362 C 26.658939,137.23868 25.220083,135.16622 23.295634,133.13071 C 19.817272,129.45162 19.783769,129.4371 17.614209,130.66856 C 15.987544,131.59187 14.345571,131.78466 11.166405,131.4256 L 6.9010355,130.94387 L 9.6153615,129.50826 C 14.524716,126.9117 14.601772,126.69889 11.544906,124.17916 C 10.013228,122.91662 8.9185005,121.72516 9.1121955,121.53147 C 9.3058815,121.33778 10.981513,121.59234 12.835824,122.09716 C 18.766424,123.71169 18.597423,123.63067 17.477849,124.3226 C 16.818802,124.72991 17.232505,124.94381 18.662869,124.93527 C 19.871519,124.92807 21.994626,125.19479 23.380871,125.528 C 25.789386,126.10692 25.901317,126.03278 25.901317,123.85855 C 25.901317,120.67402 24.226353,118.60895 22.09539,119.16621 C 20.980461,119.45777 20.487935,119.29716 20.682064,118.70534 C 20.845947,118.20574 21.943698,117.68356 23.121498,117.54495 C 25.38485,117.2786 27.818778,118.95125 29.118041,121.6659 C 29.537249,122.54177 29.137367,122.29056 28.206004,121.09293 C 26.289574,118.62863 24.656666,118.18564 25.874026,120.46031 C 26.315569,121.28534 26.6845,124.68794 26.693869,128.02165 C 26.71266,134.71051 28.474815,139.92235 31.213051,141.38781 C 34.079045,142.92164 36.600537,142.37779 38.480324,139.82037 C 40.985965,136.41148 51.427984,131.55044 66.717169,126.67538 C 69.331919,125.84165 71.828799,124.72438 72.265799,124.19256 C 72.702799,123.66074 75.067709,119.42779 77.521159,114.786 L 81.981969,106.34638 L 80.164509,103.01936 C 78.353789,99.704675 78.352379,99.680525 79.784589,96.504465 C 81.278879,93.190705 80.965919,92.152205 78.333099,91.687915 C 77.088229,91.468395 76.357549,92.942705 73.507129,101.42533 C 70.281269,111.02529 68.585379,114.93007 69.765609,110.04016 C 71.577259,102.5342 75.611299,90.576885 76.567919,89.877385 C 77.184119,89.426815 78.587529,86.472355 79.686619,83.311925 L 81.684969,77.565685 L 80.062069,74.939785 C 79.169489,73.495555 77.983509,70.856595 77.426579,69.075455 L 76.413979,65.837015 L 76.362109,68.796205 C 76.333569,70.423755 76.671489,72.430415 77.113029,73.255445 C 77.650539,74.259785 77.655739,74.755515 77.128799,74.755515 C 75.709419,74.755515 73.208139,68.685245 73.208139,65.240615 C 73.208139,63.385725 73.720519,61.190665 74.346759,60.362705 C 74.992919,59.508405 75.496039,57.141615 75.510039,54.890415 C 75.527229,52.125985 76.004859,50.325795 77.085749,48.951675 C 78.233119,47.493035 78.637959,45.800665 78.641279,42.449035 C 78.643749,39.957095 79.009019,35.824325 79.452989,33.265105 C 79.896959,30.705885 80.407859,27.604655 80.588329,26.373495 C 80.768789,25.142315 81.059449,23.991995 81.234239,23.817215 C 81.826439,23.225005 82.612689,30.539845 82.053989,31.443845 C 81.740159,31.951635 81.836339,32.133125 82.275439,31.861745 C 82.734579,31.577975 83.467909,33.588155 84.070699,36.782815 C 84.631179,39.753245 85.343919,42.183605 85.654569,42.183605 C 85.965219,42.183605 86.462029,40.874905 86.758579,39.275395 C 87.650259,34.466025 91.096699,29.091255 96.451189,24.159675 C 103.94171,17.260745 107.10877,15.303915 108.93652,16.445375 C 111.07717,17.782235 111.2087,17.665995 111.2087,14.437385 C 111.2087,12.826135 111.77842,10.694465 112.47474,9.7003251 C 113.90325,7.6608451 119.21587,5.0013151 121.91277,4.9755951 C 123.41909,4.9612251 122.90362,5.7188651 118.6168,9.8200551 C 113.23844,14.965525 112.37991,16.597165 115.34954,16.029485 C 117.72939,15.574545 122.27811,20.670005 125.76559,27.697525 C 128.29834,32.801185 128.30117,32.820235 127.78802,41.269265 C 127.19168,51.087845 127.55292,53.168075 130.14977,54.869595 C 132.01758,56.093435 132.125,56.032305 136.9447,51.002565 C 142.37493,45.335695 151.91744,37.399515 155.57585,35.507675 C 157.53872,34.492635 158.06692,34.461195 158.65077,35.324655 C 159.17802,36.104395 159.2987,35.996495 159.1295,34.896595 C 159.00508,34.087775 159.37614,33.261275 159.95407,33.059925 C 160.73219,32.788825 160.85989,33.150545 160.44622,34.453945 C 160.00377,35.847945 160.13694,36.118365 161.08642,35.754015 C 161.9101,35.437945 161.67205,36.189975 160.32574,38.157145 C 155.87434,44.661345 149.25923,59.869985 149.21927,63.691775 C 149.19919,65.612325 154.97804,62.308765 173.25044,49.954045 C 183.40459,43.088395 189.52038,40.986735 197.41829,41.648855 C 202.14118,42.044805 211.251,45.154275 211.251,46.370385 C 211.251,46.587635 209.41883,45.912375 207.17951,44.869825 C 202.68372,42.776735 196.93612,42.374085 192.56032,43.845665 C 188.9115,45.072775 181.01544,50.387405 173.6382,56.581665 C 170.2259,59.446775 165.38278,63.131405 162.8757,64.769705 C 160.0675,66.604805 158.72761,67.896515 159.38585,68.134095 C 159.97351,68.346195 163.57095,69.236355 167.38016,70.112225 C 175.97701,72.088945 180.6387,74.111645 183.98182,77.315675 C 189.19775,82.314625 190.97843,88.499995 189.52395,96.566815 C 188.14537,104.21266 184.81481,109.51959 174.73837,120.12629 C 164.68508,130.70862 163.48813,132.93002 164.18761,139.70737 C 165.48338,152.26208 179.36377,158.17434 187.91504,149.8139 C 190.57091,147.21728 191.2664,144.37757 189.76978,142.24084 C 188.3369,140.19513 184.07484,140.19599 179.5638,142.24293 C 175.64642,144.02049 175.577,144.0334 175.577,142.98451 C 175.577,141.72129 184.41762,136.35367 188.27863,135.27266 C 195.19458,133.33631 198.07603,136.15602 195.09429,141.94227 C 190.5697,150.72252 181.53003,156.57357 172.49122,156.57239 C 166.6722,156.57164 160.47178,154.51391 159.21554,152.1666 C 158.75722,151.31021 158.37751,148.28697 158.37176,145.44831 C 158.35446,136.91492 161.76956,128.89274 169.34064,119.68205 C 171.94591,116.51257 175.16039,111.73896 176.48393,109.07402 C 179.4001,103.20232 179.2011,99.798365 175.48663,92.015385 C 173.21391,87.253325 164.26252,77.082075 162.34431,77.082075 C 161.94809,77.082075 163.38292,79.263225 165.53284,81.929085 C 174.75578,93.365375 174.86781,108.2988 165.83682,122.4501 C 163.16142,126.64237 158.53343,131.64501 157.90858,131.02015 C 157.69622,130.80781 158.82679,129.19037 160.42093,127.42584 C 164.06203,123.39557 166.82689,117.49622 167.4638,112.39851 C 168.34791,105.32242 165.51694,94.731325 161.95019,91.771185 C 160.75752,90.781365 160.66574,90.827295 161.07182,92.210825 C 163.53358,100.59801 164.05389,110.43261 162.37043,116.75615 C 161.07715,121.6141 156.67246,129.68209 152.45654,134.91524 C 148.80269,139.45071 140.27496,146.24449 136.9948,147.23315 C 134.29812,148.04593 134.93245,146.62717 138.0057,144.97211 C 142.37275,142.6203 148.49098,136.08413 150.56409,131.55585 C 151.66854,129.14342 152.61197,125.38583 152.81302,122.59852 L 153.15937,117.79697 L 151.36231,121.67458 C 150.37393,123.80726 148.96092,126.67052 148.22228,128.0374 C 146.34545,131.51052 139.64974,138.03347 134.73288,141.17875 C 132.458,142.63397 130.56094,144.4246 130.51718,145.15794 C 130.41435,146.88119 127.60453,138.4968 127.54203,136.28023 C 127.51597,135.35607 127.14989,134.48361 126.7285,134.34143 C 125.97198,134.08617 126.79636,118.33163 128.20292,106.16414 C 128.92131,99.949615 128.63402,99.521135 124.11401,100.06596 C 119.22424,100.65535 118.08795,101.53362 119.02534,103.99913 C 119.66536,105.68251 119.51527,106.47411 118.22525,108.21896 C 116.27259,110.86007 116.14313,116.73622 117.80063,127.49099 C 118.42514,131.54309 118.94236,137.27312 118.95,140.22439 C 118.96653,146.5996 120.62064,149.98891 129.35085,161.53599 C 132.38205,165.54522 135.64733,169.89768 136.60704,171.20813 C 137.56675,172.51857 138.32862,174.64756 138.30008,175.93921 C 138.2512,178.1522 138.19047,178.10315 137.24728,175.08875 C 136.69676,173.32936 134.30113,169.45187 131.92363,166.47212 C 129.54613,163.49237 125.60736,158.12667 123.1708,154.54835 C 118.68831,147.9654 116.1265,146.24188 116.38214,149.98112 C 117.14839,161.18888 117.33341,161.70369 122.55664,167.16107 C 127.7296,172.56591 128.29857,174.08047 126.25311,177.00076 C 124.63951,179.30451 122.26354,180.18724 114.71566,181.28725 L 108.5286,182.18893 L 106.29198,187.60575 C 105.06184,190.585 101.12806,199.61083 97.550249,207.66315 C 93.972439,215.71546 91.064749,222.69515 91.088709,223.17358 C 91.112679,223.652 93.212619,225.78836 95.755239,227.92104 C 98.297859,230.05373 102.60871,234.06705 105.33491,236.83954 L 110.29164,241.88043 L 111.98104,251.96221 C 116.25195,277.44952 123.15503,301.70147 125.94668,301.02636 C 126.41581,300.9129 127.56675,302.57149 128.50431,304.7121 C 130.46623,309.19146 134.35377,315.98847 140.02862,324.86125 C 145.72706,333.77093 149.19921,341.43945 150.21199,347.35206 C 151.27769,353.57357 150.29848,355.9949 146.10718,357.50226 C 143.49247,358.44262 135.74366,358.77372 132.53555,358.08217 z M 59.808636,353.21576 C 60.948482,351.69649 62.112571,350.27897 62.395505,350.0657 C 63.91379,348.92127 65.260739,344.45461 65.372414,340.1939 C 65.591422,331.83795 66.152985,328.47715 68.096899,323.8885 C 69.961909,319.48609 69.966679,319.41338 68.494269,317.83157 C 67.674597,316.95101 67.003964,315.81681 67.003964,315.31113 C 67.003964,314.80545 66.65498,314.39171 66.228443,314.39171 C 65.175486,314.39171 65.248594,311.03552 66.354419,308.60851 C 67.434813,306.2373 67.308465,306.07336 63.943578,305.48055 C 62.499556,305.22616 61.026973,304.83809 60.671171,304.6182 C 60.315377,304.3983 60.02427,304.92968 60.02427,305.79904 C 60.02427,307.677 56.020585,321.68108 53.909351,327.18781 C 53.091695,329.3205 52.343705,331.41441 52.247144,331.84094 C 52.023104,332.83056 51.807819,333.55257 50.744075,336.88184 C 50.101338,338.89345 48.583301,340.49964 44.880371,343.08601 C 40.154753,346.3867 39.883297,346.74425 39.872316,349.68251 C 39.862288,352.36569 40.165525,352.92409 42.096939,353.77902 C 45.227751,355.16485 50.509867,356.13901 54.420978,356.05189 C 57.275867,355.98831 58.023959,355.59451 59.808636,353.21576 z M 54.983379,339.91564 L 51.10577,338.41652 L 54.964883,338.82166 C 57.087392,339.04449 59.343331,339.74614 59.978072,340.38089 C 61.596097,341.99891 59.9834,341.84869 54.983379,339.91564 z M 144.84483,355.53614 C 149.40275,354.47865 149.65833,353.94543 148.59089,347.72063 C 147.12632,339.1799 141.05166,326.1696 135.99342,320.74022 C 135.1247,319.80776 134.64475,319.04484 134.92686,319.04484 C 135.20897,319.04484 134.99841,318.51301 134.45895,317.86299 C 132.99433,316.09824 126.71913,304.93254 126.71913,304.09124 C 126.71913,303.47809 121.38226,303.97891 120.68935,304.65709 C 120.43621,304.90484 123.256,311.82976 124.44893,313.88996 C 125.51034,315.72305 128.75049,325.57319 129.46094,329.12662 C 129.75941,330.6195 130.19008,332.15513 130.41798,332.53914 C 131.16987,333.80604 130.92276,340.59441 130.08611,341.65653 C 128.84216,343.23568 126.71913,350.06339 126.71913,352.48478 C 126.71913,354.3729 127.11084,354.71527 130.0151,355.36567 C 134.32859,356.33164 141.08153,356.40927 144.84483,355.53614 z M 141.45405,346.53008 C 141.45405,345.86511 141.80303,345.53672 142.22957,345.80033 C 143.23302,346.4205 143.23302,347.73914 142.22957,347.73914 C 141.80303,347.73914 141.45405,347.19506 141.45405,346.53008 z M 139.94535,340.62806 C 138.47576,340.2062 136.46909,340.01479 135.4861,340.2027 C 133.52376,340.57782 133.02754,339.63194 134.82484,338.94226 C 135.94257,338.51334 141.72821,338.94485 143.58673,339.59574 C 144.8472,340.03718 144.8472,341.55597 143.58673,341.46502 C 143.05356,341.42656 141.41494,341.04992 139.94535,340.62806 z M 68.810739,342.76266 C 69.042659,342.15828 69.240169,337.88322 69.249659,333.26252 C 69.261969,327.26372 69.044119,325.24771 68.487869,326.21266 C 68.059409,326.95593 67.784049,328.00289 67.875959,328.53922 C 67.967869,329.07556 67.822349,331.08481 67.552584,333.00423 C 66.12108,343.1897 66.103056,343.86153 67.261228,343.86153 C 67.881539,343.86153 68.578819,343.36704 68.810739,342.76266 z M 122.066,302.15291 C 122.066,301.81962 120.12917,296.4976 117.76193,290.3262 C 115.39468,284.1548 112.20535,275.44113 110.67452,270.96249 C 105.15889,254.82585 102.31804,248.963 94.250289,237.06677 C 89.928229,230.69373 86.395189,224.98183 86.399079,224.37367 C 86.408499,222.90061 89.691139,210.03962 93.094739,198.14083 C 94.784099,192.23496 95.678159,187.68726 95.411759,186.35525 C 94.507919,181.83606 90.755149,179.69638 87.722999,181.97138 C 86.679119,182.7546 86.203799,185.76938 85.248209,197.66798 C 84.597679,205.76794 84.065439,215.93471 84.065439,220.2608 L 84.065439,228.12641 L 96.469409,253.50431 C 115.59832,292.64106 120.72413,302.75888 121.42241,302.75888 C 121.77638,302.75888 122.066,302.48619 122.066,302.15291 z M 84.273089,194.57361 C 84.503939,188.17556 84.418459,183.98774 84.083119,185.26735 C 83.487039,187.54197 83.014909,207.16814 83.571639,206.52957 C 83.726579,206.35185 84.042239,200.97167 84.273089,194.57361 z M 47.615923,177.83983 C 51.612698,176.23839 53.199842,176.12313 72.820379,176.00954 C 90.277789,175.90847 94.307499,175.67443 97.055429,174.60194 C 98.868209,173.89443 100.35674,173.56183 100.36327,173.86281 C 100.3698,174.16379 100.63154,174.02251 100.94491,173.54885 C 101.25828,173.0752 102.56163,172.1457 103.84124,171.4833 C 109.96228,168.3147 112.93871,163.56699 112.93871,156.97192 C 112.93871,152.50618 113.7249,151.95628 114.89495,155.60365 L 115.70348,158.12409 L 115.77834,155.79753 C 115.8195,154.51792 115.48018,152.12765 115.02429,150.48583 C 113.82232,146.15711 107.56492,133.46493 107.04641,134.30391 C 106.8043,134.69564 104.93715,135.64794 102.89717,136.42014 C 100.85718,137.19233 98.108219,138.64003 96.788349,139.63725 C 95.468469,140.63447 94.069239,141.45038 93.678929,141.45038 C 93.288619,141.45038 92.533389,142.14835 92.000629,143.00142 C 91.467879,143.8545 90.766089,144.55246 90.441079,144.55246 C 90.116079,144.55246 89.056109,142.02233 88.085579,138.92993 C 85.872419,131.87821 84.720519,130.25601 82.360149,130.86688 C 76.779779,132.3111 64.183082,146.7487 64.843501,150.94346 C 65.095297,152.54278 65.495172,152.32378 69.432669,148.43007 C 71.804999,146.08412 74.100339,143.50886 74.533419,142.70727 C 74.966489,141.90568 75.805179,141.41805 76.397169,141.62366 C 78.488909,142.35015 66.940465,152.47036 58.018414,157.72945 C 44.402782,165.75517 38.056525,172.84224 37.620628,180.5083 L 37.406173,184.28 L 40.378359,181.91445 C 42.013066,180.6134 45.26997,178.77982 47.615923,177.83983 z M 61.575313,178.67542 C 61.575313,177.31384 61.077963,177.13158 57.503824,177.18338 C 55.264505,177.21582 52.210889,177.71952 50.71801,178.3027 L 48.003684,179.36303 L 52.269053,178.98347 C 55.778405,178.67118 57.817143,178.93436 61.381432,180.1598 C 61.488067,180.19646 61.575313,179.52849 61.575313,178.67542 z M 114.75394,177.8999 C 114.75394,177.04682 114.47974,176.34885 114.1446,176.34885 C 113.80947,176.34885 113.53527,177.04682 113.53527,177.8999 C 113.53527,178.75297 113.80947,179.45094 114.1446,179.45094 C 114.47974,179.45094 114.75394,178.75297 114.75394,177.8999 z M 121.50927,178.39469 C 125.14114,176.85749 127.03489,174.50194 126.06372,172.72964 C 124.8892,170.58623 117.41287,163.47871 117.41287,164.50553 C 117.41287,164.9975 117.79013,165.63318 118.25124,165.91815 C 118.71233,166.20312 118.87957,167.27309 118.62287,168.29585 C 118.30283,169.57099 118.46588,170.0928 119.14167,169.95617 C 121.12899,169.55438 120.71862,174.43677 118.54828,177.01608 C 116.21638,179.78738 117.16992,180.23135 121.50927,178.39469 z M 118.96392,172.76405 C 118.96392,171.6739 117.46142,171.21982 117.35354,172.27736 C 117.3209,172.59727 117.17443,173.4892 117.02804,174.25945 C 116.81319,175.38993 116.97414,175.48374 117.8629,174.74613 C 118.46846,174.24356 118.96392,173.35162 118.96392,172.76405 z M 114.31079,173.24677 C 114.31079,172.82023 113.9618,172.47124 113.53527,172.47124 C 113.10873,172.47124 112.75974,172.82023 112.75974,173.24677 C 112.75974,173.6733 113.10873,174.02229 113.53527,174.02229 C 113.9618,174.02229 114.31079,173.6733 114.31079,173.24677 z M 116.7246,166.04411 C 116.09125,165.41076 115.86183,165.49755 115.86183,166.37047 C 115.86183,167.9121 116.90467,168.95494 117.29009,167.79873 C 117.45359,167.30821 117.19912,166.51863 116.7246,166.04411 z M 115.86183,161.18041 C 115.86183,160.99231 115.31776,160.83842 114.65278,160.83842 C 113.9878,160.83842 113.66293,161.1931 113.93084,161.62659 C 114.37352,162.34285 115.86183,161.99896 115.86183,161.18041 z M 169.22726,153.0832 C 170.26735,153.0832 170.1771,152.76035 168.73947,151.33828 C 167.76927,150.37857 166.45147,148.89539 165.81103,148.04231 C 164.71331,146.5801 164.67445,146.63563 165.13254,149.01171 C 165.52865,151.06636 165.37205,151.53216 164.28517,151.53216 C 163.55186,151.53216 162.48828,150.92144 161.92165,150.175 C 160.99681,148.95666 160.88889,148.94837 160.86675,150.09395 C 160.83882,151.53928 167.28067,155.09114 167.69253,153.85751 C 167.83471,153.43164 168.52534,153.0832 169.22726,153.0832 z M 27.064599,141.45038 C 26.800984,141.02384 24.948216,140.72727 22.947339,140.79133 L 19.309383,140.90782 L 22.79923,141.45038 C 24.718646,141.74879 26.571406,142.04536 26.916482,142.10942 C 27.261558,142.17348 27.328207,141.87691 27.064599,141.45038 z M 15.044013,129.04203 C 16.557808,127.85793 16.695339,127.5217 15.671418,127.50824 C 14.950152,127.49875 14.129231,127.86442 13.847143,128.32086 C 13.565055,128.77728 12.584749,129.45314 11.668687,129.82274 C 10.091292,130.45919 10.085227,130.49645 11.554166,130.52667 C 12.40724,130.54422 13.977671,129.87614 15.044013,129.04203 z M 25.125795,129.17129 C 25.125795,128.81583 24.617665,128.52501 23.99662,128.52501 C 23.375582,128.52501 23.047195,128.81583 23.26687,129.17129 C 23.784515,130.00885 25.125795,130.00885 25.125795,129.17129 z M 136.49394,119.94581 C 136.23624,119.68811 136.05295,120.14615 136.08662,120.96368 C 136.12383,121.86712 136.3076,122.05088 136.55516,121.43223 C 136.77919,120.87239 136.75164,120.20351 136.49394,119.94581 z M 134.57404,118.76637 C 135.41712,117.18413 135.38351,117.12068 134.21356,118.0858 C 133.50392,118.67121 132.92331,119.45642 132.92331,119.83073 C 132.92331,121.01533 133.61246,120.57098 134.57404,118.76637 z M 115.08631,115.85816 C 115.08631,114.87467 114.5897,114.32952 113.72915,114.36835 C 112.98271,114.40202 112.78861,114.59906 113.29782,114.80621 C 113.80703,115.01336 114.03143,115.68378 113.79648,116.29603 C 113.56155,116.90827 113.75565,117.40921 114.22781,117.40921 C 114.69999,117.40921 115.08631,116.71124 115.08631,115.85816 z M 136.53409,110.99639 C 136.32165,110.47134 136.16078,111.0887 136.17658,112.36832 C 136.19239,113.64793 136.3662,114.07752 136.56282,113.32296 C 136.75945,112.5684 136.74652,111.52145 136.53409,110.99639 z M 140.99957,110.62339 C 140.33457,106.93793 139.8655,106.13328 139.10213,107.36844 C 138.58348,108.20763 140.43463,113.5316 141.24507,113.5316 C 141.39866,113.5316 141.28819,112.22291 140.99957,110.62339 z M 148.55891,103.92197 C 148.13637,101.20786 147.11356,97.510265 146.286,95.705115 C 145.00052,92.901045 144.71909,92.661145 144.35379,94.058015 C 144.11863,94.957295 144.2272,95.879065 144.59507,96.106425 C 144.96293,96.333775 145.04536,97.089335 144.77824,97.785455 C 144.47639,98.572025 144.60419,98.858525 145.11584,98.542305 C 145.69093,98.186885 145.71234,98.926955 145.18686,100.99719 C 144.52259,103.61418 144.6912,104.38752 146.62805,107.60758 C 149.19596,111.87681 149.65959,110.99184 148.55891,103.92197 z M 131.51767,106.79766 C 130.95784,106.57363 130.28896,106.60118 130.03125,106.85888 C 129.77356,107.11658 130.2316,107.29987 131.04913,107.2662 C 131.95257,107.22899 132.13633,107.04522 131.51767,106.79766 z M 134.86211,106.5519 C 134.24794,105.55817 133.69883,105.55817 133.69883,106.5519 C 133.69883,106.97844 134.06841,107.32742 134.52012,107.32742 C 134.97183,107.32742 135.12573,106.97844 134.86211,106.5519 z M 138.35196,103.79181 C 138.35196,103.17717 137.74124,102.70185 136.9948,102.73552 C 136.24836,102.7692 136.05426,102.96623 136.56347,103.17339 C 137.07268,103.38054 137.27511,104.1082 137.01332,104.79042 C 136.69713,105.61441 136.84193,105.84257 137.44465,105.47007 C 137.94367,105.16166 138.35196,104.40644 138.35196,103.79181 z M 131.75221,103.43717 C 131.4843,103.00367 130.94022,102.84977 130.54315,103.09518 C 129.46747,103.75998 129.66805,104.22534 131.03027,104.22534 C 131.69525,104.22534 132.02012,103.87066 131.75221,103.43717 z M 143.32984,100.85094 C 143.06184,100.15254 142.5132,99.784665 142.11065,100.03347 C 141.67426,100.30317 141.7517,100.93522 142.30242,101.59879 C 143.43692,102.96577 143.98757,102.56495 143.32984,100.85094 z M 134.05347,100.29414 C 133.38867,99.218455 132.92331,99.419035 132.92331,100.78126 C 132.92331,101.44624 133.27798,101.77111 133.71148,101.5032 C 134.14497,101.23528 134.29887,100.69121 134.05347,100.29414 z M 123.01901,98.232595 C 125.57281,97.869405 125.96814,97.515755 126.40129,95.206925 C 126.92894,92.394235 126.36425,88.252295 125.20298,86.417485 C 124.58273,85.437505 123.8201,85.423955 119.59186,86.317775 C 116.90054,86.886705 114.17507,87.357655 113.53527,87.364325 C 109.74375,87.403905 108.05607,87.027715 107.16779,85.944985 C 104.57261,82.781745 103.34391,81.711385 102.73785,82.085955 C 102.37536,82.309985 101.89728,81.799245 101.67545,80.950955 C 101.45362,80.102685 100.72593,79.408645 100.05835,79.408645 C 99.390769,79.408645 96.853499,78.528085 94.419969,77.451865 C 91.906909,76.340475 89.703509,75.786935 89.319829,76.170605 C 87.933589,77.556845 92.428139,84.837295 94.670159,84.837295 C 95.301659,84.837295 95.698269,83.914845 95.698269,82.446105 C 95.698269,79.765165 96.873559,79.706945 98.596949,82.302495 C 99.567249,83.763855 99.516799,84.120845 98.146299,85.491345 C 97.297509,86.340135 96.806619,87.238175 97.055429,87.486995 C 97.304239,87.735805 96.908849,87.939375 96.176769,87.939375 C 94.017999,87.939375 90.280269,85.684935 86.360999,82.018925 L 82.696219,78.590945 L 80.610419,83.801165 L 78.524629,89.011385 L 80.324069,90.368705 C 82.047079,91.668385 82.191559,91.662085 83.726099,90.220455 C 85.659719,88.403915 86.658029,88.329835 87.965979,89.905815 C 89.530809,91.791305 99.436409,96.470115 101.86341,96.470115 C 103.07463,96.470115 106.43741,95.737545 109.33627,94.842185 C 114.44827,93.263245 114.63848,93.257405 115.65581,94.648305 C 116.23271,95.437025 116.90711,96.888385 117.15448,97.873535 C 117.47464,99.148615 117.96771,99.517635 118.86572,99.154285 C 119.55953,98.873545 121.42852,98.458785 123.01901,98.232595 z M 131.51767,95.164825 C 130.95784,94.940805 130.28896,94.968355 130.03125,95.226045 C 129.77356,95.483755 130.2316,95.667045 131.04913,95.633365 C 131.95257,95.596155 132.13633,95.412395 131.51767,95.164825 z M 134.86211,94.919075 C 134.24794,93.925335 133.69883,93.925335 133.69883,94.919075 C 133.69883,95.345615 134.06841,95.694595 134.52012,95.694595 C 134.97183,95.694595 135.12573,95.345615 134.86211,94.919075 z M 149.34158,93.121115 C 147.47182,91.130845 147.14275,89.906275 148.62762,90.464305 C 149.16079,90.664675 150.46949,91.098105 151.53583,91.427485 L 153.47463,92.026355 L 151.34195,89.877115 C 150.16897,88.695035 149.20926,87.459145 149.20926,87.130695 C 149.20926,86.271995 154.77335,88.004875 156.38759,89.366315 C 157.13665,89.998065 157.94196,90.322495 158.17717,90.087285 C 158.78327,89.481185 154.9076,86.887805 150.53131,84.971135 C 147.09057,83.464195 146.78187,83.441785 146.40322,84.671485 C 146.17812,85.402485 145.66749,86.611295 145.26847,87.357735 C 144.78842,88.255775 144.82305,88.714905 145.37085,88.714905 C 145.82617,88.714905 145.97166,89.082285 145.69415,89.531305 C 145.41664,89.980325 146.35575,91.504565 147.78106,92.918475 C 150.66018,95.774575 151.99751,95.948225 149.34158,93.121115 z M 182.27094,90.441745 C 182.58959,88.425635 182.81114,85.617325 182.76325,84.201065 C 182.64595,80.731785 179.76152,74.755515 178.20438,74.755515 C 177.31832,74.755515 177.12766,75.144665 177.53948,76.112675 C 178.74743,78.951985 179.74303,83.256335 179.29537,83.703995 C 179.03873,83.960635 177.25999,82.601855 175.34262,80.684485 C 173.42525,78.767115 170.68694,76.861055 169.2575,76.448795 C 167.82805,76.036545 165.96053,75.439455 165.10746,75.121935 C 163.92148,74.680505 164.10402,75.103175 165.88298,76.917685 C 167.16259,78.222865 169.0476,79.404525 170.0719,79.543575 C 174.02733,80.080555 180.64964,88.881835 180.35992,93.216725 C 180.14544,96.425875 181.67651,94.202615 182.27094,90.441745 z M 138.35196,92.592505 C 138.35196,91.609015 137.85536,91.063865 136.9948,91.102695 C 136.24836,91.136365 136.05426,91.333405 136.56347,91.540555 C 137.07268,91.747705 137.29708,92.418125 137.06214,93.030375 C 136.8272,93.642615 137.0213,94.143555 137.49347,94.143555 C 137.96564,94.143555 138.35196,93.445585 138.35196,92.592505 z M 131.75221,91.804335 C 131.4843,91.370845 130.94022,91.216945 130.54315,91.462345 C 129.46747,92.127145 129.66805,92.592505 131.03027,92.592505 C 131.69525,92.592505 132.02012,92.237835 131.75221,91.804335 z M 168.30483,88.430695 C 168.04152,87.381575 166.46235,85.230935 164.79556,83.651495 C 160.08962,79.192165 151.81865,74.902785 154.74505,78.439235 C 155.91407,79.851955 156.92415,81.920825 158.53134,86.194455 C 159.59492,89.022545 161.22491,89.683095 160.44505,86.969975 C 160.1692,86.010265 159.77318,84.614325 159.56501,83.867885 C 158.81986,81.195965 161.26525,82.628355 164.63199,86.835865 C 168.17015,91.257595 169.1176,91.669005 168.30483,88.430695 z M 134.05347,88.661315 C 133.38867,87.585635 132.92331,87.786205 132.92331,89.148435 C 132.92331,89.813415 133.27798,90.138275 133.71148,89.870365 C 134.14497,89.602455 134.29887,89.058375 134.05347,88.661315 z M 108.10661,83.768965 C 108.10661,83.607925 107.49589,82.997205 106.74945,82.411805 C 105.51943,81.447155 105.492,81.474585 106.45664,82.704605 C 107.46976,83.996435 108.10661,84.407245 108.10661,83.768965 z M 131.51767,83.532005 C 130.95784,83.307975 130.28896,83.335525 130.03125,83.593225 C 129.77356,83.850925 130.2316,84.034215 131.04913,84.000545 C 131.95257,83.963335 132.13633,83.779565 131.51767,83.532005 z M 134.86211,83.286245 C 134.24794,82.292515 133.69883,82.292515 133.69883,83.286245 C 133.69883,83.712785 134.06841,84.061775 134.52012,84.061775 C 134.97183,84.061775 135.12573,83.712785 134.86211,83.286245 z M 86.972019,77.955815 C 83.768049,71.491595 83.332519,65.929775 85.539299,59.659715 C 87.442749,54.251495 87.388339,54.591945 86.349099,54.591945 C 85.898969,54.591945 84.611069,56.598605 83.487099,59.051195 C 80.058719,66.532225 81.030869,73.396905 86.478709,80.176015 C 87.853139,81.886315 89.073359,83.189955 89.190309,83.073015 C 89.307259,82.956065 88.309029,80.653325 86.972019,77.955815 z M 113.11438,82.564315 C 113.35979,82.167245 113.23738,81.642635 112.84238,81.398515 C 111.92551,80.831865 109.65766,81.682955 109.65766,82.593695 C 109.65766,83.511525 112.54413,83.486995 113.11438,82.564315 z M 119.68908,80.234515 C 124.74345,75.180155 125.72726,68.432165 122.38703,61.729205 C 120.12833,57.196585 116.27436,53.869215 114.8884,55.255175 C 114.26684,55.876735 114.70516,57.409555 116.49919,60.888115 C 119.75352,67.198135 119.93252,73.671145 117.01205,79.434415 C 115.93852,81.552925 115.41504,83.286245 115.84876,83.286245 C 116.28249,83.286245 118.01063,81.912975 119.68908,80.234515 z M 138.35196,80.959685 C 138.35196,79.976195 137.85536,79.431045 136.9948,79.469865 C 136.24836,79.503545 136.05426,79.700575 136.56347,79.907735 C 137.07268,80.114885 137.29708,80.785295 137.06214,81.397555 C 136.8272,82.009795 137.0213,82.510725 137.49347,82.510725 C 137.96564,82.510725 138.35196,81.812755 138.35196,80.959685 z M 143.00509,80.526155 C 143.00509,80.338055 142.65611,80.184165 142.22957,80.184165 C 141.80303,80.184165 141.45405,80.553745 141.45405,81.005455 C 141.45405,81.457165 141.80303,81.611055 142.22957,81.347445 C 142.65611,81.083825 143.00509,80.714245 143.00509,80.526155 z M 104.229,80.666875 C 104.229,80.505845 103.61828,79.895115 102.87184,79.309715 C 101.64182,78.345065 101.61439,78.372495 102.57904,79.602525 C 103.59215,80.894345 104.229,81.305165 104.229,80.666875 z M 131.75221,80.171515 C 131.4843,79.738015 130.94022,79.584115 130.54315,79.829525 C 129.46747,80.494325 129.66805,80.959685 131.03027,80.959685 C 131.69525,80.959685 132.02012,80.605005 131.75221,80.171515 z M 107.98058,76.386335 C 108.28457,74.245605 106.67122,72.918575 105.22442,74.119315 C 104.14773,75.012885 103.89496,77.265045 104.77283,78.142915 C 105.84897,79.219055 107.72415,78.192195 107.98058,76.386335 z M 134.05347,77.028485 C 133.38867,75.952805 132.92331,76.153385 132.92331,77.515605 C 132.92331,78.180585 133.27798,78.505455 133.71148,78.237545 C 134.14497,77.969625 134.29887,77.425555 134.05347,77.028485 z M 127.18768,74.190025 C 126.92997,73.932325 126.74669,74.390375 126.78036,75.207895 C 126.81757,76.111335 127.00134,76.295095 127.2489,75.676445 C 127.47292,75.116615 127.44538,74.447725 127.18768,74.190025 z M 107.44789,69.603265 C 108.84954,68.026855 110.42203,63.023035 110.42885,60.117535 C 110.4326,58.520265 110.14997,58.332835 108.30049,58.706065 C 107.12752,58.942775 105.55709,59.372725 104.81065,59.661505 C 102.77094,60.450605 103.12557,58.508925 105.46765,56.064325 C 108.01111,53.409525 107.66818,52.375605 102.29399,46.495955 L 98.083839,41.889805 L 96.413029,43.393865 C 94.259359,45.332585 90.269609,51.112105 90.269609,52.293165 C 90.269609,52.794545 91.142079,54.241625 92.208419,55.508905 C 94.875909,58.679035 94.659019,59.345245 91.142529,58.782935 C 87.508489,58.201825 86.684459,59.163475 88.239579,62.170735 C 89.719199,65.031995 96.293499,71.080865 97.268659,70.478185 C 98.424619,69.763755 98.168449,68.551335 96.861549,68.551335 C 96.221739,68.551335 95.698269,68.063185 95.698269,67.466565 C 95.698269,66.638405 96.890749,66.405005 100.73916,66.479925 C 104.34329,66.550085 105.78005,66.869325 105.78005,67.599955 C 105.78005,69.257345 102.12056,72.427965 100.19276,72.440815 C 98.822199,72.449965 98.669059,72.614985 99.527249,73.158005 C 100.80612,73.967225 105.40143,71.904875 107.44789,69.603265 z M 94.435319,64.305895 C 94.194009,63.677055 94.617049,62.542855 95.375399,61.785455 C 96.696359,60.466155 96.735119,60.481595 96.298849,62.153285 C 95.979709,63.376175 96.183469,63.898205 96.979919,63.898205 C 97.604969,63.898205 97.900689,64.247195 97.637069,64.673725 C 96.918959,65.835645 94.934869,65.607715 94.435319,64.305895 z M 88.330809,71.653425 C 87.716639,70.659685 87.167529,70.659685 87.167529,71.653425 C 87.167529,72.079965 87.537109,72.428945 87.988819,72.428945 C 88.440529,72.428945 88.594429,72.079965 88.330809,71.653425 z M 131.51767,71.899175 C 130.95784,71.675155 130.28896,71.702705 130.03125,71.960395 C 129.77356,72.218105 130.2316,72.401395 131.04913,72.367715 C 131.95257,72.330505 132.13633,72.146745 131.51767,71.899175 z M 91.820659,69.326855 C 91.820659,68.343365 91.324049,67.798225 90.463499,67.837045 C 89.717059,67.870715 89.522959,68.067755 90.032169,68.274915 C 90.541379,68.482055 90.765779,69.152475 90.530829,69.764725 C 90.295899,70.376965 90.489989,70.877905 90.962159,70.877905 C 91.434339,70.877905 91.820659,70.179935 91.820659,69.326855 z M 138.35196,69.326855 C 138.35196,68.343365 137.85536,67.798225 136.9948,67.837045 C 136.24836,67.870715 136.05426,68.067755 136.56347,68.274915 C 137.07268,68.482055 137.29708,69.152475 137.06214,69.764725 C 136.8272,70.376965 137.0213,70.877905 137.49347,70.877905 C 137.96564,70.877905 138.35196,70.179935 138.35196,69.326855 z M 103.84124,68.382315 C 104.38307,67.799085 104.18868,67.698775 103.19617,68.049435 C 102.41485,68.325485 101.10616,68.551335 100.28797,68.551335 C 99.469779,68.551335 98.800349,68.938155 98.800349,69.410935 C 98.800349,70.434685 102.66771,69.645535 103.84124,68.382315 z M 131.75221,68.538685 C 131.4843,68.105195 130.94022,67.951295 130.54315,68.196695 C 129.46747,68.861495 129.66805,69.326855 131.03027,69.326855 C 131.69525,69.326855 132.02012,68.972185 131.75221,68.538685 z M 87.522169,65.395665 C 86.857369,64.319985 86.392009,64.520555 86.392009,65.882785 C 86.392009,66.547765 86.746679,66.872625 87.180179,66.604715 C 87.613669,66.336795 87.767569,65.792725 87.522169,65.395665 z M 146.10718,65.403475 C 146.10718,64.951765 145.75819,64.797875 145.33166,65.061485 C 144.33792,65.675655 144.33792,66.224775 145.33166,66.224775 C 145.75819,66.224775 146.10718,65.855185 146.10718,65.403475 z M 80.922039,60.796125 C 81.271799,60.796125 81.745709,60.078225 81.975159,59.200785 C 82.240579,58.185865 82.061869,57.715625 81.483969,57.908255 C 80.984359,58.074795 80.610229,58.530955 80.652549,58.921945 C 80.694879,59.312935 80.233529,59.995505 79.627349,60.438765 C 78.825919,61.024785 78.698719,61.871215 79.161179,63.540845 L 79.797189,65.837015 L 80.041649,63.316565 C 80.176099,61.930325 80.572269,60.796125 80.922039,60.796125 z M 79.398949,57.296205 C 80.544919,55.760515 80.542689,55.760515 78.745469,57.297595 C 77.753609,58.145895 76.582359,59.541835 76.142689,60.399685 L 75.343289,61.959405 L 76.796159,60.398295 C 77.595239,59.539685 78.766499,58.143745 79.398949,57.296205 z M 124.0284,58.710305 C 123.59155,56.381715 123.68377,56.006255 124.52372,56.693725 C 125.28071,57.313295 125.81222,57.260045 126.51753,56.493975 C 127.75839,55.146235 126.80947,54.567385 122.75003,54.195815 C 119.83737,53.929205 119.6704,54.012275 120.69516,55.218185 C 121.30863,55.940095 122.25936,57.664955 122.80789,59.051195 C 124.13362,62.401575 124.69164,62.245715 124.0284,58.710305 z M 163.37647,60.020595 C 164.1069,59.167525 165.16944,58.469555 165.73767,58.469555 C 167.14977,58.469555 175.18253,54.062905 176.3628,52.640755 C 177.78691,50.924805 175.20653,51.103225 173.37969,52.847025 C 172.5977,53.593465 171.4635,54.318915 170.85925,54.459145 C 170.25498,54.599365 169.23711,55.164555 168.59731,55.715115 C 167.9575,56.265665 166.99779,56.558085 166.46462,56.364925 C 165.93145,56.171775 165.49522,56.391805 165.49522,56.853885 C 165.49522,57.315965 165.01187,57.694035 164.42113,57.694035 C 163.83038,57.694035 162.77538,58.566495 162.07669,59.632835 C 160.56119,61.945765 161.49067,62.223055 163.37647,60.020595 z M 138.35196,57.694035 C 138.35196,56.710545 137.85536,56.165395 136.9948,56.204215 C 136.24836,56.237895 136.05426,56.434925 136.56347,56.642085 C 137.07268,56.849235 137.29708,57.519655 137.06214,58.131905 C 136.8272,58.744145 137.0213,59.245075 137.49347,59.245075 C 137.96564,59.245075 138.35196,58.547105 138.35196,57.694035 z M 107.30863,57.724325 C 107.93608,57.327515 108.18952,56.742905 107.87181,56.425205 C 107.5541,56.107495 106.70421,56.437505 105.98316,57.158555 C 104.58149,58.560225 105.42057,58.918375 107.30863,57.724325 z M 89.831629,56.224255 C 90.067619,55.842415 89.739239,55.329885 89.101879,55.085315 C 88.397969,54.815195 87.943049,55.087735 87.943049,55.779565 C 87.943049,57.033885 89.154899,57.319235 89.831629,56.224255 z M 146.10718,53.816425 C 146.10718,53.389885 145.75819,53.040905 145.33166,53.040905 C 144.90512,53.040905 144.55613,53.389885 144.55613,53.816425 C 144.55613,54.242965 144.90512,54.591945 145.33166,54.591945 C 145.75819,54.591945 146.10718,54.242965 146.10718,53.816425 z M 81.355019,51.762825 C 82.677479,49.744485 82.671299,49.716885 80.995189,50.155195 C 79.729479,50.486185 79.399279,50.315845 79.714479,49.494475 C 80.265849,48.057615 79.817669,48.093195 78.304419,49.606455 C 76.649509,51.261365 76.600079,53.633885 78.249029,52.265385 C 79.201769,51.474685 79.412309,51.527685 79.412309,52.558185 C 79.412309,54.299385 79.795909,54.142335 81.355019,51.762825 z M 150.45333,50.924375 C 150.19563,50.666675 150.01234,51.124725 150.04601,51.942245 C 150.08322,52.845685 150.26699,53.029445 150.51455,52.410795 C 150.73858,51.850965 150.71103,51.182075 150.45333,50.924375 z M 90.463499,49.871065 C 92.507919,46.279065 92.092569,45.444075 89.881849,48.701755 C 87.806989,51.759235 87.612899,52.268165 88.524689,52.260485 C 88.844589,52.257785 89.717059,51.182545 90.463499,49.871065 z M 112.21772,51.773375 C 112.7766,51.214505 106.3111,46.061205 105.05105,46.061205 C 104.59893,46.061205 104.22579,45.799475 104.22185,45.479565 C 104.21791,45.159665 102.62685,43.153005 100.68616,41.020315 C 97.617739,37.648335 97.316819,37.469305 98.378479,39.647315 C 99.049939,41.024845 101.72797,44.427445 104.32964,47.208645 C 108.63921,51.815585 110.87924,53.111865 112.21772,51.773375 z M 155.01786,45.273035 C 154.74995,44.839545 154.20587,44.685645 153.80881,44.931045 C 152.73313,45.595855 152.9337,46.061205 154.29593,46.061205 C 154.9609,46.061205 155.28577,45.706535 155.01786,45.273035 z M 94.391349,42.545045 C 96.471509,38.182915 95.903829,36.862425 93.762709,41.082765 C 91.564949,45.414745 91.605179,45.285685 92.452549,45.285685 C 92.800079,45.285685 93.672539,44.052395 94.391349,42.545045 z M 83.677679,43.734645 C 83.063509,42.740895 82.514399,42.740895 82.514399,43.734645 C 82.514399,44.161185 82.883979,44.510165 83.335689,44.510165 C 83.787399,44.510165 83.941299,44.161185 83.677679,43.734645 z M 80.656379,39.291545 C 80.398669,39.033855 80.215389,39.491895 80.249059,40.309425 C 80.286269,41.212865 80.470039,41.396625 80.717599,40.777965 C 80.941619,40.218145 80.914079,39.549255 80.656379,39.291545 z M 158.12776,36.754945 C 157.5136,35.761205 156.96448,35.761205 156.96448,36.754945 C 156.96448,37.181485 157.33406,37.530475 157.78577,37.530475 C 158.23748,37.530475 158.39138,37.181485 158.12776,36.754945 z M 115.16389,29.920215 C 114.1955,28.110755 114.93581,27.133865 116.37212,28.325895 C 117.19242,29.006685 117.41806,28.799935 117.43738,27.349765 L 117.46189,25.509885 L 119.1823,27.530935 C 120.12853,28.642505 121.32384,30.212935 121.83856,31.020785 C 122.60266,32.220035 122.62783,32.037125 121.97573,30.024105 C 121.44859,28.396795 121.43601,27.074805 121.93872,26.135465 C 122.46863,25.145325 122.40088,24.302735 121.71605,23.366185 C 120.1681,21.249225 118.85152,21.689965 119.46164,24.120855 C 119.96926,26.143405 119.89056,26.114515 117.3491,23.345335 C 115.8972,21.763345 114.37533,20.468995 113.96717,20.468995 C 113.55901,20.468995 113.64384,20.887775 114.15568,21.399625 C 114.66753,21.911465 115.08631,22.937515 115.08631,23.679725 C 115.08631,25.371065 111.50552,25.284965 110.40352,23.567115 C 109.88709,22.762065 109.80846,23.182245 110.14623,24.942175 C 110.57769,27.190265 110.46806,27.414695 109.17574,26.929035 C 108.37446,26.627905 107.32624,25.857605 106.84639,25.217265 C 106.12934,24.260385 105.97393,24.432655 105.97393,26.184375 C 105.97393,27.697255 106.29043,28.194305 107.06461,27.897215 C 107.68501,27.659155 109.1318,28.558975 110.42006,29.984135 C 112.59735,32.392785 112.66907,32.414685 112.27656,30.550775 L 111.86828,28.611975 L 113.67118,30.612255 C 115.60772,32.760815 116.47015,32.360995 115.16389,29.920215 z M 146.76575,190.50212 C 146.70143,189.75568 146.7195,188.21702 146.80591,187.08286 C 146.89232,185.94871 146.59596,184.79391 146.14733,184.51665 C 145.17109,183.9133 145.04281,179.45094 146.00171,179.45094 C 146.37023,179.45094 147.67893,177.96775 148.90991,176.15497 C 152.05174,171.52824 154.64716,168.85834 157.35224,167.47038 L 159.67881,166.27663 L 157.66632,166.27185 C 156.55945,166.26922 154.98944,167.00121 154.17741,167.89849 C 153.36539,168.79578 151.27233,170.36717 149.52617,171.39048 C 147.49483,172.58093 145.62341,174.58853 144.33025,176.96448 L 142.30915,180.67792 L 144.2263,184.05314 C 146.17215,187.47886 146.35983,188.99172 144.57169,186.83714 C 144.03215,186.18702 143.16404,185.65511 142.64257,185.65511 C 141.18391,185.65511 139.29961,183.19575 138.78037,180.61422 L 138.31241,178.28766 L 139.63617,180.8081 C 141.17823,183.7442 142.16196,184.10001 141.67354,181.54499 C 141.47962,180.5306 142.21373,178.10589 143.3758,175.92246 L 145.41901,172.08348 L 143.04877,171.11186 C 139.98816,169.85723 140.05893,169.60827 143.36647,169.99441 C 145.9588,170.29705 146.12034,170.16047 147.90763,166.15495 C 150.65633,159.9948 152.12902,158.98336 158.10973,159.14815 C 162.1316,159.25896 163.23835,159.02512 163.84802,157.9357 C 164.84152,156.16041 165.78357,157.15716 165.11199,159.27308 C 164.63216,160.78491 163.25751,161.62147 157.74,163.75941 C 155.95996,164.44914 156.23656,164.64608 161.11766,166.16438 C 164.04171,167.07394 167.26982,167.81811 168.29124,167.81811 C 170.74906,167.81811 170.67305,169.20792 168.18101,169.83338 C 166.31174,170.30254 164.44323,170.08076 160.06657,168.87026 C 158.56865,168.45597 159.02683,169.11307 162.08132,171.7598 C 166.18099,175.31217 170.92387,180.44295 170.92387,181.32553 C 170.92387,182.17932 167.49689,180.06891 166.42065,178.55234 C 164.53108,175.88973 163.295,176.82234 163.43086,180.8081 C 163.52527,183.57818 163.27555,184.49183 162.42402,184.49183 C 161.40525,184.49183 158.26941,180.65141 157.56662,178.54302 C 157.24672,177.58335 150.04604,180.99808 148.52509,182.83072 C 147.78215,183.72591 147.75992,184.39607 148.43156,185.65103 C 149.37597,187.41569 148.77835,191.85929 147.5966,191.85929 C 147.20396,191.85929 146.83007,191.24856 146.76575,190.50212 z M 160.42159,175.94724 C 159.00756,170.72339 157.32792,169.75527 158.19593,174.6644 C 158.82885,178.2439 161.03823,183.1279 161.45668,181.87253 C 161.62933,181.35459 161.16354,178.68821 160.42159,175.94724 z M 162.12631,174.58917 C 161.91387,174.06412 161.75299,174.68148 161.7688,175.96109 C 161.7846,177.2407 161.95841,177.67029 162.15504,176.91574 C 162.35166,176.16118 162.33874,175.11422 162.12631,174.58917 z M 151.12108,168.5133 C 152.6288,167.1895 153.86239,165.64346 153.86239,165.07765 C 153.86239,164.51184 155.69456,163.36192 157.93388,162.52228 L 162.00537,160.99566 L 159.08424,160.44055 C 153.79987,159.43634 150.96615,161.44231 148.66235,167.81811 C 147.21476,171.82435 147.31706,171.85327 151.12108,168.5133 z M 164.08959,168.06387 C 163.52975,167.83984 162.86087,167.86739 162.60317,168.12509 C 162.34547,168.38279 162.80351,168.56608 163.62104,168.53241 C 164.52448,168.4952 164.70824,168.31143 164.08959,168.06387 z M 134.0547,156.13369 C 133.77355,155.67878 133.70984,155.14025 133.91313,154.93696 C 134.11641,154.73368 134.48939,155.10588 134.74197,155.76408 C 135.26636,157.13063 134.81941,157.37101 134.0547,156.13369 z M 132.63135,152.66546 C 131.88299,150.71526 132.10376,150.21206 133.01797,151.7842 C 133.47064,152.56263 133.67763,153.3629 133.47796,153.56258 C 133.27829,153.76225 132.89731,153.35854 132.63135,152.66546 z M 122.066,136.40949 C 122.066,134.91997 122.55039,134.91997 123.12198,136.40949 C 123.36749,137.04929 123.23033,137.57277 122.81719,137.57277 C 122.40404,137.57277 122.066,137.04929 122.066,136.40949 z M 34.586996,134.26962 C 33.452051,132.90209 30.436498,125.79938 30.825631,125.41025 C 30.99623,125.23965 31.688957,126.48252 32.365026,128.17219 C 33.683436,131.46722 35.802099,132.68594 38.067274,131.45231 C 38.840391,131.03126 40.397127,130.49346 41.52669,130.2572 C 42.656253,130.02093 46.936349,127.5839 51.038005,124.84157 C 55.13967,122.09924 60.060975,119.25769 61.974249,118.527 C 63.887515,117.79632 65.452921,116.72242 65.452921,116.14056 C 65.452921,115.5587 66.125298,115.08264 66.947095,115.08264 C 67.768889,115.08264 68.600879,114.47192 68.795939,113.72548 C 69.128329,112.45355 69.156249,112.45508 69.240569,113.74981 C 69.290049,114.50965 68.807049,115.3322 68.167249,115.57771 C 67.527442,115.82323 67.003964,116.44603 67.003964,116.96171 C 67.003964,117.47739 65.123193,118.67885 62.824477,119.63161 C 60.525768,120.58438 54.860831,123.61497 50.235736,126.36626 C 45.610649,129.11754 41.252419,131.3686 40.550789,131.3686 C 39.849159,131.3686 38.83411,131.89995 38.29513,132.54939 C 37.700134,133.26631 36.672684,133.55102 35.679722,133.27411 C 34.411876,132.92055 34.300705,132.99428 35.185117,133.60219 C 35.812569,134.03347 36.124034,134.58825 35.877271,134.83502 C 35.6305,135.08179 35.049882,134.82736 34.586996,134.26962 z M 92.864489,128.11401 C 92.836299,124.42691 93.025609,123.12678 93.406899,124.3889 C 93.903599,126.03306 94.014989,126.09199 94.139859,124.77666 C 94.242719,123.69322 94.506139,123.98405 95.013639,125.74134 C 95.579899,127.70211 95.427759,128.866 94.323979,131.01749 L 92.907799,133.77792 L 92.864489,128.11401 z M 99.785909,131.67557 C 100.04361,131.41787 100.71249,131.39033 101.27233,131.61435 C 101.89099,131.86191 101.70723,132.04568 100.80378,132.08289 C 99.986259,132.11656 99.528209,131.93328 99.785909,131.67557 z M 90.334039,129.04203 C 90.232949,128.82876 90.044659,127.60732 89.915609,126.32771 C 89.786569,125.04809 89.468689,122.6052 89.209209,120.89905 L 88.737439,117.79697 L 89.912599,121.28681 C 90.558929,123.20623 90.959519,125.82362 90.802789,127.10323 C 90.646069,128.38284 90.435129,129.2553 90.334039,129.04203 z M 96.473789,125.25938 C 96.473789,124.88507 97.054399,124.09986 97.764039,123.51445 C 98.933989,122.54933 98.967599,122.61279 98.124519,124.19502 C 97.162939,125.99963 96.473789,126.44398 96.473789,125.25938 z M 91.943109,120.51129 C 91.943109,119.44495 92.119129,119.00872 92.334269,119.54189 C 92.549409,120.07506 92.549409,120.94752 92.334269,121.4807 C 92.119129,122.01387 91.943109,121.57764 91.943109,120.51129 z M 100.05081,120.09933 C 100.75823,119.01968 101.49251,118.29182 101.68256,118.48187 C 102.21961,119.01892 100.39053,122.06234 99.530709,122.06234 C 99.109349,122.06234 99.343389,121.17899 100.05081,120.09933 z M 69.912169,119.67115 C 69.165729,118.85362 68.752439,118.18473 68.993749,118.18473 C 70.003319,118.18473 72.432619,119.84755 72.432619,120.53858 C 72.432619,121.6732 71.422829,121.32568 69.912169,119.67115 z M 91.106359,116.31055 C 91.072689,115.49302 91.255979,115.03498 91.513679,115.29268 C 91.771379,115.55038 91.798929,116.21926 91.574899,116.7791 C 91.327339,117.39775 91.143569,117.21399 91.106359,116.31055 z M 102.67796,116.7043 C 102.67796,116.34338 103.14327,115.6619 103.71199,115.18991 C 104.49233,114.54229 104.74602,114.60594 104.74602,115.44934 C 104.74602,116.06402 104.28071,116.7455 103.71199,116.96373 C 103.14327,117.18197 102.67796,117.06522 102.67796,116.7043 z M 90.024179,112.45956 C 89.732629,111.6998 89.516209,110.496 89.543249,109.78444 C 89.575809,108.92758 89.845169,109.12297 90.340919,110.36306 C 90.752599,111.39286 90.969019,112.59666 90.821849,113.03818 C 90.674679,113.47969 90.315729,113.21932 90.024179,112.45956 z M 105.00453,113.08044 C 105.00453,112.22796 109.26052,106.58526 109.91616,106.56846 C 110.27161,106.55936 110.43491,106.81364 110.27904,107.13354 C 108.53216,110.7189 107.7772,111.81318 106.50038,112.61057 C 105.67766,113.12436 105.00453,113.3358 105.00453,113.08044 z M 96.624979,106.16414 C 96.609169,104.88453 96.770039,104.26717 96.982479,104.79222 C 97.194909,105.31727 97.207839,106.36423 97.011219,107.11879 C 96.814589,107.87335 96.640779,107.44375 96.624979,106.16414 z M 87.228759,101.57564 C 87.195079,100.75811 87.378369,100.30007 87.636069,100.55776 C 87.893769,100.81547 87.921319,101.48435 87.697289,102.04418 C 87.449729,102.66284 87.265969,102.47908 87.228759,101.57564 z M 206.25371,75.271055 C 204.28356,73.830455 205.13747,69.681405 208.12289,66.188885 L 210.41244,63.510445 L 210.44396,65.985125 C 210.48368,69.103915 211.576,69.800435 213.96872,68.232665 C 216.31826,66.693185 218.44111,59.992095 217.74863,56.300805 C 217.47761,54.856125 216.06449,52.048455 214.60837,50.061545 L 211.96089,46.448965 L 214.66037,49.431255 C 217.61697,52.697585 219.78173,58.062085 219.78173,62.122465 C 219.78173,65.097835 218.01627,69.748005 216.07026,71.898315 C 213.27604,74.985895 208.2332,76.718495 206.25371,75.271055 z M 161.61761,33.348075 C 161.61761,32.753905 162.16963,32.055935 162.84432,31.797035 C 165.15819,30.909115 165.73444,31.327585 164.33194,32.877345 C 162.69295,34.688405 161.61761,34.874895 161.61761,33.348075 z"));  
  83.263 +paths.push(new path("Butterfly","M203.62 139.62 C195.62 133.12 205.96 132.6 205.87 132.37 C191.62 96.87 168.64 81.2 166.87 80.37 C161.41 77.81 158.77 78.05 159.73 76.76 C160.69 75.47 167.01 79.51 167.87 80.12 C193.12 98.12 206.87 132.12 206.87 132.12 C206.87 132.12 208.62 133.12 208.87 132.37 C218.87 102.87 238.87 87.37 245.62 81.12 C252.37 74.87 255.92 74.26 246.62 81.37 C217.87 103.37 209.63 132.01 210.12 132.12 C221.62 134.62 210.62 140.12 211.12 139.62 C214.14 136.6 214.12 145.62 214.12 145.62 C214.12 145.62 231.12 110.62 297.62 66.12 C301.71 63.38 445.12 -14.88 395.12 80.62 C392.53 85.57 375.12 105.62 375.12 105.62 C375.12 105.62 376.62 114.12 370.62 121.12 C369.59 122.32 367.12 134.12 361.12 140.62 C359.43 142.46 361.09 139.04 361.12 140.62 C361.62 170.62 337.05 169.96 338.62 170.12 C348.12 171.12 349.47 183.45 349.62 183.62 C355.12 190.12 353.12 191.62 355.12 194.62 C365.91 210.81 354.53 209.84 356.12 212.62 C360.12 219.62 355.28 222.51 356.62 224.62 C360.12 230.12 354.03 233.62 354.12 235.12 C354.62 243.62 348.96 240.52 349.12 244.12 C349.62 255.12 345.62 250.62 343.12 254.62 C335.62 266.62 332.74 262.17 332.12 263.62 C329.12 270.62 325.09 268.94 323.62 270.62 C320.12 274.62 316.62 274.62 315.12 276.12 C308.12 283.12 304.15 278.17 303.12 278.62 C287.12 285.62 279.62 279.95 277.12 280.12 C269.62 280.62 270.77 279.46 268.62 277.62 C237.12 250.62 218.62 211.62 215.12 206.62 C213.69 204.57 210.63 192.91 211.62 195.62 C213.62 201.12 212.62 250.12 207.12 250.12 C201.62 250.12 201.12 204.12 204.62 195.62 C205.72 192.95 203.69 203.5 201.08 206.62 C195.62 213.12 178.79 250.62 146.88 277.62 C144.71 279.46 145.87 280.62 138.27 280.12 C135.75 279.95 128.14 285.62 111.94 278.62 C110.9 278.17 106.87 283.12 99.78 276.12 C98.26 274.62 94.72 274.62 91.17 270.62 C89.68 268.94 85.6 270.62 82.56 263.62 C81.93 262.17 79.01 266.62 71.42 254.62 C68.88 250.62 64.83 255.12 65.34 244.12 C65.51 240.52 59.77 243.62 60.27 235.12 C60.36 233.62 54.2 230.12 57.74 224.62 C59.1 222.51 54.2 219.62 58.25 212.62 C59.86 209.84 48.33 210.81 59.26 194.62 C61.29 191.62 59.26 190.12 64.83 183.62 C64.98 183.45 66.35 171.12 75.98 170.12 C77.57 169.96 52.68 170.62 53.18 140.62 C53.21 139.04 54.9 142.46 53.18 140.62 C47.11 134.12 44.6 122.32 43.56 121.12 C37.48 114.12 39 105.62 39 105.62 C39 105.62 21.37 85.57 18.74 80.62 C-31.9 -14.88 113.36 63.38 117.51 66.12 C184.87 110.62 201.29 145.62 201.29 145.62 C201.29 145.62 201.65 143.07 202.29 141.62 C202.93 140.18 203.85 139.81 203.62 139.62 zM242.12 153.12 C245.16 153.02 251.35 156.17 255.12 155.12 C280.55 148.06 328.44 154.56 331.62 155.62 C343.62 159.62 351.62 131.12 326.12 131.12 C294.59 131.12 301.12 129.12 280.12 126.12 C278.34 125.87 252.6 135.42 228.62 149.12 C225.12 151.12 227.12 153.62 242.12 153.12 zM223.12 148.12 C225.66 148.4 238.12 139.62 277.12 124.12 C279.49 123.18 279.62 118.12 300.62 108.62 C301.99 108 300.12 104.62 314.62 92.62 C321.79 86.69 297.12 87.62 291.62 88.62 C286.12 89.62 272.62 100.62 272.62 100.62 C272.62 100.62 287.8 88.55 282.62 90.12 C271.12 93.62 241.12 126.62 231.12 140.62 C221.12 154.62 247.62 116.62 254.12 110.62 C260.62 104.62 204.62 146.12 223.12 148.12 zM335.62 128.62 C350.14 131.53 348.62 110.12 341.12 109.12 C329.55 107.58 307.51 108.3 301.12 110.62 C284.62 116.62 280.29 122.65 281.62 123.12 C310.12 133.12 330.62 127.62 335.62 128.62 zM335.12 106.62 C341.04 107.36 351.12 109.62 351.62 101.62 C351.87 97.6 365.62 104.62 368.62 105.12 C371.1 105.53 358.12 100.33 353.62 97.12 C350.12 94.62 349.51 91.76 349.12 91.62 C317.12 80.12 303.62 107.12 303.62 107.12 C303.62 107.12 331.12 106.12 335.12 106.62 zM400.62 62.62 C395.62 54.62 386.66 57.08 383.62 53.62 C369.12 37.12 335.54 58.28 363.12 56.12 C395.12 53.62 401.21 63.57 400.62 62.62 zM376.62 66.62 C390.13 66.62 396.12 72.62 395.12 71.62 C388.12 64.62 382.12 66.12 380.62 64.12 C371.7 52.23 345.12 64.62 347.12 67.62 C349.12 70.62 373.12 66.62 376.62 66.62 zM330.12 76.12 C309.12 81.12 318.12 88.62 320.62 88.12 C340.05 84.24 334.5 75.08 330.12 76.12 zM340.62 52.12 C331.12 53.12 330.48 70.43 335.12 67.12 C342.12 62.12 350.12 51.12 340.62 52.12 zM315.62 75.62 C329.62 70.12 319.12 67.62 314.62 68.12 C310.12 68.62 306.79 75.45 308.12 78.12 C311.12 84.12 312.91 76.69 315.62 75.62 zM359.62 121.12 C364.12 118.62 358.62 112.62 354.62 115.12 C350.62 117.62 355.12 123.62 359.62 121.12 zM350.12 78.62 C361.89 90.39 366.62 84.12 369.12 83.12 C377.24 79.87 386.12 88.62 384.62 87.12 C377.34 79.84 372.62 81.12 371.62 79.62 C364.01 68.2 352.66 75.44 350.12 75.62 C343.12 76.12 334.43 81.03 337.62 80.12 C341.12 79.12 348.62 77.12 350.12 78.62 zM383.62 44.12 C390.62 39.12 381.4 37.85 379.62 38.12 C373.12 39.12 376.62 49.12 383.62 44.12 zM224.62 181.12 C230.12 187.62 291.62 285.12 282.12 252.62 C280.83 248.2 285.62 266.12 291.12 256.12 C292.66 253.32 301.27 253.03 274.62 208.62 C273.12 206.12 252.62 198.12 232.12 175.62 C229.02 172.21 220.05 175.72 224.62 181.12 zM280.12 215.62 C284.62 222.62 295.81 246.07 296.62 249.62 C299.12 260.62 306.12 248.12 307.62 248.62 C320.78 253.01 311.12 241.12 310.12 238.12 C300.95 210.62 279.62 213.12 279.62 213.12 C279.62 213.12 275.62 208.62 280.12 215.62 zM253.62 256.12 C266.26 274.09 271.12 267.12 273.62 265.12 C281.32 258.96 232.34 196.14 229.12 192.12 C225.12 187.12 225.12 215.62 253.62 256.12 zM300.12 219.12 C306.62 224.12 313.86 245.19 317.62 244.62 C327.62 243.12 321.62 234.62 324.12 236.12 C326.62 237.62 331.62 234.95 330.12 232.12 C317.62 208.62 298.12 216.12 298.12 216.12 C298.12 216.12 293.62 214.12 300.12 219.12 zM235.62 168.62 C216.12 168.62 282.12 222.62 301.12 212.12 C305.06 209.94 296.12 208.62 297.62 197.12 C297.9 195.02 284.12 191.12 284.12 178.12 C284.12 173.88 276.2 172.12 251.12 172.12 C246.62 172.12 256.03 168.62 235.62 168.62 zM307.62 213.62 C325.89 215.65 330.23 229.8 332.62 228.12 C361.12 208.12 309.89 199.96 300.62 201.12 C296.62 201.62 303.12 213.12 307.62 213.62 zM238.62 164.12 C242.12 166.62 254.12 176.62 292.62 168.12 C294.09 167.8 263.62 167.62 259.62 166.62 C255.62 165.62 236.25 162.43 238.62 164.12 zM305.12 198.62 C342.62 207.62 332.72 201.36 334.12 200.62 C342.62 196.12 333.33 195.23 334.62 193.62 C338.83 188.36 327.62 185.12 304.12 182.62 C298.56 182.03 287.54 179.27 287.12 180.12 C283.62 187.12 300.33 197.47 305.12 198.62 zM311.12 182.12 C343.62 187.62 323.23 177.43 323.62 177.12 C335.12 168.12 297.12 168.12 297.12 168.12 C297.12 168.12 280.79 172 281.12 172.62 C285.62 181.12 307.15 181.45 311.12 182.12 zM249.62 253.62 C249.62 253.62 220.62 207.12 226.62 188.12 C227.83 184.31 213.62 165.62 220.12 197.12 C220.22 197.61 218.89 190.43 216.62 187.12 C214.35 183.81 211.18 184.9 213.12 194.62 C218.01 219.05 249.62 253.62 249.62 253.62 zM289.12 83.62 C296.62 81.62 293.12 79.12 288.62 78.12 C284.12 77.12 281.62 85.62 289.12 83.62 zM187.4 149.12 C163.12 135.42 137.04 125.87 135.23 126.12 C113.96 129.12 120.58 131.12 88.64 131.12 C62.81 131.12 70.91 159.62 83.07 155.62 C86.29 154.56 134.8 148.06 160.56 155.12 C164.37 156.17 170.65 153.02 173.73 153.12 C188.92 153.62 190.95 151.12 187.4 149.12 zM161.57 110.62 C168.15 116.62 195 154.62 184.87 140.62 C174.74 126.62 144.35 93.62 132.7 90.12 C127.46 88.55 142.83 100.62 142.83 100.62 C142.83 100.62 129.16 89.62 123.58 88.62 C118.01 87.62 93.03 86.69 100.29 92.62 C114.97 104.62 113.08 108 114.47 108.62 C135.74 118.12 135.87 123.18 138.27 124.12 C177.78 139.62 190.4 148.4 192.97 148.12 C211.71 146.12 154.99 104.62 161.57 110.62 zM133.71 123.12 C135.07 122.65 130.68 116.62 113.96 110.62 C107.49 108.3 85.16 107.58 73.44 109.12 C65.85 110.12 64.31 131.53 79.01 128.62 C84.08 127.62 104.84 133.12 133.71 123.12 zM111.43 107.12 C111.43 107.12 97.75 80.12 65.34 91.62 C64.95 91.76 64.33 94.62 60.78 97.12 C56.23 100.33 43.08 105.53 45.59 105.12 C48.63 104.62 62.55 97.6 62.81 101.62 C63.31 109.62 73.53 107.36 79.52 106.62 C83.57 106.12 111.43 107.12 111.43 107.12 zM51.16 56.12 C79.09 58.28 45.08 37.12 30.39 53.62 C27.31 57.08 18.24 54.62 13.17 62.62 C12.57 63.57 18.74 53.62 51.16 56.12 zM67.37 67.62 C69.39 64.62 42.47 52.23 33.43 64.12 C31.91 66.12 25.83 64.62 18.74 71.62 C17.73 72.62 23.8 66.62 37.48 66.62 C41.03 66.62 65.34 70.62 67.37 67.62 zM84.59 76.12 C105.86 81.12 96.74 88.62 94.21 88.12 C74.53 84.24 80.15 75.08 84.59 76.12 zM79.52 67.12 C84.22 70.43 83.57 53.12 73.95 52.12 C64.33 51.12 72.43 62.12 79.52 67.12 zM106.87 78.12 C108.22 75.45 104.84 68.62 100.29 68.12 C95.73 67.62 85.09 70.12 99.27 75.62 C102.02 76.69 103.83 84.12 106.87 78.12 zM59.77 115.12 C55.72 112.62 50.14 118.62 54.7 121.12 C59.26 123.62 63.82 117.62 59.77 115.12 zM76.99 80.12 C80.22 81.03 71.42 76.12 64.33 75.62 C61.75 75.44 50.26 68.2 42.55 79.62 C41.53 81.12 36.75 79.84 29.38 87.12 C27.86 88.62 36.85 79.87 45.08 83.12 C47.61 84.12 52.41 90.39 64.33 78.62 C65.85 77.12 73.44 79.12 76.99 80.12 zM34.44 38.12 C32.64 37.85 23.3 39.12 30.39 44.12 C37.48 49.12 41.03 39.12 34.44 38.12 zM183.86 175.62 C163.09 198.12 142.32 206.12 140.8 208.62 C113.81 253.03 122.53 253.32 124.09 256.12 C129.66 266.12 134.52 248.2 133.21 252.62 C123.58 285.12 185.88 187.62 191.45 181.12 C196.08 175.72 187 172.21 183.86 175.62 zM135.74 213.12 C135.74 213.12 114.13 210.62 104.84 238.12 C103.83 241.12 94.05 253.01 107.38 248.62 C108.9 248.12 115.99 260.62 118.52 249.62 C119.34 246.07 130.68 222.62 135.23 215.62 C139.79 208.62 135.74 213.12 135.74 213.12 zM186.89 192.12 C183.64 196.14 134.02 258.96 141.82 265.12 C144.35 267.12 149.27 274.09 162.08 256.12 C190.95 215.62 190.95 187.12 186.89 192.12 zM117 216.12 C117 216.12 97.25 208.62 84.59 232.12 C83.06 234.95 88.13 237.62 90.66 236.12 C93.2 234.62 87.12 243.12 97.25 244.62 C101.06 245.19 108.39 224.12 114.97 219.12 C121.56 214.12 117 216.12 117 216.12 zM164.61 172.12 C139.2 172.12 131.18 173.88 131.18 178.12 C131.18 191.12 117.23 195.02 117.51 197.12 C119.03 208.62 109.97 209.94 113.96 212.12 C133.21 222.62 200.06 168.62 180.31 168.62 C159.64 168.62 169.17 172.12 164.61 172.12 zM114.47 201.12 C105.08 199.96 53.18 208.12 82.05 228.12 C84.47 229.8 88.87 215.65 107.38 213.62 C111.94 213.12 118.52 201.62 114.47 201.12 zM156 166.62 C151.95 167.62 121.09 167.8 122.57 168.12 C161.57 176.62 173.73 166.62 177.27 164.12 C179.67 162.43 160.05 165.62 156 166.62 zM128.14 180.12 C127.71 179.27 116.55 182.03 110.92 182.62 C87.12 185.12 75.76 188.36 80.03 193.62 C81.33 195.23 71.92 196.12 80.53 200.62 C81.95 201.36 71.92 207.62 109.91 198.62 C114.76 197.47 131.69 187.12 128.14 180.12 zM134.22 172.62 C134.56 172 118.01 168.12 118.01 168.12 C118.01 168.12 79.52 168.12 91.17 177.12 C91.57 177.43 70.91 187.62 103.83 182.12 C107.86 181.45 129.66 181.12 134.22 172.62 zM203.1 194.62 C205.07 184.9 201.85 183.81 199.56 187.12 C197.26 190.43 195.91 197.61 196.01 197.12 C202.6 165.62 188.21 184.31 189.43 188.12 C195.5 207.12 166.13 253.62 166.13 253.62 C166.13 253.62 198.15 219.05 203.1 194.62 zM126.62 78.12 C122.06 79.12 118.52 81.62 126.12 83.62 C133.71 85.62 131.18 77.12 126.62 78.12 z"));
  83.264 +paths.push(new path("Butterfly shadow","M204.33 139.83 C196.33 133.33 206.68 132.82 206.58 132.58 C192.33 97.08 169.35 81.41 167.58 80.58 C162.12 78.02 159.48 78.26 160.45 76.97 C161.41 75.68 167.72 79.72 168.58 80.33 C193.83 98.33 207.58 132.33 207.58 132.33 C207.58 132.33 209.33 133.33 209.58 132.58 C219.58 103.08 239.58 87.58 246.33 81.33 C253.08 75.08 256.63 74.47 247.33 81.58 C218.58 103.58 210.34 132.23 210.83 132.33 C222.33 134.83 211.33 140.33 211.83 139.83 C214.85 136.81 214.83 145.83 214.83 145.83 C214.83 145.83 231.83 110.83 298.33 66.33 C302.43 63.59 445.83 -14.67 395.83 80.83 C393.24 85.79 375.83 105.83 375.83 105.83 C375.83 105.83 377.33 114.33 371.33 121.33 C370.3 122.53 367.83 134.33 361.83 140.83 C360.14 142.67 361.81 139.25 361.83 140.83 C362.33 170.83 337.76 170.17 339.33 170.33 C348.83 171.33 350.19 183.66 350.33 183.83 C355.83 190.33 353.83 191.83 355.83 194.83 C366.63 211.02 355.24 210.05 356.83 212.83 C360.83 219.83 355.99 222.72 357.33 224.83 C360.83 230.33 354.75 233.84 354.83 235.33 C355.33 243.83 349.67 240.73 349.83 244.33 C350.33 255.33 346.33 250.83 343.83 254.83 C336.33 266.83 333.46 262.38 332.83 263.83 C329.83 270.83 325.81 269.15 324.33 270.83 C320.83 274.83 317.33 274.83 315.83 276.33 C308.83 283.33 304.86 278.39 303.83 278.83 C287.83 285.83 280.33 280.17 277.83 280.33 C270.33 280.83 271.48 279.67 269.33 277.83 C237.83 250.83 219.33 211.83 215.83 206.83 C214.4 204.79 211.35 193.12 212.33 195.83 C214.33 201.33 213.33 250.33 207.83 250.33 C202.33 250.33 201.83 204.33 205.33 195.83 C206.43 193.16 204.4 203.72 201.79 206.83 C196.33 213.33 179.5 250.83 147.59 277.83 C145.42 279.67 146.58 280.83 138.98 280.33 C136.46 280.17 128.85 285.83 112.65 278.83 C111.61 278.39 107.58 283.33 100.49 276.33 C98.97 274.83 95.43 274.83 91.88 270.83 C90.39 269.15 86.31 270.83 83.27 263.83 C82.64 262.38 79.73 266.83 72.13 254.83 C69.6 250.83 65.54 255.33 66.05 244.33 C66.22 240.73 60.48 243.83 60.99 235.33 C61.08 233.84 54.91 230.33 58.45 224.83 C59.81 222.72 54.91 219.83 58.96 212.83 C60.57 210.05 49.04 211.02 59.97 194.83 C62 191.83 59.97 190.33 65.54 183.83 C65.69 183.66 67.06 171.33 76.69 170.33 C78.28 170.17 53.39 170.83 53.9 140.83 C53.92 139.25 55.61 142.67 53.9 140.83 C47.82 134.33 45.32 122.53 44.27 121.33 C38.19 114.33 39.71 105.83 39.71 105.83 C39.71 105.83 22.08 85.79 19.46 80.83 C-31.19 -14.67 114.07 63.59 118.22 66.33 C185.58 110.83 202 145.83 202 145.83 C202 145.83 202.36 143.28 203 141.83 C203.64 140.39 204.56 140.02 204.33 139.83 z")); 
  83.265 +//paths.push(new path("Fish's tail","M569.3857422,394.109375c-10.7744141,2.8852539-22.2714844,3.8129883-32.7353516,7.3813477 c17.7226563-15.1958008,16.7109375-38.7084961,28.5351563-56.605957 c3.7666016-5.0673828,6.8798828-10.3789063,11.2705078-15.1875 c-7.1923828,14.4277344-4.0732422,33.1464844-12.3359375,47.1474609 c-3.1806641,5.5615234-7.7294922,10.9570313-12.7597656,15.3251953c1.6435547-0.0615234,3.0820313-1.484375,4.5273438-2.4345703	c13.4208984-13.3925781,30.9541016-17.1376953,45.4716797-28.0185547 c5.8154297-4.6337891,11.1416016-10.7060547,13.6982422-17.2734375 C612.3105469,366.6630859,590.2050781,387.4892578,569.3857422,394.109375L569.3857422,394.109375z"));
  83.266 +paths.push(new path("tutorial","M 139.23126,12.451027 L 140.73051,12.451027 L 139.80954,15.470944 L 141.50155,15.470944 L 141.35162,15.963555 L 139.65961,15.963555 L 139.25267,17.205790 C 138.90999,18.262404 138.54588,19.540336 138.16036,21.039586 C 137.77484,22.524557 137.58208,23.388410 137.58208,23.631146 C 137.58208,23.959553 137.73201,24.123756 138.03186,24.123756 C 138.56016,24.123756 139.19556,23.395549 139.93804,21.939135 C 140.00944,21.782071 140.11653,21.589310 140.25931,21.360853 L 140.68767,21.575032 C 140.13081,22.731596 139.71673,23.474081 139.44543,23.802488 C 138.86001,24.502138 138.23890,24.851963 137.58208,24.851963 C 137.13945,24.851963 136.78248,24.716317 136.51119,24.445024 C 136.23990,24.159453 136.10425,23.795349 136.10425,23.352714 C 136.10425,22.952914 136.16850,22.503139 136.29701,22.003389 C 136.43980,21.446525 136.89671,19.847325 137.66775,17.205790 L 138.03186,15.963555 L 136.31843,15.963555 L 136.48977,15.470944 L 138.20320,15.470944 L 139.23126,12.451027 z M 149.99737,15.299601 L 151.60371,15.299601 C 150.24724,19.626007 149.56901,22.367492 149.56901,23.524056 C 149.56901,23.952413 149.68324,24.166592 149.91170,24.166592 C 150.18299,24.166592 150.50426,23.909578 150.87550,23.395549 C 151.26102,22.867242 151.59657,22.217567 151.88214,21.446525 L 152.35333,21.639285 C 151.59657,23.781071 150.65418,24.851963 149.52618,24.851963 C 148.55523,24.851963 148.06976,24.309378 148.06976,23.224206 C 148.06976,22.938635 148.10546,22.474582 148.17685,21.832046 C 147.61999,22.688760 147.17021,23.309878 146.82753,23.695399 C 146.14215,24.466442 145.36397,24.851963 144.49298,24.851963 C 143.97895,24.851963 143.55059,24.673481 143.20791,24.316517 C 142.86522,23.959553 142.69388,23.516917 142.69388,22.988610 C 142.69388,22.731596 142.90806,21.867743 143.33642,20.397050 L 143.72194,19.069143 C 144.15029,17.598451 144.36447,16.691762 144.36447,16.349076 C 144.36447,16.077783 144.27166,15.942137 144.08604,15.942137 C 143.48634,15.942137 142.69388,16.884522 141.70866,18.769293 L 141.23747,18.533697 C 142.32264,16.306240 143.41495,15.192512 144.51440,15.192512 C 144.91420,15.192512 145.23547,15.342437 145.47820,15.642287 C 145.73522,15.942137 145.86372,16.334798 145.86372,16.820269 C 145.86372,17.419969 145.72094,18.169594 145.43537,19.069143 L 144.85708,20.889661 C 144.38589,22.374632 144.15029,23.238485 144.15029,23.481221 C 144.15029,23.980971 144.40731,24.230846 144.92134,24.230846 C 145.37825,24.230846 145.87800,23.952413 146.42059,23.395549 C 146.97745,22.838685 147.47720,22.103339 147.91984,21.189511 C 148.59093,19.804489 149.28344,17.841187 149.99737,15.299601 z M 156.32999,12.451027 L 157.82924,12.451027 L 156.90827,15.470944 L 158.60028,15.470944 L 158.45035,15.963555 L 156.75834,15.963555 L 156.35140,17.205790 C 156.00872,18.262404 155.64461,19.540336 155.25909,21.039586 C 154.87357,22.524557 154.68081,23.388410 154.68081,23.631146 C 154.68081,23.959553 154.83074,24.123756 155.13059,24.123756 C 155.65889,24.123756 156.29429,23.395549 157.03677,21.939135 C 157.10817,21.782071 157.21526,21.589310 157.35804,21.360853 L 157.78640,21.575032 C 157.22954,22.731596 156.81546,23.474081 156.54416,23.802488 C 155.95874,24.502138 155.33763,24.851963 154.68081,24.851963 C 154.23818,24.851963 153.88121,24.716317 153.60992,24.445024 C 153.33863,24.159453 153.20298,23.795349 153.20298,23.352714 C 153.20298,22.952914 153.26723,22.503139 153.39574,22.003389 C 153.53853,21.446525 153.99544,19.847325 154.76648,17.205790 L 155.13059,15.963555 L 153.41716,15.963555 L 153.58850,15.470944 L 155.30193,15.470944 L 156.32999,12.451027 z M 163.74065,15.685123 C 162.71259,15.628008 161.79876,16.656065 160.99916,18.769293 C 160.44230,20.239986 160.16387,21.560753 160.16387,22.731596 C 160.16387,23.816767 160.64220,24.359353 161.59886,24.359353 C 162.36991,24.359353 163.04100,23.866742 163.61214,22.881521 C 163.98338,22.253264 164.30465,21.425107 164.57595,20.397050 C 164.84724,19.354715 165.00430,18.376633 165.04714,17.462804 C 165.10425,16.334798 164.66876,15.742237 163.74065,15.685123 z M 163.71923,15.192512 C 164.56167,15.192512 165.24704,15.528059 165.77535,16.199151 C 166.30365,16.855965 166.56781,17.712679 166.56781,18.769293 C 166.56781,20.068643 166.10375,21.382271 165.17565,22.710178 C 164.17615,24.138035 162.96247,24.851963 161.53461,24.851963 C 160.66362,24.851963 159.94969,24.552113 159.39283,23.952413 C 158.83596,23.338435 158.55753,22.560253 158.55753,21.617868 C 158.55753,20.018668 159.14295,18.505140 160.31379,17.077283 C 161.34185,15.820769 162.47700,15.192512 163.71923,15.192512 z M 167.89576,18.576533 L 167.44598,18.383772 C 167.81722,17.469944 168.26700,16.713180 168.79531,16.113480 C 169.32361,15.499501 169.79481,15.192512 170.20888,15.192512 C 171.13699,15.192512 171.60104,15.870744 171.60104,17.227208 C 171.60104,17.469944 171.55821,17.955415 171.47254,18.683622 C 172.45776,16.356215 173.50723,15.192512 174.62096,15.192512 C 174.93509,15.192512 175.19924,15.292462 175.41342,15.492362 C 175.64188,15.677983 175.75611,15.906441 175.75611,16.177733 C 175.75611,16.406190 175.67758,16.598951 175.52051,16.756015 C 175.36345,16.913080 175.17069,16.991612 174.94223,16.991612 C 174.45676,16.991612 174.21402,16.713180 174.21402,16.156316 C 174.21402,15.999251 174.16405,15.920719 174.06410,15.920719 C 173.92131,15.920719 173.72141,16.049226 173.46440,16.306240 C 173.20738,16.563255 172.98607,16.863105 172.80044,17.205790 C 172.22930,18.233847 171.30119,20.689761 170.01612,24.573531 L 168.40978,24.573531 C 169.08088,22.560253 169.51637,21.089561 169.71627,20.161454 C 170.03040,18.705040 170.18747,17.648426 170.18747,16.991612 C 170.18747,16.291962 170.07324,15.942137 169.84478,15.942137 C 169.64488,15.942137 169.35217,16.199151 168.96665,16.713180 C 168.59541,17.227208 168.23844,17.848326 167.89576,18.576533 z M 179.99685,10.352078 C 180.26814,10.352078 180.49660,10.452028 180.68222,10.651928 C 180.88212,10.837549 180.98207,11.066006 180.98207,11.337299 C 180.98207,11.608592 180.88212,11.844188 180.68222,12.044088 C 180.49660,12.243988 180.26814,12.343938 179.99685,12.343938 C 179.72556,12.343938 179.48996,12.243988 179.29006,12.044088 C 179.09016,11.844188 178.99021,11.608592 178.99021,11.337299 C 178.99021,11.066006 179.09016,10.837549 179.29006,10.651928 C 179.48996,10.452028 179.72556,10.352078 179.99685,10.352078 z M 180.31812,21.596450 L 180.74647,21.810628 C 179.78981,23.838185 178.74747,24.851963 177.61947,24.851963 C 177.21967,24.851963 176.89126,24.709178 176.63425,24.423606 C 176.37723,24.123756 176.24873,23.745374 176.24873,23.288460 C 176.24873,22.974332 176.29156,22.681621 176.37723,22.410328 C 176.46290,22.139035 176.69850,21.532196 177.08402,20.589811 L 177.89790,18.640786 C 178.38337,17.484222 178.62611,16.706040 178.62611,16.306240 C 178.62611,16.020669 178.50474,15.877883 178.26200,15.877883 C 177.76225,15.877883 177.07688,16.663205 176.20589,18.233847 L 175.77753,17.976833 C 176.79131,16.120619 177.76225,15.192512 178.69036,15.192512 C 179.07588,15.192512 179.39001,15.335298 179.63275,15.620869 C 179.87548,15.906441 179.99685,16.277683 179.99685,16.734598 C 179.99685,17.277183 179.70414,18.283822 179.11872,19.754514 L 178.21917,22.003389 C 177.84792,22.931496 177.66230,23.538335 177.66230,23.823906 C 177.66230,24.080921 177.77653,24.209428 178.00499,24.209428 C 178.27628,24.209428 178.62611,23.966692 179.05446,23.481221 C 179.49710,22.981471 179.91832,22.353214 180.31812,21.596450 z M 187.57881,15.727958 C 187.15046,15.699401 186.65071,15.949276 186.07956,16.477583 C 185.52270,16.991612 185.00153,17.684122 184.51606,18.555115 C 183.54512,20.282821 183.05965,21.732096 183.05965,22.902939 C 183.05965,23.816767 183.41661,24.273681 184.13054,24.273681 C 185.28710,24.273681 186.37941,23.138535 187.40747,20.868243 C 188.10712,19.326157 188.49978,18.048226 188.58545,17.034447 C 188.61401,16.663205 188.53548,16.356215 188.34986,16.113480 C 188.16423,15.870744 187.90722,15.742237 187.57881,15.727958 z M 189.37791,15.470944 L 190.89858,15.470944 C 190.54162,16.427608 190.05614,17.826908 189.44217,19.668843 C 188.78535,21.653564 188.45694,23.002889 188.45694,23.716817 C 188.45694,24.016667 188.57117,24.166592 188.79963,24.166592 C 189.29938,24.166592 189.99903,23.195649 190.89858,21.253764 L 191.36977,21.446525 C 190.77007,22.745874 190.25604,23.638285 189.82769,24.123756 C 189.39933,24.609228 188.91386,24.851963 188.37127,24.851963 C 187.48600,24.851963 187.04337,24.452163 187.04337,23.652564 C 187.04337,23.438385 187.10762,23.002889 187.23613,22.346075 C 186.22235,24.030946 185.13718,24.873381 183.98061,24.873381 C 183.25241,24.873381 182.65985,24.630645 182.20293,24.145174 C 181.74602,23.659703 181.51756,23.024307 181.51756,22.238985 C 181.51756,20.611229 182.16010,19.033447 183.44517,17.505640 C 184.73024,15.963555 186.05101,15.192512 187.40747,15.192512 C 188.12140,15.192512 188.66398,15.585173 189.03523,16.370494 L 189.37791,15.470944 z M 193.77581,10.780435 L 193.90432,10.287824 C 194.97521,10.244988 196.18889,10.173596 197.54535,10.073646 C 197.43113,10.459167 197.34545,10.737599 197.28834,10.908942 C 197.13128,11.351577 196.90996,12.022670 196.62439,12.922220 L 194.88954,18.576533 C 194.06138,21.275182 193.64731,22.931496 193.64731,23.545474 C 193.64731,23.988110 193.77581,24.209428 194.03283,24.209428 C 194.38979,24.209428 194.83243,23.823906 195.36073,23.052864 C 195.63203,22.653064 195.93902,22.124757 196.28170,21.467943 L 196.77431,21.703539 C 196.34595,22.488860 196.02469,23.045724 195.81051,23.374131 C 195.15369,24.359353 194.40407,24.851963 193.56163,24.851963 C 193.13328,24.851963 192.78345,24.694899 192.51216,24.380770 C 192.24087,24.066642 192.10522,23.666842 192.10522,23.181371 C 192.10522,22.581671 192.34796,21.489360 192.83343,19.904439 L 194.71820,13.757516 C 195.13228,12.401052 195.33932,11.637149 195.33932,11.465806 C 195.33932,11.208792 195.23937,11.037449 195.03947,10.951777 C 194.83957,10.851827 194.41835,10.794713 193.77581,10.780435 z "));
  83.267 +//paths.push(new path("Double Circle","M508.9130859,166.2070313 c61.0849609,33.6157227,84.2705078,109.9931641,51.7490234,170.4824219 c-32.5175781,60.4916992-108.4897461,82.3041992-169.5742188,48.6889648 c-61.0839844-33.6147461-84.2700195-109.9931641-51.7485352-170.4833984 C371.8588867,154.4038086,447.828125,132.5917969,508.9130859,166.2070313L508.9130859,166.2070313z M506.7753906,170.1870117 c58.8671875,32.3945313,81.2089844,105.9970703,49.8681641,164.2924805 c-31.3369141,58.293457-104.5507813,79.3149414-163.4155273,46.9199219 c-58.8686523-32.3964844-81.2104492-105.9990234-49.8701172-164.293457 C374.6948242,158.8115234,447.9077148,137.7915039,506.7753906,170.1870117L506.7753906,170.1870117z")); 
  83.268 +paths.push(new path("Region ","M 86.45097,687.89459 C 84.557278,686.09284 82.429286,685.97587 82.08013,682.99524 C 82.08013,681.55748 81.19141,680.3989 76.56279,675.80252 C 72.675766,673.35649 71.893177,669.99344 70.49372,666.42305 C 67.741184,660.50993 65.403485,653.82044 62.76945,647.66409 C 62.46599,647.66409 62.21771,647.29168 62.21771,646.8365 C 62.21771,646.38132 62.46599,646.0089 62.76945,646.0089 C 64.205879,642.39829 68.07404,639.55717 68.83852,635.80182 C 67.691467,632.97878 67.805836,629.7789 67.18332,626.69821 C 66.675332,626.14259 66.403699,625.13898 66.07985,624.49129 C 65.146992,623.19519 65.658994,622.40868 63.82694,623.38782 C 62.695492,623.83638 61.530089,624.55924 60.56251,625.04302 C 60.56251,625.8731 58.3878,625.70582 57.48857,624.80655 C 55.390021,621.04382 53.730367,617.45761 52.28651,613.45661 C 52.28651,612.8497 52.03823,612.35314 51.73477,612.35314 C 50.70635,612.35314 51.13555,608.70502 52.28651,607.66341 C 52.89342,607.11415 53.38998,606.37732 53.38998,606.02591 C 57.034533,601.57866 59.917072,595.77772 64.70794,592.49073 C 65.20968,592.49073 65.52812,591.96785 65.52812,591.14395 C 68.536308,586.27989 65.904661,585.12573 65.52812,580.17995 C 65.52812,578.25617 65.84518,577.4966 67.18332,576.21458 C 68.09368,575.3424 68.83852,574.22079 68.83852,573.72207 C 68.83852,572.33816 71.32385,567.73253 73.03375,565.94778 C 74.394278,563.44965 76.630359,555.09327 74.84324,552.7659 C 74.57518,552.7659 74.35586,551.02794 74.35586,548.90377 C 74.51836,547.07342 74.119302,545.53692 73.25239,544.17462 C 73.25239,542.73726 71.79202,541.73123 69.70553,541.73123 C 66.716358,541.14333 63.864577,539.52768 61.11425,537.86909 C 61.11425,537.56564 60.75311,537.31736 60.31172,537.31736 C 59.27203,537.31736 56.70037,534.7457 56.70037,533.70601 C 56.70037,533.26462 56.45209,532.90349 56.14864,532.90349 C 56.070943,528.05714 47.493407,520.42027 49.52784,516.35148 C 52.028742,506.37255 60.474194,498.49066 62.21771,488.21306 C 62.21771,487.3027 62.46599,486.55786 62.76945,486.55786 C 63.0729,486.55786 63.32118,486.08466 63.32118,485.5063 C 63.32118,484.58274 63.15381,484.53237 61.94615,485.09251 C 60.701196,486.36028 59.986229,486.24605 58.90731,486.00612 C 53.754127,483.14494 47.631226,482.39984 42.6386,478.83359 C 39.677049,476.96298 36.810746,473.61988 35.73449,470.22876 C 34.62247,466.2322 33.61028,462.1216 34.0793,457.86771 C 34.38275,457.86771 34.63103,457.37115 34.63103,456.76424 C 39.334751,448.25178 40.521996,437.49703 45.6657,429.41401 C 45.6657,427.46664 47.08016,426.97087 52.66089,426.96217 C 55.64124,426.95752 57.83143,426.77131 57.52798,426.54837 C 56.047568,424.50836 53.738789,420.5178 55.04518,418.14288 C 56.186624,412.94088 58.306626,408.30961 60.56251,403.7978 C 60.86597,403.7978 61.11425,403.40765 61.11425,402.93079 C 61.11425,401.07459 62.56329,400.4874 67.14391,400.4874 C 70.19597,400.77134 76.062276,401.0412 77.31023,404.08361 C 79.441128,407.06272 80.19653,410.95177 82.31499,413.91279 C 82.78249,414.09219 83.08573,414.55872 82.98885,414.94953 C 82.89198,415.34033 82.91686,415.47387 83.04413,415.24628 C 85.119485,414.79053 86.949185,414.24086 88.70093,412.90141 C 88.70093,412.44623 88.45265,412.0738 88.1492,412.0738 C 87.81641,412.0738 87.59746,409.77491 87.59746,406.2806 C 87.59746,402.7863 87.81641,400.4874 88.1492,400.4874 C 88.885296,399.25135 88.745227,397.83307 89.8044,396.62527 C 91.350182,394.29014 92.794667,392.61419 95.32173,391.10792 C 98.661462,389.97104 102.13158,389.08168 105.01648,387.24579 C 106.4009,387.24579 107.45988,385.81104 107.45988,383.93539 C 107.45988,382.05974 108.51886,380.62498 109.90327,380.62498 C 112.93495,379.82412 115.69513,377.71535 118.61636,376.21112 C 119.61617,374.9242 120.53664,371.59847 120.70149,369.59031 C 120.70149,367.38338 120.70149,367.38338 122.90842,367.38338 C 125.23112,367.30994 126.80899,365.54431 128.97749,365.17644 L 139.46043,364.07298 C 139.06694,358.37626 142.99801,354.14406 147.19526,350.83136 C 148.56432,350.83136 150.4951,348.10201 150.4951,346.16671 C 153.05358,341.92859 148.53211,338.83768 150.0813,334.09302 C 150.63303,333.87039 150.63303,333.80603 150.0813,333.77118 C 149.26884,333.71987 149.13344,330.96895 149.94337,330.96895 C 150.88542,329.75415 151.31759,327.87863 151.59857,326.27922 C 151.53861,324.36265 150.6327,323.18983 150.4951,321.2742 C 150.65253,317.98203 148.39887,316.99797 145.76596,316.07215 C 143.95602,316.07215 142.77084,314.88696 142.77084,313.07702 C 141.68168,310.00662 142.82577,309.43605 146.38706,309.62519 C 148.52408,310.09966 148.37298,308.39962 149.39164,306.92913 C 151.53194,303.58546 156.10073,301.9454 159.64861,299.8915 C 160.86723,299.40621 160.40869,298.31819 159.87458,297.3132 C 158.74061,294.61587 160.24564,291.16577 157.3366,289.58892 C 154.46752,288.09309 152.78464,285.8986 152.70204,282.64339 C 152.70204,280.62757 153.00798,279.31302 153.65226,278.56056 C 156.95571,276.4825 160.26227,279.24948 164.16895,278.75626 C 165.86475,277.8868 166.72318,277.56258 167.5639,275.79559 C 167.84812,275.79559 168.15846,274.98867 168.25356,274.00245 C 168.68549,271.60248 172.37357,271.62446 174.56724,270.93646 C 175.65343,271.2205 176.97832,270.25258 176.97832,269.17499 C 178.11196,265.92757 181.96758,266.35319 183.59913,264.6844 C 184.44511,263.16976 184.66076,261.72249 184.70259,259.7953 C 184.70259,257.08205 184.90775,255.92836 185.39226,255.917 C 183.39588,252.62221 180.35791,250.17091 180.28872,245.87555 C 179.88156,240.06211 184.30156,239.75344 188.70267,238.57637 C 189.73965,238.35787 190.21997,237.9107 190.21997,237.16371 C 191.45654,234.84252 192.45436,231.55235 194.94785,230.00169 C 195.28919,230.00169 196.10293,229.53808 196.75631,228.97143 C 197.83951,228.03199 197.94422,227.39986 197.94422,221.7989 L 197.94422,215.65661 C 196.00378,215.55469 194.30301,215.60211 192.70277,216.76007 C 188.1251,220.68438 187.1162,217.99951 184.7092,213.18666 C 182.5609,209.01019 182.37891,207.93234 183.82205,207.93234 C 185.11828,207.47116 185.9419,206.32551 187.16771,205.7254 C 190.95208,201.97531 198.05056,202.62098 199.0477,197.16983 C 199.14068,189.35798 207.82248,186.80087 209.08825,180.06978 C 216.61956,175.80292 219.56117,179.42987 225.45455,172.61434 C 226.2842,172.1144 226.27915,172.02207 225.39293,171.4905 C 224.86194,171.17197 224.42742,170.55004 224.42742,170.10844 C 224.42742,169.66684 223.14852,168.05323 221.58535,166.52265 C 219.44178,164.42376 218.89934,163.58365 219.3784,163.10462 C 222.18628,157.4827 217.11588,156.88958 216.81217,152.56912 C 217.10655,149.66269 217.53202,148.73224 216.70316,146.69457 C 216.70316,146.09023 216.2066,145.28568 215.59969,144.90665 C 214.99277,144.52764 214.49621,143.78069 214.49621,143.24677 C 212.72113,141.1661 214.30964,139.63948 214.49621,137.03456 C 215.06657,134.80589 215.06131,131.28832 216.65215,129.75936 C 217.67373,129.49221 218.16995,128.5848 218.85877,125.72401 C 219.12889,124.60214 219.57663,124.31272 221.2574,124.17344 C 223.97937,123.38431 226.54875,119.19755 227.73785,116.52125 C 227.73785,116.10558 228.33037,115.5402 229.05463,115.26484 C 229.77889,114.98948 231.00906,114.12664 231.78828,113.34743 C 233.66283,111.77885 236.00865,111.08414 237.9843,109.72374 C 242.05834,108.24884 237.77439,101.86446 235.65942,99.77905 C 233.16449,97.47931 233.1639,97.47793 234.2306,96.29059 C 236.10892,94.19971 236.05311,93.43399 233.86619,91.29859 C 232.73325,90.19229 231.65646,89.43702 231.47321,89.62021 C 228.56744,88.182685 227.38976,84.279163 228.77256,81.33834 C 231.44125,78.459252 235.54351,77.205988 239.04839,75.51625 C 239.40951,75.51625 240.13393,75.04217 240.65836,74.46275 C 241.56031,73.46609 241.56048,73.38054 240.6613,72.87733 C 240.03965,72.52945 239.81608,71.94276 240.01508,71.18175 C 239.47633,67.585533 234.49985,65.459004 234.47968,61.69973 C 232.80721,57.364751 230.03601,54.024835 229.94472,48.98537 L 232.49503,42.83739 C 234.84745,40.6639 235.32885,40.45976 238.702,40.20529 C 243.3504,40.154052 242.40886,36.233346 246.95985,35.90175 C 249.92272,35.76152 250.60741,35.90913 251.43841,36.86729 C 251.97798,37.48937 252.8041,37.99836 253.27423,37.99836 C 255.03519,39.366274 255.15962,38.472704 257.33333,37.99836 C 258.9204,37.99836 259.40417,37.21054 258.35296,36.33812 C 255.55971,32.317059 260.09379,28.132221 259.04237,24.73075 C 258.2118,23.40081 259.06897,22.43037 262.65071,20.64549 C 265.881,19.035785 267.46269,18.858593 267.46269,20.10642 C 267.46269,21.48733 269.06323,22.82515 269.81544,22.07296 C 270.58751,21.30088 276.29042,21.23494 276.29042,21.99809 C 278.94084,23.91099 282.88547,24.236317 285.11816,26.96369 C 285.11816,27.57672 285.48592,28.06715 285.9457,28.06715 C 286.40093,28.06715 286.77333,27.81887 286.77333,27.51542 C 286.77333,26.46401 290.35439,26.91164 291.18724,28.06715 C 292.00131,29.19664 294.49758,29.61269 294.49758,28.61889 C 294.49758,28.31543 295.36654,28.06715 296.42869,28.06715 C 298.17342,28.53321 300.37035,29.00962 301.67014,30.0233 C 301.67014,31.36398 304.23468,33.58449 305.78303,33.58449 C 306.67716,33.58449 307.18744,33.89188 307.18744,34.43048 C 307.18744,35.9802 310.86211,39.10183 312.6864,39.10183 C 313.60687,39.10183 314.36,38.85355 314.36,38.5501 C 314.36,38.24664 314.98073,37.99836 315.73933,37.99836 C 317.2371,38.741394 319.02338,38.977117 320.47261,39.79149 C 320.50745,40.34323 320.57185,40.34323 320.7945,39.79149 C 321.18862,38.81474 326.36752,38.89239 327.36519,39.89002 C 327.7987,40.32352 328.15334,41.06836 328.15334,41.54522 C 328.15334,42.14074 328.67162,42.41222 329.80851,42.41222 C 331.98829,43.571694 334.76282,48.609637 335.8776,51.36177 C 337.41239,53.633045 339.18315,50.85827 340.96501,50.1365 C 341.50492,50.1365 341.94668,49.88822 341.94668,49.58477 C 341.94668,48.59096 344.44303,49.00702 345.25711,50.1365 C 346.94737,51.783439 349.42481,52.017066 351.32619,52.89517 C 351.32619,53.21701 353.16529,53.4469 355.74002,53.4469 C 358.40282,53.676789 361.32364,53.959451 363.7402,55.1021 C 363.94812,55.43851 368.15975,55.65384 374.53154,55.65384 C 381.13068,55.65384 384.98195,55.45051 384.98195,55.1021 C 384.98195,54.79865 385.37884,54.55037 385.86404,54.55037 C 390.55663,51.067544 395.3278,48.6675 400.43046,46.8261 C 401.03738,46.8261 401.53394,46.57782 401.53394,46.27436 C 401.53394,45.55461 406.3306,45.55461 406.77539,46.27436 C 407.22035,46.99428 412.56862,46.99428 412.56862,46.27436 C 412.56862,45.97091 413.01039,45.72263 413.5503,45.72263 C 414.09021,45.72263 414.88981,45.22607 415.32727,44.61916 C 418.60977,42.657748 422.58505,40.846039 426.36196,40.20529 C 427.27234,40.20529 428.01714,39.95701 428.01714,39.65356 C 428.01714,39.35011 428.76202,39.10183 429.67231,39.10183 C 430.77579,39.10183 431.32757,38.82596 431.32757,38.27422 C 431.32757,37.81904 431.07924,37.44663 430.77579,37.44663 C 430.05865,35.346313 429.18296,33.168166 429.12061,30.80743 C 429.12061,27.74483 429.27356,27.32568 431.03328,25.56596 C 435.07707,22.900146 439.38793,19.530849 444.33267,19.239418 C 447.4963,19.239418 448.98303,20.02058 448.98303,21.68281 C 453.77063,23.734166 460.59668,21.779144 465.53502,24.20502 C 465.53502,24.9239 468.67701,24.9239 469.1213,24.20502 C 472.11146,23.324774 474.29925,21.143357 475.46623,18.131269 C 475.46623,17.09735 475.84309,17.032483 481.85055,17.032483 C 488.34128,17.032483 489.81135,17.461197 489.81135,19.354076 C 491.27739,21.224148 491.88504,24.416019 494.50102,23.10155 C 495.01787,22.26538 499.16148,22.44171 500.0578,23.33801 C 500.48148,26.717493 502.41862,29.640675 503.0529,32.75689 C 503.0529,33.51552 502.80467,34.13622 502.50121,34.13622 C 502.19464,34.13622 501.94943,35.60751 501.94943,37.44663 C 501.5421,42.156583 499.83727,46.746022 499.74256,51.51583 C 499.74256,53.90668 499.97548,55.65384 500.29425,55.65384 C 501.50685,57.664059 502.59153,60.248525 503.60469,62.27464 C 503.94872,62.27464 504.15638,65.49309 504.15638,70.82651 C 504.15638,76.15994 503.94872,79.37839 503.60469,79.37839 C 502.71273,81.38568 503.30168,86.556781 505.2139,87.65439 C 505.79548,87.65439 506.36544,87.9365 506.48034,88.28129 C 509.24999,88.204397 513.19422,88.890117 516.29455,90.41306 C 517.42473,91.112101 518.06068,90.914699 518.5015,92.34413 C 518.05046,93.834583 517.27299,95.228694 516.32897,96.45226 C 515.60261,97.08221 515.20471,98.25258 515.08761,100.10325 L 514.91522,102.82707 C 511.55045,102.55401 507.15095,104.21025 504.34696,102.04508 C 501.94917,100.47607 499.91938,105.92086 499.74256,108.3444 C 500.08174,115.30997 503.77374,120.62633 508.57029,125.72401 C 509.17721,126.16146 509.67377,126.79848 509.67377,127.13964 C 509.67377,127.4808 509.17721,128.20931 508.57029,128.75855 C 507.72549,129.52303 507.46681,130.45788 507.46681,132.74561 C 507.46681,135.8221 508.26346,137.31042 509.91022,137.31042 C 511.0823,137.31042 511.12422,141.85291 509.96106,142.81826 C 508.76769,143.80869 507.46681,146.64769 507.46681,148.26174 C 506.23297,151.89502 501.72667,154.43799 498.37384,156.06937 C 497.35892,156.06937 495.32865,158.50724 495.32865,159.72591 C 495.32865,161.16061 492.99114,163.24766 489.53542,164.89833 C 485.93508,166.61814 484.29396,168.10601 484.29396,169.65046 C 484.21515,170.82827 483.44357,171.53246 483.19049,172.65395 C 481.31618,175.30569 476.70738,174.53437 473.6656,175.51668 C 471.47034,176.74137 467.74197,180.54756 467.74197,181.56399 C 467.74197,182.17474 467.33271,182.55259 466.67107,182.55259 C 457.24796,185.98995 438.04256,190.7866 432.43104,198.82168 C 432.43104,200.12353 429.35395,202.415 427.60576,202.415 C 426.12252,202.48176 425.10366,203.28109 423.66426,203.51847 C 420.77159,203.51847 413.6721,208.02659 413.6721,209.86341 C 410.23702,213.7977 407.79331,218.47997 404.65724,222.69122 C 403.68251,224.40459 405.1775,224.68223 403.83534,226.88164 C 402.26965,227.77641 400.93906,228.73629 399.60283,230.00169 C 398.08893,232.28982 395.64058,231.83059 393.53383,232.76036 C 393.08702,233.48322 386.08543,233.48322 386.08543,232.76036 C 386.08543,232.4569 385.4647,232.20862 384.70602,232.20862 C 383.62198,232.25818 383.24866,232.94553 382.34502,233.31209 C 377.6523,237.78685 369.87261,234.77903 365.11953,238.82942 C 364.48206,239.71385 363.69121,239.93289 361.1356,239.93289 C 354.82991,242.03093 347.73037,241.70389 341.39498,243.79503 C 337.02359,245.13117 333.22391,247.32885 329.25682,249.31236 C 329.25682,249.61888 327.78549,249.8641 325.94639,249.8641 C 320.6403,250.73208 314.14055,250.52459 311.04957,255.38144 C 310.22499,257.54888 308.06015,258.68432 306.3599,259.7953 C 304.41486,258.54935 302.21089,257.76929 299.73904,257.58837 C 296.63819,257.31489 294.17806,259.24353 291.45837,259.7953 C 290.41239,259.7953 288.12185,261.74781 282.07894,267.79077 C 277.68145,272.18827 274.08347,276.10595 274.08347,276.49671 C 272.2727,282.11727 266.43403,284.23252 263.04878,288.73625 C 263.04878,289.2211 262.57276,289.58892 261.9453,289.58892 C 261.07744,289.58892 260.84183,289.95675 260.84183,291.31168 C 260.84183,292.78047 260.96388,292.93319 261.66946,292.34759 C 262.51671,291.95494 262.69087,292.16492 263.55502,291.56117 C 264.91221,290.33296 267.10931,290.62134 267.38457,292.06381 C 269.20181,295.20283 271.27281,299.22605 275.18695,299.81119 C 277.48623,299.74503 277.93639,302.04889 278.49729,303.95239 C 278.49729,305.77668 275.37567,309.45134 273.82597,309.45134 C 273.36072,309.45134 272.97999,309.69962 272.97999,310.00307 C 270.83882,311.84917 265.28884,312.31676 264.15226,314.96868 C 263.99078,315.9164 263.39483,316.20067 263.04878,317.05381 C 262.72262,318.43545 261.44464,319.13696 260.84183,320.37135 C 259.57054,323.08306 255.77346,324.13807 253.11757,325.45162 C 250.9037,326.57728 249.34056,323.22573 248.17958,321.33857 C 247.20354,320.45529 247.01305,320.44268 246.2451,321.21059 C 244.42406,324.30376 242.27812,327.28003 240.42771,330.41722 C 240.01872,334.49211 237.56843,337.19842 235.46211,340.44799 C 233.88764,342.66169 232.52974,345.16224 231.0482,347.52097 C 229.05077,350.48061 229.0284,354.44698 227.487,357.75312 C 224.66868,359.9321 221.13784,361.16047 217.80664,362.41777 C 215.84749,364.03692 217.09235,367.50432 215.34892,369.89126 C 213.6906,371.30245 212.0355,371.5443 211.18578,373.6889 C 210.54532,374.9582 209.72479,376.27501 208.97891,377.62986 C 208.97891,378.74494 207.65059,380.07325 206.5355,380.07325 C 205.14303,380.85661 203.67345,381.66302 202.0428,382.28019 C 200.50522,382.28019 199.0477,383.40997 199.0477,384.60178 C 198.57842,385.83495 197.42254,386.49203 196.84074,387.66853 C 196.84074,388.67559 194.32225,391.10792 193.27955,391.10792 C 191.3084,392.20591 189.07067,393.36162 186.90953,394.41833 C 185.8878,394.41833 185.80606,394.78615 185.80606,399.38394 C 185.8504,403.0393 184.97342,406.65347 183.49956,410.00481 C 183.35433,411.02741 182.9829,411.24229 181.39219,411.22399 C 179.31913,411.20016 178.08179,412.01862 178.08179,413.41373 C 177.44552,414.67985 176.6245,415.99246 175.87486,417.33888 L 167.04712,426.92341 C 167.06627,429.72174 167.21536,432.5919 166.49539,435.24662 C 165.55286,436.67888 165.14224,438.17309 163.28505,438.89475 C 162.07236,439.49468 160.57804,440.447 159.20029,441.18289 C 158.24351,440.86396 156.01245,443.25619 156.01245,444.60102 C 157.15581,446.85312 157.47884,448.78421 156.01827,451.36775 C 154.09299,452.51113 152.77669,453.16958 151.59857,455.35983 C 150.03747,457.6152 149.45084,459.55423 149.39164,462.28157 C 149.39164,464.48851 149.15518,466.14371 148.8399,466.14371 C 148.04685,467.39475 147.39639,469.10569 146.66244,470.55758 C 146.3752,470.55758 146.87176,471.94833 147.76591,473.64815 C 148.90467,475.31714 149.07114,477.41239 149.94337,479.10945 C 152.5296,482.42276 148.17525,487.55004 150.18367,490.38069 C 151.72628,492.08526 153.80551,496.52658 153.80551,498.1171 C 154.90816,501.66788 158.5103,503.68749 160.42631,506.80002 C 158.07794,511.40255 158.81295,512.9428 157.5406,515.79974 C 157.16728,515.79974 159.15352,518.101 161.95448,520.91365 C 164.75543,523.72629 167.04712,526.30283 167.04712,526.63929 C 168.57278,528.98868 170.03537,531.48577 171.31259,534.05318 C 173.44689,538.47055 174.17207,539.50138 175.15263,539.51164 C 176.34274,539.66445 177.0887,540.39779 178.25229,540.66809 C 180.30744,540.73664 182.72183,542.52515 183.84278,544.80936 C 184.72347,546.60399 185.60682,547.3259 188.8084,548.86744 C 193.46211,551.60668 197.08271,553.77011 202.62649,553.86937 L 207.87543,553.86937 C 207.78477,555.50583 207.85493,557.05775 208.42713,558.55911 C 208.96714,559.63224 209.03169,560.6939 209.70325,561.59364 C 210.10166,561.59364 211.09478,562.28999 211.91021,563.1411 C 213.41874,564.71566 213.8382,566.00751 212.84104,566.00751 C 212.14602,567.73163 211.58706,569.29628 210.0823,570.7629 C 208.86855,571.85948 207.87543,573.11797 207.87543,573.55953 C 207.87543,574.00108 207.50084,574.73688 207.04309,575.19465 C 206.33255,575.90517 205.96916,575.92007 204.56029,575.29644 C 202.06824,573.40997 201.05859,574.68411 198.63388,576.73664 C 196.12911,578.14491 197.71645,581.31947 195.73727,582.55952 C 191.81579,585.12977 187.74199,581.84549 183.84279,582.61161 C 181.07969,584.36187 180.29569,584.73783 181.39219,587.57108 C 182.19515,589.13427 182.10964,589.92215 181.39219,591.68961 C 181.39219,594.10328 178.88863,595.76334 175.21775,595.78369 C 173.18222,596.13982 171.65951,594.89468 169.77322,594.69767 C 167.23339,594.75661 168.63701,597.7048 167.33977,599.11153 C 164.5866,599.91776 162.08025,601.97098 159.32284,600.76673 C 159.32284,599.71618 157.30266,600.22096 156.01297,601.59378 C 154.15059,603.57616 147.26712,606.8358 144.94318,606.8358 C 140.60573,607.40489 138.45032,612.05652 138.35696,615.89278 L 138.35696,619.43244 L 135.1845,622.50245 C 132.75134,624.91274 129.16836,626.40119 125.77246,626.71659 L 123.73602,626.73491 C 126.75598,629.29976 127.67816,633.78463 128.42576,637.45703 C 128.42576,638.695 128.20289,638.83636 126.25138,638.83636 L 111.87375,643.25023 L 111.87375,652.07797 C 111.87375,657.5953 111.66685,660.90571 111.32202,660.90571 C 109.06288,665.53727 107.36325,670.94621 104.43464,675.44676 C 103.31017,677.70144 100.37617,678.02871 97.80454,678.56118 C 95.804384,678.7215 96.83373,684.70397 96.30598,688.48191 L 93.86709,690.06494 C 90.945835,690.14517 88.696128,689.75806 86.45097,687.89459 z"));
  83.269 +paths.push(new path("Recicle","M 75.226726,0.47113754 L 66.736191,18.080348 C 60.789718,12.894542 53.375924,9.8111576 45.345111,9.8111575 C 25.780684,9.8111575 9.9017938,28.076705 9.8876229,50.591946 L 0.40863754,50.681182 L 12.700905,75.250789 L 24.993172,99.79065 L 33.483707,82.18144 C 39.43018,87.367245 46.843974,90.45063 54.874787,90.45063 C 74.439214,90.450629 90.318105,72.185083 90.332275,49.669842 L 99.81126,49.580606 L 87.518993,25.010999 L 75.226726,0.47113754 z M 55.381684,28.401962 C 57.436505,28.337127 59.420933,28.68258 61.287041,29.353811 L 51.301158,49.99704 L 63.187907,49.907805 C 62.918683,61.816231 54.894596,71.542528 44.838214,71.859826 C 42.783393,71.924659 40.798965,71.579208 38.932857,70.907977 L 48.91874,50.264748 L 37.031991,50.353983 C 37.301215,38.445556 45.325301,28.71926 55.381684,28.401962 z"));
  83.270 +paths.push(new path("Computer ","M 0.84,211.41L 0.588,62.64L 59.808,3.24L 83.832,46.17L 83.832,189.54L 25.368,265.41C 15.792,260.82,4.284,241.65,1.008,211.41 z M 25.032,264.06L 25.2,105.3M 25.368,106.11L 83.16,47.52 z M 0.84,64.53C 5.124,89.64,9.828,104.76,25.2,106.11,14.952,107.46,5.544,94.23,0.84,64.53z M 4.368,120.96L 4.116,105.3C 8.148,116.91,12.432,125.28,19.824,131.76L 20.076,146.34L 14.28,139.05C 11.928,131.76,10.416,129.33,7.896,129.33L 4.368,120.96z M 17.556,199.53C 12.768,191.43,8.904,184.95,5.124,171.99z M 3.864,181.17C 8.148,196.29,12.768,205.47,19.32,213.57z M 9.408,154.17C 10.416,148.77,12.516,153.36,12.516,158.76,12.264,166.59,8.988,162.0,9.408,154.17 z"));
  83.271 +paths.push(new path("PDA","M 1.95,42.174L 1.755,47.388C 1.17,58.608,12.675,64.878,25.87,65.208L 25.805,60.786C 15.73,60.192,3.12,54.978,2.145,41.778L 37.635,19.998L 63.83,37.818L 25.805,60.786 z M 25.61,61.182L 25.87,65.208L 63.44,42.372L 63.83,38.016 z M 25.61,60.588C 14.365,60.786,3.12,53.394,2.145,42.372 z M 56.745,33.0L 62.075,29.37C 63.83,27.192,65.975,30.228,64.025,32.208L 61.035,35.574 z M 16.965,37.026L 37.245,24.42L 55.77,37.818L 34.45,51.018L 16.77,37.224 z M 13.0,45.012C 19.695,39.798,28.73,48.576,21.06,52.206,12.025,55.374,9.425,47.784,13.39,44.814 z"));
  83.272 +paths.push(new path("sh1","M305.947,142.688c-0.469-0.773-5.285-5.455-6-8.736     c-1.518-6.999-4.605-3.826-12.445-3.826c9.138-4.509,12.146-0.211,15.035-7.682c0.434-1.113,3.885-7.764,4.289-8.701     c3.92-5.631,5.191-12.398,5.191-18.486c0-6.094-1.233-11.49-2.244-14.326c-4.438-12.475-0.604-7.729-2.947-11.528     c-1.588-3.105-5.077-10.907-9.179-17.118l-7.784-10.318c-2.868-2.871-6.229-8.848-8.177-10.799c0-2.104-7.38-7.406-12.642-9.709     c-4.436-2.684-14.695-10.201-18.428-6.469C247.318,5.663,236.238,0,220.898,0s-24.712,8.663-28.305,12.252     c-3.593,0-10.66,16.989-10.66,26.396C180,60.387,199.17,67.014,199.17,70.359s-2.43,4.148-3.343,6.691     c-0.675,1.09-7.519,3.51-10.896,3.601c0,0-7.604-2.681-8.014-2.672c-5.227-0.964-14.208,2.763-21.201,1.222     c-6.996-1.538-12.368,1.09-14.253,2.977c0,1.172-0.344,11.684,3.954,25.553c0.3,3.158,2.014,10.055,3.92,19.116     c-1.323,3.434,0.74,3.574,1.113,5.47c1.778,9.059,3.52,19.693,4.27,30.68c0,5.391,3.886,22.734,3.886,22.734l18.044,0.557     c0.422,0.009,10.437,0.316,20.903,0.475c12.905,0.19,19.96,0.152,24.656-0.463h2.991h24.372l6.577-9.026     c0.656-0.899,1.626-2.388,2.599-4.327c0.791,0.905,14.578,16.688,14.578,16.688l13.163-3.48c0.366-0.094,3.659-0.973,7.102-2.162     c2.599-0.896,4.755-1.793,6.601-2.73c12.369-6.311,13.705-16.834,13.705-21.064C313.898,149.795,310.301,147.258,305.947,142.688     z"));
  83.273 +paths.push(new path("sh2","M398.619,157.397c-4.541,2.47-8.291,6.179-10.849,10.72c-2.446,4.354-3.683,9.041-3.683,13.939     c0,4.872,1.222,9.533,3.636,13.852c2.505,4.477,6.19,8.168,10.673,10.676c4.313,2.411,8.977,3.639,13.852,3.639     c4.869,0,11.098,0.472,13.846-3.639c4.488-6.703,7.641-4.714,10.143-9.193c2.414-4.313,4.178-10.462,4.178-15.334     c0-4.898-1.834-9.205-4.283-16.705c-1.611-4.957-5.713-5.484-10.248-7.954c-4.277-2.323-8.862-3.501-13.635-3.501     C407.473,153.896,402.888,155.074,398.619,157.397z"));
  83.274 +paths.push(new path("sh3","M431.279,175.506c-8.139,0.75-18.1,2.133-25.201,5.039     c3.606,3.785,8.912,6.826,11.525,11.52c3.691,6.656,5.139,15.615,5.654,25.447c5.18,5.177,0.111,20.549,0.1,30.715     c-5.353,3.164-10.324,7.98-16.556,10.078c-9.507,3.208-27.656,0.721-40.321,0.724c-8.291,0-14.818,0.864-20.88,2.156     c-3.835,0.82-7.86-0.993-10.802-1.438c-4.131-0.624-7.43,0.829-10.078,1.438c-6.387,1.474-12.179-1.069-17.279-1.438     c-5.736,14.262-15.053,27.709-28.084,34.562c-9.445,4.969-20.994,5.933-32.291,9.958c-18.234,6.48-45.744,1.98-68.83-1.497     c-24.429-3.68-58.639-9.82-64.477-15.659c-12.375-4.263-27.226-12.252-40.32-14.402c-1.233,4.412-4.452,9.803-9.198,14.546     c-4.775,10.406-17.856,17.016-23.922,21.454c-3.716,2.725-6.661,7.066-11.52,8.64c-1.976-4.438-6.836-6.835-10.08-10.078     c-4.562-4.562-3.847-5.273-8.402-9.841C8.002,295.113,3.445,285.768,0,286.386c17.284-20.106,23.944-21.114,29.26-36.029     c5.426-5.423,6.968-12.993,7.355-19.696c-0.655-1.33,12.114-4.189,12.705-5.355c-6.593,1.998-13.383,2.818-14.041,2.039     c-9.381-0.097-16.554-3.082-25.201-3.601c-0.498-8.956-2.688-17.54-4.528-26.247c-1.317-6.243-2.458-12.551-2.672-19.11     c13.44,1.679,26.883,3.36,40.323,5.042c0.122-9.287,0.696-19.96,0.719-30.24c9.961-5.965,18.625-20.106,33.119-20.162     c5.987,3.782,16.749,1.148,24.48,2.88c16.343,3.659,41.609,5.552,59.76,5.763c33.602,0,68.027,1.904,72.961,3.237     c5.496,1.485,75.36-1.802,80.399-1.802c6.085-3.668,23.476-0.354,31.679-2.159c8.35-1.831,18.563-0.196,27.36-2.159     c16.854-3.762,36.659-4.38,54.003-6.48c0.65,0.785-0.059,0.062,0.721,0.721C429.598,147.182,439.424,167.361,431.279,175.506z"));
  83.275 +paths.push(new path("sh4","M292.699,146.921c-1.822-5.177-4.758-5.61-5.692-7.315     c-1.86-3.396-3.079-5.555-4.649-7.122c-0.404-0.407,0.451-3.305,1.447-4.931l3.404-5.707c1.614-2.836,3.914-8.625,5.238-11.971     c0.794-2.001,1.201-3.018,1.705-3.82c2.297-2.719,3.105-6.923,3.105-10.963c0-3.627-0.639-7.102-1.389-9.211     c-0.059-0.17-5.391-15.07-9.059-20.666c-1.96-3.979-0.199-2.514-2.572-6.111c-1.055-1.597-6.721-9-7.178-9.797     c-0.076-0.129-4.482-8.089-8.982-10.945c-3.041-2.019-11.426-7.418-16.213-8.256c-1.857-0.328-7.819-0.091-9.577,0.706     c-2.487-8.968-9.694-14.145-21.527-15.419c-7.437-0.797-14.644,4.213-17.73,7.301c-4.578,1.72-7.116,9.688-6.335,15.955     c1.053,8.438,3.3,17.613,12.199,20.921c5.808,2.423,12.362,0.22,12.374,2.438c0.013,2.218,0.013-0.003,0.013-0.003     c-0.806,1.494-1.66,3.064-2.563,4.714c-0.757,1.383-1.116,2.622-1.378,3.519c0,0-0.183,0.592-0.199,0.653     c-0.563,0.993-4.856,5.136-5.074,6.688c-0.379,2.73-1.894,3.905-2.758,5.789c-2.389,3.604-4.742,8.268-5.581,9.973     c-4.601-0.023-0.297-1.816-9.387-1.57c0,0-12.325,1.939-13.605,1.969c-2.524-0.703-6.822-0.961-14.843,0.097     c0,0-5.927-0.472-7.373,0.976c-0.596,0.595,0.013,5.186,2.621,20.355c1.091,6.352,4.852,22.688,4.852,27.879     c0,3.264,5.197,28.307,5.197,28.307l5.917,0.179c29.539,0.905,39.56,0.633,43.575,0.009l21.384,0.003l2.156-2.962     c0.533-0.732,2.309-4.594,3.261-9.87c2.528-4.315,2.757-9.36,4.901-15.29c1.025,1.535,1.857,0.656,1.875,0.686     c3.199,4.471,4.424,6.322,9.158,11.063c1.178,1.131,3.035,3.656,3.896,4.828l4.131,7.43l6.973,5.596l4.318-1.14     c10.389-2.739,19.043-6.126,16.406-11.687C296.159,153.917,292.784,147.012,292.699,146.921z M242.839,97.699     c-0.565,0.586-2.657,2.813-4.688,5.839c0.044-0.53-0.079-1.046,0.062-1.477c1.324-4.034-0.709-4.034-1.629-5.265     c-0.686-0.92-1.547-1.641-2.52-2.153l1.389-1.802l0.94-1.307c0.243-0.363,2.95-0.721,3.126-1.075     c1.682-8.716,4.682-5.224,5.678-4.195c1.213,1.594,1.922,2.698,2.32,3.401C246.252,92.186,245.194,95.338,242.839,97.699z"));
  83.276 +paths.push(new path("sh5","M403.764,169.342c-2.493,1.354-3.595,2.438-5.01,4.954     c-1.374,2.44-1.781,5.071-2.068,7.761c-0.398,3.7,0.686,7.705,2.033,7.705c1.099,3.844,4.031,4.881,5.83,5.818     c4.189,2.197,6.012,1.049,6.855,1.547c3.527-0.498,3.773,0.797,8.546-1.547c4.767-2.338,3.56-3.557,5.821-5.818     c2.268-2.268,2.039-5.01,2.039-7.705c0-2.707-0.697-5.32-2.068-7.761c-1.418-2.511-0.984-5.399-4.479-6.243     c-3.495-0.838-7.14-0.788-9.788-0.788C408.832,167.265,406.166,168.035,403.764,169.342z "));
  83.277 +paths.push(new path("sh6","M140.401,219.428c-0.485,20.438,14.266,32.18,35.278,25.201     c5.988-1.992,10.069-7.031,16.562-7.922c5.859,7.488,21.201,13.184,33.838,7.201c4.746-2.247,8.367-6.492,14.402-7.201     c5.32,9.111,16.562,9.609,28.799,7.922c-1.576,19.148-26.558,21.311-43.92,25.201c-3.84,0-7.681,0-11.52,0     c-12.103,2.467-30.328-0.24-41.039-2.883c-20.644-5.098-39.412-6.771-58.321-12.961c-10.91-3.574-25.066-10.289-36.719-11.52     c0,0.24,0,0.48,0,0.718c-0.24,0-0.48,0-0.721,0c-0.571,5.159-2.833,7.954-3.599,12.961c4.847,1.102,9.56,3.987,13.68,5.763     c13.043,5.604,27.407,9.059,40.32,13.676c17.496,6.264,36.306,8.01,54.719,12.961c5.606,1.512,12.16,0.911,17.281,2.162     c19.176,4.679,51.564-2.024,64.08-7.201c4.98-2.057,10.011-2.467,13.682-5.76c9.867-8.848,13.992-21.507,19.438-32.402     c0.398-0.797,0.144-4.775,0.718-6.475c1.266,0.451,0.7,0.135,1.441,0.715c4.242,1.395,7.465,4.5,12.24,5.76     c7.055,1.872,14.051-0.41,19.441-1.436c5.039-0.961,8.637,3.495,14.396,2.159c7.318-1.702,17.859-2.153,28.084-2.159     c0-0.486,0-0.961,0-1.441c1.564-2.774-0.428-6.627,0-9.36c1.172-7.532,2.314-18.712,5.76-23.042     c0.847-0.574,1.207-0.557,2.883-0.721c-2.42,7.465-2.771,20.18-0.724,28.802c2.083,1.058,3.126,3.328,5.039,4.321     c6.038,3.141,18.765,3.041,21.601-2.883c2.473-2.895,1.055-7.579,1.438-11.517c-1.438-0.483-2.88-0.961-4.315-1.441     c7.324-22.081-1.778-39.501-25.922-35.997c0-1.441,0-2.883,0-4.324c-4.523,0.785-7.412,4.002-10.799,5.76     c-6.158,3.188-12.785,4.857-21.604,5.039c-5.44-10.213-26.473-9.006-37.441-4.318c-3.029,1.295-5.3,3.885-8.637,5.042     c0-1.685,0-3.36,0-5.042c0.756-1.119,0.744-2.941,0.721-5.039c-4.201,0.003-8.191,0.709-11.52,1.441     c-9.955,2.18-21.196-1.588-29.52,1.441c-7.225,2.619-12.047,9.486-17.282,11.514c0-0.237,0-0.475,0-0.715     c-2.227-2.854-3.483-6.639-6.48-8.643c-9.891-6.627-26.657-2.552-34.559,2.883c-2.722,1.869-3.746,5.133-7.2,6.475     c-2.679-12.281-22.09-16.389-34.562-10.078c-3.45,1.746-6.122,5.092-10.08,6.48c-5.199-10.852-15.132-7.518-24.48-4.318     c-0.16-2.704-0.519-6.551,0-8.643c-0.24,0-0.48,0-0.721,0c-4.129,3.926-30.164,15.1-38.158,11.52     c-0.542-0.773-0.434-0.68-0.722-2.159c2.001-4.017-0.625-13.685,2.161-16.559c1.217-0.823,3.526-0.765,5.761-0.718     c4.371,2.695,12.312,0.217,18,1.436c11.676,2.508,27.164,1.729,39.601,2.883c6.478,0,12.958,0,19.438,0     c14.317,3.029,40.77,1.324,55.438,0c6.721,0,13.441,0,20.162,0c9.205-2.021,20.174,0.773,30.24-1.441     c22.245-4.898,48.41-2.373,69.838-7.201c4.078-0.24,8.162-0.478,12.24-0.715c12.311-2.892,26.279-3.539,38.162-6.486     c7.154-1.77,14.115-1.277,19.436-4.315c-1.213-3.595-1.424-8.414-1.436-12.961c-7.014,0.234-15.357,1.462-21.604,2.88     c-5.039,0.24-10.078,0.48-15.117,0.721c-16.535,3.686-35.807,3.299-54,4.318c-5.736,0.322-29.423,3.205-32.399,1.441     c-5.344-3.809-15.185,0.117-19.919,0.117c-3.551,0-39.727,0-43.682,0c-7.2,0-26.399-0.838-47.279-0.838c-3.12,0-6.242,0-9.362,0     c-4.685-2.83-23.216-0.627-30.239-2.162c-22.317-2.399-44.644-4.799-66.961-7.201c-4.274,5.801-14.833,7.107-15.12,16.564     c2.19,5.291-1.371,26.309-1.438,33.12c-2.426,0.835-6.589,0.771-10.081,0.718c-8.88-0.961-17.76-1.922-26.641-2.877     c0.655,0.776-0.056,0.059,0.722,0.718c-0.511,3.741,0.296,12.621,3.601,14.399c4.699,3.003,22.521,2.918,30.239,2.883     c0,0.237,0,0.475,0,0.718c-2.178,2.985-0.82,6.495-2.161,10.802c-3.123,10.025-5.495,21.674-10.078,30.958     c-3.62,7.327-8.162,15.138-12.961,21.601c-2.597,3.498-7.346,5.256-8.64,10.084c3.958,2.42,6.511,6.454,10.078,9.357     c0-0.24,0-0.48,0-0.721c15.41-9.316,29.06-29.402,37.441-45.36c-0.242-0.483-0.48-0.961-0.719-1.438     c2.187-4.09,5.492-10.588,7.2-12.961c-0.242-0.721-0.483-1.441-0.722-2.162c0.48,0,0.961,0,1.441,0     c0.983-1.447,1.23-8.959,2.881-12.24c0.478,0,0.958,0,1.438,0c1.087-1.652,0.214-6.023,1.438-7.919     c2.518-1.644,9.828-0.812,13.682-0.718c0.85-0.58,1.211-0.56,2.88-0.724c0,0.237,0,0.483,0,0.724     c-2.492,3.674-5.574,27.126-4.32,29.517c4.276,2.733,17.754,0.817,23.758,0.724c0-0.486,0-0.961,0-1.441     c1.219-2.109-0.494-4.635,0-6.48c1.266-4.723,6.023-13.579,9.362-20.162C132.038,217.025,134.191,219.217,140.401,219.428z"));
  83.278 +paths.push(new path("Cloud1","M96 48c45,-41 209,-10 63,16 110,3 -267,100 -145,31 -74,-6 82,-92 82,-47z"));
  83.279 +paths.push(new path("Airplane","M325 111l1 0c3,5 8,10 12,14 -12,0 -30,1 -37,1l-39 0 -6 -5 -12 -8c-10,-6 -22,-12 -40,-22 -17,-9 -41,-21 -52,-24 -11,-3 -39,-12 -50,-13 -12,-1 -31,-7 -44,-3 -13,4 -24,7 -21,14 4,7 8,14 13,20 4,7 18,15 24,21 5,5 25,16 29,20 2,3 11,9 16,12 -25,4 -42,9 -55,14 -16,7 -19,10 -29,15 -9,6 -12,15 -13,21 -1,5 6,12 18,16 12,4 81,4 86,4 3,0 61,-1 95,-1 7,6 14,12 18,15 6,6 19,14 28,19 9,4 27,14 55,22 29,8 55,17 66,18 12,0 32,5 40,2 8,-3 8,-2 12,-7 4,-6 8,-10 -4,-19 -12,-8 -29,-26 -40,-32 -10,-5 -19,-12 -29,-18 -1,-1 -2,-1 -3,-2 17,0 36,1 49,0 7,-1 20,-4 30,-6 7,5 19,11 24,10 6,-1 17,0 20,-3 4,-2 1,-2 -2,-8 -2,-5 -10,-10 -14,-13 4,-4 6,-7 7,-11 1,-6 -3,-15 -6,-21 -2,-6 -19,-13 -26,-15 0,0 0,0 0,0 1,0 1,-1 2,-1 3,-4 18,-15 21,-18 4,-3 23,-28 27,-32 5,-5 14,-22 15,-28 1,-5 3,-19 -11,-26 -13,-7 -29,9 -35,10 -6,2 -31,22 -36,26 -4,4 -35,28 -37,32 -2,3 -8,8 -14,14 -2,-1 -3,-3 -3,-4 -5,-6 -16,-11 -20,-12 -5,-1 -17,-3 -20,-2 -3,1 -10,0 -11,5 0,4 1,9 1,9z"));
  83.280 +paths.push(new path("Basket1","M 345.71429,293.51823 C 345.71429,346.35252 302.83429,389.23252 250,389.23252 C 197.16571,389.23252 154.28571,346.35252 154.28571,293.51823 C 154.28571,240.68394 197.16571,197.80394 250,197.80394 C 302.83429,197.80394 345.71429,240.68394 345.71429,293.51823 z M 244.4289,389.05684 C 230.45991,388.25934 221.61864,344.81077 224.69391,292.07342 C 227.73733,239.88254 241.28665,198.02896 255.15859,197.96863 M 334.04749,339.2834 C 324.40073,356.47166 278.91822,349.91864 232.52403,324.65613 C 186.12984,299.3936 156.30584,264.9408 165.95261,247.75253 C 166.11529,247.46266 166.26164,247.2223 166.44499,246.94382 M 335.75788,251.27694 C 336.79301,258.90039 299.21359,284.01176 251.87526,307.32912 C 205.60464,330.12055 167.01254,342.86233 164.36242,336.22281"));
  83.281 +paths.push(new path("Cruz","M 89.341183,173.90376 C 89.341183,176.43536 87.288673,178.48746 84.757453,178.48746 C 82.225853,178.48746 80.173733,176.43536 80.173733,173.90376 C 78.236463,175.49876 77.114123,177.87646 77.114123,180.38606 C 77.114123,185.02286 80.873053,188.78216 85.510223,188.78216 C 87.456973,188.78216 89.343453,188.10566 90.846343,186.86806 C 90.846343,191.78076 93.467403,196.32016 97.721733,198.77676 C 101.97607,196.32016 104.59714,191.78076 104.59714,186.86806 C 106.10002,188.10566 107.9865,188.78216 109.93325,188.78216 C 114.57043,188.78216 118.32936,185.02286 118.32936,180.38606 C 118.32936,177.87646 117.20702,175.49876 115.26975,173.90376 C 115.26975,176.43536 113.21763,178.48746 110.68603,178.48746 C 108.1548,178.48746 106.1023,176.43536 106.1023,173.90376 L 106.1023,136.79956 L 143.20649,136.79956 C 145.73809,136.79956 147.79021,138.85206 147.79021,141.38326 C 147.79021,143.91496 145.73809,145.96706 143.20649,145.96706 C 144.80148,147.90426 147.1792,149.02666 149.68882,149.02666 C 154.32561,149.02666 158.08493,145.26776 158.08493,140.63056 C 158.08493,138.68376 157.40834,136.79736 156.17077,135.29446 C 161.08351,135.29446 165.62288,132.67336 168.07944,128.41906 C 165.62288,124.16466 161.08351,121.54366 156.17077,121.54366 C 157.40834,120.04076 158.08493,118.15426 158.08493,116.20746 C 158.08493,111.57036 154.32561,107.81136 149.68882,107.81136 C 147.1792,107.81136 144.80148,108.93376 143.20649,110.87096 C 145.73809,110.87096 147.79021,112.92316 147.79021,115.45476 C 147.79021,117.98596 145.73809,120.03846 143.20649,120.03846 L 106.1023,120.03846 L 106.1023,82.934261 C 106.1023,80.402861 108.1548,78.350661 110.68603,78.350661 C 113.21763,78.350661 115.26975,80.402861 115.26975,82.934261 C 117.20702,81.339361 118.32936,78.961461 118.32936,76.452061 C 118.32936,71.815061 114.57043,68.056061 109.93325,68.056061 C 107.9865,68.056061 106.10002,68.732561 104.59714,69.969961 C 104.59714,65.057261 101.97607,60.517761 97.721733,58.061461 C 93.467403,60.517761 90.846343,65.057261 90.846343,69.969961 C 89.343453,68.732561 87.456973,68.056061 85.510223,68.056061 C 80.873053,68.056061 77.114123,71.815061 77.114123,76.452061 C 77.114123,78.961461 78.236463,81.339361 80.173733,82.934261 C 80.173733,80.402861 82.225853,78.350661 84.757453,78.350661 C 87.288673,78.350661 89.341183,80.402861 89.341183,82.934261 L 89.341183,120.03846 L 52.236993,120.03846 C 49.705543,120.03846 47.653383,117.98596 47.653383,115.45476 C 47.653383,112.92316 49.705543,110.87096 52.236993,110.87096 C 50.642073,108.93376 48.264203,107.81136 45.754813,107.81136 C 41.117793,107.81136 37.358743,111.57036 37.358743,116.20746 C 37.358743,118.15426 38.035293,120.04076 39.272663,121.54366 C 34.359973,121.54366 29.820483,124.16466 27.364163,128.41906 C 29.820483,132.67336 34.359973,135.29446 39.272663,135.29446 C 38.035293,136.79736 37.358743,138.68376 37.358743,140.63056 C 37.358743,145.26776 41.117793,149.02666 45.754813,149.02666 C 48.264203,149.02666 50.642073,147.90426 52.236993,145.96706 C 49.705543,145.96706 47.653383,143.91496 47.653383,141.38326 C 47.653383,138.85206 49.705543,136.79956 52.236993,136.79956 L 89.256391,136.74353 L 89.341183,173.90376 z"));
  83.282 +paths.push(new path("Star","M 525.54744,157.66424 L 485.77672,127.79524 L 445.20517,156.56705 L 461.32244,109.51282 L 421.42153,79.817963 L 471.15328,80.605843 L 487.0647,33.481608 L 501.68334,81.022775 L 551.41805,81.593251 L 510.72112,110.18743 L 525.54744,157.66424 z"));
  83.283 +paths.push(new path("The Zorro","M40.3725,163.02 L37.3725,163.02 L35.3715,169.02 L31.3716,171.02 L31.3716,176.02 L22.3727,174.02 L18.3728,167.02 L19.3728,164.02 L15.3728,164.02 L14.3728,158.02 L30.3716,136.02 L36.3725,118.022 L36.3725,107.021 L36.3725,104.021 L26.3716,98.0214 L21.3728,95.0214 L19.3728,91.0224 L15.3728,88.0224 L14.3728,82.0244 L14.3728,81.0244 L12.3729,79.0244 L11.373,72.0256 L11.373,69.0256 L10.373,69.0256 L8.37313,73.0256 L8.37313,68.0256 L6.37213,65.0236 L7.37313,61.0236 L7.37313,59.0236 L11.373,57.0236 L28.3716,8.02334 L11.373,59.0236 L15.3728,60.0236 L15.3728,65.0236 L18.3728,74.0256 L27.3716,84.0234 L33.3716,86.0234 L41.3725,85.0234 L45.3724,88.0224 L44.3724,82.0244 L44.3724,80.0244 L39.3725,77.0256 L38.3725,75.0256 L41.3725,74.0256 L45.3724,74.0256 L45.3724,70.0256 L48.3714,69.0256 L53.3713,69.0256 L56.3713,70.0256 L57.3713,74.0256 L62.3713,76.0246 L62.3713,78.0256 L56.3713,79.0244 L55.3713,85.0234 L54.3713,87.0224 L58.3713,89.0224 L64.3712,90.0224 L69.3712,68.0256 L72.3712,65.0236 L68.3712,60.0236 L73.3711,62.0236 L81.3711,62.0236 L84.371,58.0236 L84.371,64.0236 L91.3725,73.0256 L91.3725,77.0256 L98.3735,88.0224 L100.375,89.0224 L100.375,94.0214 L96.3735,98.0214 L92.3725,95.0214 L90.3715,92.0224 L88.3715,92.0224 L84.371,89.0224 L85.371,98.0214 L88.3715,105.021 L92.3725,103.021 L96.3735,104.021 L97.3735,110.022 L96.3735,111.022 L97.3735,115.022 L102.375,120.022 L110.377,108.021 L112.377,104.021 L118.377,103.021 L131.377,107.021 L133.377,111.022 L138.377,116.022 L138.377,124.022 L133.377,124.022 L128.377,119.022 L128.377,115.022 L127.377,112.022 L121.377,109.022 L116.377,109.022 L115.377,111.022 L113.377,125.022 L110.377,136.02 L106.376,141.02 L100.375,141.02 L101.375,152.02 L106.376,153.02 L111.377,153.02 L114.377,158.02 L114.377,160.02 L110.377,160.02 L104.375,165.02 L100.375,165.02 L97.3735,165.02 L100.375,162.02 L95.373,161.02 L91.3725,165.02 L95.373,177.02 L90.3715,169.02 L84.371,172.02 L79.3711,174.02 L80.3711,188.02 L81.3711,201.02 L80.3711,211.02 L82.3711,223.02 L86.371,234.02 L90.3715,239.02 L90.3715,243.02 L96.3735,248.02 L96.3735,254.02 L89.3715,252.02 L88.3715,247.02 L84.371,242.02 L73.3711,216.02 L73.3711,213.02 L72.3712,202.02 L67.3712,196.02 L57.3713,190.02 L53.3713,199.02 L53.3713,206.02 L54.3713,211.02 L53.3713,215.02 L53.3713,227.02 L59.3713,244.02 L61.3713,252.02 L64.3712,261.02 L58.3713,262.02 L54.3713,260.02 L54.3713,254.02 L55.3713,252.02 L51.3714,240.02 L48.3714,227.02 L49.3714,246.02 L46.3724,249.02 L39.3725,251.02 L35.3715,248.02 L35.3715,242.02 L36.3725,234.02 L32.3716,237.02 L33.3716,227.02 L31.3716,229.02 L36.3725,211.02 L35.3715,195.02 L32.3716,180.02 L38.3725,171.02 L38.3725,171.02 z"));
  83.284 +paths.push(new path("Man icon","M420,78 L443,70 L455,82 L453,94 L447,98 L447,108 L463,115 L489,177 L479,180 L457,135 L456,184 L464,276 L450,278 L438,187 L421,277 L408,276 L421,183 L418,135 L394,173 L383,164 L416,109 L428,105 L429,96 L419,91 L419,91 z"));
  83.285 +paths.push(new path("Woman icon","M378,456 l-33,213 c-6,36,-9,75,-19,110 c-15,17,-49,36,-70,43 v6 c4,-1,10,-2,16,-2 c12,0,24,3,32,10 c-8,11,-16,21,-20,35 c-10,41,2,91,-24,127 c-14,20,-34,31,-55,31 c-21,0,-41,-11,-55,-31 c-26,-36,-14,-86,-24,-127 c-4,-14,-12,-24,-20,-35 c8,-7,20,-10,32,-10 c6,0,12,1,16,2 v-6 c-21,-7,-55,-26,-70,-43 c-10,-35,-13,-74,-19,-110 l-33,-213 l2,-6 h34 l47,230 h3 l29,-104 l-81,-195 h46 l6,-7 v-367 l4,-7 h40 l2,4 l32,372 l6,5 h6 l6,-5 l32,-372 l2,-4 h40 l4,7 v367 l6,7 h46 l-81,195 l29,104 h3 l47,-230 h34Z"));
  83.286 +paths.push(new path("",""));
  83.287 +paths.push(new path("",""));
  83.288 +
  83.289 +
  83.290 +function deg2rad(angle){
  83.291 +return (angle/180) * Math.PI;
  83.292 +}
  83.293 +
  83.294 +
  83.295 +/*
  83.296 +http://www.imatest.com/docs/testcharts_SFR_SVG.html
  83.297 +http://www.vectorials.com/tutorials/Isometric-Angles-42784.html
  83.298 +*/
  83.299 \ No newline at end of file
    84.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    84.2 +++ b/onlypaths/js/svgrenderer.js	Sun Jan 31 12:33:33 2010 -0500
    84.3 @@ -0,0 +1,4246 @@
    84.4 +/*----------------------------------------------------------------------------
    84.5 + SVGRENDERER 1.0
    84.6 + SVG Renderer For RichDraw
    84.7 + -----------------------------------------------------------------------------
    84.8 + Created by Mark Finkle (mark.finkle@gmail.com)
    84.9 + Implementation of SVG based renderer.
   84.10 + -----------------------------------------------------------------------------
   84.11 +*/
   84.12 +function AbstractRenderer() {
   84.13 +
   84.14 +};
   84.15 +
   84.16 +AbstractRenderer.prototype.init = function(elem) {};
   84.17 +
   84.18 +
   84.19 +
   84.20 +
   84.21 +function SVGRenderer() {
   84.22 +	this.base = AbstractRenderer;
   84.23 +	this.svgRoot = null;
   84.24 +}
   84.25 +
   84.26 +
   84.27 +SVGRenderer.prototype = new AbstractRenderer;
   84.28 +
   84.29 +
   84.30 +SVGRenderer.prototype.bounds = function(shape) { 
   84.31 +   
   84.32 + var box = shape.getBBox();
   84.33 +
   84.34 + return { x:box.x, y:box.y, width:box.width, height: box.height }; 
   84.35 +
   84.36 +};
   84.37 +
   84.38 +SVGRenderer.prototype.init = function(elem) {
   84.39 +  this.container = elem;
   84.40 +
   84.41 +  this.container.style.MozUserSelect = 'none';
   84.42 +    
   84.43 +  var svgNamespace = 'http://www.w3.org/2000/svg'; 
   84.44 +  
   84.45 +  this.svgRoot = this.container.ownerDocument.createElementNS(svgNamespace, "svg");
   84.46 +  this.svgRoot.setAttributeNS(null,'viewBox', zoominit);
   84.47 +  this.svgRoot.setAttributeNS(null,'preserveAspectRatio','none');
   84.48 +  this.svgRoot.setAttributeNS(null,'space','preserve');
   84.49 +  this.container.appendChild(this.svgRoot);
   84.50 +}
   84.51 +
   84.52 +SVGRenderer.prototype.view = function(left,top,width,height,viewBox,bgcolor) {
   84.53 +  var svgNamespace = 'http://www.w3.org/2000/svg'; 
   84.54 +  var tokens = viewBox.split(' ');       
   84.55 +  var margin=100; 
   84.56 +  var wFront=parseInt(document.getElementById('FRONT').style.width)
   84.57 +  var hFront=parseInt(document.getElementById('FRONT').style.height)
   84.58 +  var tC=0 + ' ' + 0 + ' ' + wFront + ' ' + hFront;
   84.59 +  tokensCanvas= tC.split(' '); 
   84.60 +  var w=parseFloat(tokens[2]);
   84.61 +  var h=parseFloat(tokens[3]); 
   84.62 +  var wImage = w - parseFloat(tokens[0]);  
   84.63 +  var hImage = h - parseFloat(tokens[1]);
   84.64 +  var wCanvas = wFront;
   84.65 +  var hCanvas = hFront;
   84.66 +  proporImage = hImage / wImage; 
   84.67 +  proporCanvas = hCanvas / wCanvas; 
   84.68 +
   84.69 +  document.title= initialFile +'     '+wImage+' x '+hImage;
   84.70 +
   84.71 +
   84.72 +  if(bgcolor != '')
   84.73 +   {
   84.74 +    this.container.style.backgroundColor=bgcolor;
   84.75 +   } else{
   84.76 +    this.container.style.backgroundColor="#ffffff";
   84.77 +   }
   84.78 +if(viewMode=='preview')
   84.79 + {
   84.80 +  if(proporCanvas==proporImage)
   84.81 +   {
   84.82 +      this.container.style.width =wFront+'px';
   84.83 +      this.container.style.height =hFront+'px';
   84.84 +      this.container.style.left =0+'px' 
   84.85 +      this.container.style.top =0+'px' 
   84.86 +
   84.87 +   }
   84.88 +  if(proporCanvas<proporImage)
   84.89 +   {    
   84.90 +      var proportion= wFront/hFront;  
   84.91 +      //var image_proportion= width/height;
   84.92 +      var image_proportion= w/h;
   84.93 +      var W=hFront*image_proportion; 
   84.94 +      var leftover=(wFront-W)/2;
   84.95 +      
   84.96 +      this.container.style.width =W+'px';
   84.97 +      this.container.style.height =hFront+'px';
   84.98 +      this.container.style.left =leftover+'px' 
   84.99 +      this.container.style.top =0+'px' 
  84.100 +      //alert('Horizontal '+wFront+','+hFront+' '+image_proportion+' '+W+' '+leftover+' ____'+ this.container.style.width)
  84.101 + 
  84.102 +    } 
  84.103 +  if(proporCanvas>proporImage)
  84.104 +   {    
  84.105 +      var proportion= hFront/wFront;  
  84.106 +      //var image_proportion= width/height;
  84.107 +      var image_proportion= h/w;
  84.108 +      var H=wFront*image_proportion; 
  84.109 +      var leftover=(hFront-H)/2;
  84.110 +      
  84.111 +      this.container.style.width =wFront+'px';
  84.112 +      this.container.style.height =H+'px';
  84.113 +      this.container.style.left =0+'px' 
  84.114 +      this.container.style.top =leftover+'px' 
  84.115 +    }   
  84.116 + 
  84.117 +    this.svgRoot.setAttributeNS(null,'x', left);
  84.118 +    this.svgRoot.setAttributeNS(null,'y', top); 
  84.119 +    this.svgRoot.setAttributeNS(null,'width', parseInt(this.container.style.width));
  84.120 +    this.svgRoot.setAttributeNS(null,'height', parseInt(this.container.style.height)); 
  84.121 + 
  84.122 +    this.svgRoot.setAttributeNS(null,'viewBox', viewBox);
  84.123 +   
  84.124 +  } 
  84.125 +if(viewMode=='canvas')
  84.126 + {
  84.127 +   this.container.style.left = 0 + 'px';   
  84.128 +   this.container.style.top = 0 + 'px';                                 
  84.129 +   this.container.style.width = wFront + 'px';
  84.130 +   this.container.style.height = hFront + 'px';
  84.131 +   
  84.132 +   //  margins 10%    
  84.133 +   var percent=10;
  84.134 +   var percentX = wImage / percent; 
  84.135 +   var percentY = hImage / percent; 
  84.136 +   var cornerNEx = parseFloat(tokens[0])-percentX; 
  84.137 +   var cornerNEy = parseFloat(tokens[1])-percentY;
  84.138 +   var percentRectW=wImage + percentX*2;
  84.139 +   var percentRectH=hImage + percentY*2; 
  84.140 + 
  84.141 +   document.title= initialFile +'     '+wImage+' x '+hImage;
  84.142 +   // ajust proporImage to proporCanvas
  84.143 +  if(proporCanvas==proporImage)
  84.144 +   {  
  84.145 +      cornerNEx = parseFloat(tokens[0])-percentX
  84.146 +      cornerNEy = parseFloat(tokens[1])-percentY  
  84.147 +      var wi=percentRectW;
  84.148 +      var he=percentRectH;//hImage+percentY+addHimage; 
  84.149 +      zoominit=viewBox;
  84.150 +      zoominit1 = cornerNEx+' '+cornerNEy+' '+wi+' '+he;
  84.151 +      tokensZoom=zoominit1.split(' ');  
  84.152 +   }
  84.153 +
  84.154 +  if(proporCanvas<proporImage)
  84.155 +   {    
  84.156 +        
  84.157 +        // add to hImage
  84.158 +        var newWimage = percentRectW * ((wCanvas * percentRectH) / (hCanvas * percentRectW))  ;//newRectH *
  84.159 +        var diffImages=newWimage-w;
  84.160 +        cornerNEx = parseFloat(tokens[0]) - (diffImages / 2);
  84.161 +        var wi=newWimage;
  84.162 +        var he=percentRectH;//hImage+percentY+addHimage; 
  84.163 +        zoominit=viewBox;
  84.164 +        zoominit1 = cornerNEx+' '+cornerNEy+' '+wi+' '+he;
  84.165 +        tokensZoom=zoominit1.split(' '); 
  84.166 +         //alert(newRectW+' '+newRectH+' // '+newHimage+' // '+zoominit1+' // '+hCanvas * newRectW +' '+ wCanvas * newRectH)
  84.167 +        //alert(addHimage+' // '+zoominit1)                   
  84.168 +        //160 160 700 300
  84.169 +    }
  84.170 +  if(proporCanvas>proporImage)
  84.171 +   {    
  84.172 +        // add to hImage
  84.173 +        var newHimage = percentRectH * ((hCanvas * percentRectW) / (wCanvas * percentRectH))  ;//newRectH *
  84.174 +        var diffImages=newHimage-h;
  84.175 +        cornerNEy = parseFloat(tokens[1]) - (diffImages / 2);
  84.176 +        var wi=percentRectW;
  84.177 +        var he=newHimage;//hImage+percentY+addHimage; 
  84.178 +        zoominit=viewBox;
  84.179 +        zoominit1 = cornerNEx+' '+cornerNEy+' '+wi+' '+he;
  84.180 +        tokensZoom=zoominit1.split(' '); 
  84.181 +   } 
  84.182 + /* this.svgRoot.setAttributeNS(null,'x', cornerNEx);
  84.183 +  this.svgRoot.setAttributeNS(null,'y', cornerNEy); 
  84.184 +  this.svgRoot.setAttributeNS(null,'width', wi);   
  84.185 +  this.svgRoot.setAttributeNS(null,'height',he); 
  84.186 + */
  84.187 +  this.svgRoot.setAttributeNS(null,'x', 0);
  84.188 +  this.svgRoot.setAttributeNS(null,'y', 0); 
  84.189 +  this.svgRoot.setAttributeNS(null,'width', wFront);   
  84.190 +  this.svgRoot.setAttributeNS(null,'height',hFront); 
  84.191 +  this.svgRoot.setAttributeNS(null,'viewBox', zoominit1);  
  84.192 +  
  84.193 +
  84.194 +  }
  84.195 +}
  84.196 +
  84.197 +SVGRenderer.prototype.zoomFrame = function(zoom){
  84.198 +   this.svgRoot.setAttributeNS(null,'viewBox', zoom);
  84.199 +}
  84.200 +
  84.201 +SVGRenderer.prototype.rectDoc = function(viewBox) {  
  84.202 +    var tokens = viewBox.split(' ');
  84.203 +  var wFront=parseInt(document.getElementById('FRONT').style.width)
  84.204 +  var hFront=parseInt(document.getElementById('FRONT').style.height)
  84.205 +  var tC=0 + ' ' + 0 + ' ' + wFront + ' ' + hFront;
  84.206 +  tokensCanvas= tC.split(' '); 
  84.207 +    var Ey = parseFloat(tokensCanvas[3]) ; // (end) height canvas. Corner up-right
  84.208 +    var Hz = parseFloat(tokens[3]) ; // height zoom
  84.209 +    this.editor.unit = this.editor.initialUnit * (Hz/Ey) ; // 0 to 1
  84.210 +
  84.211 +  var svgNamespace = 'http://www.w3.org/2000/svg'; 
  84.212 +        
  84.213 +  var shape = document.getElementById('rectDoc');
  84.214 +  if (shape) {
  84.215 +    this.remove(shape);
  84.216 +  } 
  84.217 +  var rect=this.container.ownerDocument.createElementNS(svgNamespace, 'rect');
  84.218 +  rect.setAttributeNS(null, 'id', 'rectDoc');
  84.219 +  rect.setAttributeNS(null, 'x', tokens[0] + 'px');
  84.220 +  rect.setAttributeNS(null, 'y', tokens[1] + 'px');
  84.221 +  rect.setAttributeNS(null, 'width', tokens[2]+ 'px');
  84.222 +  rect.setAttributeNS(null, 'height', tokens[3] + 'px');  
  84.223 +  rect.setAttributeNS(null, 'fill', 'none');
  84.224 +  rect.setAttributeNS(null, 'stroke', '#000000');
  84.225 +  rect.setAttributeNS(null, 'stroke-width', this.editor.unit*2+'px');
  84.226 + // this.svgRoot.appendChild(rect) 
  84.227 + 
  84.228 +  this.svgRoot.insertBefore( rect, this.svgRoot.firstChild );
  84.229 +}  
  84.230 + 
  84.231 +SVGRenderer.prototype.rectCanvas = function(docx,docy,docw,doch,viewBox) {   
  84.232 + var svgNamespace = 'http://www.w3.org/2000/svg'; 
  84.233 +    var tokens = zoominit1.split(' ');    
  84.234 +  var shape = document.getElementById('rectCanvas');
  84.235 +  if (shape) {
  84.236 +    this.remove(shape);
  84.237 +  }     
  84.238 +  var rect=this.container.ownerDocument.createElementNS(svgNamespace, 'rect');
  84.239 +  rect.setAttributeNS(null, 'id', 'rectBackground');
  84.240 +  rect.setAttributeNS(null, 'x', tokens[0] + 'px');
  84.241 +  rect.setAttributeNS(null, 'y', tokens[1] + 'px');
  84.242 +  rect.setAttributeNS(null, 'width', tokens[2] + 'px');
  84.243 +  rect.setAttributeNS(null, 'height', tokens[3] + 'px');  
  84.244 +  rect.setAttributeNS(null, 'fill', '#666666');
  84.245 +  rect.setAttributeNS(null, 'stroke', 'none');
  84.246 +  //this.svgRoot.appendChild(rect)     
  84.247 +   this.svgRoot.insertBefore( rect, this.svgRoot.firstChild );
  84.248 +
  84.249 +  //this.index('rectBackground',0);
  84.250 +  
  84.251 + /*  var shape = document.getElementById('rectOverCanvas');
  84.252 +  if (shape) {
  84.253 +    this.remove(shape);
  84.254 +  } 
  84.255 +  var rect=this.container.ownerDocument.createElementNS(svgNamespace, 'rect');
  84.256 +  rect.setAttributeNS(null, 'id', 'rectOverCanvas');
  84.257 +  rect.setAttributeNS(null, 'x', docx + 'px');
  84.258 +  rect.setAttributeNS(null, 'y', docy + 'px');
  84.259 +  rect.setAttributeNS(null, 'width', docw + 'px');
  84.260 +  rect.setAttributeNS(null, 'height', doch + 'px');  
  84.261 +  rect.setAttributeNS(null, 'fill', 'none');
  84.262 +  rect.setAttributeNS(null, 'stroke', '#000000');
  84.263 +  rect.setAttributeNS(null, 'stroke-width', 1+'px');
  84.264 + // this.svgRoot.appendChild(rect)  
  84.265 +  this.svgRoot.insertBefore( rect, this.svgRoot.lastChild );
  84.266 +  */
  84.267 +}
  84.268 +
  84.269 +SVGRenderer.prototype.removeAll = function() 
  84.270 +{  
  84.271 + while( this.svgRoot.hasChildNodes () )
  84.272 + {
  84.273 +   this.svgRoot.removeChild( this.svgRoot.firstChild );
  84.274 + }
  84.275 +}
  84.276 +
  84.277 +SVGRenderer.prototype.create = function(shape, fillColor, lineColor, fillOpac, lineOpac, lineWidth, left, top, width, height, textMessaje, textSize, textFamily, imageHref, points, transform, parent, viewBox) {
  84.278 +  var svgNamespace = 'http://www.w3.org/2000/svg'; 
  84.279 +  var xlinkNS="http://www.w3.org/1999/xlink"; 
  84.280 + 
  84.281 +  var svg;  
  84.282 +  
  84.283 +  if (shape == 'rect') {
  84.284 +    svg = this.container.ownerDocument.createElementNS(svgNamespace, 'rect');
  84.285 +    svg.setAttributeNS(null, 'x', left + 'px');
  84.286 +    svg.setAttributeNS(null, 'y', top + 'px');
  84.287 +    svg.setAttributeNS(null, 'width', width + 'px');
  84.288 +    svg.setAttributeNS(null, 'height', height + 'px');  
  84.289 +    svg.setAttributeNS(null, 'rx', 0+'px');
  84.290 +    svg.setAttributeNS(null, 'ry', 0+'px');
  84.291 +
  84.292 +    //svg.setAttributeNS(null,'transform', "translate(0,0)");
  84.293 +    //svg.setAttributeNS(null,'transform', "translate('+left+','+top+')");   
  84.294 +    svg.style.position = 'absolute';
  84.295 +  }
  84.296 +  else if (shape == 'ellipse' || shape == 'circle') {
  84.297 +    
  84.298 +    svg = this.container.ownerDocument.createElementNS(svgNamespace, 'ellipse');
  84.299 +    svg.setAttributeNS(null, 'cx', (left + width / 2) + 'px');
  84.300 +    svg.setAttributeNS(null, 'cy', (top + height / 2) + 'px');
  84.301 +    if(shape == 'circle'){
  84.302 +     svg.setAttributeNS(null, 'rx', (width / 2) + 'px');
  84.303 +     svg.setAttributeNS(null, 'ry', (width / 2) + 'px');   
  84.304 +    }else{
  84.305 +     svg.setAttributeNS(null, 'rx', (width / 2) + 'px');
  84.306 +     svg.setAttributeNS(null, 'ry', (height / 2) + 'px');   
  84.307 +    
  84.308 +    }
  84.309 +   //svg.setAttributeNS(null,'transform', "translate('+left+','+top+')");  
  84.310 +    svg.style.position = 'absolute';
  84.311 +  }
  84.312 +  else if (shape == 'roundrect') {
  84.313 +    svg = this.container.ownerDocument.createElementNS(svgNamespace, 'rect');
  84.314 +    svg.setAttributeNS(null, 'x', left + 'px');
  84.315 +    svg.setAttributeNS(null, 'y', top + 'px');  
  84.316 +    if(textSize!=0 || textSize!=''){ var rounded=textSize; }else{var rounded=18;}
  84.317 +    svg.setAttributeNS(null, 'rx', rounded+'px');
  84.318 +    svg.setAttributeNS(null, 'ry', rounded+'px');
  84.319 +    svg.setAttributeNS(null, 'width', width + 'px');
  84.320 +    svg.setAttributeNS(null, 'height', height + 'px');   
  84.321 +   //svg.setAttributeNS(null,'transform', "translate('+left+','+top+')");  
  84.322 +    svg.style.position = 'absolute';
  84.323 +  }
  84.324 +  else if (shape == 'line') {
  84.325 +    svg = this.container.ownerDocument.createElementNS(svgNamespace, 'line');
  84.326 +    svg.setAttributeNS(null, 'x1', left + 'px');
  84.327 +    svg.setAttributeNS(null, 'y1', top + 'px');
  84.328 +    svg.setAttributeNS(null, 'x2', left + width + 'px');
  84.329 +    svg.setAttributeNS(null, 'y2', top + height + 'px');  
  84.330 +    //svg.setAttributeNS(null,'transform', "translate('+left+','+top+')");  
  84.331 +    svg.style.position = 'absolute';
  84.332 +  } 
  84.333 +  else if (shape == 'polyline' || shape == 'polygon') {
  84.334 +    var xcenterpoly=xpArray;
  84.335 +    var ycenterpoly=ypArray;
  84.336 +    var thispath=''+xpArray[1]+','+ypArray[1];
  84.337 +    svg = this.container.ownerDocument.createElementNS(svgNamespace, shape);  
  84.338 +    svg.setAttributeNS(null, 'points', points);
  84.339 +    svg.style.position = 'absolute';
  84.340 +  }
  84.341 +  else if (shape == 'path')
  84.342 +    {
  84.343 +    var k = (Math.sqrt(2)-1)*4/3;
  84.344 +    var circle="M 0,1 L 0.552,1 1,0.552  1,0  1,-0.552  0.552,-1 0,-1 -0.552,-1 -1,-0.552 -1,0  -1,0.552  -0.552,1  0,1z"  // 4th
  84.345 +    svg = this.container.ownerDocument.createElementNS(svgNamespace, 'path');   
  84.346 +    //svg.setAttributeNS(null, 'd', 'M '+thispath+' C'+thispath);
  84.347 +    svg.setAttributeNS(null, 'd', points);  	
  84.348 +    //svg.setAttributeNS(null,'transform', "translate(-80,-80)"); 
  84.349 +    svg.style.position = 'absolute';  
  84.350 +    } 
  84.351 +     else if (shape == 'controlpath')
  84.352 +    {
  84.353 +    var point='M '+left+','+top+' L '+(left+1)+','+(top+1)+'z'  // 4th
  84.354 +    svg = this.container.ownerDocument.createElementNS(svgNamespace, 'path');   
  84.355 +    //svg.setAttributeNS(null, 'd', 'M '+thispath+' C'+thispath);
  84.356 +    svg.setAttributeNS(null, 'd', point);  	
  84.357 +    svg.setAttributeNS(null,'transform', "translate(0,0)"); 
  84.358 +    svg.style.position = 'absolute';  
  84.359 +    } 
  84.360 +  else if (shape == 'text') 
  84.361 +   {
  84.362 +    var data = this.container.ownerDocument.createTextNode(textMessaje);
  84.363 +    svg = this.container.ownerDocument.createElementNS(svgNamespace, 'text');
  84.364 +    svg.setAttributeNS(null, 'x', parseFloat(left) + 'px');
  84.365 +    svg.setAttributeNS(null, 'y', parseFloat(top) + 'px');
  84.366 +    svg.setAttributeNS(null, 'font-family', textFamily );
  84.367 +    svg.setAttributeNS(null, 'font-size', parseFloat(textSize)); 
  84.368 +    svg.style.position = 'absolute';  
  84.369 +    svg.appendChild(data);   
  84.370 +   } 
  84.371 +    else if (shape == 'clipPath') 
  84.372 +   {
  84.373 +    svg = this.container.ownerDocument.createElementNS(svgNamespace, 'clipPath');
  84.374 +   }    
  84.375 +    else if (shape == 'filter') 
  84.376 +   {
  84.377 +    svg = this.container.ownerDocument.createElementNS(svgNamespace, 'filter');
  84.378 +   }  
  84.379 +    else if (shape == 'feGaussianBlur') 
  84.380 +   {
  84.381 +    svg = this.container.ownerDocument.createElementNS(svgNamespace, 'filter');
  84.382 +    svg.setAttributeNS(null, 'in','SourceGraphic');
  84.383 +    svg.setAttributeNS(null, 'stdDeviation',parseFloat(left));
  84.384 +   }  
  84.385 +    else if (shape == 'linearGradient') 
  84.386 +   {
  84.387 +    svg = this.container.ownerDocument.createElementNS(svgNamespace, 'linearGradient');
  84.388 +    svg.setAttributeNS(null, 'x1', left);
  84.389 +    svg.setAttributeNS(null, 'y1', top);
  84.390 +    svg.setAttributeNS(null, 'x2', width); 
  84.391 +    svg.setAttributeNS(null, 'y2', height);  
  84.392 +    svg.setAttributeNS(null, 'gradientUnits',textMessaje);//"userSpaceOnUse" 
  84.393 +    svg.setAttributeNS(xlinkNS,'href', imageHref);
  84.394 +  
  84.395 + }  
  84.396 + else if (shape == 'radialGradient') {
  84.397 +    svg = this.container.ownerDocument.createElementNS(svgNamespace, 'radialGradient');
  84.398 +    svg.setAttributeNS(null, 'gradientUnits',textMessaje);//"userSpaceOnUse" 
  84.399 +    svg.setAttributeNS(null, 'cx', left);
  84.400 +    svg.setAttributeNS(null, 'cy', top );
  84.401 +    svg.setAttributeNS(null, 'fx', width);
  84.402 +    svg.setAttributeNS(null, 'fy', height);  
  84.403 +    svg.setAttributeNS(null, 'r', lineWidth);     
  84.404 +    svg.setAttributeNS(xlinkNS,'href', imageHref);
  84.405 + }   
  84.406 + else if (shape == 'stop') {
  84.407 +    svg = this.container.ownerDocument.createElementNS(svgNamespace, 'stop');
  84.408 +    svg.setAttributeNS(null, 'stop-color', fillColor);
  84.409 +    svg.setAttributeNS(null, 'stop-opacity', fillOpac);
  84.410 +    svg.setAttributeNS(null, 'offset', lineOpac);  
  84.411 + } 
  84.412 +  else if (shape == 'defs') {
  84.413 +    svg = this.container.ownerDocument.createElementNS(svgNamespace, 'defs');
  84.414 +    //svg.setAttributeNS(null, 'id', 'defs');
  84.415 + } 
  84.416 +  else if (shape == 'group') {
  84.417 +    svg = this.container.ownerDocument.createElementNS(svgNamespace, 'g');
  84.418 +    svg.setAttributeNS(null, 'x', left + 'px');
  84.419 +    svg.setAttributeNS(null, 'y', top + 'px');
  84.420 +    svg.setAttributeNS(null, 'width', width + 'px');
  84.421 +    svg.setAttributeNS(null, 'height', height + 'px');  
  84.422 +    svg.setAttributeNS(null, 'fill-opacity', parseFloat(fillOpac));  
  84.423 +    svg.setAttributeNS(null, 'fill', fillColor);
  84.424 + //} 
  84.425 +
  84.426 +  //else if (shape == 'linearGradient') {
  84.427 +    //return false
  84.428 + } 
  84.429 + else if (shape == 'pattern') {
  84.430 +    svg = this.container.ownerDocument.createElementNS(svgNamespace, 'pattern');
  84.431 +    svg.setAttributeNS(null, 'x', left);
  84.432 +    svg.setAttributeNS(null, 'y', top);
  84.433 +    svg.setAttributeNS(null, 'width', width );
  84.434 +    svg.setAttributeNS(null, 'height', height);  
  84.435 +    svg.setAttributeNS(null, 'viewBox', viewBox);  
  84.436 +    svg.setAttributeNS(null, 'patternUnits', 'userSpaceOnUse');
  84.437 + 
  84.438 + } 
  84.439 +  else if (shape == 'use') { 
  84.440 +    var svg = this.container.ownerDocument.createElementNS(svgNamespace, 'use');
  84.441 +    svg.setAttributeNS(xlinkNS,'xlink:href', imageHref);
  84.442 + } 
  84.443 + else if (shape == 'image') { 
  84.444 +   /* svg = this.container.ownerDocument.createElementNS(svgNamespace, 'g');
  84.445 +    svg.setAttributeNS(null, 'x', left + 'px');
  84.446 +    svg.setAttributeNS(null, 'y', top + 'px');
  84.447 +    svg.setAttributeNS(null, 'width', width + 'px');
  84.448 +    svg.setAttributeNS(null, 'height', height + 'px');  
  84.449 +    */
  84.450 +    var svg = this.container.ownerDocument.createElementNS(svgNamespace, 'image');
  84.451 +    svg.setAttributeNS(xlinkNS,'href', imageHref);
  84.452 +    svg.setAttributeNS(null, 'x', left  + 'px');
  84.453 +    svg.setAttributeNS(null, 'y', top + 'px');
  84.454 +    svg.setAttributeNS(null, 'width', width + 'px');
  84.455 +    svg.setAttributeNS(null, 'height', height + 'px');  
  84.456 +    svg.setAttributeNS(null, 'opacity', parseFloat(fillOpac));
  84.457 +    svg.setAttributeNS(null, 'preserveAspectRatio','none');//xMinYMin slice  
  84.458 +    //svg.setAttributeNS(null, 'viewbox', left+' '+top+' '+width+' '+height); 
  84.459 +    //Ext.get(this.container).removeAllListeners(isvg)   
  84.460 +    //svg.appendChild(isvg);
  84.461 +    /* 
  84.462 +    var rsvg = this.container.ownerDocument.createElementNS(svgNamespace, 'rect');
  84.463 +    rsvg.setAttributeNS(null, 'x', left + 'px');
  84.464 +    rsvg.setAttributeNS(null, 'y', top + 'px');
  84.465 +    rsvg.setAttributeNS(null, 'width', width + 'px');
  84.466 +    rsvg.setAttributeNS(null, 'height', height + 'px');  
  84.467 +    rsvg.style.fill = fillColor;  
  84.468 +    rsvg.style.stroke = lineColor;  
  84.469 +    rsvg.style.strokeWidth = lineWidth; 
  84.470 +    rsvg.setAttributeNS(null, 'opacity', '0.1');
  84.471 +    rsvg.style.strokOpacity = lineOpac;
  84.472 +    // Ext.get(this.container).removeAllListeners(rsvg)
  84.473 +     svg.appendChild(rsvg);   
  84.474 +
  84.475 +     */
  84.476 +    //svg.setAttributeNS(null, 'color-rendering', fillColor);   
  84.477 +    //svg.setAttributeNS(null, 'display', 'inherit'); 
  84.478 +    
  84.479 +      //alert(fillOpac+'lkjlkj'); 
  84.480 +    //svg.setAttributeNS(null, 'fill-opacity', parseFloat(fillOpac));
  84.481 +
  84.482 +    /* if (fillColor.length == 0){fillColor = 'none';}
  84.483 +    if (lineColor.length == 0){lineColor = 'none';}
  84.484 +    svg.style.fill = fillColor;  
  84.485 +    svg.style.stroke = lineColor;  
  84.486 +    svg.style.strokeWidth = lineWidth; 
  84.487 +    svg.style.fillOpacity = fillOpac;
  84.488 +    svg.style.strokOpacity = lineOpac;
  84.489 +     svg.style.setAttributeNS(null, 'fill', fillColor);
  84.490 +          svg.style.setAttributeNS(null, 'stroke', lineColor);
  84.491 +          svg.style.setAttributeNS(null, 'stroke-width', lineWidth);
  84.492 +          svg.style.setAttributeNS(null, 'fill-opacity', fillOpac);  
  84.493 +          svg.style.setAttributeNS(null, 'stroke-opacity',lineOpac);
  84.494 +    
  84.495 +   */
  84.496 + } 
  84.497 + 
  84.498 + if(shape == 'zoom') 
  84.499 +  {
  84.500 +        
  84.501 +  }else
  84.502 +  {                                          
  84.503 +       if(transform!='')
  84.504 +        {
  84.505 +         svg.setAttributeNS(null, 'transform', transform);      
  84.506 +        }
  84.507 +        
  84.508 +             var render=true;
  84.509 +        if(shape.indexOf('image')>=0){render=false;}
  84.510 +        //if(shape.indexOf('group')>=0){render=false;}
  84.511 +        if(shape.indexOf('linearGradient')>=0){render=false;}
  84.512 +        if(shape.indexOf('radialGradient')>=0){render=false;}
  84.513 +        if(shape.indexOf('stop')>=0){render=false;}  
  84.514 +        if(shape.indexOf('def')>=0){render=false;}
  84.515 +        if(shape.indexOf('filter')>=0){render=false;}
  84.516 +        if(shape.indexOf('feGaussianBlur')>=0){render=false;}
  84.517 +       
  84.518 +        
  84.519 +          
  84.520 +        //|| shape != 'group'
  84.521 +       //if(shape != 'image'  || shape != 'stop' || shape != 'def')
  84.522 +        if(render==true) 
  84.523 +        { 
  84.524 +                                                               
  84.525 +           //var set = this.container.ownerDocument.createElementNS(svgNamespace, "style");
  84.526 +            
  84.527 +           if (lineColor.length == 0){lineColor = 'none';} 
  84.528 +           if (fillColor.length == 0){fillColor = 'none';} 
  84.529 +           //if (lineWidth == NaN || lineWidth == 0 ){lineColor = '#000000';} 
  84.530 +           
  84.531 +
  84.532 +          // set.setAttributeNS(null, 'stroke', lineColor);
  84.533 +          //set.setAttributeNS(null, 'stroke-width', lineWidth);
  84.534 +          //set.setAttributeNS(null, 'fill-opacity', fillOpac);  
  84.535 +          //set.setAttributeNS(null, 'stroke-opacity',lineOpac);
  84.536 +            //svg.appendChild(set);
  84.537 +           //svg.setAttributeNS(null, "style","fill:"+ fillColor+";stroke:"+lineColor+";strokeWidth:"+lineWidth+";fill-opacity:"+fillOpac+";stroke-opacity:"+lineOpac);  
  84.538 +           //   
  84.539 +           (fillColor!=''|| fillColor!=null )?svg.setAttributeNS(null, 'fill', fillColor):svg.setAttributeNS(null, 'fill', '#000000');
  84.540 +          
  84.541 +          //svg.setAttributeNS(null, 'filter', filter);
  84.542 +          svg.setAttributeNS(null, 'stroke', lineColor);
  84.543 +          svg.setAttributeNS(null, 'stroke-width', parseFloat(lineWidth));
  84.544 +          svg.setAttributeNS(null, 'fill-opacity', parseFloat(fillOpac));  
  84.545 +          svg.setAttributeNS(null, 'stroke-opacity',parseFloat(lineOpac));
  84.546 +          svg.setAttributeNS(null, 'stroke-linejoin','round')         
  84.547 +      
  84.548 +          /*     
  84.549 +          <a xlink:href="http://www.w3.org">
  84.550 +                <ellipse cx="2.5" cy="1.5" rx="2" ry="1"  fill="red" />
  84.551 +          </a>
  84.552 +          svg.style.stroke = lineColor;  
  84.553 +           svg.style.strokeWidth = lineWidth; 
  84.554 +           svg.style.fillOpacity = fillOpac;
  84.555 +           svg.style.strokOpacity = lineOpac;   
  84.556 +          if (fillColor.length == 0){fillColor = 'none';}
  84.557 +          
  84.558 +          if (lineColor.length == 0){lineColor = 'none';}
  84.559 +          */
  84.560 +         }   
  84.561 +         
  84.562 +         
  84.563 +     if(parent==''){
  84.564 +       this.svgRoot.appendChild(svg);
  84.565 +     }else{  
  84.566 +       if(document.getElementById(parent)){   
  84.567 +         var parentShape = document.getElementById(parent);
  84.568 +         parentShape.appendChild(svg);
  84.569 +        } 
  84.570 +     }   
  84.571 +
  84.572 +
  84.573 +          return svg;   
  84.574 +             
  84.575 +   }        
  84.576 +  
  84.577 +};   
  84.578 +
  84.579 +
  84.580 +
  84.581 +SVGRenderer.prototype.zoomFrame = function(zoom){
  84.582 +   this.svgRoot.setAttributeNS(null,'viewBox', zoom);
  84.583 +
  84.584 + 
  84.585 +}
  84.586 +SVGRenderer.prototype.zoom = function(clicx,clicy){ 
  84.587 +/* 
  84.588 +function(direction, amount) { 
  84.589 +var viewBox = this.rootNode.getAttribute('viewBox');
  84.590 +    var viewVals = viewBox.split(' ');
  84.591 +    if (amount == null) {
  84.592 +        amount = SVGElement.panFactor;
  84.593 +    }
  84.594 +    switch (direction) {
  84.595 +        case 'left':
  84.596 +            amount = 0 - amount;
  84.597 +            // intentionally fall through
  84.598 +        case 'right':
  84.599 +            var currentPosition = parseFloat(viewVals[0]);
  84.600 +            currentPosition += amount;
  84.601 +            viewVals[0] = currentPosition;
  84.602 +            break;
  84.603 +        case 'up':
  84.604 +            amount = 0 - amount;
  84.605 +            // intentionally fall through
  84.606 +        case 'down':
  84.607 +            var currentPosition = parseFloat(viewVals[1]);
  84.608 +            currentPosition += amount;
  84.609 +            viewVals[1] = currentPosition;
  84.610 +            break;
  84.611 +        case 'origin':
  84.612 +            // reset everything to initial values
  84.613 +            viewVals[0] = 0;
  84.614 +            viewVals[1] = 0;
  84.615 +            this.rootNode.currentScale = 1;
  84.616 +            this.rootNode.currentTranslate.x = 0;
  84.617 +            this.rootNode.currentTranslate.y = 0;
  84.618 +            break;
  84.619 +    }
  84.620 +    this.rootNode.setAttribute('viewBox', viewVals.join(' '));        
  84.621 + */
  84.622 + 
  84.623 +      
  84.624 +      
  84.625 +      //canvasWidth
  84.626 +      //canvasheight
  84.627 +   if(zoommode=='frame')
  84.628 +    {   
  84.629 +       var viewBox = this.svgRoot.getAttributeNS(null,'viewBox'); 
  84.630 +     
  84.631 +       //alert(viewBox);
  84.632 +      
  84.633 +       var viewBox = zoominit;  
  84.634 +       var viewVals = viewBox.split(' ');
  84.635 +       
  84.636 +       zoomx = parseFloat(viewVals[0]); 
  84.637 +       zoomy = parseFloat(viewVals[1]);  
  84.638 +       zoomw = parseFloat(viewVals[2]); 
  84.639 +       zoomh = parseFloat(viewVals[3]);    
  84.640 +       proporDiagonal=1;
  84.641 +    }
  84.642 +     else
  84.643 +    {   
  84.644 +       
  84.645 +       var viewBox = this.svgRoot.getAttributeNS(null,'viewBox'); 
  84.646 +      
  84.647 +       var viewVals = viewBox.split(' ');
  84.648 +       var prevX = parseFloat(viewVals[0]); 
  84.649 +       var prevY = parseFloat(viewVals[1]);  
  84.650 +       var prevW = parseFloat(viewVals[2]); 
  84.651 +       var prevH = parseFloat(viewVals[3]); 
  84.652 +       var prevWidth=prevW-prevX;  
  84.653 +       var prevHeight=prevH-prevY;   
  84.654 +        
  84.655 +    }
  84.656 +   
  84.657 +      if(zoommode=='more')
  84.658 +       {             
  84.659 +        fieldViewx=prevW*0.95; 
  84.660 +        fieldViewy=prevH*0.95;  
  84.661 +        diagonalFrame=dist2p(0,0,fieldViewx,fieldViewy);
  84.662 +        //diagonalAngle=getAngle(fieldViewx,fieldViewy);                                  
  84.663 +        zoomx=(diagonalMidx+(diagonalFrame/2)*Math.cos(diagonalAngle+Math.PI));//-(fieldViewx/8);//-(canvasW/2)docx-fieldViewx;
  84.664 +        zoomy=(diagonalMidy+(diagonalFrame/2)*Math.sin(diagonalAngle+Math.PI));//-(fieldViewy/8);//-(canvasH/2);//docy-fieldViewy;
  84.665 +       zoomw=prevW*0.95;
  84.666 +       zoomh=prevH*0.95;    
  84.667 +                            
  84.668 +     
  84.669 +        proporDiagonal=diagonalFrame/diagonalinit; 
  84.670 +        //alert(proporDiagonal);
  84.671 +       }
  84.672 +      if(zoommode=='minus') 
  84.673 +       {
  84.674 +        fieldViewx=prevW*1.05; 
  84.675 +        fieldViewy=prevH*1.05;  
  84.676 +        diagonalFrame=dist2p(0,0,fieldViewx,fieldViewy);
  84.677 +       //diagonalAngle=getAngle(fieldViewx,fieldViewy);                                  
  84.678 +        zoomx=(diagonalMidx+(diagonalFrame/2)*Math.cos(diagonalAngle+Math.PI));//-(fieldViewx/8);//-(canvasW/2)docx-fieldViewx;
  84.679 +        zoomy=(diagonalMidy+(diagonalFrame/2)*Math.sin(diagonalAngle+Math.PI));//-(fieldViewy/8);//-(canvasH/2);//docy-fieldViewy;
  84.680 +        zoomw=prevW*1.05;
  84.681 +        zoomh=prevH*1.05; 
  84.682 +        proporDiagonal=diagonalFrame/diagonalinit;  
  84.683 +
  84.684 +       } 
  84.685 +      if(zoommode=='window')
  84.686 +       {             
  84.687 +          
  84.688 +        zoomx=c.mouseDownX;
  84.689 +        zoomy=c.mouseDownY; 
  84.690 +        var dF=dist2p(c.mouseDownX,c.mouseDownY,clicx,clicy);
  84.691 +        //var mid=pmd2pb(c.clicX,c.clicX,clicx,clicy,0.5)
  84.692 +        zoomw=dF*proporDoc;//(mid[1]+(dF/2)*Math.cos(diagonalAngle+Math.PI));
  84.693 +        zoomh=dF;//(mid[2]+(dF/2)*Math.sin(diagonalAngle+Math.PI));
  84.694 +    
  84.695 +        
  84.696 +       }      
  84.697 +       var direction=0;
  84.698 +      if(zoommode=='hand') 
  84.699 +       {        
  84.700 +        direction=ang2v(clicx,clicy,centerZoomx,centerZoomy);
  84.701 +        var distance=dist2p(clicx,clicy,centerZoomx,centerZoomy);
  84.702 +        var left = prevX+distance*Math.cos(direction); 
  84.703 +        var top = prevY+distance*Math.sin(direction); 
  84.704 +        makeWorkSite(prevH,left,top); 
  84.705 +       }
  84.706 +       direction=direction*180/Math.PI;
  84.707 +        //this.svgRoot.currentScale = zoomscale+0.1;
  84.708 +        //this.svgRoot.currentTranslate.x = 0;
  84.709 +        //this.svgRoot.currentTranslate.y = 0; 
  84.710 +        //var resultPosx=clicx-((prevscalex-posx)/2);//-Math.abs(posx+clicx)
  84.711 +        //var resultPosy=clicy-((prevscalex-posy)/2);//-Math.abs(posy+clicy)
  84.712 +        //var resultPosx=-Math.abs(posx+clicx);
  84.713 +        //var resultPosy=-Math.abs(posy+clicy);        
  84.714 +
  84.715 +  this.svgRoot.setAttributeNS(null,'viewBox', (zoomx)+' '+(zoomy)+' '+zoomw+' '+zoomh+'');
  84.716 +  var viewBox = this.svgRoot.getAttributeNS(null,'viewBox'); 
  84.717 +  //$('status').innerHTML=' '+viewBox; 
  84.718 +  //alert(direction+'__'+prevZoomCenterx+' '+prevZoomCentery+' '+centerZoomx+' '+centerZoomy);
  84.719 +}  
  84.720 +
  84.721 +//this.mode, this.fillColor, this.lineColor, this.fillOpac, this.lineOpac, this.lineWidth, this.mouseDownX, this.mouseDownY, 1, 1,'',''
  84.722 +SVGRenderer.prototype.datacreate = function(fillColor, lineColor, fillOpac, lineOpac, lineWidth, left, top, width, height, textMessaje, textSize, textFamily, imageHref, transform) {
  84.723 +  var svgNamespace = 'http://www.w3.org/2000/svg';
  84.724 +  var svg;
  84.725 +  svg = this.container.ownerDocument.createElementNS(svgNamespace, 'path');   
  84.726 +  svg.setAttributeNS(null, 'd', data);  	
  84.727 +  svg.setAttributeNS(null,'transform', "translate(0,0)"); 
  84.728 +  svg.style.position = 'absolute';  
  84.729 +  if (fillColor.length == 0){fillColor = 'none';}
  84.730 +  svg.setAttributeNS(null, 'fill', fillColor);
  84.731 +  if (lineColor.length == 0){lineColor = 'none';}
  84.732 +  svg.setAttributeNS(null, 'stroke', lineColor);
  84.733 +  svg.setAttributeNS(null, 'stroke-width', lineWidth); 
  84.734 +  this.svgRoot.appendChild(svg);
  84.735 +  return svg;
  84.736 +};
  84.737 +
  84.738 +SVGRenderer.prototype.querySelected = function(shape,centerx,centery,width,height)
  84.739 +{ 
  84.740 + var result = true;
  84.741 +  var shapes='names: g, image, rect, path, ellipse, circle, text, line, ';
  84.742 +
  84.743 + //if(shape.getBBox && shape) 
  84.744 +  if( shapes.indexOf(' '+shape.tagName+',')>0)
  84.745 +  {
  84.746 + 
  84.747 +  var box = shape.getBBox();
  84.748 + }else
  84.749 + {
  84.750 +  return false;
  84.751 + }
  84.752 + var p1x = box.x;
  84.753 +  if(Math.abs(p1x-centerx)>width){result = false}
  84.754 + 
  84.755 + var p1y = box.y;
  84.756 + if(Math.abs(p1y-centery)>height){result = false}
  84.757 + 
  84.758 + var p2x = box.x+box.width;
  84.759 + if(Math.abs(p2x-centerx)>width){result = false}
  84.760 +
  84.761 + var p2y = box.y;
  84.762 + if(Math.abs(p2y-centery)>height){result = false}
  84.763 + 
  84.764 + var p3x = box.x+box.width;
  84.765 + if(Math.abs(p3x-centerx)>width){result = false}
  84.766 +
  84.767 + var p3y = box.y+box.height;                    
  84.768 + if(Math.abs(p3y-centery)>height){result = false}
  84.769 +  
  84.770 + var p4x = box.x;
  84.771 +if(Math.abs(p4x-centerx)>width){result = false}
  84.772 + 
  84.773 + var p4y = box.y+box.height;
  84.774 + if(Math.abs(p4y-centery)>height){result = false}
  84.775 + 
  84.776 + if(result)
  84.777 +  {
  84.778 +    return { 'in':result, 'cornersx': p1x+','+p2x+','+p3x+','+p4x+',' ,'cornersy': p1y+','+p2y+','+p3y+','+p4y+',' };
  84.779 +  }
  84.780 +   else
  84.781 +  { 
  84.782 +     return { 'in':result } 
  84.783 +  }
  84.784 +//center.distanceFrom(point1);
  84.785 + 
  84.786 +
  84.787 +}
  84.788 +
  84.789 +SVGRenderer.prototype.searchBoxes = function()
  84.790 +{  
  84.791 + var base = this.svgRoot;
  84.792 +
  84.793 + var  NumNodes = base.childNodes.length;
  84.794 + var chain= '';
  84.795 + for(i = 0;i < NumNodes;i++)
  84.796 +  {       
  84.797 +     if (base.childNodes[i].getBBox)
  84.798 +      {
  84.799 +        chain+=base.childNodes[i].id + ';'
  84.800 +      }
  84.801 +  }
  84.802 +  chain+=''
  84.803 +  return chain;
  84.804 +
  84.805 +}  
  84.806 +
  84.807 +SVGRenderer.prototype.DrawBorder= function(numNode, targetElement )
  84.808 +{   
  84.809 +  var shapes='names: g, image, rect, path, ellipse, circle, text, line, ';
  84.810 +
  84.811 + //if(shape.getBBox && shape) 
  84.812 +  if( shapes.indexOf(' '+targetElement.tagName+',')>0)
  84.813 +  {
  84.814 +   var bbox = targetElement.getBBox();
  84.815 +   var svgns = 'http://www.w3.org/2000/svg';
  84.816 +
  84.817 +   var outline = this.container.ownerDocument.createElementNS(svgns, 'rect');
  84.818 +   outline.setAttributeNS( null, 'x', bbox.x - 2 );
  84.819 +   outline.setAttributeNS( null, 'y', bbox.y - 2 );
  84.820 +   outline.setAttributeNS( null, 'width',  bbox.width + 4 );
  84.821 +   outline.setAttributeNS( null, 'height', bbox.height + 4 );
  84.822 +   outline.setAttributeNS( null, 'stroke', '#ff00ff' );
  84.823 +   outline.setAttributeNS( null, 'fill', 'none' );
  84.824 +   outline.setAttributeNS( null, 'id', 'shapeBoxed'+numNode );
  84.825 +
  84.826 +   targetElement.parentNode.insertBefore( outline, targetElement );
  84.827 +   return 'shapeBoxed'+numNode; 
  84.828 +  } 
  84.829 +   else 
  84.830 +  {
  84.831 +   return false
  84.832 +  }
  84.833 +}
  84.834 +
  84.835 +SVGRenderer.prototype.index = function(shape,order) {  
  84.836 + 
  84.837 +     if(order==-1)
  84.838 +      {
  84.839 +        this.svgRoot.appendChild( shape );
  84.840 +      }
  84.841 +      if(order==0){
  84.842 +     
  84.843 +         this.svgRoot.insertBefore( shape, shape.parentNode.firstChild );
  84.844 +      } 
  84.845 + 
  84.846 +   if(order==1 || order==2)
  84.847 +    {
  84.848 +         var id=shape.getAttributeNS(null, 'id');
  84.849 +        //alert(id);
  84.850 +        
  84.851 +        
  84.852 +        var numNodes=this.svgRoot.childNodes.length;
  84.853 +        //alert(numNodes);
  84.854 +          
  84.855 +        var num=0;
  84.856 +        for(var i = 1; i < numNodes; i++)
  84.857 +         {                                                   
  84.858 +           
  84.859 +           var etiq=this.svgRoot.childNodes[i].getAttributeNS(null, 'id');
  84.860 +           if (etiq==id)
  84.861 +            { 
  84.862 +                num=i; 
  84.863 +               
  84.864 +            }                                                    
  84.865 +          } 
  84.866 +          //alert(num);    
  84.867 +          if(order==1) 
  84.868 +           {   
  84.869 +              if((num-1)>=-1)
  84.870 +               {  
  84.871 +                this.svgRoot.insertBefore( shape, this.svgRoot.childNodes[num-1]);
  84.872 +               } 
  84.873 +           }
  84.874 +          if(order==2){ 
  84.875 +               if((num+1)<numNodes)
  84.876 +               {
  84.877 +                  this.svgRoot.insertBefore( shape, this.svgRoot.childNodes[num+2]);
  84.878 +               }
  84.879 +          } 
  84.880 +          
  84.881 +    } 
  84.882 +    
  84.883 +    
  84.884 +   /*var contshapes =  shape.parentNode.childNodes.length;       
  84.885 +   var elem1 = shape;//this.svgRoot.childNodes[1]; 
  84.886 +   var elem2 = shape.parentNode.childNodes[parseInt(contshapes-9)];
  84.887 +    var tmp = elem1.cloneNode( true );
  84.888 +    shape.parentNode.replaceChild( tmp, elem2 );
  84.889 +    shape.parentNode.replaceChild( elem2, elem1 ); 
  84.890 +    */
  84.891 +    //alert(elem2+' '+ elem1 ) 
  84.892 +    //return  elem2;
  84.893 +    
  84.894 +}
  84.895 +SVGRenderer.prototype.remove = function(shape) {
  84.896 +  //shape.parentNode.removeChild(shape);
  84.897 +  this.svgRoot.removeChild(shape);
  84.898 +}
  84.899 +
  84.900 +
  84.901 +SVGRenderer.prototype.copy = function(shape) 
  84.902 + {
  84.903 +   var svg;
  84.904 +   svg =shape.cloneNode(false); 
  84.905 +     if(shape.tagName=="text"){  
  84.906 +        var text=shape.textContent ; 
  84.907 +        svg.textContent=text;     
  84.908 +     } 
  84.909 +    //svg.setAttributeNS(null, 'fill', "#aa00aa");
  84.910 +   return svg;
  84.911 + };
  84.912 +
  84.913 +
  84.914 +SVGRenderer.prototype.paste = function(clipboard,left,top) 
  84.915 + {
  84.916 +   //var svg;
  84.917 +   //svg =shape;
  84.918 +   //clipboard.setAttributeNS(null, 'fill', "#0000aa");
  84.919 +   //clipboard.setAttributeNS(null,'transform', "translate("+left+","+top+")"); 
  84.920 +   this.svgRoot.appendChild(clipboard);
  84.921 +  return clipboard;
  84.922 + };
  84.923 +
  84.924 +
  84.925 +SVGRenderer.prototype.duplicate = function(shape) 
  84.926 + {
  84.927 +   var svg;
  84.928 +   svg =shape.cloneNode(false);
  84.929 +   //svg.setAttributeNS(null, 'fill', "#aa00aa");
  84.930 +   this.svgRoot.appendChild(svg);
  84.931 +  return svg;
  84.932 + };
  84.933 +
  84.934 +SVGRenderer.prototype.undo = function() 
  84.935 + {
  84.936 +  this.svgRoot.removeChild( this.svgRoot.lastChild );
  84.937 + };
  84.938 + 
  84.939 + /* 
  84.940 + function zSwap(parent, elem1, elem2)
  84.941 +{
  84.942 +   var tmp = elem1.cloneNode( true );
  84.943 +   parent.replaceChild( tmp, elem2 );
  84.944 +   parent.replaceChild( elem2, elem1 );
  84.945 +}
  84.946 +
  84.947 +SVGRenderer.prototype.moveToTop( svgNode )
  84.948 +{
  84.949 +   this.svgRoot.appendChild( svgNode );
  84.950 +}
  84.951 +
  84.952 +
  84.953 +SVGRenderer.prototype.moveToBottom( svgNode )
  84.954 +{
  84.955 +   this.svgRoot.insertBefore( svgNode, svgNode.parentNode.firstChild );
  84.956 +}
  84.957 +
  84.958 +*/
  84.959 +
  84.960 +
  84.961 +
  84.962 +
  84.963 +     
  84.964 +var xshe=0; //bad
  84.965 +var yshe=0;  
  84.966 +var isArc=false;
  84.967 +var contArc=0;    
  84.968 +
  84.969 +SVGRenderer.prototype.move = function(shape, left, top, fromX,fromY) {  
  84.970 + //typeTransform='Translate';   
  84.971 + 
  84.972 + var box = shape.getBBox(); 
  84.973 + var angle=0;
  84.974 + var dist=0;  
  84.975 + var rotated=false;
  84.976 +
  84.977 +  if (shape.hasAttributeNS(null,'transform')) {  
  84.978 +    var tran=shape.getAttributeNS(null, 'transform'); 
  84.979 +    var rot=''; 
  84.980 +    var scl=''; 
  84.981 +    var angle=0;
  84.982 +    if(tran.indexOf('rotate')!=-1)
  84.983 +     { 
  84.984 +      if(tran.indexOf('scale')!=-1)
  84.985 +      {
  84.986 +       var chain2=tran.split('),');
  84.987 +       rot= GetString(chain2[0], 'rotate(', ',');
  84.988 +       angle=parseFloat(rot);
  84.989 +       scl= GetString(tran, 'scale(', ')');
  84.990 +      }else{
  84.991 +       var chain2=tran.split(',');  
  84.992 +       var rot0=chain2[0].split('rotate(');
  84.993 +       rot='good';
  84.994 +       angle=parseFloat(rot0[1]);
  84.995 +       scl='';                  
  84.996 +       
  84.997 +      }
  84.998 +     }else{
  84.999 +      if(tran.indexOf('scale')!=-1)
 84.1000 +       {
 84.1001 +        scl= GetString(tran, 'scale(', ')'); 
 84.1002 +        angle=0; 
 84.1003 +       }else{   
 84.1004 +         //
 84.1005 +       }
 84.1006 +     }
 84.1007 +    
 84.1008 +    //var h=shape.getAttributeNS(null, SVG_TRANSFORM_ROTATE ); 
 84.1009 +   
 84.1010 +    var centerx=box.x+(box.width/2);
 84.1011 +    var centery=box.y+(box.height/2);        
 84.1012 +    var cadRot='';                              
 84.1013 +    var cadScale=''; 
 84.1014 +    var union='';
 84.1015 +    if(angle!=0)
 84.1016 +     {   
 84.1017 +      cadRot='rotate('+(angle)+', '+centerx+', '+centery+')';
 84.1018 +     }
 84.1019 +    if(scl.length>2)
 84.1020 +     {
 84.1021 +      if(rot.length>2){ union=',';}
 84.1022 +      cadScale='scale('+scl+')';
 84.1023 +      if(scl.indexOf('-')!=-1)
 84.1024 +       {  
 84.1025 +          var dist= dist2p(left,top,box.x,box.y);
 84.1026 +           
 84.1027 +          left=left;  
 84.1028 +        }  
 84.1029 +       if(scl.indexOf(',-')!=-1 || scl.indexOf(', -')!=-1 )
 84.1030 +         {
 84.1031 +             //top=eval('-'+top);  
 84.1032 +            var dist= dist2p(left,top,box.x,box.y);
 84.1033 +            top=top; 
 84.1034 +        }
 84.1035 +        
 84.1036 +      }
 84.1037 +    //shape.setAttributeNS(null,'transform', 'rotate('+(angle)+', '+centerx+', '+centery+')'); 
 84.1038 +    shape.setAttributeNS(null,'transform', cadRot+union+cadScale);  
 84.1039 +   
 84.1040 +    //var angleRad=angle*Math.PI/180; 
 84.1041 +   
 84.1042 +   
 84.1043 +      
 84.1044 +   //dist=dist2p(x,y,left, top) ;
 84.1045 +   rotated=true;
 84.1046 +   
 84.1047 + }
 84.1048 +  //left=left-box.x;   
 84.1049 +  //top=top-box.y;  
 84.1050 +  //left = centerx-left;
 84.1051 +  //top = centery-top;  
 84.1052 +
 84.1053 +  contmove++;
 84.1054 +
 84.1055 +  if (shape.tagName == 'rect'){ 
 84.1056 +  /* var dudy= shape.parentNode;  
 84.1057 +   if(dudy.tagName=='g'){
 84.1058 +      document.forms[0].code.value= 'this g ============ '; 
 84.1059 +           shape.setAttributeNS(null, 'x', left);
 84.1060 +           shape.setAttributeNS(null, 'y', top); 
 84.1061 + 
 84.1062 +           dudy.setAttributeNS(null, 'x', left);
 84.1063 +           dudy.setAttributeNS(null, 'y', top); 
 84.1064 +           dudy.childNodes[0].setAttributeNS(null, 'x', left);
 84.1065 +           dudy.childNodes[0].setAttributeNS(null, 'y', top);
 84.1066 +           
 84.1067 +    }else{
 84.1068 +     //document.forms[0].code.value= box.x+' '+box.y+' formX  Y'+ fromX+'_'+fromY+'  left '+left+'_'+top+'==============';     
 84.1069 +     //document.forms[0].code.value+= tran+' rot '+ angle+'_'+x+'_'+y+' dist '+dist;   
 84.1070 +     if(rotated){
 84.1071 +          //shape.setAttributeNS(null, 'x', box.x*Math.cos(angleRad)) ;
 84.1072 +         //shape.setAttributeNS(null, 'y', box.y*Math.sin(angleRad)) ;  
 84.1073 +           shape.setAttributeNS(null, 'x', left);
 84.1074 +           shape.setAttributeNS(null, 'y', top); 
 84.1075 +  
 84.1076 +
 84.1077 +     }else{ 
 84.1078 +     */
 84.1079 +      shape.setAttributeNS(null, 'x', left);
 84.1080 +      shape.setAttributeNS(null, 'y', top); 
 84.1081 +     //}
 84.1082 +    //$('option_rect_trx').value= left;  
 84.1083 +    //$('option_rect_try').value= top;    
 84.1084 +       // var h=shape.getAttributeNS(null, 'height');   
 84.1085 +       //var w=shape.getAttributeNS(null, 'width'); 
 84.1086 +       //document.forms[0].code.value= h+' '+w;
 84.1087 +   //}    
 84.1088 +  } 
 84.1089 +  if (shape.tagName == 'g')
 84.1090 +   { 
 84.1091 +   //this.editor.log(shape.tagName+' ==============');  
 84.1092 +   
 84.1093 +    shape.setAttributeNS(null, 'x', left);
 84.1094 +    shape.setAttributeNS(null, 'y', top);
 84.1095 +    shape.childNodes[0].setAttributeNS(null, 'x', left + 'px');
 84.1096 +    shape.childNodes[0].setAttributeNS(null, 'y', top + 'px');
 84.1097 +    shape.childNodes[1].setAttributeNS(null, 'x', left + 'px');
 84.1098 +    shape.childNodes[1].setAttributeNS(null, 'y', top + 'px');
 84.1099 +    
 84.1100 +   }
 84.1101 +  if (shape.tagName == 'image'){
 84.1102 +    shape.setAttributeNS(null, 'x',left + 'px');
 84.1103 +    shape.setAttributeNS(null, 'y', top  + 'px');
 84.1104 +    //$('option_img_trx').value= left;  
 84.1105 +    //$('option_img_try').value= top;
 84.1106 +     var h=shape.getAttributeNS(null, 'height');   
 84.1107 +     var w=shape.getAttributeNS(null, 'width'); 
 84.1108 +    // this.editor.log( h+' '+w);
 84.1109 +  }
 84.1110 +  if (shape.tagName == 'text'){  
 84.1111 +   var size=parseFloat(shape.getAttributeNS(null, 'font-size')); 
 84.1112 +   //$('code').value=size;
 84.1113 +    shape.setAttributeNS(null, 'x',  left + 'px');
 84.1114 +    shape.setAttributeNS(null, 'y',  parseFloat(top+size) + 'px');
 84.1115 +    //$('option_text_trx').value= left;  
 84.1116 +    //$('option_text_try').value= top;
 84.1117 +
 84.1118 +  }
 84.1119 +  if (shape.tagName == 'line'){ 
 84.1120 +    var deltaX = shape.getBBox().width;
 84.1121 +    var deltaY = shape.getBBox().height;
 84.1122 +    shape.setAttributeNS(null, 'x1', left + 'px');
 84.1123 +    shape.setAttributeNS(null, 'y1', top + 'px');
 84.1124 +
 84.1125 +    shape.setAttributeNS(null, 'x2', left + deltaX + 'px');
 84.1126 +    shape.setAttributeNS(null, 'y2', top + deltaY + 'px');   
 84.1127 +    //$('option_line_trx').value= left;  
 84.1128 +    //$('option_line_try').value= top;
 84.1129 +
 84.1130 +  }   
 84.1131 +  if (shape.tagName == 'ellipse'){  
 84.1132 +    var putx=left + (shape.getBBox().width / 2)    
 84.1133 +    var puty= top + (shape.getBBox().height / 2)
 84.1134 +    shape.setAttributeNS(null, 'cx', putx + 'px');
 84.1135 +    shape.setAttributeNS(null, 'cy', puty + 'px');
 84.1136 +    //$('option_ellipse_trx').value= putx;  
 84.1137 +    //$('option_ellipse_try').value= puty;
 84.1138 +
 84.1139 +  }
 84.1140 +  if (shape.tagName == 'path' || shape.tagName == 'polyline' ) {
 84.1141 +
 84.1142 +   if(contmove==1){ 
 84.1143 +      xshe=left;
 84.1144 +      yshe=top; 
 84.1145 +   }    
 84.1146 + var path=shape.getAttributeNS(null, 'd');
 84.1147 + path=path.replace(/, /g, ','); 
 84.1148 + path=path.replace(/ ,/g, ',');
 84.1149 + var ps =path.split(" ")
 84.1150 + var pcc = "";
 84.1151 + var point =ps[0].split(","); 
 84.1152 +
 84.1153 +
 84.1154 + var num0= parseFloat(point[0].substring(1));
 84.1155 + var num1= parseFloat(point[1]); 
 84.1156 + 
 84.1157 + var ang= ang2v(box.x,box.y,left,top) ;
 84.1158 + var angle = Math.round((ang/Math.PI* 2)* 360);
 84.1159 + var angx = Math.cos(ang); 
 84.1160 + var angy = Math.sin(ang);          
 84.1161 + var dist= dist2p(left,top,box.x,box.y);
 84.1162 + var xinc=dist*angx;
 84.1163 + var yinc=dist*angy;   
 84.1164 +    var re = /^[-]?\d*\.?\d*$/;
 84.1165 + for(var i = 0; i < ps.length; i++)
 84.1166 +  { 
 84.1167 +   if(ps[i].indexOf(',')>0){  
 84.1168 +     
 84.1169 +      var point =ps[i].split(","); 
 84.1170 +       var char1=point[0].substring(0,1); 
 84.1171 +       if(char1=='A' || char1=='a'){isArc=true; contArc=0;}
 84.1172 +       if(isArc==true){contArc++}
 84.1173 +       if(contArc==4){contArc=0; isArc=false}
 84.1174 +       
 84.1175 +       //if (isNaN(valnum)) 
 84.1176 +      if (!char1.match(re))        
 84.1177 +       { 
 84.1178 +           var num0= parseFloat(point[0].substring(1));
 84.1179 +           var text=char1;
 84.1180 +       }else{ 
 84.1181 +         if(isArc==true && contArc==2  )
 84.1182 +          {
 84.1183 +            var num0= point[0];
 84.1184 +          }else{  
 84.1185 +            var num0= parseFloat(point[0]);
 84.1186 +          }  
 84.1187 +         var text='';
 84.1188 +
 84.1189 +       }
 84.1190 + 
 84.1191 +       
 84.1192 +       if(isArc==true && contArc==2)
 84.1193 +        {   
 84.1194 +           point[1]= point[1].toString() ;
 84.1195 +        }
 84.1196 +        else
 84.1197 +        {    
 84.1198 +         
 84.1199 +          num0+=xinc;    
 84.1200 +          point[1]= parseFloat(point[1]);
 84.1201 +          point[1]+=yinc;
 84.1202 +
 84.1203 +        }  
 84.1204 +        var cx=num0; 
 84.1205 +         
 84.1206 +        var cy=point[1]; 
 84.1207 +        pcc+=text+cx+','+cy+' ';
 84.1208 +   }else{
 84.1209 +      pcc+=ps[i]+' ';
 84.1210 +   }
 84.1211 +  }
 84.1212 +  
 84.1213 +  shape.setAttributeNS(null,'d', pcc);
 84.1214 +
 84.1215 + }                                                                                                                            
 84.1216 +                                                                                                                           
 84.1217 +  
 84.1218 +//$('status').innerHTML=typeTransform+': '+left+' '+top;
 84.1219 +//$('option_select_trx').value= left;  
 84.1220 +//$('option_select_try').value= top;  
 84.1221 +
 84.1222 +
 84.1223 +
 84.1224 +};
 84.1225 +
 84.1226 +
 84.1227 +
 84.1228 +SVGRenderer.prototype.track = function(shape) {
 84.1229 +  // TODO
 84.1230 +};
 84.1231 +
 84.1232 +
 84.1233 +SVGRenderer.prototype.clic = function(shape) {
 84.1234 +         var end='';
 84.1235 +	if(data_path_close==true){end='z';}
 84.1236 +        var maxcont=setPoints.length;
 84.1237 +        var thispath='M'+setPoints[0]+' ';  
 84.1238 +        $('someinfo').value=maxcont;
 84.1239 +      
 84.1240 +        for(var conta=1;conta< maxcont;conta++){        
 84.1241 +          thispath+='L'+setPoints[conta]+' ';
 84.1242 +        }
 84.1243 +              //var pointshape=shape.getAttributeNS(null,"d");
 84.1244 +         	//shape.setAttributeNS(null,'d',thispath+end);
 84.1245 +         	var path=thispath+end;
 84.1246 +       
 84.1247 +         	shape.setAttributeNS(null,'d',path);
 84.1248 +                $('control_codebase').value=path;
 84.1249 + 
 84.1250 +}
 84.1251 +
 84.1252 +
 84.1253 +SVGRenderer.prototype.resize = function(shape, fromX, fromY, toX, toY) {
 84.1254 +   var deltaX = toX - fromX;
 84.1255 +  var deltaY = toY - fromY;  
 84.1256 +  
 84.1257 +     /*      if (lineColor.length == 0){lineColor = 'none';} 
 84.1258 +           if (fillColor.length == 0){fillColor = 'none';}
 84.1259 +           shape.style.fill = fillColor;  
 84.1260 +           shape.style.stroke = lineColor;  
 84.1261 +           shape.style.strokeWidth = lineWidth; 
 84.1262 +           shape.style.fillOpacity = fillOpac;
 84.1263 +           shape.style.strokOpacity = lineOpac;        
 84.1264 +      */     
 84.1265 +  if (shape.tagName == 'rect' ) 
 84.1266 +   { 
 84.1267 +    
 84.1268 + 
 84.1269 +      if (deltaX < 0) {
 84.1270 +         shape.setAttributeNS(null, 'x', toX + 'px');
 84.1271 +         shape.setAttributeNS(null, 'width', -deltaX + 'px');
 84.1272 +       }
 84.1273 +        else
 84.1274 +       {
 84.1275 +         shape.setAttributeNS(null, 'width', deltaX + 'px');
 84.1276 +       }
 84.1277 +  
 84.1278 +      if (deltaY < 0) 
 84.1279 +       {
 84.1280 +        shape.setAttributeNS(null, 'y', toY + 'px');
 84.1281 +        shape.setAttributeNS(null, 'height', -deltaY + 'px');
 84.1282 +       }
 84.1283 +        else 
 84.1284 +       {
 84.1285 +        shape.setAttributeNS(null, 'height', deltaY + 'px');
 84.1286 +       }
 84.1287 +      /*shape.style.fill = fillColor;  
 84.1288 +      shape.style.stroke = lineColor;  
 84.1289 +      shape.style.strokeWidth = lineWidth; 
 84.1290 +      shape.style.fillOpacity = fillOpac;
 84.1291 +      shape.style.strokOpacity = lineOpac;         
 84.1292 +      */
 84.1293 +      
 84.1294 +    }
 84.1295 +    
 84.1296 +  /*  if ( shape.tagName == 'simage' ) 
 84.1297 +    {   
 84.1298 +        var img=shape.firstChild;//nodeName;//nodparseFloatue;//nodes.item(0);
 84.1299 +        //alert(img);
 84.1300 +      if (deltaX < 0) {
 84.1301 +         shape.setAttributeNS(null, 'x', parseFloat(toX) + 'px');
 84.1302 +         shape.setAttributeNS(null, 'width', parseFloat(-deltaX) + 'px');
 84.1303 +         
 84.1304 +       }
 84.1305 +        else
 84.1306 +       {
 84.1307 +         shape.setAttributeNS(null, 'width', parseFloat(deltaX) + 'px');
 84.1308 +       }
 84.1309 +  
 84.1310 +      if (deltaY < 0) 
 84.1311 +       {
 84.1312 +        shape.setAttributeNS(null, 'y', parseFloat(toY) + 'px');
 84.1313 +        shape.setAttributeNS(null, 'height', parseFloat(-deltaY) + 'px');
 84.1314 +       }
 84.1315 +        else 
 84.1316 +       {
 84.1317 +        shape.setAttributeNS(null, 'height', parseFloat(deltaY) + 'px');
 84.1318 +       }  
 84.1319 +       var h=shape.getAttributeNS(null, 'height');   
 84.1320 +       var w=shape.getAttributeNS(null, 'width'); 
 84.1321 +       document.forms[0].code.value= h+' '+w;    
 84.1322 +       
 84.1323 +       
 84.1324 +       
 84.1325 +    }*/ 
 84.1326 +   if (shape.tagName == 'g' || shape.tagName == 'image') 
 84.1327 +    {
 84.1328 +          
 84.1329 +
 84.1330 +       if (deltaX < 0) 
 84.1331 +        {  
 84.1332 +          shape.setAttributeNS(null, 'x', parseFloat(toX) + 'px' );
 84.1333 +          shape.setAttributeNS(null, 'width', parseFloat(-deltaX)  + 'px');
 84.1334 +
 84.1335 +
 84.1336 +        }
 84.1337 +         else
 84.1338 +        {
 84.1339 +          shape.setAttributeNS(null, 'width', parseFloat(deltaX)  + 'px');
 84.1340 +         }
 84.1341 +  
 84.1342 +       if (deltaY < 0) 
 84.1343 +        {
 84.1344 +         shape.setAttributeNS(null, 'y', parseFloat(toY)  + 'px');
 84.1345 +         shape.setAttributeNS(null, 'height', parseFloat(-deltaY) + 'px' );
 84.1346 +        }
 84.1347 +         else 
 84.1348 +        {
 84.1349 +         shape.setAttributeNS(null, 'height', parseFloat(deltaY) + 'px');
 84.1350 + 
 84.1351 +        }
 84.1352 +     
 84.1353 +   } 
 84.1354 +  if (shape.tagName == 'ellipse') {
 84.1355 +            if (deltaX < 0) {
 84.1356 +              shape.setAttributeNS(null, 'cx', (fromX + deltaX / 2) + 'px');
 84.1357 +              shape.setAttributeNS(null, 'rx', (-deltaX / 2) + 'px');
 84.1358 +            }
 84.1359 +            else {
 84.1360 +              shape.setAttributeNS(null, 'cx', (fromX + deltaX / 2) + 'px');
 84.1361 +              shape.setAttributeNS(null, 'rx', (deltaX / 2) + 'px');
 84.1362 +            }
 84.1363 +          
 84.1364 +            if (deltaY < 0) {
 84.1365 +              shape.setAttributeNS(null, 'cy', (fromY + deltaY / 2) + 'px');
 84.1366 +              shape.setAttributeNS(null, 'ry', (-deltaY / 2) + 'px');
 84.1367 +            }
 84.1368 +            else {
 84.1369 +              shape.setAttributeNS(null, 'cy', (fromY + deltaY / 2) + 'px');
 84.1370 +              shape.setAttributeNS(null, 'ry', (deltaY / 2) + 'px');
 84.1371 +            }
 84.1372 +  }
 84.1373 +  if (shape.tagName == 'line') {
 84.1374 +          shape.setAttributeNS(null, 'x2', toX);
 84.1375 +          shape.setAttributeNS(null, 'y2', toY);
 84.1376 +  } 
 84.1377 +  if (shape.tagName == 'polyline') {    
 84.1378 +        
 84.1379 +       xpArray.push(toX);
 84.1380 +          ypArray.push(toY);  
 84.1381 +                   var thispath=''+xpArray[1]+','+ypArray[1];  
 84.1382 + 		    var thispath1=''; 
 84.1383 +		    var thispath2='';
 84.1384 +                  var maxcont=xpArray.length;
 84.1385 +      
 84.1386 +        for(var conta=2;conta< maxcont;conta++){        
 84.1387 +          thispath1+=' '+xpArray[conta]+' '+ypArray[conta];
 84.1388 +          thispath2+=' '+xpArray[conta]+', '+ypArray[conta];  
 84.1389 +	
 84.1390 +        }
 84.1391 +
 84.1392 +       
 84.1393 +		shape.setAttributeNS(null,'points',thispath+thispath1);
 84.1394 +	
 84.1395 +	
 84.1396 +    }    
 84.1397 +    
 84.1398 +  if (shape.tagName == 'path') {
 84.1399 +        
 84.1400 +    if (selectmode == 'controlpath')
 84.1401 +     {   
 84.1402 +                var end='';
 84.1403 +	if(data_path_close==true){end='z';}
 84.1404 +
 84.1405 +        var thispath='M'+setPoints[0]+' ';  
 84.1406 +        var maxcont=setPoints.length;
 84.1407 +      
 84.1408 +        for(var conta=1;conta< maxcont;conta++){        
 84.1409 +          thispath+='L'+setPoints[conta]+' ';
 84.1410 +          
 84.1411 +	
 84.1412 +        }                               
 84.1413 +        var path=thispath+'L'+toX+','+toY+end;
 84.1414 +          //var pointshape=shape.getAttributeNS(null,"d");
 84.1415 +         	shape.setAttributeNS(null,'d',path);
 84.1416 +               document.forms[0].control_codebase.value=path;
 84.1417 +     }
 84.1418 +      else
 84.1419 +     { 
 84.1420 +  
 84.1421 +	  xpArray.push(toX);
 84.1422 +          ypArray.push(toY);  
 84.1423 +  
 84.1424 +                    var thispath=''+xpArray[1]+','+ypArray[1];  
 84.1425 + 		    var thispath1=''; 
 84.1426 +		    var thispath2='';
 84.1427 +                  var maxcont=xpArray.length;
 84.1428 +      
 84.1429 +        for(var conta=2;conta< maxcont;conta++){        
 84.1430 +          //thispath1+=' '+xpArray[conta]+' '+ypArray[conta];
 84.1431 +          thispath2+=' '+xpArray[conta]+','+ypArray[conta];  
 84.1432 +	  //if((conta+2)%3==0){thispath2+=' C';}
 84.1433 +        }
 84.1434 +        var end='';
 84.1435 +	if(data_path_close==true){end='z';}
 84.1436 +		shape.setAttributeNS(null,'d','M '+thispath+ ' L'+thispath2+end);
 84.1437 +       
 84.1438 +       
 84.1439 +          
 84.1440 +      /*      
 84.1441 +  
 84.1442 +           var pointshape=shape.getAttributeNS(null,"points");
 84.1443 +          var thispoint=' '+toX+' '+toY;  
 84.1444 +             $('status').innerHTML =pointshape; 
 84.1445 +        shape.setAttributeNS(null,'points',pointshape+thispoint)
 84.1446 +        shape.setAttributeNS(null, 'stroke-width', "25");  
 84.1447 +        shape.setAttributeNS(null, 'fill', "#FFFF00");
 84.1448 +    
 84.1449 +    //shape.points.push(toX);
 84.1450 +    //shape.points.push(toY);
 84.1451 +    //shape.setAttribute("points",pointshape+);      
 84.1452 +         // var maxcont=xpArray.length-1;
 84.1453 +          var thispath=''+xpArray[1]+','+ypArray[1];  
 84.1454 +       var maxcont=xpArray.length;
 84.1455 +       //alert(maxcont);
 84.1456 +        for(var conta=2;conta< maxcont;conta++){        
 84.1457 +          thispath+=','+xpArray[conta]+','+ypArray[conta]; 
 84.1458 +        }
 84.1459 +        //alert(shape.points[1]);
 84.1460 +    //shape.setAttribute("points",thispath);       
 84.1461 +    //points.Value = thispath;       
 84.1462 +      var thispath=''+xpArray[1]+','+ypArray[1];  
 84.1463 +       var maxcont=xpArray.length;
 84.1464 +       //alert(maxcont);
 84.1465 +        for(var conta=1;conta< maxcont;conta++){        
 84.1466 +          thispath+=','+xpArray[conta]+','+ypArray[conta];
 84.1467 +        }
 84.1468 +        
 84.1469 +        shape.points.Value = thispath;
 84.1470 +        */  
 84.1471 +          
 84.1472 +          
 84.1473 +     
 84.1474 +  
 84.1475 +        /*
 84.1476 + 
 84.1477 +          
 84.1478 +       //this.renderer.move(this.selected, this.selectedBounds.x + deltaX, this.selectedBounds.y + deltaY); 
 84.1479 +       // shape.setAttributeNS(null,'transform', "translate("+(toX)+","+(toy)+")");
 84.1480 +
 84.1481 +        
 84.1482 +       
 84.1483 +         var thispath=''+xpArray[0]+','+ypArray[0]; 
 84.1484 +       var maxcont=xpArray.length;
 84.1485 +        //shape.setAttributeNS(null,'transform', "translate("+toX+","+toY+")");
 84.1486 +        for(var conta=1;conta< maxcont;conta++){        
 84.1487 +          thispath+=','+xpArray[conta]+','+ypArray[conta];
 84.1488 +        }
 84.1489 +           
 84.1490 +        shape.setAttributeNS(null, 'x', toX);
 84.1491 +        shape.setAttributeNS(null, 'y', toY);
 84.1492 +     shape.setAttributeNS(null, 'points', thispath);
 84.1493 +      */
 84.1494 +    }  
 84.1495 +  } 
 84.1496 +  if (shape == 'text') {}  
 84.1497 +    
 84.1498 +}; 
 84.1499 +SVGRenderer.prototype.tocurve = function()  
 84.1500 +{
 84.1501 +  var points=$('control_codebase').value.split('L');
 84.1502 +     var chain='';
 84.1503 +     chain+=points[0]+'C';
 84.1504 +     var numpoints=points.length-1;
 84.1505 +     for(var a=1;a<numpoints;a++)
 84.1506 +      {
 84.1507 +       if(a%3==0)
 84.1508 +        { 
 84.1509 +         chain+=points[a]+'C';
 84.1510 +        }
 84.1511 +         else
 84.1512 +        {
 84.1513 +         chain+=points[a];       
 84.1514 +        } 
 84.1515 +      } 
 84.1516 +      if(numpoints%3==0){
 84.1517 +        chain+=points[numpoints]+'';
 84.1518 +      } 
 84.1519 +      if(numpoints%3==2){
 84.1520 +        chain+=points[numpoints-1]+'';
 84.1521 +        chain+=points[numpoints]+'';
 84.1522 +      } 
 84.1523 +      if(numpoints%3==1){ 
 84.1524 +        chain+=points[numpoints-1]+'';
 84.1525 +        chain+=points[numpoints-1]+'';
 84.1526 +        chain+=points[numpoints]+'';
 84.1527 +      } 
 84.1528 +      if(numpoints%3==3){ 
 84.1529 +        chain+=points[numpoints-1]+'';
 84.1530 +        chain+=points[numpoints-1]+'';
 84.1531 +        chain+=points[numpoints-1]+'';
 84.1532 +        chain+=points[numpoints]+'';
 84.1533 +      } 
 84.1534 +
 84.1535 +      $('someinfo').value=numpoints+ ' '+ numpoints%3;
 84.1536 +      $('control_codebase').value=chain; 
 84.1537 +      setShape(); 
 84.1538 + }; 
 84.1539 + 
 84.1540 +
 84.1541 +SVGRenderer.prototype.info = function(shape)
 84.1542 +{   
 84.1543 +var shInfo = {}; 
 84.1544 +//shInfo.id =null; 
 84.1545 +//if(shInfo.id !=null){ 
 84.1546 +if(shape.id != "tracker") 
 84.1547 +{  
 84.1548 +if(shape.getAttribute('id')==null){
 84.1549 +   var nid='shape:' + createUUID(); 
 84.1550 +   shape.setAttributeNS(null, 'id',  nid);
 84.1551 +   //shInfo.id = shape.id.substr(6); 
 84.1552 + 
 84.1553 + } 
 84.1554 + shInfo.id =shape.getAttribute('id');  
 84.1555 + shInfo.type = shape.tagName;
 84.1556 + 
 84.1557 +  if(shape.tagName=='svg')
 84.1558 +  { 
 84.1559 +    shInfo.type ='doc'
 84.1560 +    shInfo.left = parseFloat(shape.getAttribute('x'));
 84.1561 +    shInfo.top = parseFloat(shape.getAttribute('y'));   
 84.1562 +    shInfo.width = parseFloat(shape.getAttribute('width'));
 84.1563 +    shInfo.height = parseFloat(shape.getAttribute('height'));   
 84.1564 +    shInfo.viewBox = shape.getAttribute('viewBox');  
 84.1565 +    shInfo.bgcolor=this.container.style.backgroundColor;  
 84.1566 +    
 84.1567 +    return shInfo; 
 84.1568 +  }
 84.1569 +  else
 84.1570 +  {
 84.1571 +    
 84.1572 +  } 
 84.1573 +
 84.1574 + 
 84.1575 + 
 84.1576 + if (shape.hasAttributeNS(null,'transform')) { 
 84.1577 +     shInfo.transform = shape.getAttribute('transform');
 84.1578 +  }else{
 84.1579 +     shInfo.transform ='';
 84.1580 +  }   
 84.1581 + 
 84.1582 + if (shape.tagName =='defs') 
 84.1583 +   { 
 84.1584 +    //alert('dfasd'); 
 84.1585 +    if(shape.getAttribute('id')==null || shape.getAttribute('id')=='')
 84.1586 +     {  
 84.1587 +      
 84.1588 +      //var nid='shape:' + createUUID(); 
 84.1589 +      shape.setAttributeNS(null, 'id',  'defs');
 84.1590 +      shInfo.id=shape.getAttribute('id');
 84.1591 +     }
 84.1592 +     shInfo.id=shape.getAttribute('id');
 84.1593 +   }
 84.1594 + if (shape.tagName == 'feGaussianBlur') 
 84.1595 +  {
 84.1596 +    shInfo.left = shape.getAttribute('stdDeviation');
 84.1597 +  } 
 84.1598 +
 84.1599 +  if(shape.tagName == "text"){   
 84.1600 + 
 84.1601 +   shInfo.textFamily = shape.getAttribute('font-family')
 84.1602 +   shInfo.textSize = parseInt(shape.getAttribute('font-size'))
 84.1603 +   shInfo.top = parseFloat(shape.getAttribute('y'))
 84.1604 +   shInfo.left = parseFloat(shape.getAttribute('x'))
 84.1605 +   shInfo.text = shape.textContent 
 84.1606 +   shInfo.lineWidth = parseFloat(shape.getAttribute('stroke-width'))
 84.1607 +
 84.1608 +   //shInfo.text = shape.nodparseFloatue;
 84.1609 +   }
 84.1610 + var rendering=true;     
 84.1611 + if(shape.tagName =='image'){rendering=false;}
 84.1612 + if(shape.tagName =='defs'){rendering=false;}
 84.1613 + if(shape.tagName =='svg'){rendering=false;}
 84.1614 + if(shape.tagName =='stop'){rendering=false;} 
 84.1615 + 
 84.1616 + if(shape.tagName =='filter'){rendering=false;}
 84.1617 + if(shape.tagName =='feGaussianBlur'){rendering=false;}
 84.1618 +
 84.1619 + 
 84.1620 + if(rendering==true)
 84.1621 +  {
 84.1622 +    shInfo.fillColor = shape.getAttribute('fill');
 84.1623 +    if((shape.getAttribute('fill')=='' || shape.getAttribute('fill')==null) && shape.parentNode.getAttribute('id')!='svg'){
 84.1624 +    
 84.1625 +      shInfo.fillColor = shape.parentNode.getAttribute('fill');
 84.1626 +          var mystyle= shape.parentNode.getAttribute('style'); 
 84.1627 +      if(mystyle!= null && mystyle.indexOf('<![CDATA[')>=0)
 84.1628 +       {
 84.1629 +      
 84.1630 +       }
 84.1631 +        else
 84.1632 +       {
 84.1633 +        if(mystyle!= null){
 84.1634 +          //var estilo=shape.getAttribute('style');
 84.1635 +           var data;  
 84.1636 +   
 84.1637 +          var estilo=generateJSON(mystyle);
 84.1638 +          eval("data="+estilo);
 84.1639 +          //var data=eval('"'+estilo+'"'); 
 84.1640 +          //var data=estilo.evalJSON(); 
 84.1641 +    
 84.1642 +          (data["font-size"])?shInfo.textSize=data["font-size"]:shInfo.textSize; 
 84.1643 +          (data["font-family"])?shInfo.textFamily=data["font-family"]:shInfo.textFamily; 
 84.1644 +      
 84.1645 +          (data.fill)?shInfo.fillColor=data.fill:shInfo.fillColor; 
 84.1646 +          (data.stroke)?shInfo.lineColor=data.stroke:shInfo.lineColor;
 84.1647 +          (data.transform)?shInfo.transform=data.transform:shInfo.transform;
 84.1648 +          (data["fill-opacity"])?shInfo.fillOpac=data["fill-opacity"]:shInfo.fillOpac; 
 84.1649 + 
 84.1650 +        }
 84.1651 +       
 84.1652 +       }
 84.1653 +    }
 84.1654 +    shInfo.filter = shape.getAttribute('filter')  
 84.1655 +    shInfo.lineColor = shape.getAttribute('stroke')  
 84.1656 +    shInfo.fillOpac = parseFloat(shape.getAttribute('fill-opacity'))
 84.1657 +    shInfo.lineOpac = parseFloat(shape.getAttribute('stroke-opacity'))
 84.1658 +    shInfo.lineWidth = parseFloat(shape.getAttribute('stroke-width'))
 84.1659 +    
 84.1660 +    var mystyle= shape.getAttribute('style'); 
 84.1661 +    
 84.1662 +    if(mystyle!= null && mystyle.indexOf('<![CDATA[')>=0)
 84.1663 +     {
 84.1664 +      
 84.1665 +     }
 84.1666 +      else
 84.1667 +     {
 84.1668 +      // shInfo.style=shape.getAttribute('style');
 84.1669 +     
 84.1670 +    if(mystyle!= null){
 84.1671 +      //var estilo=shape.getAttribute('style');
 84.1672 +      var data;  
 84.1673 +   
 84.1674 +      var estilo=generateJSON(mystyle);
 84.1675 +      eval("data="+estilo);
 84.1676 +      //var data=eval('"'+estilo+'"'); 
 84.1677 +      //var data=estilo.evalJSON(); 
 84.1678 +    
 84.1679 +      (data["font-size"])?shInfo.textSize=data["font-size"]:shInfo.textSize; 
 84.1680 +      (data["font-family"])?shInfo.textFamily=data["font-family"]:shInfo.textFamily; 
 84.1681 +      
 84.1682 +      (data.fill)?shInfo.fillColor=data.fill:shInfo.fillColor; 
 84.1683 +      (data.stroke)?shInfo.lineColor=data.stroke:shInfo.lineColor;
 84.1684 +      (data.transform)?shInfo.transform=data.transform:shInfo.transform;
 84.1685 +      (data["fill-opacity"])?shInfo.fillOpac=data["fill-opacity"]:shInfo.fillOpac; 
 84.1686 +      //(data.color)?shInfo.lineColor=data.color:shInfo.lineColor;
 84.1687 +      
 84.1688 +       //shInfo.fillColor=data.fill;
 84.1689 +      //document.getElementById("someinfo").value +=data.fill+' ';//estilo ;//data['fill']+' ';//
 84.1690 +    }
 84.1691 +   }
 84.1692 +  }  
 84.1693 + 
 84.1694 + 
 84.1695 + if (shape.tagName == 'rect') 
 84.1696 +   {
 84.1697 +   if(shape.getAttribute('rx') || shape.getAttribute('ry')){
 84.1698 +   shInfo.type = "rect";
 84.1699 +   shInfo.rx = parseFloat(shape.getAttribute('rx'))
 84.1700 +   shInfo.ry = parseFloat(shape.getAttribute('rx'))
 84.1701 +   }
 84.1702 +    shInfo.left = parseFloat(shape.getAttribute( 'x'));
 84.1703 +    shInfo.top = parseFloat(shape.getAttribute( 'y'));
 84.1704 +    shInfo.width = parseFloat(shape.getAttribute('width'));
 84.1705 +    shInfo.height = parseFloat(shape.getAttribute('height'));  
 84.1706 +   }
 84.1707 +  else if (shape.tagName == 'ellipse' || shape.tagName == 'circle') 
 84.1708 +   {     
 84.1709 +    if(shape.tagName == 'circle'){
 84.1710 +      shInfo.width = parseFloat(shape.getAttribute('r'))*2; 
 84.1711 +      shInfo.height = parseFloat(shape.getAttribute('r'))*2; 
 84.1712 +     }else{
 84.1713 +      shInfo.width = parseFloat(shape.getAttribute('rx'))*2;
 84.1714 +      shInfo.height = parseFloat(shape.getAttribute('ry'))*2;   
 84.1715 +     }
 84.1716 +    
 84.1717 +    shInfo.left =    parseFloat(shape.getAttribute('cx')) - (shInfo.width/2);
 84.1718 +    shInfo.top =  parseFloat(shape.getAttribute('cy')) - (shInfo.height/2)  ;
 84.1719 +   }
 84.1720 +   else if(shape.tagName == 'linearGradient') { 
 84.1721 +    shInfo.text =shape.getAttribute('gradientUnits');//"userSpaceOnUse" 
 84.1722 +    shInfo.left = shape.getAttribute('x1');
 84.1723 +    shInfo.top = shape.getAttribute('y1');
 84.1724 +    shInfo.width = shape.getAttribute('x2');
 84.1725 +    shInfo.height = shape.getAttribute('y2');
 84.1726 +    shInfo.href = shape.getAttribute('xlink:href');  
 84.1727 +   } 
 84.1728 +   else if(shape.tagName == 'radialGradient') {  
 84.1729 +    shInfo.text =shape.getAttribute('gradientUnits');//"userSpaceOnUse" 
 84.1730 +    shInfo.left = shape.getAttribute('cx');
 84.1731 +    shInfo.top = shape.getAttribute('cy');
 84.1732 +    shInfo.width = shape.getAttribute('fx');
 84.1733 +    shInfo.height = shape.getAttribute('fy');  
 84.1734 +    shInfo.lineWidth = shape.getAttribute('r');
 84.1735 +    shInfo.href = shape.getAttribute('xlink:href');  
 84.1736 +   }   
 84.1737 +    else if(shape.tagName == 'stop') 
 84.1738 +   {
 84.1739 +    shInfo.fillColor = shape.getAttribute('stop-color');
 84.1740 +    shInfo.fillOpac = shape.getAttribute('stop-opacity');
 84.1741 +    shInfo.lineOpac = shape.getAttribute('offset');
 84.1742 +    var mystyle= shape.getAttribute('style');
 84.1743 +    if(mystyle!= null && mystyle.indexOf('<![CDATA[')>=0)
 84.1744 +     {
 84.1745 +      
 84.1746 +     }
 84.1747 +      else
 84.1748 +     {
 84.1749 +      if(mystyle!= null)
 84.1750 +       {
 84.1751 +        var data;  
 84.1752 +        var estilo=generateJSON(mystyle);
 84.1753 +        eval("data="+estilo);
 84.1754 +        (data["stop-color"])?shInfo.fillColor=data["stop-color"]:shInfo.fillColor;
 84.1755 +        (data["stop-opacity"])?shInfo.fillOpac=data["stop-opacity"]:shInfo.fillOpac;
 84.1756 +        //document.getElementById("someinfo").value +=data["stop-color"]+' '; 
 84.1757 +       } 
 84.1758 +     }
 84.1759 +   }
 84.1760 +  else if (shape.tagName == 'line') 
 84.1761 +   {
 84.1762 +    shInfo.left = parseFloat(shape.getAttribute('x1'));
 84.1763 +    shInfo.top = parseFloat(shape.getAttribute('y1'));
 84.1764 +    shInfo.width = parseFloat(shape.getAttribute('x2')) -shInfo.left;
 84.1765 +    shInfo.height = parseFloat(shape.getAttribute('y2')) -shInfo.top;
 84.1766 +   } 
 84.1767 +  else if (shape.tagName == 'polyline' || shape.tagName == 'polygon') 
 84.1768 +   {
 84.1769 +    shInfo.points = shape.getAttribute('points');
 84.1770 +   } 
 84.1771 + 
 84.1772 +  else if (shape.tagName == 'g') 
 84.1773 +   { 
 84.1774 +    shInfo.type = "group";
 84.1775 +    shInfo.left = parseFloat(shape.getAttribute( 'x'));
 84.1776 +    shInfo.top = parseFloat(shape.getAttribute( 'y'));
 84.1777 +    shInfo.width = parseFloat(shape.getAttribute('width'));
 84.1778 +    shInfo.height = parseFloat(shape.getAttribute('height'));  
 84.1779 +    shInfo.fillColor = shape.getAttribute('fill');
 84.1780 +    if(shape.getAttribute('id')==null || shape.getAttribute('id')=='')
 84.1781 +      {
 84.1782 +       var nid='shape:' + createUUID(); 
 84.1783 +       shape.setAttributeNS(null, 'id',  nid);
 84.1784 +       shInfo.id=shape.getAttribute('id');
 84.1785 +      } 
 84.1786 +     
 84.1787 +   }   
 84.1788 +  else if (shape.tagName == 'path')
 84.1789 +   {
 84.1790 +    shInfo.points = shape.getAttribute('d');     
 84.1791 +    //shInfo.transform = shape.getAttribute('transform'); 
 84.1792 + 
 84.1793 +    //alert(shInfo.transform);
 84.1794 +    //document.forms[0].codebase.value=shape.getAttribute('d'); 
 84.1795 +   
 84.1796 +   } 
 84.1797 +   else if (shape.tagName == 'pattern') 
 84.1798 +   { 
 84.1799 +    
 84.1800 +    shInfo.left = parseFloat(shape.getAttribute( 'x'));
 84.1801 +    shInfo.top = parseFloat(shape.getAttribute( 'y'));
 84.1802 +    shInfo.width = parseFloat(shape.getAttribute('width'));
 84.1803 +    shInfo.height = parseFloat(shape.getAttribute('height'));  
 84.1804 +    shInfo.viewBox = shape.getAttribute('viewBox');
 84.1805 +   
 84.1806 +    if(shape.getAttribute('id')==null || shape.getAttribute('id')=='')
 84.1807 +      {
 84.1808 +       var nid='shape:' + createUUID(); 
 84.1809 +       shape.setAttributeNS(null, 'id',  nid);
 84.1810 +       shInfo.id=shape.getAttribute('id');
 84.1811 +      } 
 84.1812 +
 84.1813 +   }    
 84.1814 +  else if (shape.tagName == 'image')
 84.1815 +   {                                     
 84.1816 +    
 84.1817 +    shInfo.left = parseFloat(shape.getAttribute( 'x'));
 84.1818 +    shInfo.top = parseFloat(shape.getAttribute( 'y'));
 84.1819 +    shInfo.width = parseFloat(shape.getAttribute('width'));
 84.1820 +    shInfo.height = parseFloat(shape.getAttribute('height'));   
 84.1821 +    shInfo.fillOpac = parseFloat(shape.getAttribute('opacity'));   
 84.1822 +    shInfo.href = shape.getAttribute('href');  
 84.1823 +     
 84.1824 +  }                                               
 84.1825 +  else if (shape.tagName == 'use')
 84.1826 +   {                                     
 84.1827 +    
 84.1828 +    shInfo.href = shape.getAttribute('xlink:href');  
 84.1829 +     
 84.1830 +  }             
 84.1831 +  if(shape.parentNode.tagName != 'svg'){
 84.1832 +    //shInfo.width = parseFloat(shape.getAttribute('width'));
 84.1833 +    //shInfo.height = parseFloat(shape.getAttribute('height'));   
 84.1834 +    //shInfo.viewBox = shape.getAttribute('viewBox');   
 84.1835 +    shInfo.parent=shape.parentNode.getAttribute('id');
 84.1836 +
 84.1837 +  }               
 84.1838 +    
 84.1839 +    return shInfo;  
 84.1840 +  }else{
 84.1841 +   //do nothing if its the tracker
 84.1842 +   }
 84.1843 +  
 84.1844 +   	
 84.1845 +   	
 84.1846 +};
 84.1847 + 
 84.1848 +SVGRenderer.prototype.info01 = function(shape)
 84.1849 +{   
 84.1850 + var shInfo = {};
 84.1851 +if(shape.id != "tracker"){
 84.1852 + //shInfo.id = shape.id.substr(6); 
 84.1853 + shInfo.id =shape.getAttribute('id');
 84.1854 + shInfo.type = shape.tagName; 
 84.1855 + 
 84.1856 + if(shape.tagName=='svg')
 84.1857 +  { 
 84.1858 +    shInfo.type ='doc'
 84.1859 +    shInfo.left = parseFloat(shape.getAttribute('x'));
 84.1860 +    shInfo.top = parseFloat(shape.getAttribute('y'));   
 84.1861 +    shInfo.width = parseFloat(shape.getAttribute('width'));
 84.1862 +    shInfo.height = parseFloat(shape.getAttribute('height'));   
 84.1863 +    shInfo.viewBox = shape.getAttribute('viewBox');  
 84.1864 +    shInfo.bgcolor=this.container.style.backgroundColor; 
 84.1865 +  }
 84.1866 +  
 84.1867 + if (shape.hasAttributeNS(null,'transform')) { 
 84.1868 +     shInfo.transform = shape.getAttribute('transform');
 84.1869 +  }else{
 84.1870 +     shInfo.transform ='';
 84.1871 +  }   
 84.1872 + 
 84.1873 +  if(shape.tagName == "text"){   
 84.1874 + 
 84.1875 +   shInfo.textFamily = shape.getAttribute('font-family')
 84.1876 +   shInfo.textSize = parseInt(shape.getAttribute('font-size'))
 84.1877 +   shInfo.top = parseFloat(shape.getAttribute('y'))
 84.1878 +   shInfo.left = parseFloat(shape.getAttribute('x'))
 84.1879 +   shInfo.text = shape.textContent 
 84.1880 +   shInfo.lineWidth = parseFloat(shape.getAttribute('stroke-width'))
 84.1881 +
 84.1882 +   //shInfo.text = shape.nodparseFloatue;
 84.1883 +   }                          
 84.1884 +  var styled=true; 
 84.1885 + if(shape.tagName =='image'){styled=false;}      
 84.1886 + if(shape.tagName =='g'){styled=false;}  
 84.1887 + if(shape.tagName =='stop'){styled=false;}  
 84.1888 + if(shape.tagName =='svg'){styled=false;}  
 84.1889 + if(styled)
 84.1890 +  {
 84.1891 +    shInfo.fillColor = shape.getAttribute('fill')
 84.1892 +    shInfo.lineColor = shape.getAttribute('stroke')  
 84.1893 +    shInfo.fillOpac = parseFloat(shape.getAttribute('fill-opacity'))
 84.1894 +    shInfo.lineOpac = parseFloat(shape.getAttribute('stroke-opacity'))
 84.1895 +    shInfo.lineWidth = parseFloat(shape.getAttribute('stroke-width'))
 84.1896 +    
 84.1897 +    var mystyle= shape.getAttribute('style'); 
 84.1898 +    
 84.1899 +    if(mystyle!= null && mystyle.indexOf('<![CDATA[')>=0)
 84.1900 +     {
 84.1901 +      
 84.1902 +     }
 84.1903 +      else
 84.1904 +     {
 84.1905 +      // shInfo.style=shape.getAttribute('style');
 84.1906 +     
 84.1907 +    if(mystyle!= null){
 84.1908 +      //var estilo=shape.getAttribute('style');
 84.1909 +      var data;  
 84.1910 +   
 84.1911 +      var estilo=generateJSON(mystyle);
 84.1912 +      eval("data="+estilo);
 84.1913 +      //var data=eval('"'+estilo+'"'); 
 84.1914 +      //var data=estilo.evalJSON(); 
 84.1915 +    
 84.1916 +      (data["font-size"])?shInfo.textSize=data["font-size"]:shInfo.textSize; 
 84.1917 +      (data["font-family"])?shInfo.textFamily=data["font-family"]:shInfo.textFamily; 
 84.1918 +      
 84.1919 +      (data.fill)?shInfo.fillColor=data.fill:shInfo.fillColor; 
 84.1920 +      (data.stroke)?shInfo.lineColor=data.stroke:shInfo.lineColor;
 84.1921 +      (data.transform)?shInfo.transform=data.transform:shInfo.transform;
 84.1922 +      (data["fill-opacity"])?shInfo.fillOpac=data["fill-opacity"]:shInfo.fillOpac; 
 84.1923 +       //shInfo.fillColor=data.fill;
 84.1924 +      //document.getElementById("someinfo").value +=data.fill+' ';//estilo ;//data['fill']+' ';//
 84.1925 +    }
 84.1926 +   }
 84.1927 +  }  
 84.1928 + 
 84.1929 + 
 84.1930 + if (shape.tagName == 'rect') 
 84.1931 +   {
 84.1932 +   if(shape.getAttribute('rx') || shape.getAttribute('ry')){
 84.1933 +   shInfo.type = "rect";
 84.1934 +   shInfo.rx = parseFloat(shape.getAttribute('rx'))
 84.1935 +   shInfo.ry = parseFloat(shape.getAttribute('rx'))
 84.1936 +   }
 84.1937 +    shInfo.left = parseFloat(shape.getAttribute( 'x'));
 84.1938 +    shInfo.top = parseFloat(shape.getAttribute( 'y'));
 84.1939 +    shInfo.width = parseFloat(shape.getAttribute('width'));
 84.1940 +    shInfo.height = parseFloat(shape.getAttribute('height'));  
 84.1941 +   }
 84.1942 +  else if (shape.tagName == 'ellipse' || shape.tagName == 'circle') 
 84.1943 +   {     
 84.1944 +    if(shape.tagName == 'circle'){
 84.1945 +      shInfo.width = parseFloat(shape.getAttribute('r'))*2; 
 84.1946 +      shInfo.height = parseFloat(shape.getAttribute('r'))*2; 
 84.1947 +     }else{
 84.1948 +      shInfo.width = parseFloat(shape.getAttribute('rx'))*2;
 84.1949 +      shInfo.height = parseFloat(shape.getAttribute('ry'))*2;   
 84.1950 +     }
 84.1951 +    
 84.1952 +    shInfo.left =    parseFloat(shape.getAttribute('cx')) - (shInfo.width/2);
 84.1953 +    shInfo.top =  parseFloat(shape.getAttribute('cy')) - (shInfo.height/2)  ;
 84.1954 +   }
 84.1955 +   else if(shape.tagName == 'linearGradient') {   
 84.1956 +    shInfo.left = (shape.getAttribute( 'x1'));
 84.1957 +    shInfo.top = parseFloat(shape.getAttribute( 'y1'));
 84.1958 +    shInfo.width = parseFloat(shape.getAttribute('x2'));
 84.1959 +    shInfo.height = parseFloat(shape.getAttribute('y2'));  
 84.1960 +
 84.1961 +   }
 84.1962 +   else if(shape.tagName == 'stop') {
 84.1963 +    shInfo.fillColor = shape.getAttribute('stop-color');
 84.1964 +    shInfo.fillOpac = shape.getAttribute('stop-opacity');
 84.1965 +    shInfo.lineOpac = shape.getAttribute('offset');
 84.1966 +    var mystyle= shape.getAttribute('style');
 84.1967 +    if(mystyle!= null && mystyle.indexOf('<![CDATA[')>=0)
 84.1968 +     {
 84.1969 +      
 84.1970 +     }
 84.1971 +      else
 84.1972 +     {
 84.1973 +    if(mystyle!= null){
 84.1974 +      var data;  
 84.1975 +      var estilo=generateJSON(mystyle);
 84.1976 +      eval("data="+estilo);
 84.1977 +      (data["stop-color"])?shInfo.fillColor=data["stop-color"]:shInfo.fillColor;
 84.1978 +      (data["stop-opacity"])?shInfo.fillOpac=data["stop-opacity"]:shInfo.fillOpac;
 84.1979 +      document.getElementById("someinfo").value +=data["stop-color"]+' '; 
 84.1980 +     } 
 84.1981 +     
 84.1982 +    }
 84.1983 +   }
 84.1984 +  else if (shape.tagName == 'line') 
 84.1985 +   {
 84.1986 +    shInfo.left = parseFloat(shape.getAttribute('x1'));
 84.1987 +    shInfo.top = parseFloat(shape.getAttribute('y1'));
 84.1988 +    shInfo.width = parseFloat(shape.getAttribute('x2')) -shInfo.left;
 84.1989 +    shInfo.height = parseFloat(shape.getAttribute('y2')) -shInfo.top;
 84.1990 +   } 
 84.1991 +  else if (shape.tagName == 'polyline') 
 84.1992 +   {
 84.1993 +    shInfo.points = shape.getAttribute('points');
 84.1994 +   } 
 84.1995 +  else if (shape.tagName == 'g') 
 84.1996 +   { 
 84.1997 +    shInfo.type = "group";
 84.1998 +    shInfo.left = parseFloat(shape.getAttribute( 'x'));
 84.1999 +    shInfo.top = parseFloat(shape.getAttribute( 'y'));
 84.2000 +    shInfo.width = parseFloat(shape.getAttribute('width'));
 84.2001 +    shInfo.height = parseFloat(shape.getAttribute('height'));  
 84.2002 +    shInfo.fillColor = shape.getAttribute('fill')
 84.2003 +
 84.2004 +   }   
 84.2005 +  else if (shape.tagName == 'path')
 84.2006 +   {
 84.2007 +    shInfo.points = shape.getAttribute('d');     
 84.2008 +    //shInfo.transform = shape.getAttribute('transform'); 
 84.2009 + 
 84.2010 +    //alert(shInfo.transform);
 84.2011 +    //document.forms[0].codebase.value=shape.getAttribute('d'); 
 84.2012 +   
 84.2013 +   }
 84.2014 +  else 
 84.2015 +  
 84.2016 + 
 84.2017 +  if (shape.tagName == 'image')
 84.2018 +   {                                     
 84.2019 +    
 84.2020 +    shInfo.left = parseFloat(shape.getAttribute( 'x'));
 84.2021 +    shInfo.top = parseFloat(shape.getAttribute( 'y'));
 84.2022 +    shInfo.width = parseFloat(shape.getAttribute('width'));
 84.2023 +    shInfo.height = parseFloat(shape.getAttribute('height'));   
 84.2024 +    shInfo.fillOpac = parseFloat(shape.getAttribute('opacity'));   
 84.2025 +    shInfo.href = shape.getAttribute('href');  
 84.2026 +     
 84.2027 +  } 
 84.2028 +  if(shape.parentNode.tagName != 'svg'){
 84.2029 +    //shInfo.width = parseFloat(shape.getAttribute('width'));
 84.2030 +    //shInfo.height = parseFloat(shape.getAttribute('height'));   
 84.2031 +    //shInfo.viewBox = parseFloat(shape.getAttribute('viewBox'));   
 84.2032 +    shInfo.parent=shape.parentNode.getAttribute('id');
 84.2033 +
 84.2034 +  }
 84.2035 +    return shInfo;  
 84.2036 +  }else{
 84.2037 +   //do nothing if its the tracker
 84.2038 +   }
 84.2039 +  
 84.2040 +   	
 84.2041 +   	
 84.2042 +};     
 84.2043 +SVGRenderer.prototype.info01 = function(shape)
 84.2044 +{   
 84.2045 +
 84.2046 +var shInfo = {};
 84.2047 +if(shape.id != "tracker"){
 84.2048 +shInfo.id = shape.id.substr(6);
 84.2049 + shInfo.type = shape.tagName;
 84.2050 + if (shape.hasAttributeNS(null,'transform')) { 
 84.2051 +     shInfo.transform = shape.getAttribute('transform');
 84.2052 +  }else{
 84.2053 +     shInfo.transform ='';
 84.2054 +  }   
 84.2055 +     
 84.2056 + 
 84.2057 + //if(shape.tagName !='image')
 84.2058 + // {
 84.2059 +    shInfo.fillColor = shape.getAttribute('fill')
 84.2060 +    shInfo.lineColor = shape.getAttribute('stroke')  
 84.2061 +    shInfo.fillOpac = parseFloat(shape.getAttribute('fill-opacity'))
 84.2062 +    shInfo.lineOpac = parseFloat(shape.getAttribute('stroke-opacity'))
 84.2063 +    shInfo.lineWidth = parseFloat(shape.getAttribute('stroke-width'))
 84.2064 + // }  
 84.2065 + 
 84.2066 + 
 84.2067 + if (shape.tagName == 'rect') 
 84.2068 +   {
 84.2069 +   if(shape.getAttribute('rx') || shape.getAttribute('ry')){
 84.2070 +   shInfo.type = "roundrect";
 84.2071 +   shInfo.rx = parseFloat(shape.getAttribute('rx'))
 84.2072 +   shInfo.ry = parseFloat(shape.getAttribute('rx'))
 84.2073 +   }
 84.2074 +    shInfo.left = parseFloat(shape.getAttribute( 'x'));
 84.2075 +    shInfo.top = parseFloat(shape.getAttribute( 'y'));
 84.2076 +    shInfo.width = parseFloat(shape.getAttribute('width'));
 84.2077 +    shInfo.height = parseFloat(shape.getAttribute('height'));  
 84.2078 +   }
 84.2079 +  else if (shape.tagName == 'ellipse') 
 84.2080 +   {
 84.2081 +    shInfo.width = parseFloat(shape.getAttribute('rx'))*2;
 84.2082 +    shInfo.height = parseFloat(shape.getAttribute('ry'))*2;   
 84.2083 +    shInfo.left =    parseFloat(shape.getAttribute('cx')) - (shInfo.width/2);
 84.2084 +    shInfo.top =  parseFloat(shape.getAttribute('cy')) - (shInfo.height/2)  ;
 84.2085 + 
 84.2086 +   }
 84.2087 +  else if (shape.tagName == 'line') 
 84.2088 +   {
 84.2089 +    shInfo.left = parseFloat(shape.getAttribute('x1'));
 84.2090 +    shInfo.top = parseFloat(shape.getAttribute('y1'));
 84.2091 +    shInfo.width = parseFloat(shape.getAttribute('x2')) -shInfo.left;
 84.2092 +    shInfo.height = parseFloat(shape.getAttribute('y2')) -shInfo.top;
 84.2093 +   } 
 84.2094 +  else if (shape.tagName == 'polyline') 
 84.2095 +   {
 84.2096 +    shInfo.points = shape.getAttribute('points');
 84.2097 +   }
 84.2098 +  else 
 84.2099 +  
 84.2100 +  if (shape.tagName == 'path')
 84.2101 +   {
 84.2102 +    shInfo.d = shape.getAttribute('d');     
 84.2103 +    //shInfo.transform = shape.getAttribute('transform'); 
 84.2104 + 
 84.2105 +    //alert(shInfo.transform);
 84.2106 +    //document.forms[0].codebase.value=shape.getAttribute('d'); 
 84.2107 +   
 84.2108 +   }
 84.2109 +  else 
 84.2110 +  
 84.2111 +  if(shape.tagName == "text"){   
 84.2112 + 
 84.2113 +   shInfo.textFamily = shape.getAttribute('font-family')
 84.2114 +   shInfo.textSize = parseInt(shape.getAttribute('font-size'))
 84.2115 +   shInfo.top = parseFloat(shape.getAttribute('y'))
 84.2116 +   shInfo.left = parseFloat(shape.getAttribute('x'))
 84.2117 +   shInfo.text = shape.textContent 
 84.2118 +   shInfo.lineWidth = parseFloat(shape.getAttribute('stroke-width'))
 84.2119 +
 84.2120 +   //shInfo.text = shape.nodparseFloatue;
 84.2121 +   }
 84.2122 +  else
 84.2123 + 
 84.2124 +  if (shape.tagName == 'image')
 84.2125 +   {                                     
 84.2126 +    
 84.2127 +    shInfo.left = parseFloat(shape.getAttribute( 'x'));
 84.2128 +    shInfo.top = parseFloat(shape.getAttribute( 'y'));
 84.2129 +    shInfo.width = parseFloat(shape.getAttribute('width'));
 84.2130 +    shInfo.height = parseFloat(shape.getAttribute('height'));   
 84.2131 +    shInfo.fillOpac = parseFloat(shape.getAttribute('opacity'));   
 84.2132 +    shInfo.href = shape.getAttribute('href');  
 84.2133 +     
 84.2134 +  }
 84.2135 +  
 84.2136 +    return shInfo;  
 84.2137 +  }else{
 84.2138 +   //do nothing if its the tracker
 84.2139 +   }
 84.2140 +
 84.2141 +   	
 84.2142 +}
 84.2143 +
 84.2144 +
 84.2145 +
 84.2146 +
 84.2147 +
 84.2148 +SVGRenderer.prototype.transformShape = function(shape,data,transform)
 84.2149 +{      
 84.2150 +  var svgNamespace = 'http://www.w3.org/2000/svg'; 
 84.2151 +  var xlinkNS="http://www.w3.org/1999/xlink"; 
 84.2152 +   //
 84.2153 + 
 84.2154 + if(shape.tagName == 'rect')
 84.2155 +  { 
 84.2156 +    var box = shape.getBBox();
 84.2157 +    var sdata=data.split(';'); 
 84.2158 +    
 84.2159 +    //alert(data[0]);     
 84.2160 +    shape.setAttributeNS(null,'x',parseFloat(sdata[0]));
 84.2161 +    shape.setAttributeNS(null,'y',parseFloat(sdata[1]));   
 84.2162 +    shape.setAttributeNS(null, 'width', parseFloat(sdata[2]));     
 84.2163 +    shape.setAttributeNS(null, 'height', parseFloat(sdata[3])); 
 84.2164 +    var centerx=parseFloat(sdata[0])+parseFloat(box.width/2);
 84.2165 +    var centery=parseFloat(sdata[1])+parseFloat(box.height/2);    
 84.2166 +    shape.setAttributeNS(null, 'transform','rotate('+parseFloat(sdata[4])+','+centerx+','+centery+')');
 84.2167 +    
 84.2168 +   //shape.nodparseFloatue=data;
 84.2169 +  }
 84.2170 +   else 
 84.2171 + if(shape.tagName == 'text')
 84.2172 +  {    
 84.2173 +    if(data.indexOf('<;>',0)==-1 )
 84.2174 +     {  
 84.2175 +      shape.textContent = data;  
 84.2176 +     }
 84.2177 +      else
 84.2178 +     {  
 84.2179 +       var sdata=data.split('<;>'); //?????????
 84.2180 +       shape.textContent = sdata[0]; 
 84.2181 +       shape.setAttributeNS(null,'font-size',parseFloat(sdata[1])); 
 84.2182 +        shape.setAttributeNS(null,'font-family',sdata[2]);
 84.2183 +     }
 84.2184 +   //shape.nodparseFloatue=data;
 84.2185 +  }
 84.2186 +   else
 84.2187 + if (shape.tagName == 'polyline') 
 84.2188 +  {
 84.2189 +    shape.setAttributeNS(null,'points',data);
 84.2190 +  }
 84.2191 +   else 
 84.2192 + if (shape.tagName == 'image') 
 84.2193 +  {   
 84.2194 +    //alert(data);  
 84.2195 +    if(data.indexOf(';',0)==-1 )
 84.2196 +     {  
 84.2197 +      shape.setAttributeNS(xlinkNS,'href',data);
 84.2198 +     }
 84.2199 +      else
 84.2200 +     {  
 84.2201 +        var box = shape.getBBox();
 84.2202 +        var sdata=data.split(';');
 84.2203 +        shape.setAttributeNS(null,'x',parseFloat(sdata[0]));
 84.2204 +        shape.setAttributeNS(null,'y',parseFloat(sdata[1]));   
 84.2205 +        shape.setAttributeNS(null, 'width', parseFloat(sdata[2])); 
 84.2206 +        shape.setAttributeNS(null, 'height',parseFloat(sdata[3]));  
 84.2207 +        var centerx=parseFloat(sdata[0])+parseFloat(box.width/2);
 84.2208 +        var centery=parseFloat(sdata[1])+parseFloat(box.height/2);    
 84.2209 +        shape.setAttributeNS(null, 'transform',' rotate('+parseFloat(sdata[4])+','+centerx+','+centery+')');
 84.2210 +
 84.2211 +
 84.2212 +     } 
 84.2213 +      
 84.2214 +  }
 84.2215 +   else 
 84.2216 + if (shape.tagName == 'path')
 84.2217 +  {     
 84.2218 +    if(data.indexOf(';',0)==-1 )
 84.2219 +     {  
 84.2220 +    	shape.setAttributeNS(null, 'd', data);  
 84.2221 +    	shape.setAttributeNS(null, 'transform', transform);  
 84.2222 +     }
 84.2223 +      else
 84.2224 +     {  
 84.2225 +        var box = shape.getBBox();
 84.2226 +        var sdata=data.split(';');
 84.2227 +        var centerx=parseFloat(sdata[0])+parseFloat(box.width/2);
 84.2228 +        var centery=parseFloat(sdata[1])+parseFloat(box.height/2);    
 84.2229 +        shape.setAttributeNS(null, 'transform','scale('+parseFloat(sdata[2])+','+parseFloat(sdata[3])+')'+' rotate('+parseFloat(sdata[4])+','+centerx+','+centery+')'+' translate('+parseFloat(sdata[0])+','+parseFloat(sdata[1])+')');
 84.2230 +
 84.2231 +
 84.2232 +     } 
 84.2233 +  }  
 84.2234 +   	                             
 84.2235 +	                             
 84.2236 +}
 84.2237 +SVGRenderer.prototype.editShape = function(shape,data)
 84.2238 +{   
 84.2239 + if(shape.tagName == 'text'){
 84.2240 +   shape.textContent = data
 84.2241 + }else
 84.2242 +   if (shape.tagName == 'polyline') 
 84.2243 +   {
 84.2244 +    shape.setAttributeNS(null,'points',data);
 84.2245 +   }
 84.2246 +  else 
 84.2247 +  
 84.2248 +  if (shape.tagName == 'path')
 84.2249 +   {
 84.2250 +    	shape.setAttributeNS(null, 'd', data);  
 84.2251 +    	
 84.2252 +   }  
 84.2253 +	
 84.2254 +}
 84.2255 +SVGRenderer.prototype.editCommand = function(shape, cmd, value)
 84.2256 +{
 84.2257 +  if (shape != null) {
 84.2258 +    if (cmd == 'fillcolor') {
 84.2259 +      if (value != '')
 84.2260 +        shape.setAttributeNS(null, 'fill', value);
 84.2261 +      else
 84.2262 +        shape.setAttributeNS(null, 'fill', 'none');
 84.2263 +    }
 84.2264 +    else if (cmd == 'linecolor') {
 84.2265 +      if (value != '')
 84.2266 +        shape.setAttributeNS(null, 'stroke', value);
 84.2267 +      else
 84.2268 +        shape.setAttributeNS(null, 'stroke', 'none');
 84.2269 +    }
 84.2270 +    else if (cmd == 'linewidth') {
 84.2271 +      shape.setAttributeNS(null, 'stroke-width', parseInt(value) + 'px');
 84.2272 +    } 
 84.2273 +    else if (cmd == 'fillopacity') {
 84.2274 +           if(shape.tagName=='image')
 84.2275 +            {
 84.2276 +             shape.setAttributeNS(null, 'opacity', parseFloat(value));
 84.2277 +            }
 84.2278 +             else
 84.2279 +            {
 84.2280 +                shape.setAttributeNS(null, 'fill-opacity', parseFloat(value));
 84.2281 +            }    
 84.2282 +      
 84.2283 +    }
 84.2284 +    else if (cmd == 'lineopacity') {         
 84.2285 +      
 84.2286 +      shape.setAttributeNS(null, 'stroke-opacity', parseFloat(value));
 84.2287 +      
 84.2288 +    }
 84.2289 +
 84.2290 +  }
 84.2291 +}
 84.2292 +
 84.2293 +
 84.2294 +SVGRenderer.prototype.queryCommand = function(shape, cmd)
 84.2295 +{
 84.2296 +  var result = '';
 84.2297 +  
 84.2298 +  if (shape != null) {
 84.2299 +    if (cmd == 'fillcolor') {
 84.2300 +      result = shape.getAttributeNS(null, 'fill');
 84.2301 +      if (result == 'none')
 84.2302 +        result = '';
 84.2303 +    }
 84.2304 +    else if (cmd == 'linecolor') {
 84.2305 +      result = shape.getAttributeNS(null, 'stroke');
 84.2306 +      if (result == 'none')
 84.2307 +        result = '';
 84.2308 +    }
 84.2309 +    else if (cmd == 'linewidth') {
 84.2310 +      result = shape.getAttributeNS(null, 'stroke');
 84.2311 +      if (result == 'none')
 84.2312 +        result = '';
 84.2313 +      else
 84.2314 +        result = shape.getAttributeNS(null, 'stroke-width');
 84.2315 +    }
 84.2316 +    else if (cmd == 'fillopacity') {
 84.2317 +           if(shape.tagName=='image')
 84.2318 +            {
 84.2319 +             shape.setAttributeNS(null, 'opacity', parseFloat(value));
 84.2320 +            }
 84.2321 +             else
 84.2322 +            {
 84.2323 +                shape.setAttributeNS(null, 'fill-opacity', parseFloat(value));
 84.2324 +            }    
 84.2325 +      
 84.2326 +    }
 84.2327 +    else if (cmd == 'lineopacity') {         
 84.2328 +      
 84.2329 +      shape.setAttributeNS(null, 'stroke-opacity', parseFloat(value));
 84.2330 +      
 84.2331 +    }
 84.2332 +
 84.2333 +  }
 84.2334 +  
 84.2335 +  return result;
 84.2336 +}
 84.2337 +
 84.2338 +SVGRenderer.prototype.getProperties = function(shape)
 84.2339 +{
 84.2340 +  var result = '';
 84.2341 +  
 84.2342 +  if (shape != null) 
 84.2343 +   {
 84.2344 +      result = shape.getAttributeNS(null, 'fill');
 84.2345 +      if (result == 'none')
 84.2346 +       {
 84.2347 +         mefillColor.visible = 'hidden';
 84.2348 +         mefillColor.hex = '#000000'; 
 84.2349 +         filldraw=true;
 84.2350 +         setbe(1,'img_okfill');
 84.2351 +       }
 84.2352 +        else
 84.2353 +       {   
 84.2354 +         //alert(mefillColor.hex+' '+result);
 84.2355 +         mefillColor.visible = 'visible';
 84.2356 +         mefillColor.hex = result; 
 84.2357 +         var rgb=hex2rgb(result)
 84.2358 +         mefillColor.r=rgb[0];
 84.2359 +         mefillColor.g=rgb[1];
 84.2360 +         mefillColor.b=rgb[2];
 84.2361 +         filldraw=false;
 84.2362 +         setbe(1,'img_okfill');
 84.2363 +
 84.2364 +       }
 84.2365 +
 84.2366 +      result = shape.getAttributeNS(null, 'stroke');
 84.2367 +      if (result == 'none')
 84.2368 +       {    
 84.2369 +         mestrokeColor.visible = 'hidden'; 
 84.2370 +         mestrokeColor.hex = '#000000';
 84.2371 +         mestrokeColor.width = 0;
 84.2372 +         strokedraw=true;
 84.2373 +         setbe(2,'img_okstroke');
 84.2374 +
 84.2375 +       }
 84.2376 +        else
 84.2377 +       { 
 84.2378 +         mestrokeColor.visible = 'visible'; 
 84.2379 +         mestrokeColor.hex = result; 
 84.2380 +         var rgb=hex2rgb(result)
 84.2381 +         mestrokeColor.r=rgb[0];
 84.2382 +         mestrokeColor.g=rgb[1];
 84.2383 +         mestrokeColor.b=rgb[2];
 84.2384 +         strokedraw=false;
 84.2385 +         setbe(2,'img_okstroke');
 84.2386 +
 84.2387 +       }
 84.2388 +
 84.2389 +      result = shape.getAttributeNS(null, 'stroke-width');
 84.2390 +      mestrokeColor.width = result;
 84.2391 + 
 84.2392 +      result = shape.getAttributeNS(null, 'fill-opacity'); 
 84.2393 +      mefillColor.opacity = result;
 84.2394 +
 84.2395 +      result = shape.getAttributeNS(null, 'stroke-opacity');
 84.2396 +      mestrokeColor.opacity = result;
 84.2397 +      
 84.2398 +      setProperties();
 84.2399 +   }
 84.2400 +}
 84.2401 +
 84.2402 +
 84.2403 +SVGRenderer.prototype.showMultiSelect = function(iniX,iniY) { 
 84.2404 +  var tracker = document.getElementById('trackerMultiSelect');
 84.2405 +  if (tracker) {
 84.2406 +    this.remove(tracker);
 84.2407 +  }
 84.2408 +  
 84.2409 +  var coord=this.editor.viewInputxy;
 84.2410 +	toX=parseFloat(coord[0]);
 84.2411 +	toY=parseFloat(coord[1]); 
 84.2412 +	
 84.2413 +    tracker = document.createElementNS(svgNamespace, 'rect'); 
 84.2414 +      
 84.2415 +    tracker.setAttributeNS(null, 'x', iniX);
 84.2416 +    tracker.setAttributeNS(null, 'y', iniY);    
 84.2417 +  tracker.setAttributeNS(null, 'width', toX);
 84.2418 +  tracker.setAttributeNS(null, 'height', toY);
 84.2419 +  tracker.setAttributeNS(null, 'fill', '#ffffff');
 84.2420 +  tracker.setAttributeNS(null, 'stroke', 'green');
 84.2421 +  tracker.setAttributeNS(null, 'stroke-width', widthLine);  
 84.2422 +  
 84.2423 +   this.svgRoot.appendChild(tracker);     
 84.2424 +}
 84.2425 +
 84.2426 +
 84.2427 +function mouseCoord()
 84.2428 +{                                           
 84.2429 +   var coord=this.editor.viewInputxy;
 84.2430 +   coord[0]=parseFloat(coord[0]);
 84.2431 +   coord[1]=parseFloat(coord[1]); 
 84.2432 +   return coord
 84.2433 +} 
 84.2434 +/*
 84.2435 +function nodeHit(node)
 84.2436 +{                                           
 84.2437 +   node.addEventListener("mousemove", function(event) {nodeMove(node)}, false);            
 84.2438 +  
 84.2439 +}
 84.2440 +
 84.2441 +function nodeUp(node)
 84.2442 +{                                           
 84.2443 +   //node.stopObserving("mousemove");
 84.2444 +}                                                                             
 84.2445 +
 84.2446 +function nodeMove(node)
 84.2447 +{                                           
 84.2448 +   var mypath=$('control_codebase').value; 
 84.2449 +   var  x= $('option_path_x').value;
 84.2450 +   var y= $('option_path_y').value; 
 84.2451 +   var precoord=x+','+y; 
 84.2452 +    var coord=mouseCoord(); 
 84.2453 +   node.setAttributeNS(null, 'x', coord[0]-2); 
 84.2454 +   node.setAttributeNS(null, 'y', coord[1]-2); 
 84.2455 +
 84.2456 +   $('option_path_x').value=parseFloat(node.getAttributeNS(null,'x'))+2; 
 84.2457 +   $('option_path_y').value=parseFloat(node.getAttributeNS(null,'y'))+2; 
 84.2458 +   
 84.2459 +    var  cadx= $('option_path_x').value;
 84.2460 +    var cady= $('option_path_y').value; 
 84.2461 +    var coord=cadx+','+cady;
 84.2462 +          var cad1=new RegExp(precoord,"g");
 84.2463 +      
 84.2464 +      
 84.2465 +      var result=mypath.replace(cad1, coord);
 84.2466 +      
 84.2467 +     
 84.2468 +      $('control_codebase').value=result; 
 84.2469 +      
 84.2470 +      $('someinfo').value=precoord;
 84.2471 +      setShape();
 84.2472 +
 84.2473 +    
 84.2474 +    
 84.2475 +} 
 84.2476 +*/ 
 84.2477 +                                                                             
 84.2478 +var memoNode=null; 
 84.2479 +var memoPrevControl=new Array();
 84.2480 +var memoNextControl=new Array();
 84.2481 +
 84.2482 +SVGRenderer.prototype.nodeMove = function(newx,newy) { 
 84.2483 +    var mypath=$('control_codebase').value; 
 84.2484 +   var  x= $('option_path_x').value;
 84.2485 +   var y= $('option_path_y').value; 
 84.2486 +   var precoord=x+','+y; 
 84.2487 +   
 84.2488 +   $('option_path_x').value=newx; 
 84.2489 +   $('option_path_y').value=newy; 
 84.2490 +    
 84.2491 +      var  cadx= newx;
 84.2492 +      var cady= newy; 
 84.2493 +  
 84.2494 +      var coord=cadx+','+cady;
 84.2495 +          var cad1=new RegExp(precoord,"g");
 84.2496 +      
 84.2497 +      
 84.2498 +      var result=mypath.replace(cad1, coord);
 84.2499 +      
 84.2500 +     
 84.2501 +      $('control_codebase').value=result; 
 84.2502 +      
 84.2503 +      $('someinfo').value=precoord;
 84.2504 +      setShape();
 84.2505 +
 84.2506 +}
 84.2507 +
 84.2508 +function drawNodeControl(svg,numId){
 84.2509 +
 84.2510 +      var svgNamespace = 'http://www.w3.org/2000/svg';
 84.2511 +      var color1='#0066ff';          
 84.2512 +           // if(parseInt(memoNode.id)==a){   
 84.2513 +                   
 84.2514 +                   var pointprev=memoPrevControl[numId].split(',');
 84.2515 +            
 84.2516 +                  var controlNode1 = document.createElementNS(svgNamespace, 'rect'); 
 84.2517 +                  controlNode1.setAttributeNS(null, 'x', pointprev[0]-widthLine*2);
 84.2518 +                  controlNode1.setAttributeNS(null, 'y', pointprev[1]-widthLine*2);
 84.2519 +          
 84.2520 +                  controlNode1.setAttributeNS(null, 'width', widthLine*4);
 84.2521 +                  controlNode1.setAttributeNS(null, 'height', widthLine*4);
 84.2522 +                  controlNode1.setAttributeNS(null, 'fill', color1);
 84.2523 +                  controlNode1.setAttributeNS(null, 'stroke', '#000000');
 84.2524 +                  controlNode1.setAttributeNS(null, 'stroke-width', '0'); 
 84.2525 +                  controlNode1.setAttributeNS(null, 'id', 'controlNode1'); 
 84.2526 +                  controlNode1.addEventListener("mousedown", function(event) {if(memoNode != null){memoNode.setAttributeNS(null, 'stroke-width', 0 );} memoNode=this; this.setAttributeNS(null, 'fill-color', '#ffff00' );this.setAttributeNS(null, 'stroke-width', 1 );$('option_path_num').value=this.getAttributeNS(null,'id'); $('option_path_x').value=parseFloat(this.getAttributeNS(null,'x'))+2; $('option_path_y').value=parseFloat(this.getAttributeNS(null,'y'))+2;  }, false);
 84.2527 +                  svg.appendChild(controlNode1);  
 84.2528 +                  
 84.2529 +                   var pointnext=memoNextControl[numId].split(',');
 84.2530 +                  
 84.2531 +               
 84.2532 +                  var controlNode2 = document.createElementNS(svgNamespace, 'rect'); 
 84.2533 +                  controlNode2.setAttributeNS(null, 'x', pointnext[0]-widthLine*2);
 84.2534 +                  controlNode2.setAttributeNS(null, 'y', pointnext[1]-widthLine*2);
 84.2535 +          
 84.2536 +                  controlNode2.setAttributeNS(null, 'width', widthLine*4);
 84.2537 +                  controlNode2.setAttributeNS(null, 'height', widthLine*4);
 84.2538 +                  controlNode2.setAttributeNS(null, 'fill', color1);
 84.2539 +                  controlNode2.setAttributeNS(null, 'stroke', '#000000');
 84.2540 +                  controlNode2.setAttributeNS(null, 'stroke-width', '0'); 
 84.2541 +                  controlNode2.setAttributeNS(null, 'id', 'controlNode1'); 
 84.2542 +                  controlNode2.addEventListener("mousedown", function(event) {if(memoNode != null){memoNode.setAttributeNS(null, 'stroke-width', 0 );} memoNode=this; this.setAttributeNS(null, 'fill-color', '#ffff00' );this.setAttributeNS(null, 'stroke-width', 1 );$('option_path_num').value=this.getAttributeNS(null,'id'); $('option_path_x').value=parseFloat(this.getAttributeNS(null,'x'))+2; $('option_path_y').value=parseFloat(this.getAttributeNS(null,'y'))+2;  }, false);
 84.2543 +                  svg.appendChild(controlNode2);  
 84.2544 +
 84.2545 +            //}
 84.2546 +
 84.2547 +
 84.2548 +}  
 84.2549 +                                                                   
 84.2550 +SVGRenderer.prototype.showNodesCurve = function(path,controlNodeNum){ 
 84.2551 +     memoNextControl=new Array();
 84.2552 +     memoPrevControl=new Array(); 
 84.2553 +      var widthLine=this.editor.unit;
 84.2554 +     var svgNamespace = 'http://www.w3.org/2000/svg';
 84.2555 +    // tracker = document.createElementNS(svgNamespace, 'g');   
 84.2556 +     var svg = this.container.ownerDocument.createElementNS(svgNamespace, 'g'); 
 84.2557 +      svg.setAttributeNS(null, 'id', 'editNodesPath'); 
 84.2558 +
 84.2559 +     /* var group = document.getElementById('editNodesPath');
 84.2560 +      if (group) 
 84.2561 +       {
 84.2562 +           this.remove(group);
 84.2563 +       }
 84.2564 +       */
 84.2565 +
 84.2566 +  var points=path.split(' ');
 84.2567 +     var chain='';
 84.2568 +     var segment=' ';  
 84.2569 +     prevControl=' ';
 84.2570 +     nextControl=' ';
 84.2571 +     nodePoint=' ';
 84.2572 +      var init=points[0].split('M'); 
 84.2573 +      var allcoords=init[1].split(' ');
 84.2574 +      var point=allcoords[0].split(',');
 84.2575 +          var rect1 = document.createElementNS(svgNamespace, 'rect');  
 84.2576 +        rect1.setAttributeNS(null, 'x', point[0]-widthLine*2);
 84.2577 +        rect1.setAttributeNS(null, 'y', point[1]-widthLine*2);
 84.2578 +          
 84.2579 +        rect1.setAttributeNS(null, 'width', widthLine*4);
 84.2580 +        rect1.setAttributeNS(null, 'height', widthLine*4);
 84.2581 +        rect1.setAttributeNS(null, 'fill', '#ff7700');
 84.2582 +        rect1.setAttributeNS(null, 'stroke', '#000000');
 84.2583 +        rect1.setAttributeNS(null, 'stroke-width', '0');  
 84.2584 +        rect1.setAttributeNS(null, 'id', '0'); 
 84.2585 +        //rect1.addEventListener("mouseover", function(event) {this.setAttributeNS(null, 'stroke-width', 1 ); }, false);
 84.2586 +      rect1.addEventListener("mousedown", function(event) {if(memoNode != null){memoNode.setAttributeNS(null, 'stroke-width', 0 );} memoNode=this; this.setAttributeNS(null, 'fill-color', '#ffff00' );this.setAttributeNS(null, 'stroke-width', 1 );$('option_path_num').value=this.getAttributeNS(null,'id'); $('option_path_x').value=parseFloat(this.getAttributeNS(null,'x'))+2; $('option_path_y').value=parseFloat(this.getAttributeNS(null,'y'))+2;  }, false);
 84.2587 +
 84.2588 +        //rect1.addEventListener("mouseout", function(event) {this.setAttributeNS(null, 'stroke-width', 0 );}, false);
 84.2589 +
 84.2590 +        svg.appendChild(rect1);                                    
 84.2591 +      
 84.2592 +          if(controlNodeNum==0){ var color='#ffff00';}  
 84.2593 +         if(controlNodeNum==1){var color='#00ffff';}  
 84.2594 +         if(controlNodeNum==2){var color='#00cc00';}  
 84.2595 +         var color1='#ffff00';
 84.2596 +      
 84.2597 +     var numpoints=points.length-1;  
 84.2598 +     var recalls='';
 84.2599 +     var re = /^[-]?\d*\.?\d*$/;
 84.2600 +     for(var a=1;a<=numpoints;a++)
 84.2601 +      { 
 84.2602 +        
 84.2603 +        var ini=points[a].substring(0,1);
 84.2604 +        if (!ini.match(re))        
 84.2605 +        {                          
 84.2606 +          var end=points[a].substring(1); 
 84.2607 +          color='#0000ff';
 84.2608 +          if(ini=='L' || ini=='M')
 84.2609 +           {
 84.2610 +             color='#ffff00';
 84.2611 +           }
 84.2612 +          
 84.2613 +          if(ini=='C')
 84.2614 +          { 
 84.2615 +             recall=a+2;
 84.2616 +             //color='#ffff00';
 84.2617 +          }
 84.2618 +
 84.2619 +        }else
 84.2620 +        { 
 84.2621 +          var end=points[a];
 84.2622 +          var ini='';  
 84.2623 +          color='#ff00ff'; 
 84.2624 +          if(a==recall)
 84.2625 +          { 
 84.2626 +             color='#ffff00';
 84.2627 +          }
 84.2628 +        } 
 84.2629 +        
 84.2630 +            
 84.2631 +        //segment=points[a].split(',');
 84.2632 +         prevControl=segment[0]+' '; 
 84.2633 +         nextControl=segment[1]+' '; 
 84.2634 +         nodePoint=segment[2]+' ';     
 84.2635 +         memoPrevControl[a]=prevControl;
 84.2636 +         memoNextControl[a]=nextControl;
 84.2637 +         if(controlNodeNum==0){chain+=prevControl; var point=prevControl.split(',');}  
 84.2638 +         if(controlNodeNum==1){chain+=nextControl; var point=nextControl.split(',');}  
 84.2639 +         if(controlNodeNum==2){chain+=nodePoint; var point=nodePoint.split(',');}  
 84.2640 +         if(controlNodeNum==3){chain+=nodePoint; var point=nodePoint.split(',');}
 84.2641 +           
 84.2642 +            
 84.2643 +               //if (isNaN(valnum))         
 84.2644 +
 84.2645 +         //if(ini=='C'){color='#ff00ff';}
 84.2646 +         
 84.2647 +         var point=end.split(',');
 84.2648 +         if(memoNode!=null){
 84.2649 +         }
 84.2650 +          var rect1 = document.createElementNS(svgNamespace, 'rect');  
 84.2651 +        rect1.setAttributeNS(null, 'x', point[0]-widthLine*2);
 84.2652 +        rect1.setAttributeNS(null, 'y', point[1]-widthLine*2);
 84.2653 +          
 84.2654 +        rect1.setAttributeNS(null, 'width', widthLine*4);
 84.2655 +        rect1.setAttributeNS(null, 'height', widthLine*4);
 84.2656 +        rect1.setAttributeNS(null, 'fill', color);
 84.2657 +        rect1.setAttributeNS(null, 'stroke', '#000000');
 84.2658 +        rect1.setAttributeNS(null, 'stroke-width', '0'); 
 84.2659 +        rect1.setAttributeNS(null, 'id', ''+a); 
 84.2660 +        rect1.addEventListener("mousedown", function(event) {if(memoNode != null){memoNode.setAttributeNS(null, 'stroke-width', 0 );}drawNodeControl(svg,this.getAttributeNS(null,'id')); memoNode=this; this.setAttributeNS(null, 'fill-color', '#ffff00' );this.setAttributeNS(null, 'stroke-width', 1 );$('option_path_num').value=this.getAttributeNS(null,'id'); $('option_path_x').value=parseFloat(this.getAttributeNS(null,'x'))+2; $('option_path_y').value=parseFloat(this.getAttributeNS(null,'y'))+2;  }, false);
 84.2661 +
 84.2662 +        //rect1.addEventListener("mouseover", function(event) {this.setAttributeNS(null, 'stroke-width', 1 );$('option_path_num').value=this.getAttributeNS(null,'id'); $('option_path_x').value=parseFloat(this.getAttributeNS(null,'x'))+2; $('option_path_y').value=parseFloat(this.getAttributeNS(null,'y'))+2; }, false);
 84.2663 +        // rect1.addEventListener("mousedown", function(event) {nodeHit(this);if(memoNode != null){memoNode.setAttributeNS(null, 'stroke-width', 0 );} memoNode=this; this.setAttributeNS(null, 'fill-color', '#ffff00' );this.setAttributeNS(null, 'stroke-width', 1 );$('option_path_num').value=this.getAttributeNS(null,'id'); $('option_path_x').value=parseFloat(this.getAttributeNS(null,'x'))+2; $('option_path_y').value=parseFloat(this.getAttributeNS(null,'y'))+2; document.forms[0].option_path_x.focus(); }, false);
 84.2664 +         //rect1.addEventListener("mousedown", function(event) { if(memoNode != null){memoNode.setAttributeNS(null, 'stroke-width', 0 );} nodeHit(this); memoNode=this;this.setAttributeNS(null, 'stroke-width', 1 );$('option_path_num').value=this.getAttributeNS(null,'id'); $('option_path_x').value=parseFloat(this.getAttributeNS(null,'x'))+2; $('option_path_y').value=parseFloat(this.getAttributeNS(null,'y'))+2; }, false);
 84.2665 +         //rect1.addEventListener("mousedown", function(event) {if(memoNode != null){memoNode.setAttributeNS(null, 'stroke-width', 0 );} addControlPoints(segment[0],segment[1],svg); memoNode=this; this.setAttributeNS(null, 'fillColor', '#ffff00' );this.setAttributeNS(null, 'stroke-width', 1 );$('option_path_num').value=this.getAttributeNS(null,'id'); $('option_path_x').value=parseFloat(this.getAttributeNS(null,'x'))+2; $('option_path_y').value=parseFloat(this.getAttributeNS(null,'y'))+2; }, false);
 84.2666 +         //rect1.addEventListener("mouseup", function(event) {nodeUp(this); }, false);
 84.2667 +         //rect1.addEventListener("mouseover", function(event) {this.setAttributeNS(null, 'fillColor', '#ffcc00' ); }, false);
 84.2668 +         //rect1.addEventListener("mouseout", function(event) {this.setAttributeNS(null, 'fillColor', '#00cc00' ); }, false);
 84.2669 +         
 84.2670 +
 84.2671 +         //rect1.addEventListener("mouseout", function(event) {this.setAttributeNS(null, 'stroke-width', 0 ); }, false);
 84.2672 +
 84.2673 +        svg.appendChild(rect1);                                    
 84.2674 +         
 84.2675 +      }                     
 84.2676 +      var info='';
 84.2677 +       
 84.2678 +         if(controlNodeNum==0){info='prev Control'}  
 84.2679 +         if(controlNodeNum==1){info='next Control'}  
 84.2680 +         if(controlNodeNum==2){info='points node'}   
 84.2681 +        // $('someinfo').value=numpoints+ ' '+info+':'+ chain;
 84.2682 +        $('someinfo').value='Crtl+Arrow to move';
 84.2683 +    //return chain;                                          
 84.2684 +    
 84.2685 +
 84.2686 +      //this.svgRoot.appendChild(svg);   
 84.2687 +    
 84.2688 +    return svg;  
 84.2689 +        
 84.2690 +};
 84.2691 +
 84.2692 +SVGRenderer.prototype.showNodesCurve1 = function(path,controlNodeNum){ 
 84.2693 +     memoNextControl=new Array();
 84.2694 +     memoPrevControl=new Array();
 84.2695 +     var svgNamespace = 'http://www.w3.org/2000/svg';
 84.2696 +    // tracker = document.createElementNS(svgNamespace, 'g');   
 84.2697 +     var svg = this.container.ownerDocument.createElementNS(svgNamespace, 'g'); 
 84.2698 +      svg.setAttributeNS(null, 'id', 'editNodesPath'); 
 84.2699 +
 84.2700 +     /* var group = document.getElementById('editNodesPath');
 84.2701 +      if (group) 
 84.2702 +       {
 84.2703 +           this.remove(group);
 84.2704 +       }
 84.2705 +       */
 84.2706 +
 84.2707 +  var points=path.split('C');
 84.2708 +     var chain='';
 84.2709 +     var segment=' ';  
 84.2710 +     prevControl=' ';
 84.2711 +     nextControl=' ';
 84.2712 +     nodePoint=' ';
 84.2713 +      var init=points[0].split('M'); 
 84.2714 +      var allcoords=init[1].split(' ');
 84.2715 +      var point=allcoords[0].split(',');
 84.2716 +          var rect1 = document.createElementNS(svgNamespace, 'rect');  
 84.2717 +        rect1.setAttributeNS(null, 'x', point[0]-2);
 84.2718 +        rect1.setAttributeNS(null, 'y', point[1]-2);
 84.2719 +          
 84.2720 +        rect1.setAttributeNS(null, 'width', 4);
 84.2721 +        rect1.setAttributeNS(null, 'height', 4);
 84.2722 +        rect1.setAttributeNS(null, 'fill', '#ff7700');
 84.2723 +        rect1.setAttributeNS(null, 'stroke', '#000000');
 84.2724 +        rect1.setAttributeNS(null, 'stroke-width', '0');  
 84.2725 +        rect1.setAttributeNS(null, 'id', '0'); 
 84.2726 +        //rect1.addEventListener("mouseover", function(event) {this.setAttributeNS(null, 'stroke-width', 1 ); }, false);
 84.2727 +        rect1.addEventListener("mousedown", function(event) {if(memoNode != null){memoNode.setAttributeNS(null, 'stroke-width', 0 );} memoNode=this; this.setAttributeNS(null, 'fill-color', '#ffff00' );this.setAttributeNS(null, 'stroke-width', 1 );$('option_path_num').value=this.getAttributeNS(null,'id'); $('option_path_x').value=parseFloat(this.getAttributeNS(null,'x'))+2; $('option_path_y').value=parseFloat(this.getAttributeNS(null,'y'))+2;  }, false);
 84.2728 +
 84.2729 +        //rect1.addEventListener("mouseout", function(event) {this.setAttributeNS(null, 'stroke-width', 0 );}, false);
 84.2730 +
 84.2731 +        svg.appendChild(rect1);                                    
 84.2732 +      
 84.2733 +          if(controlNodeNum==0){ var color='#ffff00';}  
 84.2734 +         if(controlNodeNum==1){var color='#00ffff';}  
 84.2735 +         if(controlNodeNum==2){var color='#00cc00';}  
 84.2736 +         var color1='#ffff00';
 84.2737 +      
 84.2738 +     var numpoints=points.length-1;
 84.2739 +     for(var a=1;a<=numpoints;a++)
 84.2740 +      { 
 84.2741 +        
 84.2742 +        
 84.2743 +            
 84.2744 +        segment=points[a].split(' ');
 84.2745 +         prevControl=segment[0]+' '; 
 84.2746 +         nextControl=segment[1]+' '; 
 84.2747 +         nodePoint=segment[2]+' ';     
 84.2748 +         memoPrevControl[a]=prevControl;
 84.2749 +         memoNextControl[a]=nextControl;
 84.2750 +         if(controlNodeNum==0){chain+=prevControl; var point=prevControl.split(',');}  
 84.2751 +         if(controlNodeNum==1){chain+=nextControl; var point=nextControl.split(',');}  
 84.2752 +         if(controlNodeNum==2){chain+=nodePoint; var point=nodePoint.split(',');}  
 84.2753 +         if(controlNodeNum==3){chain+=nodePoint; var point=nodePoint.split(',');}  
 84.2754 +      
 84.2755 +         if(memoNode!=null){
 84.2756 +         }
 84.2757 +          var rect1 = document.createElementNS(svgNamespace, 'rect');  
 84.2758 +        rect1.setAttributeNS(null, 'x', point[0]-2);
 84.2759 +        rect1.setAttributeNS(null, 'y', point[1]-2);
 84.2760 +          
 84.2761 +        rect1.setAttributeNS(null, 'width', 4);
 84.2762 +        rect1.setAttributeNS(null, 'height', 4);
 84.2763 +        rect1.setAttributeNS(null, 'fill', color);
 84.2764 +        rect1.setAttributeNS(null, 'stroke', '#000000');
 84.2765 +        rect1.setAttributeNS(null, 'stroke-width', '0'); 
 84.2766 +        rect1.setAttributeNS(null, 'id', ''+a); 
 84.2767 +        rect1.addEventListener("mousedown", function(event) {if(memoNode != null){memoNode.setAttributeNS(null, 'stroke-width', 0 );}drawNodeControl(svg,this.getAttributeNS(null,'id')); memoNode=this; this.setAttributeNS(null, 'fill-color', '#ffff00' );this.setAttributeNS(null, 'stroke-width', 1 );$('option_path_num').value=this.getAttributeNS(null,'id'); $('option_path_x').value=parseFloat(this.getAttributeNS(null,'x'))+2; $('option_path_y').value=parseFloat(this.getAttributeNS(null,'y'))+2;  }, false);
 84.2768 +
 84.2769 +        //rect1.addEventListener("mouseover", function(event) {this.setAttributeNS(null, 'stroke-width', 1 );$('option_path_num').value=this.getAttributeNS(null,'id'); $('option_path_x').value=parseFloat(this.getAttributeNS(null,'x'))+2; $('option_path_y').value=parseFloat(this.getAttributeNS(null,'y'))+2; }, false);
 84.2770 +        // rect1.addEventListener("mousedown", function(event) {nodeHit(this);if(memoNode != null){memoNode.setAttributeNS(null, 'stroke-width', 0 );} memoNode=this; this.setAttributeNS(null, 'fill-color', '#ffff00' );this.setAttributeNS(null, 'stroke-width', 1 );$('option_path_num').value=this.getAttributeNS(null,'id'); $('option_path_x').value=parseFloat(this.getAttributeNS(null,'x'))+2; $('option_path_y').value=parseFloat(this.getAttributeNS(null,'y'))+2; document.forms[0].option_path_x.focus(); }, false);
 84.2771 +         //rect1.addEventListener("mousedown", function(event) { if(memoNode != null){memoNode.setAttributeNS(null, 'stroke-width', 0 );} nodeHit(this); memoNode=this;this.setAttributeNS(null, 'stroke-width', 1 );$('option_path_num').value=this.getAttributeNS(null,'id'); $('option_path_x').value=parseFloat(this.getAttributeNS(null,'x'))+2; $('option_path_y').value=parseFloat(this.getAttributeNS(null,'y'))+2; }, false);
 84.2772 +         //rect1.addEventListener("mousedown", function(event) {if(memoNode != null){memoNode.setAttributeNS(null, 'stroke-width', 0 );} addControlPoints(segment[0],segment[1],svg); memoNode=this; this.setAttributeNS(null, 'fillColor', '#ffff00' );this.setAttributeNS(null, 'stroke-width', 1 );$('option_path_num').value=this.getAttributeNS(null,'id'); $('option_path_x').value=parseFloat(this.getAttributeNS(null,'x'))+2; $('option_path_y').value=parseFloat(this.getAttributeNS(null,'y'))+2; }, false);
 84.2773 +         //rect1.addEventListener("mouseup", function(event) {nodeUp(this); }, false);
 84.2774 +         //rect1.addEventListener("mouseover", function(event) {this.setAttributeNS(null, 'fillColor', '#ffcc00' ); }, false);
 84.2775 +         //rect1.addEventListener("mouseout", function(event) {this.setAttributeNS(null, 'fillColor', '#00cc00' ); }, false);
 84.2776 +         
 84.2777 +
 84.2778 +         //rect1.addEventListener("mouseout", function(event) {this.setAttributeNS(null, 'stroke-width', 0 ); }, false);
 84.2779 +
 84.2780 +        svg.appendChild(rect1);                                    
 84.2781 +         
 84.2782 +      }                     
 84.2783 +      var info='';
 84.2784 +       
 84.2785 +         if(controlNodeNum==0){info='prev Control'}  
 84.2786 +         if(controlNodeNum==1){info='next Control'}  
 84.2787 +         if(controlNodeNum==2){info='points node'}   
 84.2788 +        // $('someinfo').value=numpoints+ ' '+info+':'+ chain;
 84.2789 +        $('someinfo').value='Crtl+Arrow to move';
 84.2790 +    //return chain;                                          
 84.2791 +    
 84.2792 +
 84.2793 +      //this.svgRoot.appendChild(svg);   
 84.2794 +    
 84.2795 +    return svg;  
 84.2796 +        
 84.2797 +};
 84.2798 +SVGRenderer.prototype.showTracker = function(shape,pathsEdit) {  
 84.2799 +
 84.2800 +  var box = shape.getBBox();
 84.2801 + var matrix = shape.getScreenCTM();
 84.2802 +  var trshape= shape.getAttributeNS(null, 'transform');  
 84.2803 +  var shap=1; 
 84.2804 +  var T = shape.getCTM();
 84.2805 +  //a,b,c,d,e,f
 84.2806 +  
 84.2807 +  var widthLine=this.editor.unit;
 84.2808 +    
 84.2809 + 
 84.2810 + 
 84.2811 +    //var thisTransform = {  sx: s[0], r: shape.vRotate, t: shape.vTranslate };
 84.2812 +    //if (currentTransform != null) alert(currentTransform.t);
 84.2813 + 
 84.2814 +  if (shape.tagName == 'rect') { 
 84.2815 +     
 84.2816 +     $('option_rect_rot').value= T.b* (Math.PI * 2 / 360); 
 84.2817 +     $('option_rect_trx').value= box.x;  
 84.2818 +     $('option_rect_try').value= box.y;
 84.2819 +     $('option_rect_sclx').value= box.width;  
 84.2820 +     $('option_rect_scly').value= box.height;
 84.2821 +
 84.2822 +  }  
 84.2823 +
 84.2824 +  if (shape.tagName == 'image'){
 84.2825 +    $('option_img_trx').value= box.x; 
 84.2826 +    $('option_img_try').value= box.y;
 84.2827 +    $('option_img_sclx').value= box.width;  
 84.2828 +    $('option_img_scly').value= box.height;
 84.2829 +    $('option_img_rot').value= T.b* (Math.PI * 2 / 360);
 84.2830 +  }
 84.2831 +  if (shape.tagName == 'text'){
 84.2832 +    //$('option_text_trx').value= box.x; 
 84.2833 +    //$('option_text_try').value= box.y; 
 84.2834 +    $('option_text_size').value= box.height;
 84.2835 +    /*$('option_text_sclx').value= box.width;  
 84.2836 +    $('option_text_scly').value= box.height;
 84.2837 +    $('option_text_rot').value= T.b* (Math.PI * 2 / 360);
 84.2838 +   */
 84.2839 +  }
 84.2840 +  if (shape.tagName == 'line'){ 
 84.2841 +    /*
 84.2842 +    $('option_line_trx').value= box.x;  
 84.2843 +    $('option_line_try').value= box.y;
 84.2844 +    */
 84.2845 +  }   
 84.2846 +  if (shape.tagName == 'ellipse'){  
 84.2847 +    /*$('option_ellipse_trx').value= putx;  
 84.2848 +    $('option_ellipse_try').value= puty;
 84.2849 +    $('option_ellipse_sclx').value= box.width;  
 84.2850 +    $('option_ellipse_scly').value= box.height;
 84.2851 +    $('option_ellipse_rot').value= T.b* (Math.PI * 2 / 360);
 84.2852 +    */
 84.2853 +  }
 84.2854 +  
 84.2855 +  
 84.2856 +  
 84.2857 + /* if (shape.getAttributeNS(null, 'transform') ) { 
 84.2858 +        
 84.2859 +        
 84.2860 +        shap=2; }else{
 84.2861 +  }*/ 
 84.2862 +  var tracker = document.getElementById('tracker');
 84.2863 +  if (tracker) {
 84.2864 +    this.remove(tracker);
 84.2865 +  }
 84.2866 +
 84.2867 +  var svgNamespace = 'http://www.w3.org/2000/svg';
 84.2868 +  
 84.2869 +     tracker = document.createElementNS(svgNamespace, 'g');    
 84.2870 +      tracker.setAttributeNS(null, 'id', 'tracker'); 
 84.2871 +      
 84.2872 +    var controlPoints=null;
 84.2873 +    if (shape.tagName == 'path') { shap=2; 
 84.2874 +    
 84.2875 +    /* $('option_path_trx').value= box.x;  
 84.2876 +     $('option_path_try').value= box.y;
 84.2877 +     $('option_path_sclx').value= T.a;   
 84.2878 +     $('option_path_scly').value= T.d; 
 84.2879 +     $('option_path_rot').value= T.b* (Math.PI * 2 / 360);
 84.2880 +     */                                        
 84.2881 +     var path=shape.getAttributeNS(null, 'd');
 84.2882 +      $('control_codebase').value=path;  
 84.2883 +       
 84.2884 +       //controlPoints=this.showNodesCurve(path,0);
 84.2885 +       //controlPoints=this.showNodesCurve(path,1); 
 84.2886 +       controlPoints=this.showNodesCurve(path,2);
 84.2887 +       
 84.2888 +           
 84.2889 +        /*   controlPoints=this.showNodesCurve(path,1); 
 84.2890 +   
 84.2891 +           tracker.appendChild(controlPoints);     
 84.2892 +           
 84.2893 +           controlPoints=this.showNodesCurve(path,0); 
 84.2894 +   
 84.2895 +           tracker.appendChild(controlPoints); 
 84.2896 +        */   
 84.2897 +   }        
 84.2898 +      
 84.2899 +     var svg = this.container.ownerDocument.createElementNS(svgNamespace, 'g'); 
 84.2900 +      svg.setAttributeNS(null, 'id', 'transformSquares'); 
 84.2901 +   
 84.2902 +          
 84.2903 +       //var rect = document.createElementNS(svgNamespace, 'rect');   
 84.2904 +       var border = document.createElementNS(svgNamespace, 'path');  
 84.2905 +       
 84.2906 +       var trshape='translate (0,0) rotate(0) translate(0,0) '; 
 84.2907 +       var trshape_split=trshape.split(') ');    
 84.2908 +       
 84.2909 +      // get_between (trshape, s1, s2) ;
 84.2910 +     if(shape.getAttributeNS(null, 'transform')){ 
 84.2911 +         var trshape=shape.getAttributeNS(null, 'transform') ;   
 84.2912 +         //var spl=trshape.replace(', ',' ');  
 84.2913 +         //var spl1=spl.replace(')',' ');    
 84.2914 +         var trshape_split=trshape.split(') '); 
 84.2915 +         
 84.2916 +
 84.2917 +    }
 84.2918 +                                         
 84.2919 +  var corners = [];
 84.2920 +  var point = createPoint(box.x, box.y, box.width, box.height);
 84.2921 + //point = {x:box.x, y:box.y, width: box.width, height:box.height};
 84.2922 +//point = createPoint(box.x, box.y, box.width, box.height);    
 84.2923 +  //1
 84.2924 +  corners.push( createPoint(box.x + box.width, box.y, box.width, box.height) );
 84.2925 +  point.x = box.x + box.width;
 84.2926 +  point.y = box.y;
 84.2927 +  //2
 84.2928 +  corners.push( createPoint(box.x + box.width, box.y + box.height, box.width, box.height) );
 84.2929 +  point.x = box.x + box.width;
 84.2930 +  point.y = box.y + box.height;
 84.2931 +  //3
 84.2932 +  //corners.push( point.matrixTransform(matrix) );
 84.2933 +  corners.push( createPoint(box.x , box.y + box.height, box.width, box.height) );
 84.2934 +  point.x = box.x;
 84.2935 +  point.y = box.y + box.height;
 84.2936 +  //4
 84.2937 +  corners.push( createPoint(box.x + box.width, box.y, box.width, box.height) );   
 84.2938 +  
 84.2939 +  var max = createPoint(corners[0].x, corners[0].y);
 84.2940 +  var min = createPoint(corners[0].x, corners[0].y);
 84.2941 +
 84.2942 +  // identify the new corner coordinates of the
 84.2943 +  // fully transformed bounding box
 84.2944 +  for (var i = 1; i < corners.length; i++) {
 84.2945 +    var x = corners[i].x;
 84.2946 +    var y = corners[i].y;
 84.2947 +    if (x < min.x) {
 84.2948 +      min.x = x;
 84.2949 +    }
 84.2950 +    else if (x > max.x) {
 84.2951 +      max.x = x;
 84.2952 +    }
 84.2953 +    if (y < min.y) {
 84.2954 +      min.y = y;
 84.2955 +    }
 84.2956 +    else if (y > max.y) {
 84.2957 +      max.y = y;
 84.2958 +    }
 84.2959 +  }
 84.2960 +  
 84.2961 +     
 84.2962 +     border.setAttributeNS(null, 'd', "M"+(min.x-(widthLine*10))+","+ (min.y-(widthLine*10))+' h'+(box.width+(widthLine*20))+','+(0)+' v'+(0)+','+(box.height+(widthLine*20))+' h'+(-box.width-(widthLine*20))+','+(0)+' z M'+(box.x+box.width+(widthLine*10))+","+ (box.y+(box.height/2)+' h'+(widthLine*25)+',0 '));   
 84.2963 +     
 84.2964 +     
 84.2965 +     border.setAttributeNS(null, 'fill', 'none');
 84.2966 +     border.setAttributeNS(null, 'stroke', '#cccccc');
 84.2967 +     border.setAttributeNS(null, 'stroke-width', widthLine); 
 84.2968 +       
 84.2969 +// createRect(min.x, min.y, max.x - min.x, max.y - min.y);
 84.2970 +
 84.2971 +      var circle1 = document.createElementNS(svgNamespace, 'ellipse');  
 84.2972 +      circle1.setAttributeNS(null, 'cx', (box.x + box.width+(widthLine*40)) + 'px');
 84.2973 +    circle1.setAttributeNS(null, 'cy', (box.y + box.height / 2) + 'px');
 84.2974 +    circle1.setAttributeNS(null, 'rx', (widthLine*5) + 'px');
 84.2975 +    circle1.setAttributeNS(null, 'ry', (widthLine*5) + 'px');   
 84.2976 +   circle1.setAttributeNS(null, 'fill', '#ffffff');
 84.2977 +  circle1.setAttributeNS(null, 'stroke', 'green');
 84.2978 +  circle1.setAttributeNS(null, 'stroke-width', widthLine);   
 84.2979 +
 84.2980 +      var circleCenter = document.createElementNS(svgNamespace, 'ellipse');  
 84.2981 +      circleCenter.setAttributeNS(null, 'cx', (box.x + (box.width/2)) + 'px');
 84.2982 +    circleCenter.setAttributeNS(null, 'cy', (box.y + (box.height /2)) + 'px');
 84.2983 +    circleCenter.setAttributeNS(null, 'rx', (widthLine*10) + 'px');
 84.2984 +    circleCenter.setAttributeNS(null, 'ry', (widthLine*10) + 'px');   
 84.2985 +   circleCenter.setAttributeNS(null, 'fill', '#ffffff');
 84.2986 +  circleCenter.setAttributeNS(null, 'stroke', 'green');
 84.2987 +  circleCenter.setAttributeNS(null, 'stroke-width', widthLine);   
 84.2988 +
 84.2989 +     var rect1 = document.createElementNS(svgNamespace, 'rect');  
 84.2990 +  rect1.setAttributeNS(null, 'width', widthLine*10);
 84.2991 +  rect1.setAttributeNS(null, 'height', widthLine*10);
 84.2992 +  rect1.setAttributeNS(null, 'fill', '#ffffff');
 84.2993 +  rect1.setAttributeNS(null, 'stroke', 'green');
 84.2994 +  rect1.setAttributeNS(null, 'stroke-width', widthLine);  
 84.2995 +
 84.2996 +  var rect2 = document.createElementNS(svgNamespace, 'rect');  
 84.2997 +  rect2.setAttributeNS(null, 'width', widthLine*10);
 84.2998 +  rect2.setAttributeNS(null, 'height', widthLine*10);
 84.2999 +  rect2.setAttributeNS(null, 'fill', '#ffffff');
 84.3000 +  rect2.setAttributeNS(null, 'stroke', 'green');
 84.3001 +  rect2.setAttributeNS(null, 'stroke-width', widthLine);  
 84.3002 +
 84.3003 +  var rect3 = document.createElementNS(svgNamespace, 'rect');  
 84.3004 +  rect3.setAttributeNS(null, 'width', widthLine*10);
 84.3005 +  rect3.setAttributeNS(null, 'height', widthLine*10);
 84.3006 +  rect3.setAttributeNS(null, 'fill', '#ffffff');
 84.3007 +  rect3.setAttributeNS(null, 'stroke', 'green');
 84.3008 +  rect3.setAttributeNS(null, 'stroke-width', widthLine); 
 84.3009 +  
 84.3010 +  var rect4 = document.createElementNS(svgNamespace, 'rect');  
 84.3011 +  rect4.setAttributeNS(null, 'width', widthLine*10);
 84.3012 +  rect4.setAttributeNS(null, 'height', widthLine*10);
 84.3013 +  rect4.setAttributeNS(null, 'fill', '#ffffff');
 84.3014 +  rect4.setAttributeNS(null, 'stroke', 'green');
 84.3015 +  rect4.setAttributeNS(null, 'stroke-width', widthLine);  
 84.3016 + 
 84.3017 +  var rectmid12 = document.createElementNS(svgNamespace, 'rect');  
 84.3018 +  rectmid12.setAttributeNS(null, 'width', widthLine*10);
 84.3019 +  rectmid12.setAttributeNS(null, 'height', widthLine*10);
 84.3020 +  rectmid12.setAttributeNS(null, 'fill', '#ffffff');
 84.3021 +  rectmid12.setAttributeNS(null, 'stroke', 'green');
 84.3022 +  rectmid12.setAttributeNS(null, 'stroke-width', widthLine);  
 84.3023 +
 84.3024 +  var rectmid23 = document.createElementNS(svgNamespace, 'rect');  
 84.3025 +  rectmid23.setAttributeNS(null, 'width', widthLine*10);
 84.3026 +  rectmid23.setAttributeNS(null, 'height', widthLine*10);
 84.3027 +  rectmid23.setAttributeNS(null, 'fill', '#ffffff');
 84.3028 +  rectmid23.setAttributeNS(null, 'stroke', 'green');
 84.3029 +  rectmid23.setAttributeNS(null, 'stroke-width', widthLine);  
 84.3030 +
 84.3031 +  var rectmid34 = document.createElementNS(svgNamespace, 'rect');  
 84.3032 +  rectmid34.setAttributeNS(null, 'width', widthLine*10);
 84.3033 +  rectmid34.setAttributeNS(null, 'height', widthLine*10);
 84.3034 +  rectmid34.setAttributeNS(null, 'fill', '#ffffff');
 84.3035 +  rectmid34.setAttributeNS(null, 'stroke', 'green');
 84.3036 +  rectmid34.setAttributeNS(null, 'stroke-width', widthLine); 
 84.3037 +  
 84.3038 +  var rectmid41 = document.createElementNS(svgNamespace, 'rect');  
 84.3039 +  rectmid41.setAttributeNS(null, 'width', widthLine*10);
 84.3040 +  rectmid41.setAttributeNS(null, 'height', widthLine*10);
 84.3041 +  rectmid41.setAttributeNS(null, 'fill', '#ffffff');
 84.3042 +  rectmid41.setAttributeNS(null, 'stroke', 'green');
 84.3043 +  rectmid41.setAttributeNS(null, 'stroke-width', widthLine);   
 84.3044 +   // rect.setAttributeNS(null, 'x', box.x - widthLine*10);
 84.3045 +   // rect.setAttributeNS(null, 'y', box.y - widthLine*10);    
 84.3046 +    
 84.3047 +    rect1.setAttributeNS(null, 'x', box.x - widthLine*15);
 84.3048 +    rect1.setAttributeNS(null, 'y', box.y - widthLine*15);  
 84.3049 +   
 84.3050 +    
 84.3051 +    rect2.setAttributeNS(null, 'x', box.x + box.width +widthLine*5 );
 84.3052 +    rect2.setAttributeNS(null, 'y', box.y - widthLine*15);   
 84.3053 +
 84.3054 +    rect3.setAttributeNS(null, 'x', box.x + box.width + widthLine*5 );
 84.3055 +    rect3.setAttributeNS(null, 'y', box.y + box.height + widthLine*5);
 84.3056 +                                                       
 84.3057 +    rect4.setAttributeNS(null, 'x', box.x - widthLine*15 );
 84.3058 +    rect4.setAttributeNS(null, 'y', box.y + box.height + widthLine*5);    
 84.3059 +
 84.3060 +    
 84.3061 +
 84.3062 +    rectmid12.setAttributeNS(null, 'x', box.x + (box.width/2) - widthLine*5);
 84.3063 +    rectmid12.setAttributeNS(null, 'y', box.y - widthLine*15);  
 84.3064 +
 84.3065 +    rectmid23.setAttributeNS(null, 'x', box.x + box.width + widthLine*5 );
 84.3066 +    rectmid23.setAttributeNS(null, 'y', box.y + (box.height/2) - widthLine*5);   
 84.3067 +    
 84.3068 +    rectmid34.setAttributeNS(null, 'x', box.x + (box.width/2) - widthLine*5 );
 84.3069 +    rectmid34.setAttributeNS(null, 'y', box.y + box.height + widthLine*5);
 84.3070 +                                                           
 84.3071 +    rectmid41.setAttributeNS(null, 'x', box.x - widthLine*15 );
 84.3072 +    rectmid41.setAttributeNS(null, 'y', box.y + (box.height/2) - widthLine*5);
 84.3073 +     
 84.3074 +    svg.appendChild(border); 
 84.3075 +    var colorin="#ff0000";
 84.3076 +    var colorout="#ffffff" 
 84.3077 +      
 84.3078 +     circle1.addEventListener("mouseover", function(event) {circle1.setAttributeNS(null, 'cursor', 's-resize');  circle1.setAttributeNS(null, 'fill', colorin ); typeTransform='Rotate'; scaleType='nw'; }, false);
 84.3079 +     circle1.addEventListener("mouseout", function(event) {circle1.setAttributeNS(null, 'cursor', 'default');  circle1.setAttributeNS(null, 'fill', colorout ); typeTransform='Rotate'; }, false); //typeTransform='rotate'
 84.3080 +     circleCenter.addEventListener("mouseover", function(event) {circleCenter.setAttributeNS(null, 'cursor', 'move');  circleCenter.setAttributeNS(null, 'fill', colorin ); typeTransform='spìnCenter'; scaleType='nw'; }, false);
 84.3081 +     circleCenter.addEventListener("mouseout", function(event) {circleCenter.setAttributeNS(null, 'cursor', 'default');  circleCenter.setAttributeNS(null, 'fill', colorout ); typeTransform=''; }, false); //typeTransform='rotate'
 84.3082 + 
 84.3083 +      
 84.3084 +     rect1.addEventListener("mouseover", function(event) {rect1.setAttributeNS(null, 'cursor', 'nw-resize');  rect1.setAttributeNS(null, 'fill', colorin ); typeTransform='Scale'; scaleType='nw';}, false);
 84.3085 +     rect1.addEventListener("mouseout", function(event) {rect1.setAttributeNS(null, 'cursor', 'default');  rect1.setAttributeNS(null, 'fill', colorout ); typeTransform='Scale'; }, false); //typeTransform='rotate'
 84.3086 +    
 84.3087 +     rect2.addEventListener("mouseover", function(event) {rect2.setAttributeNS(null, 'cursor', 'ne-resize');  rect2.setAttributeNS(null, 'fill', colorin ); typeTransform='Scale'; scaleType='ne';}, false);  
 84.3088 +     rect2.addEventListener("mouseout", function(event) {rect2.setAttributeNS(null, 'cursor', 'default');  rect2.setAttributeNS(null, 'fill', colorout ); typeTransform='Scale'; }, false);
 84.3089 +      
 84.3090 +     rect3.addEventListener("mouseover", function(event) {rect3.setAttributeNS(null, 'cursor', 'se-resize');  rect3.setAttributeNS(null, 'fill', colorin ); typeTransform='Scale'; scaleType='se';}, false);  
 84.3091 +     rect3.addEventListener("mouseout", function(event) {rect3.setAttributeNS(null, 'cursor', 'default');  rect3.setAttributeNS(null, 'fill', colorout ); typeTransform='Scale'; }, false);
 84.3092 +     
 84.3093 +     rect4.addEventListener("mouseover", function(event) {rect4.setAttributeNS(null, 'cursor', 'sw-resize');  rect4.setAttributeNS(null, 'fill', colorin ); typeTransform='Scale'; scaleType='sw';}, false);  
 84.3094 +     rect4.addEventListener("mouseout", function(event) {rect4.setAttributeNS(null, 'cursor', 'default');  rect4.setAttributeNS(null, 'fill', colorout ); typeTransform='Scale'; }, false);
 84.3095 +                                                    
 84.3096 +     rectmid12.addEventListener("mouseover", function(event) {rectmid12.setAttributeNS(null, 'cursor', 'n-resize');  rectmid12.setAttributeNS(null, 'fill', colorin ); typeTransform='Scale'; scaleType='n';}, false);  
 84.3097 +     rectmid12.addEventListener("mouseout", function(event) {rectmid12.setAttributeNS(null, 'cursor', 'default');  rectmid12.setAttributeNS(null, 'fill', colorout ); typeTransform='Scale'; }, false); 
 84.3098 +
 84.3099 +     rectmid23.addEventListener("mouseover", function(event) {rectmid23.setAttributeNS(null, 'cursor', 'e-resize');  rectmid23.setAttributeNS(null, 'fill', colorin ); typeTransform='Scale'; scaleType='e';}, false);  
 84.3100 +     rectmid23.addEventListener("mouseout", function(event) {rectmid23.setAttributeNS(null, 'cursor', 'default');  rectmid23.setAttributeNS(null, 'fill', colorout ); typeTransform='Scale'; }, false); 
 84.3101 +     
 84.3102 +     rectmid34.addEventListener("mouseover", function(event) {rectmid34.setAttributeNS(null, 'cursor', 's-resize');  rectmid34.setAttributeNS(null, 'fill', colorin ); typeTransform='Scale'; scaleType='s';}, false);  
 84.3103 +     rectmid34.addEventListener("mouseout", function(event) {rectmid34.setAttributeNS(null, 'cursor', 'default');  rectmid34.setAttributeNS(null, 'fill', colorout ); typeTransform='Scale'; }, false); 
 84.3104 +
 84.3105 +     rectmid41.addEventListener("mouseover", function(event) {rectmid41.setAttributeNS(null, 'cursor', 'w-resize');  rectmid41.setAttributeNS(null, 'fill', colorin ); typeTransform='Scale'; scaleType='w'; }, false);  
 84.3106 +     rectmid41.addEventListener("mouseout", function(event) {rectmid41.setAttributeNS(null, 'cursor', 'default');  rectmid41.setAttributeNS(null, 'fill', colorout ); typeTransform='Scale'; }, false); 
 84.3107 +     
 84.3108 +     //////////
 84.3109 +     svg.setAttributeNS(null, 'transform',trshape); 
 84.3110 +  
 84.3111 +    svg.appendChild(circle1);    
 84.3112 +    //tracker.appendChild(circleCenter);  
 84.3113 +   if (shape.tagName == 'text'){   
 84.3114 +    svg.appendChild(rect1); 
 84.3115 +    svg.appendChild(rect2);   
 84.3116 +    svg.appendChild(rect3); 
 84.3117 +    svg.appendChild(rect4);  
 84.3118 +  }else{
 84.3119 +    svg.appendChild(rect1); 
 84.3120 +    svg.appendChild(rect2);   
 84.3121 +    svg.appendChild(rect3); 
 84.3122 +    svg.appendChild(rect4);  
 84.3123 +    svg.appendChild(rectmid12);  
 84.3124 +    svg.appendChild(rectmid23);
 84.3125 +    svg.appendChild(rectmid34);
 84.3126 +    svg.appendChild(rectmid41);                                    
 84.3127 +
 84.3128 +  }  
 84.3129 +    if(pathsEdit)
 84.3130 +     {    
 84.3131 +        controlPoints.setAttributeNS(null, 'transform',trshape); 
 84.3132 +        tracker.appendChild(controlPoints);      
 84.3133 +     }else{   
 84.3134 +        tracker.appendChild(svg); 
 84.3135 +     }   
 84.3136 +  this.svgRoot.appendChild(tracker);  
 84.3137 +      
 84.3138 +}
 84.3139 +
 84.3140 +
 84.3141 +SVGRenderer.prototype.getMarkup = function() { 
 84.3142 +       
 84.3143 +  return this.container.innerHTML;
 84.3144 +}   
 84.3145 +
 84.3146 +
 84.3147 +/////////////////////////////////
 84.3148 +var rotatexxx=0; 
 84.3149 + 
 84.3150 +var scaleType=''; 
 84.3151 +var xrot=0;
 84.3152 +var yrot=0;  
 84.3153 +
 84.3154 +var point = {x:0, y:0, width: 0, height:0};
 84.3155 +
 84.3156 +function createPoint (x, y, width, height) {
 84.3157 +    //var point = {x:34, y:22, width: 22, height:23};
 84.3158 +    //point.x = x;
 84.3159 +    //point.y = y;   
 84.3160 +    point = {x:x, y:y, width: width, height:height};
 84.3161 +    return point;
 84.3162 +  }
 84.3163 +
 84.3164 +///////////////////////////////
 84.3165 +
 84.3166 +SVGRenderer.prototype.restruct= function(shape)
 84.3167 +{
 84.3168 + //alert('end');       
 84.3169 + //forceRedraw(); 
 84.3170 +//clearWorkspace();  
 84.3171 +//document.getElementById('richdraw').style.cursor='default';    
 84.3172 +};        
 84.3173 +
 84.3174 +
 84.3175 +
 84.3176 +SVGRenderer.prototype.transform = function() {
 84.3177 +    //document.forms[0].code.value='Im tranforming';
 84.3178 +};
 84.3179 +
 84.3180 +SVGRenderer.prototype.scaleShape = function(shape,previus, toX, toY) {
 84.3181 +
 84.3182 +	 var box = shape.getBBox();  
 84.3183 +	 var prevbox=previus.getBBox();
 84.3184 +	var centerx= box.x+(box.width/2);
 84.3185 +	var centery= box.y+(box.height/2); 
 84.3186 +	var coord=this.editor.viewInputxy;
 84.3187 +	toX=parseFloat(coord[0]);
 84.3188 +	toY=parseFloat(coord[1]); 
 84.3189 +	var d2p_center=dist2p(centerx,centery,toX,toY);       
 84.3190 +
 84.3191 +	var d2p=dist2p(box.x,box.y,toX,toY);
 84.3192 +
 84.3193 +	var shareScale=box.width/d2p;
 84.3194 +
 84.3195 +	var trans_ShareScale='';
 84.3196 +	var tx, ty, tw, yh;
 84.3197 +
 84.3198 +	if(scaleType.length==1){
 84.3199 +		if(scaleType== 'w')
 84.3200 +		 {
 84.3201 +			trans_ShareScale=shareScale+",1";  
 84.3202 +			tx=toX; 
 84.3203 +			ty=prevbox.y; 
 84.3204 +			var dist=prevbox.x-toX;
 84.3205 +			var w=dist+prevbox.width;
 84.3206 +			if(w<1){w=1;}
 84.3207 +			tw=w;
 84.3208 +			th=prevbox.height;
 84.3209 +			//document.forms[0].code.value=box.x+' '+toX+' '+dist+''; 
 84.3210 +		 }        
 84.3211 +		if(scaleType== 'e')
 84.3212 +		 {
 84.3213 +		        trans_ShareScale=shareScale+",1"; 
 84.3214 +			tx=prevbox.x; 
 84.3215 +			ty=prevbox.y; 
 84.3216 +			var dist=toX-(prevbox.x+prevbox.width); //dist2p(toX,b,c,d);
 84.3217 +			var w=dist+prevbox.width;
 84.3218 +			if(w<1){w=1;}
 84.3219 +			tw=w;
 84.3220 +			th=prevbox.height;
 84.3221 + 
 84.3222 +		 }        
 84.3223 +		if(scaleType== 'n')
 84.3224 +		 {
 84.3225 +			trans_ShareScale="1,"+shareScale; 
 84.3226 +			
 84.3227 +			tx=prevbox.x; 
 84.3228 +			ty=toY; 
 84.3229 +			var dist=prevbox.y-toY;
 84.3230 +			var h=dist+prevbox.height;
 84.3231 +			if(h<1){h=1;}
 84.3232 +			tw=prevbox.width;
 84.3233 +			th=h;
 84.3234 +
 84.3235 +		 }
 84.3236 +                if( scaleType== 's')
 84.3237 +                 {
 84.3238 +                        trans_ShareScale="1,"+shareScale;  
 84.3239 +
 84.3240 +			tx=prevbox.x; 
 84.3241 +			ty=prevbox.y; 
 84.3242 +			var dist=toY-(prevbox.y+prevbox.height); //dist2p(toX,b,c,d);
 84.3243 +			var h=dist+prevbox.height;
 84.3244 +			if(h<1){h=1;}
 84.3245 +			tw=prevbox.width;
 84.3246 +			th=h;
 84.3247 +
 84.3248 +	         }
 84.3249 +        }
 84.3250 +	if(scaleType.length==2){
 84.3251 +		if(scaleType== 'nw'){
 84.3252 +			trans_ShareScale=shareScale+","+shareScale; 
 84.3253 +          
 84.3254 +      			//var angle_diagonal=getAngle(prevbox.width,prevbox.height);
 84.3255 +      			  var angle_diagonal=ang2v(prevbox.x,prevbox.y,prevbox.x+prevbox.width,prevbox.y+prevbox.height)
 84.3256 +            
 84.3257 +                        var ax= prevbox.x;
 84.3258 +                        var ay= prevbox.y;
 84.3259 +                        var bx= prevbox.x+prevbox.width; 
 84.3260 +                        var by= prevbox.y+prevbox.height; 
 84.3261 +                        
 84.3262 +                        var cx= toX;
 84.3263 +                        var cy= toY;
 84.3264 +                        var dx= toX+10*Math.cos(angle_diagonal+(Math.PI/2)); 
 84.3265 +                        var dy= toY+10*Math.sin(angle_diagonal+(Math.PI/2));  
 84.3266 +                        
 84.3267 +                        var section_a=ntrsccn2rb(ax,ay,bx,by,cx,cy,dx,dy);   
 84.3268 +                 this.editor.log(angle_diagonal* 180 / Math.PI);       
 84.3269 +                    
 84.3270 +                var tx= section_a[1];
 84.3271 +                var ty= section_a[2];
 84.3272 +                
 84.3273 +                        var ax= section_a[1];
 84.3274 +                        var ay= section_a[2];
 84.3275 +                        var bx= 0;
 84.3276 +                        var by= section_a[2] ; 
 84.3277 +                        
 84.3278 +                        var cx=prevbox.x+prevbox.width; 
 84.3279 +                        var cy= prevbox.y;
 84.3280 +
 84.3281 +                        var dx= prevbox.x+prevbox.width;  
 84.3282 +                        var dy= 0;
 84.3283 +                        
 84.3284 +                      
 84.3285 +                var section_b=ntrsccn2rb(ax,ay,bx,by,cx,cy,dx,dy);
 84.3286 +
 84.3287 +                var distx=dist2p(section_a[1],section_a[2],section_b[1],section_b[2]);         
 84.3288 +
 84.3289 +              
 84.3290 +                
 84.3291 +                        var ax= section_a[1];
 84.3292 +                        var ay= section_a[2];
 84.3293 +                        var bx= section_a[1] 
 84.3294 +                        var by= 0; 
 84.3295 +                        
 84.3296 +                        var cx= prevbox.x; 
 84.3297 +                        var cy= prevbox.y+prevbox.height; 
 84.3298 +
 84.3299 +                        var dx= 0; 
 84.3300 +                        var dy= prevbox.y+prevbox.height;
 84.3301 +                        
 84.3302 +                      
 84.3303 +                var section_c=ntrsccn2rb(ax,ay,bx,by,cx,cy,dx,dy);
 84.3304 +                var disty=dist2p(section_a[1],section_a[2],section_c[1],section_c[2]);         
 84.3305 +                
 84.3306 +                
 84.3307 +
 84.3308 +                    
 84.3309 +                        if(distx<1){distx=1;}    
 84.3310 +			
 84.3311 +         		
 84.3312 +			if(disty<1){disty=1;}
 84.3313 +                        //document.forms[0].code.value=distx+' '+disty;
 84.3314 +			tw=distx;
 84.3315 +			th=disty;
 84.3316 +
 84.3317 +			
 84.3318 +		}                  
 84.3319 +		
 84.3320 +	//////////////////// SE
 84.3321 +		
 84.3322 +           if( scaleType== 'se'){
 84.3323 +			trans_ShareScale=shareScale+","+shareScale;   
 84.3324 +			
 84.3325 +	          
 84.3326 +      			//var angle_diagonal=getAngle(prevbox.width,prevbox.height);
 84.3327 +       			var angle_diagonal=ang2v(prevbox.x,prevbox.y,prevbox.x+prevbox.width,prevbox.y+prevbox.height)
 84.3328 +		
 84.3329 +			
 84.3330 +			
 84.3331 +                        var ax= prevbox.x;
 84.3332 +                        var ay= prevbox.y;
 84.3333 +                        var bx= prevbox.x+prevbox.width; 
 84.3334 +                        var by= prevbox.y+prevbox.height; 
 84.3335 +                        
 84.3336 +                        var cx= toX;
 84.3337 +                        var cy= toY;   
 84.3338 +                        var dx= toX+10*Math.cos(angle_diagonal+(Math.PI/2)); 
 84.3339 +                        var dy= toY+10*Math.sin(angle_diagonal+(Math.PI/2)); 
 84.3340 +      
 84.3341 +                var section_a=ntrsccn2rb(ax,ay,bx,by,cx,cy,dx,dy);   
 84.3342 +                
 84.3343 +                                         
 84.3344 +                 var svgNamespace = 'http://www.w3.org/2000/svg';  
 84.3345 +                 var tracker = document.getElementById('tracker');
 84.3346 +
 84.3347 +                //////////
 84.3348 +                var tx= prevbox.x;
 84.3349 +                var ty= prevbox.y;
 84.3350 +                
 84.3351 +                        var ax= section_a[1];
 84.3352 +                        var ay= section_a[2];
 84.3353 +                        var bx= 0;
 84.3354 +                        var by= section_a[2] ; 
 84.3355 +                        
 84.3356 +                        var cx=prevbox.x; 
 84.3357 +                        var cy= prevbox.y;
 84.3358 +
 84.3359 +                        var dx= prevbox.x;  
 84.3360 +                        var dy= 0;
 84.3361 +                        
 84.3362 +                      
 84.3363 +                var section_b=ntrsccn2rb(ax,ay,bx,by,cx,cy,dx,dy);
 84.3364 +               
 84.3365 +               /////////////////
 84.3366 +               
 84.3367 +               
 84.3368 +                var distx=dist2p(section_a[1],section_a[2],section_b[1],section_b[2]);         
 84.3369 +
 84.3370 +             
 84.3371 +                        var ax= section_a[1];
 84.3372 +                        var ay= section_a[2];
 84.3373 +                        var bx= section_a[1] 
 84.3374 +                        var by= 0; 
 84.3375 +                        
 84.3376 +                        var cx= prevbox.x; 
 84.3377 +                        var cy= prevbox.y; 
 84.3378 +
 84.3379 +                        var dx=0;
 84.3380 +                        var dy= prevbox.y;
 84.3381 +                        
 84.3382 +                      
 84.3383 +                var section_c=ntrsccn2rb(ax,ay,bx,by,cx,cy,dx,dy);
 84.3384 +               
 84.3385 +               ///////////////
 84.3386 +               
 84.3387 +                var disty=dist2p(section_a[1],section_a[2],section_c[1],section_c[2]);         
 84.3388 +                
 84.3389 +   
 84.3390 +                    
 84.3391 +                        if(distx<1){distx=1;}    
 84.3392 +			
 84.3393 +         		
 84.3394 +			if(disty<1){disty=1;}
 84.3395 +                        
 84.3396 +			tw=distx;
 84.3397 +			th=disty;
 84.3398 +
 84.3399 +			
 84.3400 +		}
 84.3401 +
 84.3402 +		if(scaleType== 'ne'){  
 84.3403 +		        
 84.3404 +			trans_ShareScale=shareScale+","+shareScale;   
 84.3405 +			
 84.3406 +	                var angle_diagonal=ang2v(prevbox.x,prevbox.y+prevbox.height,prevbox.x+prevbox.width,prevbox.y)
 84.3407 +      			//var angle_diagonal=getAngle(prevbox.width,prevbox.height);
 84.3408 + 		
 84.3409 +			
 84.3410 +				
 84.3411 +			
 84.3412 +                        var ax= prevbox.x;
 84.3413 +                        var ay= prevbox.y+prevbox.height;
 84.3414 +                        var bx= prevbox.x+prevbox.width; 
 84.3415 +                        var by= prevbox.y;
 84.3416 +                       
 84.3417 +                        var cx= toX;
 84.3418 +                        var cy= toY;   
 84.3419 +                        var dx= toX+10*Math.cos(angle_diagonal+(Math.PI/2)); 
 84.3420 +                        var dy= toY+10*Math.sin(angle_diagonal+(Math.PI/2)); 
 84.3421 +
 84.3422 +
 84.3423 +                      this.editor.log(angle_diagonal);
 84.3424 +
 84.3425 +      
 84.3426 +                var section_a=ntrsccn2rb(ax,ay,bx,by,cx,cy,dx,dy);   
 84.3427 +                
 84.3428 +                                         
 84.3429 +                 var svgNamespace = 'http://www.w3.org/2000/svg';  
 84.3430 +                 var tracker = document.getElementById('tracker');
 84.3431 +
 84.3432 +                //////////
 84.3433 +                var tx= prevbox.x;
 84.3434 +                var ty= section_a[2];
 84.3435 +                
 84.3436 +                        var ax= section_a[1];
 84.3437 +                        var ay= section_a[2];
 84.3438 +                        var bx= 0;
 84.3439 +                        var by= section_a[2] ; 
 84.3440 +                        
 84.3441 +                        var cx=prevbox.x; 
 84.3442 +                        var cy= prevbox.y;
 84.3443 +
 84.3444 +                        var dx= prevbox.x;  
 84.3445 +                        var dy= 0;
 84.3446 +                        
 84.3447 +                      
 84.3448 +                var section_b=ntrsccn2rb(ax,ay,bx,by,cx,cy,dx,dy);
 84.3449 +               
 84.3450 +               /////////////////
 84.3451 +               
 84.3452 +               
 84.3453 +                var distx=dist2p(section_a[1],section_a[2],section_b[1],section_b[2]);         
 84.3454 +
 84.3455 +             
 84.3456 +                        var ax= section_a[1];
 84.3457 +                        var ay= section_a[2];
 84.3458 +                        var bx= section_a[1]; 
 84.3459 +                        var by= 0; 
 84.3460 +                        
 84.3461 +                        var cx= prevbox.x; 
 84.3462 +                        var cy= prevbox.y+prevbox.height; 
 84.3463 +
 84.3464 +                        var dx=0;
 84.3465 +                        var dy= prevbox.y+prevbox.height;
 84.3466 +                        
 84.3467 +                      
 84.3468 +                var section_c=ntrsccn2rb(ax,ay,bx,by,cx,cy,dx,dy);
 84.3469 +               
 84.3470 +               ///////////////
 84.3471 +               
 84.3472 +                var disty=dist2p(section_a[1],section_a[2],section_c[1],section_c[2]);         
 84.3473 +                
 84.3474 +
 84.3475 +                    
 84.3476 +                        if(distx<1){distx=1;}    
 84.3477 +			
 84.3478 +         		
 84.3479 +			if(disty<1){disty=1;}
 84.3480 +                        //document.forms[0].code.value=distx+' '+disty;
 84.3481 +			tw=distx;
 84.3482 +			th=disty;
 84.3483 +			
 84.3484 +			
 84.3485 +			
 84.3486 +			
 84.3487 +			
 84.3488 +		}
 84.3489 +		if(scaleType== 'sw'){
 84.3490 +			trans_ShareScale=shareScale+","+shareScale;  
 84.3491 +			
 84.3492 +			
 84.3493 +				
 84.3494 +			
 84.3495 +	                var angle_diagonal=ang2v(prevbox.x,prevbox.y+prevbox.height,prevbox.x+prevbox.width,prevbox.y)
 84.3496 +      			//var angle_diagonal=getAngle(prevbox.width,prevbox.height);
 84.3497 + 		
 84.3498 +			
 84.3499 +				
 84.3500 +			
 84.3501 +                        var ax= prevbox.x;
 84.3502 +                        var ay= prevbox.y+prevbox.height;
 84.3503 +                        var bx= prevbox.x+prevbox.width; 
 84.3504 +                        var by= prevbox.y;
 84.3505 +                       
 84.3506 +                        var cx= toX;
 84.3507 +                        var cy= toY;   
 84.3508 +                        var dx= toX+10*Math.cos(angle_diagonal+(Math.PI/2)); 
 84.3509 +                        var dy= toY+10*Math.sin(angle_diagonal+(Math.PI/2)); 
 84.3510 +
 84.3511 +
 84.3512 +                      this.editor.log(angle_diagonal);
 84.3513 +
 84.3514 +      
 84.3515 +                var section_a=ntrsccn2rb(ax,ay,bx,by,cx,cy,dx,dy);   
 84.3516 +                
 84.3517 +                                         
 84.3518 +                 var svgNamespace = 'http://www.w3.org/2000/svg';  
 84.3519 +                 var tracker = document.getElementById('tracker');
 84.3520 +
 84.3521 +                //////////
 84.3522 +                var tx= section_a[1];
 84.3523 +                var ty= prevbox.y;
 84.3524 +                
 84.3525 +                        var ax= section_a[1];
 84.3526 +                        var ay= section_a[2];
 84.3527 +                        var bx= 0;
 84.3528 +                        var by= section_a[2] ; 
 84.3529 +                        
 84.3530 +                        var cx=prevbox.x+prevbox.width; 
 84.3531 +                        var cy= prevbox.y+prevbox.height;
 84.3532 +
 84.3533 +                        var dx= prevbox.x+prevbox.width;  
 84.3534 +                        var dy= 0;
 84.3535 +                        
 84.3536 +                      
 84.3537 +                var section_b=ntrsccn2rb(ax,ay,bx,by,cx,cy,dx,dy);
 84.3538 +                var distx=dist2p(section_a[1],section_a[2],section_b[1],section_b[2]);         
 84.3539 +
 84.3540 +               /////////////////             
 84.3541 +                        var ax= section_a[1];
 84.3542 +                        var ay= section_a[2];
 84.3543 +                        var bx= section_a[1];
 84.3544 +                        var by= 0; 
 84.3545 +                          
 84.3546 +                        var cx= prevbox.x; 
 84.3547 +                        var cy= prevbox.y; 
 84.3548 +
 84.3549 +                        var dx=0;
 84.3550 +                        var dy= prevbox.y;
 84.3551 +                        
 84.3552 +                      
 84.3553 +                var section_c=ntrsccn2rb(ax,ay,bx,by,cx,cy,dx,dy);
 84.3554 +                  var disty=dist2p(section_a[1],section_a[2],section_c[1],section_c[2]);         
 84.3555 +              ///////////////
 84.3556 +                
 84.3557 +   
 84.3558 +                    
 84.3559 +                        if(distx<1){distx=1;}    
 84.3560 +			
 84.3561 +         		
 84.3562 +			if(disty<1){disty=1;}
 84.3563 +                        //document.forms[0].code.value=distx+' '+disty;
 84.3564 +			tw=distx;
 84.3565 +			th=disty;
 84.3566 +			
 84.3567 +		}
 84.3568 +
 84.3569 +	}  
 84.3570 +
 84.3571 +
 84.3572 +
 84.3573 + if(shape.tagName == 'rect')
 84.3574 +  { 
 84.3575 +    //alert(data[0]);     
 84.3576 +   shape.setAttributeNS(null,'x',tx);
 84.3577 +    shape.setAttributeNS(null,'y',ty);   
 84.3578 +    shape.setAttributeNS(null, 'width', tw);     
 84.3579 +    shape.setAttributeNS(null, 'height', th); 
 84.3580 +    
 84.3581 +   //shape.nodparseFloatue=data;
 84.3582 +  }
 84.3583 +   else 
 84.3584 + if(shape.tagName == 'text')
 84.3585 +  { 
 84.3586 +    
 84.3587 +    var tsize=shape.getAttributeNS(null, 'font-size') ; 
 84.3588 +      // var d2p_center=dist2p(centerx,centery,toX,toY);       
 84.3589 +
 84.3590 +    	var d2p=dist2p(0,box.y,0,toY);
 84.3591 + //shape.setAttributeNS(null, 'x', tx + 'px');
 84.3592 +    //shape.setAttributeNS(null, 'y', ty + 'px'); 
 84.3593 +    //var mysize=box.height+1 ; 
 84.3594 +     //if((toX - centerx)<0){tsize++}else{tsize--}
 84.3595 +     tsize=d2p;
 84.3596 +    //var mysize=parseInt(Math.round(th));
 84.3597 +    
 84.3598 +    if(scaleType== 'ne'){ shape.setAttributeNS(null, 'font-size',tsize);}  
 84.3599 +    if(scaleType== 'se'){ shape.setAttributeNS(null, 'font-size',tsize);}  
 84.3600 +    if(scaleType== 'nw'){ shape.setAttributeNS(null, 'font-size',tsize);}  
 84.3601 +    if(scaleType== 'sw'){ shape.setAttributeNS(null, 'font-size',tsize);}  
 84.3602 +
 84.3603 +      //shape.setAttributeNS(null, 'font-size', mysize);  
 84.3604 +      
 84.3605 +   
 84.3606 +   /*
 84.3607 +    shape.setAttributeNS(null,'x',tx);
 84.3608 +    shape.setAttributeNS(null,'y',ty);   
 84.3609 +    shape.setAttributeNS(null, 'width', tw);     
 84.3610 +    shape.setAttributeNS(null, 'height', th); 
 84.3611 +    
 84.3612 +    //previus.setAttributeNS(null,'transform', "scale("+trans_ShareScale+")");
 84.3613 +    shape.setAttributeNS(null, 'x', tx + 'px');
 84.3614 +    shape.setAttributeNS(null, 'y', ty + 'px');
 84.3615 +
 84.3616 +    shape.setAttributeNS(null, 'textLength', parseInt(Math.round(tw)));    
 84.3617 +    
 84.3618 +     */
 84.3619 +  } 
 84.3620 +   else 
 84.3621 + if(shape.tagName == 'ellipse')
 84.3622 +  {
 84.3623 +    //shape.getAttributeNS(null, 'transform)
 84.3624 +    shape.setAttributeNS(null, 'cx', (tx + (box.width / 2)) + 'px');
 84.3625 +    shape.setAttributeNS(null, 'cy', (ty + (box.height / 2)) + 'px');
 84.3626 +    shape.setAttributeNS(null, 'rx', (tw / 2) + 'px');
 84.3627 +    shape.setAttributeNS(null, 'ry', (th / 2) + 'px');   
 84.3628 + 
 84.3629 +        
 84.3630 +  }
 84.3631 +   else 
 84.3632 + if(shape.tagName == 'line')
 84.3633 +  { 
 84.3634 +    shape.setAttributeNS(null, 'x1', tx + 'px');
 84.3635 +    shape.setAttributeNS(null, 'y1', ty + 'px');
 84.3636 +    shape.setAttributeNS(null, 'x2', tx + tw + 'px');
 84.3637 +    shape.setAttributeNS(null, 'y2', ty + th + 'px');  
 84.3638 +         
 84.3639 +  }
 84.3640 +   else
 84.3641 + if (shape.tagName == 'polyline') 
 84.3642 +  {
 84.3643 +   
 84.3644 +  }
 84.3645 +   else 
 84.3646 + if (shape.tagName == 'image') 
 84.3647 +  {   
 84.3648 +    shape.setAttributeNS(null,'x',tx);
 84.3649 +    shape.setAttributeNS(null,'y',ty);   
 84.3650 +    shape.setAttributeNS(null, 'width', tw);     
 84.3651 +    shape.setAttributeNS(null, 'height', th); 
 84.3652 +      
 84.3653 +  }
 84.3654 +   else 
 84.3655 + if (shape.tagName == 'path')
 84.3656 +  {     
 84.3657 +     // var xscale=  box.width/tw;
 84.3658 +     // var yscale=  box.height/th;  
 84.3659 +      var xscale=  tw/box.width;
 84.3660 +      var yscale=  th/box.height;  
 84.3661 +      var xinc=xscale;//dist*angx;
 84.3662 +      var yinc=yscale/ty;//dist*angy;   
 84.3663 +
 84.3664 +   if(scaleType== 'n')
 84.3665 +    {
 84.3666 +       tx=box.x+(box.width/2);
 84.3667 +       ty=box.y+box.height; 
 84.3668 +       var xinc=1;
 84.3669 +       var yinc=box.y/toY;//dist*angy;   
 84.3670 +
 84.3671 +    } 
 84.3672 +   if(scaleType== 's')
 84.3673 +    {
 84.3674 +       tx=box.x+(box.width/2);
 84.3675 +       ty=box.y; 
 84.3676 +       var xinc=1;
 84.3677 +       var yinc=toY/(box.y+box.height);//dist*angy;   
 84.3678 +    }    
 84.3679 +   if(scaleType== 'e')
 84.3680 +    {
 84.3681 +       tx=box.x;
 84.3682 +       ty=box.y+(box.height/2);  
 84.3683 +       var xinc=toX/(box.x+box.width);
 84.3684 +       var yinc=1;   
 84.3685 +
 84.3686 +    }         
 84.3687 +   if(scaleType== 'w')
 84.3688 +    {
 84.3689 +       tx=box.x+box.width;
 84.3690 +       ty=box.y+(box.height/2); 
 84.3691 +       var xinc=box.x/toX;
 84.3692 +       var yinc=1;   
 84.3693 +
 84.3694 +    }
 84.3695 +   if(scaleType== 'ne')
 84.3696 +    {
 84.3697 +       tx=box.x;
 84.3698 +       ty=box.y+box.height; 
 84.3699 +       var xinc=toX/(box.x+box.width);
 84.3700 +       var yinc=xinc;   
 84.3701 +    }  
 84.3702 +  if(scaleType== 'nw')
 84.3703 +    {
 84.3704 +       tx=box.x+box.width;
 84.3705 +       ty=box.y+box.height; 
 84.3706 +       var xinc=box.x/toX;
 84.3707 +       var yinc=xinc;   
 84.3708 +    } 
 84.3709 +   if(scaleType== 'se')
 84.3710 +    {
 84.3711 +       tx=box.x;
 84.3712 +       ty=box.y; 
 84.3713 +       var xinc=toX/(box.x+box.width);
 84.3714 +       var yinc=xinc;   
 84.3715 +    }    
 84.3716 +   if(scaleType== 'sw')
 84.3717 +    {
 84.3718 +       tx=(box.x+box.width);
 84.3719 +       ty=box.y; 
 84.3720 +       var xinc=box.x/toX;
 84.3721 +       var yinc=xinc;   
 84.3722 +    }        
 84.3723 +      if(xinc==0){ xinc= 0.0000001;}
 84.3724 +      if(yinc==0){ yinc= 0.0000001; }
 84.3725 +      var prevpath=previus.getAttributeNS(null, 'd');
 84.3726 +     var path=shape.getAttributeNS(null, 'd');
 84.3727 +////////////
 84.3728 +
 84.3729 +
 84.3730 +      //xshe=left;
 84.3731 +      //yshe=top;
 84.3732 +       
 84.3733 + path=path.replace(/, /g, ','); 
 84.3734 + path=path.replace(/ ,/g, ',');
 84.3735 + var ps =path.split(" ")
 84.3736 + var pcc = "";
 84.3737 + var point =ps[0].split(","); 
 84.3738 +
 84.3739 +
 84.3740 + var num0= parseFloat(point[0].substring(1));
 84.3741 + var num1= parseFloat(point[1]);     
 84.3742 + 
 84.3743 +
 84.3744 + var ang= ang2v(box.x,box.y,tx,ty) ;
 84.3745 + var angle = Math.round((ang/Math.PI* 2)* 360);
 84.3746 + var angx = Math.cos(ang); 
 84.3747 + var angy = Math.sin(ang);          
 84.3748 + var dist= dist2p(tx,ty,box.x,box.y);
 84.3749 + //var xinc=xscale;//dist*angx;
 84.3750 + //var yinc=yscale;//dist*angy;   
 84.3751 +    var re = /^[-]?\d*\.?\d*$/; 
 84.3752 +    var axis = $V([tx,ty]);
 84.3753 + for(var i = 0; i < ps.length; i++)
 84.3754 +  { 
 84.3755 +   if(ps[i].indexOf(',')>0){  
 84.3756 +     
 84.3757 +      var point =ps[i].split(","); 
 84.3758 +       var char1=point[0].substring(0,1); 
 84.3759 +       if(char1=='A' || char1=='a'){isArc=true; contArc=0;}
 84.3760 +       if(isArc==true){contArc++}
 84.3761 +       if(contArc==4){contArc=0; isArc=false}
 84.3762 +       
 84.3763 +       //if (isNaN(valnum)) 
 84.3764 +      if (!char1.match(re))        
 84.3765 +       { 
 84.3766 +           var num0= parseFloat(point[0].substring(1));
 84.3767 +           var text=char1;
 84.3768 +       }else{ 
 84.3769 +         if(isArc==true && contArc==2  )
 84.3770 +          {
 84.3771 +            var num0= point[0];
 84.3772 +          }else{  
 84.3773 +            var num0= parseFloat(point[0]);
 84.3774 +          }  
 84.3775 +         var text='';
 84.3776 +
 84.3777 +       }
 84.3778 + 
 84.3779 +       
 84.3780 +       if(isArc==true && contArc==2)
 84.3781 +        {   
 84.3782 +           point[1]= point[1].toString() ;
 84.3783 +        }
 84.3784 +        else
 84.3785 +        {    
 84.3786 +         
 84.3787 +          //num0*=xinc;    
 84.3788 +          point[1]= parseFloat(point[1]);
 84.3789 +          //point[1]*=yinc;
 84.3790 +          var pointIni=$V([num0,point[1],1]);
 84.3791 +          var matrT = $M([[1,0,-tx],[0,1,-ty],[0,0,1]]);
 84.3792 +          var matrS = $M([[xinc,0,0],[0,yinc,0],[0,0,1]]); 
 84.3793 +          var matrR = $M([[1,0,tx],[0,1,ty],[0,0,1]]);
 84.3794 +          var matr1= matrT.x(pointIni);  
 84.3795 +          var matr2= matrS.x(matr1);
 84.3796 +          //var pointR=pointIni.Random(1) 
 84.3797 +          //var pointR=pointIni.rotate(Math.PI/180,axis);
 84.3798 +          //var pointRc=pointIni.cross(axis); 
 84.3799 +          //var pointR=matr2;
 84.3800 +          var pointR=matrR.x(matr2);  
 84.3801 +          num0=pointR.elements[0];
 84.3802 +           point[1]=pointR.elements[1];
 84.3803 +           $('code').value=pointIni.elements[0]+','+pointR.elements[1]+' ';
 84.3804 +        }  
 84.3805 +       var cx=num0; 
 84.3806 +        var cy=point[1];   
 84.3807 +        pcc+=text+cx+','+cy+' ';
 84.3808 +        //pcc+=text+cx+','+cy+' '; 
 84.3809 +       
 84.3810 +   }else{
 84.3811 +      pcc+=ps[i]+' ';
 84.3812 +   }
 84.3813 +  }
 84.3814 +  
 84.3815 +  shape.setAttributeNS(null,'d', pcc);
 84.3816 +
 84.3817 +
 84.3818 +
 84.3819 +//////////////
 84.3820 +/*
 84.3821 + path=path.replace(/, /g, ','); 
 84.3822 + path=path.replace(/ ,/g, ',');
 84.3823 + var ps =path.split(" ")
 84.3824 + var pcc = "";
 84.3825 +
 84.3826 + var xinc=tx-prevbox.x;
 84.3827 + var yinc=ty-prevbox.y;
 84.3828 +  
 84.3829 +    var re = /^[-]?\d*\.?\d*$/;
 84.3830 + for(var i = 0; i < ps.length; i++)
 84.3831 +  { 
 84.3832 +   if(ps[i].indexOf(',')>0){  
 84.3833 +     
 84.3834 +      var point =ps[i].split(","); 
 84.3835 +       var char1=point[0].substring(0,1);
 84.3836 +       point[1]= parseFloat(point[1]); 
 84.3837 +       
 84.3838 +       // var valnum =char1.charAt(0); 
 84.3839 +       //if (isNaN(valnum))
 84.3840 +       if (!char1.match(re)) 
 84.3841 +        
 84.3842 +       {
 84.3843 +         var num0= parseFloat(point[0].substring(1));
 84.3844 +         var text=char1;
 84.3845 +       }else{
 84.3846 +         var num0= parseFloat(point[0]);
 84.3847 +         var text='';
 84.3848 +
 84.3849 +       }
 84.3850 +       //num0+=dist*angx;
 84.3851 +       //point[1]+=dist*angy;
 84.3852 +         num0*=xscale;
 84.3853 +        point[1]*=yscale;   
 84.3854 +        
 84.3855 +      // num0+=xinc;
 84.3856 +      // point[1]+=yinc;
 84.3857 +       
 84.3858 +      
 84.3859 +        
 84.3860 +        var cx=num0;
 84.3861 +        var cy=point[1]; 
 84.3862 +        pcc+=text+cx+','+cy+' ';
 84.3863 +   }else{
 84.3864 +      pcc+=ps[i]+' ';
 84.3865 +   }
 84.3866 +  }
 84.3867 +
 84.3868 +
 84.3869 +   
 84.3870 +    
 84.3871 +  
 84.3872 +   // $('code').value=dist+' '+ ang+' '+'__'+x+'= '+left+'/ '+y+'= ' +top+'';
 84.3873 +    
 84.3874 +       //shape.setAttributeNS(null,'transform', "rotate("+left+")");
 84.3875 +       
 84.3876 +       // shape.setAttributeNS(null,'transform', "translate("+trax+","+tray+") rotate("+0+") scale(1,1)");
 84.3877 +         shape.setAttributeNS(null,'d', pcc);
 84.3878 +
 84.3879 +    
 84.3880 +    
 84.3881 +    
 84.3882 +    
 84.3883 +    
 84.3884 +    
 84.3885 +       //document.forms[0].code.value='';
 84.3886 +       //shape.setAttributeNS(null,'transform', "scale("+trans_ShareScale+")"); 
 84.3887 + */      
 84.3888 +
 84.3889 +  }  
 84.3890 +   	                             
 84.3891 +
 84.3892 +
 84.3893 +
 84.3894 +
 84.3895 +
 84.3896 +
 84.3897 +
 84.3898 +	
 84.3899 +	
 84.3900 +	
 84.3901 +	
 84.3902 +	
 84.3903 +//$('status').innerHTML=typeTransform+': '+shareScale;  
 84.3904 +       
 84.3905 +  
 84.3906 +};
 84.3907 +
 84.3908 +
 84.3909 +SVGRenderer.prototype.rotateShape = function(shape, previus, toX, toY) {
 84.3910 +      
 84.3911 +    //document.getElementById('richdraw').style.cursor='e-resize';
 84.3912 +     	 var box = shape.getBBox();  
 84.3913 +	 var prevbox=previus.getBBox();
 84.3914 +	var centerx= box.x+(box.width/2);
 84.3915 +	var centery= box.y+(box.height/2); 
 84.3916 +	var coord=this.editor.viewInputxy;
 84.3917 +
 84.3918 +       var actual_angle=ang2v(centerx,centery,coord[0], coord[1]);
 84.3919 +       
 84.3920 +       if(xrot<toX) { rotatexxx+=1;}else{rotatexxx-=1;}
 84.3921 +       xrot=toX;
 84.3922 +       yrot=toY;  
 84.3923 +       
 84.3924 +	var xtr=0;
 84.3925 +        var ytr=0;
 84.3926 +                
 84.3927 +        var box= shape.getBBox();  
 84.3928 +        var tr1x=  box.x;  
 84.3929 +         var tr1y=  box.y;
 84.3930 +
 84.3931 + 
 84.3932 + 
 84.3933 +    toX+=xtr;
 84.3934 +        toY+=xtr;
 84.3935 +
 84.3936 +      //var trax=parseFloat(toX-box.x);   var tray= parseFloat(toY-box.y);      
 84.3937 +      var trax=parseFloat(box.x/2);   var tray= parseFloat(box.y/2); 
 84.3938 +       var angler=Math.atan2(toX,toY);
 84.3939 +         var angle=angler*180/Math.PI;  
 84.3940 +          var T = shape.getCTM(); 
 84.3941 +          var rotini=T.a*(180 / Math.PI);
 84.3942 +                   var angle=rotini*180/Math.PI;
 84.3943 +          var rot_angle=actual_angle*180/Math.PI;  
 84.3944 +          this.editor.log(centerx+' '+centery+' '+coord[0]+' '+coord[1]+'____ '+rot_angle+' '+actual_angle*180/Math.PI);
 84.3945 +          
 84.3946 +          
 84.3947 +         // matrix( a, b, c, d, e, f )
 84.3948 +         // a c e
 84.3949 +         // b d f
 84.3950 +         // 0 0 1
 84.3951 +         //a scale factor of 2, a rotation of 30 deg and a translation of (500,50)
 84.3952 +         //T     1.732   -1   500     1   1.732   50     0   0   1
 84.3953 +         //T      1  ad-bc      d  -c -de+cf   -b  a  be-df    0   0   1
 84.3954 +         
 84.3955 +         //shape.setAttributeNS(null,'transform', "translate("+(-xshe)+","+(-yshe)+")");
 84.3956 + 
 84.3957 +         // shape.setAttributeNS(null,"transform", "  matrix( a, b, c, d, e, f )");
 84.3958 +          // shape.setAttributeNS(null,'transform', "translate("+(box.x+(box.width/2))+","+(box.y+(box.height/2))+")  rotate("+rotatexxx+") ");
 84.3959 +           //shape.setAttributeNS(null,'transform', "translate("+(box.x+(box.width/2))+","+(box.y+(box.height/2))+") rotate("+rotatexxx+") translate("+(-box.x-(box.width/2))+","+(-box.y-(box.height/2))+") ");
 84.3960 +         //shape.setAttributeNS(null,'transform', "rotate("+rotatexxx+","+(box.x+(box.width/2))+","+(box.y+(box.height/2))+")");
 84.3961 +         //shape.setAttributeNS(null,'transform', "rotate("+rotatexxx+","+(prevbox.x+(prevbox.width/2))+","+(prevbox.y+(prevbox.height/2))+")");
 84.3962 +         shape.setAttributeNS(null,'transform', "rotate("+rot_angle+","+(prevbox.x+(prevbox.width/2))+","+(prevbox.y+(prevbox.height/2))+")");
 84.3963 +                          
 84.3964 +         
 84.3965 +         //alert('[  ['+T.a+'  '+T.c+'  '+T.e+']  ['+T.b+'  '+T.d+'  '+T.f+']  [0  0  1]  ]');
 84.3966 +        //a,b,c,d,e,f  
 84.3967 +           
 84.3968 +          // shape.setAttributeNS(null,'transform', 'matrix('+T.a+', '+T.b+', '+ T.c+', '+ T.d+', '+ T.e+', '+ T.f+')' );
 84.3969 +          
 84.3970 +          var x1=T.e;
 84.3971 +          var y1=T.f;
 84.3972 +          var sp = Math.sin(rotatexxx*(Math.PI / 180));
 84.3973 +          var cp = Math.cos(rotatexxx*(Math.PI / 180));
 84.3974 +          var x2 = 0 + r*rotatexxx*(Math.PI / 180);
 84.3975 +          var y2 = 0;
 84.3976 +          var r=0; 
 84.3977 +           
 84.3978 +          var a=cp;
 84.3979 +          var c=sp;
 84.3980 +          var e=T.e;
 84.3981 +          var b=T.b;
 84.3982 +          var d=(-x1*cp+y1*sp+x2); 
 84.3983 +          var f=(-x1*sp-y1*cp+y2);
 84.3984 +      
 84.3985 +      var inv=T.inverse;  
 84.3986 +      var inv_mat=T.multiply(inv); 
 84.3987 +       //var matrix = "matrix(" + cp +"," + sp + "," + (-sp) + "," + cp + ","+ (-x1*cp+y1*sp+x2) + ","+ (-x1*sp-y1*cp+y2) + ")";
 84.3988 +       //var matrix = "matrix(" + a +"," + c + "," + e + "," + b + ","+ d + ","+ f + ")";
 84.3989 +      var matrix='matrix('+inv_mat.a+' '+inv_mat.b+' '+inv_mat.c+' '+inv_mat.d+' '+inv_mat.e+' '+inv_mat.f+')'
 84.3990 +      
 84.3991 +       //++ shape.setAttributeNS(null,'transform',matrix); 
 84.3992 +        
 84.3993 +        //shape.setAttributeNS(null,'transform', "rotate("+rotatexxx+")"); 
 84.3994 +        // shape.setAttributeNS(null,'transform', "translate("+(box.x)+","+(box.y)+")");
 84.3995 +        
 84.3996 +         //shape.setAttributeNS(null,'transform', "rotate("+rotatexxx+")");
 84.3997 +               //shape.setAttributeNS(null, 'x', -box.width/2 + 'px');
 84.3998 +               //shape.setAttributeNS(null, 'y', -box.height/2 + 'px');
 84.3999 +         //shape.setAttributeNS(null,"transform", "matrix("+Math.cos(angle)+", "+Math.sin(angle)+", "+Math.sin(-angle)+", "+Math.cos(angle)+", 0, 0 )");
 84.4000 +           //shape.setAttributeNS(null,'transform', "rotate("+10+")"); 
 84.4001 +   
 84.4002 +               //shape.setAttributeNS(null, 'x', box.width/2 + 'px');
 84.4003 +               //shape.setAttributeNS(null, 'y', box.height/2 + 'px');
 84.4004 +      
 84.4005 +                
 84.4006 +  
 84.4007 +          //$('status').innerHTML = 'Mode: Draw '+pointshape +'_'+xsh +' '+ ysh+' '+trshape;
 84.4008 +          
 84.4009 +  //$('status').innerHTML=typeTransform+': '+rotatexxx;  
 84.4010 +    
 84.4011 +};
 84.4012 +
 84.4013 +
 84.4014 +
 84.4015 +// x(u) = x0*(1-u) + x1*u = x0 + (x1-x0)*u
 84.4016 +// y(u) = y0*(1-u) + y1*u = y0 + (y1-y0)*u
 84.4017 +      
 84.4018 +
 84.4019 +
 84.4020 +SVGRenderer.prototype.getshapes = function(){ 
 84.4021 +  var shape = document.getElementById('rectDoc');
 84.4022 +  if (shape) {
 84.4023 +    this.remove(shape);
 84.4024 +  }  
 84.4025 +  var shape = document.getElementById('tracker'); 
 84.4026 +  if (shape) {
 84.4027 +    this.remove(shape);
 84.4028 +  } 
 84.4029 + return this.svgRoot.childNodes;
 84.4030 + // return this.container.childNodes
 84.4031 +    //return this.svgRoot
 84.4032 +} 
 84.4033 +
 84.4034 +SVGRenderer.prototype.reflect = function(HorV) {
 84.4035 +   var shape= c.selected; 
 84.4036 +   var box = shape.getBBox();  
 84.4037 +    
 84.4038 + if(shape.tagName=="path")
 84.4039 +  {
 84.4040 +  
 84.4041 +      var tx=box.x+(box.width/2);
 84.4042 +      var ty=box.y+(box.height/2);  
 84.4043 +    
 84.4044 +    if(HorV=='V'){  
 84.4045 +       var xinc=-1;
 84.4046 +       var yinc=1;   
 84.4047 +     }
 84.4048 +    if(HorV=='H'){  
 84.4049 +       var xinc=1;
 84.4050 +       var yinc=-1;   
 84.4051 +     }
 84.4052 +
 84.4053 +
 84.4054 +   var path=shape.getAttributeNS(null, 'd');
 84.4055 +   path=path.replace(/, /g, ','); 
 84.4056 +   path=path.replace(/ ,/g, ',');
 84.4057 +   var ps =path.split(" ")
 84.4058 +   var pcc = "";
 84.4059 +   var point =ps[0].split(","); 
 84.4060 +
 84.4061 +
 84.4062 +   var num0= parseFloat(point[0].substring(1));
 84.4063 +   var num1= parseFloat(point[1]);     
 84.4064 + 
 84.4065 +    var re = /^[-]?\d*\.?\d*$/; 
 84.4066 +    var axis = $V([tx,ty]);
 84.4067 +
 84.4068 +   for(var i = 0; i < ps.length; i++)
 84.4069 +    { 
 84.4070 +     if(ps[i].indexOf(',')>0){  
 84.4071 +     
 84.4072 +      var point =ps[i].split(","); 
 84.4073 +       var char1=point[0].substring(0,1); 
 84.4074 +       if(char1=='A' || char1=='a'){isArc=true; contArc=0;}
 84.4075 +       if(isArc==true){contArc++}
 84.4076 +       if(contArc==4){contArc=0; isArc=false}
 84.4077 +       
 84.4078 +       //if (isNaN(valnum)) 
 84.4079 +      if (!char1.match(re))        
 84.4080 +       { 
 84.4081 +           var num0= parseFloat(point[0].substring(1));
 84.4082 +           var text=char1;
 84.4083 +       }else{ 
 84.4084 +         if(isArc==true && contArc==2  )
 84.4085 +          {
 84.4086 +            var num0= point[0];
 84.4087 +          }else{  
 84.4088 +            var num0= parseFloat(point[0]);
 84.4089 +          }  
 84.4090 +         var text='';
 84.4091 +
 84.4092 +       }
 84.4093 + 
 84.4094 +       
 84.4095 +       if(isArc==true && contArc==2)
 84.4096 +        {   
 84.4097 +           point[1]= point[1].toString() ;
 84.4098 +        }
 84.4099 +        else
 84.4100 +        {    
 84.4101 +         
 84.4102 +          //num0*=xinc;    
 84.4103 +          point[1]= parseFloat(point[1]);
 84.4104 +          //point[1]*=yinc;
 84.4105 +          var pointIni=$V([num0,point[1],1]);
 84.4106 +          var matrT = $M([[1,0,-tx],[0,1,-ty],[0,0,1]]);
 84.4107 +          var matrS = $M([[xinc,0,0],[0,yinc,0],[0,0,1]]); 
 84.4108 +          var matrR = $M([[1,0,tx],[0,1,ty],[0,0,1]]);
 84.4109 +          var matr1= matrT.x(pointIni);  
 84.4110 +          var matr2= matrS.x(matr1);
 84.4111 +          //var pointR=pointIni.Random(1) 
 84.4112 +          //var pointR=pointIni.rotate(Math.PI/180,axis);
 84.4113 +          //var pointRc=pointIni.cross(axis); 
 84.4114 +          //var pointR=matr2;
 84.4115 +          var pointR=matrR.x(matr2);  
 84.4116 +          num0=pointR.elements[0];
 84.4117 +           point[1]=pointR.elements[1];
 84.4118 +           $('code').value=pointIni.elements[0]+','+pointR.elements[1]+' ';
 84.4119 +        }  
 84.4120 +       var cx=num0; 
 84.4121 +        var cy=point[1];   
 84.4122 +        pcc+=text+cx+','+cy+' ';
 84.4123 +        //pcc+=text+cx+','+cy+' '; 
 84.4124 +       
 84.4125 +     }else{
 84.4126 +       pcc+=ps[i]+' ';
 84.4127 +     }
 84.4128 +    } 
 84.4129 +    var svg =shape.cloneNode(false); 
 84.4130 +    svg.setAttributeNS(null,'d', pcc);  
 84.4131 +    this.svgRoot.appendChild(svg); 
 84.4132 +    return svg;
 84.4133 + }
 84.4134 +  else
 84.4135 + { 
 84.4136 +  if(shape.tagName=="text" || shape.tagName=="image" )
 84.4137 +  {
 84.4138 +
 84.4139 +  
 84.4140 +    var tr='';  
 84.4141 +    var turn0='';
 84.4142 +    var svg =shape.cloneNode(false); 
 84.4143 +    var x= shape.getAttributeNS(null, 'x');
 84.4144 +    var y= shape.getAttributeNS(null, 'y');  
 84.4145 +    x+=box.width/2;
 84.4146 +    y+=box.height/2;
 84.4147 +    if(HorV=='V')
 84.4148 +     {  
 84.4149 +       svg.setAttributeNS(null,'x',-parseFloat(x));  
 84.4150 +       var scaleSim='-1, 1';
 84.4151 +       svg.setAttributeNS(null,'transform','scale('+scaleSim+')');  
 84.4152 +       //svg.setAttributeNS(null,'y',parseFloat(x));  
 84.4153 +       svg.setAttributeNS(null,'x',-parseFloat(x));  
 84.4154 +
 84.4155 +
 84.4156 +     }
 84.4157 +    if(HorV=='H')
 84.4158 +     {  
 84.4159 +       var scaleSim='1, -1';
 84.4160 +       svg.setAttributeNS(null,'y',-parseFloat(y));  
 84.4161 +       svg.setAttributeNS(null,'transform','scale('+scaleSim+')');  
 84.4162 +       //svg.setAttributeNS(null,'x',parseFloat(x));  
 84.4163 +       svg.setAttributeNS(null,'y',-parseFloat(y));  
 84.4164 +
 84.4165 +
 84.4166 +     } 
 84.4167 +
 84.4168 +    if(shape.hasAttributeNS(null, 'transform'))
 84.4169 +     { 
 84.4170 +      tr=shape.getAttributeNS(null, 'transform');  
 84.4171 +      turn0=GetString(tr,'rotate(',')');
 84.4172 +
 84.4173 +      svg.setAttributeNS(null,'transform','rotate('+turn+'),scale('+scaleSim+')');  
 84.4174 +      svg.setAttributeNS(null,'x',parseFloat(x));  
 84.4175 +      svg.setAttributeNS(null,'y',parseFloat(y));  
 84.4176 +      
 84.4177 +      //svg.setAttributeNS(null,'transform','rotate('+turn+'),scale('+'');  
 84.4178 +     }else{
 84.4179 +       
 84.4180 +     }   
 84.4181 +     
 84.4182 +    
 84.4183 +    
 84.4184 +     if(shape.tagName=="text"){  
 84.4185 +        var text=shape.textContent ; 
 84.4186 +        svg.textContent=text;     
 84.4187 +     }
 84.4188 +     //svg.setAttributeNS(null,'writing-mode',mode); 
 84.4189 +     //svg.setAttributeNS(null,'glyph-orientation-horizontal','0deg');
 84.4190 +     //
 84.4191 +     //svg.appendChild(text); 
 84.4192 +   
 84.4193 +     this.svgRoot.appendChild(svg); 
 84.4194 +     return svg;
 84.4195 +  }
 84.4196 +  else
 84.4197 +  {
 84.4198 +  if(shape.hasAttributeNS(null, 'transform'))
 84.4199 +   { 
 84.4200 +   
 84.4201 +     
 84.4202 +     var tr=shape.getAttributeNS(null, 'transform');  
 84.4203 +     var turn0=GetString(tr, 'rotate(',',');
 84.4204 +     turn0=parseFloat(turn0); 
 84.4205 +     //alert(turn0);
 84.4206 +     
 84.4207 +     if(HorV=='V'){  
 84.4208 +       var angle=180;
 84.4209 +       //var turn=(turn0+angle)-(turn0-90);  
 84.4210 +       var turn=turn0+((angle-turn0)*2); 
 84.4211 +     }
 84.4212 +    if(HorV=='H'){  
 84.4213 +       var angle=90;
 84.4214 +       var turn=turn0+((angle-turn0)*2);   
 84.4215 +     }       
 84.4216 +     var centerx= box.x+(box.width/2);
 84.4217 +     var centery= box.y+(box.height/2); 
 84.4218 +     //this.editor.log(centerx+' '+centery+' '+coord[0]+' '+coord[1]+'____ '+rot_angle+' '+actual_angle*180/Math.PI);
 84.4219 +     var svg =shape.cloneNode(false); 
 84.4220 +     svg.setAttributeNS(null,'transform', "rotate("+turn+","+centerx+","+centery+")");
 84.4221 +     this.svgRoot.appendChild(svg); 
 84.4222 +    return svg;
 84.4223 +   }
 84.4224 +    else
 84.4225 +   {  
 84.4226 +     var centerx= box.x+(box.width/2);
 84.4227 +     var centery= box.y+(box.height/2); 
 84.4228 +     shape.setAttributeNS(null,'transform', "rotate("+180+","+centerx+","+centery+")");
 84.4229 +
 84.4230 +   }
 84.4231 +  } 
 84.4232 + }
 84.4233 +};
 84.4234 +//http://dev.opera.com/articles/view/svg-evolution-2-our-first-steps-into-sv/?page=3
 84.4235 +//http://www.w3.org/TR/2000/03/WD-SVG-20000303/exchange.html#StylingAttributes
 84.4236 +//http://www.xml.com/lpt/a/1390
 84.4237 +
 84.4238 +
 84.4239 +
 84.4240 +
 84.4241 +
 84.4242 +
 84.4243 +
 84.4244 +//http://xml-utils.com/conferencia-svg.html#d0e527
 84.4245 +//http://www.xml.com/lpt/a/1321
 84.4246 +//http://phrogz.net/objjob/object.asp?id=101
 84.4247 +//http://admisource.gouv.fr/plugins/scmcvs/cvsweb.php/Cassini-ihm/js-yosemite/mapApp.js?rev=1.1;cvsroot=cassini
 84.4248 +//http://groups.google.com/group/prototype-graphic/msg/0547c0caea8869c6 
 84.4249 +//http://sylvester.jcoglan.com/ 
 84.4250 \ No newline at end of file
    85.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    85.2 +++ b/onlypaths/js/svgrenderer_mini.js	Sun Jan 31 12:33:33 2010 -0500
    85.3 @@ -0,0 +1,3588 @@
    85.4 +/*----------------------------------------------------------------------------
    85.5 + SVGRENDERER 1.0
    85.6 + SVG Renderer For RichDraw
    85.7 + -----------------------------------------------------------------------------
    85.8 + Created by Mark Finkle (mark.finkle@gmail.com)
    85.9 + Implementation of SVG based renderer.
   85.10 + -----------------------------------------------------------------------------
   85.11 +*/
   85.12 +function AbstractRenderer() {
   85.13 +
   85.14 +};
   85.15 +
   85.16 +AbstractRenderer.prototype.init = function(elem) {};
   85.17 +AbstractRenderer.prototype.bounds = function(shape) { return { x:0, y:0, width:0, height: 0 }; };
   85.18 +
   85.19 +function SVGRenderer() {
   85.20 +	this.base = AbstractRenderer;
   85.21 +	this.svgRoot = null;
   85.22 +}
   85.23 +
   85.24 +
   85.25 +SVGRenderer.prototype = new AbstractRenderer;
   85.26 +
   85.27 +
   85.28 +
   85.29 +
   85.30 +SVGRenderer.prototype.init = function(elem) {
   85.31 +  this.container = elem;
   85.32 +
   85.33 +  this.container.style.MozUserSelect = 'none';
   85.34 +    
   85.35 +  var svgNamespace = 'http://www.w3.org/2000/svg'; 
   85.36 +  
   85.37 +  this.svgRoot = this.container.ownerDocument.createElementNS(svgNamespace, "svg");
   85.38 +  this.svgRoot.setAttributeNS(null,'viewBox', zoominit);
   85.39 +  this.svgRoot.setAttributeNS(null,'preserveAspectRatio','none');
   85.40 +  this.svgRoot.setAttributeNS(null,'space','preserve');
   85.41 +  this.container.appendChild(this.svgRoot);
   85.42 +}
   85.43 +
   85.44 +SVGRenderer.prototype.view = function(left,top,width,height,viewBox) {
   85.45 + if(mode=='preview')
   85.46 + {
   85.47 +   var svgNamespace = 'http://www.w3.org/2000/svg'; 
   85.48 +   var tokens = viewBox.split(' ');       
   85.49 +   var prx=100;
   85.50 +   this.container.style.top =(parseInt(document.getElementById('FRONT').style.height)-height)/2+'px' 
   85.51 +
   85.52 +   this.container.style.width = width;//document.getElementById('FRONT').style.width; 
   85.53 +   this.container.style.height =height;//document.getElementById('FRONT').style.height;     
   85.54 +   //alert(this.container.style.width+' '+width)     
   85.55 +   //alert(this.container.style.height+' '+height)
   85.56 +   this.svgRoot.setAttributeNS(null,'x', left);
   85.57 +   this.svgRoot.setAttributeNS(null,'y', top); 
   85.58 +   this.svgRoot.setAttributeNS(null,'width', width);
   85.59 +   this.svgRoot.setAttributeNS(null,'height', height); 
   85.60 +   
   85.61 +   var x=parseFloat(tokens[0])-prx*4;
   85.62 +   var y=parseFloat(tokens[1])-prx*2;
   85.63 +   var w=parseFloat(tokens[2])+prx;
   85.64 +   var h=parseFloat(tokens[3])+prx;
   85.65 +   //workspace= x+''+y+''+w+''+h;
   85.66 +   //workspace= left+''+top+''+width+''+heigth;    
   85.67 +   this.svgRoot.setAttributeNS(null,'viewBox', viewBox);
   85.68 +   //this.svgRoot.setAttributeNS(null,'viewBox', workspace); 
   85.69 +   //zoominit = workspace;
   85.70 +  } 
   85.71 +   else
   85.72 +  {     
   85.73 +       this.container.style.top =0+'px'; 
   85.74 +
   85.75 +         var tokens = viewBox.split(' '); 
   85.76 +        proporImage= (parseFloat(tokens[2])-parseFloat(tokens[0]))/(parseFloat(tokens[3])-parseFloat(tokens[1])); 
   85.77 +        //alert(proporImage +' '+proporCanvas) 
   85.78 +        //if(marginx<=parseInt(document.getElementById('FRONT').style.width)){marginx=0;}
   85.79 +        docx=parseFloat(tokens[0]);
   85.80 +        docy=parseFloat(tokens[1]);
   85.81 +        docw=parseFloat(tokens[2]);
   85.82 +        doch=parseFloat(tokens[3]);
   85.83 + 
   85.84 +         marginx=(parseInt(document.getElementById('FRONT').style.width)-(parseFloat(tokens[2])-parseFloat(tokens[0])))/2;
   85.85 +         marginy=(parseInt(document.getElementById('FRONT').style.height)-(parseFloat(tokens[3])-parseFloat(tokens[1])))/2;
   85.86 +        //if(marginx<=0){marginx=0;}
   85.87 +        //if(marginy<=0){marginy=0;}
   85.88 +        var x=(parseFloat(tokens[0])-marginx);
   85.89 +        var y=(parseFloat(tokens[1])-marginy);
   85.90 +        var w=(parseFloat(tokens[2])+marginx*2);
   85.91 +        var h=(parseFloat(tokens[3])+marginy*2); 
   85.92 +        //alert(tokens[3]+' '+tokens[1]+' / '+(parseFloat(tokens[3])-parseFloat(tokens[1]))+' '+parseInt(document.getElementById('FRONT').style.height)+' /'+h+' '+height);
   85.93 +        //if(h>=parseInt(document.getElementById('FRONT').style.height)){h=parseInt(document.getElementById('FRONT').style.height);}
   85.94 +        //if(h>=parseInt(document.getElementById('FRONT').style.height)){y=0;h=600;}//parseInt(document.getElementById('FRONT').style.height)*2}
   85.95 +        zoominit1 = x+' '+y+' '+w+' '+h;  
   85.96 +        //alert(this.container.style.height+' '+height+' '+h+' '+zoominit1)
   85.97 +        this.svgRoot.setAttributeNS(null,'width', w);   
   85.98 +        this.svgRoot.setAttributeNS(null,'height', h); 
   85.99 +        this.svgRoot.setAttributeNS(null,'viewBox', zoominit1);
  85.100 +        zoomx=x;
  85.101 +        zoomy=y;       
  85.102 +        //this.svgRoot.setAttributeNS(null,'viewBox', zoominit;
  85.103 +        //this.rectCanvas(x,y,w,h,zoominit)
  85.104 +        //this.rectCanvas(left,top,width,height,viewBox) 
  85.105 +        
  85.106 +  }
  85.107 +}
  85.108 +
  85.109 +SVGRenderer.prototype.zoomFrame = function(zoom){
  85.110 +   this.svgRoot.setAttributeNS(null,'viewBox', zoom);
  85.111 +}
  85.112 +
  85.113 +SVGRenderer.prototype.rectDoc = function(viewBox) {
  85.114 +  var svgNamespace = 'http://www.w3.org/2000/svg'; 
  85.115 +        var tokens = viewBox.split(' ');   
  85.116 +  var shape = document.getElementById('rectCanvas');
  85.117 +  if (shape) {
  85.118 +    this.remove(shape);
  85.119 +  } 
  85.120 +  var rect=this.container.ownerDocument.createElementNS(svgNamespace, 'rect');
  85.121 +  rect.setAttributeNS(null, 'id', 'rectDoc');
  85.122 +  rect.setAttributeNS(null, 'x', tokens[0] + 'px');
  85.123 +  rect.setAttributeNS(null, 'y', tokens[1] + 'px');
  85.124 +  rect.setAttributeNS(null, 'width', tokens[2]+ 'px');
  85.125 +  rect.setAttributeNS(null, 'height', tokens[3] + 'px');  
  85.126 +  rect.setAttributeNS(null, 'fill', 'none');
  85.127 +  rect.setAttributeNS(null, 'stroke', '#000000');
  85.128 +  rect.setAttributeNS(null, 'stroke-width', 1+'px');
  85.129 + // this.svgRoot.appendChild(rect)  
  85.130 +  this.svgRoot.appendChild(rect);  
  85.131 +  
  85.132 +}
  85.133 +SVGRenderer.prototype.rectCanvas = function(docx,docy,docw,doch,viewBox) {
  85.134 +
  85.135 +   var svgNamespace = 'http://www.w3.org/2000/svg'; 
  85.136 + 
  85.137 +   var tokens = zoominit1.split(' ');    
  85.138 +  var shape = document.getElementById('rectCanvas');
  85.139 +  if (shape) {
  85.140 +    this.remove(shape);
  85.141 +  }     
  85.142 +  
  85.143 +  var rect=this.container.ownerDocument.createElementNS(svgNamespace, 'rect');
  85.144 +  rect.setAttributeNS(null, 'id', 'rectBackground');
  85.145 +  rect.setAttributeNS(null, 'x', tokens[0] + 'px');
  85.146 +  rect.setAttributeNS(null, 'y', tokens[1] + 'px');
  85.147 +  rect.setAttributeNS(null, 'width', tokens[2] + 'px');
  85.148 +  rect.setAttributeNS(null, 'height', tokens[3] + 'px');  
  85.149 +  rect.setAttributeNS(null, 'fill', '#666666');
  85.150 +  rect.setAttributeNS(null, 'stroke', 'none');
  85.151 +  //this.svgRoot.appendChild(rect)     
  85.152 +   this.svgRoot.insertBefore( rect, this.svgRoot.firstChild );
  85.153 +
  85.154 +  //this.index('rectBackground',0);
  85.155 +  
  85.156 + /*  var shape = document.getElementById('rectOverCanvas');
  85.157 +  if (shape) {
  85.158 +    this.remove(shape);
  85.159 +  } 
  85.160 +  var rect=this.container.ownerDocument.createElementNS(svgNamespace, 'rect');
  85.161 +  rect.setAttributeNS(null, 'id', 'rectOverCanvas');
  85.162 +  rect.setAttributeNS(null, 'x', docx + 'px');
  85.163 +  rect.setAttributeNS(null, 'y', docy + 'px');
  85.164 +  rect.setAttributeNS(null, 'width', docw + 'px');
  85.165 +  rect.setAttributeNS(null, 'height', doch + 'px');  
  85.166 +  rect.setAttributeNS(null, 'fill', 'none');
  85.167 +  rect.setAttributeNS(null, 'stroke', '#000000');
  85.168 +  rect.setAttributeNS(null, 'stroke-width', 1+'px');
  85.169 + // this.svgRoot.appendChild(rect)  
  85.170 +  this.svgRoot.insertBefore( rect, this.svgRoot.lastChild );
  85.171 +  */
  85.172 +}
  85.173 +
  85.174 +SVGRenderer.prototype.removeAll = function() 
  85.175 +{  
  85.176 + while( this.svgRoot.hasChildNodes () )
  85.177 + {
  85.178 +   this.svgRoot.removeChild( this.svgRoot.firstChild );
  85.179 + }
  85.180 +}
  85.181 +
  85.182 +SVGRenderer.prototype.create = function(shape, fillColor, lineColor, fillOpac, lineOpac, lineWidth, left, top, width, height, textMessaje, textSize, textFamily, imageHref, points, transform, parent) {
  85.183 +  var svgNamespace = 'http://www.w3.org/2000/svg'; 
  85.184 +  var xlinkNS="http://www.w3.org/1999/xlink"; 
  85.185 + 
  85.186 +  var svg;  
  85.187 +  
  85.188 +  if (shape == 'rect') {
  85.189 +    svg = this.container.ownerDocument.createElementNS(svgNamespace, 'rect');
  85.190 +    svg.setAttributeNS(null, 'x', left + 'px');
  85.191 +    svg.setAttributeNS(null, 'y', top + 'px');
  85.192 +    svg.setAttributeNS(null, 'width', width + 'px');
  85.193 +    svg.setAttributeNS(null, 'height', height + 'px');  
  85.194 +    svg.style.position = 'absolute';
  85.195 +  }
  85.196 +  else if (shape == 'ellipse' || shape == 'circle') {
  85.197 +    
  85.198 +    svg = this.container.ownerDocument.createElementNS(svgNamespace, 'ellipse');
  85.199 +    svg.setAttributeNS(null, 'cx', (left + width / 2) + 'px');
  85.200 +    svg.setAttributeNS(null, 'cy', (top + height / 2) + 'px');
  85.201 +    if(shape == 'circle'){
  85.202 +     svg.setAttributeNS(null, 'rx', (width / 2) + 'px');
  85.203 +     svg.setAttributeNS(null, 'ry', (width / 2) + 'px');   
  85.204 +    }else{
  85.205 +     svg.setAttributeNS(null, 'rx', (width / 2) + 'px');
  85.206 +     svg.setAttributeNS(null, 'ry', (height / 2) + 'px');   
  85.207 +    
  85.208 +    }
  85.209 +    svg.style.position = 'absolute';
  85.210 +  }
  85.211 +  else if (shape == 'roundrect') {
  85.212 +    svg = this.container.ownerDocument.createElementNS(svgNamespace, 'rect');
  85.213 +    svg.setAttributeNS(null, 'x', left + 'px');
  85.214 +    svg.setAttributeNS(null, 'y', top + 'px');   
  85.215 +    
  85.216 +    var percent = width*20/100;
  85.217 +    if(width<height)
  85.218 +    var percent = width*20/100;  
  85.219 +    else
  85.220 +    var percent = height*20/100;
  85.221 +    
  85.222 +    svg.setAttributeNS(null, 'rx', percent+'px');
  85.223 +    svg.setAttributeNS(null, 'ry', percent+'px');
  85.224 +    svg.setAttributeNS(null, 'width', width + 'px');
  85.225 +    svg.setAttributeNS(null, 'height', height + 'px');   
  85.226 +    svg.style.position = 'absolute';
  85.227 +  }
  85.228 +  else if (shape == 'line') {
  85.229 +    svg = this.container.ownerDocument.createElementNS(svgNamespace, 'line');
  85.230 +    svg.setAttributeNS(null, 'x1', left + 'px');
  85.231 +    svg.setAttributeNS(null, 'y1', top + 'px');
  85.232 +    svg.setAttributeNS(null, 'x2', left + width + 'px');
  85.233 +    svg.setAttributeNS(null, 'y2', top + height + 'px');  
  85.234 +    svg.style.position = 'absolute';
  85.235 +  } 
  85.236 +  else if (shape == 'polyline') {
  85.237 +    var xcenterpoly=xpArray;
  85.238 +    var ycenterpoly=ypArray;
  85.239 +    var thispath=''+xpArray[1]+','+ypArray[1];
  85.240 +    svg = this.container.ownerDocument.createElementNS(svgNamespace, 'polyline');  
  85.241 +    svg.setAttributeNS(null, 'points', points);
  85.242 +    svg.style.position = 'absolute';
  85.243 +  }
  85.244 +  else if (shape == 'path')
  85.245 +    {
  85.246 +    var k = (Math.sqrt(2)-1)*4/3;
  85.247 +    var circle="M 0,1 L 0.552,1 1,0.552  1,0  1,-0.552  0.552,-1 0,-1 -0.552,-1 -1,-0.552 -1,0  -1,0.552  -0.552,1  0,1z"  // 4th
  85.248 +    svg = this.container.ownerDocument.createElementNS(svgNamespace, 'path');   
  85.249 +    svg.setAttributeNS(null, 'd', points);  	
  85.250 +    svg.style.position = 'absolute';  
  85.251 +    } 
  85.252 +     else if (shape == 'controlpath')
  85.253 +    {
  85.254 +    var point='M '+left+','+top+' L '+(left+1)+','+(top+1)+'z'  // 4th
  85.255 +    svg = this.container.ownerDocument.createElementNS(svgNamespace, 'path');   
  85.256 +    svg.setAttributeNS(null, 'd', point);  	
  85.257 +    svg.setAttributeNS(null,'transform', "translate(0,0)"); 
  85.258 +    svg.style.position = 'absolute';  
  85.259 +    } 
  85.260 + else if (shape == 'text') {
  85.261 +    var data = this.container.ownerDocument.createTextNode(textMessaje);
  85.262 +    svg = this.container.ownerDocument.createElementNS(svgNamespace, 'text');
  85.263 +    svg.setAttributeNS(null, 'x', parseFloat(left) + 'px');
  85.264 +    svg.setAttributeNS(null, 'y', parseFloat(top) + 'px');
  85.265 +    svg.setAttributeNS(null, 'font-family', textFamily );
  85.266 +    svg.setAttributeNS(null, 'font-size', parseFloat(textSize)); 
  85.267 +    svg.setAttributeNS(null, 'text-anchor','middle'); 
  85.268 +    
  85.269 +    svg.style.position = 'absolute';  
  85.270 +    svg.appendChild(data);   
  85.271 + } 
  85.272 +  else if (shape == 'clipPath') {
  85.273 +    svg = this.container.ownerDocument.createElementNS(svgNamespace, 'clipPath');
  85.274 +     
  85.275 +
  85.276 + }  
  85.277 + else if (shape == 'linearGradient') {
  85.278 +    svg = this.container.ownerDocument.createElementNS(svgNamespace, 'linearGradient');
  85.279 +    svg.setAttributeNS(null, 'x1', parseFloat(left));
  85.280 +    svg.setAttributeNS(null, 'y1', parseFloat(top ));
  85.281 +    svg.setAttributeNS(null, 'x2', parseFloat(width));
  85.282 +    svg.setAttributeNS(null, 'y2', parseFloat(height));  
  85.283 +
  85.284 + }  
  85.285 + else if (shape == 'stop') {
  85.286 +    svg = this.container.ownerDocument.createElementNS(svgNamespace, 'stop');
  85.287 +    svg.setAttributeNS(null, 'stop-color', fillColor);
  85.288 +    svg.setAttributeNS(null, 'stop-opacity', parseFloat(fillOpac));
  85.289 +    svg.setAttributeNS(null, 'offset', parseFloat(lineOpac));  
  85.290 +
  85.291 + } 
  85.292 +  else if (shape == 'group') {
  85.293 +    svg = this.container.ownerDocument.createElementNS(svgNamespace, 'g');
  85.294 +    svg.setAttributeNS(null, 'x', left + 'px');
  85.295 +    svg.setAttributeNS(null, 'y', top + 'px');
  85.296 +    svg.setAttributeNS(null, 'width', width + 'px');
  85.297 +    svg.setAttributeNS(null, 'height', height + 'px');  
  85.298 +    svg.setAttributeNS(null, 'fill-opacity', parseFloat(fillOpac));  
  85.299 +    svg.setAttributeNS(null, 'fill', fillColor);
  85.300 + } 
  85.301 + else if (shape == 'image') { 
  85.302 +    var svg = this.container.ownerDocument.createElementNS(svgNamespace, 'image');
  85.303 +    svg.setAttributeNS(xlinkNS,'href', imageHref);
  85.304 +    svg.setAttributeNS(null, 'x', left  + 'px');
  85.305 +    svg.setAttributeNS(null, 'y', top + 'px');
  85.306 +    svg.setAttributeNS(null, 'width', width + 'px');
  85.307 +    svg.setAttributeNS(null, 'height', height + 'px');  
  85.308 +    svg.setAttributeNS(null, 'opacity', parseFloat(fillOpac));
  85.309 +    svg.setAttributeNS(null, 'preserveAspectRatio','none');//xMinYMin slice  
  85.310 + } 
  85.311 + 
  85.312 + if(shape == 'zoom') 
  85.313 +  {
  85.314 +        
  85.315 +  }else
  85.316 +  {                                          
  85.317 +       if(transform!='')
  85.318 +        {
  85.319 +         svg.setAttributeNS(null, 'transform', transform);      
  85.320 +        }
  85.321 +       if(shape != 'image' || shape != 'group' || shape != 'stop' )
  85.322 +
  85.323 +        { 
  85.324 +         if (lineColor.length == 0){ lineColor = 'none';} 
  85.325 +         if (fillColor.length == 0){ fillColor = 'none';} 
  85.326 +          svg.setAttributeNS(null, 'fill', fillColor);
  85.327 +          svg.setAttributeNS(null, 'stroke', lineColor);
  85.328 +          svg.setAttributeNS(null, 'stroke-width', parseFloat(lineWidth));
  85.329 +          svg.setAttributeNS(null, 'fill-opacity', parseFloat(fillOpac));  
  85.330 +          svg.setAttributeNS(null, 'stroke-opacity',parseFloat(lineOpac));
  85.331 +          svg.setAttributeNS(null, 'stroke-linejoin','round')         
  85.332 +      
  85.333 +         }   
  85.334 +         
  85.335 +         
  85.336 +     if(parent==''){
  85.337 +       this.svgRoot.appendChild(svg);
  85.338 +     }else{  
  85.339 +       if(document.getElementById(parent)){   
  85.340 +         var parentShape = document.getElementById(parent);
  85.341 +         parentShape.appendChild(svg);
  85.342 +        } 
  85.343 +     }   
  85.344 +
  85.345 +          return svg;   
  85.346 +             
  85.347 +   }        
  85.348 +  
  85.349 +}; 
  85.350 +
  85.351 +SVGRenderer.prototype.zoomFrame = function(zoom){
  85.352 +   this.svgRoot.setAttributeNS(null,'viewBox', zoom);
  85.353 +
  85.354 + 
  85.355 +}
  85.356 +SVGRenderer.prototype.zoom = function(clicx,clicy){ 
  85.357 +/* 
  85.358 +function(direction, amount) { 
  85.359 +var viewBox = this.rootNode.getAttribute('viewBox');
  85.360 +    var viewVals = viewBox.split(' ');
  85.361 +    if (amount == null) {
  85.362 +        amount = SVGElement.panFactor;
  85.363 +    }
  85.364 +    switch (direction) {
  85.365 +        case 'left':
  85.366 +            amount = 0 - amount;
  85.367 +            // intentionally fall through
  85.368 +        case 'right':
  85.369 +            var currentPosition = parseFloat(viewVals[0]);
  85.370 +            currentPosition += amount;
  85.371 +            viewVals[0] = currentPosition;
  85.372 +            break;
  85.373 +        case 'up':
  85.374 +            amount = 0 - amount;
  85.375 +            // intentionally fall through
  85.376 +        case 'down':
  85.377 +            var currentPosition = parseFloat(viewVals[1]);
  85.378 +            currentPosition += amount;
  85.379 +            viewVals[1] = currentPosition;
  85.380 +            break;
  85.381 +        case 'origin':
  85.382 +            // reset everything to initial values
  85.383 +            viewVals[0] = 0;
  85.384 +            viewVals[1] = 0;
  85.385 +            this.rootNode.currentScale = 1;
  85.386 +            this.rootNode.currentTranslate.x = 0;
  85.387 +            this.rootNode.currentTranslate.y = 0;
  85.388 +            break;
  85.389 +    }
  85.390 +    this.rootNode.setAttribute('viewBox', viewVals.join(' '));        
  85.391 + */
  85.392 + 
  85.393 +      
  85.394 +      
  85.395 +      //canvasWidth
  85.396 +      //canvasheight
  85.397 +   if(zoommode=='frame')
  85.398 +    {   
  85.399 +       var viewBox = this.svgRoot.getAttributeNS(null,'viewBox'); 
  85.400 +     
  85.401 +       //alert(viewBox);
  85.402 +      
  85.403 +       var viewBox = zoominit;  
  85.404 +       var viewVals = viewBox.split(' ');
  85.405 +       
  85.406 +       zoomx = parseFloat(viewVals[0]); 
  85.407 +       zoomy = parseFloat(viewVals[1]);  
  85.408 +       zoomw = parseFloat(viewVals[2]); 
  85.409 +       zoomh = parseFloat(viewVals[3]);    
  85.410 +       proporDiagonal=1;
  85.411 +    }
  85.412 +     else
  85.413 +    {   
  85.414 +       
  85.415 +       var viewBox = this.svgRoot.getAttributeNS(null,'viewBox'); 
  85.416 +      
  85.417 +       var viewVals = viewBox.split(' ');
  85.418 +       var prevX = parseFloat(viewVals[0]); 
  85.419 +       var prevY = parseFloat(viewVals[1]);  
  85.420 +       var prevW = parseFloat(viewVals[2]); 
  85.421 +       var prevH = parseFloat(viewVals[3]); 
  85.422 +       var prevWidth=prevW-prevX;  
  85.423 +       var prevHeight=prevH-prevY;   
  85.424 +        
  85.425 +    }
  85.426 +   
  85.427 +      if(zoommode=='more')
  85.428 +       {             
  85.429 +        fieldViewx=prevW*0.95; 
  85.430 +        fieldViewy=prevH*0.95;  
  85.431 +        diagonalFrame=dist2p(0,0,fieldViewx,fieldViewy);
  85.432 +        //diagonalAngle=getAngle(fieldViewx,fieldViewy);                                  
  85.433 +        zoomx=(diagonalMidx+(diagonalFrame/2)*Math.cos(diagonalAngle+Math.PI));//-(fieldViewx/8);//-(canvasW/2)docx-fieldViewx;
  85.434 +        zoomy=(diagonalMidy+(diagonalFrame/2)*Math.sin(diagonalAngle+Math.PI));//-(fieldViewy/8);//-(canvasH/2);//docy-fieldViewy;
  85.435 +       zoomw=prevW*0.95;
  85.436 +       zoomh=prevH*0.95;    
  85.437 +                            
  85.438 +     
  85.439 +        proporDiagonal=diagonalFrame/diagonalinit; 
  85.440 +        //alert(proporDiagonal);
  85.441 +       }
  85.442 +      if(zoommode=='minus') 
  85.443 +       {
  85.444 +        fieldViewx=prevW*1.05; 
  85.445 +        fieldViewy=prevH*1.05;  
  85.446 +        diagonalFrame=dist2p(0,0,fieldViewx,fieldViewy);
  85.447 +       //diagonalAngle=getAngle(fieldViewx,fieldViewy);                                  
  85.448 +        zoomx=(diagonalMidx+(diagonalFrame/2)*Math.cos(diagonalAngle+Math.PI));//-(fieldViewx/8);//-(canvasW/2)docx-fieldViewx;
  85.449 +        zoomy=(diagonalMidy+(diagonalFrame/2)*Math.sin(diagonalAngle+Math.PI));//-(fieldViewy/8);//-(canvasH/2);//docy-fieldViewy;
  85.450 +        zoomw=prevW*1.05;
  85.451 +        zoomh=prevH*1.05; 
  85.452 +        proporDiagonal=diagonalFrame/diagonalinit;  
  85.453 +
  85.454 +       } 
  85.455 +      if(zoommode=='window')
  85.456 +       {             
  85.457 +          
  85.458 +        zoomx=c.mouseDownX;
  85.459 +        zoomy=c.mouseDownY; 
  85.460 +        var dF=dist2p(c.mouseDownX,c.mouseDownY,clicx,clicy);
  85.461 +        //var mid=pmd2pb(c.clicX,c.clicX,clicx,clicy,0.5)
  85.462 +        zoomw=dF*proporDoc;//(mid[1]+(dF/2)*Math.cos(diagonalAngle+Math.PI));
  85.463 +        zoomh=dF;//(mid[2]+(dF/2)*Math.sin(diagonalAngle+Math.PI));
  85.464 +    
  85.465 +        
  85.466 +       }      
  85.467 +       var direction=0;
  85.468 +      if(zoommode=='hand') 
  85.469 +       {        
  85.470 +        direction=ang2v(clicx,clicy,centerZoomx,centerZoomy);
  85.471 +        var distance=dist2p(clicx,clicy,centerZoomx,centerZoomy);
  85.472 +        var left = prevX+distance*Math.cos(direction); 
  85.473 +        var top = prevY+distance*Math.sin(direction); 
  85.474 +        makeWorkSite(prevH,left,top); 
  85.475 +       }
  85.476 +       direction=direction*180/Math.PI;
  85.477 +        //this.svgRoot.currentScale = zoomscale+0.1;
  85.478 +        //this.svgRoot.currentTranslate.x = 0;
  85.479 +        //this.svgRoot.currentTranslate.y = 0; 
  85.480 +        //var resultPosx=clicx-((prevscalex-posx)/2);//-Math.abs(posx+clicx)
  85.481 +        //var resultPosy=clicy-((prevscalex-posy)/2);//-Math.abs(posy+clicy)
  85.482 +        //var resultPosx=-Math.abs(posx+clicx);
  85.483 +        //var resultPosy=-Math.abs(posy+clicy);        
  85.484 +
  85.485 +  this.svgRoot.setAttributeNS(null,'viewBox', (zoomx)+' '+(zoomy)+' '+zoomw+' '+zoomh+'');
  85.486 +  var viewBox = this.svgRoot.getAttributeNS(null,'viewBox'); 
  85.487 +  //$('status').innerHTML=' '+viewBox; 
  85.488 +  //alert(direction+'__'+prevZoomCenterx+' '+prevZoomCentery+' '+centerZoomx+' '+centerZoomy);
  85.489 +}  
  85.490 +
  85.491 +//this.mode, this.fillColor, this.lineColor, this.fillOpac, this.lineOpac, this.lineWidth, this.mouseDownX, this.mouseDownY, 1, 1,'',''
  85.492 +SVGRenderer.prototype.datacreate = function(fillColor, lineColor, fillOpac, lineOpac, lineWidth, left, top, width, height, textMessaje, textSize, textFamily, imageHref, transform) {
  85.493 +  var svgNamespace = 'http://www.w3.org/2000/svg';
  85.494 +  var svg;
  85.495 +  svg = this.container.ownerDocument.createElementNS(svgNamespace, 'path');   
  85.496 +  svg.setAttributeNS(null, 'd', data);  	
  85.497 +  svg.setAttributeNS(null,'transform', "translate(0,0)"); 
  85.498 +  svg.style.position = 'absolute';  
  85.499 +  if (fillColor.length == 0){fillColor = 'none';}
  85.500 +  svg.setAttributeNS(null, 'fill', fillColor);
  85.501 +  if (lineColor.length == 0){lineColor = 'none';}
  85.502 +  svg.setAttributeNS(null, 'stroke', lineColor);
  85.503 +  svg.setAttributeNS(null, 'stroke-width', lineWidth); 
  85.504 +  this.svgRoot.appendChild(svg);
  85.505 +  return svg;
  85.506 +};
  85.507 +
  85.508 +SVGRenderer.prototype.index = function(shape,order) {  
  85.509 + 
  85.510 +     if(order==-1)
  85.511 +      {
  85.512 +        this.svgRoot.appendChild( shape );
  85.513 +      }
  85.514 +      if(order==0){
  85.515 +     
  85.516 +         this.svgRoot.insertBefore( shape, shape.parentNode.firstChild );
  85.517 +      } 
  85.518 + 
  85.519 +   if(order==1 || order==2)
  85.520 +    {
  85.521 +         var id=shape.getAttributeNS(null, 'id');
  85.522 +        //alert(id);
  85.523 +        
  85.524 +        
  85.525 +        var numNodes=this.svgRoot.childNodes.length;
  85.526 +        //alert(numNodes);
  85.527 +          
  85.528 +        var num=0;
  85.529 +        for(var i = 1; i < numNodes; i++)
  85.530 +         {                                                   
  85.531 +           
  85.532 +           var etiq=this.svgRoot.childNodes[i].getAttributeNS(null, 'id');
  85.533 +           if (etiq==id)
  85.534 +            { 
  85.535 +                num=i; 
  85.536 +               
  85.537 +            }                                                    
  85.538 +          } 
  85.539 +          //alert(num);    
  85.540 +          if(order==1) 
  85.541 +           {   
  85.542 +              if((num-1)>=-1)
  85.543 +               {  
  85.544 +                this.svgRoot.insertBefore( shape, this.svgRoot.childNodes[num-1]);
  85.545 +               } 
  85.546 +           }
  85.547 +          if(order==2){ 
  85.548 +               if((num+1)<numNodes)
  85.549 +               {
  85.550 +                  this.svgRoot.insertBefore( shape, this.svgRoot.childNodes[num+2]);
  85.551 +               }
  85.552 +          } 
  85.553 +          
  85.554 +    } 
  85.555 +    
  85.556 +    
  85.557 +   /*var contshapes =  shape.parentNode.childNodes.length;       
  85.558 +   var elem1 = shape;//this.svgRoot.childNodes[1]; 
  85.559 +   var elem2 = shape.parentNode.childNodes[parseInt(contshapes-9)];
  85.560 +    var tmp = elem1.cloneNode( true );
  85.561 +    shape.parentNode.replaceChild( tmp, elem2 );
  85.562 +    shape.parentNode.replaceChild( elem2, elem1 ); 
  85.563 +    */
  85.564 +    //alert(elem2+' '+ elem1 ) 
  85.565 +    //return  elem2;
  85.566 +    
  85.567 +}
  85.568 +SVGRenderer.prototype.remove = function(shape) {
  85.569 +  //shape.parentNode.removeChild(shape);
  85.570 +  this.svgRoot.removeChild(shape);
  85.571 +}
  85.572 +
  85.573 +
  85.574 +SVGRenderer.prototype.copy = function(shape) 
  85.575 + {
  85.576 +   var svg;
  85.577 +   svg =shape.cloneNode(false); 
  85.578 +     if(shape.tagName=="text"){  
  85.579 +        var text=shape.textContent ; 
  85.580 +        svg.textContent=text;     
  85.581 +     } 
  85.582 +    //svg.setAttributeNS(null, 'fill', "#aa00aa");
  85.583 +   return svg;
  85.584 + };
  85.585 +
  85.586 +
  85.587 +SVGRenderer.prototype.paste = function(clipboard,left,top) 
  85.588 + {
  85.589 +   //var svg;
  85.590 +   //svg =shape;
  85.591 +   //clipboard.setAttributeNS(null, 'fill', "#0000aa");
  85.592 +   //clipboard.setAttributeNS(null,'transform', "translate("+left+","+top+")"); 
  85.593 +   this.svgRoot.appendChild(clipboard);
  85.594 +  return clipboard;
  85.595 + };
  85.596 +
  85.597 +
  85.598 +SVGRenderer.prototype.duplicate = function(shape) 
  85.599 + {
  85.600 +   var svg;
  85.601 +   svg =shape.cloneNode(false);
  85.602 +   //svg.setAttributeNS(null, 'fill', "#aa00aa");
  85.603 +   this.svgRoot.appendChild(svg);
  85.604 +  return svg;
  85.605 + };
  85.606 +
  85.607 +SVGRenderer.prototype.undo = function() 
  85.608 + {
  85.609 +  this.svgRoot.removeChild( this.svgRoot.lastChild );
  85.610 + };
  85.611 + 
  85.612 + /* 
  85.613 + function zSwap(parent, elem1, elem2)
  85.614 +{
  85.615 +   var tmp = elem1.cloneNode( true );
  85.616 +   parent.replaceChild( tmp, elem2 );
  85.617 +   parent.replaceChild( elem2, elem1 );
  85.618 +}
  85.619 +
  85.620 +SVGRenderer.prototype.moveToTop( svgNode )
  85.621 +{
  85.622 +   this.svgRoot.appendChild( svgNode );
  85.623 +}
  85.624 +
  85.625 +
  85.626 +SVGRenderer.prototype.moveToBottom( svgNode )
  85.627 +{
  85.628 +   this.svgRoot.insertBefore( svgNode, svgNode.parentNode.firstChild );
  85.629 +}
  85.630 +
  85.631 +*/
  85.632 +
  85.633 +
  85.634 +
  85.635 +
  85.636 +     
  85.637 +var xshe=0; //bad
  85.638 +var yshe=0;  
  85.639 +var isArc=false;
  85.640 +var contArc=0;
  85.641 +SVGRenderer.prototype.move = function(shape, left, top,fromX,fromY) {  
  85.642 + //typeTransform='Translate';   
  85.643 + 
  85.644 + var box = shape.getBBox(); 
  85.645 + var angle=0;
  85.646 + var dist=0;  
  85.647 + var rotated=false;
  85.648 +
  85.649 +  if (shape.hasAttributeNS(null,'transform')) {  
  85.650 +    var tran=shape.getAttributeNS(null, 'transform'); 
  85.651 +    var rot=''; 
  85.652 +    var scl=''; 
  85.653 +    var angle=0;
  85.654 +    if(tran.indexOf('rotate')!=-1)
  85.655 +     { 
  85.656 +      if(tran.indexOf('scale')!=-1)
  85.657 +      {
  85.658 +       var chain2=tran.split('),');
  85.659 +       rot= GetString(chain2[0], 'rotate(', ',');
  85.660 +       angle=parseFloat(rot);
  85.661 +       scl= GetString(tran, 'scale(', ')');
  85.662 +      }else{
  85.663 +       var chain2=tran.split(',');  
  85.664 +       var rot0=chain2[0].split('rotate(');
  85.665 +       rot='good';
  85.666 +       angle=parseFloat(rot0[1]);
  85.667 +       scl='';                  
  85.668 +       
  85.669 +      }
  85.670 +     }else{
  85.671 +      if(tran.indexOf('scale')!=-1)
  85.672 +       {
  85.673 +        scl= GetString(tran, 'scale(', ')'); 
  85.674 +        angle=0; 
  85.675 +       }else{   
  85.676 +         //
  85.677 +       }
  85.678 +     }
  85.679 +    
  85.680 +    //var h=shape.getAttributeNS(null, SVG_TRANSFORM_ROTATE ); 
  85.681 +   
  85.682 +    var centerx=box.x+(box.width/2);
  85.683 +    var centery=box.y+(box.height/2);        
  85.684 +    var cadRot='';                              
  85.685 +    var cadScale=''; 
  85.686 +    var union='';
  85.687 +    if(angle!=0)
  85.688 +     {   
  85.689 +      cadRot='rotate('+(angle)+', '+centerx+', '+centery+')';
  85.690 +     }
  85.691 +    if(scl.length>2)
  85.692 +     {
  85.693 +      if(rot.length>2){ union=',';}
  85.694 +      cadScale='scale('+scl+')';
  85.695 +      if(scl.indexOf('-')!=-1)
  85.696 +       {  
  85.697 +          var dist= dist2p(left,top,box.x,box.y);
  85.698 +           
  85.699 +          left=left;  
  85.700 +        }  
  85.701 +       if(scl.indexOf(',-')!=-1 || scl.indexOf(', -')!=-1 )
  85.702 +         {
  85.703 +             //top=eval('-'+top);  
  85.704 +            var dist= dist2p(left,top,box.x,box.y);
  85.705 +            top=top; 
  85.706 +        }
  85.707 +        
  85.708 +      }
  85.709 +    //shape.setAttributeNS(null,'transform', 'rotate('+(angle)+', '+centerx+', '+centery+')'); 
  85.710 +    shape.setAttributeNS(null,'transform', cadRot+union+cadScale);  
  85.711 +   
  85.712 +    //var angleRad=angle*Math.PI/180; 
  85.713 +   
  85.714 +   
  85.715 +      
  85.716 +   //dist=dist2p(x,y,left, top) ;
  85.717 +   rotated=true;
  85.718 +   
  85.719 + }
  85.720 + 
  85.721 +    contmove++;
  85.722 +
  85.723 +  if (shape.tagName == 'rect'){ 
  85.724 +  /* var dudy= shape.parentNode;  
  85.725 +   if(dudy.tagName=='g'){
  85.726 +      document.forms[0].code.value= 'this g ============ '; 
  85.727 +           shape.setAttributeNS(null, 'x', left);
  85.728 +           shape.setAttributeNS(null, 'y', top); 
  85.729 + 
  85.730 +           dudy.setAttributeNS(null, 'x', left);
  85.731 +           dudy.setAttributeNS(null, 'y', top); 
  85.732 +           dudy.childNodes[0].setAttributeNS(null, 'x', left);
  85.733 +           dudy.childNodes[0].setAttributeNS(null, 'y', top);
  85.734 +           
  85.735 +    }else{
  85.736 +     //document.forms[0].code.value= box.x+' '+box.y+' formX  Y'+ fromX+'_'+fromY+'  left '+left+'_'+top+'==============';     
  85.737 +     //document.forms[0].code.value+= tran+' rot '+ angle+'_'+x+'_'+y+' dist '+dist;   
  85.738 +     if(rotated){
  85.739 +          //shape.setAttributeNS(null, 'x', box.x*Math.cos(angleRad)) ;
  85.740 +         //shape.setAttributeNS(null, 'y', box.y*Math.sin(angleRad)) ;  
  85.741 +           shape.setAttributeNS(null, 'x', left);
  85.742 +           shape.setAttributeNS(null, 'y', top); 
  85.743 +  
  85.744 +
  85.745 +     }else{ 
  85.746 +     */
  85.747 +      shape.setAttributeNS(null, 'x', left);
  85.748 +      shape.setAttributeNS(null, 'y', top); 
  85.749 +     //}
  85.750 +    //$('option_rect_trx').value= left;  
  85.751 +    //$('option_rect_try').value= top;    
  85.752 +       // var h=shape.getAttributeNS(null, 'height');   
  85.753 +       //var w=shape.getAttributeNS(null, 'width'); 
  85.754 +       //document.forms[0].code.value= h+' '+w;
  85.755 +   //}    
  85.756 +  } 
  85.757 +  if (shape.tagName == 'g')
  85.758 +   { 
  85.759 +   //this.editor.log(shape.tagName+' ==============');  
  85.760 +   
  85.761 +    shape.setAttributeNS(null, 'x', left);
  85.762 +    shape.setAttributeNS(null, 'y', top);
  85.763 +    shape.childNodes[0].setAttributeNS(null, 'x', left + 'px');
  85.764 +    shape.childNodes[0].setAttributeNS(null, 'y', top + 'px');
  85.765 +    shape.childNodes[1].setAttributeNS(null, 'x', left + 'px');
  85.766 +    shape.childNodes[1].setAttributeNS(null, 'y', top + 'px');
  85.767 +    
  85.768 +   }
  85.769 +  if (shape.tagName == 'image'){
  85.770 +    shape.setAttributeNS(null, 'x',left + 'px');
  85.771 +    shape.setAttributeNS(null, 'y', top  + 'px');
  85.772 +    //$('option_img_trx').value= left;  
  85.773 +    //$('option_img_try').value= top;
  85.774 +     var h=shape.getAttributeNS(null, 'height');   
  85.775 +     var w=shape.getAttributeNS(null, 'width'); 
  85.776 +    // this.editor.log( h+' '+w);
  85.777 +  }
  85.778 +  if (shape.tagName == 'text'){  
  85.779 +   var size=parseFloat(shape.getAttributeNS(null, 'font-size')); 
  85.780 +   //$('code').value=size;
  85.781 +    shape.setAttributeNS(null, 'x',  left + 'px');
  85.782 +    shape.setAttributeNS(null, 'y',  parseFloat(top+size) + 'px');
  85.783 +    //$('option_text_trx').value= left;  
  85.784 +    //$('option_text_try').value= top;
  85.785 +
  85.786 +  }
  85.787 +  if (shape.tagName == 'line'){ 
  85.788 +    var deltaX = shape.getBBox().width;
  85.789 +    var deltaY = shape.getBBox().height;
  85.790 +    shape.setAttributeNS(null, 'x1', left + 'px');
  85.791 +    shape.setAttributeNS(null, 'y1', top + 'px');
  85.792 +
  85.793 +    shape.setAttributeNS(null, 'x2', left + deltaX + 'px');
  85.794 +    shape.setAttributeNS(null, 'y2', top + deltaY + 'px');   
  85.795 +    //$('option_line_trx').value= left;  
  85.796 +    //$('option_line_try').value= top;
  85.797 +
  85.798 +  }   
  85.799 +  if (shape.tagName == 'ellipse'){  
  85.800 +    var putx=left + (shape.getBBox().width / 2)    
  85.801 +    var puty= top + (shape.getBBox().height / 2)
  85.802 +    shape.setAttributeNS(null, 'cx', putx + 'px');
  85.803 +    shape.setAttributeNS(null, 'cy', puty + 'px');
  85.804 +    //$('option_ellipse_trx').value= putx;  
  85.805 +    //$('option_ellipse_try').value= puty;
  85.806 +
  85.807 +  }
  85.808 +  if (shape.tagName == 'path' || shape.tagName == 'polyline' ) {
  85.809 +
  85.810 +   if(contmove==1){ 
  85.811 +      xshe=left;
  85.812 +      yshe=top; 
  85.813 +   }    
  85.814 + var path=shape.getAttributeNS(null, 'd');
  85.815 + path=path.replace(/, /g, ','); 
  85.816 + path=path.replace(/ ,/g, ',');
  85.817 + var ps =path.split(" ")
  85.818 + var pcc = "";
  85.819 + var point =ps[0].split(","); 
  85.820 +
  85.821 +
  85.822 + var num0= parseFloat(point[0].substring(1));
  85.823 + var num1= parseFloat(point[1]); 
  85.824 + 
  85.825 + var ang= ang2v(box.x,box.y,left,top) ;
  85.826 + var angle = Math.round((ang/Math.PI* 2)* 360);
  85.827 + var angx = Math.cos(ang); 
  85.828 + var angy = Math.sin(ang);          
  85.829 + var dist= dist2p(left,top,box.x,box.y);
  85.830 + var xinc=dist*angx;
  85.831 + var yinc=dist*angy;   
  85.832 +    var re = /^[-]?\d*\.?\d*$/;
  85.833 + for(var i = 0; i < ps.length; i++)
  85.834 +  { 
  85.835 +   if(ps[i].indexOf(',')>0){  
  85.836 +     
  85.837 +      var point =ps[i].split(","); 
  85.838 +       var char1=point[0].substring(0,1); 
  85.839 +       if(char1=='A' || char1=='a'){isArc=true; contArc=0;}
  85.840 +       if(isArc==true){contArc++}
  85.841 +       if(contArc==4){contArc=0; isArc=false}
  85.842 +       
  85.843 +       //if (isNaN(valnum)) 
  85.844 +      if (!char1.match(re))        
  85.845 +       { 
  85.846 +           var num0= parseFloat(point[0].substring(1));
  85.847 +           var text=char1;
  85.848 +       }else{ 
  85.849 +         if(isArc==true && contArc==2  )
  85.850 +          {
  85.851 +            var num0= point[0];
  85.852 +          }else{  
  85.853 +            var num0= parseFloat(point[0]);
  85.854 +          }  
  85.855 +         var text='';
  85.856 +
  85.857 +       }
  85.858 + 
  85.859 +       
  85.860 +       if(isArc==true && contArc==2)
  85.861 +        {   
  85.862 +           point[1]= point[1].toString() ;
  85.863 +        }
  85.864 +        else
  85.865 +        {    
  85.866 +         
  85.867 +          num0+=xinc;    
  85.868 +          point[1]= parseFloat(point[1]);
  85.869 +          point[1]+=yinc;
  85.870 +
  85.871 +        }  
  85.872 +        var cx=num0; 
  85.873 +         
  85.874 +        var cy=point[1]; 
  85.875 +        pcc+=text+cx+','+cy+' ';
  85.876 +   }else{
  85.877 +      pcc+=ps[i]+' ';
  85.878 +   }
  85.879 +  }
  85.880 +  
  85.881 +  shape.setAttributeNS(null,'d', pcc);
  85.882 +
  85.883 + }                                                                                                                            
  85.884 +                                                                                                                           
  85.885 +  
  85.886 +//$('status').innerHTML=typeTransform+': '+left+' '+top;
  85.887 +//$('option_select_trx').value= left;  
  85.888 +//$('option_select_try').value= top;  
  85.889 +
  85.890 +
  85.891 +
  85.892 +};
  85.893 +
  85.894 +
  85.895 +
  85.896 +SVGRenderer.prototype.track = function(shape) {
  85.897 +  // TODO
  85.898 +};
  85.899 +
  85.900 +
  85.901 +SVGRenderer.prototype.clic = function(shape) {
  85.902 +         var end='';
  85.903 +	if(data_path_close==true){end='z';}
  85.904 +        var maxcont=setPoints.length;
  85.905 +        var thispath='M'+setPoints[0]+' ';  
  85.906 +        $('someinfo').value=maxcont;
  85.907 +      
  85.908 +        for(var conta=1;conta< maxcont;conta++){        
  85.909 +          thispath+='L'+setPoints[conta]+' ';
  85.910 +        }
  85.911 +              //var pointshape=shape.getAttributeNS(null,"d");
  85.912 +         	//shape.setAttributeNS(null,'d',thispath+end);
  85.913 +         	var path=thispath+end;
  85.914 +       
  85.915 +         	shape.setAttributeNS(null,'d',path);
  85.916 +                $('control_codebase').value=path;
  85.917 + 
  85.918 +}
  85.919 +
  85.920 +
  85.921 +SVGRenderer.prototype.resize = function(shape, fromX, fromY, toX, toY) {
  85.922 +   var deltaX = toX - fromX;
  85.923 +  var deltaY = toY - fromY;  
  85.924 +  
  85.925 +     /*      if (lineColor.length == 0){lineColor = 'none';} 
  85.926 +           if (fillColor.length == 0){fillColor = 'none';}
  85.927 +           shape.style.fill = fillColor;  
  85.928 +           shape.style.stroke = lineColor;  
  85.929 +           shape.style.strokeWidth = lineWidth; 
  85.930 +           shape.style.fillOpacity = fillOpac;
  85.931 +           shape.style.strokOpacity = lineOpac;        
  85.932 +      */     
  85.933 +  if (shape.tagName == 'rect' ) 
  85.934 +   { 
  85.935 +    
  85.936 + 
  85.937 +      if (deltaX < 0) {
  85.938 +         shape.setAttributeNS(null, 'x', toX + 'px');
  85.939 +         shape.setAttributeNS(null, 'width', -deltaX + 'px');
  85.940 +       }
  85.941 +        else
  85.942 +       {
  85.943 +         shape.setAttributeNS(null, 'width', deltaX + 'px');
  85.944 +       }
  85.945 +  
  85.946 +      if (deltaY < 0) 
  85.947 +       {
  85.948 +        shape.setAttributeNS(null, 'y', toY + 'px');
  85.949 +        shape.setAttributeNS(null, 'height', -deltaY + 'px');
  85.950 +       }
  85.951 +        else 
  85.952 +       {
  85.953 +        shape.setAttributeNS(null, 'height', deltaY + 'px');
  85.954 +       }
  85.955 +      /*shape.style.fill = fillColor;  
  85.956 +      shape.style.stroke = lineColor;  
  85.957 +      shape.style.strokeWidth = lineWidth; 
  85.958 +      shape.style.fillOpacity = fillOpac;
  85.959 +      shape.style.strokOpacity = lineOpac;         
  85.960 +      */
  85.961 +      
  85.962 +    }
  85.963 +    
  85.964 +  /*  if ( shape.tagName == 'simage' ) 
  85.965 +    {   
  85.966 +        var img=shape.firstChild;//nodeName;//nodparseFloatue;//nodes.item(0);
  85.967 +        //alert(img);
  85.968 +      if (deltaX < 0) {
  85.969 +         shape.setAttributeNS(null, 'x', parseFloat(toX) + 'px');
  85.970 +         shape.setAttributeNS(null, 'width', parseFloat(-deltaX) + 'px');
  85.971 +         
  85.972 +       }
  85.973 +        else
  85.974 +       {
  85.975 +         shape.setAttributeNS(null, 'width', parseFloat(deltaX) + 'px');
  85.976 +       }
  85.977 +  
  85.978 +      if (deltaY < 0) 
  85.979 +       {
  85.980 +        shape.setAttributeNS(null, 'y', parseFloat(toY) + 'px');
  85.981 +        shape.setAttributeNS(null, 'height', parseFloat(-deltaY) + 'px');
  85.982 +       }
  85.983 +        else 
  85.984 +       {
  85.985 +        shape.setAttributeNS(null, 'height', parseFloat(deltaY) + 'px');
  85.986 +       }  
  85.987 +       var h=shape.getAttributeNS(null, 'height');   
  85.988 +       var w=shape.getAttributeNS(null, 'width'); 
  85.989 +       document.forms[0].code.value= h+' '+w;    
  85.990 +       
  85.991 +       
  85.992 +       
  85.993 +    }*/ 
  85.994 +   if (shape.tagName == 'g' || shape.tagName == 'image') 
  85.995 +    {
  85.996 +          
  85.997 +
  85.998 +       if (deltaX < 0) 
  85.999 +        {  
 85.1000 +          shape.setAttributeNS(null, 'x', parseFloat(toX) + 'px' );
 85.1001 +          shape.setAttributeNS(null, 'width', parseFloat(-deltaX)  + 'px');
 85.1002 +
 85.1003 +
 85.1004 +        }
 85.1005 +         else
 85.1006 +        {
 85.1007 +          shape.setAttributeNS(null, 'width', parseFloat(deltaX)  + 'px');
 85.1008 +         }
 85.1009 +  
 85.1010 +       if (deltaY < 0) 
 85.1011 +        {
 85.1012 +         shape.setAttributeNS(null, 'y', parseFloat(toY)  + 'px');
 85.1013 +         shape.setAttributeNS(null, 'height', parseFloat(-deltaY) + 'px' );
 85.1014 +        }
 85.1015 +         else 
 85.1016 +        {
 85.1017 +         shape.setAttributeNS(null, 'height', parseFloat(deltaY) + 'px');
 85.1018 + 
 85.1019 +        }
 85.1020 +     
 85.1021 +   } 
 85.1022 +  if (shape.tagName == 'ellipse') {
 85.1023 +            if (deltaX < 0) {
 85.1024 +              shape.setAttributeNS(null, 'cx', (fromX + deltaX / 2) + 'px');
 85.1025 +              shape.setAttributeNS(null, 'rx', (-deltaX / 2) + 'px');
 85.1026 +            }
 85.1027 +            else {
 85.1028 +              shape.setAttributeNS(null, 'cx', (fromX + deltaX / 2) + 'px');
 85.1029 +              shape.setAttributeNS(null, 'rx', (deltaX / 2) + 'px');
 85.1030 +            }
 85.1031 +          
 85.1032 +            if (deltaY < 0) {
 85.1033 +              shape.setAttributeNS(null, 'cy', (fromY + deltaY / 2) + 'px');
 85.1034 +              shape.setAttributeNS(null, 'ry', (-deltaY / 2) + 'px');
 85.1035 +            }
 85.1036 +            else {
 85.1037 +              shape.setAttributeNS(null, 'cy', (fromY + deltaY / 2) + 'px');
 85.1038 +              shape.setAttributeNS(null, 'ry', (deltaY / 2) + 'px');
 85.1039 +            }
 85.1040 +  }
 85.1041 +  if (shape.tagName == 'line') {
 85.1042 +          shape.setAttributeNS(null, 'x2', toX);
 85.1043 +          shape.setAttributeNS(null, 'y2', toY);
 85.1044 +  } 
 85.1045 +  if (shape.tagName == 'polyline') {    
 85.1046 +        
 85.1047 +       xpArray.push(toX);
 85.1048 +          ypArray.push(toY);  
 85.1049 +                   var thispath=''+xpArray[1]+','+ypArray[1];  
 85.1050 + 		    var thispath1=''; 
 85.1051 +		    var thispath2='';
 85.1052 +                  var maxcont=xpArray.length;
 85.1053 +      
 85.1054 +        for(var conta=2;conta< maxcont;conta++){        
 85.1055 +          thispath1+=' '+xpArray[conta]+' '+ypArray[conta];
 85.1056 +          thispath2+=' '+xpArray[conta]+', '+ypArray[conta];  
 85.1057 +	
 85.1058 +        }
 85.1059 +
 85.1060 +       
 85.1061 +		shape.setAttributeNS(null,'points',thispath+thispath1);
 85.1062 +	
 85.1063 +	
 85.1064 +    }    
 85.1065 +    
 85.1066 +  if (shape.tagName == 'path') {
 85.1067 +        
 85.1068 +    if (selectmode == 'controlpath')
 85.1069 +     {   
 85.1070 +                var end='';
 85.1071 +	if(data_path_close==true){end='z';}
 85.1072 +
 85.1073 +        var thispath='M'+setPoints[0]+' ';  
 85.1074 +        var maxcont=setPoints.length;
 85.1075 +      
 85.1076 +        for(var conta=1;conta< maxcont;conta++){        
 85.1077 +          thispath+='L'+setPoints[conta]+' ';
 85.1078 +          
 85.1079 +	
 85.1080 +        }                               
 85.1081 +        var path=thispath+'L'+toX+','+toY+end;
 85.1082 +          //var pointshape=shape.getAttributeNS(null,"d");
 85.1083 +         	shape.setAttributeNS(null,'d',path);
 85.1084 +               document.forms[0].control_codebase.value=path;
 85.1085 +     }
 85.1086 +      else
 85.1087 +     { 
 85.1088 +  
 85.1089 +	  xpArray.push(toX);
 85.1090 +          ypArray.push(toY);  
 85.1091 +  
 85.1092 +                    var thispath=''+xpArray[1]+','+ypArray[1];  
 85.1093 + 		    var thispath1=''; 
 85.1094 +		    var thispath2='';
 85.1095 +                  var maxcont=xpArray.length;
 85.1096 +      
 85.1097 +        for(var conta=2;conta< maxcont;conta++){        
 85.1098 +          //thispath1+=' '+xpArray[conta]+' '+ypArray[conta];
 85.1099 +          thispath2+=' '+xpArray[conta]+','+ypArray[conta];  
 85.1100 +	  //if((conta+2)%3==0){thispath2+=' C';}
 85.1101 +        }
 85.1102 +        var end='';
 85.1103 +	if(data_path_close==true){end='z';}
 85.1104 +		shape.setAttributeNS(null,'d','M '+thispath+ ' L'+thispath2+end);
 85.1105 +       
 85.1106 +       
 85.1107 +          
 85.1108 +      /*      
 85.1109 +  
 85.1110 +           var pointshape=shape.getAttributeNS(null,"points");
 85.1111 +          var thispoint=' '+toX+' '+toY;  
 85.1112 +             $('status').innerHTML =pointshape; 
 85.1113 +        shape.setAttributeNS(null,'points',pointshape+thispoint)
 85.1114 +        shape.setAttributeNS(null, 'stroke-width', "25");  
 85.1115 +        shape.setAttributeNS(null, 'fill', "#FFFF00");
 85.1116 +    
 85.1117 +    //shape.points.push(toX);
 85.1118 +    //shape.points.push(toY);
 85.1119 +    //shape.setAttribute("points",pointshape+);      
 85.1120 +         // var maxcont=xpArray.length-1;
 85.1121 +          var thispath=''+xpArray[1]+','+ypArray[1];  
 85.1122 +       var maxcont=xpArray.length;
 85.1123 +       //alert(maxcont);
 85.1124 +        for(var conta=2;conta< maxcont;conta++){        
 85.1125 +          thispath+=','+xpArray[conta]+','+ypArray[conta]; 
 85.1126 +        }
 85.1127 +        //alert(shape.points[1]);
 85.1128 +    //shape.setAttribute("points",thispath);       
 85.1129 +    //points.Value = thispath;       
 85.1130 +      var thispath=''+xpArray[1]+','+ypArray[1];  
 85.1131 +       var maxcont=xpArray.length;
 85.1132 +       //alert(maxcont);
 85.1133 +        for(var conta=1;conta< maxcont;conta++){        
 85.1134 +          thispath+=','+xpArray[conta]+','+ypArray[conta];
 85.1135 +        }
 85.1136 +        
 85.1137 +        shape.points.Value = thispath;
 85.1138 +        */  
 85.1139 +          
 85.1140 +          
 85.1141 +     
 85.1142 +  
 85.1143 +        /*
 85.1144 + 
 85.1145 +          
 85.1146 +       //this.renderer.move(this.selected, this.selectedBounds.x + deltaX, this.selectedBounds.y + deltaY); 
 85.1147 +       // shape.setAttributeNS(null,'transform', "translate("+(toX)+","+(toy)+")");
 85.1148 +
 85.1149 +        
 85.1150 +       
 85.1151 +         var thispath=''+xpArray[0]+','+ypArray[0]; 
 85.1152 +       var maxcont=xpArray.length;
 85.1153 +        //shape.setAttributeNS(null,'transform', "translate("+toX+","+toY+")");
 85.1154 +        for(var conta=1;conta< maxcont;conta++){        
 85.1155 +          thispath+=','+xpArray[conta]+','+ypArray[conta];
 85.1156 +        }
 85.1157 +           
 85.1158 +        shape.setAttributeNS(null, 'x', toX);
 85.1159 +        shape.setAttributeNS(null, 'y', toY);
 85.1160 +     shape.setAttributeNS(null, 'points', thispath);
 85.1161 +      */
 85.1162 +    }  
 85.1163 +  } 
 85.1164 +  if (shape == 'text') {}  
 85.1165 +    
 85.1166 +}; 
 85.1167 +SVGRenderer.prototype.tocurve = function()  
 85.1168 +{
 85.1169 +  var points=$('control_codebase').value.split('L');
 85.1170 +     var chain='';
 85.1171 +     chain+=points[0]+'C';
 85.1172 +     var numpoints=points.length-1;
 85.1173 +     for(var a=1;a<numpoints;a++)
 85.1174 +      {
 85.1175 +       if(a%3==0)
 85.1176 +        { 
 85.1177 +         chain+=points[a]+'C';
 85.1178 +        }
 85.1179 +         else
 85.1180 +        {
 85.1181 +         chain+=points[a];       
 85.1182 +        } 
 85.1183 +      } 
 85.1184 +      if(numpoints%3==0){
 85.1185 +        chain+=points[numpoints]+'';
 85.1186 +      } 
 85.1187 +      if(numpoints%3==2){
 85.1188 +        chain+=points[numpoints-1]+'';
 85.1189 +        chain+=points[numpoints]+'';
 85.1190 +      } 
 85.1191 +      if(numpoints%3==1){ 
 85.1192 +        chain+=points[numpoints-1]+'';
 85.1193 +        chain+=points[numpoints-1]+'';
 85.1194 +        chain+=points[numpoints]+'';
 85.1195 +      } 
 85.1196 +      if(numpoints%3==3){ 
 85.1197 +        chain+=points[numpoints-1]+'';
 85.1198 +        chain+=points[numpoints-1]+'';
 85.1199 +        chain+=points[numpoints-1]+'';
 85.1200 +        chain+=points[numpoints]+'';
 85.1201 +      } 
 85.1202 +
 85.1203 +      $('someinfo').value=numpoints+ ' '+ numpoints%3;
 85.1204 +      $('control_codebase').value=chain; 
 85.1205 +      setShape(); 
 85.1206 + }; 
 85.1207 +SVGRenderer.prototype.info = function(shape)
 85.1208 +{   
 85.1209 + var shInfo = {};
 85.1210 +if(shape.id != "tracker"){
 85.1211 + //shInfo.id = shape.id.substr(6); 
 85.1212 + shInfo.id =shape.getAttribute('id');
 85.1213 + shInfo.type = shape.tagName;
 85.1214 + if (shape.hasAttributeNS(null,'transform')) { 
 85.1215 +     shInfo.transform = shape.getAttribute('transform');
 85.1216 +  }else{
 85.1217 +     shInfo.transform ='';
 85.1218 +  }   
 85.1219 + 
 85.1220 +  if(shape.tagName == "text"){   
 85.1221 + 
 85.1222 +   shInfo.textFamily = shape.getAttribute('font-family')
 85.1223 +   shInfo.textSize = parseInt(shape.getAttribute('font-size'))
 85.1224 +   shInfo.top = parseFloat(shape.getAttribute('y'))
 85.1225 +   shInfo.left = parseFloat(shape.getAttribute('x'))
 85.1226 +   shInfo.text = shape.textContent 
 85.1227 +   shInfo.lineWidth = parseFloat(shape.getAttribute('stroke-width'))
 85.1228 +
 85.1229 +   //shInfo.text = shape.nodparseFloatue;
 85.1230 +   }
 85.1231 +      
 85.1232 + 
 85.1233 + if(shape.tagName !='image' || shape.tagName !='g' || shape.tagName !='stop')
 85.1234 +  {
 85.1235 +    shInfo.fillColor = shape.getAttribute('fill')
 85.1236 +    shInfo.lineColor = shape.getAttribute('stroke')  
 85.1237 +    shInfo.fillOpac = parseFloat(shape.getAttribute('fill-opacity'))
 85.1238 +    shInfo.lineOpac = parseFloat(shape.getAttribute('stroke-opacity'))
 85.1239 +    shInfo.lineWidth = parseFloat(shape.getAttribute('stroke-width'))
 85.1240 +    
 85.1241 +    var mystyle= shape.getAttribute('style'); 
 85.1242 +    
 85.1243 +    if(mystyle!= null && mystyle.indexOf('<![CDATA[')>=0)
 85.1244 +     {
 85.1245 +      
 85.1246 +     }
 85.1247 +      else
 85.1248 +     {
 85.1249 +      // shInfo.style=shape.getAttribute('style');
 85.1250 +     
 85.1251 +    if(mystyle!= null){
 85.1252 +      //var estilo=shape.getAttribute('style');
 85.1253 +      var data;  
 85.1254 +   
 85.1255 +      var estilo=generateJSON(mystyle);
 85.1256 +      eval("data="+estilo);
 85.1257 +      //var data=eval('"'+estilo+'"'); 
 85.1258 +      //var data=estilo.evalJSON(); 
 85.1259 +    
 85.1260 +      (data["font-size"])?shInfo.textSize=data["font-size"]:shInfo.textSize; 
 85.1261 +      (data["font-family"])?shInfo.textFamily=data["font-family"]:shInfo.textFamily; 
 85.1262 +      
 85.1263 +      (data.fill)?shInfo.fillColor=data.fill:shInfo.fillColor; 
 85.1264 +      (data.stroke)?shInfo.lineColor=data.stroke:shInfo.lineColor;
 85.1265 +      (data.transform)?shInfo.transform=data.transform:shInfo.transform;
 85.1266 +      (data["fill-opacity"])?shInfo.fillOpac=data["fill-opacity"]:shInfo.fillOpac; 
 85.1267 +       //shInfo.fillColor=data.fill;
 85.1268 +      //document.getElementById("someinfo").value +=data.fill+' ';//estilo ;//data['fill']+' ';//
 85.1269 +    }
 85.1270 +   }
 85.1271 +  }  
 85.1272 + 
 85.1273 + 
 85.1274 + if (shape.tagName == 'rect') 
 85.1275 +   {
 85.1276 +   if(shape.getAttribute('rx') || shape.getAttribute('ry')){
 85.1277 +   shInfo.type = "roundrect";
 85.1278 +   shInfo.rx = parseFloat(shape.getAttribute('rx'))
 85.1279 +   shInfo.ry = parseFloat(shape.getAttribute('rx'))
 85.1280 +   }
 85.1281 +    shInfo.left = parseFloat(shape.getAttribute( 'x'));
 85.1282 +    shInfo.top = parseFloat(shape.getAttribute( 'y'));
 85.1283 +    shInfo.width = parseFloat(shape.getAttribute('width'));
 85.1284 +    shInfo.height = parseFloat(shape.getAttribute('height'));  
 85.1285 +   }
 85.1286 +  else if (shape.tagName == 'ellipse' || shape.tagName == 'circle') 
 85.1287 +   {     
 85.1288 +    if(shape.tagName == 'circle'){
 85.1289 +      shInfo.width = parseFloat(shape.getAttribute('r'))*2; 
 85.1290 +      shInfo.height = parseFloat(shape.getAttribute('r'))*2; 
 85.1291 +     }else{
 85.1292 +      shInfo.width = parseFloat(shape.getAttribute('rx'))*2;
 85.1293 +      shInfo.height = parseFloat(shape.getAttribute('ry'))*2;   
 85.1294 +     }
 85.1295 +    
 85.1296 +    shInfo.left =    parseFloat(shape.getAttribute('cx')) - (shInfo.width/2);
 85.1297 +    shInfo.top =  parseFloat(shape.getAttribute('cy')) - (shInfo.height/2)  ;
 85.1298 +   }
 85.1299 +   else if(shape.tagName == 'linearGradient') {   
 85.1300 +    shInfo.left = (shape.getAttribute( 'x1'));
 85.1301 +    shInfo.top = parseFloat(shape.getAttribute( 'y1'));
 85.1302 +    shInfo.width = parseFloat(shape.getAttribute('x2'));
 85.1303 +    shInfo.height = parseFloat(shape.getAttribute('y2'));  
 85.1304 +
 85.1305 +   }
 85.1306 +   else if(shape.tagName == 'stop') {
 85.1307 +    shInfo.fillColor = shape.getAttribute('stop-color');
 85.1308 +    shInfo.fillOpac = shape.getAttribute('stop-opacity');
 85.1309 +    shInfo.lineOpac = shape.getAttribute('offset');
 85.1310 +    var mystyle= shape.getAttribute('style');
 85.1311 +    if(mystyle!= null && mystyle.indexOf('<![CDATA[')>=0)
 85.1312 +     {
 85.1313 +      
 85.1314 +     }
 85.1315 +      else
 85.1316 +     {
 85.1317 +    if(mystyle!= null){
 85.1318 +      var data;  
 85.1319 +      var estilo=generateJSON(mystyle);
 85.1320 +      eval("data="+estilo);
 85.1321 +      (data["stop-color"])?shInfo.fillColor=data["stop-color"]:shInfo.fillColor;
 85.1322 +      (data["stop-opacity"])?shInfo.fillOpac=data["stop-opacity"]:shInfo.fillOpac;
 85.1323 +      document.getElementById("someinfo").value +=data["stop-color"]+' '; 
 85.1324 +     } 
 85.1325 +     
 85.1326 +    }
 85.1327 +   }
 85.1328 +  else if (shape.tagName == 'line') 
 85.1329 +   {
 85.1330 +    shInfo.left = parseFloat(shape.getAttribute('x1'));
 85.1331 +    shInfo.top = parseFloat(shape.getAttribute('y1'));
 85.1332 +    shInfo.width = parseFloat(shape.getAttribute('x2')) -shInfo.left;
 85.1333 +    shInfo.height = parseFloat(shape.getAttribute('y2')) -shInfo.top;
 85.1334 +   } 
 85.1335 +  else if (shape.tagName == 'polyline') 
 85.1336 +   {
 85.1337 +    shInfo.points = shape.getAttribute('points');
 85.1338 +   } 
 85.1339 +  else if (shape.tagName == 'g') 
 85.1340 +   { 
 85.1341 +    shInfo.type = "group";
 85.1342 +    shInfo.left = parseFloat(shape.getAttribute( 'x'));
 85.1343 +    shInfo.top = parseFloat(shape.getAttribute( 'y'));
 85.1344 +    shInfo.width = parseFloat(shape.getAttribute('width'));
 85.1345 +    shInfo.height = parseFloat(shape.getAttribute('height'));  
 85.1346 +    shInfo.fillColor = shape.getAttribute('fill')
 85.1347 +
 85.1348 +   }   
 85.1349 +  else if (shape.tagName == 'path')
 85.1350 +   {
 85.1351 +    shInfo.points = shape.getAttribute('d');     
 85.1352 +    //shInfo.transform = shape.getAttribute('transform'); 
 85.1353 + 
 85.1354 +    //alert(shInfo.transform);
 85.1355 +    //document.forms[0].codebase.value=shape.getAttribute('d'); 
 85.1356 +   
 85.1357 +   }
 85.1358 +  else 
 85.1359 +  
 85.1360 + 
 85.1361 +  if (shape.tagName == 'image')
 85.1362 +   {                                     
 85.1363 +    
 85.1364 +    shInfo.left = parseFloat(shape.getAttribute( 'x'));
 85.1365 +    shInfo.top = parseFloat(shape.getAttribute( 'y'));
 85.1366 +    shInfo.width = parseFloat(shape.getAttribute('width'));
 85.1367 +    shInfo.height = parseFloat(shape.getAttribute('height'));   
 85.1368 +    shInfo.fillOpac = parseFloat(shape.getAttribute('opacity'));   
 85.1369 +    shInfo.href = shape.getAttribute('href');  
 85.1370 +     
 85.1371 +  } 
 85.1372 +  if(shape.parentNode.tagName != 'svg'){
 85.1373 +    //shInfo.width = parseFloat(shape.getAttribute('width'));
 85.1374 +    //shInfo.height = parseFloat(shape.getAttribute('height'));   
 85.1375 +    //shInfo.viewBox = parseFloat(shape.getAttribute('viewBox'));   
 85.1376 +    shInfo.parent=shape.parentNode.getAttribute('id');
 85.1377 +
 85.1378 +  }
 85.1379 +    return shInfo;  
 85.1380 +  }else{
 85.1381 +   //do nothing if its the tracker
 85.1382 +   }
 85.1383 +  
 85.1384 +   	
 85.1385 +   	
 85.1386 +};     
 85.1387 +SVGRenderer.prototype.info01 = function(shape)
 85.1388 +{   
 85.1389 +
 85.1390 +var shInfo = {};
 85.1391 +if(shape.id != "tracker"){
 85.1392 +shInfo.id = shape.id.substr(6);
 85.1393 + shInfo.type = shape.tagName;
 85.1394 + if (shape.hasAttributeNS(null,'transform')) { 
 85.1395 +     shInfo.transform = shape.getAttribute('transform');
 85.1396 +  }else{
 85.1397 +     shInfo.transform ='';
 85.1398 +  }   
 85.1399 +     
 85.1400 + 
 85.1401 + if(shape.tagName !='image')
 85.1402 +  {
 85.1403 +    shInfo.fillColor = shape.getAttribute('fill')
 85.1404 +    shInfo.lineColor = shape.getAttribute('stroke')  
 85.1405 +    shInfo.fillOpac = parseFloat(shape.getAttribute('fill-opacity'))
 85.1406 +    shInfo.lineOpac = parseFloat(shape.getAttribute('stroke-opacity'))
 85.1407 +    shInfo.lineWidth = parseFloat(shape.getAttribute('stroke-width'))
 85.1408 +  }  
 85.1409 + 
 85.1410 + 
 85.1411 + if (shape.tagName == 'rect') 
 85.1412 +   {
 85.1413 +   if(shape.getAttribute('rx') || shape.getAttribute('ry')){
 85.1414 +   shInfo.type = "roundrect";
 85.1415 +   shInfo.rx = parseFloat(shape.getAttribute('rx'))
 85.1416 +   shInfo.ry = parseFloat(shape.getAttribute('rx'))
 85.1417 +   }
 85.1418 +    shInfo.left = parseFloat(shape.getAttribute( 'x'));
 85.1419 +    shInfo.top = parseFloat(shape.getAttribute( 'y'));
 85.1420 +    shInfo.width = parseFloat(shape.getAttribute('width'));
 85.1421 +    shInfo.height = parseFloat(shape.getAttribute('height'));  
 85.1422 +   }
 85.1423 +  else if (shape.tagName == 'ellipse') 
 85.1424 +   {
 85.1425 +    shInfo.width = parseFloat(shape.getAttribute('rx'))*2;
 85.1426 +    shInfo.height = parseFloat(shape.getAttribute('ry'))*2;   
 85.1427 +    shInfo.left =    parseFloat(shape.getAttribute('cx')) - (shInfo.width/2);
 85.1428 +    shInfo.top =  parseFloat(shape.getAttribute('cy')) - (shInfo.height/2)  ;
 85.1429 + 
 85.1430 +   }
 85.1431 +  else if (shape.tagName == 'line') 
 85.1432 +   {
 85.1433 +    shInfo.left = parseFloat(shape.getAttribute('x1'));
 85.1434 +    shInfo.top = parseFloat(shape.getAttribute('y1'));
 85.1435 +    shInfo.width = parseFloat(shape.getAttribute('x2')) -shInfo.left;
 85.1436 +    shInfo.height = parseFloat(shape.getAttribute('y2')) -shInfo.top;
 85.1437 +   } 
 85.1438 +  else if (shape.tagName == 'polyline') 
 85.1439 +   {
 85.1440 +    shInfo.points = shape.getAttribute('points');
 85.1441 +   }
 85.1442 +  else 
 85.1443 +  
 85.1444 +  if (shape.tagName == 'path')
 85.1445 +   {
 85.1446 +    shInfo.d = shape.getAttribute('d');     
 85.1447 +    //shInfo.transform = shape.getAttribute('transform'); 
 85.1448 + 
 85.1449 +    //alert(shInfo.transform);
 85.1450 +    //document.forms[0].codebase.value=shape.getAttribute('d'); 
 85.1451 +   
 85.1452 +   }
 85.1453 +  else 
 85.1454 +  
 85.1455 +  if(shape.tagName == "text"){   
 85.1456 + 
 85.1457 +   shInfo.textFamily = shape.getAttribute('font-family')
 85.1458 +   shInfo.textSize = parseInt(shape.getAttribute('font-size'))
 85.1459 +   shInfo.top = parseFloat(shape.getAttribute('y'))
 85.1460 +   shInfo.left = parseFloat(shape.getAttribute('x'))
 85.1461 +   shInfo.text = shape.textContent 
 85.1462 +   shInfo.lineWidth = parseFloat(shape.getAttribute('stroke-width'))
 85.1463 +
 85.1464 +   //shInfo.text = shape.nodparseFloatue;
 85.1465 +   }
 85.1466 +  else
 85.1467 + 
 85.1468 +  if (shape.tagName == 'image')
 85.1469 +   {                                     
 85.1470 +    
 85.1471 +    shInfo.left = parseFloat(shape.getAttribute( 'x'));
 85.1472 +    shInfo.top = parseFloat(shape.getAttribute( 'y'));
 85.1473 +    shInfo.width = parseFloat(shape.getAttribute('width'));
 85.1474 +    shInfo.height = parseFloat(shape.getAttribute('height'));   
 85.1475 +    shInfo.fillOpac = parseFloat(shape.getAttribute('opacity'));   
 85.1476 +    shInfo.href = shape.getAttribute('href');  
 85.1477 +     
 85.1478 +  }
 85.1479 +  
 85.1480 +    return shInfo;  
 85.1481 +  }else{
 85.1482 +   //do nothing if its the tracker
 85.1483 +   }
 85.1484 +
 85.1485 +   	
 85.1486 +}
 85.1487 +
 85.1488 +
 85.1489 +
 85.1490 +
 85.1491 +
 85.1492 +SVGRenderer.prototype.transformShape = function(shape,data,transform)
 85.1493 +{      
 85.1494 +  var svgNamespace = 'http://www.w3.org/2000/svg'; 
 85.1495 +  var xlinkNS="http://www.w3.org/1999/xlink"; 
 85.1496 +   //
 85.1497 + 
 85.1498 + if(shape.tagName == 'rect')
 85.1499 +  { 
 85.1500 +    var box = shape.getBBox();
 85.1501 +    var sdata=data.split(';'); 
 85.1502 +    
 85.1503 +    //alert(data[0]);     
 85.1504 +    shape.setAttributeNS(null,'x',parseFloat(sdata[0]));
 85.1505 +    shape.setAttributeNS(null,'y',parseFloat(sdata[1]));   
 85.1506 +    shape.setAttributeNS(null, 'width', parseFloat(sdata[2]));     
 85.1507 +    shape.setAttributeNS(null, 'height', parseFloat(sdata[3])); 
 85.1508 +    var centerx=parseFloat(sdata[0])+parseFloat(box.width/2);
 85.1509 +    var centery=parseFloat(sdata[1])+parseFloat(box.height/2);    
 85.1510 +    shape.setAttributeNS(null, 'transform','rotate('+parseFloat(sdata[4])+','+centerx+','+centery+')');
 85.1511 +    
 85.1512 +   //shape.nodparseFloatue=data;
 85.1513 +  }
 85.1514 +   else 
 85.1515 + if(shape.tagName == 'text')
 85.1516 +  {    
 85.1517 +    if(data.indexOf('<;>',0)==-1 )
 85.1518 +     {  
 85.1519 +      shape.textContent = data;  
 85.1520 +     }
 85.1521 +      else
 85.1522 +     {  
 85.1523 +       var sdata=data.split('<;>'); //?????????
 85.1524 +       shape.textContent = sdata[0]; 
 85.1525 +       shape.setAttributeNS(null,'font-size',parseFloat(sdata[1])); 
 85.1526 +        shape.setAttributeNS(null,'font-family',sdata[2]);
 85.1527 +     }
 85.1528 +   //shape.nodparseFloatue=data;
 85.1529 +  }
 85.1530 +   else
 85.1531 + if (shape.tagName == 'polyline') 
 85.1532 +  {
 85.1533 +    shape.setAttributeNS(null,'points',data);
 85.1534 +  }
 85.1535 +   else 
 85.1536 + if (shape.tagName == 'image') 
 85.1537 +  {   
 85.1538 +    //alert(data);  
 85.1539 +    if(data.indexOf(';',0)==-1 )
 85.1540 +     {  
 85.1541 +      shape.setAttributeNS(xlinkNS,'href',data);
 85.1542 +     }
 85.1543 +      else
 85.1544 +     {  
 85.1545 +        var box = shape.getBBox();
 85.1546 +        var sdata=data.split(';');
 85.1547 +        shape.setAttributeNS(null,'x',parseFloat(sdata[0]));
 85.1548 +        shape.setAttributeNS(null,'y',parseFloat(sdata[1]));   
 85.1549 +        shape.setAttributeNS(null, 'width', parseFloat(sdata[2])); 
 85.1550 +        shape.setAttributeNS(null, 'height',parseFloat(sdata[3]));  
 85.1551 +        var centerx=parseFloat(sdata[0])+parseFloat(box.width/2);
 85.1552 +        var centery=parseFloat(sdata[1])+parseFloat(box.height/2);    
 85.1553 +        shape.setAttributeNS(null, 'transform',' rotate('+parseFloat(sdata[4])+','+centerx+','+centery+')');
 85.1554 +
 85.1555 +
 85.1556 +     } 
 85.1557 +      
 85.1558 +  }
 85.1559 +   else 
 85.1560 + if (shape.tagName == 'path')
 85.1561 +  {     
 85.1562 +    if(data.indexOf(';',0)==-1 )
 85.1563 +     {  
 85.1564 +    	shape.setAttributeNS(null, 'd', data);  
 85.1565 +    	shape.setAttributeNS(null, 'transform', transform);  
 85.1566 +     }
 85.1567 +      else
 85.1568 +     {  
 85.1569 +        var box = shape.getBBox();
 85.1570 +        var sdata=data.split(';');
 85.1571 +        var centerx=parseFloat(sdata[0])+parseFloat(box.width/2);
 85.1572 +        var centery=parseFloat(sdata[1])+parseFloat(box.height/2);    
 85.1573 +        shape.setAttributeNS(null, 'transform','scale('+parseFloat(sdata[2])+','+parseFloat(sdata[3])+')'+' rotate('+parseFloat(sdata[4])+','+centerx+','+centery+')'+' translate('+parseFloat(sdata[0])+','+parseFloat(sdata[1])+')');
 85.1574 +
 85.1575 +
 85.1576 +     } 
 85.1577 +  }  
 85.1578 +   	                             
 85.1579 +	                             
 85.1580 +}
 85.1581 +SVGRenderer.prototype.editShape = function(shape,data)
 85.1582 +{   
 85.1583 + if(shape.tagName == 'text'){
 85.1584 +   shape.textContent = data
 85.1585 + }else
 85.1586 +   if (shape.tagName == 'polyline') 
 85.1587 +   {
 85.1588 +    shape.setAttributeNS(null,'points',data);
 85.1589 +   }
 85.1590 +  else 
 85.1591 +  
 85.1592 +  if (shape.tagName == 'path')
 85.1593 +   {
 85.1594 +    	shape.setAttributeNS(null, 'd', data);  
 85.1595 +    	
 85.1596 +   }  
 85.1597 +	
 85.1598 +}
 85.1599 +SVGRenderer.prototype.editCommand = function(shape, cmd, value)
 85.1600 +{
 85.1601 +  if (shape != null) {
 85.1602 +    if (cmd == 'fillcolor') {
 85.1603 +      if (value != '')
 85.1604 +        shape.setAttributeNS(null, 'fill', value);
 85.1605 +      else
 85.1606 +        shape.setAttributeNS(null, 'fill', 'none');
 85.1607 +    }
 85.1608 +    else if (cmd == 'linecolor') {
 85.1609 +      if (value != '')
 85.1610 +        shape.setAttributeNS(null, 'stroke', value);
 85.1611 +      else
 85.1612 +        shape.setAttributeNS(null, 'stroke', 'none');
 85.1613 +    }
 85.1614 +    else if (cmd == 'linewidth') {
 85.1615 +      shape.setAttributeNS(null, 'stroke-width', parseInt(value) + 'px');
 85.1616 +    } 
 85.1617 +    else if (cmd == 'fillopacity') {
 85.1618 +           if(shape.tagName=='image')
 85.1619 +            {
 85.1620 +             shape.setAttributeNS(null, 'opacity', parseFloat(value));
 85.1621 +            }
 85.1622 +             else
 85.1623 +            {
 85.1624 +                shape.setAttributeNS(null, 'fill-opacity', parseFloat(value));
 85.1625 +            }    
 85.1626 +      
 85.1627 +    }
 85.1628 +    else if (cmd == 'lineopacity') {         
 85.1629 +      
 85.1630 +      shape.setAttributeNS(null, 'stroke-opacity', parseFloat(value));
 85.1631 +      
 85.1632 +    }
 85.1633 +
 85.1634 +  }
 85.1635 +}
 85.1636 +
 85.1637 +
 85.1638 +SVGRenderer.prototype.queryCommand = function(shape, cmd)
 85.1639 +{
 85.1640 +  var result = '';
 85.1641 +  
 85.1642 +  if (shape != null) {
 85.1643 +    if (cmd == 'fillcolor') {
 85.1644 +      result = shape.getAttributeNS(null, 'fill');
 85.1645 +      if (result == 'none')
 85.1646 +        result = '';
 85.1647 +    }
 85.1648 +    else if (cmd == 'linecolor') {
 85.1649 +      result = shape.getAttributeNS(null, 'stroke');
 85.1650 +      if (result == 'none')
 85.1651 +        result = '';
 85.1652 +    }
 85.1653 +    else if (cmd == 'linewidth') {
 85.1654 +      result = shape.getAttributeNS(null, 'stroke');
 85.1655 +      if (result == 'none')
 85.1656 +        result = '';
 85.1657 +      else
 85.1658 +        result = shape.getAttributeNS(null, 'stroke-width');
 85.1659 +    }
 85.1660 +    else if (cmd == 'fillopacity') {
 85.1661 +           if(shape.tagName=='image')
 85.1662 +            {
 85.1663 +             shape.setAttributeNS(null, 'opacity', parseFloat(value));
 85.1664 +            }
 85.1665 +             else
 85.1666 +            {
 85.1667 +                shape.setAttributeNS(null, 'fill-opacity', parseFloat(value));
 85.1668 +            }    
 85.1669 +      
 85.1670 +    }
 85.1671 +    else if (cmd == 'lineopacity') {         
 85.1672 +      
 85.1673 +      shape.setAttributeNS(null, 'stroke-opacity', parseFloat(value));
 85.1674 +      
 85.1675 +    }
 85.1676 +
 85.1677 +  }
 85.1678 +  
 85.1679 +  return result;
 85.1680 +}
 85.1681 +
 85.1682 +SVGRenderer.prototype.getProperties = function(shape)
 85.1683 +{
 85.1684 +  var result = '';
 85.1685 +  
 85.1686 +  if (shape != null) 
 85.1687 +   {
 85.1688 +      result = shape.getAttributeNS(null, 'fill');
 85.1689 +      if (result == 'none')
 85.1690 +       {
 85.1691 +         mefillColor.visible = 'hidden';
 85.1692 +         mefillColor.hex = '#000000'; 
 85.1693 +         filldraw=true;
 85.1694 +         setbe(1,'img_okfill');
 85.1695 +       }
 85.1696 +        else
 85.1697 +       {   
 85.1698 +         //alert(mefillColor.hex+' '+result);
 85.1699 +         mefillColor.visible = 'visible';
 85.1700 +         mefillColor.hex = result; 
 85.1701 +         var rgb=hex2rgb(result)
 85.1702 +         mefillColor.r=rgb[0];
 85.1703 +         mefillColor.g=rgb[1];
 85.1704 +         mefillColor.b=rgb[2];
 85.1705 +         filldraw=false;
 85.1706 +         setbe(1,'img_okfill');
 85.1707 +
 85.1708 +       }
 85.1709 +
 85.1710 +      result = shape.getAttributeNS(null, 'stroke');
 85.1711 +      if (result == 'none')
 85.1712 +       {    
 85.1713 +         mestrokeColor.visible = 'hidden'; 
 85.1714 +         mestrokeColor.hex = '#000000';
 85.1715 +         mestrokeColor.width = 0;
 85.1716 +         strokedraw=true;
 85.1717 +         setbe(2,'img_okstroke');
 85.1718 +
 85.1719 +       }
 85.1720 +        else
 85.1721 +       { 
 85.1722 +         mestrokeColor.visible = 'visible'; 
 85.1723 +         mestrokeColor.hex = result; 
 85.1724 +         var rgb=hex2rgb(result)
 85.1725 +         mestrokeColor.r=rgb[0];
 85.1726 +         mestrokeColor.g=rgb[1];
 85.1727 +         mestrokeColor.b=rgb[2];
 85.1728 +         strokedraw=false;
 85.1729 +         setbe(2,'img_okstroke');
 85.1730 +
 85.1731 +       }
 85.1732 +
 85.1733 +      result = shape.getAttributeNS(null, 'stroke-width');
 85.1734 +      mestrokeColor.width = result;
 85.1735 + 
 85.1736 +      result = shape.getAttributeNS(null, 'fill-opacity'); 
 85.1737 +      mefillColor.opacity = result;
 85.1738 +
 85.1739 +      result = shape.getAttributeNS(null, 'stroke-opacity');
 85.1740 +      mestrokeColor.opacity = result;
 85.1741 +      
 85.1742 +      setProperties();
 85.1743 +   }
 85.1744 +}
 85.1745 +
 85.1746 +
 85.1747 +SVGRenderer.prototype.showMultiSelect = function(iniX,iniY) { 
 85.1748 +  var tracker = document.getElementById('trackerMultiSelect');
 85.1749 +  if (tracker) {
 85.1750 +    this.remove(tracker);
 85.1751 +  }
 85.1752 +  
 85.1753 +  var coord=this.editor.inputxy;
 85.1754 +	toX=parseFloat(coord[0]);
 85.1755 +	toY=parseFloat(coord[1]); 
 85.1756 +	
 85.1757 +    tracker = document.createElementNS(svgNamespace, 'rect'); 
 85.1758 +      
 85.1759 +    tracker.setAttributeNS(null, 'x', iniX);
 85.1760 +    tracker.setAttributeNS(null, 'y', iniY);    
 85.1761 +  tracker.setAttributeNS(null, 'width', toX);
 85.1762 +  tracker.setAttributeNS(null, 'height', toY);
 85.1763 +  tracker.setAttributeNS(null, 'fill', '#ffffff');
 85.1764 +  tracker.setAttributeNS(null, 'stroke', 'green');
 85.1765 +  tracker.setAttributeNS(null, 'stroke-width', '1');  
 85.1766 +  
 85.1767 +   this.svgRoot.appendChild(tracker);     
 85.1768 +}
 85.1769 +
 85.1770 +
 85.1771 +function mouseCoord()
 85.1772 +{                                           
 85.1773 +   var coord=this.editor.inputxy;
 85.1774 +   coord[0]=parseFloat(coord[0]);
 85.1775 +   coord[1]=parseFloat(coord[1]); 
 85.1776 +   return coord
 85.1777 +} 
 85.1778 +/*
 85.1779 +function nodeHit(node)
 85.1780 +{                                           
 85.1781 +   node.addEventListener("mousemove", function(event) {nodeMove(node)}, false);            
 85.1782 +  
 85.1783 +}
 85.1784 +
 85.1785 +function nodeUp(node)
 85.1786 +{                                           
 85.1787 +   //node.stopObserving("mousemove");
 85.1788 +}                                                                             
 85.1789 +
 85.1790 +function nodeMove(node)
 85.1791 +{                                           
 85.1792 +   var mypath=$('control_codebase').value; 
 85.1793 +   var  x= $('option_path_x').value;
 85.1794 +   var y= $('option_path_y').value; 
 85.1795 +   var precoord=x+','+y; 
 85.1796 +    var coord=mouseCoord(); 
 85.1797 +   node.setAttributeNS(null, 'x', coord[0]-2); 
 85.1798 +   node.setAttributeNS(null, 'y', coord[1]-2); 
 85.1799 +
 85.1800 +   $('option_path_x').value=parseFloat(node.getAttributeNS(null,'x'))+2; 
 85.1801 +   $('option_path_y').value=parseFloat(node.getAttributeNS(null,'y'))+2; 
 85.1802 +   
 85.1803 +    var  cadx= $('option_path_x').value;
 85.1804 +    var cady= $('option_path_y').value; 
 85.1805 +    var coord=cadx+','+cady;
 85.1806 +          var cad1=new RegExp(precoord,"g");
 85.1807 +      
 85.1808 +      
 85.1809 +      var result=mypath.replace(cad1, coord);
 85.1810 +      
 85.1811 +     
 85.1812 +      $('control_codebase').value=result; 
 85.1813 +      
 85.1814 +      $('someinfo').value=precoord;
 85.1815 +      setShape();
 85.1816 +
 85.1817 +    
 85.1818 +    
 85.1819 +} 
 85.1820 +*/                                                                              
 85.1821 +var memoNode=null; 
 85.1822 +var memoPrevControl=new Array();
 85.1823 +var memoNextControl=new Array();
 85.1824 +SVGRenderer.prototype.nodeMove = function(newx,newy) { 
 85.1825 +    var mypath=$('control_codebase').value; 
 85.1826 +   var  x= $('option_path_x').value;
 85.1827 +   var y= $('option_path_y').value; 
 85.1828 +   var precoord=x+','+y; 
 85.1829 +   
 85.1830 +   $('option_path_x').value=newx; 
 85.1831 +   $('option_path_y').value=newy; 
 85.1832 +    
 85.1833 +      var  cadx= newx;
 85.1834 +      var cady= newy; 
 85.1835 +  
 85.1836 +      var coord=cadx+','+cady;
 85.1837 +          var cad1=new RegExp(precoord,"g");
 85.1838 +      
 85.1839 +      
 85.1840 +      var result=mypath.replace(cad1, coord);
 85.1841 +      
 85.1842 +     
 85.1843 +      $('control_codebase').value=result; 
 85.1844 +      
 85.1845 +      $('someinfo').value=precoord;
 85.1846 +      setShape();
 85.1847 +
 85.1848 +}
 85.1849 +
 85.1850 +function drawNodeControl(svg,numId){
 85.1851 +
 85.1852 +      var svgNamespace = 'http://www.w3.org/2000/svg';
 85.1853 +      var color1='#0066ff';          
 85.1854 +           // if(parseInt(memoNode.id)==a){   
 85.1855 +                   
 85.1856 +                   var pointprev=memoPrevControl[numId].split(',');
 85.1857 +            
 85.1858 +                  var controlNode1 = document.createElementNS(svgNamespace, 'rect'); 
 85.1859 +                  controlNode1.setAttributeNS(null, 'x', pointprev[0]-2);
 85.1860 +                  controlNode1.setAttributeNS(null, 'y', pointprev[1]-2);
 85.1861 +          
 85.1862 +                  controlNode1.setAttributeNS(null, 'width', 4);
 85.1863 +                  controlNode1.setAttributeNS(null, 'height', 4);
 85.1864 +                  controlNode1.setAttributeNS(null, 'fill', color1);
 85.1865 +                  controlNode1.setAttributeNS(null, 'stroke', '#000000');
 85.1866 +                  controlNode1.setAttributeNS(null, 'stroke-width', '0'); 
 85.1867 +                  controlNode1.setAttributeNS(null, 'id', 'controlNode1'); 
 85.1868 +                  controlNode1.addEventListener("mousedown", function(event) {if(memoNode != null){memoNode.setAttributeNS(null, 'stroke-width', 0 );} memoNode=this; this.setAttributeNS(null, 'fill-color', '#ffff00' );this.setAttributeNS(null, 'stroke-width', 1 );$('option_path_num').value=this.getAttributeNS(null,'id'); $('option_path_x').value=parseFloat(this.getAttributeNS(null,'x'))+2; $('option_path_y').value=parseFloat(this.getAttributeNS(null,'y'))+2;  }, false);
 85.1869 +                  svg.appendChild(controlNode1);  
 85.1870 +                  
 85.1871 +                   var pointnext=memoNextControl[numId].split(',');
 85.1872 +                  
 85.1873 +               
 85.1874 +                  var controlNode2 = document.createElementNS(svgNamespace, 'rect'); 
 85.1875 +                  controlNode2.setAttributeNS(null, 'x', pointnext[0]-2);
 85.1876 +                  controlNode2.setAttributeNS(null, 'y', pointnext[1]-2);
 85.1877 +          
 85.1878 +                  controlNode2.setAttributeNS(null, 'width', 4);
 85.1879 +                  controlNode2.setAttributeNS(null, 'height', 4);
 85.1880 +                  controlNode2.setAttributeNS(null, 'fill', color1);
 85.1881 +                  controlNode2.setAttributeNS(null, 'stroke', '#000000');
 85.1882 +                  controlNode2.setAttributeNS(null, 'stroke-width', '0'); 
 85.1883 +                  controlNode2.setAttributeNS(null, 'id', 'controlNode1'); 
 85.1884 +                  controlNode2.addEventListener("mousedown", function(event) {if(memoNode != null){memoNode.setAttributeNS(null, 'stroke-width', 0 );} memoNode=this; this.setAttributeNS(null, 'fill-color', '#ffff00' );this.setAttributeNS(null, 'stroke-width', 1 );$('option_path_num').value=this.getAttributeNS(null,'id'); $('option_path_x').value=parseFloat(this.getAttributeNS(null,'x'))+2; $('option_path_y').value=parseFloat(this.getAttributeNS(null,'y'))+2;  }, false);
 85.1885 +                  svg.appendChild(controlNode2);  
 85.1886 +
 85.1887 +            //}
 85.1888 +
 85.1889 +
 85.1890 +}  
 85.1891 +                                                                   
 85.1892 +SVGRenderer.prototype.showNodesCurve = function(path,controlNodeNum){ 
 85.1893 +     memoNextControl=new Array();
 85.1894 +     memoPrevControl=new Array();
 85.1895 +     var svgNamespace = 'http://www.w3.org/2000/svg';
 85.1896 +    // tracker = document.createElementNS(svgNamespace, 'g');   
 85.1897 +     var svg = this.container.ownerDocument.createElementNS(svgNamespace, 'g'); 
 85.1898 +      svg.setAttributeNS(null, 'id', 'editNodesPath'); 
 85.1899 +
 85.1900 +     /* var group = document.getElementById('editNodesPath');
 85.1901 +      if (group) 
 85.1902 +       {
 85.1903 +           this.remove(group);
 85.1904 +       }
 85.1905 +       */
 85.1906 +
 85.1907 +  var points=path.split(' ');
 85.1908 +     var chain='';
 85.1909 +     var segment=' ';  
 85.1910 +     prevControl=' ';
 85.1911 +     nextControl=' ';
 85.1912 +     nodePoint=' ';
 85.1913 +      var init=points[0].split('M'); 
 85.1914 +      var allcoords=init[1].split(' ');
 85.1915 +      var point=allcoords[0].split(',');
 85.1916 +          var rect1 = document.createElementNS(svgNamespace, 'rect');  
 85.1917 +        rect1.setAttributeNS(null, 'x', point[0]-2);
 85.1918 +        rect1.setAttributeNS(null, 'y', point[1]-2);
 85.1919 +          
 85.1920 +        rect1.setAttributeNS(null, 'width', 4);
 85.1921 +        rect1.setAttributeNS(null, 'height', 4);
 85.1922 +        rect1.setAttributeNS(null, 'fill', '#ff7700');
 85.1923 +        rect1.setAttributeNS(null, 'stroke', '#000000');
 85.1924 +        rect1.setAttributeNS(null, 'stroke-width', '0');  
 85.1925 +        rect1.setAttributeNS(null, 'id', '0'); 
 85.1926 +        //rect1.addEventListener("mouseover", function(event) {this.setAttributeNS(null, 'stroke-width', 1 ); }, false);
 85.1927 +      rect1.addEventListener("mousedown", function(event) {if(memoNode != null){memoNode.setAttributeNS(null, 'stroke-width', 0 );} memoNode=this; this.setAttributeNS(null, 'fill-color', '#ffff00' );this.setAttributeNS(null, 'stroke-width', 1 );$('option_path_num').value=this.getAttributeNS(null,'id'); $('option_path_x').value=parseFloat(this.getAttributeNS(null,'x'))+2; $('option_path_y').value=parseFloat(this.getAttributeNS(null,'y'))+2;  }, false);
 85.1928 +
 85.1929 +        //rect1.addEventListener("mouseout", function(event) {this.setAttributeNS(null, 'stroke-width', 0 );}, false);
 85.1930 +
 85.1931 +        svg.appendChild(rect1);                                    
 85.1932 +      
 85.1933 +          if(controlNodeNum==0){ var color='#ffff00';}  
 85.1934 +         if(controlNodeNum==1){var color='#00ffff';}  
 85.1935 +         if(controlNodeNum==2){var color='#00cc00';}  
 85.1936 +         var color1='#ffff00';
 85.1937 +      
 85.1938 +     var numpoints=points.length-1;  
 85.1939 +     var recalls='';
 85.1940 +     var re = /^[-]?\d*\.?\d*$/;
 85.1941 +     for(var a=1;a<=numpoints;a++)
 85.1942 +      { 
 85.1943 +        
 85.1944 +        var ini=points[a].substring(0,1);
 85.1945 +        if (!ini.match(re))        
 85.1946 +        {                          
 85.1947 +          var end=points[a].substring(1); 
 85.1948 +          color='#0000ff';
 85.1949 +          if(ini=='L' || ini=='M')
 85.1950 +           {
 85.1951 +             color='#ffff00';
 85.1952 +           }
 85.1953 +          
 85.1954 +          if(ini=='C')
 85.1955 +          { 
 85.1956 +             recall=a+2;
 85.1957 +             //color='#ffff00';
 85.1958 +          }
 85.1959 +
 85.1960 +        }else
 85.1961 +        { 
 85.1962 +          var end=points[a];
 85.1963 +          var ini='';  
 85.1964 +          color='#ff00ff'; 
 85.1965 +          if(a==recall)
 85.1966 +          { 
 85.1967 +             color='#ffff00';
 85.1968 +          }
 85.1969 +        } 
 85.1970 +        
 85.1971 +            
 85.1972 +        //segment=points[a].split(',');
 85.1973 +         /*prevControl=segment[0]+' '; 
 85.1974 +         nextControl=segment[1]+' '; 
 85.1975 +         nodePoint=segment[2]+' ';     
 85.1976 +         memoPrevControl[a]=prevControl;
 85.1977 +         memoNextControl[a]=nextControl;
 85.1978 +         if(controlNodeNum==0){chain+=prevControl; var point=prevControl.split(',');}  
 85.1979 +         if(controlNodeNum==1){chain+=nextControl; var point=nextControl.split(',');}  
 85.1980 +         if(controlNodeNum==2){chain+=nodePoint; var point=nodePoint.split(',');}  
 85.1981 +         if(controlNodeNum==3){chain+=nodePoint; var point=nodePoint.split(',');}
 85.1982 +           
 85.1983 +         */    
 85.1984 +               //if (isNaN(valnum))         
 85.1985 +
 85.1986 +         //if(ini=='C'){color='#ff00ff';}
 85.1987 +         
 85.1988 +         var point=end.split(',');
 85.1989 +         if(memoNode!=null){
 85.1990 +         }
 85.1991 +          var rect1 = document.createElementNS(svgNamespace, 'rect');  
 85.1992 +        rect1.setAttributeNS(null, 'x', point[0]-2);
 85.1993 +        rect1.setAttributeNS(null, 'y', point[1]-2);
 85.1994 +          
 85.1995 +        rect1.setAttributeNS(null, 'width', 4);
 85.1996 +        rect1.setAttributeNS(null, 'height', 4);
 85.1997 +        rect1.setAttributeNS(null, 'fill', color);
 85.1998 +        rect1.setAttributeNS(null, 'stroke', '#000000');
 85.1999 +        rect1.setAttributeNS(null, 'stroke-width', '0'); 
 85.2000 +        rect1.setAttributeNS(null, 'id', ''+a); 
 85.2001 +        rect1.addEventListener("mousedown", function(event) {if(memoNode != null){memoNode.setAttributeNS(null, 'stroke-width', 0 );}drawNodeControl(svg,this.getAttributeNS(null,'id')); memoNode=this; this.setAttributeNS(null, 'fill-color', '#ffff00' );this.setAttributeNS(null, 'stroke-width', 1 );$('option_path_num').value=this.getAttributeNS(null,'id'); $('option_path_x').value=parseFloat(this.getAttributeNS(null,'x'))+2; $('option_path_y').value=parseFloat(this.getAttributeNS(null,'y'))+2;  }, false);
 85.2002 +
 85.2003 +        //rect1.addEventListener("mouseover", function(event) {this.setAttributeNS(null, 'stroke-width', 1 );$('option_path_num').value=this.getAttributeNS(null,'id'); $('option_path_x').value=parseFloat(this.getAttributeNS(null,'x'))+2; $('option_path_y').value=parseFloat(this.getAttributeNS(null,'y'))+2; }, false);
 85.2004 +        // rect1.addEventListener("mousedown", function(event) {nodeHit(this);if(memoNode != null){memoNode.setAttributeNS(null, 'stroke-width', 0 );} memoNode=this; this.setAttributeNS(null, 'fill-color', '#ffff00' );this.setAttributeNS(null, 'stroke-width', 1 );$('option_path_num').value=this.getAttributeNS(null,'id'); $('option_path_x').value=parseFloat(this.getAttributeNS(null,'x'))+2; $('option_path_y').value=parseFloat(this.getAttributeNS(null,'y'))+2; document.forms[0].option_path_x.focus(); }, false);
 85.2005 +         //rect1.addEventListener("mousedown", function(event) { if(memoNode != null){memoNode.setAttributeNS(null, 'stroke-width', 0 );} nodeHit(this); memoNode=this;this.setAttributeNS(null, 'stroke-width', 1 );$('option_path_num').value=this.getAttributeNS(null,'id'); $('option_path_x').value=parseFloat(this.getAttributeNS(null,'x'))+2; $('option_path_y').value=parseFloat(this.getAttributeNS(null,'y'))+2; }, false);
 85.2006 +         //rect1.addEventListener("mousedown", function(event) {if(memoNode != null){memoNode.setAttributeNS(null, 'stroke-width', 0 );} addControlPoints(segment[0],segment[1],svg); memoNode=this; this.setAttributeNS(null, 'fillColor', '#ffff00' );this.setAttributeNS(null, 'stroke-width', 1 );$('option_path_num').value=this.getAttributeNS(null,'id'); $('option_path_x').value=parseFloat(this.getAttributeNS(null,'x'))+2; $('option_path_y').value=parseFloat(this.getAttributeNS(null,'y'))+2; }, false);
 85.2007 +         //rect1.addEventListener("mouseup", function(event) {nodeUp(this); }, false);
 85.2008 +         //rect1.addEventListener("mouseover", function(event) {this.setAttributeNS(null, 'fillColor', '#ffcc00' ); }, false);
 85.2009 +         //rect1.addEventListener("mouseout", function(event) {this.setAttributeNS(null, 'fillColor', '#00cc00' ); }, false);
 85.2010 +         
 85.2011 +
 85.2012 +         //rect1.addEventListener("mouseout", function(event) {this.setAttributeNS(null, 'stroke-width', 0 ); }, false);
 85.2013 +
 85.2014 +        svg.appendChild(rect1);                                    
 85.2015 +         
 85.2016 +      }                     
 85.2017 +      var info='';
 85.2018 +       
 85.2019 +         if(controlNodeNum==0){info='prev Control'}  
 85.2020 +         if(controlNodeNum==1){info='next Control'}  
 85.2021 +         if(controlNodeNum==2){info='points node'}   
 85.2022 +        // $('someinfo').value=numpoints+ ' '+info+':'+ chain;
 85.2023 +        $('someinfo').value='Crtl+Arrow to move';
 85.2024 +    //return chain;                                          
 85.2025 +    
 85.2026 +
 85.2027 +      //this.svgRoot.appendChild(svg);   
 85.2028 +    
 85.2029 +    return svg;  
 85.2030 +        
 85.2031 +};
 85.2032 +
 85.2033 +SVGRenderer.prototype.showNodesCurve1 = function(path,controlNodeNum){ 
 85.2034 +     memoNextControl=new Array();
 85.2035 +     memoPrevControl=new Array();
 85.2036 +     var svgNamespace = 'http://www.w3.org/2000/svg';
 85.2037 +    // tracker = document.createElementNS(svgNamespace, 'g');   
 85.2038 +     var svg = this.container.ownerDocument.createElementNS(svgNamespace, 'g'); 
 85.2039 +      svg.setAttributeNS(null, 'id', 'editNodesPath'); 
 85.2040 +
 85.2041 +     /* var group = document.getElementById('editNodesPath');
 85.2042 +      if (group) 
 85.2043 +       {
 85.2044 +           this.remove(group);
 85.2045 +       }
 85.2046 +       */
 85.2047 +
 85.2048 +  var points=path.split('C');
 85.2049 +     var chain='';
 85.2050 +     var segment=' ';  
 85.2051 +     prevControl=' ';
 85.2052 +     nextControl=' ';
 85.2053 +     nodePoint=' ';
 85.2054 +      var init=points[0].split('M'); 
 85.2055 +      var allcoords=init[1].split(' ');
 85.2056 +      var point=allcoords[0].split(',');
 85.2057 +          var rect1 = document.createElementNS(svgNamespace, 'rect');  
 85.2058 +        rect1.setAttributeNS(null, 'x', point[0]-2);
 85.2059 +        rect1.setAttributeNS(null, 'y', point[1]-2);
 85.2060 +          
 85.2061 +        rect1.setAttributeNS(null, 'width', 4);
 85.2062 +        rect1.setAttributeNS(null, 'height', 4);
 85.2063 +        rect1.setAttributeNS(null, 'fill', '#ff7700');
 85.2064 +        rect1.setAttributeNS(null, 'stroke', '#000000');
 85.2065 +        rect1.setAttributeNS(null, 'stroke-width', '0');  
 85.2066 +        rect1.setAttributeNS(null, 'id', '0'); 
 85.2067 +        //rect1.addEventListener("mouseover", function(event) {this.setAttributeNS(null, 'stroke-width', 1 ); }, false);
 85.2068 +        rect1.addEventListener("mousedown", function(event) {if(memoNode != null){memoNode.setAttributeNS(null, 'stroke-width', 0 );} memoNode=this; this.setAttributeNS(null, 'fill-color', '#ffff00' );this.setAttributeNS(null, 'stroke-width', 1 );$('option_path_num').value=this.getAttributeNS(null,'id'); $('option_path_x').value=parseFloat(this.getAttributeNS(null,'x'))+2; $('option_path_y').value=parseFloat(this.getAttributeNS(null,'y'))+2;  }, false);
 85.2069 +
 85.2070 +        //rect1.addEventListener("mouseout", function(event) {this.setAttributeNS(null, 'stroke-width', 0 );}, false);
 85.2071 +
 85.2072 +        svg.appendChild(rect1);                                    
 85.2073 +      
 85.2074 +          if(controlNodeNum==0){ var color='#ffff00';}  
 85.2075 +         if(controlNodeNum==1){var color='#00ffff';}  
 85.2076 +         if(controlNodeNum==2){var color='#00cc00';}  
 85.2077 +         var color1='#ffff00';
 85.2078 +      
 85.2079 +     var numpoints=points.length-1;
 85.2080 +     for(var a=1;a<=numpoints;a++)
 85.2081 +      { 
 85.2082 +        
 85.2083 +        
 85.2084 +            
 85.2085 +        segment=points[a].split(' ');
 85.2086 +         prevControl=segment[0]+' '; 
 85.2087 +         nextControl=segment[1]+' '; 
 85.2088 +         nodePoint=segment[2]+' ';     
 85.2089 +         memoPrevControl[a]=prevControl;
 85.2090 +         memoNextControl[a]=nextControl;
 85.2091 +         if(controlNodeNum==0){chain+=prevControl; var point=prevControl.split(',');}  
 85.2092 +         if(controlNodeNum==1){chain+=nextControl; var point=nextControl.split(',');}  
 85.2093 +         if(controlNodeNum==2){chain+=nodePoint; var point=nodePoint.split(',');}  
 85.2094 +         if(controlNodeNum==3){chain+=nodePoint; var point=nodePoint.split(',');}  
 85.2095 +      
 85.2096 +         if(memoNode!=null){
 85.2097 +         }
 85.2098 +          var rect1 = document.createElementNS(svgNamespace, 'rect');  
 85.2099 +        rect1.setAttributeNS(null, 'x', point[0]-2);
 85.2100 +        rect1.setAttributeNS(null, 'y', point[1]-2);
 85.2101 +          
 85.2102 +        rect1.setAttributeNS(null, 'width', 4);
 85.2103 +        rect1.setAttributeNS(null, 'height', 4);
 85.2104 +        rect1.setAttributeNS(null, 'fill', color);
 85.2105 +        rect1.setAttributeNS(null, 'stroke', '#000000');
 85.2106 +        rect1.setAttributeNS(null, 'stroke-width', '0'); 
 85.2107 +        rect1.setAttributeNS(null, 'id', ''+a); 
 85.2108 +        rect1.addEventListener("mousedown", function(event) {if(memoNode != null){memoNode.setAttributeNS(null, 'stroke-width', 0 );}drawNodeControl(svg,this.getAttributeNS(null,'id')); memoNode=this; this.setAttributeNS(null, 'fill-color', '#ffff00' );this.setAttributeNS(null, 'stroke-width', 1 );$('option_path_num').value=this.getAttributeNS(null,'id'); $('option_path_x').value=parseFloat(this.getAttributeNS(null,'x'))+2; $('option_path_y').value=parseFloat(this.getAttributeNS(null,'y'))+2;  }, false);
 85.2109 +
 85.2110 +        //rect1.addEventListener("mouseover", function(event) {this.setAttributeNS(null, 'stroke-width', 1 );$('option_path_num').value=this.getAttributeNS(null,'id'); $('option_path_x').value=parseFloat(this.getAttributeNS(null,'x'))+2; $('option_path_y').value=parseFloat(this.getAttributeNS(null,'y'))+2; }, false);
 85.2111 +        // rect1.addEventListener("mousedown", function(event) {nodeHit(this);if(memoNode != null){memoNode.setAttributeNS(null, 'stroke-width', 0 );} memoNode=this; this.setAttributeNS(null, 'fill-color', '#ffff00' );this.setAttributeNS(null, 'stroke-width', 1 );$('option_path_num').value=this.getAttributeNS(null,'id'); $('option_path_x').value=parseFloat(this.getAttributeNS(null,'x'))+2; $('option_path_y').value=parseFloat(this.getAttributeNS(null,'y'))+2; document.forms[0].option_path_x.focus(); }, false);
 85.2112 +         //rect1.addEventListener("mousedown", function(event) { if(memoNode != null){memoNode.setAttributeNS(null, 'stroke-width', 0 );} nodeHit(this); memoNode=this;this.setAttributeNS(null, 'stroke-width', 1 );$('option_path_num').value=this.getAttributeNS(null,'id'); $('option_path_x').value=parseFloat(this.getAttributeNS(null,'x'))+2; $('option_path_y').value=parseFloat(this.getAttributeNS(null,'y'))+2; }, false);
 85.2113 +         //rect1.addEventListener("mousedown", function(event) {if(memoNode != null){memoNode.setAttributeNS(null, 'stroke-width', 0 );} addControlPoints(segment[0],segment[1],svg); memoNode=this; this.setAttributeNS(null, 'fillColor', '#ffff00' );this.setAttributeNS(null, 'stroke-width', 1 );$('option_path_num').value=this.getAttributeNS(null,'id'); $('option_path_x').value=parseFloat(this.getAttributeNS(null,'x'))+2; $('option_path_y').value=parseFloat(this.getAttributeNS(null,'y'))+2; }, false);
 85.2114 +         //rect1.addEventListener("mouseup", function(event) {nodeUp(this); }, false);
 85.2115 +         //rect1.addEventListener("mouseover", function(event) {this.setAttributeNS(null, 'fillColor', '#ffcc00' ); }, false);
 85.2116 +         //rect1.addEventListener("mouseout", function(event) {this.setAttributeNS(null, 'fillColor', '#00cc00' ); }, false);
 85.2117 +         
 85.2118 +
 85.2119 +         //rect1.addEventListener("mouseout", function(event) {this.setAttributeNS(null, 'stroke-width', 0 ); }, false);
 85.2120 +
 85.2121 +        svg.appendChild(rect1);                                    
 85.2122 +         
 85.2123 +      }                     
 85.2124 +      var info='';
 85.2125 +       
 85.2126 +         if(controlNodeNum==0){info='prev Control'}  
 85.2127 +         if(controlNodeNum==1){info='next Control'}  
 85.2128 +         if(controlNodeNum==2){info='points node'}   
 85.2129 +        // $('someinfo').value=numpoints+ ' '+info+':'+ chain;
 85.2130 +        $('someinfo').value='Crtl+Arrow to move';
 85.2131 +    //return chain;                                          
 85.2132 +    
 85.2133 +
 85.2134 +      //this.svgRoot.appendChild(svg);   
 85.2135 +    
 85.2136 +    return svg;  
 85.2137 +        
 85.2138 +};
 85.2139 +SVGRenderer.prototype.showTracker = function(shape,pathsEdit) {  
 85.2140 +
 85.2141 +  var box = shape.getBBox();
 85.2142 + var matrix = shape.getScreenCTM();
 85.2143 +  var trshape= shape.getAttributeNS(null, 'transform');  
 85.2144 +  var shap=1; 
 85.2145 +  var T = shape.getCTM();
 85.2146 +  //a,b,c,d,e,f
 85.2147 +
 85.2148 +    
 85.2149 + 
 85.2150 + 
 85.2151 +    //var thisTransform = {  sx: s[0], r: shape.vRotate, t: shape.vTranslate };
 85.2152 +    //if (currentTransform != null) alert(currentTransform.t);
 85.2153 + 
 85.2154 +  if (shape.tagName == 'rect') { 
 85.2155 +     
 85.2156 +     $('option_rect_rot').value= T.b* (Math.PI * 2 / 360); 
 85.2157 +     $('option_rect_trx').value= box.x;  
 85.2158 +     $('option_rect_try').value= box.y;
 85.2159 +     $('option_rect_sclx').value= box.width;  
 85.2160 +     $('option_rect_scly').value= box.height;
 85.2161 +
 85.2162 +  }  
 85.2163 +
 85.2164 +  if (shape.tagName == 'image'){
 85.2165 +    $('option_img_trx').value= box.x; 
 85.2166 +    $('option_img_try').value= box.y;
 85.2167 +    $('option_img_sclx').value= box.width;  
 85.2168 +    $('option_img_scly').value= box.height;
 85.2169 +    $('option_img_rot').value= T.b* (Math.PI * 2 / 360);
 85.2170 +  }
 85.2171 +  if (shape.tagName == 'text'){
 85.2172 +   /* f$('option_text_trx').value= box.x; 
 85.2173 +    $('option_text_try').value= box.y;
 85.2174 +    $('option_text_sclx').value= box.width;  
 85.2175 +    $('option_text_scly').value= box.height;
 85.2176 +    $('option_text_rot').value= T.b* (Math.PI * 2 / 360);
 85.2177 +   */
 85.2178 +  }
 85.2179 +  if (shape.tagName == 'line'){ 
 85.2180 +    /*
 85.2181 +    $('option_line_trx').value= box.x;  
 85.2182 +    $('option_line_try').value= box.y;
 85.2183 +    */
 85.2184 +  }   
 85.2185 +  if (shape.tagName == 'ellipse'){  
 85.2186 +    /*$('option_ellipse_trx').value= putx;  
 85.2187 +    $('option_ellipse_try').value= puty;
 85.2188 +    $('option_ellipse_sclx').value= box.width;  
 85.2189 +    $('option_ellipse_scly').value= box.height;
 85.2190 +    $('option_ellipse_rot').value= T.b* (Math.PI * 2 / 360);
 85.2191 +    */
 85.2192 +  }
 85.2193 +  
 85.2194 +  
 85.2195 +  
 85.2196 + /* if (shape.getAttributeNS(null, 'transform') ) { 
 85.2197 +        
 85.2198 +        
 85.2199 +        shap=2; }else{
 85.2200 +  }*/ 
 85.2201 +  var tracker = document.getElementById('tracker');
 85.2202 +  if (tracker) {
 85.2203 +    this.remove(tracker);
 85.2204 +  }
 85.2205 +
 85.2206 +  var svgNamespace = 'http://www.w3.org/2000/svg';
 85.2207 +  
 85.2208 +     tracker = document.createElementNS(svgNamespace, 'g');    
 85.2209 +      tracker.setAttributeNS(null, 'id', 'tracker'); 
 85.2210 +      
 85.2211 +    var controlPoints=null;
 85.2212 +    if (shape.tagName == 'path') { shap=2; 
 85.2213 +    
 85.2214 +    /* $('option_path_trx').value= box.x;  
 85.2215 +     $('option_path_try').value= box.y;
 85.2216 +     $('option_path_sclx').value= T.a;   
 85.2217 +     $('option_path_scly').value= T.d; 
 85.2218 +     $('option_path_rot').value= T.b* (Math.PI * 2 / 360);
 85.2219 +     */                                        
 85.2220 +     var path=shape.getAttributeNS(null, 'd');
 85.2221 +      $('control_codebase').value=path;  
 85.2222 +       
 85.2223 +       //controlPoints=this.showNodesCurve(path,0);
 85.2224 +       //controlPoints=this.showNodesCurve(path,1); 
 85.2225 +       controlPoints=this.showNodesCurve(path,2);
 85.2226 +       
 85.2227 +           
 85.2228 +        /*   controlPoints=this.showNodesCurve(path,1); 
 85.2229 +   
 85.2230 +           tracker.appendChild(controlPoints);     
 85.2231 +           
 85.2232 +           controlPoints=this.showNodesCurve(path,0); 
 85.2233 +   
 85.2234 +           tracker.appendChild(controlPoints); 
 85.2235 +        */   
 85.2236 +   }        
 85.2237 +      
 85.2238 +     var svg = this.container.ownerDocument.createElementNS(svgNamespace, 'g'); 
 85.2239 +      svg.setAttributeNS(null, 'id', 'transformSquares'); 
 85.2240 +   
 85.2241 +          
 85.2242 +       //var rect = document.createElementNS(svgNamespace, 'rect');   
 85.2243 +       var border = document.createElementNS(svgNamespace, 'path');  
 85.2244 +       
 85.2245 +       var trshape='translate (0,0) rotate(0) translate(0,0) '; 
 85.2246 +       var trshape_split=trshape.split(') ');    
 85.2247 +       
 85.2248 +      // get_between (trshape, s1, s2) ;
 85.2249 +     if(shape.getAttributeNS(null, 'transform')){ 
 85.2250 +         var trshape=shape.getAttributeNS(null, 'transform') ;   
 85.2251 +         //var spl=trshape.replace(', ',' ');  
 85.2252 +         //var spl1=spl.replace(')',' ');    
 85.2253 +         var trshape_split=trshape.split(') '); 
 85.2254 +         
 85.2255 +
 85.2256 +    }
 85.2257 +                                         
 85.2258 +  var corners = [];
 85.2259 +  var point = createPoint(box.x, box.y, box.width, box.height);
 85.2260 + //point = {x:box.x, y:box.y, width: box.width, height:box.height};
 85.2261 +//point = createPoint(box.x, box.y, box.width, box.height);    
 85.2262 +  //1
 85.2263 +  corners.push( createPoint(box.x + box.width, box.y, box.width, box.height) );
 85.2264 +  point.x = box.x + box.width;
 85.2265 +  point.y = box.y;
 85.2266 +  //2
 85.2267 +  corners.push( createPoint(box.x + box.width, box.y + box.height, box.width, box.height) );
 85.2268 +  point.x = box.x + box.width;
 85.2269 +  point.y = box.y + box.height;
 85.2270 +  //3
 85.2271 +  //corners.push( point.matrixTransform(matrix) );
 85.2272 +  corners.push( createPoint(box.x , box.y + box.height, box.width, box.height) );
 85.2273 +  point.x = box.x;
 85.2274 +  point.y = box.y + box.height;
 85.2275 +  //4
 85.2276 +  corners.push( createPoint(box.x + box.width, box.y, box.width, box.height) );   
 85.2277 +  
 85.2278 +  var max = createPoint(corners[0].x, corners[0].y);
 85.2279 +  var min = createPoint(corners[0].x, corners[0].y);
 85.2280 +
 85.2281 +  // identify the new corner coordinates of the
 85.2282 +  // fully transformed bounding box
 85.2283 +  for (var i = 1; i < corners.length; i++) {
 85.2284 +    var x = corners[i].x;
 85.2285 +    var y = corners[i].y;
 85.2286 +    if (x < min.x) {
 85.2287 +      min.x = x;
 85.2288 +    }
 85.2289 +    else if (x > max.x) {
 85.2290 +      max.x = x;
 85.2291 +    }
 85.2292 +    if (y < min.y) {
 85.2293 +      min.y = y;
 85.2294 +    }
 85.2295 +    else if (y > max.y) {
 85.2296 +      max.y = y;
 85.2297 +    }
 85.2298 +  }
 85.2299 +  
 85.2300 +  // return the bounding box as an SVGRect object
 85.2301 +  //rect = document.createElementNS(svgNamespace, 'rect');
 85.2302 +   //rect.setAttributeNS(null, 'x', min.x-10);
 85.2303 +    //rect.setAttributeNS(null, 'y', min.y-10);   
 85.2304 +    
 85.2305 +    //rect.setAttributeNS(null, 'width', max.x - min.x+20);
 85.2306 +    //rect.setAttributeNS(null, 'height', max.y - min.y+20);   
 85.2307 +     
 85.2308 +     border.setAttributeNS(null, 'd', "M"+(min.x-10)+","+ (min.y-10)+' h'+(box.width+20)+','+(0)+' v'+(0)+','+(box.height+20)+' h'+(-box.width-20)+','+(0)+' z M'+(box.x+box.width+10)+","+ (box.y+(box.height/2)+' h'+(25)+',0 '));   
 85.2309 +     
 85.2310 +     
 85.2311 +     border.setAttributeNS(null, 'fill', 'none');
 85.2312 +     border.setAttributeNS(null, 'stroke', '#cccccc');
 85.2313 +     border.setAttributeNS(null, 'stroke-width', '1'); 
 85.2314 +       
 85.2315 +// createRect(min.x, min.y, max.x - min.x, max.y - min.y);
 85.2316 +
 85.2317 +      var circle1 = document.createElementNS(svgNamespace, 'ellipse');  
 85.2318 +      circle1.setAttributeNS(null, 'cx', (box.x + box.width+40) + 'px');
 85.2319 +    circle1.setAttributeNS(null, 'cy', (box.y + box.height / 2) + 'px');
 85.2320 +    circle1.setAttributeNS(null, 'rx', (5) + 'px');
 85.2321 +    circle1.setAttributeNS(null, 'ry', (5) + 'px');   
 85.2322 +   circle1.setAttributeNS(null, 'fill', '#ffffff');
 85.2323 +  circle1.setAttributeNS(null, 'stroke', 'green');
 85.2324 +  circle1.setAttributeNS(null, 'stroke-width', '1');   
 85.2325 +
 85.2326 +      var circleCenter = document.createElementNS(svgNamespace, 'ellipse');  
 85.2327 +      circleCenter.setAttributeNS(null, 'cx', (box.x + (box.width/2)) + 'px');
 85.2328 +    circleCenter.setAttributeNS(null, 'cy', (box.y + (box.height /2)) + 'px');
 85.2329 +    circleCenter.setAttributeNS(null, 'rx', (10) + 'px');
 85.2330 +    circleCenter.setAttributeNS(null, 'ry', (10) + 'px');   
 85.2331 +   circleCenter.setAttributeNS(null, 'fill', '#ffffff');
 85.2332 +  circleCenter.setAttributeNS(null, 'stroke', 'green');
 85.2333 +  circleCenter.setAttributeNS(null, 'stroke-width', '1');   
 85.2334 +
 85.2335 +     var rect1 = document.createElementNS(svgNamespace, 'rect');  
 85.2336 +  rect1.setAttributeNS(null, 'width', 10);
 85.2337 +  rect1.setAttributeNS(null, 'height', 10);
 85.2338 +  rect1.setAttributeNS(null, 'fill', '#ffffff');
 85.2339 +  rect1.setAttributeNS(null, 'stroke', 'green');
 85.2340 +  rect1.setAttributeNS(null, 'stroke-width', '1');  
 85.2341 +
 85.2342 +  var rect2 = document.createElementNS(svgNamespace, 'rect');  
 85.2343 +  rect2.setAttributeNS(null, 'width', 10);
 85.2344 +  rect2.setAttributeNS(null, 'height', 10);
 85.2345 +  rect2.setAttributeNS(null, 'fill', '#ffffff');
 85.2346 +  rect2.setAttributeNS(null, 'stroke', 'green');
 85.2347 +  rect2.setAttributeNS(null, 'stroke-width', '1');  
 85.2348 +
 85.2349 +  var rect3 = document.createElementNS(svgNamespace, 'rect');  
 85.2350 +  rect3.setAttributeNS(null, 'width', 10);
 85.2351 +  rect3.setAttributeNS(null, 'height', 10);
 85.2352 +  rect3.setAttributeNS(null, 'fill', '#ffffff');
 85.2353 +  rect3.setAttributeNS(null, 'stroke', 'green');
 85.2354 +  rect3.setAttributeNS(null, 'stroke-width', '1'); 
 85.2355 +  
 85.2356 +  var rect4 = document.createElementNS(svgNamespace, 'rect');  
 85.2357 +  rect4.setAttributeNS(null, 'width', 10);
 85.2358 +  rect4.setAttributeNS(null, 'height', 10);
 85.2359 +  rect4.setAttributeNS(null, 'fill', '#ffffff');
 85.2360 +  rect4.setAttributeNS(null, 'stroke', 'green');
 85.2361 +  rect4.setAttributeNS(null, 'stroke-width', '1');  
 85.2362 + 
 85.2363 +  var rectmid12 = document.createElementNS(svgNamespace, 'rect');  
 85.2364 +  rectmid12.setAttributeNS(null, 'width', 10);
 85.2365 +  rectmid12.setAttributeNS(null, 'height', 10);
 85.2366 +  rectmid12.setAttributeNS(null, 'fill', '#ffffff');
 85.2367 +  rectmid12.setAttributeNS(null, 'stroke', 'green');
 85.2368 +  rectmid12.setAttributeNS(null, 'stroke-width', '1');  
 85.2369 +
 85.2370 +  var rectmid23 = document.createElementNS(svgNamespace, 'rect');  
 85.2371 +  rectmid23.setAttributeNS(null, 'width', 10);
 85.2372 +  rectmid23.setAttributeNS(null, 'height', 10);
 85.2373 +  rectmid23.setAttributeNS(null, 'fill', '#ffffff');
 85.2374 +  rectmid23.setAttributeNS(null, 'stroke', 'green');
 85.2375 +  rectmid23.setAttributeNS(null, 'stroke-width', '1');  
 85.2376 +
 85.2377 +  var rectmid34 = document.createElementNS(svgNamespace, 'rect');  
 85.2378 +  rectmid34.setAttributeNS(null, 'width', 10);
 85.2379 +  rectmid34.setAttributeNS(null, 'height', 10);
 85.2380 +  rectmid34.setAttributeNS(null, 'fill', '#ffffff');
 85.2381 +  rectmid34.setAttributeNS(null, 'stroke', 'green');
 85.2382 +  rectmid34.setAttributeNS(null, 'stroke-width', '1'); 
 85.2383 +  
 85.2384 +  var rectmid41 = document.createElementNS(svgNamespace, 'rect');  
 85.2385 +  rectmid41.setAttributeNS(null, 'width', 10);
 85.2386 +  rectmid41.setAttributeNS(null, 'height', 10);
 85.2387 +  rectmid41.setAttributeNS(null, 'fill', '#ffffff');
 85.2388 +  rectmid41.setAttributeNS(null, 'stroke', 'green');
 85.2389 +  rectmid41.setAttributeNS(null, 'stroke-width', '1');   
 85.2390 +   // rect.setAttributeNS(null, 'x', box.x - 10);
 85.2391 +   // rect.setAttributeNS(null, 'y', box.y - 10);    
 85.2392 +    
 85.2393 +    rect1.setAttributeNS(null, 'x', box.x - 10-5);
 85.2394 +    rect1.setAttributeNS(null, 'y', box.y - 10-5);  
 85.2395 +   
 85.2396 +    
 85.2397 +    rect2.setAttributeNS(null, 'x', box.x + box.width +5 );
 85.2398 +    rect2.setAttributeNS(null, 'y', box.y -10 -5);   
 85.2399 +
 85.2400 +    rect3.setAttributeNS(null, 'x', box.x + box.width+5 );
 85.2401 +    rect3.setAttributeNS(null, 'y', box.y + box.height+5);
 85.2402 +                                                       
 85.2403 +    rect4.setAttributeNS(null, 'x', box.x -10-5 );
 85.2404 +    rect4.setAttributeNS(null, 'y', box.y + box.height+5);    
 85.2405 +
 85.2406 +    
 85.2407 +
 85.2408 +    rectmid12.setAttributeNS(null, 'x', box.x + (box.width/2) -5);
 85.2409 +    rectmid12.setAttributeNS(null, 'y', box.y - 10-5);  
 85.2410 +
 85.2411 +    rectmid23.setAttributeNS(null, 'x', box.x + box.width +5 );
 85.2412 +    rectmid23.setAttributeNS(null, 'y', box.y + (box.height/2)-5);   
 85.2413 +    
 85.2414 +    rectmid34.setAttributeNS(null, 'x', box.x + (box.width/2)-5 );
 85.2415 +    rectmid34.setAttributeNS(null, 'y', box.y + box.height+5);
 85.2416 +                                                           
 85.2417 +    rectmid41.setAttributeNS(null, 'x', box.x -10-5 );
 85.2418 +    rectmid41.setAttributeNS(null, 'y', box.y + (box.height/2)-5);
 85.2419 +     
 85.2420 +    svg.appendChild(border); 
 85.2421 +    //tracker.appendChild(getScreenBBox (shape));
 85.2422 +    //currentTranslate
 85.2423 +    //currentScale
 85.2424 +   // shape.setAttributeNS(null,'transform', "translate("+(box.x+(box.width/2))+","+(box.y+(box.height/2))+") rotate("+rotatexxx+") translate("+(-box.x-(box.width/2))+","+(-box.y-(box.height/2))+") ");
 85.2425 +
 85.2426 +   //var trshape=shape.getAttributeNS(null, 'transform') ; 
 85.2427 +  //----tracker.setAttributeNS(null,'transform', "translate("+(box.x+(box.width/2))+","+(box.y+(box.height/2))+") "+trshape_split[1]+") translate("+(-box.x-(box.width/2))+","+(-box.y-(box.height/2))+") ");
 85.2428 +
 85.2429 +    
 85.2430 +    
 85.2431 +  //}  
 85.2432 +   // tracker.appendChild(getScreenBBox (shape));
 85.2433 +     var colorin="#ff0000";
 85.2434 +      var colorout="#ffffff" 
 85.2435 +      
 85.2436 +        circle1.addEventListener("mouseover", function(event) {circle1.setAttributeNS(null, 'cursor', 's-resize');  circle1.setAttributeNS(null, 'fill', colorin ); typeTransform='Rotate'; scaleType='nw'; }, false);
 85.2437 +     circle1.addEventListener("mouseout", function(event) {circle1.setAttributeNS(null, 'cursor', 'default');  circle1.setAttributeNS(null, 'fill', colorout ); typeTransform='Rotate'; }, false); //typeTransform='rotate'
 85.2438 +     circleCenter.addEventListener("mouseover", function(event) {circleCenter.setAttributeNS(null, 'cursor', 'move');  circleCenter.setAttributeNS(null, 'fill', colorin ); typeTransform='spìnCenter'; scaleType='nw'; }, false);
 85.2439 +     circleCenter.addEventListener("mouseout", function(event) {circleCenter.setAttributeNS(null, 'cursor', 'default');  circleCenter.setAttributeNS(null, 'fill', colorout ); typeTransform=''; }, false); //typeTransform='rotate'
 85.2440 + 
 85.2441 +      
 85.2442 +     //rect1.addEventListener("mouseover", cursore1in, false);    
 85.2443 +     rect1.addEventListener("mouseover", function(event) {rect1.setAttributeNS(null, 'cursor', 'nw-resize');  rect1.setAttributeNS(null, 'fill', colorin ); typeTransform='Scale'; scaleType='nw';}, false);
 85.2444 +     rect1.addEventListener("mouseout", function(event) {rect1.setAttributeNS(null, 'cursor', 'default');  rect1.setAttributeNS(null, 'fill', colorout ); typeTransform='Scale'; }, false); //typeTransform='rotate'
 85.2445 +     //rect1.addEventListener("click", function(event) { rect1.setAttributeNS(null, 'fill', '#00ff00' ); typeTransform='Scale'; }, false);
 85.2446 +    
 85.2447 +     rect2.addEventListener("mouseover", function(event) {rect2.setAttributeNS(null, 'cursor', 'ne-resize');  rect2.setAttributeNS(null, 'fill', colorin ); typeTransform='Scale'; scaleType='ne';}, false);  
 85.2448 +     rect2.addEventListener("mouseout", function(event) {rect2.setAttributeNS(null, 'cursor', 'default');  rect2.setAttributeNS(null, 'fill', colorout ); typeTransform='Scale'; }, false);
 85.2449 +      
 85.2450 +     rect3.addEventListener("mouseover", function(event) {rect3.setAttributeNS(null, 'cursor', 'se-resize');  rect3.setAttributeNS(null, 'fill', colorin ); typeTransform='Scale'; scaleType='se';}, false);  
 85.2451 +     rect3.addEventListener("mouseout", function(event) {rect3.setAttributeNS(null, 'cursor', 'default');  rect3.setAttributeNS(null, 'fill', colorout ); typeTransform='Scale'; }, false);
 85.2452 +     
 85.2453 +     rect4.addEventListener("mouseover", function(event) {rect4.setAttributeNS(null, 'cursor', 'sw-resize');  rect4.setAttributeNS(null, 'fill', colorin ); typeTransform='Scale'; scaleType='sw';}, false);  
 85.2454 +     rect4.addEventListener("mouseout", function(event) {rect4.setAttributeNS(null, 'cursor', 'default');  rect4.setAttributeNS(null, 'fill', colorout ); typeTransform='Scale'; }, false);
 85.2455 +                                                    
 85.2456 +     rectmid12.addEventListener("mouseover", function(event) {rectmid12.setAttributeNS(null, 'cursor', 'n-resize');  rectmid12.setAttributeNS(null, 'fill', colorin ); typeTransform='Scale'; scaleType='n';}, false);  
 85.2457 +     rectmid12.addEventListener("mouseout", function(event) {rectmid12.setAttributeNS(null, 'cursor', 'default');  rectmid12.setAttributeNS(null, 'fill', colorout ); typeTransform='Scale'; }, false); 
 85.2458 +
 85.2459 +     rectmid23.addEventListener("mouseover", function(event) {rectmid23.setAttributeNS(null, 'cursor', 'e-resize');  rectmid23.setAttributeNS(null, 'fill', colorin ); typeTransform='Scale'; scaleType='e';}, false);  
 85.2460 +     rectmid23.addEventListener("mouseout", function(event) {rectmid23.setAttributeNS(null, 'cursor', 'default');  rectmid23.setAttributeNS(null, 'fill', colorout ); typeTransform='Scale'; }, false); 
 85.2461 +     
 85.2462 +     rectmid34.addEventListener("mouseover", function(event) {rectmid34.setAttributeNS(null, 'cursor', 's-resize');  rectmid34.setAttributeNS(null, 'fill', colorin ); typeTransform='Scale'; scaleType='s';}, false);  
 85.2463 +     rectmid34.addEventListener("mouseout", function(event) {rectmid34.setAttributeNS(null, 'cursor', 'default');  rectmid34.setAttributeNS(null, 'fill', colorout ); typeTransform='Scale'; }, false); 
 85.2464 +
 85.2465 +     rectmid41.addEventListener("mouseover", function(event) {rectmid41.setAttributeNS(null, 'cursor', 'w-resize');  rectmid41.setAttributeNS(null, 'fill', colorin ); typeTransform='Scale'; scaleType='w'; }, false);  
 85.2466 +     rectmid41.addEventListener("mouseout", function(event) {rectmid41.setAttributeNS(null, 'cursor', 'default');  rectmid41.setAttributeNS(null, 'fill', colorout ); typeTransform='Scale'; }, false); 
 85.2467 +     
 85.2468 +     //////////
 85.2469 +     svg.setAttributeNS(null, 'transform',trshape); 
 85.2470 +  
 85.2471 +    svg.appendChild(circle1);    
 85.2472 +    //tracker.appendChild(circleCenter);  
 85.2473 +   if (shape.tagName == 'text'){   
 85.2474 +    svg.appendChild(rect1); 
 85.2475 +    svg.appendChild(rect2);   
 85.2476 +    svg.appendChild(rect3); 
 85.2477 +    svg.appendChild(rect4);  
 85.2478 +  }else{
 85.2479 +    svg.appendChild(rect1); 
 85.2480 +    svg.appendChild(rect2);   
 85.2481 +    svg.appendChild(rect3); 
 85.2482 +    svg.appendChild(rect4);  
 85.2483 +    svg.appendChild(rectmid12);  
 85.2484 +    svg.appendChild(rectmid23);
 85.2485 +    svg.appendChild(rectmid34);
 85.2486 +    svg.appendChild(rectmid41);                                    
 85.2487 +
 85.2488 +  }  
 85.2489 +    if(pathsEdit)
 85.2490 +     {    
 85.2491 +        controlPoints.setAttributeNS(null, 'transform',trshape); 
 85.2492 +        tracker.appendChild(controlPoints);      
 85.2493 +     }else{   
 85.2494 +        tracker.appendChild(svg); 
 85.2495 +     }   
 85.2496 +  this.svgRoot.appendChild(tracker);  
 85.2497 +      
 85.2498 +}
 85.2499 +
 85.2500 +
 85.2501 +SVGRenderer.prototype.getMarkup = function() { 
 85.2502 +       
 85.2503 +  return this.container.innerHTML;
 85.2504 +}   
 85.2505 +
 85.2506 +
 85.2507 +/////////////////////////////////
 85.2508 +var rotatexxx=0; 
 85.2509 + 
 85.2510 +var scaleType=''; 
 85.2511 +var xrot=0;
 85.2512 +var yrot=0;  
 85.2513 +
 85.2514 +var point = {x:0, y:0, width: 0, height:0};
 85.2515 +
 85.2516 +function createPoint (x, y, width, height) {
 85.2517 +    //var point = {x:34, y:22, width: 22, height:23};
 85.2518 +    //point.x = x;
 85.2519 +    //point.y = y;   
 85.2520 +    point = {x:x, y:y, width: width, height:height};
 85.2521 +    return point;
 85.2522 +  }
 85.2523 +
 85.2524 +///////////////////////////////
 85.2525 +
 85.2526 +SVGRenderer.prototype.restruct= function(shape)
 85.2527 +{
 85.2528 + //alert('end');       
 85.2529 + //forceRedraw(); 
 85.2530 +//clearWorkspace();  
 85.2531 +//document.getElementById('richdraw').style.cursor='default';    
 85.2532 +};        
 85.2533 +
 85.2534 +
 85.2535 +
 85.2536 +SVGRenderer.prototype.transform = function() {
 85.2537 +    //document.forms[0].code.value='Im tranforming';
 85.2538 +};
 85.2539 +
 85.2540 +SVGRenderer.prototype.scaleShape = function(shape,previus, toX, toY) {
 85.2541 +
 85.2542 +	 var box = shape.getBBox();  
 85.2543 +	 var prevbox=previus.getBBox();
 85.2544 +	var centerx= box.x+(box.width/2);
 85.2545 +	var centery= box.y+(box.height/2); 
 85.2546 +	var coord=this.editor.inputxy;
 85.2547 +	toX=parseFloat(coord[0]);
 85.2548 +	toY=parseFloat(coord[1]); 
 85.2549 +	var d2p_center=dist2p(centerx,centery,toX,toY);       
 85.2550 +
 85.2551 +	var d2p=dist2p(box.x,box.y,toX,toY);
 85.2552 +
 85.2553 +	var shareScale=box.width/d2p;
 85.2554 +
 85.2555 +	var trans_ShareScale='';
 85.2556 +	var tx, ty, tw, yh;
 85.2557 +
 85.2558 +	if(scaleType.length==1){
 85.2559 +		if(scaleType== 'w')
 85.2560 +		 {
 85.2561 +			trans_ShareScale=shareScale+",1";  
 85.2562 +			tx=toX; 
 85.2563 +			ty=prevbox.y; 
 85.2564 +			var dist=prevbox.x-toX;
 85.2565 +			var w=dist+prevbox.width;
 85.2566 +			if(w<1){w=1;}
 85.2567 +			tw=w;
 85.2568 +			th=prevbox.height;
 85.2569 +			//document.forms[0].code.value=box.x+' '+toX+' '+dist+''; 
 85.2570 +		 }        
 85.2571 +		if(scaleType== 'e')
 85.2572 +		 {
 85.2573 +		        trans_ShareScale=shareScale+",1"; 
 85.2574 +			tx=prevbox.x; 
 85.2575 +			ty=prevbox.y; 
 85.2576 +			var dist=toX-(prevbox.x+prevbox.width); //dist2p(toX,b,c,d);
 85.2577 +			var w=dist+prevbox.width;
 85.2578 +			if(w<1){w=1;}
 85.2579 +			tw=w;
 85.2580 +			th=prevbox.height;
 85.2581 + 
 85.2582 +		 }        
 85.2583 +		if(scaleType== 'n')
 85.2584 +		 {
 85.2585 +			trans_ShareScale="1,"+shareScale; 
 85.2586 +			
 85.2587 +			tx=prevbox.x; 
 85.2588 +			ty=toY; 
 85.2589 +			var dist=prevbox.y-toY;
 85.2590 +			var h=dist+prevbox.height;
 85.2591 +			if(h<1){h=1;}
 85.2592 +			tw=prevbox.width;
 85.2593 +			th=h;
 85.2594 +
 85.2595 +		 }
 85.2596 +                if( scaleType== 's')
 85.2597 +                 {
 85.2598 +                        trans_ShareScale="1,"+shareScale;  
 85.2599 +
 85.2600 +			tx=prevbox.x; 
 85.2601 +			ty=prevbox.y; 
 85.2602 +			var dist=toY-(prevbox.y+prevbox.height); //dist2p(toX,b,c,d);
 85.2603 +			var h=dist+prevbox.height;
 85.2604 +			if(h<1){h=1;}
 85.2605 +			tw=prevbox.width;
 85.2606 +			th=h;
 85.2607 +
 85.2608 +	         }
 85.2609 +        }
 85.2610 +	if(scaleType.length==2){
 85.2611 +		if(scaleType== 'nw'){
 85.2612 +			trans_ShareScale=shareScale+","+shareScale; 
 85.2613 +          
 85.2614 +      			//var angle_diagonal=getAngle(prevbox.width,prevbox.height);
 85.2615 +      			  var angle_diagonal=ang2v(prevbox.x,prevbox.y,prevbox.x+prevbox.width,prevbox.y+prevbox.height)
 85.2616 +            
 85.2617 +                        var ax= prevbox.x;
 85.2618 +                        var ay= prevbox.y;
 85.2619 +                        var bx= prevbox.x+prevbox.width; 
 85.2620 +                        var by= prevbox.y+prevbox.height; 
 85.2621 +                        
 85.2622 +                        var cx= toX;
 85.2623 +                        var cy= toY;
 85.2624 +                        var dx= toX+10*Math.cos(angle_diagonal+(Math.PI/2)); 
 85.2625 +                        var dy= toY+10*Math.sin(angle_diagonal+(Math.PI/2));  
 85.2626 +                        
 85.2627 +                        var section_a=ntrsccn2rb(ax,ay,bx,by,cx,cy,dx,dy);   
 85.2628 +                 this.editor.log(angle_diagonal* 180 / Math.PI);       
 85.2629 +                    
 85.2630 +                var tx= section_a[1];
 85.2631 +                var ty= section_a[2];
 85.2632 +                
 85.2633 +                        var ax= section_a[1];
 85.2634 +                        var ay= section_a[2];
 85.2635 +                        var bx= 0;
 85.2636 +                        var by= section_a[2] ; 
 85.2637 +                        
 85.2638 +                        var cx=prevbox.x+prevbox.width; 
 85.2639 +                        var cy= prevbox.y;
 85.2640 +
 85.2641 +                        var dx= prevbox.x+prevbox.width;  
 85.2642 +                        var dy= 0;
 85.2643 +                        
 85.2644 +                      
 85.2645 +                var section_b=ntrsccn2rb(ax,ay,bx,by,cx,cy,dx,dy);
 85.2646 +
 85.2647 +                var distx=dist2p(section_a[1],section_a[2],section_b[1],section_b[2]);         
 85.2648 +
 85.2649 +              
 85.2650 +                
 85.2651 +                        var ax= section_a[1];
 85.2652 +                        var ay= section_a[2];
 85.2653 +                        var bx= section_a[1] 
 85.2654 +                        var by= 0; 
 85.2655 +                        
 85.2656 +                        var cx= prevbox.x; 
 85.2657 +                        var cy= prevbox.y+prevbox.height; 
 85.2658 +
 85.2659 +                        var dx= 0; 
 85.2660 +                        var dy= prevbox.y+prevbox.height;
 85.2661 +                        
 85.2662 +                      
 85.2663 +                var section_c=ntrsccn2rb(ax,ay,bx,by,cx,cy,dx,dy);
 85.2664 +                var disty=dist2p(section_a[1],section_a[2],section_c[1],section_c[2]);         
 85.2665 +                
 85.2666 +                
 85.2667 +
 85.2668 +                    
 85.2669 +                        if(distx<1){distx=1;}    
 85.2670 +			
 85.2671 +         		
 85.2672 +			if(disty<1){disty=1;}
 85.2673 +                        //document.forms[0].code.value=distx+' '+disty;
 85.2674 +			tw=distx;
 85.2675 +			th=disty;
 85.2676 +
 85.2677 +			
 85.2678 +		}                  
 85.2679 +		
 85.2680 +	//////////////////// SE
 85.2681 +		
 85.2682 +           if( scaleType== 'se'){
 85.2683 +			trans_ShareScale=shareScale+","+shareScale;   
 85.2684 +			
 85.2685 +	          
 85.2686 +      			//var angle_diagonal=getAngle(prevbox.width,prevbox.height);
 85.2687 +       			var angle_diagonal=ang2v(prevbox.x,prevbox.y,prevbox.x+prevbox.width,prevbox.y+prevbox.height)
 85.2688 +		
 85.2689 +			
 85.2690 +			
 85.2691 +                        var ax= prevbox.x;
 85.2692 +                        var ay= prevbox.y;
 85.2693 +                        var bx= prevbox.x+prevbox.width; 
 85.2694 +                        var by= prevbox.y+prevbox.height; 
 85.2695 +                        
 85.2696 +                        var cx= toX;
 85.2697 +                        var cy= toY;   
 85.2698 +                        var dx= toX+10*Math.cos(angle_diagonal+(Math.PI/2)); 
 85.2699 +                        var dy= toY+10*Math.sin(angle_diagonal+(Math.PI/2)); 
 85.2700 +      
 85.2701 +                var section_a=ntrsccn2rb(ax,ay,bx,by,cx,cy,dx,dy);   
 85.2702 +                
 85.2703 +                                         
 85.2704 +                 var svgNamespace = 'http://www.w3.org/2000/svg';  
 85.2705 +                 var tracker = document.getElementById('tracker');
 85.2706 +
 85.2707 +                //////////
 85.2708 +                var tx= prevbox.x;
 85.2709 +                var ty= prevbox.y;
 85.2710 +                
 85.2711 +                        var ax= section_a[1];
 85.2712 +                        var ay= section_a[2];
 85.2713 +                        var bx= 0;
 85.2714 +                        var by= section_a[2] ; 
 85.2715 +                        
 85.2716 +                        var cx=prevbox.x; 
 85.2717 +                        var cy= prevbox.y;
 85.2718 +
 85.2719 +                        var dx= prevbox.x;  
 85.2720 +                        var dy= 0;
 85.2721 +                        
 85.2722 +                      
 85.2723 +                var section_b=ntrsccn2rb(ax,ay,bx,by,cx,cy,dx,dy);
 85.2724 +               
 85.2725 +               /////////////////
 85.2726 +               
 85.2727 +               
 85.2728 +                var distx=dist2p(section_a[1],section_a[2],section_b[1],section_b[2]);         
 85.2729 +
 85.2730 +             
 85.2731 +                        var ax= section_a[1];
 85.2732 +                        var ay= section_a[2];
 85.2733 +                        var bx= section_a[1] 
 85.2734 +                        var by= 0; 
 85.2735 +                        
 85.2736 +                        var cx= prevbox.x; 
 85.2737 +                        var cy= prevbox.y; 
 85.2738 +
 85.2739 +                        var dx=0;
 85.2740 +                        var dy= prevbox.y;
 85.2741 +                        
 85.2742 +                      
 85.2743 +                var section_c=ntrsccn2rb(ax,ay,bx,by,cx,cy,dx,dy);
 85.2744 +               
 85.2745 +               ///////////////
 85.2746 +               
 85.2747 +                var disty=dist2p(section_a[1],section_a[2],section_c[1],section_c[2]);         
 85.2748 +                
 85.2749 +   
 85.2750 +                    
 85.2751 +                        if(distx<1){distx=1;}    
 85.2752 +			
 85.2753 +         		
 85.2754 +			if(disty<1){disty=1;}
 85.2755 +                        
 85.2756 +			tw=distx;
 85.2757 +			th=disty;
 85.2758 +
 85.2759 +			
 85.2760 +		}
 85.2761 +
 85.2762 +		if(scaleType== 'ne'){  
 85.2763 +		        
 85.2764 +			trans_ShareScale=shareScale+","+shareScale;   
 85.2765 +			
 85.2766 +	                var angle_diagonal=ang2v(prevbox.x,prevbox.y+prevbox.height,prevbox.x+prevbox.width,prevbox.y)
 85.2767 +      			//var angle_diagonal=getAngle(prevbox.width,prevbox.height);
 85.2768 + 		
 85.2769 +			
 85.2770 +				
 85.2771 +			
 85.2772 +                        var ax= prevbox.x;
 85.2773 +                        var ay= prevbox.y+prevbox.height;
 85.2774 +                        var bx= prevbox.x+prevbox.width; 
 85.2775 +                        var by= prevbox.y;
 85.2776 +                       
 85.2777 +                        var cx= toX;
 85.2778 +                        var cy= toY;   
 85.2779 +                        var dx= toX+10*Math.cos(angle_diagonal+(Math.PI/2)); 
 85.2780 +                        var dy= toY+10*Math.sin(angle_diagonal+(Math.PI/2)); 
 85.2781 +
 85.2782 +
 85.2783 +                      this.editor.log(angle_diagonal);
 85.2784 +
 85.2785 +      
 85.2786 +                var section_a=ntrsccn2rb(ax,ay,bx,by,cx,cy,dx,dy);   
 85.2787 +                
 85.2788 +                                         
 85.2789 +                 var svgNamespace = 'http://www.w3.org/2000/svg';  
 85.2790 +                 var tracker = document.getElementById('tracker');
 85.2791 +
 85.2792 +                //////////
 85.2793 +                var tx= prevbox.x;
 85.2794 +                var ty= section_a[2];
 85.2795 +                
 85.2796 +                        var ax= section_a[1];
 85.2797 +                        var ay= section_a[2];
 85.2798 +                        var bx= 0;
 85.2799 +                        var by= section_a[2] ; 
 85.2800 +                        
 85.2801 +                        var cx=prevbox.x; 
 85.2802 +                        var cy= prevbox.y;
 85.2803 +
 85.2804 +                        var dx= prevbox.x;  
 85.2805 +                        var dy= 0;
 85.2806 +                        
 85.2807 +                      
 85.2808 +                var section_b=ntrsccn2rb(ax,ay,bx,by,cx,cy,dx,dy);
 85.2809 +               
 85.2810 +               /////////////////
 85.2811 +               
 85.2812 +               
 85.2813 +                var distx=dist2p(section_a[1],section_a[2],section_b[1],section_b[2]);         
 85.2814 +
 85.2815 +             
 85.2816 +                        var ax= section_a[1];
 85.2817 +                        var ay= section_a[2];
 85.2818 +                        var bx= section_a[1]; 
 85.2819 +                        var by= 0; 
 85.2820 +                        
 85.2821 +                        var cx= prevbox.x; 
 85.2822 +                        var cy= prevbox.y+prevbox.height; 
 85.2823 +
 85.2824 +                        var dx=0;
 85.2825 +                        var dy= prevbox.y+prevbox.height;
 85.2826 +                        
 85.2827 +                      
 85.2828 +                var section_c=ntrsccn2rb(ax,ay,bx,by,cx,cy,dx,dy);
 85.2829 +               
 85.2830 +               ///////////////
 85.2831 +               
 85.2832 +                var disty=dist2p(section_a[1],section_a[2],section_c[1],section_c[2]);         
 85.2833 +                
 85.2834 +
 85.2835 +                    
 85.2836 +                        if(distx<1){distx=1;}    
 85.2837 +			
 85.2838 +         		
 85.2839 +			if(disty<1){disty=1;}
 85.2840 +                        //document.forms[0].code.value=distx+' '+disty;
 85.2841 +			tw=distx;
 85.2842 +			th=disty;
 85.2843 +			
 85.2844 +			
 85.2845 +			
 85.2846 +			
 85.2847 +			
 85.2848 +		}
 85.2849 +		if(scaleType== 'sw'){
 85.2850 +			trans_ShareScale=shareScale+","+shareScale;  
 85.2851 +			
 85.2852 +			
 85.2853 +				
 85.2854 +			
 85.2855 +	                var angle_diagonal=ang2v(prevbox.x,prevbox.y+prevbox.height,prevbox.x+prevbox.width,prevbox.y)
 85.2856 +      			//var angle_diagonal=getAngle(prevbox.width,prevbox.height);
 85.2857 + 		
 85.2858 +			
 85.2859 +				
 85.2860 +			
 85.2861 +                        var ax= prevbox.x;
 85.2862 +                        var ay= prevbox.y+prevbox.height;
 85.2863 +                        var bx= prevbox.x+prevbox.width; 
 85.2864 +                        var by= prevbox.y;
 85.2865 +                       
 85.2866 +                        var cx= toX;
 85.2867 +                        var cy= toY;   
 85.2868 +                        var dx= toX+10*Math.cos(angle_diagonal+(Math.PI/2)); 
 85.2869 +                        var dy= toY+10*Math.sin(angle_diagonal+(Math.PI/2)); 
 85.2870 +
 85.2871 +
 85.2872 +                      this.editor.log(angle_diagonal);
 85.2873 +
 85.2874 +      
 85.2875 +                var section_a=ntrsccn2rb(ax,ay,bx,by,cx,cy,dx,dy);   
 85.2876 +                
 85.2877 +                                         
 85.2878 +                 var svgNamespace = 'http://www.w3.org/2000/svg';  
 85.2879 +                 var tracker = document.getElementById('tracker');
 85.2880 +
 85.2881 +                //////////
 85.2882 +                var tx= section_a[1];
 85.2883 +                var ty= prevbox.y;
 85.2884 +                
 85.2885 +                        var ax= section_a[1];
 85.2886 +                        var ay= section_a[2];
 85.2887 +                        var bx= 0;
 85.2888 +                        var by= section_a[2] ; 
 85.2889 +                        
 85.2890 +                        var cx=prevbox.x+prevbox.width; 
 85.2891 +                        var cy= prevbox.y+prevbox.height;
 85.2892 +
 85.2893 +                        var dx= prevbox.x+prevbox.width;  
 85.2894 +                        var dy= 0;
 85.2895 +                        
 85.2896 +                      
 85.2897 +                var section_b=ntrsccn2rb(ax,ay,bx,by,cx,cy,dx,dy);
 85.2898 +                var distx=dist2p(section_a[1],section_a[2],section_b[1],section_b[2]);         
 85.2899 +
 85.2900 +               /////////////////             
 85.2901 +                        var ax= section_a[1];
 85.2902 +                        var ay= section_a[2];
 85.2903 +                        var bx= section_a[1];
 85.2904 +                        var by= 0; 
 85.2905 +                          
 85.2906 +                        var cx= prevbox.x; 
 85.2907 +                        var cy= prevbox.y; 
 85.2908 +
 85.2909 +                        var dx=0;
 85.2910 +                        var dy= prevbox.y;
 85.2911 +                        
 85.2912 +                      
 85.2913 +                var section_c=ntrsccn2rb(ax,ay,bx,by,cx,cy,dx,dy);
 85.2914 +                  var disty=dist2p(section_a[1],section_a[2],section_c[1],section_c[2]);         
 85.2915 +              ///////////////
 85.2916 +                
 85.2917 +   
 85.2918 +                    
 85.2919 +                        if(distx<1){distx=1;}    
 85.2920 +			
 85.2921 +         		
 85.2922 +			if(disty<1){disty=1;}
 85.2923 +                        //document.forms[0].code.value=distx+' '+disty;
 85.2924 +			tw=distx;
 85.2925 +			th=disty;
 85.2926 +			
 85.2927 +		}
 85.2928 +
 85.2929 +	}  
 85.2930 +
 85.2931 +
 85.2932 +
 85.2933 + if(shape.tagName == 'rect')
 85.2934 +  { 
 85.2935 +    //alert(data[0]);     
 85.2936 +   shape.setAttributeNS(null,'x',tx);
 85.2937 +    shape.setAttributeNS(null,'y',ty);   
 85.2938 +    shape.setAttributeNS(null, 'width', tw);     
 85.2939 +    shape.setAttributeNS(null, 'height', th); 
 85.2940 +    
 85.2941 +   //shape.nodparseFloatue=data;
 85.2942 +  }
 85.2943 +   else 
 85.2944 + if(shape.tagName == 'text')
 85.2945 +  { 
 85.2946 +    
 85.2947 +    var tsize=shape.getAttributeNS(null, 'font-size') ;
 85.2948 +    tsize=eval(tsize);
 85.2949 +    //shape.setAttributeNS(null, 'x', tx + 'px');
 85.2950 +    //shape.setAttributeNS(null, 'y', ty + 'px'); 
 85.2951 +    //var mysize=box.height+1 ;
 85.2952 +    var mysize=parseInt(Math.round(th));
 85.2953 +    
 85.2954 +    if(scaleType== 'ne'){ shape.setAttributeNS(null, 'font-size',tsize+1);}  
 85.2955 +      //shape.setAttributeNS(null, 'font-size', mysize);  
 85.2956 +      
 85.2957 +   
 85.2958 +   /*
 85.2959 +    shape.setAttributeNS(null,'x',tx);
 85.2960 +    shape.setAttributeNS(null,'y',ty);   
 85.2961 +    shape.setAttributeNS(null, 'width', tw);     
 85.2962 +    shape.setAttributeNS(null, 'height', th); 
 85.2963 +    
 85.2964 +    //previus.setAttributeNS(null,'transform', "scale("+trans_ShareScale+")");
 85.2965 +    shape.setAttributeNS(null, 'x', tx + 'px');
 85.2966 +    shape.setAttributeNS(null, 'y', ty + 'px');
 85.2967 +
 85.2968 +    shape.setAttributeNS(null, 'textLength', parseInt(Math.round(tw)));    
 85.2969 +    
 85.2970 +     */
 85.2971 +  } 
 85.2972 +   else 
 85.2973 + if(shape.tagName == 'ellipse')
 85.2974 +  {
 85.2975 +    //shape.getAttributeNS(null, 'transform)
 85.2976 +    shape.setAttributeNS(null, 'cx', (tx + (box.width / 2)) + 'px');
 85.2977 +    shape.setAttributeNS(null, 'cy', (ty + (box.height / 2)) + 'px');
 85.2978 +    shape.setAttributeNS(null, 'rx', (tw / 2) + 'px');
 85.2979 +    shape.setAttributeNS(null, 'ry', (th / 2) + 'px');   
 85.2980 + 
 85.2981 +        
 85.2982 +  }
 85.2983 +   else 
 85.2984 + if(shape.tagName == 'line')
 85.2985 +  { 
 85.2986 +    shape.setAttributeNS(null, 'x1', tx + 'px');
 85.2987 +    shape.setAttributeNS(null, 'y1', ty + 'px');
 85.2988 +    shape.setAttributeNS(null, 'x2', tx + tw + 'px');
 85.2989 +    shape.setAttributeNS(null, 'y2', ty + th + 'px');  
 85.2990 +         
 85.2991 +  }
 85.2992 +   else
 85.2993 + if (shape.tagName == 'polyline') 
 85.2994 +  {
 85.2995 +   
 85.2996 +  }
 85.2997 +   else 
 85.2998 + if (shape.tagName == 'image') 
 85.2999 +  {   
 85.3000 +    shape.setAttributeNS(null,'x',tx);
 85.3001 +    shape.setAttributeNS(null,'y',ty);   
 85.3002 +    shape.setAttributeNS(null, 'width', tw);     
 85.3003 +    shape.setAttributeNS(null, 'height', th); 
 85.3004 +      
 85.3005 +  }
 85.3006 +   else 
 85.3007 + if (shape.tagName == 'path')
 85.3008 +  {     
 85.3009 +     // var xscale=  box.width/tw;
 85.3010 +     // var yscale=  box.height/th;  
 85.3011 +      var xscale=  tw/box.width;
 85.3012 +      var yscale=  th/box.height;  
 85.3013 +      var xinc=xscale;//dist*angx;
 85.3014 +      var yinc=yscale/ty;//dist*angy;   
 85.3015 +
 85.3016 +   if(scaleType== 'n')
 85.3017 +    {
 85.3018 +       tx=box.x+(box.width/2);
 85.3019 +       ty=box.y+box.height; 
 85.3020 +       var xinc=1;
 85.3021 +       var yinc=box.y/toY;//dist*angy;   
 85.3022 +
 85.3023 +    } 
 85.3024 +   if(scaleType== 's')
 85.3025 +    {
 85.3026 +       tx=box.x+(box.width/2);
 85.3027 +       ty=box.y; 
 85.3028 +       var xinc=1;
 85.3029 +       var yinc=toY/(box.y+box.height);//dist*angy;   
 85.3030 +    }    
 85.3031 +   if(scaleType== 'e')
 85.3032 +    {
 85.3033 +       tx=box.x;
 85.3034 +       ty=box.y+(box.height/2);  
 85.3035 +       var xinc=toX/(box.x+box.width);
 85.3036 +       var yinc=1;   
 85.3037 +
 85.3038 +    }         
 85.3039 +   if(scaleType== 'w')
 85.3040 +    {
 85.3041 +       tx=box.x+box.width;
 85.3042 +       ty=box.y+(box.height/2); 
 85.3043 +       var xinc=box.x/toX;
 85.3044 +       var yinc=1;   
 85.3045 +
 85.3046 +    }
 85.3047 +   if(scaleType== 'ne')
 85.3048 +    {
 85.3049 +       tx=box.x;
 85.3050 +       ty=box.y+box.height; 
 85.3051 +       var xinc=toX/(box.x+box.width);
 85.3052 +       var yinc=xinc;   
 85.3053 +    }  
 85.3054 +  if(scaleType== 'nw')
 85.3055 +    {
 85.3056 +       tx=box.x+box.width;
 85.3057 +       ty=box.y+box.height; 
 85.3058 +       var xinc=box.x/toX;
 85.3059 +       var yinc=xinc;   
 85.3060 +    } 
 85.3061 +   if(scaleType== 'se')
 85.3062 +    {
 85.3063 +       tx=box.x;
 85.3064 +       ty=box.y; 
 85.3065 +       var xinc=toX/(box.x+box.width);
 85.3066 +       var yinc=xinc;   
 85.3067 +    }    
 85.3068 +   if(scaleType== 'sw')
 85.3069 +    {
 85.3070 +       tx=(box.x+box.width);
 85.3071 +       ty=box.y; 
 85.3072 +       var xinc=box.x/toX;
 85.3073 +       var yinc=xinc;   
 85.3074 +    }        
 85.3075 +      if(xinc==0){ xinc= 0.0000001;}
 85.3076 +      if(yinc==0){ yinc= 0.0000001; }
 85.3077 +      var prevpath=previus.getAttributeNS(null, 'd');
 85.3078 +     var path=shape.getAttributeNS(null, 'd');
 85.3079 +////////////
 85.3080 +
 85.3081 +
 85.3082 +      //xshe=left;
 85.3083 +      //yshe=top;
 85.3084 +       
 85.3085 + path=path.replace(/, /g, ','); 
 85.3086 + path=path.replace(/ ,/g, ',');
 85.3087 + var ps =path.split(" ")
 85.3088 + var pcc = "";
 85.3089 + var point =ps[0].split(","); 
 85.3090 +
 85.3091 +
 85.3092 + var num0= parseFloat(point[0].substring(1));
 85.3093 + var num1= parseFloat(point[1]);     
 85.3094 + 
 85.3095 +
 85.3096 + var ang= ang2v(box.x,box.y,tx,ty) ;
 85.3097 + var angle = Math.round((ang/Math.PI* 2)* 360);
 85.3098 + var angx = Math.cos(ang); 
 85.3099 + var angy = Math.sin(ang);          
 85.3100 + var dist= dist2p(tx,ty,box.x,box.y);
 85.3101 + //var xinc=xscale;//dist*angx;
 85.3102 + //var yinc=yscale;//dist*angy;   
 85.3103 +    var re = /^[-]?\d*\.?\d*$/; 
 85.3104 +    var axis = $V([tx,ty]);
 85.3105 + for(var i = 0; i < ps.length; i++)
 85.3106 +  { 
 85.3107 +   if(ps[i].indexOf(',')>0){  
 85.3108 +     
 85.3109 +      var point =ps[i].split(","); 
 85.3110 +       var char1=point[0].substring(0,1); 
 85.3111 +       if(char1=='A' || char1=='a'){isArc=true; contArc=0;}
 85.3112 +       if(isArc==true){contArc++}
 85.3113 +       if(contArc==4){contArc=0; isArc=false}
 85.3114 +       
 85.3115 +       //if (isNaN(valnum)) 
 85.3116 +      if (!char1.match(re))        
 85.3117 +       { 
 85.3118 +           var num0= parseFloat(point[0].substring(1));
 85.3119 +           var text=char1;
 85.3120 +       }else{ 
 85.3121 +         if(isArc==true && contArc==2  )
 85.3122 +          {
 85.3123 +            var num0= point[0];
 85.3124 +          }else{  
 85.3125 +            var num0= parseFloat(point[0]);
 85.3126 +          }  
 85.3127 +         var text='';
 85.3128 +
 85.3129 +       }
 85.3130 + 
 85.3131 +       
 85.3132 +       if(isArc==true && contArc==2)
 85.3133 +        {   
 85.3134 +           point[1]= point[1].toString() ;
 85.3135 +        }
 85.3136 +        else
 85.3137 +        {    
 85.3138 +         
 85.3139 +          //num0*=xinc;    
 85.3140 +          point[1]= parseFloat(point[1]);
 85.3141 +          //point[1]*=yinc;
 85.3142 +          var pointIni=$V([num0,point[1],1]);
 85.3143 +          var matrT = $M([[1,0,-tx],[0,1,-ty],[0,0,1]]);
 85.3144 +          var matrS = $M([[xinc,0,0],[0,yinc,0],[0,0,1]]); 
 85.3145 +          var matrR = $M([[1,0,tx],[0,1,ty],[0,0,1]]);
 85.3146 +          var matr1= matrT.x(pointIni);  
 85.3147 +          var matr2= matrS.x(matr1);
 85.3148 +          //var pointR=pointIni.Random(1) 
 85.3149 +          //var pointR=pointIni.rotate(Math.PI/180,axis);
 85.3150 +          //var pointRc=pointIni.cross(axis); 
 85.3151 +          //var pointR=matr2;
 85.3152 +          var pointR=matrR.x(matr2);  
 85.3153 +          num0=pointR.elements[0];
 85.3154 +           point[1]=pointR.elements[1];
 85.3155 +           $('code').value=pointIni.elements[0]+','+pointR.elements[1]+' ';
 85.3156 +        }  
 85.3157 +       var cx=num0; 
 85.3158 +        var cy=point[1];   
 85.3159 +        pcc+=text+cx+','+cy+' ';
 85.3160 +        //pcc+=text+cx+','+cy+' '; 
 85.3161 +       
 85.3162 +   }else{
 85.3163 +      pcc+=ps[i]+' ';
 85.3164 +   }
 85.3165 +  }
 85.3166 +  
 85.3167 +  shape.setAttributeNS(null,'d', pcc);
 85.3168 +
 85.3169 +
 85.3170 +
 85.3171 +//////////////
 85.3172 +/*
 85.3173 + path=path.replace(/, /g, ','); 
 85.3174 + path=path.replace(/ ,/g, ',');
 85.3175 + var ps =path.split(" ")
 85.3176 + var pcc = "";
 85.3177 +
 85.3178 + var xinc=tx-prevbox.x;
 85.3179 + var yinc=ty-prevbox.y;
 85.3180 +  
 85.3181 +    var re = /^[-]?\d*\.?\d*$/;
 85.3182 + for(var i = 0; i < ps.length; i++)
 85.3183 +  { 
 85.3184 +   if(ps[i].indexOf(',')>0){  
 85.3185 +     
 85.3186 +      var point =ps[i].split(","); 
 85.3187 +       var char1=point[0].substring(0,1);
 85.3188 +       point[1]= parseFloat(point[1]); 
 85.3189 +       
 85.3190 +       // var valnum =char1.charAt(0); 
 85.3191 +       //if (isNaN(valnum))
 85.3192 +       if (!char1.match(re)) 
 85.3193 +        
 85.3194 +       {
 85.3195 +         var num0= parseFloat(point[0].substring(1));
 85.3196 +         var text=char1;
 85.3197 +       }else{
 85.3198 +         var num0= parseFloat(point[0]);
 85.3199 +         var text='';
 85.3200 +
 85.3201 +       }
 85.3202 +       //num0+=dist*angx;
 85.3203 +       //point[1]+=dist*angy;
 85.3204 +         num0*=xscale;
 85.3205 +        point[1]*=yscale;   
 85.3206 +        
 85.3207 +      // num0+=xinc;
 85.3208 +      // point[1]+=yinc;
 85.3209 +       
 85.3210 +      
 85.3211 +        
 85.3212 +        var cx=num0;
 85.3213 +        var cy=point[1]; 
 85.3214 +        pcc+=text+cx+','+cy+' ';
 85.3215 +   }else{
 85.3216 +      pcc+=ps[i]+' ';
 85.3217 +   }
 85.3218 +  }
 85.3219 +
 85.3220 +
 85.3221 +   
 85.3222 +    
 85.3223 +  
 85.3224 +   // $('code').value=dist+' '+ ang+' '+'__'+x+'= '+left+'/ '+y+'= ' +top+'';
 85.3225 +    
 85.3226 +       //shape.setAttributeNS(null,'transform', "rotate("+left+")");
 85.3227 +       
 85.3228 +       // shape.setAttributeNS(null,'transform', "translate("+trax+","+tray+") rotate("+0+") scale(1,1)");
 85.3229 +         shape.setAttributeNS(null,'d', pcc);
 85.3230 +
 85.3231 +    
 85.3232 +    
 85.3233 +    
 85.3234 +    
 85.3235 +    
 85.3236 +    
 85.3237 +       //document.forms[0].code.value='';
 85.3238 +       //shape.setAttributeNS(null,'transform', "scale("+trans_ShareScale+")"); 
 85.3239 + */      
 85.3240 +
 85.3241 +  }  
 85.3242 +   	                             
 85.3243 +
 85.3244 +
 85.3245 +
 85.3246 +
 85.3247 +
 85.3248 +
 85.3249 +
 85.3250 +	
 85.3251 +	
 85.3252 +	
 85.3253 +	
 85.3254 +	
 85.3255 +//$('status').innerHTML=typeTransform+': '+shareScale;  
 85.3256 +       
 85.3257 +  
 85.3258 +};
 85.3259 +
 85.3260 +
 85.3261 +SVGRenderer.prototype.rotateShape = function(shape, previus, toX, toY) {
 85.3262 + 
 85.3263 +    //document.getElementById('richdraw').style.cursor='e-resize';
 85.3264 +     	 var box = shape.getBBox();  
 85.3265 +	 var prevbox=previus.getBBox();
 85.3266 +	var centerx= box.x+(box.width/2);
 85.3267 +	var centery= box.y+(box.height/2); 
 85.3268 +	var coord=this.editor.inputxy;
 85.3269 +
 85.3270 +       var actual_angle=ang2v(centerx,centery,coord[0], coord[1]);
 85.3271 +       
 85.3272 +       if(xrot<toX) { rotatexxx+=1;}else{rotatexxx-=1;}
 85.3273 +       xrot=toX;
 85.3274 +       yrot=toY;  
 85.3275 +       
 85.3276 +	var xtr=0;
 85.3277 +        var ytr=0;
 85.3278 +                
 85.3279 +        var box= shape.getBBox();  
 85.3280 +        var tr1x=  box.x;  
 85.3281 +         var tr1y=  box.y;
 85.3282 +
 85.3283 + 
 85.3284 + 
 85.3285 +    toX+=xtr;
 85.3286 +        toY+=xtr;
 85.3287 +
 85.3288 +      //var trax=parseFloat(toX-box.x);   var tray= parseFloat(toY-box.y);      
 85.3289 +      var trax=parseFloat(box.x/2);   var tray= parseFloat(box.y/2); 
 85.3290 +       var angler=Math.atan2(toX,toY);
 85.3291 +         var angle=angler*180/Math.PI;  
 85.3292 +          var T = shape.getCTM(); 
 85.3293 +          var rotini=T.a*(180 / Math.PI);
 85.3294 +                   var angle=rotini*180/Math.PI;
 85.3295 +          var rot_angle=actual_angle*180/Math.PI;  
 85.3296 +          this.editor.log(centerx+' '+centery+' '+coord[0]+' '+coord[1]+'____ '+rot_angle+' '+actual_angle*180/Math.PI);
 85.3297 +          
 85.3298 +          
 85.3299 +         // matrix( a, b, c, d, e, f )
 85.3300 +         // a c e
 85.3301 +         // b d f
 85.3302 +         // 0 0 1
 85.3303 +         //a scale factor of 2, a rotation of 30 deg and a translation of (500,50)
 85.3304 +         //T     1.732   -1   500     1   1.732   50     0   0   1
 85.3305 +         //T      1  ad-bc      d  -c -de+cf   -b  a  be-df    0   0   1
 85.3306 +         
 85.3307 +         //shape.setAttributeNS(null,'transform', "translate("+(-xshe)+","+(-yshe)+")");
 85.3308 + 
 85.3309 +         // shape.setAttributeNS(null,"transform", "  matrix( a, b, c, d, e, f )");
 85.3310 +          // shape.setAttributeNS(null,'transform', "translate("+(box.x+(box.width/2))+","+(box.y+(box.height/2))+")  rotate("+rotatexxx+") ");
 85.3311 +           //shape.setAttributeNS(null,'transform', "translate("+(box.x+(box.width/2))+","+(box.y+(box.height/2))+") rotate("+rotatexxx+") translate("+(-box.x-(box.width/2))+","+(-box.y-(box.height/2))+") ");
 85.3312 +         //shape.setAttributeNS(null,'transform', "rotate("+rotatexxx+","+(box.x+(box.width/2))+","+(box.y+(box.height/2))+")");
 85.3313 +         //shape.setAttributeNS(null,'transform', "rotate("+rotatexxx+","+(prevbox.x+(prevbox.width/2))+","+(prevbox.y+(prevbox.height/2))+")");
 85.3314 +         shape.setAttributeNS(null,'transform', "rotate("+rot_angle+","+(prevbox.x+(prevbox.width/2))+","+(prevbox.y+(prevbox.height/2))+")");
 85.3315 +                          
 85.3316 +         
 85.3317 +         //alert('[  ['+T.a+'  '+T.c+'  '+T.e+']  ['+T.b+'  '+T.d+'  '+T.f+']  [0  0  1]  ]');
 85.3318 +        //a,b,c,d,e,f  
 85.3319 +           
 85.3320 +          // shape.setAttributeNS(null,'transform', 'matrix('+T.a+', '+T.b+', '+ T.c+', '+ T.d+', '+ T.e+', '+ T.f+')' );
 85.3321 +          
 85.3322 +          var x1=T.e;
 85.3323 +          var y1=T.f;
 85.3324 +          var sp = Math.sin(rotatexxx*(Math.PI / 180));
 85.3325 +          var cp = Math.cos(rotatexxx*(Math.PI / 180));
 85.3326 +          var x2 = 0 + r*rotatexxx*(Math.PI / 180);
 85.3327 +          var y2 = 0;
 85.3328 +          var r=0; 
 85.3329 +           
 85.3330 +          var a=cp;
 85.3331 +          var c=sp;
 85.3332 +          var e=T.e;
 85.3333 +          var b=T.b;
 85.3334 +          var d=(-x1*cp+y1*sp+x2); 
 85.3335 +          var f=(-x1*sp-y1*cp+y2);
 85.3336 +      
 85.3337 +      var inv=T.inverse;  
 85.3338 +      var inv_mat=T.multiply(inv); 
 85.3339 +       //var matrix = "matrix(" + cp +"," + sp + "," + (-sp) + "," + cp + ","+ (-x1*cp+y1*sp+x2) + ","+ (-x1*sp-y1*cp+y2) + ")";
 85.3340 +       //var matrix = "matrix(" + a +"," + c + "," + e + "," + b + ","+ d + ","+ f + ")";
 85.3341 +      var matrix='matrix('+inv_mat.a+' '+inv_mat.b+' '+inv_mat.c+' '+inv_mat.d+' '+inv_mat.e+' '+inv_mat.f+')'
 85.3342 +      
 85.3343 +       //++ shape.setAttributeNS(null,'transform',matrix); 
 85.3344 +        
 85.3345 +        //shape.setAttributeNS(null,'transform', "rotate("+rotatexxx+")"); 
 85.3346 +        // shape.setAttributeNS(null,'transform', "translate("+(box.x)+","+(box.y)+")");
 85.3347 +        
 85.3348 +         //shape.setAttributeNS(null,'transform', "rotate("+rotatexxx+")");
 85.3349 +               //shape.setAttributeNS(null, 'x', -box.width/2 + 'px');
 85.3350 +               //shape.setAttributeNS(null, 'y', -box.height/2 + 'px');
 85.3351 +         //shape.setAttributeNS(null,"transform", "matrix("+Math.cos(angle)+", "+Math.sin(angle)+", "+Math.sin(-angle)+", "+Math.cos(angle)+", 0, 0 )");
 85.3352 +           //shape.setAttributeNS(null,'transform', "rotate("+10+")"); 
 85.3353 +   
 85.3354 +               //shape.setAttributeNS(null, 'x', box.width/2 + 'px');
 85.3355 +               //shape.setAttributeNS(null, 'y', box.height/2 + 'px');
 85.3356 +      
 85.3357 +                
 85.3358 +  
 85.3359 +          //$('status').innerHTML = 'Mode: Draw '+pointshape +'_'+xsh +' '+ ysh+' '+trshape;
 85.3360 +          
 85.3361 +  //$('status').innerHTML=typeTransform+': '+rotatexxx;  
 85.3362 +    
 85.3363 +};
 85.3364 +
 85.3365 +
 85.3366 +
 85.3367 +// x(u) = x0*(1-u) + x1*u = x0 + (x1-x0)*u
 85.3368 +// y(u) = y0*(1-u) + y1*u = y0 + (y1-y0)*u
 85.3369 +      
 85.3370 +
 85.3371 +
 85.3372 +SVGRenderer.prototype.getshapes = function(){
 85.3373 +return this.svgRoot.childNodes;
 85.3374 +} 
 85.3375 +
 85.3376 +SVGRenderer.prototype.reflect = function(HorV) {
 85.3377 +   var shape= c.selected; 
 85.3378 +   var box = shape.getBBox();  
 85.3379 +    
 85.3380 + if(shape.tagName=="path")
 85.3381 +  {
 85.3382 +  
 85.3383 +      var tx=box.x+(box.width/2);
 85.3384 +      var ty=box.y+(box.height/2);  
 85.3385 +    
 85.3386 +    if(HorV=='V'){  
 85.3387 +       var xinc=-1;
 85.3388 +       var yinc=1;   
 85.3389 +     }
 85.3390 +    if(HorV=='H'){  
 85.3391 +       var xinc=1;
 85.3392 +       var yinc=-1;   
 85.3393 +     }
 85.3394 +
 85.3395 +
 85.3396 +   var path=shape.getAttributeNS(null, 'd');
 85.3397 +   path=path.replace(/, /g, ','); 
 85.3398 +   path=path.replace(/ ,/g, ',');
 85.3399 +   var ps =path.split(" ")
 85.3400 +   var pcc = "";
 85.3401 +   var point =ps[0].split(","); 
 85.3402 +
 85.3403 +
 85.3404 +   var num0= parseFloat(point[0].substring(1));
 85.3405 +   var num1= parseFloat(point[1]);     
 85.3406 + 
 85.3407 +    var re = /^[-]?\d*\.?\d*$/; 
 85.3408 +    var axis = $V([tx,ty]);
 85.3409 +
 85.3410 +   for(var i = 0; i < ps.length; i++)
 85.3411 +    { 
 85.3412 +     if(ps[i].indexOf(',')>0){  
 85.3413 +     
 85.3414 +      var point =ps[i].split(","); 
 85.3415 +       var char1=point[0].substring(0,1); 
 85.3416 +       if(char1=='A' || char1=='a'){isArc=true; contArc=0;}
 85.3417 +       if(isArc==true){contArc++}
 85.3418 +       if(contArc==4){contArc=0; isArc=false}
 85.3419 +       
 85.3420 +       //if (isNaN(valnum)) 
 85.3421 +      if (!char1.match(re))        
 85.3422 +       { 
 85.3423 +           var num0= parseFloat(point[0].substring(1));
 85.3424 +           var text=char1;
 85.3425 +       }else{ 
 85.3426 +         if(isArc==true && contArc==2  )
 85.3427 +          {
 85.3428 +            var num0= point[0];
 85.3429 +          }else{  
 85.3430 +            var num0= parseFloat(point[0]);
 85.3431 +          }  
 85.3432 +         var text='';
 85.3433 +
 85.3434 +       }
 85.3435 + 
 85.3436 +       
 85.3437 +       if(isArc==true && contArc==2)
 85.3438 +        {   
 85.3439 +           point[1]= point[1].toString() ;
 85.3440 +        }
 85.3441 +        else
 85.3442 +        {    
 85.3443 +         
 85.3444 +          //num0*=xinc;    
 85.3445 +          point[1]= parseFloat(point[1]);
 85.3446 +          //point[1]*=yinc;
 85.3447 +          var pointIni=$V([num0,point[1],1]);
 85.3448 +          var matrT = $M([[1,0,-tx],[0,1,-ty],[0,0,1]]);
 85.3449 +          var matrS = $M([[xinc,0,0],[0,yinc,0],[0,0,1]]); 
 85.3450 +          var matrR = $M([[1,0,tx],[0,1,ty],[0,0,1]]);
 85.3451 +          var matr1= matrT.x(pointIni);  
 85.3452 +          var matr2= matrS.x(matr1);
 85.3453 +          //var pointR=pointIni.Random(1) 
 85.3454 +          //var pointR=pointIni.rotate(Math.PI/180,axis);
 85.3455 +          //var pointRc=pointIni.cross(axis); 
 85.3456 +          //var pointR=matr2;
 85.3457 +          var pointR=matrR.x(matr2);  
 85.3458 +          num0=pointR.elements[0];
 85.3459 +           point[1]=pointR.elements[1];
 85.3460 +           $('code').value=pointIni.elements[0]+','+pointR.elements[1]+' ';
 85.3461 +        }  
 85.3462 +       var cx=num0; 
 85.3463 +        var cy=point[1];   
 85.3464 +        pcc+=text+cx+','+cy+' ';
 85.3465 +        //pcc+=text+cx+','+cy+' '; 
 85.3466 +       
 85.3467 +     }else{
 85.3468 +       pcc+=ps[i]+' ';
 85.3469 +     }
 85.3470 +    } 
 85.3471 +    var svg =shape.cloneNode(false); 
 85.3472 +    svg.setAttributeNS(null,'d', pcc);  
 85.3473 +    this.svgRoot.appendChild(svg); 
 85.3474 +    return svg;
 85.3475 + }
 85.3476 +  else
 85.3477 + { 
 85.3478 +  if(shape.tagName=="text" || shape.tagName=="image" )
 85.3479 +  {
 85.3480 +
 85.3481 +  
 85.3482 +    var tr='';  
 85.3483 +    var turn0='';
 85.3484 +    var svg =shape.cloneNode(false); 
 85.3485 +    var x= shape.getAttributeNS(null, 'x');
 85.3486 +    var y= shape.getAttributeNS(null, 'y');  
 85.3487 +    x+=box.width/2;
 85.3488 +    y+=box.height/2;
 85.3489 +    if(HorV=='V')
 85.3490 +     {  
 85.3491 +       svg.setAttributeNS(null,'x',-parseFloat(x));  
 85.3492 +       var scaleSim='-1, 1';
 85.3493 +       svg.setAttributeNS(null,'transform','scale('+scaleSim+')');  
 85.3494 +       //svg.setAttributeNS(null,'y',parseFloat(x));  
 85.3495 +       svg.setAttributeNS(null,'x',-parseFloat(x));  
 85.3496 +
 85.3497 +
 85.3498 +     }
 85.3499 +    if(HorV=='H')
 85.3500 +     {  
 85.3501 +       var scaleSim='1, -1';
 85.3502 +       svg.setAttributeNS(null,'y',-parseFloat(y));  
 85.3503 +       svg.setAttributeNS(null,'transform','scale('+scaleSim+')');  
 85.3504 +       //svg.setAttributeNS(null,'x',parseFloat(x));  
 85.3505 +       svg.setAttributeNS(null,'y',-parseFloat(y));  
 85.3506 +
 85.3507 +
 85.3508 +     } 
 85.3509 +
 85.3510 +    if(shape.hasAttributeNS(null, 'transform'))
 85.3511 +     { 
 85.3512 +      tr=shape.getAttributeNS(null, 'transform');  
 85.3513 +      turn0=GetString(tr,'rotate(',')');
 85.3514 +
 85.3515 +      svg.setAttributeNS(null,'transform','rotate('+turn+'),scale('+scaleSim+')');  
 85.3516 +      svg.setAttributeNS(null,'x',parseFloat(x));  
 85.3517 +      svg.setAttributeNS(null,'y',parseFloat(y));  
 85.3518 +      
 85.3519 +      //svg.setAttributeNS(null,'transform','rotate('+turn+'),scale('+'');  
 85.3520 +     }else{
 85.3521 +       
 85.3522 +     }   
 85.3523 +     
 85.3524 +    
 85.3525 +    
 85.3526 +     if(shape.tagName=="text"){  
 85.3527 +        var text=shape.textContent ; 
 85.3528 +        svg.textContent=text;     
 85.3529 +     }
 85.3530 +     //svg.setAttributeNS(null,'writing-mode',mode); 
 85.3531 +     //svg.setAttributeNS(null,'glyph-orientation-horizontal','0deg');
 85.3532 +     //
 85.3533 +     //svg.appendChild(text); 
 85.3534 +   
 85.3535 +     this.svgRoot.appendChild(svg); 
 85.3536 +     return svg;
 85.3537 +  }
 85.3538 +  else
 85.3539 +  {
 85.3540 +  if(shape.hasAttributeNS(null, 'transform'))
 85.3541 +   { 
 85.3542 +   
 85.3543 +     
 85.3544 +     var tr=shape.getAttributeNS(null, 'transform');  
 85.3545 +     var turn0=GetString(tr, 'rotate(',',');
 85.3546 +     turn0=parseFloat(turn0); 
 85.3547 +     //alert(turn0);
 85.3548 +     
 85.3549 +     if(HorV=='V'){  
 85.3550 +       var angle=180;
 85.3551 +       //var turn=(turn0+angle)-(turn0-90);  
 85.3552 +       var turn=turn0+((angle-turn0)*2); 
 85.3553 +     }
 85.3554 +    if(HorV=='H'){  
 85.3555 +       var angle=90;
 85.3556 +       var turn=turn0+((angle-turn0)*2);   
 85.3557 +     }       
 85.3558 +     var centerx= box.x+(box.width/2);
 85.3559 +     var centery= box.y+(box.height/2); 
 85.3560 +     //this.editor.log(centerx+' '+centery+' '+coord[0]+' '+coord[1]+'____ '+rot_angle+' '+actual_angle*180/Math.PI);
 85.3561 +     var svg =shape.cloneNode(false); 
 85.3562 +     svg.setAttributeNS(null,'transform', "rotate("+turn+","+centerx+","+centery+")");
 85.3563 +     this.svgRoot.appendChild(svg); 
 85.3564 +    return svg;
 85.3565 +   }
 85.3566 +    else
 85.3567 +   {  
 85.3568 +     var centerx= box.x+(box.width/2);
 85.3569 +     var centery= box.y+(box.height/2); 
 85.3570 +     shape.setAttributeNS(null,'transform', "rotate("+180+","+centerx+","+centery+")");
 85.3571 +
 85.3572 +   }
 85.3573 +  } 
 85.3574 + }
 85.3575 +};
 85.3576 +//http://dev.opera.com/articles/view/svg-evolution-2-our-first-steps-into-sv/?page=3
 85.3577 +//http://www.w3.org/TR/2000/03/WD-SVG-20000303/exchange.html#StylingAttributes
 85.3578 +//http://www.xml.com/lpt/a/1390
 85.3579 +
 85.3580 +
 85.3581 +
 85.3582 +
 85.3583 +
 85.3584 +
 85.3585 +
 85.3586 +//http://xml-utils.com/conferencia-svg.html#d0e527
 85.3587 +//http://www.xml.com/lpt/a/1321
 85.3588 +//http://phrogz.net/objjob/object.asp?id=101
 85.3589 +//http://admisource.gouv.fr/plugins/scmcvs/cvsweb.php/Cassini-ihm/js-yosemite/mapApp.js?rev=1.1;cvsroot=cassini
 85.3590 +//http://groups.google.com/group/prototype-graphic/msg/0547c0caea8869c6 
 85.3591 +//http://sylvester.jcoglan.com/ 
 85.3592 \ No newline at end of file
    86.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    86.2 +++ b/onlypaths/js/sylvester.js	Sun Jan 31 12:33:33 2010 -0500
    86.3 @@ -0,0 +1,1 @@
    86.4 +eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('9 17={3i:\'0.1.3\',16:1e-6};l v(){}v.23={e:l(i){8(i<1||i>7.4.q)?w:7.4[i-1]},2R:l(){8 7.4.q},1u:l(){8 F.1x(7.2u(7))},24:l(a){9 n=7.4.q;9 V=a.4||a;o(n!=V.q){8 1L}J{o(F.13(7.4[n-1]-V[n-1])>17.16){8 1L}}H(--n);8 2x},1q:l(){8 v.u(7.4)},1b:l(a){9 b=[];7.28(l(x,i){b.19(a(x,i))});8 v.u(b)},28:l(a){9 n=7.4.q,k=n,i;J{i=k-n;a(7.4[i],i+1)}H(--n)},2q:l(){9 r=7.1u();o(r===0){8 7.1q()}8 7.1b(l(x){8 x/r})},1C:l(a){9 V=a.4||a;9 n=7.4.q,k=n,i;o(n!=V.q){8 w}9 b=0,1D=0,1F=0;7.28(l(x,i){b+=x*V[i-1];1D+=x*x;1F+=V[i-1]*V[i-1]});1D=F.1x(1D);1F=F.1x(1F);o(1D*1F===0){8 w}9 c=b/(1D*1F);o(c<-1){c=-1}o(c>1){c=1}8 F.37(c)},1m:l(a){9 b=7.1C(a);8(b===w)?w:(b<=17.16)},34:l(a){9 b=7.1C(a);8(b===w)?w:(F.13(b-F.1A)<=17.16)},2k:l(a){9 b=7.2u(a);8(b===w)?w:(F.13(b)<=17.16)},2j:l(a){9 V=a.4||a;o(7.4.q!=V.q){8 w}8 7.1b(l(x,i){8 x+V[i-1]})},2C:l(a){9 V=a.4||a;o(7.4.q!=V.q){8 w}8 7.1b(l(x,i){8 x-V[i-1]})},22:l(k){8 7.1b(l(x){8 x*k})},x:l(k){8 7.22(k)},2u:l(a){9 V=a.4||a;9 i,2g=0,n=7.4.q;o(n!=V.q){8 w}J{2g+=7.4[n-1]*V[n-1]}H(--n);8 2g},2f:l(a){9 B=a.4||a;o(7.4.q!=3||B.q!=3){8 w}9 A=7.4;8 v.u([(A[1]*B[2])-(A[2]*B[1]),(A[2]*B[0])-(A[0]*B[2]),(A[0]*B[1])-(A[1]*B[0])])},2A:l(){9 m=0,n=7.4.q,k=n,i;J{i=k-n;o(F.13(7.4[i])>F.13(m)){m=7.4[i]}}H(--n);8 m},2Z:l(x){9 a=w,n=7.4.q,k=n,i;J{i=k-n;o(a===w&&7.4[i]==x){a=i+1}}H(--n);8 a},3g:l(){8 S.2X(7.4)},2d:l(){8 7.1b(l(x){8 F.2d(x)})},2V:l(x){8 7.1b(l(y){8(F.13(y-x)<=17.16)?x:y})},1o:l(a){o(a.K){8 a.1o(7)}9 V=a.4||a;o(V.q!=7.4.q){8 w}9 b=0,2b;7.28(l(x,i){2b=x-V[i-1];b+=2b*2b});8 F.1x(b)},3a:l(a){8 a.1h(7)},2T:l(a){8 a.1h(7)},1V:l(t,a){9 V,R,x,y,z;2S(7.4.q){27 2:V=a.4||a;o(V.q!=2){8 w}R=S.1R(t).4;x=7.4[0]-V[0];y=7.4[1]-V[1];8 v.u([V[0]+R[0][0]*x+R[0][1]*y,V[1]+R[1][0]*x+R[1][1]*y]);1I;27 3:o(!a.U){8 w}9 C=a.1r(7).4;R=S.1R(t,a.U).4;x=7.4[0]-C[0];y=7.4[1]-C[1];z=7.4[2]-C[2];8 v.u([C[0]+R[0][0]*x+R[0][1]*y+R[0][2]*z,C[1]+R[1][0]*x+R[1][1]*y+R[1][2]*z,C[2]+R[2][0]*x+R[2][1]*y+R[2][2]*z]);1I;2P:8 w}},1t:l(a){o(a.K){9 P=7.4.2O();9 C=a.1r(P).4;8 v.u([C[0]+(C[0]-P[0]),C[1]+(C[1]-P[1]),C[2]+(C[2]-(P[2]||0))])}1d{9 Q=a.4||a;o(7.4.q!=Q.q){8 w}8 7.1b(l(x,i){8 Q[i-1]+(Q[i-1]-x)})}},1N:l(){9 V=7.1q();2S(V.4.q){27 3:1I;27 2:V.4.19(0);1I;2P:8 w}8 V},2n:l(){8\'[\'+7.4.2K(\', \')+\']\'},26:l(a){7.4=(a.4||a).2O();8 7}};v.u=l(a){9 V=25 v();8 V.26(a)};v.i=v.u([1,0,0]);v.j=v.u([0,1,0]);v.k=v.u([0,0,1]);v.2J=l(n){9 a=[];J{a.19(F.2F())}H(--n);8 v.u(a)};v.1j=l(n){9 a=[];J{a.19(0)}H(--n);8 v.u(a)};l S(){}S.23={e:l(i,j){o(i<1||i>7.4.q||j<1||j>7.4[0].q){8 w}8 7.4[i-1][j-1]},33:l(i){o(i>7.4.q){8 w}8 v.u(7.4[i-1])},2E:l(j){o(j>7.4[0].q){8 w}9 a=[],n=7.4.q,k=n,i;J{i=k-n;a.19(7.4[i][j-1])}H(--n);8 v.u(a)},2R:l(){8{2D:7.4.q,1p:7.4[0].q}},2D:l(){8 7.4.q},1p:l(){8 7.4[0].q},24:l(a){9 M=a.4||a;o(1g(M[0][0])==\'1f\'){M=S.u(M).4}o(7.4.q!=M.q||7.4[0].q!=M[0].q){8 1L}9 b=7.4.q,15=b,i,G,10=7.4[0].q,j;J{i=15-b;G=10;J{j=10-G;o(F.13(7.4[i][j]-M[i][j])>17.16){8 1L}}H(--G)}H(--b);8 2x},1q:l(){8 S.u(7.4)},1b:l(a){9 b=[],12=7.4.q,15=12,i,G,10=7.4[0].q,j;J{i=15-12;G=10;b[i]=[];J{j=10-G;b[i][j]=a(7.4[i][j],i+1,j+1)}H(--G)}H(--12);8 S.u(b)},2i:l(a){9 M=a.4||a;o(1g(M[0][0])==\'1f\'){M=S.u(M).4}8(7.4.q==M.q&&7.4[0].q==M[0].q)},2j:l(a){9 M=a.4||a;o(1g(M[0][0])==\'1f\'){M=S.u(M).4}o(!7.2i(M)){8 w}8 7.1b(l(x,i,j){8 x+M[i-1][j-1]})},2C:l(a){9 M=a.4||a;o(1g(M[0][0])==\'1f\'){M=S.u(M).4}o(!7.2i(M)){8 w}8 7.1b(l(x,i,j){8 x-M[i-1][j-1]})},2B:l(a){9 M=a.4||a;o(1g(M[0][0])==\'1f\'){M=S.u(M).4}8(7.4[0].q==M.q)},22:l(a){o(!a.4){8 7.1b(l(x){8 x*a})}9 b=a.1u?2x:1L;9 M=a.4||a;o(1g(M[0][0])==\'1f\'){M=S.u(M).4}o(!7.2B(M)){8 w}9 d=7.4.q,15=d,i,G,10=M[0].q,j;9 e=7.4[0].q,4=[],21,20,c;J{i=15-d;4[i]=[];G=10;J{j=10-G;21=0;20=e;J{c=e-20;21+=7.4[i][c]*M[c][j]}H(--20);4[i][j]=21}H(--G)}H(--d);9 M=S.u(4);8 b?M.2E(1):M},x:l(a){8 7.22(a)},32:l(a,b,c,d){9 e=[],12=c,i,G,j;9 f=7.4.q,1p=7.4[0].q;J{i=c-12;e[i]=[];G=d;J{j=d-G;e[i][j]=7.4[(a+i-1)%f][(b+j-1)%1p]}H(--G)}H(--12);8 S.u(e)},31:l(){9 a=7.4.q,1p=7.4[0].q;9 b=[],12=1p,i,G,j;J{i=1p-12;b[i]=[];G=a;J{j=a-G;b[i][j]=7.4[j][i]}H(--G)}H(--12);8 S.u(b)},1y:l(){8(7.4.q==7.4[0].q)},2A:l(){9 m=0,12=7.4.q,15=12,i,G,10=7.4[0].q,j;J{i=15-12;G=10;J{j=10-G;o(F.13(7.4[i][j])>F.13(m)){m=7.4[i][j]}}H(--G)}H(--12);8 m},2Z:l(x){9 a=w,12=7.4.q,15=12,i,G,10=7.4[0].q,j;J{i=15-12;G=10;J{j=10-G;o(7.4[i][j]==x){8{i:i+1,j:j+1}}}H(--G)}H(--12);8 w},30:l(){o(!7.1y){8 w}9 a=[],n=7.4.q,k=n,i;J{i=k-n;a.19(7.4[i][i])}H(--n);8 v.u(a)},1K:l(){9 M=7.1q(),1c;9 n=7.4.q,k=n,i,1s,1n=7.4[0].q,p;J{i=k-n;o(M.4[i][i]==0){2e(j=i+1;j<k;j++){o(M.4[j][i]!=0){1c=[];1s=1n;J{p=1n-1s;1c.19(M.4[i][p]+M.4[j][p])}H(--1s);M.4[i]=1c;1I}}}o(M.4[i][i]!=0){2e(j=i+1;j<k;j++){9 a=M.4[j][i]/M.4[i][i];1c=[];1s=1n;J{p=1n-1s;1c.19(p<=i?0:M.4[j][p]-M.4[i][p]*a)}H(--1s);M.4[j]=1c}}}H(--n);8 M},3h:l(){8 7.1K()},2z:l(){o(!7.1y()){8 w}9 M=7.1K();9 a=M.4[0][0],n=M.4.q-1,k=n,i;J{i=k-n+1;a=a*M.4[i][i]}H(--n);8 a},3f:l(){8 7.2z()},2y:l(){8(7.1y()&&7.2z()===0)},2Y:l(){o(!7.1y()){8 w}9 a=7.4[0][0],n=7.4.q-1,k=n,i;J{i=k-n+1;a+=7.4[i][i]}H(--n);8 a},3e:l(){8 7.2Y()},1Y:l(){9 M=7.1K(),1Y=0;9 a=7.4.q,15=a,i,G,10=7.4[0].q,j;J{i=15-a;G=10;J{j=10-G;o(F.13(M.4[i][j])>17.16){1Y++;1I}}H(--G)}H(--a);8 1Y},3d:l(){8 7.1Y()},2W:l(a){9 M=a.4||a;o(1g(M[0][0])==\'1f\'){M=S.u(M).4}9 T=7.1q(),1p=T.4[0].q;9 b=T.4.q,15=b,i,G,10=M[0].q,j;o(b!=M.q){8 w}J{i=15-b;G=10;J{j=10-G;T.4[i][1p+j]=M[i][j]}H(--G)}H(--b);8 T},2w:l(){o(!7.1y()||7.2y()){8 w}9 a=7.4.q,15=a,i,j;9 M=7.2W(S.I(a)).1K();9 b,1n=M.4[0].q,p,1c,2v;9 c=[],2c;J{i=a-1;1c=[];b=1n;c[i]=[];2v=M.4[i][i];J{p=1n-b;2c=M.4[i][p]/2v;1c.19(2c);o(p>=15){c[i].19(2c)}}H(--b);M.4[i]=1c;2e(j=0;j<i;j++){1c=[];b=1n;J{p=1n-b;1c.19(M.4[j][p]-M.4[i][p]*M.4[j][i])}H(--b);M.4[j]=1c}}H(--a);8 S.u(c)},3c:l(){8 7.2w()},2d:l(){8 7.1b(l(x){8 F.2d(x)})},2V:l(x){8 7.1b(l(p){8(F.13(p-x)<=17.16)?x:p})},2n:l(){9 a=[];9 n=7.4.q,k=n,i;J{i=k-n;a.19(v.u(7.4[i]).2n())}H(--n);8 a.2K(\'\\n\')},26:l(a){9 i,4=a.4||a;o(1g(4[0][0])!=\'1f\'){9 b=4.q,15=b,G,10,j;7.4=[];J{i=15-b;G=4[i].q;10=G;7.4[i]=[];J{j=10-G;7.4[i][j]=4[i][j]}H(--G)}H(--b);8 7}9 n=4.q,k=n;7.4=[];J{i=k-n;7.4.19([4[i]])}H(--n);8 7}};S.u=l(a){9 M=25 S();8 M.26(a)};S.I=l(n){9 a=[],k=n,i,G,j;J{i=k-n;a[i]=[];G=k;J{j=k-G;a[i][j]=(i==j)?1:0}H(--G)}H(--n);8 S.u(a)};S.2X=l(a){9 n=a.q,k=n,i;9 M=S.I(n);J{i=k-n;M.4[i][i]=a[i]}H(--n);8 M};S.1R=l(b,a){o(!a){8 S.u([[F.1H(b),-F.1G(b)],[F.1G(b),F.1H(b)]])}9 d=a.1q();o(d.4.q!=3){8 w}9 e=d.1u();9 x=d.4[0]/e,y=d.4[1]/e,z=d.4[2]/e;9 s=F.1G(b),c=F.1H(b),t=1-c;8 S.u([[t*x*x+c,t*x*y-s*z,t*x*z+s*y],[t*x*y+s*z,t*y*y+c,t*y*z-s*x],[t*x*z-s*y,t*y*z+s*x,t*z*z+c]])};S.3b=l(t){9 c=F.1H(t),s=F.1G(t);8 S.u([[1,0,0],[0,c,-s],[0,s,c]])};S.39=l(t){9 c=F.1H(t),s=F.1G(t);8 S.u([[c,0,s],[0,1,0],[-s,0,c]])};S.38=l(t){9 c=F.1H(t),s=F.1G(t);8 S.u([[c,-s,0],[s,c,0],[0,0,1]])};S.2J=l(n,m){8 S.1j(n,m).1b(l(){8 F.2F()})};S.1j=l(n,m){9 a=[],12=n,i,G,j;J{i=n-12;a[i]=[];G=m;J{j=m-G;a[i][j]=0}H(--G)}H(--12);8 S.u(a)};l 14(){}14.23={24:l(a){8(7.1m(a)&&7.1h(a.K))},1q:l(){8 14.u(7.K,7.U)},2U:l(a){9 V=a.4||a;8 14.u([7.K.4[0]+V[0],7.K.4[1]+V[1],7.K.4[2]+(V[2]||0)],7.U)},1m:l(a){o(a.W){8 a.1m(7)}9 b=7.U.1C(a.U);8(F.13(b)<=17.16||F.13(b-F.1A)<=17.16)},1o:l(a){o(a.W){8 a.1o(7)}o(a.U){o(7.1m(a)){8 7.1o(a.K)}9 N=7.U.2f(a.U).2q().4;9 A=7.K.4,B=a.K.4;8 F.13((A[0]-B[0])*N[0]+(A[1]-B[1])*N[1]+(A[2]-B[2])*N[2])}1d{9 P=a.4||a;9 A=7.K.4,D=7.U.4;9 b=P[0]-A[0],2a=P[1]-A[1],29=(P[2]||0)-A[2];9 c=F.1x(b*b+2a*2a+29*29);o(c===0)8 0;9 d=(b*D[0]+2a*D[1]+29*D[2])/c;9 e=1-d*d;8 F.13(c*F.1x(e<0?0:e))}},1h:l(a){9 b=7.1o(a);8(b!==w&&b<=17.16)},2T:l(a){8 a.1h(7)},1v:l(a){o(a.W){8 a.1v(7)}8(!7.1m(a)&&7.1o(a)<=17.16)},1U:l(a){o(a.W){8 a.1U(7)}o(!7.1v(a)){8 w}9 P=7.K.4,X=7.U.4,Q=a.K.4,Y=a.U.4;9 b=X[0],1z=X[1],1B=X[2],1T=Y[0],1S=Y[1],1M=Y[2];9 c=P[0]-Q[0],2s=P[1]-Q[1],2r=P[2]-Q[2];9 d=-b*c-1z*2s-1B*2r;9 e=1T*c+1S*2s+1M*2r;9 f=b*b+1z*1z+1B*1B;9 g=1T*1T+1S*1S+1M*1M;9 h=b*1T+1z*1S+1B*1M;9 k=(d*g/f+h*e)/(g-h*h);8 v.u([P[0]+k*b,P[1]+k*1z,P[2]+k*1B])},1r:l(a){o(a.U){o(7.1v(a)){8 7.1U(a)}o(7.1m(a)){8 w}9 D=7.U.4,E=a.U.4;9 b=D[0],1l=D[1],1k=D[2],1P=E[0],1O=E[1],1Q=E[2];9 x=(1k*1P-b*1Q),y=(b*1O-1l*1P),z=(1l*1Q-1k*1O);9 N=v.u([x*1Q-y*1O,y*1P-z*1Q,z*1O-x*1P]);9 P=11.u(a.K,N);8 P.1U(7)}1d{9 P=a.4||a;o(7.1h(P)){8 v.u(P)}9 A=7.K.4,D=7.U.4;9 b=D[0],1l=D[1],1k=D[2],1w=A[0],18=A[1],1a=A[2];9 x=b*(P[1]-18)-1l*(P[0]-1w),y=1l*((P[2]||0)-1a)-1k*(P[1]-18),z=1k*(P[0]-1w)-b*((P[2]||0)-1a);9 V=v.u([1l*x-1k*z,1k*y-b*x,b*z-1l*y]);9 k=7.1o(P)/V.1u();8 v.u([P[0]+V.4[0]*k,P[1]+V.4[1]*k,(P[2]||0)+V.4[2]*k])}},1V:l(t,a){o(1g(a.U)==\'1f\'){a=14.u(a.1N(),v.k)}9 R=S.1R(t,a.U).4;9 C=a.1r(7.K).4;9 A=7.K.4,D=7.U.4;9 b=C[0],1E=C[1],1J=C[2],1w=A[0],18=A[1],1a=A[2];9 x=1w-b,y=18-1E,z=1a-1J;8 14.u([b+R[0][0]*x+R[0][1]*y+R[0][2]*z,1E+R[1][0]*x+R[1][1]*y+R[1][2]*z,1J+R[2][0]*x+R[2][1]*y+R[2][2]*z],[R[0][0]*D[0]+R[0][1]*D[1]+R[0][2]*D[2],R[1][0]*D[0]+R[1][1]*D[1]+R[1][2]*D[2],R[2][0]*D[0]+R[2][1]*D[1]+R[2][2]*D[2]])},1t:l(a){o(a.W){9 A=7.K.4,D=7.U.4;9 b=A[0],18=A[1],1a=A[2],2N=D[0],1l=D[1],1k=D[2];9 c=7.K.1t(a).4;9 d=b+2N,2h=18+1l,2o=1a+1k;9 Q=a.1r([d,2h,2o]).4;9 e=[Q[0]+(Q[0]-d)-c[0],Q[1]+(Q[1]-2h)-c[1],Q[2]+(Q[2]-2o)-c[2]];8 14.u(c,e)}1d o(a.U){8 7.1V(F.1A,a)}1d{9 P=a.4||a;8 14.u(7.K.1t([P[0],P[1],(P[2]||0)]),7.U)}},1Z:l(a,b){a=v.u(a);b=v.u(b);o(a.4.q==2){a.4.19(0)}o(b.4.q==2){b.4.19(0)}o(a.4.q>3||b.4.q>3){8 w}9 c=b.1u();o(c===0){8 w}7.K=a;7.U=v.u([b.4[0]/c,b.4[1]/c,b.4[2]/c]);8 7}};14.u=l(a,b){9 L=25 14();8 L.1Z(a,b)};14.X=14.u(v.1j(3),v.i);14.Y=14.u(v.1j(3),v.j);14.Z=14.u(v.1j(3),v.k);l 11(){}11.23={24:l(a){8(7.1h(a.K)&&7.1m(a))},1q:l(){8 11.u(7.K,7.W)},2U:l(a){9 V=a.4||a;8 11.u([7.K.4[0]+V[0],7.K.4[1]+V[1],7.K.4[2]+(V[2]||0)],7.W)},1m:l(a){9 b;o(a.W){b=7.W.1C(a.W);8(F.13(b)<=17.16||F.13(F.1A-b)<=17.16)}1d o(a.U){8 7.W.2k(a.U)}8 w},2k:l(a){9 b=7.W.1C(a.W);8(F.13(F.1A/2-b)<=17.16)},1o:l(a){o(7.1v(a)||7.1h(a)){8 0}o(a.K){9 A=7.K.4,B=a.K.4,N=7.W.4;8 F.13((A[0]-B[0])*N[0]+(A[1]-B[1])*N[1]+(A[2]-B[2])*N[2])}1d{9 P=a.4||a;9 A=7.K.4,N=7.W.4;8 F.13((A[0]-P[0])*N[0]+(A[1]-P[1])*N[1]+(A[2]-(P[2]||0))*N[2])}},1h:l(a){o(a.W){8 w}o(a.U){8(7.1h(a.K)&&7.1h(a.K.2j(a.U)))}1d{9 P=a.4||a;9 A=7.K.4,N=7.W.4;9 b=F.13(N[0]*(A[0]-P[0])+N[1]*(A[1]-P[1])+N[2]*(A[2]-(P[2]||0)));8(b<=17.16)}},1v:l(a){o(1g(a.U)==\'1f\'&&1g(a.W)==\'1f\'){8 w}8!7.1m(a)},1U:l(a){o(!7.1v(a)){8 w}o(a.U){9 A=a.K.4,D=a.U.4,P=7.K.4,N=7.W.4;9 b=(N[0]*(P[0]-A[0])+N[1]*(P[1]-A[1])+N[2]*(P[2]-A[2]))/(N[0]*D[0]+N[1]*D[1]+N[2]*D[2]);8 v.u([A[0]+D[0]*b,A[1]+D[1]*b,A[2]+D[2]*b])}1d o(a.W){9 c=7.W.2f(a.W).2q();9 N=7.W.4,A=7.K.4,O=a.W.4,B=a.K.4;9 d=S.1j(2,2),i=0;H(d.2y()){i++;d=S.u([[N[i%3],N[(i+1)%3]],[O[i%3],O[(i+1)%3]]])}9 e=d.2w().4;9 x=N[0]*A[0]+N[1]*A[1]+N[2]*A[2];9 y=O[0]*B[0]+O[1]*B[1]+O[2]*B[2];9 f=[e[0][0]*x+e[0][1]*y,e[1][0]*x+e[1][1]*y];9 g=[];2e(9 j=1;j<=3;j++){g.19((i==j)?0:f[(j+(5-i)%3)%3])}8 14.u(g,c)}},1r:l(a){9 P=a.4||a;9 A=7.K.4,N=7.W.4;9 b=(A[0]-P[0])*N[0]+(A[1]-P[1])*N[1]+(A[2]-(P[2]||0))*N[2];8 v.u([P[0]+N[0]*b,P[1]+N[1]*b,(P[2]||0)+N[2]*b])},1V:l(t,a){9 R=S.1R(t,a.U).4;9 C=a.1r(7.K).4;9 A=7.K.4,N=7.W.4;9 b=C[0],1E=C[1],1J=C[2],1w=A[0],18=A[1],1a=A[2];9 x=1w-b,y=18-1E,z=1a-1J;8 11.u([b+R[0][0]*x+R[0][1]*y+R[0][2]*z,1E+R[1][0]*x+R[1][1]*y+R[1][2]*z,1J+R[2][0]*x+R[2][1]*y+R[2][2]*z],[R[0][0]*N[0]+R[0][1]*N[1]+R[0][2]*N[2],R[1][0]*N[0]+R[1][1]*N[1]+R[1][2]*N[2],R[2][0]*N[0]+R[2][1]*N[1]+R[2][2]*N[2]])},1t:l(a){o(a.W){9 A=7.K.4,N=7.W.4;9 b=A[0],18=A[1],1a=A[2],2M=N[0],2L=N[1],2Q=N[2];9 c=7.K.1t(a).4;9 d=b+2M,2p=18+2L,2m=1a+2Q;9 Q=a.1r([d,2p,2m]).4;9 e=[Q[0]+(Q[0]-d)-c[0],Q[1]+(Q[1]-2p)-c[1],Q[2]+(Q[2]-2m)-c[2]];8 11.u(c,e)}1d o(a.U){8 7.1V(F.1A,a)}1d{9 P=a.4||a;8 11.u(7.K.1t([P[0],P[1],(P[2]||0)]),7.W)}},1Z:l(a,b,c){a=v.u(a);a=a.1N();o(a===w){8 w}b=v.u(b);b=b.1N();o(b===w){8 w}o(1g(c)==\'1f\'){c=w}1d{c=v.u(c);c=c.1N();o(c===w){8 w}}9 d=a.4[0],18=a.4[1],1a=a.4[2];9 e=b.4[0],1W=b.4[1],1X=b.4[2];9 f,1i;o(c!==w){9 g=c.4[0],2l=c.4[1],2t=c.4[2];f=v.u([(1W-18)*(2t-1a)-(1X-1a)*(2l-18),(1X-1a)*(g-d)-(e-d)*(2t-1a),(e-d)*(2l-18)-(1W-18)*(g-d)]);1i=f.1u();o(1i===0){8 w}f=v.u([f.4[0]/1i,f.4[1]/1i,f.4[2]/1i])}1d{1i=F.1x(e*e+1W*1W+1X*1X);o(1i===0){8 w}f=v.u([b.4[0]/1i,b.4[1]/1i,b.4[2]/1i])}7.K=a;7.W=f;8 7}};11.u=l(a,b,c){9 P=25 11();8 P.1Z(a,b,c)};11.2I=11.u(v.1j(3),v.k);11.2H=11.u(v.1j(3),v.i);11.2G=11.u(v.1j(3),v.j);11.36=11.2I;11.35=11.2H;11.3j=11.2G;9 $V=v.u;9 $M=S.u;9 $L=14.u;9 $P=11.u;',62,206,'||||elements|||this|return|var||||||||||||function|||if||length||||create|Vector|null|||||||||Math|nj|while||do|anchor||||||||Matrix||direction||normal||||kj|Plane|ni|abs|Line|ki|precision|Sylvester|A2|push|A3|map|els|else||undefined|typeof|contains|mod|Zero|D3|D2|isParallelTo|kp|distanceFrom|cols|dup|pointClosestTo|np|reflectionIn|modulus|intersects|A1|sqrt|isSquare|X2|PI|X3|angleFrom|mod1|C2|mod2|sin|cos|break|C3|toRightTriangular|false|Y3|to3D|E2|E1|E3|Rotation|Y2|Y1|intersectionWith|rotate|v12|v13|rank|setVectors|nc|sum|multiply|prototype|eql|new|setElements|case|each|PA3|PA2|part|new_element|round|for|cross|product|AD2|isSameSizeAs|add|isPerpendicularTo|v22|AN3|inspect|AD3|AN2|toUnitVector|PsubQ3|PsubQ2|v23|dot|divisor|inverse|true|isSingular|determinant|max|canMultiplyFromLeft|subtract|rows|col|random|ZX|YZ|XY|Random|join|N2|N1|D1|slice|default|N3|dimensions|switch|liesIn|translate|snapTo|augment|Diagonal|trace|indexOf|diagonal|transpose|minor|row|isAntiparallelTo|ZY|YX|acos|RotationZ|RotationY|liesOn|RotationX|inv|rk|tr|det|toDiagonalMatrix|toUpperTriangular|version|XZ'.split('|'),0,{}))
    86.5 \ No newline at end of file
    87.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    87.2 +++ b/onlypaths/js/vmlpaths.js	Sun Jan 31 12:33:33 2010 -0500
    87.3 @@ -0,0 +1,15 @@
    87.4 +var k = (Math.sqrt(2)-1)*4/3; 
    87.5 +var mult=50;
    87.6 +var circleTanslatex=100; 
    87.7 +var circleTanslatey=200;
    87.8 +
    87.9 +
   87.10 +var forma=new Array(); 
   87.11 +forma[0]="m"+circleTanslatex+","+(circleTanslatey+mult)+" l"+(circleTanslatex+mult*k)+","+(circleTanslatey+mult)+" "+(circleTanslatex+mult)+","+(circleTanslatey+mult*k)+" "+(circleTanslatex+mult)+","+circleTanslatey+", "+(circleTanslatex+mult)+","+(circleTanslatey-mult*k)+",  "+(circleTanslatex+mult*k)+","+(circleTanslatey-mult)+", "+circleTanslatex+","+(circleTanslatey-mult)+", "+(circleTanslatex-mult*k)+","+(circleTanslatey-mult)+", "+(circleTanslatex-mult)+","+(circleTanslatey-mult*k)+", "+(circleTanslatex-mult)+","+(circleTanslatey)+",  "+(circleTanslatex-mult)+","+(circleTanslatey+mult*k)+",  "+(circleTanslatex-mult*k)+","+(circleTanslatey+mult)+",  "+circleTanslatex+","+(circleTanslatey+mult)+"xe";
   87.12 +forma[1]="m493,182 c493,223,405,255,296,255,187,255,99,223,99,182 l99,350 c99,391,187,423,296,423,405,423,493,391,493,350 l493,182 e" 
   87.13 +forma[2]="m296,255 c405,255,493,223,493,182,493,142,405,109,296,109,187,109,99,142,99,182,99,223,187,255,296,255 e";  
   87.14 +forma[3]="m-465,-352l-465,-468,-284,-468,-284,-352,-465,-352xe"
   87.15 +forma[4]="m3519,1316 l 3553,1306 3589,1296 3606,1291 3642,1283 3660,1280 3674,1279 3689,1279 3704,1281 3720,1282 3735,1283 3749,1283 3756,1282 3763,1280 3770,1277 3776,1274 3782,1269 3787,1264 3795,1252 3801,1238 3811,1208 3817,1193 3820,1186 3828,1172 3833,1167 3841,1160 3849,1154 3858,1149 3868,1145 3878,1142 3889,1139 3900,1137 3910,1135 3921,1135 3933,1137 3957,1143 3969,1145 3981,1146 3986,1146 3992,1145 3997,1144 4002,1141 4008,1137 4014,1132 4019,1127 4024,1121 4033,1108 4061,1048 4069,1034 4065,1053 4062,1073 4060,1094 4058,1114 4056,1124 4054,1133 4052,1143 4049,1152 4041,1168 4029,1182 4023,1186 4017,1189 4010,1191 3996,1193 3988,1192 3981,1191 3973,1190 3956,1187 3940,1184 3932,1183 3925,1183 3917,1184 3910,1185 3905,1187 3895,1193 3887,1203 3884,1208 3880,1213 3877,1218 3868,1230 3852,1258 3845,1272 3837,1285 3828,1297 3823,1303 3818,1308 3806,1316 3798,1320 3789,1323 3771,1327 3752,1329 3733,1330 3713,1330 3694,1330 3675,1332 3656,1335 3641,1339 3626,1345 3611,1350 3581,1364 3566,1370 3551,1377 3536,1383 3534,1375 3532,1366 3530,1358 3528,1349 3525,1341 3523,1333 3521,1324 3519,1316x m2653,1537 l 2641,1540 2619,1546 2607,1549 2596,1552 2572,1558 2561,1561 2573,1577 2587,1595 2593,1605 2599,1614 2604,1623 2607,1632 2609,1643 2610,1654 2609,1667 2608,1679 2608,1691 2609,1702 2610,1708 2612,1712 2615,1717 2619,1721 2636,1734 2654,1746 2674,1758 2684,1762 2694,1767 2705,1771 2716,1774 2726,1776 2737,1777 2747,1777 2758,1777 2768,1775 2778,1772 2786,1768 2793,1763 2798,1757 2803,1750 2807,1742 2810,1734 2813,1724 2815,1715 2819,1695 2824,1675 2830,1657 2834,1648 2839,1641 2843,1637 2847,1634 2853,1631 2859,1629 2865,1628 2871,1628 2873,1628 2877,1630 2879,1632 2882,1637 2888,1649 2890,1655 2893,1669 2896,1682 2900,1710 2904,1723 2909,1736 2915,1744 2930,1753 2936,1755 2946,1757 2959,1759 2973,1760 2986,1760 2999,1761 3013,1761 3026,1761 3040,1760 3053,1760 3114,1757 3175,1753 3235,1749 3296,1744 3418,1736 3479,1733 3540,1732 3545,1734 3550,1737 3558,1745 3562,1750 3566,1754 3568,1756 3571,1757 3573,1757 3576,1757 3587,1755 3599,1752 3611,1748 3622,1743 3644,1731 3662,1715 3670,1705 3676,1694 3682,1682 3687,1670 3691,1657 3694,1644 3698,1632 3701,1619 3702,1615 3705,1597 3707,1590 3708,1585 3710,1580 3713,1576 3722,1570 3734,1564 3748,1558 3763,1551 3779,1545 3794,1540 3807,1535 3817,1531 3808,1530 3798,1529 3787,1529 3775,1529 3751,1531 3738,1534 3726,1536 3715,1539 3703,1543 3693,1547 3684,1551 3675,1556 3668,1562 3663,1567 3659,1573 3657,1579 3656,1585 3656,1599 3657,1606 3657,1613 3657,1619 3656,1626 3654,1634 3652,1644 3649,1653 3647,1662 3644,1671 3640,1678 3637,1682 3634,1685 3628,1689 3624,1691 3619,1692 3615,1693 3611,1693 3602,1691 3592,1689 3583,1686 3573,1683 3564,1681 3555,1680 3495,1684 3435,1690 3376,1696 3316,1702 3256,1709 3197,1715 3137,1720 3078,1724 3066,1724 3042,1722 3030,1720 3019,1718 2997,1712 2986,1708 2982,1707 2977,1704 2973,1701 2967,1695 2964,1691 2962,1683 2961,1675 2962,1668 2965,1660 2967,1651 2971,1635 2972,1627 2971,1619 2967,1611 2963,1602 2958,1594 2952,1587 2938,1573 2930,1568 2922,1564 2914,1561 2905,1559 2895,1559 2886,1559 2876,1560 2867,1561 2858,1563 2831,1566 2822,1568 2813,1569 2804,1572 2796,1575 2784,1585 2782,1588 2780,1594 2780,1598 2780,1605 2782,1613 2785,1637 2784,1644 2782,1652 2779,1661 2777,1670 2769,1686 2764,1693 2761,1696 2758,1698 2754,1701 2750,1702 2739,1706 2728,1708 2716,1709 2704,1709 2692,1707 2681,1704 2671,1699 2661,1692 2659,1690 2657,1686 2656,1683 2655,1679 2655,1671 2657,1653 2659,1643 2661,1634 2661,1626 2661,1615 2659,1593 2658,1581 2656,1569 2654,1547 2653,1537xe"; 
   87.16 +forma[5]="m1279,2755 l 1276,2766 1275,2778 1273,2789 1272,2801 1266,2834 1263,2845 1260,2855 1256,2864 1252,2874 1248,2883 1243,2892 1238,2900 1233,2907 1227,2913 1219,2917 1215,2918 1211,2918 1203,2918 1194,2918 1186,2917 1177,2918 1173,2920 1169,2921 1163,2927 1159,2932 1156,2936 1152,2948 1148,2960 1146,2973 1143,2987 1140,3000 1138,3006 1135,3011 1133,3017 1130,3021 1122,3030 1114,3038 1106,3044 1097,3049 1087,3054 1078,3059 1068,3064 1059,3070 1067,3062 1074,3054 1082,3047 1090,3039 1098,3032 1105,3023 1111,3015 1117,3006 1121,2994 1127,2968 1129,2954 1131,2941 1134,2928 1136,2922 1145,2907 1153,2899 1161,2895 1171,2892 1180,2890 1190,2888 1199,2886 1204,2884 1208,2882 1216,2876 1221,2871 1225,2865 1228,2858 1232,2850 1234,2842 1237,2834 1239,2826 1241,2819 1244,2810 1246,2802 1248,2793 1250,2785 1251,2776 1253,2768 1254,2759 1256,2751 1258,2751 1261,2752 1264,2752 1267,2753 1270,2753 1273,2754 1276,2754 1279,2755xe";
   87.17 +forma[6]="m,l,21600r21600,l21600,xe"; 
   87.18 +forma[7]=" M 0,0 L 100,100,200,0 X E";
    88.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    88.2 +++ b/onlypaths/js/vmlrenderer.js	Sun Jan 31 12:33:33 2010 -0500
    88.3 @@ -0,0 +1,1453 @@
    88.4 +//----------------------------------------------------------------------------
    88.5 +// VMLRENDERER 1.0
    88.6 +// VML Renderer For RichDraw
    88.7 +// Dependencies:
    88.8 +// History:
    88.9 +// 2006-04-05 | Created
   88.10 +// --------------------------------------------------------------------------*/
   88.11 +
   88.12 +
   88.13 +function VMLRenderer() {
   88.14 +	this.base = AbstractRenderer;
   88.15 +}
   88.16 +
   88.17 +
   88.18 +VMLRenderer.prototype = new AbstractRenderer; 
   88.19 +
   88.20 +VMLRenderer.prototype.bounds = function(shape) {
   88.21 +  var rect = new Object();
   88.22 +  rect['x'] = shape.offsetLeft;
   88.23 +  rect['y'] = shape.offsetTop;
   88.24 +  rect['width'] =  shape.offsetWidth;
   88.25 +  rect['height'] = shape.offsetHeight;
   88.26 +  return rect;
   88.27 +}
   88.28 +
   88.29 +VMLRenderer.prototype.init = function(elem) 
   88.30 + {
   88.31 +  this.container = elem;
   88.32 +  // this.container.style.overflow = 'hidden';
   88.33 +  this.container.unselectable = "on";
   88.34 +  // Add VML includes and namespace
   88.35 +  elem.ownerDocument.namespaces.add("v", "urn:schemas-microsoft-com:vml");
   88.36 +  var style = elem.ownerDocument.createStyleSheet();
   88.37 +  style.addRule('v\\:*', "behavior: url(#default#VML); display:inline-block");
   88.38 +  //NOT VML biewBox
   88.39 +  //http://blogs.msdn.com/ie/archive/2008/03/18/webbrowser-control-rendering-modes-in-ie8.aspx 
   88.40 +
   88.41 + } 
   88.42 +
   88.43 +
   88.44 +
   88.45 +
   88.46 +var proporx=1;
   88.47 +var propory=1;
   88.48 +
   88.49 +VMLRenderer.prototype.view = function(left,top,width,height,viewBox,bgcolor) {
   88.50 +  var tokens = viewBox.split(' '); 
   88.51 +       
   88.52 +  var margin=100; 
   88.53 +  var wFront=parseInt(document.getElementById('FRONT').style.width)
   88.54 +  var hFront=parseInt(document.getElementById('FRONT').style.height)
   88.55 +  var tC=0 + ' ' + 0 + ' ' + wFront + ' ' + hFront;
   88.56 +  tokensCanvas= tC.split(' '); 
   88.57 +
   88.58 +  var w=parseFloat(tokens[2]);
   88.59 +  var h=parseFloat(tokens[3]); 
   88.60 +  var wImage = w - parseFloat(tokens[0]);  
   88.61 +  var hImage = h - parseFloat(tokens[1]);
   88.62 +  var wCanvas = wFront;
   88.63 +  var hCanvas = hFront;
   88.64 +  proporImage = hImage / wImage; 
   88.65 +  proporCanvas = hCanvas / wCanvas; 
   88.66 +
   88.67 +  document.title= initialFile +'     '+wImage+' x '+hImage;
   88.68 +
   88.69 +
   88.70 +  if(bgcolor != '')
   88.71 +   {
   88.72 +    this.container.style.backgroundColor=bgcolor;
   88.73 +   } else{
   88.74 +    this.container.style.backgroundColor="#ffffff";
   88.75 +   }
   88.76 +if(viewMode=='preview')
   88.77 + {
   88.78 +  if(proporCanvas==proporImage)
   88.79 +   {
   88.80 +      this.container.style.width =wFront+'px';
   88.81 +      this.container.style.height =hFront+'px';
   88.82 +      this.container.style.left =0+'px' 
   88.83 +      this.container.style.top =0+'px' 
   88.84 +      canvasLeft = 0;
   88.85 +   canvasTop = 0; 
   88.86 +   canvasWidth =wFront ;
   88.87 +   canvasHeight = hFront; 
   88.88 +   zoominit1= 0+' '+0+' '+wFront+' '+hFront;
   88.89 +   zoominit = viewBox;
   88.90 +   zoominit2 = zoominit1;  
   88.91 +  
   88.92 +  
   88.93 +   proporx = 1;
   88.94 +   propory = 1;
   88.95 +   
   88.96 +   }
   88.97 +  if(proporCanvas<proporImage)
   88.98 +   {    
   88.99 +      var proportion= wFront/hFront;  
  88.100 +      //var image_proportion= width/height;
  88.101 +      var image_proportion= w/h;
  88.102 +      var W=hFront*image_proportion; 
  88.103 +      var leftover=(wFront-W)/2;
  88.104 +      
  88.105 +      this.container.style.width =W+'px';
  88.106 +      this.container.style.height =hFront+'px';
  88.107 +      this.container.style.left =leftover+'px' 
  88.108 +      this.container.style.top =0+'px' 
  88.109 +      //alert('Horizontal '+wFront+','+hFront+' '+image_proportion+' '+W+' '+leftover+' ____'+ this.container.style.width)
  88.110 +   canvasLeft = leftover;
  88.111 +   canvasTop = 0; 
  88.112 +   canvasWidth =W ;
  88.113 +   canvasHeight = hFront; 
  88.114 +   zoominit1= viewBox;//leftover+' '+0+' '+W+' '+hFront;
  88.115 +   zoominit1=0+' '+0+' '+W+' '+hFront;    
  88.116 +   zoominit = viewBox;
  88.117 +   zoominit2 = zoominit1;  
  88.118 +  
  88.119 +  
  88.120 +   proporx = W/w;
  88.121 +   propory = hFront/h;
  88.122 +   
  88.123 + 
  88.124 +    } 
  88.125 +  if(proporCanvas>proporImage)
  88.126 +   {    
  88.127 +      var proportion= hFront/wFront;  
  88.128 +      //var image_proportion= width/height;
  88.129 +      var image_proportion= h/w;
  88.130 +      var H=wFront*image_proportion; 
  88.131 +      var leftover=(hFront-H)/2;
  88.132 +      
  88.133 +      this.container.style.width =wFront+'px';
  88.134 +      this.container.style.height =H+'px';
  88.135 +      this.container.style.left =0+'px' 
  88.136 +      this.container.style.top =leftover+'px'   
  88.137 +      
  88.138 +   canvasLeft = 0;
  88.139 +   canvasTop = leftover; 
  88.140 +   canvasWidth = wFront;
  88.141 +   canvasHeight = H; 
  88.142 +   //zoominit1 = 0+' '+leftover+' '+wFront+' '+H;
  88.143 +   zoominit1 = 0+' '+0+' '+wFront+' '+H;    
  88.144 +   zoominit = viewBox;
  88.145 +   zoominit2 = viewBox;//zoominit1;  
  88.146 +
  88.147 +   proporx = wFront/w;
  88.148 +   propory = H/h;
  88.149 + 
  88.150 +    }   
  88.151 +     // proporx = width/tokens[2];
  88.152 +     //propory = height/tokens[2];
  88.153 +
  88.154 +
  88.155 +   
  88.156 +  } 
  88.157 +if(viewMode=='canvas')
  88.158 + {
  88.159 +   this.container.style.left = 0 + 'px';   
  88.160 +   this.container.style.top = 0 + 'px';                                 
  88.161 +   this.container.style.width = wFront + 'px';
  88.162 +   this.container.style.height = hFront + 'px';
  88.163 +   
  88.164 +   //  margins 10%    
  88.165 +   var percent=10;
  88.166 +   var percentX = wImage / percent; 
  88.167 +   var percentY = hImage / percent; 
  88.168 +   var cornerNEx = parseFloat(tokens[0])-percentX; 
  88.169 +   var cornerNEy = parseFloat(tokens[1])-percentY;
  88.170 +   var percentRectW=wImage + percentX*2;
  88.171 +   var percentRectH=hImage + percentY*2; 
  88.172 + 
  88.173 +   document.title= initialFile +'     '+wImage+' x '+hImage;
  88.174 +   // ajust proporImage to proporCanvas
  88.175 +  if(proporCanvas==proporImage)
  88.176 +   {  
  88.177 +      cornerNEx = parseFloat(tokens[0])-percentX
  88.178 +      cornerNEy = parseFloat(tokens[1])-percentY  
  88.179 +      var wi=percentRectW;
  88.180 +      var he=percentRectH;//hImage+percentY+addHimage; 
  88.181 +      zoominit=viewBox;
  88.182 +      zoominit1 = (-percentX) +' '+(-percentY)+' '+wi+' '+he;
  88.183 +      proporx =(w*(100-percent*2)/100)/w;
  88.184 +      propory =( h*(100-percent*2)/100)/h; 
  88.185 +      zoominit2=zoominit1; 
  88.186 +      tokensZoom=tokensCanvas;//viewBox.split(' '); ;//zoominit1.split(' '); 
  88.187 +      
  88.188 +   }
  88.189 +
  88.190 +  if(proporCanvas<proporImage)
  88.191 +   {    
  88.192 +        
  88.193 +        // add to hImage
  88.194 +        var newWimage = percentRectW * ((wCanvas * percentRectH) / (hCanvas * percentRectW))  ;//newRectH *
  88.195 +        var diffImages=newWimage-w;
  88.196 +        cornerNEx = parseFloat(tokens[0]) - (diffImages / 2);
  88.197 +        var wi=newWimage;
  88.198 +        var he=percentRectH;//hImage+percentY+addHimage; 
  88.199 +        zoominit=viewBox;
  88.200 +        //zoominit1 = cornerNEx+' '+cornerNEy+' '+wi+' '+he;
  88.201 +      //zoominit1 = (-percentX) +' '+(-percentY)+' '+wi+' '+he;
  88.202 +      proporx =wFront/wi;
  88.203 +      propory = wFront/wi; 
  88.204 +      var invPropor =wi/ wFront; 
  88.205 +     zoominit1 = (proporx*cornerNEx) +' '+(propory*cornerNEy)+' '+wi+' '+he;
  88.206 +      zoominit2=zoominit1; 
  88.207 +      var tZ = (invPropor*cornerNEx) +' '+(invPropor*cornerNEy)+' '+wi+' '+he;
  88.208 +
  88.209 +       
  88.210 +        tokensZoom=tokensCanvas;//tZ.split(' ');//viewBox.split(' '); ;//zoominit1.split(' ');  
  88.211 +     }
  88.212 +  if(proporCanvas>proporImage)
  88.213 +   {    
  88.214 +        // add to hImage
  88.215 +        var newHimage = percentRectH * ((hCanvas * percentRectW) / (wCanvas * percentRectH))  ;//newRectH *
  88.216 +        var diffImages=newHimage-h;
  88.217 +        cornerNEy = parseFloat(tokens[1]) - (diffImages / 2);
  88.218 +        var wi=percentRectW;
  88.219 +        var he=newHimage;//hImage+percentY+addHimage; 
  88.220 +        zoominit=viewBox;                                    
  88.221 +      proporx =wFront/wi;
  88.222 +      propory = wFront/wi; 
  88.223 +     
  88.224 +     zoominit1 = (proporx*cornerNEx) +' '+(propory*cornerNEy)+' '+wi+' '+he;
  88.225 +     zoominit2=zoominit1; 
  88.226 +     tokensZoom=zoominit1.split(' '); 
  88.227 + 
  88.228 +   } 
  88.229 +
  88.230 +
  88.231 +  }
  88.232 +}
  88.233 +
  88.234 +
  88.235 +
  88.236 +VMLRenderer.prototype.zoomFrame = function(zoom){ 
  88.237 +   myOPF.viewBox=zoom;  
  88.238 +   load(myOPF,c);
  88.239 +   document.getElementById("source").value=myOPF.toJSONString();
  88.240 +}
  88.241 +VMLRenderer.prototype.rectDoc = function(viewBox) {
  88.242 +     var tokens2 = zoominit2.split(' ');    
  88.243 +     var tokens = zoominit.split(' ');
  88.244 +  var shape = document.getElementById('rectDoc');
  88.245 +  if (shape) {
  88.246 +    this.remove(shape);
  88.247 +  } 
  88.248 +  var rect=this.container.ownerDocument.createElement('v:rect');
  88.249 +  rect.id='rectDoc';
  88.250 +  rect.style.position = 'absolute';
  88.251 +  rect.style.left =-parseInt(tokens2[0]); 
  88.252 +  rect.style.top = -parseInt(tokens2[1]);
  88.253 +  rect.style.width = parseInt(tokens[2]);
  88.254 +  rect.style.height = parseInt(tokens[3]);
  88.255 +  rect.setAttribute('filled', 'false');
  88.256 +   rect.setAttribute('stroked', 'true'); 
  88.257 +  rect.setAttribute('strokeweight', 2); 
  88.258 +  rect.setAttribute('strokecolor',"#ff0000"); 
  88.259 +   //this.container.appendChild(rect);
  88.260 +   //this.container.insertBefore(rect, this.container.firstChild );
  88.261 +  //alert(docx+' '+docy+' '+docw+' '+doch+' '+viewBox) 
  88.262 +}   
  88.263 +VMLRenderer.prototype.rectCanvas = function(docx,docy,docw,doch,viewBox) {
  88.264 +  
  88.265 +     var tokens = zoominit1.split(' ');    
  88.266 +  var shape = document.getElementById('rectCanvas');
  88.267 +  if (shape) {
  88.268 +    this.remove(shape);
  88.269 +  }
  88.270 +  
  88.271 +  var rect=this.container.ownerDocument.createElement('v:rect');
  88.272 +  rect.id='rectBackground'; 
  88.273 +  rect.style.position = 'absolute';
  88.274 +  rect.style.left = tokens[0] ;
  88.275 +  rect.style.top =tokens[1];
  88.276 +  rect.style.width=tokens[2];
  88.277 +  rect.style.height= tokens[3] ;  
  88.278 +  rect.setAttribute('filled', 'true');
  88.279 +  rect.setAttribute('fillcolor',"#666666"); 
  88.280 +  rect.setAttribute('stroked', 'false');  
  88.281 +  
  88.282 +   this.container.insertBefore(rect, this.container.firstChild );
  88.283 +  
  88.284 +}
  88.285 +
  88.286 +VMLRenderer.prototype.removeAll = function(){
  88.287 +	while (this.container.hasChildNodes()) {
  88.288 +		this.container.removeChild(this.container.firstChild);
  88.289 +	}
  88.290 +}   
  88.291 +
  88.292 +function VMLviewBox(container,left,top,width,height){
  88.293 +  var tokens = zoominit2.split(' ');  
  88.294 +  left *= proporx;
  88.295 +  left = left - parseFloat(tokens[0]);
  88.296 +  top *= propory; 
  88.297 +  top = top - parseFloat(tokens[1]);   
  88.298 +  width *= proporx;
  88.299 +  height *= propory; 
  88.300 +  
  88.301 +  return {"x":parseFloat(Math.round(left)), "y":parseFloat(Math.round(top)), "w":parseFloat(Math.round(width)), "h":parseFloat(Math.round(height))};
  88.302 +}   
  88.303 +function VMLviewBox1(container,left,top,width,height){
  88.304 +  var tokens = zoominit2.split(' ');  
  88.305 +  left *= proporx;
  88.306 +  left = left - parseFloat(tokens[0]);
  88.307 +  top *= propory; 
  88.308 +  top = top - parseFloat(tokens[1]);   
  88.309 +  width *= proporx;
  88.310 +  height *= propory; 
  88.311 +  
  88.312 +  return {"x":parseFloat(Math.round(left)), "y":parseFloat(Math.round(top)), "w":parseFloat(Math.round(width)), "h":parseFloat(Math.round(height))};
  88.313 +}   
  88.314 +
  88.315 +VMLRenderer.prototype.create = function(shape, fillColor, lineColor, fillOpac, lineOpac, lineWidth, left, top, width, height, textMessaje, textSize, textFamily, imageHref, points, transform, parent) {
  88.316 +   var tokens = zoominit2.split(' ');  
  88.317 +
  88.318 +   var zoom=VMLviewBox(this.container,left,top,width,height);
  88.319 +   
  88.320 +   left=zoom.x;  
  88.321 +   top=zoom.y;
  88.322 +   width=zoom.w;
  88.323 +   height=zoom.h;
  88.324 +
  88.325 +   var zoom=VMLviewBox(this.container,left,top,textSize,textSize);
  88.326 +   //if(zoom.w<1){zoom.w=1}    
  88.327 +   if(zoom.y== undefined){left=0}
  88.328 +   if(zoom.x== undefined){top=0} 
  88.329 +   if(zoom.w== undefined){width=0}   
  88.330 +   if(zoom.h== undefined){height=0}
  88.331 +   textSize=zoom.h;  
  88.332 +
  88.333 +   var zoom=VMLviewBox(this.container,left,top,lineWidth*2/3,lineWidth);
  88.334 +   //if(zoom.w<1){zoom.w=1}
  88.335 +   lineWidth=zoom.w;  
  88.336 +   var vml;
  88.337 + var shap=1;
  88.338 +  if (shape == 'rect') { 
  88.339 +  
  88.340 +    vml = this.container.ownerDocument.createElement('v:rect');  
  88.341 +    vml.style.position = 'absolute';
  88.342 +    vml.style.left = left; 
  88.343 +    vml.style.top = top;
  88.344 +    vml.style.width = width;
  88.345 +    vml.style.height = height;
  88.346 +  }
  88.347 +  else if (shape == 'roundrect') {
  88.348 +            vml = this.container.ownerDocument.createElement('v:roundrect'); 
  88.349 +            vml.style.position = 'absolute';
  88.350 +            vml.style.left = left;
  88.351 +            vml.style.top = top;
  88.352 +            vml.style.width = width;    
  88.353 +            vml.style.height = height;
  88.354 +            vml.setAttribute('arcsize', '20%');   
  88.355 +            
  88.356 +  }
  88.357 +  else if (shape == 'ellipse') {
  88.358 +    vml = this.container.ownerDocument.createElement('v:oval');  
  88.359 +    vml.style.left = left;
  88.360 +    vml.style.top = top;
  88.361 +    vml.style.width = width; 
  88.362 +    vml.style.height = height;
  88.363 +    vml.style.position = 'absolute';
  88.364 +  }
  88.365 +  else if (shape == 'line') {  
  88.366 +    
  88.367 +    vml = this.container.ownerDocument.createElement('v:line'); 
  88.368 +    vml.setAttribute('from', left + 'px,' + top + 'px');
  88.369 +    vml.setAttribute('to', (left+width) + 'px,' + (top+height) + 'px');
  88.370 +
  88.371 +  }   
  88.372 +  else if (shape == 'polyline') {
  88.373 +    vml = this.container.ownerDocument.createElement('v:polyline');
  88.374 +    vml.setAttribute("points", points); 
  88.375 +    
  88.376 +  }    
  88.377 +  else if (shape == 'path') 
  88.378 +   {   
  88.379 +    vml = this.container.ownerDocument.createElement('v:shape');  
  88.380 +    var tokens = zoominit1.split(' ');  
  88.381 +    var tokens1 = zoominit1.split(' ');         
  88.382 +    var tokens2 = zoominit2.split(' ');   
  88.383 +    tokens[0]=0;
  88.384 +    tokens[1]=0;
  88.385 +    var path=points;
  88.386 +    path=path.replace(/, /g, ','); 
  88.387 +    path=path.replace(/ ,/g, ',');
  88.388 +    var ps =path.split(" ")
  88.389 +    var pcc = "";
  88.390 +   
  88.391 +    var re = /^[-]?\d*\.?\d*$/; 
  88.392 +    var contArc=0; 
  88.393 +    var isArc=false;
  88.394 +    for(var i = 0; i < ps.length; i++)
  88.395 +    { 
  88.396 +     if(ps[i].indexOf(',')>0){  
  88.397 +      
  88.398 +       var point =ps[i].split(","); 
  88.399 +       var char1=point[0].substring(0,1); 
  88.400 +     
  88.401 +       if (!char1.match(re))        
  88.402 +        { 
  88.403 +           var num0prev= parseFloat(point[0].substring(1));
  88.404 +           var zoom=VMLviewBox(this.container,num0prev*1+(parseInt(tokens2[0])*0),0,parseInt(tokens2[2]),parseInt(tokens2[3]));
  88.405 +           num0=zoom.x;  
  88.406 +   
  88.407 +           var text=char1;
  88.408 +        }else{ 
  88.409 +            var num0prev= parseFloat(point[0]);
  88.410 +            var zoom=VMLviewBox(this.container,num0prev*1+(parseInt(tokens2[0])*0),0,parseInt(tokens2[2]),parseInt(tokens2[3]));
  88.411 +            num0=zoom.x;  
  88.412 +  
  88.413 +        }  
  88.414 +       point[1]= parseFloat(point[1]);  
  88.415 +       var zoom=VMLviewBox(this.container,0,point[1],parseInt(tokens2[2]),parseInt(tokens2[3]));
  88.416 +       point[1]=zoom.y;  
  88.417 +       var cx=num0+parseInt(tokens2[0]); 
  88.418 +       var cy=point[1]+parseInt(tokens2[1]);   
  88.419 +       pcc+=text+cx+','+cy+' ';
  88.420 +     }
  88.421 +      else
  88.422 +     {  
  88.423 +        pcc+=ps[i]+' ';
  88.424 +     }
  88.425 +   
  88.426 +    }
  88.427 +   ////////////////////   
  88.428 +    var thispath=pcc;
  88.429 +    thispath=thispath.replace(/M/g,'m');
  88.430 +    thispath=thispath.replace(/C/g,'c');  
  88.431 +    thispath=thispath.replace(/L/g,'l'); 
  88.432 +    thispath=thispath.replace(/z/g,'x');      
  88.433 +   
  88.434 +   //document.getElementById('source').value=points+'\r\n'+thispath +'\r\n'+'________'+'\r\n'
  88.435 +   var zoom=VMLviewBox(this.container,tokens[0],tokens[1],tokens[2],tokens[3]);
  88.436 +   
  88.437 +    vml.style.position="absolute";  
  88.438 +    vml.style.width= zoom.w+"px";
  88.439 +    vml.style.height=zoom.h+"px";
  88.440 +    vml.style.left=zoom.x+"px";  
  88.441 +    vml.style.top=zoom.y+"px";    
  88.442 +    vml.setAttribute('coordsize', zoom.w+','+zoom.h); 
  88.443 + 
  88.444 +    var path01 = this.container.ownerDocument.createElement('v:path');  
  88.445 +    path01.setAttribute("v", thispath+' e'); 
  88.446 + 
  88.447 + 
  88.448 +    
  88.449 +    vml.appendChild(path01)
  88.450 +    
  88.451 +   }
  88.452 +   
  88.453 +   else if (shape == 'controlpath')
  88.454 +   {
  88.455 +    
  88.456 +    vml = this.container.ownerDocument.createElement('v:shape');  
  88.457 +      vml.style.position="absolute";  
  88.458 +    vml.style.width= 700+"px";
  88.459 +    vml.style.height=500+"px";
  88.460 +    vml.style.left=left+"px";  
  88.461 +    vml.style.top=top+"px";  
  88.462 +    vml.setAttribute('coordsize', '700,500');   
  88.463 +     
  88.464 +    var path01 = this.container.ownerDocument.createElement('v:path');  
  88.465 +    path01.setAttribute('v', 'm '+left+','+top+' c'+(left+1)+','+(top+1)+' e ');  
  88.466 +
  88.467 +     vml.appendChild(path01)
  88.468 +    } 
  88.469 +    else if (shape == 'image') {   
  88.470 +     var data =imageHref;//document.forms[0].option_text_message.value;
  88.471 +     vml = this.container.ownerDocument.createElement('v:image'); 
  88.472 +     vml.setAttribute('src',imageHref);
  88.473 +     vml.style.position="absolute";  
  88.474 +     vml.style.width=width+"px";
  88.475 +     vml.style.height=height+"px";
  88.476 +     vml.style.left=left+"px";  
  88.477 +     vml.style.top=top+"px";  
  88.478 +     vml.style.margin=0+"px";  
  88.479 +     vml.style.padding=0+"px";  
  88.480 +     if (fillColor != ''  || fillColor != 'none') {
  88.481 +       vml.setAttribute('filled', 'false');
  88.482 +       vml.setAttribute('fillcolor', fillColor);
  88.483 +     }
  88.484 +     else {
  88.485 +       vml.setAttribute('filled', 'false');
  88.486 +     }
  88.487 +    vml.setAttribute('strokeweight','0px');// parseFloat(lineWidth)+'px');
  88.488 +   vml.setAttribute('stroked', 'false');  
  88.489 +   vml.setAttribute('strokecolor','#000000');//lineColor);
  88.490 +   
  88.491 +   
  88.492 +    }
  88.493 +    
  88.494 + else if (shape == 'text') 
  88.495 +  {   
  88.496 +   
  88.497 +    var data =textMessaje;
  88.498 +    vml = this.container.ownerDocument.createElement('v:shape');
  88.499 +    vml.style.position="absolute";  
  88.500 +    //vml.setAttribute('coordorigin',left+', '+top);
  88.501 +     //vml.style.coorsize= '';
  88.502 +     coordorigin="0, 0" 
  88.503 +     
  88.504 +     var ts=isNaN(textSize)
  88.505 +     if(ts==true){
  88.506 +     textSize=10;
  88.507 +     }
  88.508 +    vml.style.width= textSize+'px';//tokens[2]+'px'
  88.509 +    vml.style.height=textSize+'px';
  88.510 +    vml.style.left=(left+"px");  
  88.511 +    vml.style.top=(top-(textSize*1/4)+"px");  
  88.512 +    vml.style.margin=0+"px"; 
  88.513 +     vml.style.padding=0+"px";  
  88.514 +     vml.setAttribute('path','m '+0+' '+0+' r '+(textSize*data.length)+' '+0+' e'); 
  88.515 +     var textPathObj = this.container.ownerDocument.createElement("v:textpath");
  88.516 +     textPathObj.setAttribute('string', data); 
  88.517 +      textPathObj.setAttribute('fitshape','false'); 
  88.518 +     textPathObj.setAttribute('trim', 'false'); 
  88.519 +     textPathObj.setAttribute('fitpath', 'false');
  88.520 +     textPathObj.setAttribute('on','true');  
  88.521 +     textPathObj.style.fontFamily=textFamily;  
  88.522 +     textPathObj.style.fontSize=textSize+'px'; 
  88.523 +     textPathObj.setAttribute('vTextKern','true');  
  88.524 +     textPathObj.setAttribute('text-align','center');  
  88.525 +     
  88.526 +      var pathObj = this.container.ownerDocument.createElement("v:path");
  88.527 +     pathObj.setAttribute('textpathok', 'true');  
  88.528 +      vml.appendChild(textPathObj);  
  88.529 +     vml.appendChild(pathObj);  
  88.530 +    
  88.531 +    
  88.532 +  }    
  88.533 +
  88.534 +
  88.535 +    
  88.536 + else if (shape == 'texto') 
  88.537 +  {  
  88.538 +    vml = this.container.ownerDocument.createElement('v:shape');
  88.539 +    vml.style.position="absolute";  
  88.540 +   
  88.541 +     vml.style.coordsize=1000+', '+1000;
  88.542 +    vml.style.width= 1000;
  88.543 +    vml.style.height=1000;
  88.544 +    vml.style.left=left;  
  88.545 +    vml.style.top=top-parseFloat(textSize);  
  88.546 +     
  88.547 +     vml.style.padding=0;  
  88.548 +    var textBox = this.container.ownerDocument.createElement("v:textbox");
  88.549 +     textBox.setAttribute('mso-rotate-with-shape',true)
  88.550 +     var divtext = this.container.ownerDocument.createElement("div");  
  88.551 +     divtext.style.coordorigin=0+', '+(0);      
  88.552 +     divtext.style.margin=0;   
  88.553 +     divtext.style.fontFamily=textFamily; 
  88.554 +     divtext.style.margin=0; 
  88.555 +     divtext.style.padding=0; 
  88.556 +     divtext.style.vRotateLetters=true;
  88.557 +     divtext.style.fontSize=parseFloat(textSize); 
  88.558 +    
  88.559 +     
  88.560 +           
  88.561 +    
  88.562 +
  88.563 +     
  88.564 +    divtext.style.color=fillColor;
  88.565 +     
  88.566 +     
  88.567 +     
  88.568 +     
  88.569 +     
  88.570 +     //divtext.setAttribute('v-rotate-letters','true');
  88.571 +    if(transform.indexOf('rotate')>=0)
  88.572 +    {
  88.573 +     
  88.574 +      myRotate1=transform.split('rotate(');
  88.575 +      myRotate2=myRotate1[1].split(')');  
  88.576 +      myRotate3=myRotate2[0].split(',');  
  88.577 +     
  88.578 +      //divtext.setAttribute('mso-rotate',myRotate3[0]);
  88.579 +      //textBox.style.msoRotate= myRotate3[0];
  88.580 +      //textBox.style.centerX=myRotate3[1]; 
  88.581 +      //textBox.style.centerY=myRotate3[2];
  88.582 +      //vml.style.rotation= myRotate3[0];
  88.583 +      //vml.style.centerX=myRotate3[1]; 
  88.584 +      //vml.style.centerY=myRotate3[2];
  88.585 +        vml.setAttribute('rotation',myRotate3[0]+'Deg'); 
  88.586 +    }        
  88.587 +
  88.588 +     divtext.innerHTML=textMessaje;
  88.589 +     textBox.appendChild(divtext);       
  88.590 +    
  88.591 +     vml.appendChild(textBox);  
  88.592 +    
  88.593 +  } 
  88.594 +    else if (shape == 'defs') {
  88.595 +   var vml; 
  88.596 +   
  88.597 + } 
  88.598 +   
  88.599 +    else if (shape == 'group') {   
  88.600 +    vml = this.container.ownerDocument.createElement('v:group'); 
  88.601 +    vml.style.left=left+"px";  
  88.602 +    vml.style.top=top+"px";  
  88.603 +  }
  88.604 + 
  88.605 +  if(shape == 'zoom' || shape == 'defs') 
  88.606 +  {
  88.607 +        
  88.608 +  }else
  88.609 +  {   
  88.610 +    if(transform.indexOf('rotate')>=0)
  88.611 +    {
  88.612 +      myRotate1=transform.split('rotate(');
  88.613 +      myRotate2=myRotate1[1].split(')');  
  88.614 +      myRotate3=myRotate2[0].split(',');  
  88.615 +     
  88.616 +       vml.style.rotation= myRotate3[0]+'Deg';
  88.617 +       vml.style.centerX=myRotate3[1]; 
  88.618 +       vml.style.centerY=myRotate3[2];
  88.619 +       
  88.620 +    }                                     
  88.621 +       
  88.622 +        if(shape != 'image' )
  88.623 +         {      
  88.624 +            if (lineColor.length == 0){lineColor = 'none';} 
  88.625 +           if (fillColor.length == 0){fillColor = 'none';} 
  88.626 +           (fillColor!=''|| fillColor!=null )?vml.setAttribute('fillcolor', fillColor):vml.setAttribute('filled', 'true');
  88.627 +
  88.628 +                    if (fillColor != ''  || fillColor != 'none' ) 
  88.629 +                    { 
  88.630 +                      vml.setAttribute('filled', 'true'); 
  88.631 +                      vml.setAttribute('fillcolor', fillColor); 
  88.632 +                      
  88.633 +                    }
  88.634 +                     else 
  88.635 +                    {
  88.636 +                      vml.setAttribute('filled', 'false');
  88.637 +                    }
  88.638 +
  88.639 +         
  88.640 +                if(lineWidth==0 || lineWidth=='none' || lineColor== 'none' )    
  88.641 +                {
  88.642 +                  vml.setAttribute('stroked', 'false');  
  88.643 +                }
  88.644 +                 else 
  88.645 +                {  
  88.646 +                  //if(isNaN(lineColor)==false){alert('-'+lineColor+'-');lineColor='#000000';lineWidth=1;}
  88.647 +                  vml.setAttribute('stroked', 'true');
  88.648 +                  vml.setAttribute('strokecolor', lineColor);
  88.649 +                  vml.setAttribute('strokeweight', lineWidth);
  88.650 +                  var stroke = this.container.ownerDocument.createElement('v:stroke'); 
  88.651 +                  stroke.setAttribute("opacity", parseFloat(lineOpac));
  88.652 +                  vml.appendChild(stroke);
  88.653 +                  
  88.654 +                }
  88.655 +
  88.656 +               if (fillOpac != '') 
  88.657 +                { 
  88.658 +                  if (fillOpac == 'none' || fillColor=='none'){fillOpac=0;}
  88.659 +                  var fill = this.container.ownerDocument.createElement('v:fill'); 
  88.660 +                  fill.setAttribute("opacity",parseFloat(fillOpac));  
  88.661 +                  //alert(fillOpac)
  88.662 +                  vml.appendChild(fill);
  88.663 +                }
  88.664 +          }     
  88.665 +  } 
  88.666 +  if(parent==''){   
  88.667 +   if(vml){
  88.668 +   this.container.appendChild(vml);}
  88.669 +  }else{ 
  88.670 +    if(document.getElementById(parent)){ 
  88.671 +     var parentShape = document.getElementById(parent);
  88.672 +     if(vml||vml!=null ){ 
  88.673 +      parentShape.appendChild(vml);
  88.674 +     } 
  88.675 +    } 
  88.676 +  }  
  88.677 +   //var parentDoc = document.getElementById('mydraw');
  88.678 +   //parentDoc.appendChild(vml);
  88.679 +  return vml;
  88.680 +};   
  88.681 +
  88.682 +VMLRenderer.prototype.resize = function(shape, fromX, fromY, toX, toY) {
  88.683 +   var deltaX = toX - fromX;
  88.684 +   var deltaY = toY - fromY;  
  88.685 +  if (shape.tagName == 'rect' ) 
  88.686 +   { 
  88.687 +    
  88.688 + 
  88.689 +      if (deltaX < 0) {
  88.690 +         shape.style.left=toX + 'px';
  88.691 +         shape.style.width=-deltaX + 'px';
  88.692 +       }
  88.693 +        else
  88.694 +       {
  88.695 +         shape.style.width= deltaX + 'px';
  88.696 +       }
  88.697 +  
  88.698 +      if (deltaY < 0) 
  88.699 +       {
  88.700 +        shape.style.top=toY + 'px';
  88.701 +        shape.style.height=-deltaY + 'px';
  88.702 +       }
  88.703 +        else 
  88.704 +       {
  88.705 +        shape.style.height=deltaY + 'px';
  88.706 +       }
  88.707 +    }
  88.708 +}  
  88.709 +VMLRenderer.prototype.duplicate = function(shape) 
  88.710 + {
  88.711 +   var vml;
  88.712 +   vml =shape.cloneNode(false);
  88.713 +   //vml.setAttribute('fillcolor', "#aa00aa");
  88.714 +   vml.setAttribute('filled', "false");
  88.715 +   this.container.appendChild(vml);
  88.716 +  return vml;
  88.717 +  
  88.718 + };
  88.719 +VMLRenderer.prototype.querySelected = function(shape,centerx,centery,width,height)
  88.720 +{ 
  88.721 + var result = true;
  88.722 +  var shapes='names: group, image, rect, path, ellipse, circle, text, line, ';
  88.723 +
  88.724 + //if(shape.getBBox && shape) 
  88.725 +  if( shapes.indexOf(' '+shape.tagName+',')>0)
  88.726 +  {
  88.727 + 
  88.728 +  var box =  this.bounds(shape);
  88.729 + }else
  88.730 + {
  88.731 +  return false;
  88.732 + }
  88.733 + var p1x = box.x;
  88.734 +  if(Math.abs(p1x-centerx)>width){result = false}
  88.735 + 
  88.736 + var p1y = box.y;
  88.737 + if(Math.abs(p1y-centery)>height){result = false}
  88.738 + 
  88.739 + var p2x = box.x+box.width;
  88.740 + if(Math.abs(p2x-centerx)>width){result = false}
  88.741 +
  88.742 + var p2y = box.y;
  88.743 + if(Math.abs(p2y-centery)>height){result = false}
  88.744 + 
  88.745 + var p3x = box.x+box.width;
  88.746 + if(Math.abs(p3x-centerx)>width){result = false}
  88.747 +
  88.748 + var p3y = box.y+box.height;                    
  88.749 + if(Math.abs(p3y-centery)>height){result = false}
  88.750 +  
  88.751 + var p4x = box.x;
  88.752 +if(Math.abs(p4x-centerx)>width){result = false}
  88.753 + 
  88.754 + var p4y = box.y+box.height;
  88.755 + if(Math.abs(p4y-centery)>height){result = false}
  88.756 + 
  88.757 + if(result)
  88.758 +  {
  88.759 +    return { 'in':result, 'cornersx': p1x+','+p2x+','+p3x+','+p4x+',' ,'cornersy': p1y+','+p2y+','+p3y+','+p4y+',' };
  88.760 +  }
  88.761 +   else
  88.762 +  { 
  88.763 +     return { 'in':result } 
  88.764 +  }
  88.765 +//center.distanceFrom(point1);
  88.766 + 
  88.767 +
  88.768 +}
  88.769 +
  88.770 +VMLRenderer.prototype.searchBoxes = function()
  88.771 +{  
  88.772 + var base = this.container;
  88.773 +
  88.774 + var  NumNodes = base.childNodes.length;
  88.775 + var chain= '';
  88.776 + for(i = 0;i < NumNodes;i++)
  88.777 +  {       
  88.778 +     if (this.bounds(base.childNodes[i]))
  88.779 +      {
  88.780 +        chain+=base.childNodes[i].id + ';'
  88.781 +      }
  88.782 +  }
  88.783 +  chain+=''
  88.784 +  return chain;
  88.785 +
  88.786 +}  
  88.787 +
  88.788 +VMLRenderer.prototype.DrawBorder= function(numNode, targetElement )
  88.789 +{   
  88.790 +  var shapes='names: group, image, rect, path, ellipse, circle, text, line, ';
  88.791 +
  88.792 + //if(shape.getBBox && shape) 
  88.793 +  if( shapes.indexOf(' '+targetElement.tagName+',')>0)
  88.794 +  {
  88.795 +   var bbox = this.bounds(targetElement);
  88.796 +
  88.797 +   var outline = this.container.ownerDocument.createElement('v:rect');  
  88.798 +   outline.setAttribute('x', bbox.x - 2 );
  88.799 +   outline.setAttribute('y', bbox.y - 2 );
  88.800 +   outline.setAttribute('width',  bbox.width + 4 );
  88.801 +   outline.setAttribute('height', bbox.height + 4 );
  88.802 +   outline.setAttribute('stroke', '#ff00ff' );
  88.803 +   outline.setAttribute('fill', 'none' );
  88.804 +   outline.setAttribute('id', 'shapeBoxed'+numNode );
  88.805 +
  88.806 +   targetElement.parentNode.insertBefore( outline, targetElement );
  88.807 +   return 'shapeBoxed'+numNode; 
  88.808 +  } 
  88.809 +   else 
  88.810 +  {
  88.811 +   return false
  88.812 +  }
  88.813 +}
  88.814 +
  88.815 +
  88.816 +VMLRenderer.prototype.getMarkup = function() { 
  88.817 +      
  88.818 +  //return this.container.parentNode.innerHTML;  
  88.819 +  return this.container.innerHTML;
  88.820 +}
  88.821 +
  88.822 +VMLRenderer.prototype.remove = function(shape) {
  88.823 +  if(shape!=null){ shape.removeNode(true); }
  88.824 +} 
  88.825 +
  88.826 +VMLRenderer.prototype.removeAll = function() {  
  88.827 + while( this.container.hasChildNodes () ){
  88.828 +   this.container.removeChild( this.container.firstChild );
  88.829 +   //this.container.removeNode( this.container.firstChild );
  88.830 + } 
  88.831 +}
  88.832 +
  88.833 +VMLRenderer.prototype.editCommand = function(shape, cmd, value)
  88.834 +{
  88.835 +  if (shape != null) {
  88.836 +    if (cmd == 'fillcolor') {
  88.837 +      if (value == '' || value =='none')
  88.838 +        shape.style.fill='none';
  88.839 +      else
  88.840 +        shape.style.fill=value;
  88.841 +    }
  88.842 +    else if (cmd == 'linecolor') {
  88.843 +      if (value != '')
  88.844 +        shape.style.stroke=value;
  88.845 +      else
  88.846 +        shape.style.stroke='none';
  88.847 +    }
  88.848 +    else if (cmd == 'linewidth') { 
  88.849 +      if( value=='none' || value=='')
  88.850 +       {
  88.851 +        shape.style.strokeWidth=0;
  88.852 +       }else{
  88.853 +        shape.style.strokeWidth=parseInt(value) + 'px';
  88.854 +       } 
  88.855 +    } 
  88.856 +    else if (cmd == 'fillopacity') {
  88.857 +           if(shape.tagName=='image')
  88.858 +            {
  88.859 +             shape.style.opacity=parseFloat(value);
  88.860 +            }
  88.861 +             else
  88.862 +            {
  88.863 +                shape.style.fillOpacity=parseFloat(value);
  88.864 +            }    
  88.865 +      
  88.866 +    }
  88.867 +    else if (cmd == 'lineopacity') {         
  88.868 +      
  88.869 +      shape.style.strokeOpacity=parseFloat(value);
  88.870 +      
  88.871 +    }
  88.872 +    else if (cmd == 'filter') 
  88.873 +     {
  88.874 +       if (value != '')
  88.875 +        {                
  88.876 +        //shape.style.setProperty("filter", value) ;
  88.877 +         shape.style.filter=value;
  88.878 +         //alert(value)
  88.879 +        }
  88.880 +     }  
  88.881 +    else if (cmd == 'textContent') 
  88.882 +     {
  88.883 +       if (value != '')
  88.884 +        {                
  88.885 +         shape.textContent=value;
  88.886 +        }
  88.887 +     }   
  88.888 +     else if (cmd == 'textSize') 
  88.889 +     {
  88.890 +       if (value != '')
  88.891 +        {                
  88.892 +          shape.style.fontSize=parseFloat(eval(value));
  88.893 +        }
  88.894 +     }
  88.895 +     else if (cmd == 'textFamily') 
  88.896 +     {
  88.897 +       if (value != '')
  88.898 +        {                
  88.899 +          shape.style.fontFamily=value;
  88.900 +        }
  88.901 +     } 
  88.902 +    else if (cmd == 'textSpacing') 
  88.903 +     {
  88.904 +       if (value != '')
  88.905 +        {                
  88.906 +          shape.style.letterSpacing=''+value+'em';
  88.907 +          //alert(value) //bad letter-spacing word-spacing
  88.908 +        }
  88.909 +     } 
  88.910 +    else if (cmd == 'textLength') 
  88.911 +     {
  88.912 +       if (value != '')
  88.913 +        {                
  88.914 +          //shape.style.=''+value+'';
  88.915 +          shape.style.lengthAdjust='spacing';//spacing spacingAndGlyphs
  88.916 +          //alert(value) //bad textLength
  88.917 +        }
  88.918 +     } 
  88.919 +     
  88.920 +     
  88.921 +    else if (cmd == 'textAnchor') 
  88.922 +     {
  88.923 +       if (value != '')
  88.924 +        {                
  88.925 +          shape.style.textAnchor=value;
  88.926 +        }
  88.927 +     }
  88.928 +    else if (cmd == 'textWeight') 
  88.929 +     {
  88.930 +       if (value != '')
  88.931 +        {                
  88.932 +          shape.style.fontWeight=value;
  88.933 +        }
  88.934 +     }  
  88.935 +    else if (cmd == 'textStyle') 
  88.936 +     {
  88.937 +       if (value != '')
  88.938 +        {                
  88.939 +          shape.style.fontStyle=value;
  88.940 +        }
  88.941 +     }
  88.942 +    else if (cmd == 'textDecoration') 
  88.943 +     {
  88.944 +       if (value != '')
  88.945 +        {                
  88.946 +          shape.style.textDecoration=value;
  88.947 +        }  
  88.948 +          //alert(value) //bad  textDecoration
  88.949 +     }                  
  88.950 +    else if (cmd == 'textMode') 
  88.951 +     {
  88.952 +       if (value != '')
  88.953 +        {                
  88.954 +          shape.style.writingMode=value;
  88.955 +        }
  88.956 +     } 
  88.957 +    else if (cmd == 'textDirection') 
  88.958 +     {
  88.959 +       if (value != '')
  88.960 +        {                
  88.961 +          shape.style.direction=value;
  88.962 +        }
  88.963 +     }  
  88.964 +    else if (cmd == 'textOrientation') 
  88.965 +     {
  88.966 +       if (value != '')
  88.967 +        {                
  88.968 +          shape.style.glyphOrientationVertical=value;
  88.969 +        }
  88.970 +     } 
  88.971 +    else if (cmd == 'stopcolor') 
  88.972 +     {
  88.973 +       if (value != '')
  88.974 +        {                
  88.975 +          shape.style.stopColor=value;
  88.976 +        }
  88.977 +     } 
  88.978 +    else if (cmd == 'linearGradient') 
  88.979 +     {
  88.980 +       if (value != '')
  88.981 +        { 
  88.982 +          shape.style.x1=value.x1;
  88.983 +          shape.style.y1=value.y1;
  88.984 +          shape.style.x2=value.x2;
  88.985 +          shape.style.y2=value.y2;
  88.986 +        }
  88.987 +     }  
  88.988 +    else if (cmd == 'radialGradient') 
  88.989 +     {
  88.990 +       if (value != '')
  88.991 +        { 
  88.992 +          shape.style.x1=value.x1;
  88.993 +          shape.style.y1=value.y1;
  88.994 +          shape.style.x2=value.x2;
  88.995 +          shape.style.y2=value.y2;
  88.996 +        }
  88.997 +     }  
  88.998 +    else if (cmd == 'leftTop') 
  88.999 +     {
 88.1000 +       if (value != '')
 88.1001 +        { 
 88.1002 +          shape.style.left=parseInt(value.left)+'px';
 88.1003 +          shape.style.top=parseInt(value.top)+'px';
 88.1004 +          
 88.1005 +        }
 88.1006 +     }  
 88.1007 +    else if (cmd == 'cxcy') 
 88.1008 +     {
 88.1009 +       if (value != '')
 88.1010 +        { 
 88.1011 +          shape.style.cx=value.cx;
 88.1012 +          shape.style.cy=value.cy;
 88.1013 +          
 88.1014 +        }
 88.1015 +     }  
 88.1016 + 
 88.1017 +  }
 88.1018 +}
 88.1019 +
 88.1020 +
 88.1021 +VMLRenderer.prototype.queryCommand = function(shape, cmd)
 88.1022 +{
 88.1023 +  var result = '';
 88.1024 +  
 88.1025 +  if (shape != null) {
 88.1026 +    if (cmd == 'fillcolor') {
 88.1027 +      result = shape.style.fill;
 88.1028 +      if (result == 'none')
 88.1029 +        result = '';
 88.1030 +    }
 88.1031 +    else if (cmd == 'linecolor') {
 88.1032 +      result = shape.style.stroke;
 88.1033 +      if (result == 'none')
 88.1034 +        result = '';
 88.1035 +    }
 88.1036 +    else if (cmd == 'linewidth') {
 88.1037 +      result = shape.style.stroke;
 88.1038 +      if (result == 'none')
 88.1039 +        result = '';
 88.1040 +      else
 88.1041 +        result = shape.style.strokeWidth;
 88.1042 +    }
 88.1043 +    else if (cmd == 'fillopacity') {
 88.1044 +           if(shape.tagName=='image')
 88.1045 +            {
 88.1046 +             result= shape.style.opacity;
 88.1047 +            }
 88.1048 +             else
 88.1049 +            {
 88.1050 +             result= shape.style.fillOpacity;
 88.1051 +            }    
 88.1052 +      
 88.1053 +    }
 88.1054 +    else if (cmd == 'lineopacity') {         
 88.1055 +      
 88.1056 +     result= shape.style.strokeOpacity;
 88.1057 +      
 88.1058 +    }
 88.1059 +    else if (cmd == 'text') {         
 88.1060 +         var text1=shape.textContent;
 88.1061 +         var text2=shape.style.fontFamily;
 88.1062 +         var text3=parseInt(shape.style.fontSize);
 88.1063 +      
 88.1064 +      result= {"data":text1,"family":text2,"size":text3};
 88.1065 +      
 88.1066 +    } 
 88.1067 +    else if (cmd == 'points') {         
 88.1068 +         result=shape.style,d;
 88.1069 +      
 88.1070 +    }    
 88.1071 +    else if (cmd == 'stopcolor') {         
 88.1072 +         result=shape.style.stopColor
 88.1073 +      
 88.1074 +    }
 88.1075 +    else if (cmd == 'box') {         
 88.1076 +      result= this.bounds(shape);
 88.1077 +      
 88.1078 +    }
 88.1079 +    else if (cmd == 'linearGradient') {         
 88.1080 +         var x1=shape.style.x1;
 88.1081 +         var y1=shape.style.y1;
 88.1082 +         var x2=shape.style.x2;
 88.1083 +         var y2=shape.style.y2;
 88.1084 +      result= {"x1":x1,"y1":y1,"x2":x2,"y2":y2};
 88.1085 +      
 88.1086 +    }
 88.1087 + 
 88.1088 + 
 88.1089 +  }
 88.1090 +  
 88.1091 +  return result;
 88.1092 +} 
 88.1093 +
 88.1094 + VMLRenderer.prototype.showTracker01 = function(shape) {
 88.1095 +  var box = this.bounds(shape);
 88.1096 +
 88.1097 +  var tracker = document.getElementById('tracker');
 88.1098 +  if (tracker) {
 88.1099 +    this.remove(tracker);
 88.1100 +  }
 88.1101 +
 88.1102 +  tracker = this.container.ownerDocument.createElement('v:rect');
 88.1103 +  tracker.id = 'tracker';
 88.1104 +  tracker.style.position = 'absolute';
 88.1105 +  tracker.style.left = box.x - 10;
 88.1106 +  tracker.style.top = box.y - 10;
 88.1107 +  tracker.style.width = box.width + 20;
 88.1108 +  tracker.style.height = box.height + 20;
 88.1109 +  tracker.setAttribute('filled', 'false');
 88.1110 +  tracker.setAttribute('stroked', 'true');
 88.1111 +  tracker.setAttribute('strokecolor', 'blue');
 88.1112 +  tracker.setAttribute('strokeweight', '1px');
 88.1113 +  this.container.appendChild(tracker);
 88.1114 +}
 88.1115 +
 88.1116 +
 88.1117 +VMLRenderer.prototype.showTracker = function(shape) {
 88.1118 +  var box = this.bounds(shape);  
 88.1119 +   //alert(box.width+' '+shape.id)
 88.1120 +  var trshape = parseFloat(shape.getAttribute('rotation'));  
 88.1121 +  var tracker = document.getElementById('tracker');
 88.1122 +
 88.1123 +  if (tracker) {
 88.1124 +    this.remove(tracker);
 88.1125 +  }
 88.1126 +  
 88.1127 +  if (shape.tagName == 'shape') 
 88.1128 +   { 
 88.1129 +      shap=2; 
 88.1130 +      if(shape.children[0].tagName == 'path') 
 88.1131 +       {
 88.1132 +      
 88.1133 +            /* $('option_path_trx').value= box.x;  
 88.1134 +             $('option_path_try').value= box.y;
 88.1135 +             $('option_path_sclx').value= box.width;   
 88.1136 +             $('option_path_scly').value= box.height; 
 88.1137 +             $('option_path_rot').value= shape.style.rotation;
 88.1138 +             */  
 88.1139 +             //var path=shape.children[0].getAttribute('v');
 88.1140 +             // $('control_codebase').value=path;
 88.1141 +       }        
 88.1142 +   }     
 88.1143 +  if (shape.tagName == 'rect') { 
 88.1144 +   /*  
 88.1145 +     $('option_rect_rot').value= shape.getAttribute('rotation');
 88.1146 +     $('option_rect_trx').value= box.x;  
 88.1147 +     $('option_rect_try').value= box.y;
 88.1148 +     $('option_rect_sclx').value= box.width;  
 88.1149 +     $('option_rect_scly').value= box.height;
 88.1150 +     */
 88.1151 +  }  
 88.1152 +
 88.1153 +  if (shape.tagName == 'image'){
 88.1154 +  /*  $('option_img_trx').value= box.x; 
 88.1155 +    $('option_img_try').value= box.y;
 88.1156 +    $('option_img_sclx').value= box.width;  
 88.1157 +    $('option_img_scly').value= box.height;
 88.1158 +    $('option_img_rot').value= T.b* (Math.PI * 2 / 360);   
 88.1159 +      */
 88.1160 +  }
 88.1161 +  if (shape.tagName == 'text'){
 88.1162 +   /* f$('option_text_trx').value= box.x; 
 88.1163 +    $('option_text_try').value= box.y;
 88.1164 +    $('option_text_sclx').value= box.width;  
 88.1165 +    $('option_text_scly').value= box.height;
 88.1166 +    $('option_text_rot').value= T.b* (Math.PI * 2 / 360);
 88.1167 +   */
 88.1168 +  }
 88.1169 +  if (shape.tagName == 'line'){ 
 88.1170 +    /*
 88.1171 +    $('option_line_trx').value= box.x;  
 88.1172 +    $('option_line_try').value= box.y;
 88.1173 +    */
 88.1174 +  }   
 88.1175 +  if (shape.tagName == 'oval'){  
 88.1176 +    /*$('option_ellipse_trx').value= putx;  
 88.1177 +    $('option_ellipse_try').value= puty;
 88.1178 +    $('option_ellipse_sclx').value= box.width;  
 88.1179 +    $('option_ellipse_scly').value= box.height;
 88.1180 +    $('option_ellipse_rot').value= T.b* (Math.PI * 2 / 360);
 88.1181 +    */
 88.1182 +  }
 88.1183 +  
 88.1184 +  
 88.1185 +  
 88.1186 + /*var matrix = shape.getScreenCTM();
 88.1187 +  var trshape= shape.getAttribute('transform');  
 88.1188 +  var shap=1;
 88.1189 +  if (shape.tagName == 'path') { shap=2; 
 88.1190 +        
 88.1191 +        
 88.1192 +        
 88.1193 +  }
 88.1194 +  */  
 88.1195 +  //if (shape.getAttribute('transform') ) { shap=2; } 
 88.1196 +  //var svgNamespace = 'http://www.w3.org/2000/svg';
 88.1197 +  
 88.1198 +   tracker = this.container.ownerDocument.createElement('v:group');
 88.1199 +   tracker.id = 'tracker'; 
 88.1200 +  //tracker.setAttribute('rotation',trshape);
 88.1201 +  tracker.setAttribute('coordorigin','0, 0');
 88.1202 +  //tracker.setAttribute('wrapcoords',true);
 88.1203 + 
 88.1204 +   
 88.1205 +  tracker.setAttribute('coordsize',box.width+','+ box.height);
 88.1206 +  tracker.style.position = 'absolute';   
 88.1207 +  tracker.style.left = box.x ;
 88.1208 +  tracker.style.top = box.y;
 88.1209 +  tracker.style.width = box.width ;
 88.1210 +  tracker.style.height = box.height ;
 88.1211 + 
 88.1212 +     
 88.1213 +    ////////////////
 88.1214 +
 88.1215 +                                         
 88.1216 + var corners = [];
 88.1217 +  var point = createPoint(box.x, box.y, box.width, box.height);
 88.1218 + //point = {x:box.x, y:box.y, width: box.width, height:box.height};
 88.1219 +//point = createPoint(box.x, box.y, box.width, box.height);    
 88.1220 +  //1
 88.1221 +  corners.push( createPoint(box.x + box.width, box.y, box.width, box.height) );
 88.1222 +  point.x = box.x + box.width;
 88.1223 +  point.y = box.y;
 88.1224 +  //2
 88.1225 +  corners.push( createPoint(box.x + box.width, box.y + box.height, box.width, box.height) );
 88.1226 +  point.x = box.x + box.width;
 88.1227 +  point.y = box.y + box.height;
 88.1228 +  //3
 88.1229 +  //corners.push( point.matrixTransform(matrix) );
 88.1230 +  corners.push( createPoint(box.x , box.y + box.height, box.width, box.height) );
 88.1231 +  point.x = box.x;
 88.1232 +  point.y = box.y + box.height;
 88.1233 +  //4
 88.1234 +  corners.push( createPoint(box.x + box.width, box.y, box.width, box.height) );   
 88.1235 +  
 88.1236 +  var max = createPoint(corners[0].x, corners[0].y);
 88.1237 +  var min = createPoint(corners[0].x, corners[0].y);
 88.1238 +  
 88.1239 +  for (var i = 1; i < corners.length; i++) {
 88.1240 +    var x = corners[i].x;
 88.1241 +    var y = corners[i].y;
 88.1242 +    if (x < min.x) {
 88.1243 +      min.x = x;
 88.1244 +    }
 88.1245 +    else if (x > max.x) {
 88.1246 +      max.x = x;
 88.1247 +    }
 88.1248 +    if (y < min.y) {
 88.1249 +      min.y = y;
 88.1250 +    }
 88.1251 +    else if (y > max.y) {
 88.1252 +      max.y = y;
 88.1253 +    }
 88.1254 +  } 
 88.1255 +      
 88.1256 +      
 88.1257 + var border_square = this.container.ownerDocument.createElement('v:rect');
 88.1258 +  
 88.1259 +  border_square.style.position = 'relative';
 88.1260 +  border_square.style.left = 0 - 10;
 88.1261 +  border_square.style.top = 0 - 10;
 88.1262 +  border_square.style.width = box.width + 20;
 88.1263 +  border_square.style.height = box.height + 20;
 88.1264 +  border_square.setAttribute('filled', 'false');
 88.1265 +  border_square.setAttribute('stroked', 'true');
 88.1266 +  border_square.setAttribute('strokecolor', 'blue');
 88.1267 +  border_square.setAttribute('strokeweight', '1px');  
 88.1268 +  
 88.1269 +  
 88.1270 +  var border_angle = this.container.ownerDocument.createElement('v:polyline');  
 88.1271 +  border_angle.style.position = 'relative';
 88.1272 + 
 88.1273 +  border_angle.setAttribute('filled', 'false');
 88.1274 +  border_angle.setAttribute('stroked', 'true');
 88.1275 +  border_angle.setAttribute('strokecolor', 'blue');
 88.1276 +  border_angle.setAttribute('strokeweight', '1px'); 
 88.1277 +  border_angle.setAttribute("points", (box.width+10)+","+((box.height/2))+", "+(box.width+10+25)+","+((box.height/2)) );
 88.1278 +                  
 88.1279 +
 88.1280 +     var circle1 = this.container.ownerDocument.createElement('v:oval'); 
 88.1281 +      circle1.style.position = 'relative'; 
 88.1282 +        circle1.style.left = ( (box.width+40)-5);
 88.1283 +    circle1.style.top = ( (box.height / 2) -5);
 88.1284 +    circle1.style.width = (10);
 88.1285 +    circle1.style.height = (10);
 88.1286 +    circle1.setAttribute('filled', 'true');
 88.1287 +   circle1.setAttribute('stroked', 'true'); 
 88.1288 +   circle1.setAttribute('fillcolor', '#ffffff');
 88.1289 +   circle1.setAttribute('strokecolor', 'green');
 88.1290 +   circle1.setAttribute('strokeweight', '1px');
 88.1291 +
 88.1292 +   
 88.1293 +  var rect1 = this.container.ownerDocument.createElement('v:rect');
 88.1294 +  rect1.style.position = 'relative';
 88.1295 +  rect1.style.left =  - 10-5;
 88.1296 +  rect1.style.top =  - 10-5;
 88.1297 +  rect1.style.width = 10;
 88.1298 +  rect1.style.height = 10;
 88.1299 +  rect1.setAttribute('filled', 'true');
 88.1300 +  rect1.setAttribute('stroked', 'true'); 
 88.1301 +  rect1.setAttribute('fillcolor', '#ffffff');
 88.1302 +  rect1.setAttribute('strokecolor', 'green');
 88.1303 +  rect1.setAttribute('strokeweight', '1px');
 88.1304 +
 88.1305 +    
 88.1306 +  var rect2 = this.container.ownerDocument.createElement('v:rect');
 88.1307 +  rect2.style.position = 'relative';
 88.1308 +  rect2.style.left =   box.width +5;
 88.1309 +  rect2.style.top = -10 -5;
 88.1310 +  rect2.style.width = 10;
 88.1311 +  rect2.style.height = 10;
 88.1312 +  rect2.setAttribute('filled', 'true');
 88.1313 +  rect2.setAttribute('stroked', 'true'); 
 88.1314 +  rect2.setAttribute('fillcolor', '#ffffff');
 88.1315 +  rect2.setAttribute('strokecolor', 'green');
 88.1316 +  rect2.setAttribute('strokeweight', '1px');
 88.1317 +
 88.1318 +                                                        
 88.1319 +  var rect3 = this.container.ownerDocument.createElement('v:rect');
 88.1320 +  rect3.style.position = 'relative';
 88.1321 +  rect3.style.left =   box.width+5;
 88.1322 +  rect3.style.top =  box.height+5;
 88.1323 +  rect3.style.width = 10;
 88.1324 +  rect3.style.height = 10;
 88.1325 +  rect3.setAttribute('filled', 'true');
 88.1326 +  rect3.setAttribute('stroked', 'true'); 
 88.1327 +  rect3.setAttribute('fillcolor', '#ffffff');
 88.1328 +  rect3.setAttribute('strokecolor', 'green');
 88.1329 +  rect3.setAttribute('strokeweight', '1px');
 88.1330 +   
 88.1331 +  var rect4 = this.container.ownerDocument.createElement('v:rect');
 88.1332 +  rect4.style.position = 'relative';
 88.1333 +  rect4.style.left =  -10-5;
 88.1334 +  rect4.style.top = box.height+5;
 88.1335 +  rect4.style.width = 10;
 88.1336 +  rect4.style.height = 10;
 88.1337 +  rect4.setAttribute('filled', 'true');
 88.1338 +  rect4.setAttribute('stroked', 'true'); 
 88.1339 +  rect4.setAttribute('fillcolor', '#ffffff');
 88.1340 +  rect4.setAttribute('strokecolor', 'green');
 88.1341 +  rect4.setAttribute('strokeweight', '1px');
 88.1342 + 
 88.1343 + 
 88.1344 + 
 88.1345 +  var rectmid12 = this.container.ownerDocument.createElement('v:rect');
 88.1346 +  rectmid12.style.position = 'relative';
 88.1347 +  rectmid12.style.left = (box.width/2) -5;
 88.1348 +  rectmid12.style.top =- 10-5;
 88.1349 +  rectmid12.style.width = 10;
 88.1350 +  rectmid12.style.height = 10;
 88.1351 +  rectmid12.setAttribute('filled', 'true');
 88.1352 +  rectmid12.setAttribute('stroked', 'true'); 
 88.1353 +  rectmid12.setAttribute('fillcolor', '#ffffff');
 88.1354 +  rectmid12.setAttribute('strokecolor', 'green');
 88.1355 +  rectmid12.setAttribute('strokeweight', '1px');
 88.1356 +
 88.1357 + var rectmid23 = this.container.ownerDocument.createElement('v:rect');
 88.1358 +  rectmid23.style.position = 'relative';
 88.1359 +  rectmid23.style.left = box.width +5;
 88.1360 +  rectmid23.style.top = (box.height/2)-5;
 88.1361 +  rectmid23.style.width = 10;
 88.1362 +  rectmid23.style.height = 10;
 88.1363 +  rectmid23.setAttribute('filled', 'true');
 88.1364 +  rectmid23.setAttribute('stroked', 'true'); 
 88.1365 +  rectmid23.setAttribute('fillcolor', '#ffffff');
 88.1366 +  rectmid23.setAttribute('strokecolor', 'green');
 88.1367 +  rectmid23.setAttribute('strokeweight', '1px');
 88.1368 +
 88.1369 + var rectmid34 = this.container.ownerDocument.createElement('v:rect');
 88.1370 +  rectmid34.style.position = 'relative';
 88.1371 +  rectmid34.style.left = (box.width/2)-5;
 88.1372 +  rectmid34.style.top = box.height+5;
 88.1373 +  rectmid34.style.width = 10;
 88.1374 +  rectmid34.style.height = 10;
 88.1375 +  rectmid34.setAttribute('filled', 'true');
 88.1376 +  rectmid34.setAttribute('stroked', 'true'); 
 88.1377 +  rectmid34.setAttribute('fillcolor', '#ffffff');
 88.1378 +  rectmid34.setAttribute('strokecolor', '#000000');
 88.1379 +  rectmid34.setAttribute('strokeweight', '1px');
 88.1380 +
 88.1381 + 
 88.1382 + var rectmid41 = this.container.ownerDocument.createElement('v:rect');
 88.1383 +  rectmid41.style.position = 'relative';
 88.1384 +  rectmid41.style.left =  -10-5 ;
 88.1385 +  rectmid41.style.top =(box.height/2)-5;
 88.1386 +  rectmid41.style.width = 10;
 88.1387 +  rectmid41.style.height = 10;
 88.1388 +  rectmid41.setAttribute('filled', 'true');
 88.1389 +  rectmid41.setAttribute('stroked', 'true'); 
 88.1390 +  rectmid41.setAttribute('fillcolor', '#ffffff');
 88.1391 +  rectmid41.setAttribute('strokecolor', 'green');
 88.1392 +  rectmid41.setAttribute('strokeweight', '1px');
 88.1393 +  
 88.1394 +       
 88.1395 +  
 88.1396 +
 88.1397 +     var colorin="#ff0000";
 88.1398 +      var colorout="#ffffff" 
 88.1399 +    
 88.1400 +        circle1.attachEvent("onmouseover", function(event) {circle1.style.cursor= 's-resize';  circle1.setAttribute('fillcolor', colorin ); typeTransform='Rotate'; scaleType='nw'; }, false);
 88.1401 +     circle1.attachEvent("onmouseout", function(event) {circle1.style.cursor= 'default';  circle1.setAttribute('fillcolor', colorout ); typeTransform='Rotate'; }, false); //typeTransform='rotate'
 88.1402 +     
 88.1403 +      
 88.1404 +     rect1.attachEvent("onmouseover", function(event) {rect1.style.cursor= 'nw-resize';  rect1.setAttribute('fillcolor', colorin ); typeTransform='Scale'; scaleType='nw';  }, false);
 88.1405 +     rect1.attachEvent("onmouseout", function(event) {rect1.style.cursor= 'default';  rect1.setAttribute('fillcolor', colorout ); typeTransform='Scale';  }, false); //typeTransform='rotate'
 88.1406 +    
 88.1407 +     rect2.attachEvent("onmouseover", function(event) {rect2.style.cursor= 'ne-resize';  rect2.setAttribute('fillcolor', colorin ); typeTransform='Scale'; scaleType='ne';}, false);  
 88.1408 +     rect2.attachEvent("onmouseout", function(event) {rect2.style.cursor= 'default';  rect2.setAttribute('fillcolor', colorout ); typeTransform='Scale'; }, false);
 88.1409 +      
 88.1410 +     rect3.attachEvent("onmouseover", function(event) {rect3.style.cursor= 'se-resize';  rect3.setAttribute('fillcolor', colorin ); typeTransform='Scale'; scaleType='se';}, false);  
 88.1411 +     rect3.attachEvent("onmouseout", function(event) {rect3.style.cursor= 'default';  rect3.setAttribute('fillcolor', colorout ); typeTransform='Scale'; }, false);
 88.1412 +     
 88.1413 +     rect4.attachEvent("onmouseover", function(event) {rect4.style.cursor= 'sw-resize';  rect4.setAttribute('fillcolor', colorin ); typeTransform='Scale'; scaleType='sw';}, false);  
 88.1414 +     rect4.attachEvent("onmouseout", function(event) {rect4.style.cursor= 'default';  rect4.setAttribute('fillcolor', colorout ); typeTransform='Scale'; }, false);
 88.1415 +                                                    
 88.1416 +     rectmid12.attachEvent("onmouseover", function(event) {rectmid12.style.cursor= 'n-resize';  rectmid12.setAttribute('fillcolor', colorin ); typeTransform='Scale'; scaleType='n';}, false);  
 88.1417 +     rectmid12.attachEvent("onmouseout", function(event) {rectmid12.style.cursor= 'default';  rectmid12.setAttribute('fillcolor', colorout ); typeTransform=''; }, false); 
 88.1418 +
 88.1419 +     rectmid23.attachEvent("onmouseover", function(event) {rectmid23.style.cursor= 'e-resize';  rectmid23.setAttribute('fillcolor', colorin ); typeTransform='Scale'; scaleType='e';}, false);  
 88.1420 +     rectmid23.attachEvent("onmouseout", function(event) {rectmid23.style.cursor= 'default';  rectmid23.setAttribute('fillcolor', colorout ); typeTransform=''; }, false); 
 88.1421 +     
 88.1422 +     rectmid34.attachEvent("onmouseover", function(event) {rectmid34.style.cursor= 's-resize';  rectmid34.setAttribute('fillcolor', colorin ); typeTransform='Scale'; scaleType='s';}, false);  
 88.1423 +     rectmid34.attachEvent("onmouseout", function(event) {rectmid34.style.cursor= 'default';  rectmid34.setAttribute('fillcolor', colorout ); typeTransform=''; }, false); 
 88.1424 +
 88.1425 +     rectmid41.attachEvent("onmouseover", function(event) {rectmid41.style.cursor= 'w-resize';  rectmid41.setAttribute('fillcolor', colorin ); typeTransform='Scale'; scaleType='w'; }, false);  
 88.1426 +     rectmid41.attachEvent("onmouseout", function(event) {rectmid41.style.cursor= 'default';  rectmid41.setAttribute('fillcolor', colorout ); typeTransform=''; }, false); 
 88.1427 +   //tracker.setAttribute('transform',trshape); 
 88.1428 + 
 88.1429 +   
 88.1430 +  
 88.1431 +  tracker.appendChild(border_square); 
 88.1432 +  tracker.appendChild(border_angle);  
 88.1433 +   
 88.1434 +  tracker.appendChild(circle1);  
 88.1435 +  
 88.1436 +  tracker.appendChild(rect1);    
 88.1437 +  tracker.appendChild(rect2);   
 88.1438 +  tracker.appendChild(rect3); 
 88.1439 +  tracker.appendChild(rect4);    
 88.1440 +  tracker.appendChild(rectmid12);  
 88.1441 +  tracker.appendChild(rectmid23);
 88.1442 +  tracker.appendChild(rectmid34);
 88.1443 +  tracker.appendChild(rectmid41);  
 88.1444 +  
 88.1445 +  /*
 88.1446 +   
 88.1447 +  
 88.1448 + 
 88.1449 +  */
 88.1450 +
 88.1451 +   //alert(shape.id)
 88.1452 +   this.container.appendChild(tracker);
 88.1453 +  
 88.1454 +
 88.1455 +
 88.1456 +}                                      
    89.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    89.2 +++ b/onlypaths/js/vmlrendererPrev.js	Sun Jan 31 12:33:33 2010 -0500
    89.3 @@ -0,0 +1,2583 @@
    89.4 +/*----------------------------------------------------------------------------
    89.5 + VMLRENDERER 1.0
    89.6 + VML Renderer For RichDraw
    89.7 + -----------------------------------------------------------------------------
    89.8 + Created by Mark Finkle (mark.finkle@gmail.com)
    89.9 + Implementation of VML based renderer.
   89.10 + -----------------------------------------------------------------------------
   89.11 + Copyright (c) 2006 Mark Finkle
   89.12 +
   89.13 + This program is  free software;  you can redistribute  it and/or  modify it
   89.14 + under the terms of the MIT License.
   89.15 +
   89.16 + Permission  is hereby granted,  free of charge, to  any person  obtaining a
   89.17 + copy of this software and associated documentation files (the "Software"),
   89.18 + to deal in the  Software without restriction,  including without limitation
   89.19 + the  rights to use, copy, modify,  merge, publish, distribute,  sublicense,
   89.20 + and/or  sell copies  of the  Software, and to  permit persons to  whom  the
   89.21 + Software is  furnished  to do  so, subject  to  the  following  conditions:
   89.22 + The above copyright notice and this  permission notice shall be included in
   89.23 + all copies or substantial portions of the Software.
   89.24 +
   89.25 + THE SOFTWARE IS PROVIDED "AS IS",  WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
   89.26 + IMPLIED,  INCLUDING BUT NOT LIMITED TO  THE WARRANTIES  OF MERCHANTABILITY,
   89.27 + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
   89.28 + AUTHORS OR  COPYRIGHT  HOLDERS BE  LIABLE FOR  ANY CLAIM,  DAMAGES OR OTHER
   89.29 + LIABILITY, WHETHER  IN AN  ACTION OF CONTRACT, TORT OR  OTHERWISE,  ARISING
   89.30 + FROM,  OUT OF OR  IN  CONNECTION  WITH  THE  SOFTWARE OR THE  USE OR  OTHER
   89.31 + DEALINGS IN THE SOFTWARE.
   89.32 + -----------------------------------------------------------------------------
   89.33 + Dependencies:
   89.34 + History:
   89.35 + 2006-04-05 | Created
   89.36 + --------------------------------------------------------------------------*/
   89.37 +
   89.38 +
   89.39 +
   89.40 +function VMLRenderer() {
   89.41 +	this.base = AbstractRenderer;
   89.42 +}
   89.43 +
   89.44 +
   89.45 +VMLRenderer.prototype = new AbstractRenderer;
   89.46 +
   89.47 +
   89.48 +VMLRenderer.prototype.init = function(elem) 
   89.49 + {
   89.50 +  this.container = elem;
   89.51 +  // this.container.style.overflow = 'hidden';
   89.52 +  this.container.unselectable = "on";
   89.53 +  // Add VML includes and namespace
   89.54 +  elem.ownerDocument.namespaces.add("v", "urn:schemas-microsoft-com:vml");
   89.55 +  var style = elem.ownerDocument.createStyleSheet();
   89.56 +  style.addRule('v\\:*', "behavior: url(#default#VML); display:inline-block");
   89.57 +  //NOT VML biewBox
   89.58 +  //http://blogs.msdn.com/ie/archive/2008/03/18/webbrowser-control-rendering-modes-in-ie8.aspx 
   89.59 + } 
   89.60 + 
   89.61 +var proporx=1;
   89.62 +var propory=1;
   89.63 +
   89.64 +VMLRenderer.prototype.view = function(left,top,width,height,viewBox,bgcolor) {
   89.65 +  var tokens = viewBox.split(' '); 
   89.66 +       
   89.67 +  var margin=100; 
   89.68 +  var wFront=parseInt(document.getElementById('FRONT').style.width)
   89.69 +  var hFront=parseInt(document.getElementById('FRONT').style.height)
   89.70 +  var tC=0 + ' ' + 0 + ' ' + wFront + ' ' + hFront;
   89.71 +  tokensCanvas= tC.split(' '); 
   89.72 +
   89.73 +  var w=parseFloat(tokens[2]);
   89.74 +  var h=parseFloat(tokens[3]); 
   89.75 +  var wImage = w - parseFloat(tokens[0]);  
   89.76 +  var hImage = h - parseFloat(tokens[1]);
   89.77 +  var wCanvas = wFront;
   89.78 +  var hCanvas = hFront;
   89.79 +  proporImage = hImage / wImage; 
   89.80 +  proporCanvas = hCanvas / wCanvas; 
   89.81 +
   89.82 +  document.title= initialFile +'     '+wImage+' x '+hImage;
   89.83 +
   89.84 +
   89.85 +  if(bgcolor != '')
   89.86 +   {
   89.87 +    this.container.style.backgroundColor=bgcolor;
   89.88 +   } else{
   89.89 +    this.container.style.backgroundColor="#ffffff";
   89.90 +   }
   89.91 +if(viewMode=='preview')
   89.92 + {
   89.93 +  if(proporCanvas==proporImage)
   89.94 +   {
   89.95 +      this.container.style.width =wFront+'px';
   89.96 +      this.container.style.height =hFront+'px';
   89.97 +      this.container.style.left =0+'px' 
   89.98 +      this.container.style.top =0+'px' 
   89.99 +      canvasLeft = 0;
  89.100 +   canvasTop = 0; 
  89.101 +   canvasWidth =wFront ;
  89.102 +   canvasHeight = hFront; 
  89.103 +   zoominit1= 0+' '+0+' '+wFront+' '+hFront;
  89.104 +   zoominit = viewBox;
  89.105 +   zoominit2 = zoominit1;  
  89.106 +  
  89.107 +  
  89.108 +   proporx = 1;
  89.109 +   propory = 1;
  89.110 +   
  89.111 +   }
  89.112 +  if(proporCanvas<proporImage)
  89.113 +   {    
  89.114 +      var proportion= wFront/hFront;  
  89.115 +      //var image_proportion= width/height;
  89.116 +      var image_proportion= w/h;
  89.117 +      var W=hFront*image_proportion; 
  89.118 +      var leftover=(wFront-W)/2;
  89.119 +      
  89.120 +      this.container.style.width =W+'px';
  89.121 +      this.container.style.height =hFront+'px';
  89.122 +      this.container.style.left =leftover+'px' 
  89.123 +      this.container.style.top =0+'px' 
  89.124 +      //alert('Horizontal '+wFront+','+hFront+' '+image_proportion+' '+W+' '+leftover+' ____'+ this.container.style.width)
  89.125 +   canvasLeft = leftover;
  89.126 +   canvasTop = 0; 
  89.127 +   canvasWidth =W ;
  89.128 +   canvasHeight = hFront; 
  89.129 +   zoominit1= viewBox;//leftover+' '+0+' '+W+' '+hFront;
  89.130 +   zoominit1=0+' '+0+' '+W+' '+hFront;    
  89.131 +   zoominit = viewBox;
  89.132 +   zoominit2 = zoominit1;  
  89.133 +  
  89.134 +  
  89.135 +   proporx = W/w;
  89.136 +   propory = hFront/h;
  89.137 +   
  89.138 + 
  89.139 +    } 
  89.140 +  if(proporCanvas>proporImage)
  89.141 +   {    
  89.142 +      var proportion= hFront/wFront;  
  89.143 +      //var image_proportion= width/height;
  89.144 +      var image_proportion= h/w;
  89.145 +      var H=wFront*image_proportion; 
  89.146 +      var leftover=(hFront-H)/2;
  89.147 +      
  89.148 +      this.container.style.width =wFront+'px';
  89.149 +      this.container.style.height =H+'px';
  89.150 +      this.container.style.left =0+'px' 
  89.151 +      this.container.style.top =leftover+'px'   
  89.152 +      
  89.153 +   canvasLeft = 0;
  89.154 +   canvasTop = leftover; 
  89.155 +   canvasWidth = wFront;
  89.156 +   canvasHeight = H; 
  89.157 +   //zoominit1 = 0+' '+leftover+' '+wFront+' '+H;
  89.158 +   zoominit1 = 0+' '+0+' '+wFront+' '+H;    
  89.159 +   zoominit = viewBox;
  89.160 +   zoominit2 = viewBox;//zoominit1;  
  89.161 +
  89.162 +   proporx = wFront/w;
  89.163 +   propory = H/h;
  89.164 + 
  89.165 +    }   
  89.166 +     // proporx = width/tokens[2];
  89.167 +     //propory = height/tokens[2];
  89.168 +
  89.169 +
  89.170 +   
  89.171 +  } 
  89.172 +if(viewMode=='canvas')
  89.173 + {
  89.174 +   this.container.style.left = 0 + 'px';   
  89.175 +   this.container.style.top = 0 + 'px';                                 
  89.176 +   this.container.style.width = wFront + 'px';
  89.177 +   this.container.style.height = hFront + 'px';
  89.178 +   
  89.179 +   //  margins 10%    
  89.180 +   var percent=10;
  89.181 +   var percentX = wImage / percent; 
  89.182 +   var percentY = hImage / percent; 
  89.183 +   var cornerNEx = parseFloat(tokens[0])-percentX; 
  89.184 +   var cornerNEy = parseFloat(tokens[1])-percentY;
  89.185 +   var percentRectW=wImage + percentX*2;
  89.186 +   var percentRectH=hImage + percentY*2; 
  89.187 + 
  89.188 +   document.title= initialFile +'     '+wImage+' x '+hImage;
  89.189 +   // ajust proporImage to proporCanvas
  89.190 +  if(proporCanvas==proporImage)
  89.191 +   {  
  89.192 +      cornerNEx = parseFloat(tokens[0])-percentX
  89.193 +      cornerNEy = parseFloat(tokens[1])-percentY  
  89.194 +      var wi=percentRectW;
  89.195 +      var he=percentRectH;//hImage+percentY+addHimage; 
  89.196 +      zoominit=viewBox;
  89.197 +      zoominit1 = (-percentX) +' '+(-percentY)+' '+wi+' '+he;
  89.198 +      proporx =(w*(100-percent*2)/100)/w;
  89.199 +      propory =( h*(100-percent*2)/100)/h; 
  89.200 +      zoominit2=zoominit1; 
  89.201 +      tokensZoom=tokensCanvas;//viewBox.split(' '); ;//zoominit1.split(' '); 
  89.202 +      
  89.203 +   }
  89.204 +
  89.205 +  if(proporCanvas<proporImage)
  89.206 +   {    
  89.207 +        
  89.208 +        // add to hImage
  89.209 +        var newWimage = percentRectW * ((wCanvas * percentRectH) / (hCanvas * percentRectW))  ;//newRectH *
  89.210 +        var diffImages=newWimage-w;
  89.211 +        cornerNEx = parseFloat(tokens[0]) - (diffImages / 2);
  89.212 +        var wi=newWimage;
  89.213 +        var he=percentRectH;//hImage+percentY+addHimage; 
  89.214 +        zoominit=viewBox;
  89.215 +        //zoominit1 = cornerNEx+' '+cornerNEy+' '+wi+' '+he;
  89.216 +      //zoominit1 = (-percentX) +' '+(-percentY)+' '+wi+' '+he;
  89.217 +      proporx =wFront/wi;
  89.218 +      propory = wFront/wi; 
  89.219 +      var invPropor =wi/ wFront; 
  89.220 +     zoominit1 = (proporx*cornerNEx) +' '+(propory*cornerNEy)+' '+wi+' '+he;
  89.221 +      zoominit2=zoominit1; 
  89.222 +      var tZ = (invPropor*cornerNEx) +' '+(invPropor*cornerNEy)+' '+wi+' '+he;
  89.223 +
  89.224 +       
  89.225 +        tokensZoom=tokensCanvas;//tZ.split(' ');//viewBox.split(' '); ;//zoominit1.split(' ');  
  89.226 +     }
  89.227 +  if(proporCanvas>proporImage)
  89.228 +   {    
  89.229 +        // add to hImage
  89.230 +        var newHimage = percentRectH * ((hCanvas * percentRectW) / (wCanvas * percentRectH))  ;//newRectH *
  89.231 +        var diffImages=newHimage-h;
  89.232 +        cornerNEy = parseFloat(tokens[1]) - (diffImages / 2);
  89.233 +        var wi=percentRectW;
  89.234 +        var he=newHimage;//hImage+percentY+addHimage; 
  89.235 +        zoominit=viewBox;                                    
  89.236 +      proporx =wFront/wi;
  89.237 +      propory = wFront/wi; 
  89.238 +     
  89.239 +     zoominit1 = (proporx*cornerNEx) +' '+(propory*cornerNEy)+' '+wi+' '+he;
  89.240 +     zoominit2=zoominit1; 
  89.241 +     tokensZoom=zoominit1.split(' '); 
  89.242 + 
  89.243 +   } 
  89.244 +
  89.245 +
  89.246 +  }
  89.247 +}
  89.248 +
  89.249 +
  89.250 +
  89.251 +VMLRenderer.prototype.zoomFrame = function(zoom){ 
  89.252 +   myOPF.viewBox=zoom;  
  89.253 +   load(myOPF,c);
  89.254 +   document.getElementById("source").value=myOPF.toJSONString();
  89.255 +}
  89.256 +VMLRenderer.prototype.rectDoc = function(viewBox) {
  89.257 +     var tokens2 = zoominit2.split(' ');    
  89.258 +     var tokens = zoominit.split(' ');
  89.259 +  var shape = document.getElementById('rectDoc');
  89.260 +  if (shape) {
  89.261 +    this.remove(shape);
  89.262 +  } 
  89.263 +  var rect=this.container.ownerDocument.createElement('v:rect');
  89.264 +  rect.id='rectDoc';
  89.265 +  rect.style.position = 'absolute';
  89.266 +  rect.style.left =-parseInt(tokens2[0]); 
  89.267 +  rect.style.top = -parseInt(tokens2[1]);
  89.268 +  rect.style.width = parseInt(tokens[2]);
  89.269 +  rect.style.height = parseInt(tokens[3]);
  89.270 +  rect.setAttribute('filled', 'false');
  89.271 +   rect.setAttribute('stroked', 'true'); 
  89.272 +  rect.setAttribute('strokeweight', 2); 
  89.273 +  rect.setAttribute('strokecolor',"#ff0000"); 
  89.274 +   //this.container.appendChild(rect);
  89.275 +   //this.container.insertBefore(rect, this.container.firstChild );
  89.276 +  //alert(docx+' '+docy+' '+docw+' '+doch+' '+viewBox) 
  89.277 +}   
  89.278 +VMLRenderer.prototype.rectCanvas = function(docx,docy,docw,doch,viewBox) {
  89.279 +  
  89.280 +     var tokens = zoominit1.split(' ');    
  89.281 +  var shape = document.getElementById('rectCanvas');
  89.282 +  if (shape) {
  89.283 +    this.remove(shape);
  89.284 +  }
  89.285 +  
  89.286 +  var rect=this.container.ownerDocument.createElement('v:rect');
  89.287 +  rect.id='rectBackground'; 
  89.288 +  rect.style.position = 'absolute';
  89.289 +  rect.style.left = tokens[0] ;
  89.290 +  rect.style.top =tokens[1];
  89.291 +  rect.style.width=tokens[2];
  89.292 +  rect.style.height= tokens[3] ;  
  89.293 +  rect.setAttribute('filled', 'true');
  89.294 +  rect.setAttribute('fillcolor',"#666666"); 
  89.295 +  rect.setAttribute('stroked', 'false');  
  89.296 +  
  89.297 +   this.container.insertBefore(rect, this.container.firstChild );
  89.298 +  
  89.299 +}
  89.300 +
  89.301 +VMLRenderer.prototype.removeAll = function(){
  89.302 +	while (this.container.hasChildNodes()) {
  89.303 +		this.container.removeChild(this.container.firstChild);
  89.304 +	}
  89.305 +}   
  89.306 +
  89.307 +function VMLviewBox(container,left,top,width,height){
  89.308 +  var tokens = zoominit2.split(' ');  
  89.309 +  left *= proporx;
  89.310 +  left = left - parseFloat(tokens[0]);
  89.311 +  top *= propory; 
  89.312 +  top = top - parseFloat(tokens[1]);   
  89.313 +  width *= proporx;
  89.314 +  height *= propory; 
  89.315 +  
  89.316 +  return {"x":parseFloat(Math.round(left)), "y":parseFloat(Math.round(top)), "w":parseFloat(Math.round(width)), "h":parseFloat(Math.round(height))};
  89.317 +}   
  89.318 +function VMLviewBox1(container,left,top,width,height){
  89.319 +  var tokens = zoominit2.split(' ');  
  89.320 +  left *= proporx;
  89.321 +  left = left - parseFloat(tokens[0]);
  89.322 +  top *= propory; 
  89.323 +  top = top - parseFloat(tokens[1]);   
  89.324 +  width *= proporx;
  89.325 +  height *= propory; 
  89.326 +  
  89.327 +  return {"x":parseFloat(Math.round(left)), "y":parseFloat(Math.round(top)), "w":parseFloat(Math.round(width)), "h":parseFloat(Math.round(height))};
  89.328 +}   
  89.329 +
  89.330 +VMLRenderer.prototype.create = function(shape, fillColor, lineColor, fillOpac, lineOpac, lineWidth, left, top, width, height, textMessaje, textSize, textFamily, imageHref, points, transform, parent) {
  89.331 +   var tokens = zoominit2.split(' ');  
  89.332 +
  89.333 +   var zoom=VMLviewBox(this.container,left,top,width,height);
  89.334 +   
  89.335 +   left=zoom.x;  
  89.336 +   top=zoom.y;
  89.337 +   width=zoom.w;
  89.338 +   height=zoom.h;
  89.339 +
  89.340 +   var zoom=VMLviewBox(this.container,left,top,textSize,textSize);
  89.341 +   //if(zoom.w<1){zoom.w=1}    
  89.342 +   if(zoom.y== undefined){left=0}
  89.343 +   if(zoom.x== undefined){top=0} 
  89.344 +   if(zoom.w== undefined){width=0}   
  89.345 +   if(zoom.h== undefined){height=0}
  89.346 +   textSize=zoom.h;  
  89.347 +
  89.348 +   var zoom=VMLviewBox(this.container,left,top,lineWidth*2/3,lineWidth);
  89.349 +   //if(zoom.w<1){zoom.w=1}
  89.350 +   lineWidth=zoom.w;  
  89.351 +   var vml;
  89.352 + var shap=1;
  89.353 +  if (shape == 'rect') { 
  89.354 +  
  89.355 +    vml = this.container.ownerDocument.createElement('v:rect');  
  89.356 +    vml.style.position = 'absolute';
  89.357 +    vml.style.left = left; 
  89.358 +    vml.style.top = top;
  89.359 +    vml.style.width = width;
  89.360 +    vml.style.height = height;
  89.361 +  }
  89.362 +  else if (shape == 'roundrect') {
  89.363 +            vml = this.container.ownerDocument.createElement('v:roundrect'); 
  89.364 +            vml.style.position = 'absolute';
  89.365 +            vml.style.left = left;
  89.366 +            vml.style.top = top;
  89.367 +            vml.style.width = width;    
  89.368 +            vml.style.height = height;
  89.369 +            vml.setAttribute('arcsize', '20%');   
  89.370 +            
  89.371 +  }
  89.372 +  else if (shape == 'ellipse') {
  89.373 +    vml = this.container.ownerDocument.createElement('v:oval');  
  89.374 +    vml.style.left = left;
  89.375 +    vml.style.top = top;
  89.376 +    vml.style.width = width; 
  89.377 +    vml.style.height = height;
  89.378 +    vml.style.position = 'absolute';
  89.379 +  }
  89.380 +  else if (shape == 'line') {  
  89.381 +    
  89.382 +    vml = this.container.ownerDocument.createElement('v:line'); 
  89.383 +    vml.setAttribute('from', left + 'px,' + top + 'px');
  89.384 +    vml.setAttribute('to', left + 'px,' + top + 'px');
  89.385 +
  89.386 +  }   
  89.387 +  else if (shape == 'polyline') {
  89.388 +    vml = this.container.ownerDocument.createElement('v:polyline');
  89.389 +    vml.setAttribute("points", points); 
  89.390 +    
  89.391 +  }    
  89.392 +  else if (shape == 'path') 
  89.393 +   {   
  89.394 +    vml = this.container.ownerDocument.createElement('v:shape');  
  89.395 +    var tokens = zoominit1.split(' ');  
  89.396 +    var tokens1 = zoominit1.split(' ');         
  89.397 +    var tokens2 = zoominit2.split(' ');   
  89.398 +    tokens[0]=0;
  89.399 +    tokens[1]=0;
  89.400 +    var path=points;
  89.401 +    path=path.replace(/, /g, ','); 
  89.402 +    path=path.replace(/ ,/g, ',');
  89.403 +    var ps =path.split(" ")
  89.404 +    var pcc = "";
  89.405 +   
  89.406 +    var re = /^[-]?\d*\.?\d*$/; 
  89.407 +    var contArc=0; 
  89.408 +    var isArc=false;
  89.409 +    for(var i = 0; i < ps.length; i++)
  89.410 +    { 
  89.411 +     if(ps[i].indexOf(',')>0){  
  89.412 +      
  89.413 +       var point =ps[i].split(","); 
  89.414 +       var char1=point[0].substring(0,1); 
  89.415 +     
  89.416 +       if (!char1.match(re))        
  89.417 +        { 
  89.418 +           var num0prev= parseFloat(point[0].substring(1));
  89.419 +           var zoom=VMLviewBox(this.container,num0prev*1+(parseInt(tokens2[0])*0),0,parseInt(tokens2[2]),parseInt(tokens2[3]));
  89.420 +           num0=zoom.x;  
  89.421 +   
  89.422 +           var text=char1;
  89.423 +        }else{ 
  89.424 +            var num0prev= parseFloat(point[0]);
  89.425 +            var zoom=VMLviewBox(this.container,num0prev*1+(parseInt(tokens2[0])*0),0,parseInt(tokens2[2]),parseInt(tokens2[3]));
  89.426 +            num0=zoom.x;  
  89.427 +  
  89.428 +        }  
  89.429 +       point[1]= parseFloat(point[1]);  
  89.430 +       var zoom=VMLviewBox(this.container,0,point[1],parseInt(tokens2[2]),parseInt(tokens2[3]));
  89.431 +       point[1]=zoom.y;  
  89.432 +       var cx=num0+parseInt(tokens2[0]); 
  89.433 +       var cy=point[1]+parseInt(tokens2[1]);   
  89.434 +       pcc+=text+cx+','+cy+' ';
  89.435 +     }
  89.436 +      else
  89.437 +     {  
  89.438 +        pcc+=ps[i]+' ';
  89.439 +     }
  89.440 +   
  89.441 +    }
  89.442 +   ////////////////////   
  89.443 +    var thispath=pcc;
  89.444 +    thispath=thispath.replace(/M/g,'m');
  89.445 +    thispath=thispath.replace(/C/g,'c');  
  89.446 +    thispath=thispath.replace(/L/g,'l'); 
  89.447 +    thispath=thispath.replace(/z/g,'x');      
  89.448 +   
  89.449 +   //document.getElementById('source').value=points+'\r\n'+thispath +'\r\n'+'________'+'\r\n'
  89.450 +   var zoom=VMLviewBox(this.container,tokens[0],tokens[1],tokens[2],tokens[3]);
  89.451 +   
  89.452 +    vml.style.position="absolute";  
  89.453 +    vml.style.width= zoom.w+"px";
  89.454 +    vml.style.height=zoom.h+"px";
  89.455 +    vml.style.left=zoom.x+"px";  
  89.456 +    vml.style.top=zoom.y+"px";    
  89.457 +    vml.setAttribute('coordsize', zoom.w+','+zoom.h); 
  89.458 + 
  89.459 +    var path01 = this.container.ownerDocument.createElement('v:path');  
  89.460 +    path01.setAttribute("v", thispath+' e'); 
  89.461 + 
  89.462 + 
  89.463 +    
  89.464 +    vml.appendChild(path01)
  89.465 +    
  89.466 +   }
  89.467 +   
  89.468 +   else if (shape == 'controlpath')
  89.469 +   {
  89.470 +    
  89.471 +    vml = this.container.ownerDocument.createElement('v:shape');  
  89.472 +      vml.style.position="absolute";  
  89.473 +    vml.style.width= 700+"px";
  89.474 +    vml.style.height=500+"px";
  89.475 +    vml.style.left=left+"px";  
  89.476 +    vml.style.top=top+"px";  
  89.477 +    vml.setAttribute('coordsize', '700,500');   
  89.478 +     
  89.479 +    var path01 = this.container.ownerDocument.createElement('v:path');  
  89.480 +    path01.setAttribute('v', 'm '+left+','+top+' c'+(left+1)+','+(top+1)+' e ');  
  89.481 +
  89.482 +     vml.appendChild(path01)
  89.483 +    } 
  89.484 +    else if (shape == 'image') {   
  89.485 +     var data =imageHref;//document.forms[0].option_text_message.value;
  89.486 +     vml = this.container.ownerDocument.createElement('v:image'); 
  89.487 +     vml.setAttribute('src',imageHref);
  89.488 +     vml.style.position="absolute";  
  89.489 +     vml.style.width=width+"px";
  89.490 +     vml.style.height=height+"px";
  89.491 +     vml.style.left=left+"px";  
  89.492 +     vml.style.top=top+"px";  
  89.493 +     vml.style.margin=0+"px";  
  89.494 +     vml.style.padding=0+"px";  
  89.495 +     if (fillColor != ''  || fillColor != 'none') {
  89.496 +       vml.setAttribute('filled', 'false');
  89.497 +       vml.setAttribute('fillcolor', fillColor);
  89.498 +     }
  89.499 +     else {
  89.500 +       vml.setAttribute('filled', 'false');
  89.501 +     }
  89.502 +    vml.setAttribute('strokeweight','0px');// parseFloat(lineWidth)+'px');
  89.503 +   vml.setAttribute('stroked', 'false');  
  89.504 +   vml.setAttribute('strokecolor','#000000');//lineColor);
  89.505 +   
  89.506 +   
  89.507 +    }
  89.508 +    
  89.509 + else if (shape == 'text') 
  89.510 +  {   
  89.511 +   
  89.512 +    var data =textMessaje;
  89.513 +    vml = this.container.ownerDocument.createElement('v:shape');
  89.514 +    vml.style.position="absolute";  
  89.515 +    //vml.setAttribute('coordorigin',left+', '+top);
  89.516 +     //vml.style.coorsize= '';
  89.517 +     coordorigin="0, 0" 
  89.518 +     
  89.519 +     var ts=isNaN(textSize)
  89.520 +     if(ts==true){
  89.521 +     textSize=10;
  89.522 +     }
  89.523 +    vml.style.width= textSize+'px';//tokens[2]+'px'
  89.524 +    vml.style.height=textSize+'px';
  89.525 +    vml.style.left=(left+"px");  
  89.526 +    vml.style.top=(top-(textSize*1/4)+"px");  
  89.527 +    vml.style.margin=0+"px"; 
  89.528 +     vml.style.padding=0+"px";  
  89.529 +     vml.setAttribute('path','m '+0+' '+0+' r '+(textSize*data.length)+' '+0+' e'); 
  89.530 +     var textPathObj = this.container.ownerDocument.createElement("v:textpath");
  89.531 +     textPathObj.setAttribute('string', data); 
  89.532 +      textPathObj.setAttribute('fitshape','false'); 
  89.533 +     textPathObj.setAttribute('trim', 'false'); 
  89.534 +     textPathObj.setAttribute('fitpath', 'false');
  89.535 +     textPathObj.setAttribute('on','true');  
  89.536 +     textPathObj.style.fontFamily=textFamily;  
  89.537 +     textPathObj.style.fontSize=textSize+'px'; 
  89.538 +     textPathObj.setAttribute('vTextKern','true');  
  89.539 +     textPathObj.setAttribute('text-align','center');  
  89.540 +     
  89.541 +      var pathObj = this.container.ownerDocument.createElement("v:path");
  89.542 +     pathObj.setAttribute('textpathok', 'true');  
  89.543 +      vml.appendChild(textPathObj);  
  89.544 +     vml.appendChild(pathObj);  
  89.545 +    
  89.546 +    
  89.547 +  }    
  89.548 +
  89.549 +
  89.550 +    
  89.551 + else if (shape == 'texto') 
  89.552 +  {  
  89.553 +    vml = this.container.ownerDocument.createElement('v:shape');
  89.554 +    vml.style.position="absolute";  
  89.555 +   
  89.556 +     vml.style.coordsize=1000+', '+1000;
  89.557 +    vml.style.width= 1000;
  89.558 +    vml.style.height=1000;
  89.559 +    vml.style.left=left;  
  89.560 +    vml.style.top=top-parseFloat(textSize);  
  89.561 +     
  89.562 +     vml.style.padding=0;  
  89.563 +    var textBox = this.container.ownerDocument.createElement("v:textbox");
  89.564 +     textBox.setAttribute('mso-rotate-with-shape',true)
  89.565 +     var divtext = this.container.ownerDocument.createElement("div");  
  89.566 +     divtext.style.coordorigin=0+', '+(0);      
  89.567 +     divtext.style.margin=0;   
  89.568 +     divtext.style.fontFamily=textFamily; 
  89.569 +     divtext.style.margin=0; 
  89.570 +     divtext.style.padding=0; 
  89.571 +     divtext.style.vRotateLetters=true;
  89.572 +     divtext.style.fontSize=parseFloat(textSize); 
  89.573 +    
  89.574 +     
  89.575 +           
  89.576 +    
  89.577 +
  89.578 +     
  89.579 +    divtext.style.color=fillColor;
  89.580 +     
  89.581 +     
  89.582 +     
  89.583 +     
  89.584 +     
  89.585 +     //divtext.setAttribute('v-rotate-letters','true');
  89.586 +    if(transform.indexOf('rotate')>=0)
  89.587 +    {
  89.588 +     
  89.589 +      myRotate1=transform.split('rotate(');
  89.590 +      myRotate2=myRotate1[1].split(')');  
  89.591 +      myRotate3=myRotate2[0].split(',');  
  89.592 +     
  89.593 +      //divtext.setAttribute('mso-rotate',myRotate3[0]);
  89.594 +      //textBox.style.msoRotate= myRotate3[0];
  89.595 +      //textBox.style.centerX=myRotate3[1]; 
  89.596 +      //textBox.style.centerY=myRotate3[2];
  89.597 +      //vml.style.rotation= myRotate3[0];
  89.598 +      //vml.style.centerX=myRotate3[1]; 
  89.599 +      //vml.style.centerY=myRotate3[2];
  89.600 +        vml.setAttribute('rotation',myRotate3[0]+'Deg'); 
  89.601 +    }        
  89.602 +
  89.603 +     divtext.innerHTML=textMessaje;
  89.604 +     textBox.appendChild(divtext);       
  89.605 +    
  89.606 +     vml.appendChild(textBox);  
  89.607 +    
  89.608 +  } 
  89.609 +    else if (shape == 'defs') {
  89.610 +   var vml; 
  89.611 +   
  89.612 + } 
  89.613 +   
  89.614 +    else if (shape == 'group') {   
  89.615 +    vml = this.container.ownerDocument.createElement('v:group'); 
  89.616 +    vml.style.left=left+"px";  
  89.617 +    vml.style.top=top+"px";  
  89.618 +  }
  89.619 + 
  89.620 +  if(shape == 'zoom' || shape == 'defs') 
  89.621 +  {
  89.622 +        
  89.623 +  }else
  89.624 +  {   
  89.625 +    if(transform.indexOf('rotate')>=0)
  89.626 +    {
  89.627 +      myRotate1=transform.split('rotate(');
  89.628 +      myRotate2=myRotate1[1].split(')');  
  89.629 +      myRotate3=myRotate2[0].split(',');  
  89.630 +     
  89.631 +       vml.style.rotation= myRotate3[0]+'Deg';
  89.632 +       vml.style.centerX=myRotate3[1]; 
  89.633 +       vml.style.centerY=myRotate3[2];
  89.634 +       
  89.635 +    }                                     
  89.636 +       
  89.637 +        if(shape != 'image' )
  89.638 +         {      
  89.639 +                   //alert(fillColor)
  89.640 +                   if (fillColor != ''  || fillColor != 'none' ) 
  89.641 +                    { 
  89.642 +                      vml.setAttribute('filled', 'true'); 
  89.643 +                      vml.setAttribute('fillcolor', fillColor); 
  89.644 +                      
  89.645 +                    }
  89.646 +                     else 
  89.647 +                    {
  89.648 +                      vml.setAttribute('filled', 'false');
  89.649 +                    }
  89.650 +
  89.651 +         
  89.652 +                if(lineWidth==0 || lineWidth=='none' || lineColor== 'none' )    
  89.653 +                {
  89.654 +                  vml.setAttribute('stroked', 'false');  
  89.655 +                }
  89.656 +                 else 
  89.657 +                {  
  89.658 +                  //if(isNaN(lineColor)==false){alert('-'+lineColor+'-');lineColor='#000000';lineWidth=1;}
  89.659 +                  vml.setAttribute('stroked', 'true');
  89.660 +                  vml.setAttribute('strokecolor', lineColor);
  89.661 +                  vml.setAttribute('strokeweight', lineWidth);
  89.662 +                  var stroke = this.container.ownerDocument.createElement('v:stroke'); 
  89.663 +                  stroke.setAttribute("opacity", parseFloat(lineOpac));
  89.664 +                  vml.appendChild(stroke);
  89.665 +                  
  89.666 +                }
  89.667 +
  89.668 +               if (fillOpac != '') 
  89.669 +                { 
  89.670 +                  if (fillOpac == 'none' || fillColor=='none'){fillOpac=0;}
  89.671 +                  var fill = this.container.ownerDocument.createElement('v:fill'); 
  89.672 +                  fill.setAttribute("opacity",parseFloat(fillOpac));  
  89.673 +                  //alert(fillOpac)
  89.674 +                  vml.appendChild(fill);
  89.675 +                }
  89.676 +          }     
  89.677 +  } 
  89.678 +  if(parent==''){   
  89.679 +   if(vml){
  89.680 +   this.container.appendChild(vml);}
  89.681 +  }else{ 
  89.682 +    if(document.getElementById(parent)){ 
  89.683 +     var parentShape = document.getElementById(parent);
  89.684 +     if(vml||vml!=null ){ 
  89.685 +      parentShape.appendChild(vml);
  89.686 +     } 
  89.687 +    } 
  89.688 +  }  
  89.689 +   //var parentDoc = document.getElementById('mydraw');
  89.690 +   //parentDoc.appendChild(vml);
  89.691 +  return vml;
  89.692 +};   
  89.693 +
  89.694 +
  89.695 +
  89.696 +VMLRenderer.prototype.zoom = function(clicx,clicy)
  89.697 + { 
  89.698 + }
  89.699 +
  89.700 +VMLRenderer.prototype.datacreate = function(fillColor, lineColor, fillOpac, lineOpac, lineWidth, left, top, width, height, textMessaje, textSize, textFamily, imageHref, transform) 
  89.701 + {
  89.702 + }
  89.703 +
  89.704 +VMLRenderer.prototype.duplicate = function(shape) 
  89.705 + {
  89.706 +   var vml;
  89.707 +   vml =shape.cloneNode(false);
  89.708 +   //vml.setAttribute('fillcolor', "#aa00aa");
  89.709 +   //vml.setAttribute('filled', "false");
  89.710 +   this.container.appendChild(vml);
  89.711 +  return vml;
  89.712 +  
  89.713 + };
  89.714 +
  89.715 +VMLRenderer.prototype.querySelected = function(shape,centerx,centery,width,height)
  89.716 +{ 
  89.717 + var result = true;
  89.718 +  var shapes='names: group, image, rect, path, ellipse, circle, text, line, ';
  89.719 +
  89.720 + //if(shape.getBBox && shape) 
  89.721 +  if( shapes.indexOf(' '+shape.tagName+',')>0)
  89.722 +  {
  89.723 + 
  89.724 +  var box =  this.bounds(shape);
  89.725 + }else
  89.726 + {
  89.727 +  return false;
  89.728 + }
  89.729 + var p1x = box.x;
  89.730 +  if(Math.abs(p1x-centerx)>width){result = false}
  89.731 + 
  89.732 + var p1y = box.y;
  89.733 + if(Math.abs(p1y-centery)>height){result = false}
  89.734 + 
  89.735 + var p2x = box.x+box.width;
  89.736 + if(Math.abs(p2x-centerx)>width){result = false}
  89.737 +
  89.738 + var p2y = box.y;
  89.739 + if(Math.abs(p2y-centery)>height){result = false}
  89.740 + 
  89.741 + var p3x = box.x+box.width;
  89.742 + if(Math.abs(p3x-centerx)>width){result = false}
  89.743 +
  89.744 + var p3y = box.y+box.height;                    
  89.745 + if(Math.abs(p3y-centery)>height){result = false}
  89.746 +  
  89.747 + var p4x = box.x;
  89.748 +if(Math.abs(p4x-centerx)>width){result = false}
  89.749 + 
  89.750 + var p4y = box.y+box.height;
  89.751 + if(Math.abs(p4y-centery)>height){result = false}
  89.752 + 
  89.753 + if(result)
  89.754 +  {
  89.755 +    return { 'in':result, 'cornersx': p1x+','+p2x+','+p3x+','+p4x+',' ,'cornersy': p1y+','+p2y+','+p3y+','+p4y+',' };
  89.756 +  }
  89.757 +   else
  89.758 +  { 
  89.759 +     return { 'in':result } 
  89.760 +  }
  89.761 +//center.distanceFrom(point1);
  89.762 + 
  89.763 +
  89.764 +}
  89.765 +
  89.766 +VMLRenderer.prototype.searchBoxes = function()
  89.767 +{  
  89.768 + var base = this.container;
  89.769 +
  89.770 + var  NumNodes = base.childNodes.length;
  89.771 + var chain= '';
  89.772 + for(i = 0;i < NumNodes;i++)
  89.773 +  {       
  89.774 +     if (this.bounds(base.childNodes[i]))
  89.775 +      {
  89.776 +        chain+=base.childNodes[i].id + ';'
  89.777 +      }
  89.778 +  }
  89.779 +  chain+=''
  89.780 +  return chain;
  89.781 +
  89.782 +}  
  89.783 +
  89.784 +VMLRenderer.prototype.DrawBorder= function(numNode, targetElement )
  89.785 +{   
  89.786 +  var shapes='names: group, image, rect, path, ellipse, circle, text, line, ';
  89.787 +
  89.788 + //if(shape.getBBox && shape) 
  89.789 +  if( shapes.indexOf(' '+targetElement.tagName+',')>0)
  89.790 +  {
  89.791 +   var bbox = this.bounds(targetElement);
  89.792 +
  89.793 +   var outline = this.container.ownerDocument.createElement('v:rect');  
  89.794 +   outline.setAttribute('x', bbox.x - 2 );
  89.795 +   outline.setAttribute('y', bbox.y - 2 );
  89.796 +   outline.setAttribute('width',  bbox.width + 4 );
  89.797 +   outline.setAttribute('height', bbox.height + 4 );
  89.798 +   outline.setAttribute('stroke', '#ff00ff' );
  89.799 +   outline.setAttribute('fill', 'none' );
  89.800 +   outline.setAttribute('id', 'shapeBoxed'+numNode );
  89.801 +
  89.802 +   targetElement.parentNode.insertBefore( outline, targetElement );
  89.803 +   return 'shapeBoxed'+numNode; 
  89.804 +  } 
  89.805 +   else 
  89.806 +  {
  89.807 +   return false
  89.808 +  }
  89.809 +}
  89.810 +
  89.811 +
  89.812 +VMLRenderer.prototype.index = function(shape,order) {  
  89.813 + 
  89.814 +     if(order==-1)
  89.815 +      {
  89.816 +        this.container.appendChild( shape );
  89.817 +      }
  89.818 +      if(order==0){
  89.819 +     
  89.820 +         this.container.insertBefore( shape, shape.parentNode.firstChild );
  89.821 +      } 
  89.822 + 
  89.823 +   if(order==1 || order==2)
  89.824 +    {
  89.825 +         var id=shape.getAttribute('id');
  89.826 +        //alert(id);
  89.827 +        
  89.828 +        
  89.829 +        var numNodes=this.container.childNodes.length;
  89.830 +        //alert(numNodes);
  89.831 +          
  89.832 +        var num=0;
  89.833 +        for(var i = 1; i < numNodes; i++)
  89.834 +         {                                                   
  89.835 +           
  89.836 +           var etiq=this.container.childNodes[i].getAttribute('id');
  89.837 +           if (etiq==id)
  89.838 +            { 
  89.839 +                num=i; 
  89.840 +               
  89.841 +            }                                                    
  89.842 +          } 
  89.843 +          //alert(num);    
  89.844 +          if(order==1) 
  89.845 +           {   
  89.846 +              if((num-1)>=-1)
  89.847 +               {  
  89.848 +                this.container.insertBefore( shape, this.container.childNodes[num-1]);
  89.849 +               } 
  89.850 +           }
  89.851 +          if(order==2){ 
  89.852 +               if((num+1)<numNodes)
  89.853 +               {
  89.854 +                  this.container.insertBefore( shape, this.container.childNodes[num+2]);
  89.855 +               }
  89.856 +          } 
  89.857 +          
  89.858 +    } 
  89.859 +    
  89.860 +    
  89.861 +    
  89.862 +}
  89.863 +VMLRenderer.prototype.remove = function(shape) {
  89.864 +  if(shape!=null){ shape.removeNode(true); }
  89.865 +}
  89.866 +
  89.867 +
  89.868 +VMLRenderer.prototype.copy = function(shape) 
  89.869 + {
  89.870 +   var vml;
  89.871 +   vml =shape.cloneNode(false);
  89.872 +   //vml.setAttribute('fillcolor', "#aa00aa");
  89.873 +   return vml;
  89.874 + };
  89.875 +
  89.876 +
  89.877 +VMLRenderer.prototype.paste = function(clipboard,left,top)   
  89.878 + {
  89.879 +  this.container.appendChild(clipboard);
  89.880 +  return clipboard;
  89.881 + };
  89.882 +
  89.883 +
  89.884 +
  89.885 +VMLRenderer.prototype.undo = function() 
  89.886 + {
  89.887 +   this.container.removeChild( this.container.lastChild );
  89.888 + };
  89.889 + 
  89.890 +
  89.891 +var xshe=0; 
  89.892 +var yshe=0;  
  89.893 +var isArc=false;
  89.894 +var contArc=0;
  89.895 +     
  89.896 +VMLRenderer.prototype.move = function(shape, left, top,fromX,FromY) {    
  89.897 + var box = this.bounds(shape);
  89.898 + var angle=0;
  89.899 + var dist=0;  
  89.900 + var rotated=false;
  89.901 + 
  89.902 + 
  89.903 +  
  89.904 +
  89.905 +  
  89.906 +         //contmove++;
  89.907 +  if (shape.tagName == 'line') {
  89.908 +    shape.style.marginLeft = left;
  89.909 +    shape.style.marginTop = top;
  89.910 +  } 
  89.911 +   if (shape.tagName == 'polyline') {
  89.912 +    shape.style.marginLeft = left;
  89.913 +    shape.style.marginTop = top;
  89.914 +
  89.915 +   }   
  89.916 +   if (shape.tagName == 'oval') {
  89.917 +    shape.style.left = left;
  89.918 +    shape.style.top = top;
  89.919 +  }      
  89.920 +  if (shape.tagName == 'rect') {
  89.921 +    shape.style.left = left;
  89.922 +    shape.style.top = top;
  89.923 +  } 
  89.924 +  
  89.925 +    if (shape.tagName == 'image') {
  89.926 +    shape.style.left = left;
  89.927 +    shape.style.top = top;
  89.928 +  }      
  89.929 +   if (shape.tagName == 'shape') { 
  89.930 +        
  89.931 +       shape.style.left=left+"px";  
  89.932 +        shape.style.top=top+"px";  
  89.933 +    
  89.934 +   }   
  89.935 +      
  89.936 +
  89.937 +};
  89.938 +
  89.939 +
  89.940 +VMLRenderer.prototype.track = function(shape) {
  89.941 +  // TODO
  89.942 +};
  89.943 +
  89.944 +VMLRenderer.prototype.clic = function(shape) {
  89.945 +         var end='';
  89.946 +	if(data_path_close==true){end=' ';}
  89.947 +
  89.948 +        var thispath='m '+setPoints[0]+' l';  
  89.949 +        var maxcont=setPoints.length;
  89.950 +      
  89.951 +        for(var conta=1;conta< maxcont;conta++){        
  89.952 +          thispath+=setPoints[conta]+' ';
  89.953 +          
  89.954 +	
  89.955 +        }
  89.956 +       	var path=thispath+end+' e';
  89.957 +        shape.style.position="absolute";  
  89.958 +        shape.style.width= 700+"px";
  89.959 +	shape.style.height=500+"px";
  89.960 +        shape.style.left="0px";  
  89.961 +        shape.style.top="0px";    
  89.962 +
  89.963 +       
  89.964 +         	shape.children[0].setAttribute("v",path);
  89.965 +               document.forms[0].control_codebase.value=path;
  89.966 + 
  89.967 +}
  89.968 +
  89.969 +
  89.970 +VMLRenderer.prototype.resize = function(shape, fromX, fromY, toX, toY) {     
  89.971 + //var vml;
  89.972 +  var deltaX = toX - fromX;
  89.973 +  var deltaY = toY - fromY; 
  89.974 +    var shap=1;
  89.975 +    if (shape.tagName == 'line') { shap=0; }   
  89.976 +   if (shape.tagName == 'polyline') { shap=2; } 
  89.977 +    
  89.978 +  if (shape.tagName == 'line') {
  89.979 +    shape.setAttribute('to', toX + 'px,' + toY + 'px');
  89.980 +  }
  89.981 +  if (shap == 1) {
  89.982 +    if (deltaX < 0) {
  89.983 +      shape.style.left = toX + 'px';
  89.984 +      shape.style.width = -deltaX + 'px';
  89.985 +    }
  89.986 +    else {
  89.987 +      shape.style.width = deltaX + 'px';
  89.988 +    }
  89.989 +  
  89.990 +    if (deltaY < 0) {
  89.991 +      shape.style.top = toY + 'px';
  89.992 +      shape.style.height = -deltaY + 'px';
  89.993 +    }
  89.994 +    else {
  89.995 +      shape.style.height = deltaY + 'px';
  89.996 +    }
  89.997 +  }
  89.998 +   if (shap == 2) {   
  89.999 +        xpArray.push(toX);
 89.1000 +        ypArray.push(toY);
 89.1001 +	
 89.1002 +        //xpArray.push(finetoX);
 89.1003 +        //ypArray.push(finetoY);    
 89.1004 +    
 89.1005 +       var thispath=' '+xpArray[1]+','+ypArray[1];  
 89.1006 +       var maxcont=xpArray.length;
 89.1007 +       //alert(maxcont);
 89.1008 +        for(var conta=2;conta< maxcont;conta++){        
 89.1009 +          thispath+=' '+xpArray[conta]+','+ypArray[conta]; 
 89.1010 +        }
 89.1011 +        //alert(shape.points[1]);
 89.1012 +    //shape.setAttribute("points",thispath);       
 89.1013 +    shape.points.Value = thispath;
 89.1014 +      
 89.1015 +        /*
 89.1016 +        var thispath=''+xpArray[0]+','+ypArray[0]; 
 89.1017 +        var thispatho=new Array();   
 89.1018 +        thispatho.push(toX); 
 89.1019 +          thispatho.push(toY);
 89.1020 +       var maxcont=xpArray.length;
 89.1021 +       //alert(maxcont);
 89.1022 +        for(var conta=2;conta< maxcont;conta++){        
 89.1023 +          thispath+=','+xpArray[conta]+','+ypArray[conta]; 
 89.1024 +        }
 89.1025 +        //alert(shape.points[1]);
 89.1026 +    shape.setAttribute("points",thispath);   
 89.1027 +          */
 89.1028 +   }
 89.1029 +  if(shape.tagName == 'shape')
 89.1030 +   {    
 89.1031 +          
 89.1032 +      if (selectmode == 'controlpath')
 89.1033 +     {    
 89.1034 +        
 89.1035 +                 var end='';
 89.1036 +	if(data_path_close==true){end=' ';}
 89.1037 +
 89.1038 +        var thispath='m '+setPoints[0]+' l';  
 89.1039 +        var maxcont=setPoints.length;
 89.1040 +      
 89.1041 +        for(var conta=1;conta< maxcont;conta++){        
 89.1042 +          thispath+=setPoints[conta]+' ';
 89.1043 +          
 89.1044 +	
 89.1045 +        }
 89.1046 +        var path=thispath+toX+','+toY+end+' e';
 89.1047 + 
 89.1048 +        shape.style.position="absolute";  
 89.1049 +        shape.style.width= 700+"px";
 89.1050 +	shape.style.height=500+"px";
 89.1051 +        shape.style.left="0px";  
 89.1052 +        shape.style.top="0px";    
 89.1053 +
 89.1054 +         	shape.children[0].setAttribute("v",path);
 89.1055 +               document.forms[0].control_codebase.value=path;
 89.1056 +
 89.1057 +          
 89.1058 +     }
 89.1059 +      else
 89.1060 +     {  
 89.1061 +      
 89.1062 +      xpArray.push(toX);
 89.1063 +      ypArray.push(toY);
 89.1064 +	
 89.1065 +        //xpArray.push(finetoX);
 89.1066 +        //ypArray.push(finetoY);    
 89.1067 +        var thispath2='';
 89.1068 +       var thispath1=' '+xpArray[1]+','+ypArray[1];  
 89.1069 +       var maxcont=xpArray.length;
 89.1070 +       //alert(maxcont);
 89.1071 +        for(var conta=2;conta< maxcont ;conta++){        
 89.1072 +          thispath2+=''+xpArray[conta]+','+ypArray[conta]+',';
 89.1073 +          if((conta+2)%3==0){thispath2+='';} 
 89.1074 +        } 
 89.1075 +        thispath2+=''+xpArray[maxcont]+','+ypArray[maxcont]+'';   
 89.1076 +        
 89.1077 +        //alert(shape.points[1]);   
 89.1078 +        //appendChild(path01)
 89.1079 +       //var path01=shape.getFirstChild();  
 89.1080 +       var path01 = this.container.ownerDocument.createElement('v:path');  
 89.1081 +       path01.setAttribute("v", "m"+thispath1+" l"+ thispath2+" e"); 
 89.1082 +        //shape.margin-left="300px";  
 89.1083 +        //shape.margin-top="200px";    
 89.1084 +  
 89.1085 +      //shape.setAttribute('path','m '+thispath1+ ' c'+thispath2+'  e'); 
 89.1086 +       if(shape.children[0].tagName=='textpath')
 89.1087 +        {      
 89.1088 +                var path01 = this.container.ownerDocument.createElement('v:path');  
 89.1089 +                path01.setAttribute("v", 'm 100 100 l 600 100 e'); 
 89.1090 +
 89.1091 +            //if(xpArray.length>1)
 89.1092 +             //{       shap.style.position="absolute";  
 89.1093 +                    shape.style.width=100+"px";
 89.1094 +                    shape.style.height=100+"px";
 89.1095 +                    shape.style.left=toX+"px";  
 89.1096 +                    shape.style.top=toY+"px";  
 89.1097 +                    shape.style.margin=0+"px";  
 89.1098 +                    shape.style.padding=0+"px";  
 89.1099 +                    shape.appendChild(path01); 
 89.1100 +             //}    
 89.1101 +        }
 89.1102 +         else
 89.1103 +        {  
 89.1104 +              shape.style.position="absolute";  
 89.1105 +          shape.style.width= 700+"px";
 89.1106 +	  shape.style.height=500+"px";
 89.1107 +          shape.style.left="0px";  
 89.1108 +          shape.style.top="0px";    
 89.1109 +          //shape.setAttribute('coordsize', '700,500');  
 89.1110 +          shape.appendChild(path01);  
 89.1111 +          }
 89.1112 +        
 89.1113 +       //shape.setAttribute('position', 'absolute'); 
 89.1114 +       //shape.translate(xpArray[conta+1]+','+ypArray[conta+1]); 
 89.1115 +      //shape.setAttribute('coordsize', '700,500');
 89.1116 +       // shape.v.Value ='M '+thispath1+ ' C'+thispath2+' x e';      
 89.1117 +      //shape.v.Value = 'M '+thispath+ ' c '+thispath2;
 89.1118 +      //shape.setAttribute("v", 'M '+thispath+ ' C '+thispath2);  
 89.1119 +		//shape.setAttribute('path','M '+thispath+ ' C '+thispath2);
 89.1120 +   } 	
 89.1121 +  } 
 89.1122 +  
 89.1123 +};  
 89.1124 +
 89.1125 +
 89.1126 +VMLRenderer.prototype.tocurve = function() {
 89.1127 +
 89.1128 +
 89.1129 +};
 89.1130 +
 89.1131 +
 89.1132 +VMLRenderer.prototype.info = function(shape)
 89.1133 +{   
 89.1134 +var shInfo = {};
 89.1135 +shInfo.id = shape.id;
 89.1136 + shInfo.type = shape.tagName;
 89.1137 + if (shape.tagName == 'rect') 
 89.1138 +   {
 89.1139 +    shInfo.left = parseFloat(shape.getAttribute( 'x'));
 89.1140 +    shInfo.top = parseFloat(shape.getAttribute( 'y'));
 89.1141 +    shInfo.width = parseFloat(shape.getAttribute('width'));
 89.1142 +    shInfo.height = parseFloat(shape.getAttribute('height'));   
 89.1143 +    //++
 89.1144 +    //shInfo.rotate = parseFloat(shape.getAttribute('rotation'));  
 89.1145 +   }
 89.1146 +  else if (shape.tagName == 'oval') 
 89.1147 +   {
 89.1148 +    shInfo.width = parseFloat(shape.getAttribute('rx'))*2;
 89.1149 +    shInfo.height = parseFloat(shape.getAttribute('ry'))*2;   
 89.1150 +    shInfo.left = (shInfo.width * 2)  - parseFloat(shape.getAttribute('rx'));
 89.1151 +    shInfo.top = (shInfo.height * 2)  - parseFloat(shape.getAttribute('ry'));
 89.1152 + 
 89.1153 +   }
 89.1154 +  else if (shape.tagName == 'roundrect') 
 89.1155 +   {
 89.1156 +    shInfo.left = parseFloat(shape.getAttribute('x'));
 89.1157 +    shInfo.top = parseFloat(shape.getAttribute('y'));
 89.1158 +    shInfo.width = parseFloat(shape.getAttribute('width'));
 89.1159 +    shInfo.height = parseFloat(shape.getAttribute('height'));   
 89.1160 +   
 89.1161 +   }
 89.1162 +  else if (shape.tagName == 'line') 
 89.1163 +   {
 89.1164 +    shInfo.left = parseFloat(shape.getAttribute('x1'));
 89.1165 +    shInfo.top = parseFloat(shape.getAttribute('y1'));
 89.1166 +
 89.1167 +   } 
 89.1168 +  else if (shape.tagName == 'polyline') 
 89.1169 +   {
 89.1170 +    shInfo.points = shape.getAttribute('points');
 89.1171 +   }
 89.1172 +   else if (shape.tagName == 'image') 
 89.1173 +   {
 89.1174 +    shInfo.left = parseFloat(shape.getAttribute('x'));
 89.1175 +    shInfo.top = parseFloat(shape.getAttribute('y'));
 89.1176 +    shInfo.width = parseFloat(shape.getAttribute('width'));
 89.1177 +    shInfo.height = parseFloat(shape.getAttribute('height'));   
 89.1178 +    shInfo.src = shape.getAttribute('src');  
 89.1179 +   } 
 89.1180 +  else 
 89.1181 +  
 89.1182 +   if (shape.tagName == 'shape')
 89.1183 +   {  
 89.1184 +       if(shape.children[0].tagName=='path') {
 89.1185 +              shInfo.d = shape.getAttribute('v'); 
 89.1186 +             this.editor.log(shape.getAttribute('v')); 
 89.1187 +             
 89.1188 +       }
 89.1189 +       if(shape.children[0].tagName=='textpath') {
 89.1190 +             shInfo['font-family'] = shape.children[0].getAttribute('font-family')
 89.1191 +           shInfo['font-size'] = parseInt(shape.children[0].getAttribute('font-size'))
 89.1192 +        shInfo.top = parseFloat(shape.children[0].getAttribute('y'))
 89.1193 +        shInfo.left = parseFloat(shape.children[0].getAttribute('x'))
 89.1194 +        shInfo.text = shape.textContent
 89.1195 +
 89.1196 +       }
 89.1197 +   }
 89.1198 +   return shInfo;  
 89.1199 +   	
 89.1200 +   	
 89.1201 +}
 89.1202 +VMLRenderer.prototype.transformShape = function(shape,data,transform)
 89.1203 +{   
 89.1204 + 
 89.1205 + if(shape.tagName == 'rect')
 89.1206 +  { 
 89.1207 +    
 89.1208 +    var box = this.bounds(shape);
 89.1209 +    var sdata=data.split(';'); 
 89.1210 +    
 89.1211 +    //alert(data[0]); 
 89.1212 +      shape.style.top = parseFloat(sdata[0]) + 'px';  
 89.1213 +      shape.style.left = parseFloat(sdata[1]) + 'px';
 89.1214 +      shape.style.width = parseFloat(sdata[2]) + 'px';    
 89.1215 +      shape.style.height = parseFloat(sdata[3]) + 'px';
 89.1216 +     
 89.1217 +      
 89.1218 +   
 89.1219 +   // var centerx=parseFloat(sdata[0])+parseFloat(box.width/2);
 89.1220 +   // var centery=parseFloat(sdata[1])+parseFloat(box.height/2);    
 89.1221 +    shape.style.rotation=parseFloat(sdata[4]);
 89.1222 +    
 89.1223 +   //shape.nodparseFloatue=data;
 89.1224 +  }
 89.1225 +   else 
 89.1226 + if(shape.tagName == 'text')
 89.1227 +  {    
 89.1228 +    if(data.indexOf('<;>',0)==-1 )
 89.1229 +     {  
 89.1230 +      shape.textContent = data;  
 89.1231 +     }
 89.1232 +      else
 89.1233 +     {  
 89.1234 +       var sdata=data.split('<;>'); //?????????
 89.1235 +       shape.textContent = sdata[0]; 
 89.1236 +       shape.setAttribute('font-size',parseFloat(sdata[1])); 
 89.1237 +        shape.setAttribute('font-family',sdata[2]);
 89.1238 +     }
 89.1239 +   //shape.nodparseFloatue=data;
 89.1240 +  }
 89.1241 +   else
 89.1242 + if (shape.tagName == 'polyline') 
 89.1243 +  {
 89.1244 +    shape.setAttribute('points',data);
 89.1245 +  }
 89.1246 +   else 
 89.1247 + if (shape.tagName == 'image') 
 89.1248 +  {   
 89.1249 +    //alert(data);  
 89.1250 +    if(data.indexOf(';',0)==-1 )
 89.1251 +     {  
 89.1252 +      shape.setAttribute('src',data);
 89.1253 +     }
 89.1254 +      else
 89.1255 +     {  
 89.1256 +        var box = this.bounds(shape);
 89.1257 +        var sdata=data.split(';');
 89.1258 +        shape.style.top = parseFloat(sdata[0]) + 'px';  
 89.1259 +        shape.style.left = parseFloat(sdata[1]) + 'px';
 89.1260 +        shape.style.width = parseFloat(sdata[2]) + 'px';    
 89.1261 +        shape.style.height = parseFloat(sdata[3]) + 'px';
 89.1262 +        var centerx=parseFloat(sdata[0])+parseFloat(box.width/2);
 89.1263 +        var centery=parseFloat(sdata[1])+parseFloat(box.height/2);    
 89.1264 +        shape.style.rotation=parseFloat(sdata[4]);
 89.1265 +
 89.1266 +
 89.1267 +     } 
 89.1268 +      
 89.1269 +  }
 89.1270 +   else 
 89.1271 + if (shape.tagName == 'path')
 89.1272 +  {     
 89.1273 +    if(data.indexOf(';',0)==-1 )
 89.1274 +     {  
 89.1275 +    	//shape.setAttribute( 'd', data);  //????????
 89.1276 +    	//shape.setAttribute( 'transform', transform);  
 89.1277 +     }
 89.1278 +      else
 89.1279 +     {  
 89.1280 +        var box = this.bounds(shape);
 89.1281 +        var sdata=data.split(';');
 89.1282 +        var centerx=parseFloat(sdata[0])+parseFloat(box.width/2);
 89.1283 +        var centery=parseFloat(sdata[1])+parseFloat(box.height/2);    
 89.1284 +        //++shape.setAttribute( 'transform','scale('+parseFloat(sdata[2])+','+parseFloat(sdata[3])+')'+' rotate('+parseFloat(sdata[4])+','+centerx+','+centery+')'+' translate('+parseFloat(sdata[0])+','+parseFloat(sdata[1])+')');
 89.1285 +
 89.1286 +
 89.1287 +     } 
 89.1288 +  }  
 89.1289 +   	                   
 89.1290 +   	
 89.1291 +}
 89.1292 +VMLRenderer.prototype.editShape = function(shape,data)
 89.1293 +{   
 89.1294 +if(shape.tagName == 'text'){
 89.1295 +shape.textContent = data
 89.1296 +}else
 89.1297 +   if (shape.tagName == 'polyline') 
 89.1298 +   {
 89.1299 +    shape.setAttribute('points',data);
 89.1300 +   }
 89.1301 +  else 
 89.1302 +  
 89.1303 +  if (shape.tagName == 'path')
 89.1304 +   {
 89.1305 +    	shape.setAttribute('v', data);  
 89.1306 +    	
 89.1307 +   }  
 89.1308 +   	 
 89.1309 +   	
 89.1310 +}
 89.1311 +VMLRenderer.prototype.editCommand = function(shape, cmd, value)
 89.1312 +{
 89.1313 +  if (shape != null) {
 89.1314 +    if (cmd == 'fillcolor') {
 89.1315 +      if (value != '') {
 89.1316 +        shape.filled = 'true';
 89.1317 +        shape.fillcolor = value;
 89.1318 +      }
 89.1319 +      else {
 89.1320 +        shape.filled = 'false';
 89.1321 +        shape.fillcolor = '';
 89.1322 +      }
 89.1323 +    }
 89.1324 +    else if (cmd == 'linecolor') {
 89.1325 +      if (value != '') {
 89.1326 +        shape.stroked = 'true';
 89.1327 +        shape.strokecolor = value;
 89.1328 +      }
 89.1329 +      else {
 89.1330 +        shape.stroked = 'false';
 89.1331 +        shape.strokecolor = '';
 89.1332 +      }
 89.1333 +    }
 89.1334 +    else if (cmd == 'linewidth') {
 89.1335 +      shape.strokeweight = parseInt(value) + 'px';
 89.1336 +    } 
 89.1337 +     else if (cmd == 'fillopacity') {
 89.1338 +           
 89.1339 +             shape.fill.opacity= parseFloat(value);
 89.1340 +            //shape.style.fill.setAttribute("opacity", parseFloat(value)); 
 89.1341 +      
 89.1342 +    }
 89.1343 +  }
 89.1344 +}
 89.1345 +
 89.1346 +
 89.1347 +VMLRenderer.prototype.queryCommand = function(shape, cmd)
 89.1348 +{
 89.1349 +  if (shape != null) {
 89.1350 +    if (cmd == 'fillcolor') {
 89.1351 +      if (shape.filled == 'false')
 89.1352 +        return '';
 89.1353 +      else
 89.1354 +        return shape.fillcolor;
 89.1355 +    }
 89.1356 +    else if (cmd == 'linecolor') {
 89.1357 +      if (shape.stroked == 'false')
 89.1358 +        return '';
 89.1359 +      else
 89.1360 +        return shape.strokecolor;
 89.1361 +    }
 89.1362 +    else if (cmd == 'linewidth') {
 89.1363 +      if (shape.stroked == 'false') {
 89.1364 +        return '';
 89.1365 +      }
 89.1366 +      else {
 89.1367 +        // VML always transforms the pixels to points, so we have to convert them back
 89.1368 +        return (parseFloat(shape.strokeweight) * (screen.logicalXDPI / 72)) + 'px';
 89.1369 +      }
 89.1370 +    }
 89.1371 +  }
 89.1372 +}
 89.1373 +
 89.1374 +VMLRenderer.prototype.getProperties = function(shape)
 89.1375 +{
 89.1376 +  var result = '';
 89.1377 +  
 89.1378 +  if (shape != null) 
 89.1379 +   {
 89.1380 +      result = shape.getAttribute('fillcolor');
 89.1381 +      if (result == 'none')
 89.1382 +       {
 89.1383 +         mefillColor.visible = 'hidden';
 89.1384 +         mefillColor.hex = '#000000'; 
 89.1385 +         filldraw=true;
 89.1386 +         setbe(1,'img_okfill');
 89.1387 +       }
 89.1388 +        else
 89.1389 +       {   
 89.1390 +         //alert(mefillColor.hex+' '+result);
 89.1391 +         mefillColor.visible = 'visible';
 89.1392 +         mefillColor.hex = result; 
 89.1393 +         var rgb=hex2rgb(result)
 89.1394 +         mefillColor.r=rgb[0];
 89.1395 +         mefillColor.g=rgb[1];
 89.1396 +         mefillColor.b=rgb[2];
 89.1397 +         filldraw=false;
 89.1398 +         setbe(1,'img_okfill');
 89.1399 +
 89.1400 +       }
 89.1401 +
 89.1402 +      result = shape.getAttribute('strokecolor');
 89.1403 +      if (result == 'none')
 89.1404 +       {    
 89.1405 +         mestrokeColor.visible = 'hidden'; 
 89.1406 +         mestrokeColor.hex = '#000000';
 89.1407 +         mestrokeColor.width = 0;
 89.1408 +         strokedraw=true;
 89.1409 +         setbe(2,'img_okstroke');
 89.1410 +
 89.1411 +       }
 89.1412 +        else
 89.1413 +       { 
 89.1414 +         mestrokeColor.visible = 'visible'; 
 89.1415 +         mestrokeColor.hex = result; 
 89.1416 +         var rgb=hex2rgb(result)
 89.1417 +         mestrokeColor.r=rgb[0];
 89.1418 +         mestrokeColor.g=rgb[1];
 89.1419 +         mestrokeColor.b=rgb[2];
 89.1420 +         strokedraw=false;
 89.1421 +         setbe(2,'img_okstroke');
 89.1422 +
 89.1423 +       }
 89.1424 +
 89.1425 +      result = shape.getAttribute('strokeweight');
 89.1426 +      mestrokeColor.width = result;
 89.1427 + 
 89.1428 +      result = shape.fill.getAttribute('opacity'); 
 89.1429 +      mefillColor.opacity = result;
 89.1430 +
 89.1431 +      result = shape.stroke.getAttribute('opacity');
 89.1432 +      mestrokeColor.opacity = result;
 89.1433 +      
 89.1434 +      setProperties();
 89.1435 +   }
 89.1436 +}
 89.1437 +
 89.1438 +
 89.1439 +VMLRenderer.prototype.showMultiSelect = function(iniX,iniY) { 
 89.1440 +  var tracker = document.getElementById('trackerMultiSelect');
 89.1441 +  if (tracker) {
 89.1442 +    this.remove(tracker);
 89.1443 +  } 
 89.1444 +  var coord=this.editor.inputxy;
 89.1445 +	toX=parseFloat(coord[0]);
 89.1446 +	toY=parseFloat(coord[1]); 
 89.1447 +	
 89.1448 +   tracker = this.container.ownerDocument.createElement('v:rect');
 89.1449 +  
 89.1450 +  tracker.style.position = 'relative';
 89.1451 +  tracker.style.left = iniX;
 89.1452 +  tracker.style.top = iniY;
 89.1453 +  tracker.style.width = toX ;
 89.1454 +  tracker.style.height = toY;
 89.1455 +  tracker.setAttribute('filled', 'false');
 89.1456 +  tracker.setAttribute('stroked', 'true');
 89.1457 +  tracker.setAttribute('strokecolor', 'blue');
 89.1458 +  tracker.setAttribute('strokeweight', '1px');    
 89.1459 +  
 89.1460 +  this.container.appendChild(tracker);    
 89.1461 +} 
 89.1462 +
 89.1463 +function mouseCoord()
 89.1464 +{                                           
 89.1465 +   var coord=this.editor.inputxy;
 89.1466 +   coord[0]=parseFloat(coord[0]);
 89.1467 +   coord[1]=parseFloat(coord[1]); 
 89.1468 +   return coord
 89.1469 +} 
 89.1470 +
 89.1471 +var memoNode=null; 
 89.1472 +var memoPrevControl=new Array();
 89.1473 +var memoNextControl=new Array();
 89.1474 +VMLRenderer.prototype.nodeMove = function(newx,newy) { 
 89.1475 +    var mypath=$('control_codebase').value; 
 89.1476 +   var  x= $('option_path_x').value;
 89.1477 +   var y= $('option_path_y').value; 
 89.1478 +   var precoord=x+','+y; 
 89.1479 +   
 89.1480 +   $('option_path_x').value=newx; 
 89.1481 +   $('option_path_y').value=newy; 
 89.1482 +    
 89.1483 +      var  cadx= newx;
 89.1484 +      var cady= newy; 
 89.1485 +  
 89.1486 +      var coord=cadx+','+cady;
 89.1487 +          var cad1=new RegExp(precoord,"g");
 89.1488 +      
 89.1489 +      
 89.1490 +      var result=mypath.replace(cad1, coord);
 89.1491 +      
 89.1492 +     
 89.1493 +      $('control_codebase').value=result; 
 89.1494 +      
 89.1495 +      $('someinfo').value=precoord;
 89.1496 +      setShape();
 89.1497 +
 89.1498 +}
 89.1499 +
 89.1500 +function drawNodeControl(vml,numId){
 89.1501 +      var color1='#0066ff';          
 89.1502 +           // if(parseInt(memoNode.id)==a){   
 89.1503 +                   
 89.1504 +                   var pointprev=memoPrevControl[numId].split(',');
 89.1505 +                 var controlNode1 = this.container.ownerDocument.createElement('v:rect');            
 89.1506 +                  controlNode1.setAttribute('x', pointprev[0]-2);
 89.1507 +                  controlNode1.setAttribute('y', pointprev[1]-2);
 89.1508 +          
 89.1509 +                  controlNode1.setAttribute('width', 4);
 89.1510 +                  controlNode1.setAttribute('height', 4);
 89.1511 +                  controlNode1.setAttribute('fillcolor', color1);
 89.1512 +                  controlNode1.setAttribute('strokecolor', '#000000');
 89.1513 +                  controlNode1.setAttribute('strokeweight', '0'); 
 89.1514 +                  controlNode1.setAttribute('id', 'controlNode1'); 
 89.1515 +                  controlNode1.addEventListener("mousedown", function(event) {if(memoNode != null){memoNode.setAttribute('strokeweight', 0 );} memoNode=this; this.setAttribute('fillcolor', '#ffff00' );this.setAttribute('strokeweight', 1 );$('option_path_num').value=this.getAttributeNS(null,'id'); $('option_path_x').value=parseFloat(this.getAttribute('x'))+2; $('option_path_y').value=parseFloat(this.getAttribute('y'))+2;  }, false);
 89.1516 +                  vml.appendChild(controlNode1);  
 89.1517 +                  
 89.1518 +                   var pointnext=memoNextControl[numId].split(',');
 89.1519 +                  
 89.1520 +               
 89.1521 +                  var controlNode2 =this.container.ownerDocument.createElement('v:rect'); 
 89.1522 +                  controlNode2.setAttribute('x', pointnext[0]-2);
 89.1523 +                  controlNode2.setAttribute('y', pointnext[1]-2);
 89.1524 +          
 89.1525 +                  controlNode2.setAttribute('width', 4);
 89.1526 +                  controlNode2.setAttribute('height', 4);
 89.1527 +                  controlNode2.setAttribute('fillcolor', color1);
 89.1528 +                  controlNode2.setAttribute('strokecolor', '#000000');
 89.1529 +                  controlNode2.setAttribute('strokeweight', '0'); 
 89.1530 +                  controlNode2.setAttribute('id', 'controlNode1'); 
 89.1531 +                  controlNode2.addEventListener("mousedown", function(event) {if(memoNode != null){memoNode.setAttribute('strokeweight', 0 );} memoNode=this; this.setAttribute('fillcolor', '#ffff00' );this.setAttribute('strokeweight', 1 );$('option_path_num').value=this.getAttributeNS(null,'id'); $('option_path_x').value=parseFloat(this.getAttribute('x'))+2; $('option_path_y').value=parseFloat(this.getAttribute('y'))+2;  }, false);
 89.1532 +                  vml.appendChild(controlNode2);  
 89.1533 +
 89.1534 +            //}
 89.1535 +
 89.1536 +
 89.1537 +}  
 89.1538 + 
 89.1539 +VMLRenderer.prototype.showNodesCurve = function(path){
 89.1540 +  var points=path.split('c');
 89.1541 +     var chain='';
 89.1542 +     var segment=' ';
 89.1543 +     var numpoints=points.length-1;
 89.1544 +     for(var a=1;a<numpoints;a++)
 89.1545 +      {   
 89.1546 +        segment=points[a].split(' ');
 89.1547 +         chain+=segment[0]+' ';       
 89.1548 +      } 
 89.1549 +      
 89.1550 +         $('someinfo').value=numpoints+ ' nodes ';
 89.1551 +    return chain;    
 89.1552 +        
 89.1553 +};
 89.1554 +
 89.1555 +
 89.1556 +
 89.1557 +VMLRenderer.prototype.showTracker = function(shape) {
 89.1558 +  var box = this.bounds(shape);
 89.1559 +  var trshape = parseFloat(shape.getAttribute('rotation'));  
 89.1560 +  var tracker = document.getElementById('tracker');
 89.1561 +  if (tracker) {
 89.1562 +    this.remove(tracker);
 89.1563 +  }
 89.1564 +  
 89.1565 +  if (shape.tagName == 'shape') 
 89.1566 +   { 
 89.1567 +      shap=2; 
 89.1568 +      if(shape.children[0].tagName == 'path') 
 89.1569 +       {
 89.1570 +      
 89.1571 +            /* $('option_path_trx').value= box.x;  
 89.1572 +             $('option_path_try').value= box.y;
 89.1573 +             $('option_path_sclx').value= box.width;   
 89.1574 +             $('option_path_scly').value= box.height; 
 89.1575 +             $('option_path_rot').value= shape.style.rotation;
 89.1576 +             */  
 89.1577 +             var path=shape.children[0].getAttribute('v');
 89.1578 +              $('control_codebase').value=path;
 89.1579 +       }        
 89.1580 +   }     
 89.1581 +  if (shape.tagName == 'rect') { 
 89.1582 +     
 89.1583 +     $('option_rect_rot').value= shape.getAttribute('rotation');
 89.1584 +     $('option_rect_trx').value= box.x;  
 89.1585 +     $('option_rect_try').value= box.y;
 89.1586 +     $('option_rect_sclx').value= box.width;  
 89.1587 +     $('option_rect_scly').value= box.height;
 89.1588 +
 89.1589 +  }  
 89.1590 +
 89.1591 +  if (shape.tagName == 'image'){
 89.1592 +  /*  $('option_img_trx').value= box.x; 
 89.1593 +    $('option_img_try').value= box.y;
 89.1594 +    $('option_img_sclx').value= box.width;  
 89.1595 +    $('option_img_scly').value= box.height;
 89.1596 +    $('option_img_rot').value= T.b* (Math.PI * 2 / 360);   
 89.1597 +      */
 89.1598 +  }
 89.1599 +  if (shape.tagName == 'text'){
 89.1600 +   /* f$('option_text_trx').value= box.x; 
 89.1601 +    $('option_text_try').value= box.y;
 89.1602 +    $('option_text_sclx').value= box.width;  
 89.1603 +    $('option_text_scly').value= box.height;
 89.1604 +    $('option_text_rot').value= T.b* (Math.PI * 2 / 360);
 89.1605 +   */
 89.1606 +  }
 89.1607 +  if (shape.tagName == 'line'){ 
 89.1608 +    /*
 89.1609 +    $('option_line_trx').value= box.x;  
 89.1610 +    $('option_line_try').value= box.y;
 89.1611 +    */
 89.1612 +  }   
 89.1613 +  if (shape.tagName == 'oval'){  
 89.1614 +    /*$('option_ellipse_trx').value= putx;  
 89.1615 +    $('option_ellipse_try').value= puty;
 89.1616 +    $('option_ellipse_sclx').value= box.width;  
 89.1617 +    $('option_ellipse_scly').value= box.height;
 89.1618 +    $('option_ellipse_rot').value= T.b* (Math.PI * 2 / 360);
 89.1619 +    */
 89.1620 +  }
 89.1621 +  
 89.1622 +  
 89.1623 +  
 89.1624 + /*var matrix = shape.getScreenCTM();
 89.1625 +  var trshape= shape.getAttribute('transform');  
 89.1626 +  var shap=1;
 89.1627 +  if (shape.tagName == 'path') { shap=2; 
 89.1628 +        
 89.1629 +        
 89.1630 +        
 89.1631 +  }
 89.1632 +  */  
 89.1633 +  //if (shape.getAttribute('transform') ) { shap=2; } 
 89.1634 +  //var svgNamespace = 'http://www.w3.org/2000/svg';
 89.1635 +  
 89.1636 +   tracker = this.container.ownerDocument.createElement('v:group');
 89.1637 +   tracker.id = 'tracker'; 
 89.1638 +  //tracker.setAttribute('rotation',trshape);
 89.1639 +  tracker.setAttribute('coordorigin','0, 0');
 89.1640 +  //tracker.setAttribute('wrapcoords',true);
 89.1641 + 
 89.1642 +   
 89.1643 +  tracker.setAttribute('coordsize',box.width+','+ box.height);
 89.1644 +  tracker.style.position = 'absolute';   
 89.1645 +  tracker.style.left = box.x ;
 89.1646 +  tracker.style.top = box.y;
 89.1647 +  tracker.style.width = box.width ;
 89.1648 +  tracker.style.height = box.height ;
 89.1649 +       
 89.1650 +        
 89.1651 +        
 89.1652 +        
 89.1653 +        
 89.1654 +   
 89.1655 +    
 89.1656 +    
 89.1657 +    
 89.1658 +    ////////////////
 89.1659 +
 89.1660 + /*
 89.1661 +       
 89.1662 +       var trshape='translate (0,0) rotate(0) translate(0,0) '; 
 89.1663 +       var trshape_split=trshape.split(') ');    
 89.1664 +       
 89.1665 +      // get_between (trshape, s1, s2) ;
 89.1666 +     if(shape.getAttribute('transform')){ 
 89.1667 +         var trshape=shape.getAttribute('transform') ;   
 89.1668 +         //var spl=trshape.replace(', ',' ');  
 89.1669 +         //var spl1=spl.replace(')',' ');    
 89.1670 +         var trshape_split=trshape.split(') '); 
 89.1671 +         
 89.1672 +
 89.1673 +    }
 89.1674 +  */
 89.1675 +                                         
 89.1676 + var corners = [];
 89.1677 +  var point = createPoint(box.x, box.y, box.width, box.height);
 89.1678 + //point = {x:box.x, y:box.y, width: box.width, height:box.height};
 89.1679 +//point = createPoint(box.x, box.y, box.width, box.height);    
 89.1680 +  //1
 89.1681 +  corners.push( createPoint(box.x + box.width, box.y, box.width, box.height) );
 89.1682 +  point.x = box.x + box.width;
 89.1683 +  point.y = box.y;
 89.1684 +  //2
 89.1685 +  corners.push( createPoint(box.x + box.width, box.y + box.height, box.width, box.height) );
 89.1686 +  point.x = box.x + box.width;
 89.1687 +  point.y = box.y + box.height;
 89.1688 +  //3
 89.1689 +  //corners.push( point.matrixTransform(matrix) );
 89.1690 +  corners.push( createPoint(box.x , box.y + box.height, box.width, box.height) );
 89.1691 +  point.x = box.x;
 89.1692 +  point.y = box.y + box.height;
 89.1693 +  //4
 89.1694 +  corners.push( createPoint(box.x + box.width, box.y, box.width, box.height) );   
 89.1695 +  
 89.1696 +  var max = createPoint(corners[0].x, corners[0].y);
 89.1697 +  var min = createPoint(corners[0].x, corners[0].y);
 89.1698 +
 89.1699 +  // identify the new corner coordinates of the
 89.1700 +  // fully transformed bounding box
 89.1701 +  
 89.1702 +  for (var i = 1; i < corners.length; i++) {
 89.1703 +    var x = corners[i].x;
 89.1704 +    var y = corners[i].y;
 89.1705 +    if (x < min.x) {
 89.1706 +      min.x = x;
 89.1707 +    }
 89.1708 +    else if (x > max.x) {
 89.1709 +      max.x = x;
 89.1710 +    }
 89.1711 +    if (y < min.y) {
 89.1712 +      min.y = y;
 89.1713 +    }
 89.1714 +    else if (y > max.y) {
 89.1715 +      max.y = y;
 89.1716 +    }
 89.1717 +  } 
 89.1718 +      
 89.1719 +      
 89.1720 + var border_square = this.container.ownerDocument.createElement('v:rect');
 89.1721 +  
 89.1722 +  border_square.style.position = 'relative';
 89.1723 +  border_square.style.left = 0 - 10;
 89.1724 +  border_square.style.top = 0 - 10;
 89.1725 +  border_square.style.width = box.width + 20;
 89.1726 +  border_square.style.height = box.height + 20;
 89.1727 +  border_square.setAttribute('filled', 'false');
 89.1728 +  border_square.setAttribute('stroked', 'true');
 89.1729 +  border_square.setAttribute('strokecolor', 'blue');
 89.1730 +  border_square.setAttribute('strokeweight', '1px');  
 89.1731 +  
 89.1732 +  
 89.1733 +  var border_angle = this.container.ownerDocument.createElement('v:polyline');  
 89.1734 +  border_angle.style.position = 'relative';
 89.1735 + 
 89.1736 +    //border_angle.setAttribute('from',(box.width+10) + 'px,' + (box.height/2) + 'px');
 89.1737 +   //border_angle.setAttribute('to', (box.width+10+25) + 'px,' + (box.width+10) + 'px');
 89.1738 +  border_angle.setAttribute('filled', 'false');
 89.1739 +  border_angle.setAttribute('stroked', 'true');
 89.1740 +  border_angle.setAttribute('strokecolor', 'blue');
 89.1741 +  border_angle.setAttribute('strokeweight', '1px'); 
 89.1742 +  border_angle.setAttribute("points", (box.width+10)+","+((box.height/2))+", "
 89.1743 +                                      +(box.width+10+25)+","+((box.height/2)) );
 89.1744 +                  
 89.1745 +      
 89.1746 +    /* var path01 = this.container.ownerDocument.createElement('v:path');  
 89.1747 +     //path01.setAttribute("v", "m "+thispath+" c"+ thispath2+" e ");  
 89.1748 +     path01.setAttribute("v", "m"+(min.x-10)+","+ (min.y-10)+" r"+(box.width+20)+","+(0)+" r"+(0)+","+(box.height+20)+" r"+(-box.width-20)+','+(0)+"x e m"+(box.x+box.width+10)+","+ (box.y+(box.height/2))+" r"+(25)+",0  e ");
 89.1749 +     border.appendChild(path01)
 89.1750 +    */ 
 89.1751 +     //border.setAttribute('stroke-width', '1'); 
 89.1752 +       
 89.1753 +// createRect(min.x, min.y, max.x - min.x, max.y - min.y);
 89.1754 +  
 89.1755 +  
 89.1756 + /* tracker = this.container.ownerDocument.createElement('v:rect');
 89.1757 +  tracker.id = 'tracker';
 89.1758 +  tracker.style.position = 'absolute';
 89.1759 +  tracker.style.left = box.x - 10;
 89.1760 +  tracker.style.top = box.y - 10;
 89.1761 +  tracker.style.width = box.width + 20;
 89.1762 +  tracker.style.height = box.height + 20;
 89.1763 +  tracker.setAttribute('filled', 'false');
 89.1764 +  tracker.setAttribute('stroked', 'true');
 89.1765 +  tracker.setAttribute('strokecolor', 'blue');
 89.1766 +  tracker.setAttribute('strokeweight', '1px');
 89.1767 +  this.container.appendChild(tracker);
 89.1768 + */
 89.1769 +     var circle1 = this.container.ownerDocument.createElement('v:oval'); 
 89.1770 +      circle1.style.position = 'relative'; 
 89.1771 +        circle1.style.left = ( (box.width+40)-5);
 89.1772 +    circle1.style.top = ( (box.height / 2) -5);
 89.1773 +    circle1.style.width = (10);
 89.1774 +    circle1.style.height = (10);
 89.1775 +    circle1.setAttribute('filled', 'true');
 89.1776 +   circle1.setAttribute('stroked', 'true'); 
 89.1777 +   circle1.setAttribute('fillcolor', '#ffffff');
 89.1778 +   circle1.setAttribute('strokecolor', 'green');
 89.1779 +   circle1.setAttribute('strokeweight', '1px');
 89.1780 +
 89.1781 +   
 89.1782 +  var rect1 = this.container.ownerDocument.createElement('v:rect');
 89.1783 +  rect1.style.position = 'relative';
 89.1784 +  rect1.style.left =  - 10-5;
 89.1785 +  rect1.style.top =  - 10-5;
 89.1786 +  rect1.style.width = 10;
 89.1787 +  rect1.style.height = 10;
 89.1788 +  rect1.setAttribute('filled', 'true');
 89.1789 +  rect1.setAttribute('stroked', 'true'); 
 89.1790 +  rect1.setAttribute('fillcolor', '#ffffff');
 89.1791 +  rect1.setAttribute('strokecolor', 'green');
 89.1792 +  rect1.setAttribute('strokeweight', '1px');
 89.1793 +
 89.1794 +    
 89.1795 +  var rect2 = this.container.ownerDocument.createElement('v:rect');
 89.1796 +  rect2.style.position = 'relative';
 89.1797 +  rect2.style.left =   box.width +5;
 89.1798 +  rect2.style.top = -10 -5;
 89.1799 +  rect2.style.width = 10;
 89.1800 +  rect2.style.height = 10;
 89.1801 +  rect2.setAttribute('filled', 'true');
 89.1802 +  rect2.setAttribute('stroked', 'true'); 
 89.1803 +  rect2.setAttribute('fillcolor', '#ffffff');
 89.1804 +  rect2.setAttribute('strokecolor', 'green');
 89.1805 +  rect2.setAttribute('strokeweight', '1px');
 89.1806 +
 89.1807 +                                                        
 89.1808 +  var rect3 = this.container.ownerDocument.createElement('v:rect');
 89.1809 +  rect3.style.position = 'relative';
 89.1810 +  rect3.style.left =   box.width+5;
 89.1811 +  rect3.style.top =  box.height+5;
 89.1812 +  rect3.style.width = 10;
 89.1813 +  rect3.style.height = 10;
 89.1814 +  rect3.setAttribute('filled', 'true');
 89.1815 +  rect3.setAttribute('stroked', 'true'); 
 89.1816 +  rect3.setAttribute('fillcolor', '#ffffff');
 89.1817 +  rect3.setAttribute('strokecolor', 'green');
 89.1818 +  rect3.setAttribute('strokeweight', '1px');
 89.1819 +   
 89.1820 +  var rect4 = this.container.ownerDocument.createElement('v:rect');
 89.1821 +  rect4.style.position = 'relative';
 89.1822 +  rect4.style.left =  -10-5;
 89.1823 +  rect4.style.top = box.height+5;
 89.1824 +  rect4.style.width = 10;
 89.1825 +  rect4.style.height = 10;
 89.1826 +  rect4.setAttribute('filled', 'true');
 89.1827 +  rect4.setAttribute('stroked', 'true'); 
 89.1828 +  rect4.setAttribute('fillcolor', '#ffffff');
 89.1829 +  rect4.setAttribute('strokecolor', 'green');
 89.1830 +  rect4.setAttribute('strokeweight', '1px');
 89.1831 + 
 89.1832 + 
 89.1833 + 
 89.1834 +  var rectmid12 = this.container.ownerDocument.createElement('v:rect');
 89.1835 +  rectmid12.style.position = 'relative';
 89.1836 +  rectmid12.style.left = (box.width/2) -5;
 89.1837 +  rectmid12.style.top =- 10-5;
 89.1838 +  rectmid12.style.width = 10;
 89.1839 +  rectmid12.style.height = 10;
 89.1840 +  rectmid12.setAttribute('filled', 'true');
 89.1841 +  rectmid12.setAttribute('stroked', 'true'); 
 89.1842 +  rectmid12.setAttribute('fillcolor', '#ffffff');
 89.1843 +  rectmid12.setAttribute('strokecolor', 'green');
 89.1844 +  rectmid12.setAttribute('strokeweight', '1px');
 89.1845 +
 89.1846 + var rectmid23 = this.container.ownerDocument.createElement('v:rect');
 89.1847 +  rectmid23.style.position = 'relative';
 89.1848 +  rectmid23.style.left = box.width +5;
 89.1849 +  rectmid23.style.top = (box.height/2)-5;
 89.1850 +  rectmid23.style.width = 10;
 89.1851 +  rectmid23.style.height = 10;
 89.1852 +  rectmid23.setAttribute('filled', 'true');
 89.1853 +  rectmid23.setAttribute('stroked', 'true'); 
 89.1854 +  rectmid23.setAttribute('fillcolor', '#ffffff');
 89.1855 +  rectmid23.setAttribute('strokecolor', 'green');
 89.1856 +  rectmid23.setAttribute('strokeweight', '1px');
 89.1857 +
 89.1858 + var rectmid34 = this.container.ownerDocument.createElement('v:rect');
 89.1859 +  rectmid34.style.position = 'relative';
 89.1860 +  rectmid34.style.left = (box.width/2)-5;
 89.1861 +  rectmid34.style.top = box.height+5;
 89.1862 +  rectmid34.style.width = 10;
 89.1863 +  rectmid34.style.height = 10;
 89.1864 +  rectmid34.setAttribute('filled', 'true');
 89.1865 +  rectmid34.setAttribute('stroked', 'true'); 
 89.1866 +  rectmid34.setAttribute('fillcolor', '#ffffff');
 89.1867 +  rectmid34.setAttribute('strokecolor', 'green');
 89.1868 +  rectmid34.setAttribute('strokeweight', '1px');
 89.1869 +
 89.1870 + 
 89.1871 + var rectmid41 = this.container.ownerDocument.createElement('v:rect');
 89.1872 +  rectmid41.style.position = 'relative';
 89.1873 +  rectmid41.style.left =  -10-5 ;
 89.1874 +  rectmid41.style.top =(box.height/2)-5;
 89.1875 +  rectmid41.style.width = 10;
 89.1876 +  rectmid41.style.height = 10;
 89.1877 +  rectmid41.setAttribute('filled', 'true');
 89.1878 +  rectmid41.setAttribute('stroked', 'true'); 
 89.1879 +  rectmid41.setAttribute('fillcolor', '#ffffff');
 89.1880 +  rectmid41.setAttribute('strokecolor', 'green');
 89.1881 +  rectmid41.setAttribute('strokeweight', '1px');
 89.1882 + 
 89.1883 +       
 89.1884 +  
 89.1885 +
 89.1886 +     var colorin="#ff0000";
 89.1887 +      var colorout="#ffffff" 
 89.1888 +      
 89.1889 +        circle1.attachEvent("onmouseover", function(event) {circle1.style.cursor= 's-resize';  circle1.setAttribute('fillcolor', colorin ); typeTransform='Rotate'; scaleType='nw'; }, false);
 89.1890 +     circle1.attachEvent("onmouseout", function(event) {circle1.style.cursor= 'default';  circle1.setAttribute('fillcolor', colorout ); typeTransform='Rotate'; }, false); //typeTransform='rotate'
 89.1891 + 
 89.1892 +      
 89.1893 +     rect1.attachEvent("onmouseover", function(event) {rect1.style.cursor= 'nw-resize';  rect1.setAttribute('fillcolor', colorin ); typeTransform='Scale'; scaleType='nw';  }, false);
 89.1894 +     rect1.attachEvent("onmouseout", function(event) {rect1.style.cursor= 'default';  rect1.setAttribute('fillcolor', colorout ); typeTransform='Scale';  }, false); //typeTransform='rotate'
 89.1895 +    
 89.1896 +     rect2.attachEvent("onmouseover", function(event) {rect2.style.cursor= 'ne-resize';  rect2.setAttribute('fillcolor', colorin ); typeTransform='Scale'; scaleType='ne';}, false);  
 89.1897 +     rect2.attachEvent("onmouseout", function(event) {rect2.style.cursor= 'default';  rect2.setAttribute('fillcolor', colorout ); typeTransform='Scale'; }, false);
 89.1898 +      
 89.1899 +     rect3.attachEvent("onmouseover", function(event) {rect3.style.cursor= 'se-resize';  rect3.setAttribute('fillcolor', colorin ); typeTransform='Scale'; scaleType='se';}, false);  
 89.1900 +     rect3.attachEvent("onmouseout", function(event) {rect3.style.cursor= 'default';  rect3.setAttribute('fillcolor', colorout ); typeTransform='Scale'; }, false);
 89.1901 +     
 89.1902 +     rect4.attachEvent("onmouseover", function(event) {rect4.style.cursor= 'sw-resize';  rect4.setAttribute('fillcolor', colorin ); typeTransform='Scale'; scaleType='sw';}, false);  
 89.1903 +     rect4.attachEvent("onmouseout", function(event) {rect4.style.cursor= 'default';  rect4.setAttribute('fillcolor', colorout ); typeTransform='Scale'; }, false);
 89.1904 +                                                    
 89.1905 +     rectmid12.attachEvent("onmouseover", function(event) {rectmid12.style.cursor= 'n-resize';  rectmid12.setAttribute('fillcolor', colorin ); typeTransform='Scale'; scaleType='n';}, false);  
 89.1906 +     rectmid12.attachEvent("onmouseout", function(event) {rectmid12.style.cursor= 'default';  rectmid12.setAttribute('fillcolor', colorout ); typeTransform=''; }, false); 
 89.1907 +
 89.1908 +     rectmid23.attachEvent("onmouseover", function(event) {rectmid23.style.cursor= 'e-resize';  rectmid23.setAttribute('fillcolor', colorin ); typeTransform='Scale'; scaleType='e';}, false);  
 89.1909 +     rectmid23.attachEvent("onmouseout", function(event) {rectmid23.style.cursor= 'default';  rectmid23.setAttribute('fillcolor', colorout ); typeTransform=''; }, false); 
 89.1910 +     
 89.1911 +     rectmid34.attachEvent("onmouseover", function(event) {rectmid34.style.cursor= 's-resize';  rectmid34.setAttribute('fillcolor', colorin ); typeTransform='Scale'; scaleType='s';}, false);  
 89.1912 +     rectmid34.attachEvent("onmouseout", function(event) {rectmid34.style.cursor= 'default';  rectmid34.setAttribute('fillcolor', colorout ); typeTransform=''; }, false); 
 89.1913 +
 89.1914 +     rectmid41.attachEvent("onmouseover", function(event) {rectmid41.style.cursor= 'w-resize';  rectmid41.setAttribute('fillcolor', colorin ); typeTransform='Scale'; scaleType='w'; }, false);  
 89.1915 +     rectmid41.attachEvent("onmouseout", function(event) {rectmid41.style.cursor= 'default';  rectmid41.setAttribute('fillcolor', colorout ); typeTransform=''; }, false); 
 89.1916 +   //tracker.setAttribute('transform',trshape); 
 89.1917 +
 89.1918 + 
 89.1919 + 
 89.1920 +  tracker.appendChild(border_square); 
 89.1921 +  tracker.appendChild(border_angle);  
 89.1922 +   
 89.1923 +  tracker.appendChild(circle1);  
 89.1924 +  
 89.1925 +  tracker.appendChild(rect1);    
 89.1926 +  tracker.appendChild(rect2);   
 89.1927 +  tracker.appendChild(rect3); 
 89.1928 +  tracker.appendChild(rect4);    
 89.1929 +  tracker.appendChild(rectmid12);  
 89.1930 +  tracker.appendChild(rectmid23);
 89.1931 +  tracker.appendChild(rectmid34);
 89.1932 +  tracker.appendChild(rectmid41);  
 89.1933 +  
 89.1934 +  /*
 89.1935 +   
 89.1936 +  
 89.1937 + 
 89.1938 +  */
 89.1939 +
 89.1940 +
 89.1941 +   this.container.appendChild(tracker);
 89.1942 +
 89.1943 +
 89.1944 +
 89.1945 +}                                      
 89.1946 +
 89.1947 +
 89.1948 +
 89.1949 +
 89.1950 +
 89.1951 +
 89.1952 +
 89.1953 +
 89.1954 +
 89.1955 +
 89.1956 +VMLRenderer.prototype.getMarkup = function() { 
 89.1957 +       
 89.1958 +  return this.container.innerHTML;
 89.1959 +}
 89.1960 +
 89.1961 +
 89.1962 +
 89.1963 +/////////////////////////////////
 89.1964 +
 89.1965 +
 89.1966 +
 89.1967 +var rotatexxx=0; 
 89.1968 + 
 89.1969 +var scaleType=''; 
 89.1970 +var xrot=0;
 89.1971 +var yrot=0;  
 89.1972 +
 89.1973 +var point = {x:0, y:0, width: 0, height:0};
 89.1974 +
 89.1975 +function createPoint (x, y, width, height) {
 89.1976 +    //var point = {x:34, y:22, width: 22, height:23};
 89.1977 +    //point.x = x;
 89.1978 +    //point.y = y;   
 89.1979 +    point = {x:x, y:y, width: width, height:height};
 89.1980 +    return point;
 89.1981 +  }
 89.1982 +
 89.1983 +
 89.1984 +/////////////////////////////////
 89.1985 +
 89.1986 +VMLRenderer.prototype.restruct= function(shape)
 89.1987 +{
 89.1988 +};        
 89.1989 +
 89.1990 +
 89.1991 +
 89.1992 +VMLRenderer.prototype.transform = function() {
 89.1993 +
 89.1994 +};
 89.1995 +
 89.1996 +VMLRenderer.prototype.scaleShape = function(shape, previus,toX, toY) {
 89.1997 +// document.forms[0].code.value="escala";      
 89.1998 +
 89.1999 +         //document.forms[0].code.value="escala"; 
 89.2000 +          var box = this.bounds(shape);
 89.2001 +	 var prevbox=this.bounds(previus);
 89.2002 +	var centerx= box.x+(box.width/2);
 89.2003 +	var centery= box.y+(box.height/2); 
 89.2004 +	var coord=this.editor.inputxy;
 89.2005 +	toX=parseFloat(coord[0]);
 89.2006 +	toY=parseFloat(coord[1]); 
 89.2007 +	var d2p_center=dist2p(centerx,centery,toX,toY);       
 89.2008 +
 89.2009 +	var d2p=dist2p(box.x,box.y,toX,toY);
 89.2010 +
 89.2011 +	var shareScale=box.width/d2p;
 89.2012 +
 89.2013 +	var trans_ShareScale='';
 89.2014 +	var tx, ty, tw, yh;
 89.2015 +
 89.2016 +	if(scaleType.length==1){
 89.2017 +		if(scaleType== 'w')
 89.2018 +		 {
 89.2019 +			trans_ShareScale=shareScale+",1";  
 89.2020 +			tx=toX; 
 89.2021 +			ty=prevbox.y; 
 89.2022 +			var dist=prevbox.x-toX;
 89.2023 +			var w=dist+prevbox.width;
 89.2024 +			if(w<1){w=1;}
 89.2025 +			tw=w;
 89.2026 +			th=prevbox.height;
 89.2027 +			//document.forms[0].code.value=box.x+' '+toX+' '+dist+''; 
 89.2028 +		 }        
 89.2029 +		if(scaleType== 'e')
 89.2030 +		 {
 89.2031 +		        trans_ShareScale=shareScale+",1"; 
 89.2032 +			tx=prevbox.x; 
 89.2033 +			ty=prevbox.y; 
 89.2034 +			var dist=toX-(prevbox.x+prevbox.width); //dist2p(toX,b,c,d);
 89.2035 +			var w=dist+prevbox.width;
 89.2036 +			if(w<1){w=1;}
 89.2037 +			tw=w;
 89.2038 +			th=prevbox.height;
 89.2039 + 
 89.2040 +		 }        
 89.2041 +		if(scaleType== 'n')
 89.2042 +		 {
 89.2043 +			trans_ShareScale="1,"+shareScale; 
 89.2044 +			
 89.2045 +			tx=prevbox.x; 
 89.2046 +			ty=toY; 
 89.2047 +			var dist=prevbox.y-toY;
 89.2048 +			var h=dist+prevbox.height;
 89.2049 +			if(h<1){h=1;}
 89.2050 +			tw=prevbox.width;
 89.2051 +			th=h;
 89.2052 +
 89.2053 +		 }
 89.2054 +                if( scaleType== 's')
 89.2055 +                 {
 89.2056 +                        trans_ShareScale="1,"+shareScale;  
 89.2057 +
 89.2058 +			tx=prevbox.x; 
 89.2059 +			ty=prevbox.y; 
 89.2060 +			var dist=toY-(prevbox.y+prevbox.height); //dist2p(toX,b,c,d);
 89.2061 +			var h=dist+prevbox.height;
 89.2062 +			if(h<1){h=1;}
 89.2063 +			tw=prevbox.width;
 89.2064 +			th=h;
 89.2065 +
 89.2066 +	         }
 89.2067 +        }
 89.2068 +	if(scaleType.length==2){
 89.2069 +		if(scaleType== 'nw'){
 89.2070 +			trans_ShareScale=shareScale+","+shareScale; 
 89.2071 +          
 89.2072 +      			//var angle_diagonal=getAngle(prevbox.width,prevbox.height);
 89.2073 +      			  var angle_diagonal=ang2v(prevbox.x,prevbox.y,prevbox.x+prevbox.width,prevbox.y+prevbox.height)
 89.2074 +            
 89.2075 +                        var ax= prevbox.x;
 89.2076 +                        var ay= prevbox.y;
 89.2077 +                        var bx= prevbox.x+prevbox.width; 
 89.2078 +                        var by= prevbox.y+prevbox.height; 
 89.2079 +                        
 89.2080 +                        var cx= toX;
 89.2081 +                        var cy= toY;
 89.2082 +                        var dx= toX+10*Math.cos(angle_diagonal+(Math.PI/2)); 
 89.2083 +                        var dy= toY+10*Math.sin(angle_diagonal+(Math.PI/2)); 
 89.2084 +                      var section_a=ntrsccn2rb(ax,ay,bx,by,cx,cy,dx,dy); 
 89.2085 +                 this.editor.log(angle_diagonal* 180 / Math.PI);       
 89.2086 +
 89.2087 +                var tx= section_a[1];
 89.2088 +                var ty= section_a[2];
 89.2089 +                
 89.2090 +                        var ax= section_a[1];
 89.2091 +                        var ay= section_a[2];
 89.2092 +                        var bx= 0;
 89.2093 +                        var by= section_a[2] ; 
 89.2094 +                        
 89.2095 +                        var cx=prevbox.x+prevbox.width; 
 89.2096 +                        var cy= prevbox.y;
 89.2097 +
 89.2098 +                        var dx= prevbox.x+prevbox.width;  
 89.2099 +                        var dy= 0;
 89.2100 +                        
 89.2101 +                      
 89.2102 +                var section_b=ntrsccn2rb(ax,ay,bx,by,cx,cy,dx,dy);
 89.2103 +
 89.2104 +                var distx=dist2p(section_a[1],section_a[2],section_b[1],section_b[2]);         
 89.2105 +                
 89.2106 +                        var ax= section_a[1];
 89.2107 +                        var ay= section_a[2];
 89.2108 +                        var bx= section_a[1] 
 89.2109 +                        var by= 0; 
 89.2110 +                        
 89.2111 +                        var cx= prevbox.x; 
 89.2112 +                        var cy= prevbox.y+prevbox.height; 
 89.2113 +
 89.2114 +                        var dx= 0; 
 89.2115 +                        var dy= prevbox.y+prevbox.height;
 89.2116 +                        
 89.2117 +                      
 89.2118 +                var section_c=ntrsccn2rb(ax,ay,bx,by,cx,cy,dx,dy);
 89.2119 +
 89.2120 +                var disty=dist2p(section_a[1],section_a[2],section_c[1],section_c[2]);         
 89.2121 +                
 89.2122 +                  
 89.2123 + 
 89.2124 +
 89.2125 +                    
 89.2126 +                        if(distx<1){distx=1;}    
 89.2127 +			
 89.2128 +         		
 89.2129 +			if(disty<1){disty=1;}
 89.2130 +                        //document.forms[0].code.value=distx+' '+disty;
 89.2131 +			tw=distx;
 89.2132 +			th=disty;
 89.2133 +
 89.2134 +			
 89.2135 +		}                  
 89.2136 +		
 89.2137 +	//////////////////// SE
 89.2138 +		
 89.2139 +           if( scaleType== 'se'){
 89.2140 +			trans_ShareScale=shareScale+","+shareScale;   
 89.2141 +			
 89.2142 +	          
 89.2143 +      			//var angle_diagonal=getAngle(prevbox.width,prevbox.height);
 89.2144 +       			var angle_diagonal=ang2v(prevbox.x,prevbox.y,prevbox.x+prevbox.width,prevbox.y+prevbox.height)
 89.2145 +		
 89.2146 +			
 89.2147 +			
 89.2148 +                        var ax= prevbox.x;
 89.2149 +                        var ay= prevbox.y;
 89.2150 +                        var bx= prevbox.x+prevbox.width; 
 89.2151 +                        var by= prevbox.y+prevbox.height; 
 89.2152 +                        
 89.2153 +                        var cx= toX;
 89.2154 +                        var cy= toY;   
 89.2155 +                        var dx= toX+10*Math.cos(angle_diagonal+(Math.PI/2)); 
 89.2156 +                        var dy= toY+10*Math.sin(angle_diagonal+(Math.PI/2)); 
 89.2157 +      
 89.2158 +                var section_a=ntrsccn2rb(ax,ay,bx,by,cx,cy,dx,dy);   
 89.2159 +                
 89.2160 +                                         
 89.2161 +
 89.2162 +                //////////
 89.2163 +                var tx= prevbox.x;
 89.2164 +                var ty= prevbox.y;
 89.2165 +                
 89.2166 +                        var ax= section_a[1];
 89.2167 +                        var ay= section_a[2];
 89.2168 +                        var bx= 0;
 89.2169 +                        var by= section_a[2] ; 
 89.2170 +                        
 89.2171 +                        var cx=prevbox.x; 
 89.2172 +                        var cy= prevbox.y;
 89.2173 +
 89.2174 +                        var dx= prevbox.x;  
 89.2175 +                        var dy= 0;
 89.2176 +                        
 89.2177 +                      
 89.2178 +                var section_b=ntrsccn2rb(ax,ay,bx,by,cx,cy,dx,dy);
 89.2179 +               
 89.2180 +               /////////////////
 89.2181 +               
 89.2182 +               
 89.2183 +                var distx=dist2p(section_a[1],section_a[2],section_b[1],section_b[2]);         
 89.2184 +
 89.2185 +             
 89.2186 +                        var ax= section_a[1];
 89.2187 +                        var ay= section_a[2];
 89.2188 +                        var bx= section_a[1] 
 89.2189 +                        var by= 0; 
 89.2190 +                        
 89.2191 +                        var cx= prevbox.x; 
 89.2192 +                        var cy= prevbox.y; 
 89.2193 +
 89.2194 +                        var dx=0;
 89.2195 +                        var dy= prevbox.y;
 89.2196 +                        
 89.2197 +                      
 89.2198 +                var section_c=ntrsccn2rb(ax,ay,bx,by,cx,cy,dx,dy);
 89.2199 +               
 89.2200 +               ///////////////
 89.2201 +               
 89.2202 +                var disty=dist2p(section_a[1],section_a[2],section_c[1],section_c[2]);         
 89.2203 +                
 89.2204 +   
 89.2205 +                    
 89.2206 +                        if(distx<1){distx=1;}    
 89.2207 +			
 89.2208 +         		
 89.2209 +			if(disty<1){disty=1;}
 89.2210 +                        
 89.2211 +			tw=distx;
 89.2212 +			th=disty;
 89.2213 +
 89.2214 +			
 89.2215 +		}
 89.2216 +
 89.2217 +		if(scaleType== 'ne'){  
 89.2218 +		        
 89.2219 +			trans_ShareScale=shareScale+","+shareScale;   
 89.2220 +			
 89.2221 +	                var angle_diagonal=ang2v(prevbox.x,prevbox.y+prevbox.height,prevbox.x+prevbox.width,prevbox.y)
 89.2222 +      			//var angle_diagonal=getAngle(prevbox.width,prevbox.height);
 89.2223 + 		
 89.2224 +			
 89.2225 +				
 89.2226 +			
 89.2227 +                        var ax= prevbox.x;
 89.2228 +                        var ay= prevbox.y+prevbox.height;
 89.2229 +                        var bx= prevbox.x+prevbox.width; 
 89.2230 +                        var by= prevbox.y;
 89.2231 +                       
 89.2232 +                        var cx= toX;
 89.2233 +                        var cy= toY;   
 89.2234 +                        var dx= toX+10*Math.cos(angle_diagonal+(Math.PI/2)); 
 89.2235 +                        var dy= toY+10*Math.sin(angle_diagonal+(Math.PI/2)); 
 89.2236 +
 89.2237 +
 89.2238 +                      this.editor.log(angle_diagonal);
 89.2239 +
 89.2240 +      
 89.2241 +                var section_a=ntrsccn2rb(ax,ay,bx,by,cx,cy,dx,dy);   
 89.2242 +                
 89.2243 +                                         
 89.2244 +
 89.2245 +                //////////
 89.2246 +                var tx= prevbox.x;
 89.2247 +                var ty= section_a[2];
 89.2248 +                
 89.2249 +                        var ax= section_a[1];
 89.2250 +                        var ay= section_a[2];
 89.2251 +                        var bx= 0;
 89.2252 +                        var by= section_a[2] ; 
 89.2253 +                        
 89.2254 +                        var cx=prevbox.x; 
 89.2255 +                        var cy= prevbox.y;
 89.2256 +
 89.2257 +                        var dx= prevbox.x;  
 89.2258 +                        var dy= 0;
 89.2259 +                        
 89.2260 +                      
 89.2261 +                var section_b=ntrsccn2rb(ax,ay,bx,by,cx,cy,dx,dy);
 89.2262 +               
 89.2263 +               /////////////////
 89.2264 +               
 89.2265 +               
 89.2266 +                var distx=dist2p(section_a[1],section_a[2],section_b[1],section_b[2]);         
 89.2267 +
 89.2268 +             
 89.2269 +                        var ax= section_a[1];
 89.2270 +                        var ay= section_a[2];
 89.2271 +                        var bx= section_a[1]; 
 89.2272 +                        var by= 0; 
 89.2273 +                        
 89.2274 +                        var cx= prevbox.x; 
 89.2275 +                        var cy= prevbox.y+prevbox.height; 
 89.2276 +
 89.2277 +                        var dx=0;
 89.2278 +                        var dy= prevbox.y+prevbox.height;
 89.2279 +                        
 89.2280 +                      
 89.2281 +                var section_c=ntrsccn2rb(ax,ay,bx,by,cx,cy,dx,dy);
 89.2282 +               
 89.2283 +               ///////////////
 89.2284 +               
 89.2285 +                var disty=dist2p(section_a[1],section_a[2],section_c[1],section_c[2]);         
 89.2286 +                
 89.2287 +
 89.2288 +                    
 89.2289 +                        if(distx<1){distx=1;}    
 89.2290 +			
 89.2291 +         		
 89.2292 +			if(disty<1){disty=1;}
 89.2293 +                        //document.forms[0].code.value=distx+' '+disty;
 89.2294 +			tw=distx;
 89.2295 +			th=disty;
 89.2296 +			
 89.2297 +			
 89.2298 +			
 89.2299 +			
 89.2300 +			
 89.2301 +		}
 89.2302 +		if(scaleType== 'sw'){
 89.2303 +			trans_ShareScale=shareScale+","+shareScale;  
 89.2304 +			
 89.2305 +			
 89.2306 +				
 89.2307 +			
 89.2308 +	                var angle_diagonal=ang2v(prevbox.x,prevbox.y+prevbox.height,prevbox.x+prevbox.width,prevbox.y)
 89.2309 +      			//var angle_diagonal=getAngle(prevbox.width,prevbox.height);
 89.2310 + 		
 89.2311 +			
 89.2312 +				
 89.2313 +			
 89.2314 +                        var ax= prevbox.x;
 89.2315 +                        var ay= prevbox.y+prevbox.height;
 89.2316 +                        var bx= prevbox.x+prevbox.width; 
 89.2317 +                        var by= prevbox.y;
 89.2318 +                       
 89.2319 +                        var cx= toX;
 89.2320 +                        var cy= toY;   
 89.2321 +                        var dx= toX+10*Math.cos(angle_diagonal+(Math.PI/2)); 
 89.2322 +                        var dy= toY+10*Math.sin(angle_diagonal+(Math.PI/2)); 
 89.2323 +
 89.2324 +
 89.2325 +                      this.editor.log(angle_diagonal);
 89.2326 +
 89.2327 +      
 89.2328 +                var section_a=ntrsccn2rb(ax,ay,bx,by,cx,cy,dx,dy);   
 89.2329 +                
 89.2330 +
 89.2331 +                //////////
 89.2332 +                var tx= section_a[1];
 89.2333 +                var ty= prevbox.y;
 89.2334 +                
 89.2335 +                        var ax= section_a[1];
 89.2336 +                        var ay= section_a[2];
 89.2337 +                        var bx= 0;
 89.2338 +                        var by= section_a[2] ; 
 89.2339 +                        
 89.2340 +                        var cx=prevbox.x+prevbox.width; 
 89.2341 +                        var cy= prevbox.y+prevbox.height;
 89.2342 +
 89.2343 +                        var dx= prevbox.x+prevbox.width;  
 89.2344 +                        var dy= 0;
 89.2345 +                        
 89.2346 +                      
 89.2347 +                var section_b=ntrsccn2rb(ax,ay,bx,by,cx,cy,dx,dy);
 89.2348 +                var distx=dist2p(section_a[1],section_a[2],section_b[1],section_b[2]);         
 89.2349 +
 89.2350 +               /////////////////             
 89.2351 +                        var ax= section_a[1];
 89.2352 +                        var ay= section_a[2];
 89.2353 +                        var bx= section_a[1];
 89.2354 +                        var by= 0; 
 89.2355 +                          
 89.2356 +                        var cx= prevbox.x; 
 89.2357 +                        var cy= prevbox.y; 
 89.2358 +
 89.2359 +                        var dx=0;
 89.2360 +                        var dy= prevbox.y;
 89.2361 +                        
 89.2362 +                      
 89.2363 +                var section_c=ntrsccn2rb(ax,ay,bx,by,cx,cy,dx,dy);
 89.2364 +                  var disty=dist2p(section_a[1],section_a[2],section_c[1],section_c[2]);         
 89.2365 +              ///////////////
 89.2366 +                
 89.2367 +   
 89.2368 +                    
 89.2369 +                        if(distx<1){distx=1;}    
 89.2370 +			
 89.2371 +         		
 89.2372 +			if(disty<1){disty=1;}
 89.2373 +                        //document.forms[0].code.value=distx+' '+disty;
 89.2374 +			tw=distx;
 89.2375 +			th=disty;
 89.2376 +			
 89.2377 +		}
 89.2378 +
 89.2379 +	}  
 89.2380 +
 89.2381 +
 89.2382 +
 89.2383 + if(shape.tagName == 'rect')
 89.2384 +  { 
 89.2385 +    //alert(data[0]); 
 89.2386 +    
 89.2387 +    
 89.2388 +      shape.style.left = tx + 'px';
 89.2389 +      shape.style.top = ty + 'px'; 
 89.2390 +      shape.style.height = th + 'px';
 89.2391 +      shape.style.width = tw + 'px';
 89.2392 +    
 89.2393 +  }
 89.2394 +   else 
 89.2395 + if(shape.tagName == 'text')
 89.2396 +  {
 89.2397 +    /*
 89.2398 +    shape.setAttribute('x',tx);
 89.2399 +    shape.setAttribute('y',ty);   
 89.2400 +    shape.setAttribute('width', tw);     
 89.2401 +    shape.setAttribute('height', th); 
 89.2402 +    
 89.2403 +    //previus.setAttribute('transform', "scale("+trans_ShareScale+")");
 89.2404 +     shape.setAttribute('x', tx + 'px');
 89.2405 +    shape.setAttribute('y', ty + 'px');
 89.2406 +
 89.2407 +    shape.setAttribute('textLength', parseInt(Math.round(tw)));    
 89.2408 +    
 89.2409 +     */
 89.2410 +  } 
 89.2411 +   else 
 89.2412 + if(shape.tagName == 'oval')
 89.2413 +  {
 89.2414 +    //shape.getAttribute('transform)
 89.2415 +   
 89.2416 +      shape.style.left = tx + 'px';
 89.2417 +      shape.style.top = ty + 'px'; 
 89.2418 +      shape.style.height = th + 'px';
 89.2419 +      shape.style.width = tw + 'px';
 89.2420 + 
 89.2421 +        
 89.2422 +  }
 89.2423 +   else 
 89.2424 + if(shape.tagName == 'line')
 89.2425 +  { 
 89.2426 +       shape.setAttribute('to',tx + 'px,' + ty + 'px'); 
 89.2427 +           shape.setAttribute('from', tw + 'px,' + th + 'px');
 89.2428 +   
 89.2429 +         
 89.2430 +  }
 89.2431 +   else
 89.2432 + if (shape.tagName == 'polyline') 
 89.2433 +  {
 89.2434 +   
 89.2435 +  }
 89.2436 +   else 
 89.2437 + if (shape.tagName == 'image') 
 89.2438 +  {   
 89.2439 +     
 89.2440 +      shape.style.left = tx + 'px';
 89.2441 +      shape.style.top = ty + 'px'; 
 89.2442 +      shape.style.height = th + 'px';
 89.2443 +      shape.style.width = tw + 'px';
 89.2444 +      
 89.2445 +  }
 89.2446 +   else 
 89.2447 + if (shape.tagName == 'shape')
 89.2448 +  {     
 89.2449 +
 89.2450 +      shape.style.left = tx + 'px';
 89.2451 +      shape.style.top = ty + 'px'; 
 89.2452 +      shape.style.height = th + 'px';
 89.2453 +      shape.style.width = tw + 'px';
 89.2454 +
 89.2455 +       //document.forms[0].code.value='';
 89.2456 +       //shape.setAttribute('transform', "scale("+trans_ShareScale+")");
 89.2457 +
 89.2458 +  }  
 89.2459 +   	                             
 89.2460 +
 89.2461 + 
 89.2462 +         
 89.2463 +         
 89.2464 +};  
 89.2465 +
 89.2466 +
 89.2467 +
 89.2468 +VMLRenderer.prototype.rotateShape = function(shape, previus,toX, toY) {
 89.2469 + 
 89.2470 + 
 89.2471 + 
 89.2472 +         //document.forms[0].code.value=$('xyinput').innerHTML;  
 89.2473 +    //document.getElementById('richdraw').style.cursor='e-resize';
 89.2474 +         var box = this.bounds(shape);
 89.2475 +	 var prevbox=this.bounds(previus);
 89.2476 +	var centerx= box.x+(box.width/2);
 89.2477 +	var centery= box.y+(box.height/2); 
 89.2478 +	var coord=this.editor.inputxy;
 89.2479 +
 89.2480 +       var actual_angle=ang2v(centerx,centery,coord[0], coord[1]);
 89.2481 +       
 89.2482 +       if(xrot<toX) { rotatexxx+=1;}else{rotatexxx-=1;}
 89.2483 +       xrot=toX;
 89.2484 +       yrot=toY;  
 89.2485 +       
 89.2486 +	var xtr=0;
 89.2487 +        var ytr=0;
 89.2488 +                
 89.2489 +        //var box= shape.getBBox();  
 89.2490 +        var tr1x=  box.x;  
 89.2491 +         var tr1y=  box.y;
 89.2492 +
 89.2493 + 
 89.2494 + 
 89.2495 +    toX+=xtr;
 89.2496 +        toY+=xtr;
 89.2497 +
 89.2498 +      //var trax=parseFloat(toX-box.x);   var tray= parseFloat(toY-box.y);      
 89.2499 +      var trax=parseFloat(box.x/2);   var tray= parseFloat(box.y/2); 
 89.2500 +       var angler=Math.atan2(toX,toY);
 89.2501 +         var angle=angler*180/Math.PI;  
 89.2502 +         // var T = shape.getCTM(); 
 89.2503 +          //var rotini=T.a*(180 / Math.PI);
 89.2504 +           //var angle=rotini*180/Math.PI;
 89.2505 +          //var rot_angle=actual_angle*180/Math.PI;  
 89.2506 +          //document.forms[0].code.value=centerx+' '+centery+' '+coord[0]+' '+coord[1]+'____ '+rot_angle+' '+actual_angle*180/Math.PI;
 89.2507 +          
 89.2508 +          
 89.2509 +         // matrix( a, b, c, d, e, f )
 89.2510 +         // a c e
 89.2511 +         // b d f
 89.2512 +         // 0 0 1
 89.2513 +         //a scale factor of 2, a rotation of 30 deg and a translation of (500,50)
 89.2514 +         //T     1.732   -1   500     1   1.732   50     0   0   1
 89.2515 +         //T      1  ad-bc      d  -c -de+cf   -b  a  be-df    0   0   1
 89.2516 +         
 89.2517 +         //shape.setAttribute('transform', "translate("+(-xshe)+","+(-yshe)+")");
 89.2518 + 
 89.2519 +         // shape.setAttribute("transform", "  matrix( a, b, c, d, e, f )");
 89.2520 +          // shape.setAttribute('transform', "translate("+(box.x+(box.width/2))+","+(box.y+(box.height/2))+")  rotate("+rotatexxx+") ");
 89.2521 +           //shape.setAttribute('transform', "translate("+(box.x+(box.width/2))+","+(box.y+(box.height/2))+") rotate("+rotatexxx+") translate("+(-box.x-(box.width/2))+","+(-box.y-(box.height/2))+") ");
 89.2522 +         //shape.setAttribute('transform', "rotate("+rotatexxx+","+(box.x+(box.width/2))+","+(box.y+(box.height/2))+")");
 89.2523 +         //shape.setAttribute('transform', "rotate("+rotatexxx+","+(prevbox.x+(prevbox.width/2))+","+(prevbox.y+(prevbox.height/2))+")");
 89.2524 +         //shape.setAttribute('rotation', rot_angle);
 89.2525 +         shape.setAttribute('rotation', angle);
 89.2526 +         //(prevbox.x+(prevbox.width/2))+","+(prevbox.y+(prevbox.height/2))+")");
 89.2527 +                          
 89.2528 + 
 89.2529 + 
 89.2530 +    }
 89.2531 +
 89.2532 +//////////////////////////////
 89.2533 +/*H  = 0;
 89.2534 +W  = 0;
 89.2535 +LX = new Array();
 89.2536 +S  = new Array();
 89.2537 +i  = 0;
 89.2538 +b  = true;
 89.2539 +
 89.2540 +function SVG2VML(i){
 89.2541 +	l = L[i];
 89.2542 +	if(l.indexOf(" d=")>0){
 89.2543 +		p = l.indexOf("fill:")+6;
 89.2544 +		C = l.substring(p,p+7);
 89.2545 +		p = l.indexOf(" d=")+4;
 89.2546 +		q = l.lastIndexOf("z")-1;
 89.2547 +		l = l.substring(p,q);
 89.2548 +		l = l.replace(/M/g,"m");
 89.2549 +		l = l.replace(/c/g,"v");
 89.2550 +		l = l.replace(/l/g,"r");
 89.2551 +		S = l.split(" ");
 89.2552 +		l="";
 89.2553 +		for(var j in S){
 89.2554 +			c = S[j];
 89.2555 +			p = c.substring(0,1);
 89.2556 +			d = p>"9"?p:"";
 89.2557 +			n = Math.round(c.substring(d!="") * 100);
 89.2558 +			l+= (d+n+" ");
 89.2559 +		}
 89.2560 +		LX[i] = l;
 89.2561 +		code = '<v:shape coordsize="'+(W*100)+','+(H*100)+'" class=vml strokeweight="2" strokecolor="'+C+'" filled="false" fillcolor = "'+C+'"/>';
 89.2562 +		VML.insertAdjacentHTML("beforeEnd",code);
 89.2563 +	} else {
 89.2564 +		L[i] = LX[i] = ""
 89.2565 +		VML.insertAdjacentHTML("beforeEnd","<span></span>");
 89.2566 +	}
 89.2567 +}
 89.2568 +*/
 89.2569 +//http://msdn2.microsoft.com/en-us/library/bb263897(VS.85).aspx
 89.2570 +//http://www.w3.org/TR/NOTE-VML
 89.2571 +//http://trac.openlayers.org/changeset/5285
 89.2572 +//http://vectorconverter.sourceforge.net/index.html
 89.2573 +//http://www.dhteumeuleu.com/colorsyntax/viewJS.php?src=svg2vml1.html
 89.2574 +
 89.2575 +
 89.2576 +VMLRenderer.prototype.getshapes = function(){
 89.2577 +return this.container.childNodes;
 89.2578 +}
 89.2579 +
 89.2580 +
 89.2581 +VMLRenderer.prototype.reflect = function(HorV) {
 89.2582 +};
 89.2583 +
 89.2584 +
 89.2585 +
 89.2586 +
    90.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    90.2 +++ b/onlypaths/js/vmlrenderer_mini.js	Sun Jan 31 12:33:33 2010 -0500
    90.3 @@ -0,0 +1,2348 @@
    90.4 +/*----------------------------------------------------------------------------
    90.5 + VMLRENDERER 1.0
    90.6 + VML Renderer For RichDraw
    90.7 + -----------------------------------------------------------------------------
    90.8 + Created by Mark Finkle (mark.finkle@gmail.com)
    90.9 + Implementation of VML based renderer.
   90.10 + -----------------------------------------------------------------------------
   90.11 + Copyright (c) 2006 Mark Finkle
   90.12 +
   90.13 + This program is  free software;  you can redistribute  it and/or  modify it
   90.14 + under the terms of the MIT License.
   90.15 +
   90.16 + Permission  is hereby granted,  free of charge, to  any person  obtaining a
   90.17 + copy of this software and associated documentation files (the "Software"),
   90.18 + to deal in the  Software without restriction,  including without limitation
   90.19 + the  rights to use, copy, modify,  merge, publish, distribute,  sublicense,
   90.20 + and/or  sell copies  of the  Software, and to  permit persons to  whom  the
   90.21 + Software is  furnished  to do  so, subject  to  the  following  conditions:
   90.22 + The above copyright notice and this  permission notice shall be included in
   90.23 + all copies or substantial portions of the Software.
   90.24 +
   90.25 + THE SOFTWARE IS PROVIDED "AS IS",  WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
   90.26 + IMPLIED,  INCLUDING BUT NOT LIMITED TO  THE WARRANTIES  OF MERCHANTABILITY,
   90.27 + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
   90.28 + AUTHORS OR  COPYRIGHT  HOLDERS BE  LIABLE FOR  ANY CLAIM,  DAMAGES OR OTHER
   90.29 + LIABILITY, WHETHER  IN AN  ACTION OF CONTRACT, TORT OR  OTHERWISE,  ARISING
   90.30 + FROM,  OUT OF OR  IN  CONNECTION  WITH  THE  SOFTWARE OR THE  USE OR  OTHER
   90.31 + DEALINGS IN THE SOFTWARE.
   90.32 + -----------------------------------------------------------------------------
   90.33 + Dependencies:
   90.34 + History:
   90.35 + 2006-04-05 | Created
   90.36 + --------------------------------------------------------------------------*/
   90.37 +
   90.38 +
   90.39 +
   90.40 +function VMLRenderer() {
   90.41 +	this.base = AbstractRenderer;
   90.42 +}
   90.43 +
   90.44 +
   90.45 +VMLRenderer.prototype = new AbstractRenderer;
   90.46 +
   90.47 +
   90.48 +VMLRenderer.prototype.init = function(elem) 
   90.49 + {
   90.50 +  this.container = elem;
   90.51 +  // this.container.style.overflow = 'hidden';
   90.52 +  this.container.unselectable = "on";
   90.53 +  // Add VML includes and namespace
   90.54 +  elem.ownerDocument.namespaces.add("v", "urn:schemas-microsoft-com:vml");
   90.55 +  var style = elem.ownerDocument.createStyleSheet();
   90.56 +  style.addRule('v\\:*', "behavior: url(#default#VML); display:inline-block");
   90.57 +  //NOT VML biewBox
   90.58 +  //http://blogs.msdn.com/ie/archive/2008/03/18/webbrowser-control-rendering-modes-in-ie8.aspx 
   90.59 + } 
   90.60 + 
   90.61 +VMLRenderer.prototype.view = function(left,top,width,height,viewBox) {
   90.62 + if(mode=='preview')
   90.63 +  {  
   90.64 +
   90.65 +   var tokens = viewBox.split(' ');       
   90.66 +   var prx=100;  
   90.67 +   this.container.style.top =(parseInt(document.getElementById('FRONT').style.height)-height)/2+'px' 
   90.68 +   this.container.style.left =(parseInt(document.getElementById('FRONT').style.width)-width)/2+'px' 
   90.69 +
   90.70 +   this.container.style.width = width;//document.getElementById('FRONT').style.width; 
   90.71 +   this.container.style.height =height;//document.getElementById('FRONT').style.height;     
   90.72 +
   90.73 + 
   90.74 +   canvasLeft = left;
   90.75 +   canvasTop = top; 
   90.76 +   canvasWidth = width;
   90.77 +   canvasHeight = height; 
   90.78 +   zoominit = viewBox;  
   90.79 +   zoominit1 = viewBox;
   90.80 +   zoominit2 = viewBox;
   90.81 +   var tokens = zoominit.split(' ');   
   90.82 +   proporx = width/tokens[2];
   90.83 +   propory = height/tokens[3];
   90.84 +   /* var x=parseFloat(tokens[0])-prx;
   90.85 +   var y=parseFloat(tokens[1])-prx;
   90.86 +   var w=parseFloat(tokens[2])+prx;
   90.87 +   var h=parseFloat(tokens[3])+prx;
   90.88 +   workspace= x+''+y+''+w+''+h;  
   90.89 +   //zoominit = workspace;
   90.90 +   */  
   90.91 +   //VMLviewBox('',left,top,width,height)
   90.92 +  } 
   90.93 +   else
   90.94 +  {    
   90.95 +  
   90.96 +    //
   90.97 +           this.container.style.top =0+'px'; 
   90.98 +
   90.99 +      var tokens = viewBox.split(' '); 
  90.100 +      proporImage= (parseFloat(tokens[2])-parseFloat(tokens[0]))/(parseFloat(tokens[3])-parseFloat(tokens[1])); 
  90.101 +        var marginx=(parseInt(document.getElementById('FRONT').style.width)-(parseFloat(tokens[2])-parseFloat(tokens[0])))/2;
  90.102 +        var marginy=(parseInt(document.getElementById('FRONT').style.height)-(parseFloat(tokens[3])-parseFloat(tokens[1])))/2;
  90.103 +        var x=(parseFloat(tokens[0])-marginx);
  90.104 +        var y=(parseFloat(tokens[1])-marginy);
  90.105 +        var w=(parseFloat(tokens[2])+marginx*2);
  90.106 +        var h=(parseFloat(tokens[3])+marginy*2); 
  90.107 +        //alert(tokens[3]+' '+tokens[1]+' / '+(parseFloat(tokens[3])-parseFloat(tokens[1]))+' '+parseInt(document.getElementById('FRONT').style.height)+' /'+h+' '+height);
  90.108 +        //if(h>=parseInt(document.getElementById('FRONT').style.height)){h=parseInt(document.getElementById('FRONT').style.height);}
  90.109 +        //if(h>=parseInt(document.getElementById('FRONT').style.height)){y=0;h=600;}//parseInt(document.getElementById('FRONT').style.height)*2}
  90.110 +        //zoominit = x+' '+y+' '+w+' '+h;  
  90.111 +   canvasLeft = 0;
  90.112 +   canvasTop = 0; 
  90.113 +   canvasWidth = w;
  90.114 +   canvasHeight = h;   
  90.115 +   //proporx =  w/tokens[2];
  90.116 +   //propory = h/tokens[3];
  90.117 +
  90.118 +   this.container.style.left =canvasLeft+'px' 
  90.119 +   this.container.style.top =canvasTop+'px' 
  90.120 +
  90.121 +   this.container.style.width = canvasWidth;//document.getElementById('FRONT').style.width; 
  90.122 +   this.container.style.height =canvasHeight;//document.getElementById('FRONT').style.height;     
  90.123 +        zoominit1 = canvasLeft+' '+canvasTop+' '+canvasWidth+' '+canvasHeight;
  90.124 +        zoominit2= x+' '+y+' '+w+' '+h;    
  90.125 +       //VMLviewBox('',x,canvasTop,w,h)
  90.126 +        //this.rectCanvas(x,y,w,h,zoominit)
  90.127 +       // this.rectCanvas(x,y,canvasWidth,canvasHeight,zoominit2)
  90.128 +       // zoominit = viewBox;
  90.129 +  }
  90.130 +}
  90.131 +
  90.132 +VMLRenderer.prototype.zoomFrame = function(zoom){ 
  90.133 +   myOPF.viewBox=zoom;  
  90.134 +   load(myOPF,c);
  90.135 +   document.getElementById("source").value=myOPF.toJSONString();
  90.136 +}
  90.137 +VMLRenderer.prototype.rectDoc = function(viewBox) {
  90.138 +     var tokens2 = zoominit2.split(' ');    
  90.139 +     var tokens = zoominit.split(' ');
  90.140 +  var shape = document.getElementById('rectDoc');
  90.141 +  if (shape) {
  90.142 +    this.remove(shape);
  90.143 +  } 
  90.144 +  var rect=this.container.ownerDocument.createElement('v:rect');
  90.145 +  rect.id='rectDoc';
  90.146 +  rect.style.position = 'absolute';
  90.147 +  rect.style.left =-parseInt(tokens2[0]); 
  90.148 +  rect.style.top = -parseInt(tokens2[1]);
  90.149 +  rect.style.width = parseInt(tokens[2]);
  90.150 +  rect.style.height = parseInt(tokens[3]);
  90.151 +  rect.setAttribute('filled', 'false');
  90.152 +   rect.setAttribute('stroked', 'true'); 
  90.153 +  rect.setAttribute('strokeweight', 2); 
  90.154 +  rect.setAttribute('strokecolor',"#ff0000"); 
  90.155 +   this.container.appendChild(rect);
  90.156 +   //this.container.insertBefore(rect, this.container.firstChild );
  90.157 +  //alert(docx+' '+docy+' '+docw+' '+doch+' '+viewBox)   
  90.158 +  }
  90.159 +VMLRenderer.prototype.rectCanvas = function(docx,docy,docw,doch,viewBox) {
  90.160 +  
  90.161 +     var tokens = zoominit1.split(' ');    
  90.162 +  var shape = document.getElementById('rectCanvas');
  90.163 +  if (shape) {
  90.164 +    this.remove(shape);
  90.165 +  }
  90.166 +  
  90.167 +  var rect=this.container.ownerDocument.createElement('v:rect');
  90.168 +  rect.id='rectBackground'; 
  90.169 +  rect.style.position = 'absolute';
  90.170 +  rect.style.left = tokens[0] ;
  90.171 +  rect.style.top =tokens[1];
  90.172 +  rect.style.width=tokens[2];
  90.173 +  rect.style.height= tokens[3] ;  
  90.174 +  rect.setAttribute('filled', 'true');
  90.175 +  rect.setAttribute('fillcolor',"#666666"); 
  90.176 +  rect.setAttribute('stroked', 'false');  
  90.177 +  
  90.178 +   this.container.insertBefore(rect, this.container.firstChild );
  90.179 +  
  90.180 +}
  90.181 +
  90.182 +VMLRenderer.prototype.removeAll = function(){
  90.183 +	while (this.container.hasChildNodes()) {
  90.184 +		this.container.removeChild(this.container.firstChild);
  90.185 +	}
  90.186 +}   
  90.187 +
  90.188 +function VMLviewBox(container,left,top,width,height){
  90.189 +  var tokens = zoominit2.split(' ');  
  90.190 +  left *= proporx;
  90.191 +  left = left - parseFloat(tokens[0]);
  90.192 +  top *= propory; 
  90.193 +  top = top - parseFloat(tokens[1]);   
  90.194 +  width *= proporx;
  90.195 +  height *= propory; 
  90.196 +  
  90.197 +  return {"x":parseFloat(Math.round(left)), "y":parseFloat(Math.round(top)), "w":parseFloat(Math.round(width)), "h":parseFloat(Math.round(height))};
  90.198 +}   
  90.199 +function VMLviewBox1(container,left,top,width,height){
  90.200 +  var tokens = zoominit2.split(' ');  
  90.201 +  left *= proporx;
  90.202 +  left = left - parseFloat(tokens[0]);
  90.203 +  top *= propory; 
  90.204 +  top = top - parseFloat(tokens[1]);   
  90.205 +  width *= proporx;
  90.206 +  height *= propory; 
  90.207 +  
  90.208 +  return {"x":parseFloat(Math.round(left)), "y":parseFloat(Math.round(top)), "w":parseFloat(Math.round(width)), "h":parseFloat(Math.round(height))};
  90.209 +}   
  90.210 +
  90.211 +VMLRenderer.prototype.create = function(shape, fillColor, lineColor, fillOpac, lineOpac, lineWidth, left, top, width, height, textMessaje, textSize, textFamily, imageHref, points, transform, parent) {
  90.212 +   var tokens = zoominit2.split(' ');  
  90.213 +   var zoom=VMLviewBox(this.container,left,top,width,height);
  90.214 +   left=zoom.x;  
  90.215 +   top=zoom.y;
  90.216 +   width=zoom.w;
  90.217 +   height=zoom.h;
  90.218 +
  90.219 +   var zoom=VMLviewBox(this.container,left,top,textSize,textSize);
  90.220 +   if(zoom.w<1){zoom.w=1}
  90.221 +   textSize=zoom.h;  
  90.222 +
  90.223 +   var zoom=VMLviewBox(this.container,left,top,lineWidth*2/3,lineWidth);
  90.224 +   if(zoom.w<1){zoom.w=1}
  90.225 +   lineWidth=zoom.w;  
  90.226 +
  90.227 +
  90.228 +   var vml;
  90.229 +
  90.230 +   var shap=1;
  90.231 +  if (shape == 'rect') {
  90.232 +    vml = this.container.ownerDocument.createElement('v:rect');  
  90.233 +    vml.style.position = 'absolute';
  90.234 +    vml.style.left = left; 
  90.235 +    vml.style.top = top;
  90.236 +    vml.style.width = width;
  90.237 +    vml.style.height = height;
  90.238 +  }
  90.239 +  else if (shape == 'roundrect') {
  90.240 +            vml = this.container.ownerDocument.createElement('v:roundrect'); 
  90.241 +            vml.style.position = 'absolute';
  90.242 +            vml.style.left = left;
  90.243 +            vml.style.top = top;
  90.244 +            vml.style.width = width;    
  90.245 +            vml.style.height = height;
  90.246 +            vml.setAttribute('arcsize', '20%');   
  90.247 +            
  90.248 +  }
  90.249 +  else if (shape == 'ellipse') {
  90.250 +    vml = this.container.ownerDocument.createElement('v:oval');  
  90.251 +    vml.style.left = left;
  90.252 +    vml.style.top = top;
  90.253 +    vml.style.width = width; 
  90.254 +    vml.style.height = height;
  90.255 +    vml.style.position = 'absolute';
  90.256 +  }
  90.257 +  else if (shape == 'line') {
  90.258 +    vml = this.container.ownerDocument.createElement('v:line'); 
  90.259 +    vml.style.position = 'absolute';
  90.260 +    vml.setAttribute('from', left-80 + 'px,' + top + 'px');
  90.261 +    vml.setAttribute('to', (left-80+width) + 'px,' + (top+height) + 'px');
  90.262 +
  90.263 +  }   
  90.264 +  else if (shape == 'polyline') {
  90.265 +    vml = this.container.ownerDocument.createElement('v:polyline');
  90.266 +    vml.setAttribute("points", points); 
  90.267 +    
  90.268 +  }    
  90.269 +  else if (shape == 'path') 
  90.270 +   {   
  90.271 +    vml = this.container.ownerDocument.createElement('v:shape');  
  90.272 +    var tokens = zoominit1.split(' ');  
  90.273 +    var tokens1 = zoominit1.split(' ');         
  90.274 +    var tokens2 = zoominit2.split(' ');   
  90.275 +    tokens[0]=0;
  90.276 +    tokens[1]=0;
  90.277 +    var path=points;
  90.278 +    path=path.replace(/, /g, ','); 
  90.279 +    path=path.replace(/ ,/g, ',');
  90.280 +    var ps =path.split(" ")
  90.281 +    var pcc = "";
  90.282 +   
  90.283 +    var re = /^[-]?\d*\.?\d*$/; 
  90.284 +    var contArc=0; 
  90.285 +    var isArc=false;
  90.286 +    for(var i = 0; i < ps.length; i++)
  90.287 +    { 
  90.288 +     if(ps[i].indexOf(',')>0){  
  90.289 +      
  90.290 +       var point =ps[i].split(","); 
  90.291 +       var char1=point[0].substring(0,1); 
  90.292 +     
  90.293 +       if (!char1.match(re))        
  90.294 +        { 
  90.295 +           var num0= parseFloat(point[0].substring(1));
  90.296 +           var zoom=VMLviewBox(this.container,num0+(parseInt(tokens2[0])*proporx),0,parseInt(tokens2[2]),parseInt(tokens2[3]));
  90.297 +           num0=zoom.x;  
  90.298 +   
  90.299 +           var text=char1;
  90.300 +        }else{ 
  90.301 +            var num0= parseFloat(point[0]);
  90.302 +            var zoom=VMLviewBox(this.container,num0+(parseInt(tokens2[0])*proporx),0,parseInt(tokens2[2]),parseInt(tokens2[3]));
  90.303 +            num0=zoom.x;  
  90.304 +  
  90.305 +        }  
  90.306 +       point[1]= parseFloat(point[1]);  
  90.307 +       var zoom=VMLviewBox(this.container,0,point[1],parseInt(tokens2[2]),parseInt(tokens2[3]));
  90.308 +       point[1]=zoom.y;  
  90.309 +       var cx=num0; 
  90.310 +       var cy=point[1]+parseInt(tokens2[1]);   
  90.311 +       pcc+=text+cx+','+cy+' ';
  90.312 +     }
  90.313 +      else
  90.314 +     {  
  90.315 +        pcc+=ps[i]+' ';
  90.316 +     }
  90.317 +   
  90.318 +    }
  90.319 +   ////////////////////   
  90.320 +    var thispath=pcc;
  90.321 +    thispath=thispath.replace(/M/g,'m');
  90.322 +    thispath=thispath.replace(/C/g,'c');  
  90.323 +    thispath=thispath.replace(/L/g,'l'); 
  90.324 +    thispath=thispath.replace(/z/g,'x');      
  90.325 +   
  90.326 +   //document.getElementById('source').value=points+'\r\n'+thispath +'\r\n'+'________'+'\r\n'
  90.327 +   var zoom=VMLviewBox(this.container,tokens[0],tokens[1],tokens[2],tokens[3]);
  90.328 +   
  90.329 +    vml.style.position="absolute";  
  90.330 +    vml.style.width= zoom.w+"px";
  90.331 +    vml.style.height=zoom.h+"px";
  90.332 +    vml.style.left=zoom.x+"px";  
  90.333 +    vml.style.top=zoom.y+"px";    
  90.334 +    vml.setAttribute('coordsize', zoom.w+','+zoom.h); 
  90.335 + 
  90.336 +    var path01 = this.container.ownerDocument.createElement('v:path');  
  90.337 +    path01.setAttribute("v", thispath+' e'); 
  90.338 + 
  90.339 + 
  90.340 +    
  90.341 +    vml.appendChild(path01)
  90.342 +    
  90.343 +   }
  90.344 +   
  90.345 +   else if (shape == 'controlpath')
  90.346 +   {
  90.347 +    
  90.348 +    vml = this.container.ownerDocument.createElement('v:shape');  
  90.349 +      vml.style.position="absolute";  
  90.350 +    vml.style.width= 700+"px";
  90.351 +    vml.style.height=500+"px";
  90.352 +    vml.style.left=left+"px";  
  90.353 +    vml.style.top=top+"px";  
  90.354 +    vml.setAttribute('coordsize', '700,500');   
  90.355 +     
  90.356 +    var path01 = this.container.ownerDocument.createElement('v:path');  
  90.357 +    path01.setAttribute('v', 'm '+left+','+top+' c'+(left+1)+','+(top+1)+' e ');  
  90.358 +
  90.359 +     vml.appendChild(path01)
  90.360 +    } 
  90.361 +    else if (shape == 'image') {   
  90.362 +     var data =imageHref;//document.forms[0].option_text_message.value;
  90.363 +     vml = this.container.ownerDocument.createElement('v:image'); 
  90.364 +     vml.setAttribute('src',imageHref);
  90.365 +     vml.style.position="absolute";  
  90.366 +     vml.style.width=width+"px";
  90.367 +     vml.style.height=height+"px";
  90.368 +     vml.style.left=left+"px";  
  90.369 +     vml.style.top=top+"px";  
  90.370 +     vml.style.margin=0+"px";  
  90.371 +     vml.style.padding=0+"px";  
  90.372 +     if (fillColor != ''  || fillColor != 'none') {
  90.373 +       vml.setAttribute('filled', 'false');
  90.374 +       vml.setAttribute('fillcolor', fillColor);
  90.375 +     }
  90.376 +     else {
  90.377 +       vml.setAttribute('filled', 'false');
  90.378 +     }
  90.379 +    vml.setAttribute('strokeweight','0px');// parseFloat(lineWidth)+'px');
  90.380 +   vml.setAttribute('stroked', 'false');  
  90.381 +   vml.setAttribute('strokecolor','#000000');//lineColor);
  90.382 +   
  90.383 +   
  90.384 +    }
  90.385 +    
  90.386 + else if (shape == 'text') 
  90.387 +  {   
  90.388 +   
  90.389 +    var data =textMessaje;
  90.390 +    vml = this.container.ownerDocument.createElement('v:shape');
  90.391 +    vml.style.position="absolute";  
  90.392 +    //vml.setAttribute('coordorigin',left+', '+top);
  90.393 +     //vml.style.coorsize= '';
  90.394 +     coordorigin="0, 0"
  90.395 +    vml.style.width= textSize+'px';//tokens[2]+'px'
  90.396 +    vml.style.height=textSize+'px';
  90.397 +    vml.style.left=(left+"px");  
  90.398 +    vml.style.top=(top-(textSize*1/4)+"px");  
  90.399 +    vml.style.margin=0+"px"; 
  90.400 +     vml.style.padding=0+"px";  
  90.401 +     vml.setAttribute('path','m '+0+' '+0+' r '+(textSize*data.length)+' '+0+' e'); 
  90.402 +     var textPathObj = this.container.ownerDocument.createElement("v:textpath");
  90.403 +     textPathObj.setAttribute('string', data); 
  90.404 +      textPathObj.setAttribute('fitshape','false'); 
  90.405 +     textPathObj.setAttribute('trim', 'false'); 
  90.406 +     textPathObj.setAttribute('fitpath', 'false');
  90.407 +     textPathObj.setAttribute('on','true');  
  90.408 +     textPathObj.style.fontFamily=textFamily;  
  90.409 +     textPathObj.style.fontSize=textSize+'px'; 
  90.410 +     textPathObj.setAttribute('vTextKern','true');  
  90.411 +     textPathObj.setAttribute('text-align','center');  
  90.412 +     
  90.413 +      var pathObj = this.container.ownerDocument.createElement("v:path");
  90.414 +     pathObj.setAttribute('textpathok', 'true');  
  90.415 +      vml.appendChild(textPathObj);  
  90.416 +     vml.appendChild(pathObj);  
  90.417 +    
  90.418 +    
  90.419 +  }    
  90.420 +
  90.421 +
  90.422 +    
  90.423 + else if (shape == 'texto') 
  90.424 +  {  
  90.425 +    vml = this.container.ownerDocument.createElement('v:shape');
  90.426 +    vml.style.position="absolute";  
  90.427 +   
  90.428 +     vml.style.coordsize=1000+', '+1000;
  90.429 +    vml.style.width= 1000;
  90.430 +    vml.style.height=1000;
  90.431 +    vml.style.left=left;  
  90.432 +    vml.style.top=top-parseFloat(textSize);  
  90.433 +     
  90.434 +     vml.style.padding=0;  
  90.435 +    var textBox = this.container.ownerDocument.createElement("v:textbox");
  90.436 +     textBox.setAttribute('mso-rotate-with-shape',true)
  90.437 +     var divtext = this.container.ownerDocument.createElement("div");  
  90.438 +     divtext.style.coordorigin=0+', '+(0);      
  90.439 +     divtext.style.margin=0;   
  90.440 +     divtext.style.fontFamily=textFamily; 
  90.441 +     divtext.style.margin=0; 
  90.442 +     divtext.style.padding=0; 
  90.443 +     divtext.style.vRotateLetters=true;
  90.444 +     divtext.style.fontSize=parseFloat(textSize); 
  90.445 +    
  90.446 +     
  90.447 +           
  90.448 +    
  90.449 +
  90.450 +     
  90.451 +    divtext.style.color=fillColor;
  90.452 +     
  90.453 +     
  90.454 +     
  90.455 +     
  90.456 +     
  90.457 +     //divtext.setAttribute('v-rotate-letters','true');
  90.458 +    if(transform.indexOf('rotate')>=0)
  90.459 +    {
  90.460 +     
  90.461 +      myRotate1=transform.split('rotate(');
  90.462 +      myRotate2=myRotate1[1].split(')');  
  90.463 +      myRotate3=myRotate2[0].split(',');  
  90.464 +     
  90.465 +      //divtext.setAttribute('mso-rotate',myRotate3[0]);
  90.466 +      //textBox.style.msoRotate= myRotate3[0];
  90.467 +      //textBox.style.centerX=myRotate3[1]; 
  90.468 +      //textBox.style.centerY=myRotate3[2];
  90.469 +      //vml.style.rotation= myRotate3[0];
  90.470 +      //vml.style.centerX=myRotate3[1]; 
  90.471 +      //vml.style.centerY=myRotate3[2];
  90.472 +        vml.setAttribute('rotation',myRotate3[0]+'Deg'); 
  90.473 +    }        
  90.474 +
  90.475 +     divtext.innerHTML=textMessaje;
  90.476 +     textBox.appendChild(divtext);       
  90.477 +    
  90.478 +     vml.appendChild(textBox);  
  90.479 +    
  90.480 +  }    
  90.481 +    else if (shape == 'group') {   
  90.482 +    vml = this.container.ownerDocument.createElement('v:group'); 
  90.483 +    vml.style.left=left+"px";  
  90.484 +    vml.style.top=top+"px";  
  90.485 +  }
  90.486 + 
  90.487 +  if(shape == 'zoom') 
  90.488 +  {
  90.489 +        
  90.490 +  }else
  90.491 +  {   
  90.492 +    if(transform.indexOf('rotate')>=0)
  90.493 +    {
  90.494 +      myRotate1=transform.split('rotate(');
  90.495 +      myRotate2=myRotate1[1].split(')');  
  90.496 +      myRotate3=myRotate2[0].split(',');  
  90.497 +     
  90.498 +       vml.style.rotation= myRotate3[0]+'Deg';
  90.499 +       vml.style.centerX=myRotate3[1]; 
  90.500 +       vml.style.centerY=myRotate3[2];
  90.501 +       
  90.502 +    }                                     
  90.503 +       
  90.504 +        if(shape != 'image' )
  90.505 +         {      
  90.506 +         
  90.507 +                   if (fillColor != ''  || fillColor != 'none') 
  90.508 +                    {
  90.509 +                      vml.setAttribute('filled', 'true');
  90.510 +                      vml.setAttribute('fillcolor', fillColor); 
  90.511 +                      
  90.512 +                    }
  90.513 +                     else 
  90.514 +                    {
  90.515 +                      vml.setAttribute('filled', 'false');
  90.516 +                    }
  90.517 +
  90.518 +         
  90.519 +                if(lineWidth==0 || lineWidth=='none' || lineColor== 'none' )    
  90.520 +                {
  90.521 +                  vml.setAttribute('stroked', 'false');  
  90.522 +                }
  90.523 +                 else 
  90.524 +                {  
  90.525 +                
  90.526 +                  vml.setAttribute('stroked', 'true');
  90.527 +                  vml.setAttribute('strokecolor', lineColor);
  90.528 +                  vml.setAttribute('strokeweight', lineWidth);
  90.529 +                  var stroke = this.container.ownerDocument.createElement('v:stroke'); 
  90.530 +                  stroke.setAttribute("opacity", parseFloat(lineOpac));
  90.531 +                  vml.appendChild(stroke);
  90.532 +                }
  90.533 +
  90.534 +               if (fillOpac != '') 
  90.535 +                { 
  90.536 +                  if (fillOpac == 'none' || fillColor=='none'){fillOpac=0;}
  90.537 +                  var fill = this.container.ownerDocument.createElement('v:fill'); 
  90.538 +                  fill.setAttribute("opacity",parseFloat(fillOpac));  
  90.539 +                  //alert(fillOpac)
  90.540 +                  vml.appendChild(fill);
  90.541 +                }
  90.542 +          }     
  90.543 +  } 
  90.544 +  if(parent==''){
  90.545 +   this.container.appendChild(vml);
  90.546 +  }else{     
  90.547 +   var parentShape = document.getElementById(parent);
  90.548 +   parentShape.appendChild(vml);
  90.549 +  }  
  90.550 +   //var parentDoc = document.getElementById('mydraw');
  90.551 +   //parentDoc.appendChild(vml);
  90.552 +  return vml;
  90.553 +};
  90.554 +
  90.555 +
  90.556 +VMLRenderer.prototype.zoom = function(clicx,clicy)
  90.557 + { 
  90.558 + }
  90.559 +
  90.560 +VMLRenderer.prototype.datacreate = function(fillColor, lineColor, fillOpac, lineOpac, lineWidth, left, top, width, height, textMessaje, textSize, textFamily, imageHref, transform) 
  90.561 + {
  90.562 + }
  90.563 +
  90.564 +VMLRenderer.prototype.duplicate = function(shape) 
  90.565 + {
  90.566 +   var vml;
  90.567 +   vml =shape.cloneNode(false);
  90.568 +   //vml.setAttribute('fillcolor', "#aa00aa");
  90.569 +   //vml.setAttribute('filled', "false");
  90.570 +   this.container.appendChild(vml);
  90.571 +  return vml;
  90.572 +  
  90.573 + };
  90.574 +
  90.575 +
  90.576 +
  90.577 +VMLRenderer.prototype.index = function(shape,order) {  
  90.578 + 
  90.579 +     if(order==-1)
  90.580 +      {
  90.581 +        this.container.appendChild( shape );
  90.582 +      }
  90.583 +      if(order==0){
  90.584 +     
  90.585 +         this.container.insertBefore( shape, shape.parentNode.firstChild );
  90.586 +      } 
  90.587 + 
  90.588 +   if(order==1 || order==2)
  90.589 +    {
  90.590 +         var id=shape.getAttribute('id');
  90.591 +        //alert(id);
  90.592 +        
  90.593 +        
  90.594 +        var numNodes=this.container.childNodes.length;
  90.595 +        //alert(numNodes);
  90.596 +          
  90.597 +        var num=0;
  90.598 +        for(var i = 1; i < numNodes; i++)
  90.599 +         {                                                   
  90.600 +           
  90.601 +           var etiq=this.container.childNodes[i].getAttribute('id');
  90.602 +           if (etiq==id)
  90.603 +            { 
  90.604 +                num=i; 
  90.605 +               
  90.606 +            }                                                    
  90.607 +          } 
  90.608 +          //alert(num);    
  90.609 +          if(order==1) 
  90.610 +           {   
  90.611 +              if((num-1)>=-1)
  90.612 +               {  
  90.613 +                this.container.insertBefore( shape, this.container.childNodes[num-1]);
  90.614 +               } 
  90.615 +           }
  90.616 +          if(order==2){ 
  90.617 +               if((num+1)<numNodes)
  90.618 +               {
  90.619 +                  this.container.insertBefore( shape, this.container.childNodes[num+2]);
  90.620 +               }
  90.621 +          } 
  90.622 +          
  90.623 +    } 
  90.624 +    
  90.625 +    
  90.626 +    
  90.627 +}
  90.628 +VMLRenderer.prototype.remove = function(shape) {
  90.629 +  if(shape!=null){ shape.removeNode(true); }
  90.630 +}
  90.631 +
  90.632 +
  90.633 +VMLRenderer.prototype.copy = function(shape) 
  90.634 + {
  90.635 +   var vml;
  90.636 +   vml =shape.cloneNode(false);
  90.637 +   //vml.setAttribute('fillcolor', "#aa00aa");
  90.638 +   return vml;
  90.639 + };
  90.640 +
  90.641 +
  90.642 +VMLRenderer.prototype.paste = function(clipboard,left,top)   
  90.643 + {
  90.644 +  this.container.appendChild(clipboard);
  90.645 +  return clipboard;
  90.646 + };
  90.647 +
  90.648 +
  90.649 +
  90.650 +VMLRenderer.prototype.undo = function() 
  90.651 + {
  90.652 +   this.container.removeChild( this.container.lastChild );
  90.653 + };
  90.654 + 
  90.655 +
  90.656 +var xshe=0; 
  90.657 +var yshe=0;  
  90.658 +var isArc=false;
  90.659 +var contArc=0;
  90.660 +     
  90.661 +VMLRenderer.prototype.move = function(shape, left, top,fromX,FromY) {    
  90.662 + var box = this.bounds(shape);
  90.663 + var angle=0;
  90.664 + var dist=0;  
  90.665 + var rotated=false;
  90.666 + 
  90.667 + 
  90.668 +  
  90.669 +
  90.670 +  
  90.671 +         //contmove++;
  90.672 +  if (shape.tagName == 'line') {
  90.673 +    shape.style.marginLeft = left;
  90.674 +    shape.style.marginTop = top;
  90.675 +  } 
  90.676 +   if (shape.tagName == 'polyline') {
  90.677 +    shape.style.marginLeft = left;
  90.678 +    shape.style.marginTop = top;
  90.679 +
  90.680 +   }   
  90.681 +   if (shape.tagName == 'oval') {
  90.682 +    shape.style.left = left;
  90.683 +    shape.style.top = top;
  90.684 +  }      
  90.685 +  if (shape.tagName == 'rect') {
  90.686 +    shape.style.left = left;
  90.687 +    shape.style.top = top;
  90.688 +  } 
  90.689 +  
  90.690 +    if (shape.tagName == 'image') {
  90.691 +    shape.style.left = left;
  90.692 +    shape.style.top = top;
  90.693 +  }      
  90.694 +   if (shape.tagName == 'shape') { 
  90.695 +        
  90.696 +       shape.style.left=left+"px";  
  90.697 +        shape.style.top=top+"px";  
  90.698 +    
  90.699 +   }   
  90.700 +      
  90.701 +
  90.702 +};
  90.703 +
  90.704 +
  90.705 +VMLRenderer.prototype.track = function(shape) {
  90.706 +  // TODO
  90.707 +};
  90.708 +
  90.709 +VMLRenderer.prototype.clic = function(shape) {
  90.710 +         var end='';
  90.711 +	if(data_path_close==true){end=' ';}
  90.712 +
  90.713 +        var thispath='m '+setPoints[0]+' l';  
  90.714 +        var maxcont=setPoints.length;
  90.715 +      
  90.716 +        for(var conta=1;conta< maxcont;conta++){        
  90.717 +          thispath+=setPoints[conta]+' ';
  90.718 +          
  90.719 +	
  90.720 +        }
  90.721 +       	var path=thispath+end+' e';
  90.722 +        shape.style.position="absolute";  
  90.723 +        shape.style.width= 700+"px";
  90.724 +	shape.style.height=500+"px";
  90.725 +        shape.style.left="0px";  
  90.726 +        shape.style.top="0px";    
  90.727 +
  90.728 +       
  90.729 +         	shape.children[0].setAttribute("v",path);
  90.730 +               document.forms[0].control_codebase.value=path;
  90.731 + 
  90.732 +}
  90.733 +
  90.734 +
  90.735 +VMLRenderer.prototype.resize = function(shape, fromX, fromY, toX, toY) {     
  90.736 + //var vml;
  90.737 +  var deltaX = toX - fromX;
  90.738 +  var deltaY = toY - fromY; 
  90.739 +    var shap=1;
  90.740 +    if (shape.tagName == 'line') { shap=0; }   
  90.741 +   if (shape.tagName == 'polyline') { shap=2; } 
  90.742 +    
  90.743 +  if (shape.tagName == 'line') {
  90.744 +    shape.setAttribute('to', toX + 'px,' + toY + 'px');
  90.745 +  }
  90.746 +  if (shap == 1) {
  90.747 +    if (deltaX < 0) {
  90.748 +      shape.style.left = toX + 'px';
  90.749 +      shape.style.width = -deltaX + 'px';
  90.750 +    }
  90.751 +    else {
  90.752 +      shape.style.width = deltaX + 'px';
  90.753 +    }
  90.754 +  
  90.755 +    if (deltaY < 0) {
  90.756 +      shape.style.top = toY + 'px';
  90.757 +      shape.style.height = -deltaY + 'px';
  90.758 +    }
  90.759 +    else {
  90.760 +      shape.style.height = deltaY + 'px';
  90.761 +    }
  90.762 +  }
  90.763 +   if (shap == 2) {   
  90.764 +        xpArray.push(toX);
  90.765 +        ypArray.push(toY);
  90.766 +	
  90.767 +        //xpArray.push(finetoX);
  90.768 +        //ypArray.push(finetoY);    
  90.769 +    
  90.770 +       var thispath=' '+xpArray[1]+','+ypArray[1];  
  90.771 +       var maxcont=xpArray.length;
  90.772 +       //alert(maxcont);
  90.773 +        for(var conta=2;conta< maxcont;conta++){        
  90.774 +          thispath+=' '+xpArray[conta]+','+ypArray[conta]; 
  90.775 +        }
  90.776 +        //alert(shape.points[1]);
  90.777 +    //shape.setAttribute("points",thispath);       
  90.778 +    shape.points.Value = thispath;
  90.779 +      
  90.780 +        /*
  90.781 +        var thispath=''+xpArray[0]+','+ypArray[0]; 
  90.782 +        var thispatho=new Array();   
  90.783 +        thispatho.push(toX); 
  90.784 +          thispatho.push(toY);
  90.785 +       var maxcont=xpArray.length;
  90.786 +       //alert(maxcont);
  90.787 +        for(var conta=2;conta< maxcont;conta++){        
  90.788 +          thispath+=','+xpArray[conta]+','+ypArray[conta]; 
  90.789 +        }
  90.790 +        //alert(shape.points[1]);
  90.791 +    shape.setAttribute("points",thispath);   
  90.792 +          */
  90.793 +   }
  90.794 +  if(shape.tagName == 'shape')
  90.795 +   {    
  90.796 +          
  90.797 +      if (selectmode == 'controlpath')
  90.798 +     {    
  90.799 +        
  90.800 +                 var end='';
  90.801 +	if(data_path_close==true){end=' ';}
  90.802 +
  90.803 +        var thispath='m '+setPoints[0]+' l';  
  90.804 +        var maxcont=setPoints.length;
  90.805 +      
  90.806 +        for(var conta=1;conta< maxcont;conta++){        
  90.807 +          thispath+=setPoints[conta]+' ';
  90.808 +          
  90.809 +	
  90.810 +        }
  90.811 +        var path=thispath+toX+','+toY+end+' e';
  90.812 + 
  90.813 +        shape.style.position="absolute";  
  90.814 +        shape.style.width= 700+"px";
  90.815 +	shape.style.height=500+"px";
  90.816 +        shape.style.left="0px";  
  90.817 +        shape.style.top="0px";    
  90.818 +
  90.819 +         	shape.children[0].setAttribute("v",path);
  90.820 +               document.forms[0].control_codebase.value=path;
  90.821 +
  90.822 +          
  90.823 +     }
  90.824 +      else
  90.825 +     {  
  90.826 +      
  90.827 +      xpArray.push(toX);
  90.828 +      ypArray.push(toY);
  90.829 +	
  90.830 +        //xpArray.push(finetoX);
  90.831 +        //ypArray.push(finetoY);    
  90.832 +        var thispath2='';
  90.833 +       var thispath1=' '+xpArray[1]+','+ypArray[1];  
  90.834 +       var maxcont=xpArray.length;
  90.835 +       //alert(maxcont);
  90.836 +        for(var conta=2;conta< maxcont ;conta++){        
  90.837 +          thispath2+=''+xpArray[conta]+','+ypArray[conta]+',';
  90.838 +          if((conta+2)%3==0){thispath2+='';} 
  90.839 +        } 
  90.840 +        thispath2+=''+xpArray[maxcont]+','+ypArray[maxcont]+'';   
  90.841 +        
  90.842 +        //alert(shape.points[1]);   
  90.843 +        //appendChild(path01)
  90.844 +       //var path01=shape.getFirstChild();  
  90.845 +       var path01 = this.container.ownerDocument.createElement('v:path');  
  90.846 +       path01.setAttribute("v", "m"+thispath1+" l"+ thispath2+" e"); 
  90.847 +        //shape.margin-left="300px";  
  90.848 +        //shape.margin-top="200px";    
  90.849 +  
  90.850 +      //shape.setAttribute('path','m '+thispath1+ ' c'+thispath2+'  e'); 
  90.851 +       if(shape.children[0].tagName=='textpath')
  90.852 +        {      
  90.853 +                var path01 = this.container.ownerDocument.createElement('v:path');  
  90.854 +                path01.setAttribute("v", 'm 100 100 l 600 100 e'); 
  90.855 +
  90.856 +            //if(xpArray.length>1)
  90.857 +             //{       shap.style.position="absolute";  
  90.858 +                    shape.style.width=100+"px";
  90.859 +                    shape.style.height=100+"px";
  90.860 +                    shape.style.left=toX+"px";  
  90.861 +                    shape.style.top=toY+"px";  
  90.862 +                    shape.style.margin=0+"px";  
  90.863 +                    shape.style.padding=0+"px";  
  90.864 +                    shape.appendChild(path01); 
  90.865 +             //}    
  90.866 +        }
  90.867 +         else
  90.868 +        {  
  90.869 +              shape.style.position="absolute";  
  90.870 +          shape.style.width= 700+"px";
  90.871 +	  shape.style.height=500+"px";
  90.872 +          shape.style.left="0px";  
  90.873 +          shape.style.top="0px";    
  90.874 +          //shape.setAttribute('coordsize', '700,500');  
  90.875 +          shape.appendChild(path01);  
  90.876 +          }
  90.877 +        
  90.878 +       //shape.setAttribute('position', 'absolute'); 
  90.879 +       //shape.translate(xpArray[conta+1]+','+ypArray[conta+1]); 
  90.880 +      //shape.setAttribute('coordsize', '700,500');
  90.881 +       // shape.v.Value ='M '+thispath1+ ' C'+thispath2+' x e';      
  90.882 +      //shape.v.Value = 'M '+thispath+ ' c '+thispath2;
  90.883 +      //shape.setAttribute("v", 'M '+thispath+ ' C '+thispath2);  
  90.884 +		//shape.setAttribute('path','M '+thispath+ ' C '+thispath2);
  90.885 +   } 	
  90.886 +  } 
  90.887 +  
  90.888 +};  
  90.889 +
  90.890 +
  90.891 +VMLRenderer.prototype.tocurve = function() {
  90.892 +
  90.893 +
  90.894 +};
  90.895 +
  90.896 +
  90.897 +VMLRenderer.prototype.info = function(shape)
  90.898 +{   
  90.899 +var shInfo = {};
  90.900 +shInfo.id = shape.id;
  90.901 + shInfo.type = shape.tagName;
  90.902 + if (shape.tagName == 'rect') 
  90.903 +   {
  90.904 +    shInfo.left = parseFloat(shape.getAttribute( 'x'));
  90.905 +    shInfo.top = parseFloat(shape.getAttribute( 'y'));
  90.906 +    shInfo.width = parseFloat(shape.getAttribute('width'));
  90.907 +    shInfo.height = parseFloat(shape.getAttribute('height'));   
  90.908 +    //++
  90.909 +    //shInfo.rotate = parseFloat(shape.getAttribute('rotation'));  
  90.910 +   }
  90.911 +  else if (shape.tagName == 'oval') 
  90.912 +   {
  90.913 +    shInfo.width = parseFloat(shape.getAttribute('rx'))*2;
  90.914 +    shInfo.height = parseFloat(shape.getAttribute('ry'))*2;   
  90.915 +    shInfo.left = (shInfo.width * 2)  - parseFloat(shape.getAttribute('rx'));
  90.916 +    shInfo.top = (shInfo.height * 2)  - parseFloat(shape.getAttribute('ry'));
  90.917 + 
  90.918 +   }
  90.919 +  else if (shape.tagName == 'roundrect') 
  90.920 +   {
  90.921 +    shInfo.left = parseFloat(shape.getAttribute('x'));
  90.922 +    shInfo.top = parseFloat(shape.getAttribute('y'));
  90.923 +    shInfo.width = parseFloat(shape.getAttribute('width'));
  90.924 +    shInfo.height = parseFloat(shape.getAttribute('height'));   
  90.925 +   
  90.926 +   }
  90.927 +  else if (shape.tagName == 'line') 
  90.928 +   {
  90.929 +    shInfo.left = parseFloat(shape.getAttribute('x1'));
  90.930 +    shInfo.top = parseFloat(shape.getAttribute('y1'));
  90.931 +
  90.932 +   } 
  90.933 +  else if (shape.tagName == 'polyline') 
  90.934 +   {
  90.935 +    shInfo.points = shape.getAttribute('points');
  90.936 +   }
  90.937 +   else if (shape.tagName == 'image') 
  90.938 +   {
  90.939 +    shInfo.left = parseFloat(shape.getAttribute('x'));
  90.940 +    shInfo.top = parseFloat(shape.getAttribute('y'));
  90.941 +    shInfo.width = parseFloat(shape.getAttribute('width'));
  90.942 +    shInfo.height = parseFloat(shape.getAttribute('height'));   
  90.943 +    shInfo.src = shape.getAttribute('src');  
  90.944 +   } 
  90.945 +  else 
  90.946 +  
  90.947 +   if (shape.tagName == 'shape')
  90.948 +   {  
  90.949 +       if(shape.children[0].tagName=='path') {
  90.950 +              shInfo.d = shape.getAttribute('v'); 
  90.951 +             this.editor.log(shape.getAttribute('v')); 
  90.952 +             
  90.953 +       }
  90.954 +       if(shape.children[0].tagName=='textpath') {
  90.955 +             shInfo['font-family'] = shape.children[0].getAttribute('font-family')
  90.956 +           shInfo['font-size'] = parseInt(shape.children[0].getAttribute('font-size'))
  90.957 +        shInfo.top = parseFloat(shape.children[0].getAttribute('y'))
  90.958 +        shInfo.left = parseFloat(shape.children[0].getAttribute('x'))
  90.959 +        shInfo.text = shape.textContent
  90.960 +
  90.961 +       }
  90.962 +   }
  90.963 +   return shInfo;  
  90.964 +   	
  90.965 +   	
  90.966 +}
  90.967 +VMLRenderer.prototype.transformShape = function(shape,data,transform)
  90.968 +{   
  90.969 + 
  90.970 + if(shape.tagName == 'rect')
  90.971 +  { 
  90.972 +    
  90.973 +    var box = this.bounds(shape);
  90.974 +    var sdata=data.split(';'); 
  90.975 +    
  90.976 +    //alert(data[0]); 
  90.977 +      shape.style.top = parseFloat(sdata[0]) + 'px';  
  90.978 +      shape.style.left = parseFloat(sdata[1]) + 'px';
  90.979 +      shape.style.width = parseFloat(sdata[2]) + 'px';    
  90.980 +      shape.style.height = parseFloat(sdata[3]) + 'px';
  90.981 +     
  90.982 +      
  90.983 +   
  90.984 +   // var centerx=parseFloat(sdata[0])+parseFloat(box.width/2);
  90.985 +   // var centery=parseFloat(sdata[1])+parseFloat(box.height/2);    
  90.986 +    shape.style.rotation=parseFloat(sdata[4]);
  90.987 +    
  90.988 +   //shape.nodparseFloatue=data;
  90.989 +  }
  90.990 +   else 
  90.991 + if(shape.tagName == 'text')
  90.992 +  {    
  90.993 +    if(data.indexOf('<;>',0)==-1 )
  90.994 +     {  
  90.995 +      shape.textContent = data;  
  90.996 +     }
  90.997 +      else
  90.998 +     {  
  90.999 +       var sdata=data.split('<;>'); //?????????
 90.1000 +       shape.textContent = sdata[0]; 
 90.1001 +       shape.setAttribute('font-size',parseFloat(sdata[1])); 
 90.1002 +        shape.setAttribute('font-family',sdata[2]);
 90.1003 +     }
 90.1004 +   //shape.nodparseFloatue=data;
 90.1005 +  }
 90.1006 +   else
 90.1007 + if (shape.tagName == 'polyline') 
 90.1008 +  {
 90.1009 +    shape.setAttribute('points',data);
 90.1010 +  }
 90.1011 +   else 
 90.1012 + if (shape.tagName == 'image') 
 90.1013 +  {   
 90.1014 +    //alert(data);  
 90.1015 +    if(data.indexOf(';',0)==-1 )
 90.1016 +     {  
 90.1017 +      shape.setAttribute('src',data);
 90.1018 +     }
 90.1019 +      else
 90.1020 +     {  
 90.1021 +        var box = this.bounds(shape);
 90.1022 +        var sdata=data.split(';');
 90.1023 +        shape.style.top = parseFloat(sdata[0]) + 'px';  
 90.1024 +        shape.style.left = parseFloat(sdata[1]) + 'px';
 90.1025 +        shape.style.width = parseFloat(sdata[2]) + 'px';    
 90.1026 +        shape.style.height = parseFloat(sdata[3]) + 'px';
 90.1027 +        var centerx=parseFloat(sdata[0])+parseFloat(box.width/2);
 90.1028 +        var centery=parseFloat(sdata[1])+parseFloat(box.height/2);    
 90.1029 +        shape.style.rotation=parseFloat(sdata[4]);
 90.1030 +
 90.1031 +
 90.1032 +     } 
 90.1033 +      
 90.1034 +  }
 90.1035 +   else 
 90.1036 + if (shape.tagName == 'path')
 90.1037 +  {     
 90.1038 +    if(data.indexOf(';',0)==-1 )
 90.1039 +     {  
 90.1040 +    	//shape.setAttribute( 'd', data);  //????????
 90.1041 +    	//shape.setAttribute( 'transform', transform);  
 90.1042 +     }
 90.1043 +      else
 90.1044 +     {  
 90.1045 +        var box = this.bounds(shape);
 90.1046 +        var sdata=data.split(';');
 90.1047 +        var centerx=parseFloat(sdata[0])+parseFloat(box.width/2);
 90.1048 +        var centery=parseFloat(sdata[1])+parseFloat(box.height/2);    
 90.1049 +        //++shape.setAttribute( 'transform','scale('+parseFloat(sdata[2])+','+parseFloat(sdata[3])+')'+' rotate('+parseFloat(sdata[4])+','+centerx+','+centery+')'+' translate('+parseFloat(sdata[0])+','+parseFloat(sdata[1])+')');
 90.1050 +
 90.1051 +
 90.1052 +     } 
 90.1053 +  }  
 90.1054 +   	                   
 90.1055 +   	
 90.1056 +}
 90.1057 +VMLRenderer.prototype.editShape = function(shape,data)
 90.1058 +{   
 90.1059 +if(shape.tagName == 'text'){
 90.1060 +shape.textContent = data
 90.1061 +}else
 90.1062 +   if (shape.tagName == 'polyline') 
 90.1063 +   {
 90.1064 +    shape.setAttribute('points',data);
 90.1065 +   }
 90.1066 +  else 
 90.1067 +  
 90.1068 +  if (shape.tagName == 'path')
 90.1069 +   {
 90.1070 +    	shape.setAttribute('v', data);  
 90.1071 +    	
 90.1072 +   }  
 90.1073 +   	 
 90.1074 +   	
 90.1075 +}
 90.1076 +VMLRenderer.prototype.editCommand = function(shape, cmd, value)
 90.1077 +{
 90.1078 +  if (shape != null) {
 90.1079 +    if (cmd == 'fillcolor') {
 90.1080 +      if (value != '') {
 90.1081 +        shape.filled = 'true';
 90.1082 +        shape.fillcolor = value;
 90.1083 +      }
 90.1084 +      else {
 90.1085 +        shape.filled = 'false';
 90.1086 +        shape.fillcolor = '';
 90.1087 +      }
 90.1088 +    }
 90.1089 +    else if (cmd == 'linecolor') {
 90.1090 +      if (value != '') {
 90.1091 +        shape.stroked = 'true';
 90.1092 +        shape.strokecolor = value;
 90.1093 +      }
 90.1094 +      else {
 90.1095 +        shape.stroked = 'false';
 90.1096 +        shape.strokecolor = '';
 90.1097 +      }
 90.1098 +    }
 90.1099 +    else if (cmd == 'linewidth') {
 90.1100 +      shape.strokeweight = parseInt(value) + 'px';
 90.1101 +    } 
 90.1102 +     else if (cmd == 'fillopacity') {
 90.1103 +           
 90.1104 +             shape.fill.opacity= parseFloat(value);
 90.1105 +            //shape.style.fill.setAttribute("opacity", parseFloat(value)); 
 90.1106 +      
 90.1107 +    }
 90.1108 +  }
 90.1109 +}
 90.1110 +
 90.1111 +
 90.1112 +VMLRenderer.prototype.queryCommand = function(shape, cmd)
 90.1113 +{
 90.1114 +  if (shape != null) {
 90.1115 +    if (cmd == 'fillcolor') {
 90.1116 +      if (shape.filled == 'false')
 90.1117 +        return '';
 90.1118 +      else
 90.1119 +        return shape.fillcolor;
 90.1120 +    }
 90.1121 +    else if (cmd == 'linecolor') {
 90.1122 +      if (shape.stroked == 'false')
 90.1123 +        return '';
 90.1124 +      else
 90.1125 +        return shape.strokecolor;
 90.1126 +    }
 90.1127 +    else if (cmd == 'linewidth') {
 90.1128 +      if (shape.stroked == 'false') {
 90.1129 +        return '';
 90.1130 +      }
 90.1131 +      else {
 90.1132 +        // VML always transforms the pixels to points, so we have to convert them back
 90.1133 +        return (parseFloat(shape.strokeweight) * (screen.logicalXDPI / 72)) + 'px';
 90.1134 +      }
 90.1135 +    }
 90.1136 +  }
 90.1137 +}
 90.1138 +
 90.1139 +VMLRenderer.prototype.getProperties = function(shape)
 90.1140 +{
 90.1141 +  var result = '';
 90.1142 +  
 90.1143 +  if (shape != null) 
 90.1144 +   {
 90.1145 +      result = shape.getAttribute('fillcolor');
 90.1146 +      if (result == 'none')
 90.1147 +       {
 90.1148 +         mefillColor.visible = 'hidden';
 90.1149 +         mefillColor.hex = '#000000'; 
 90.1150 +         filldraw=true;
 90.1151 +         setbe(1,'img_okfill');
 90.1152 +       }
 90.1153 +        else
 90.1154 +       {   
 90.1155 +         //alert(mefillColor.hex+' '+result);
 90.1156 +         mefillColor.visible = 'visible';
 90.1157 +         mefillColor.hex = result; 
 90.1158 +         var rgb=hex2rgb(result)
 90.1159 +         mefillColor.r=rgb[0];
 90.1160 +         mefillColor.g=rgb[1];
 90.1161 +         mefillColor.b=rgb[2];
 90.1162 +         filldraw=false;
 90.1163 +         setbe(1,'img_okfill');
 90.1164 +
 90.1165 +       }
 90.1166 +
 90.1167 +      result = shape.getAttribute('strokecolor');
 90.1168 +      if (result == 'none')
 90.1169 +       {    
 90.1170 +         mestrokeColor.visible = 'hidden'; 
 90.1171 +         mestrokeColor.hex = '#000000';
 90.1172 +         mestrokeColor.width = 0;
 90.1173 +         strokedraw=true;
 90.1174 +         setbe(2,'img_okstroke');
 90.1175 +
 90.1176 +       }
 90.1177 +        else
 90.1178 +       { 
 90.1179 +         mestrokeColor.visible = 'visible'; 
 90.1180 +         mestrokeColor.hex = result; 
 90.1181 +         var rgb=hex2rgb(result)
 90.1182 +         mestrokeColor.r=rgb[0];
 90.1183 +         mestrokeColor.g=rgb[1];
 90.1184 +         mestrokeColor.b=rgb[2];
 90.1185 +         strokedraw=false;
 90.1186 +         setbe(2,'img_okstroke');
 90.1187 +
 90.1188 +       }
 90.1189 +
 90.1190 +      result = shape.getAttribute('strokeweight');
 90.1191 +      mestrokeColor.width = result;
 90.1192 + 
 90.1193 +      result = shape.fill.getAttribute('opacity'); 
 90.1194 +      mefillColor.opacity = result;
 90.1195 +
 90.1196 +      result = shape.stroke.getAttribute('opacity');
 90.1197 +      mestrokeColor.opacity = result;
 90.1198 +      
 90.1199 +      setProperties();
 90.1200 +   }
 90.1201 +}
 90.1202 +
 90.1203 +
 90.1204 +VMLRenderer.prototype.showMultiSelect = function(iniX,iniY) { 
 90.1205 +  var tracker = document.getElementById('trackerMultiSelect');
 90.1206 +  if (tracker) {
 90.1207 +    this.remove(tracker);
 90.1208 +  } 
 90.1209 +  var coord=this.editor.inputxy;
 90.1210 +	toX=parseFloat(coord[0]);
 90.1211 +	toY=parseFloat(coord[1]); 
 90.1212 +	
 90.1213 +   tracker = this.container.ownerDocument.createElement('v:rect');
 90.1214 +  
 90.1215 +  tracker.style.position = 'relative';
 90.1216 +  tracker.style.left = iniX;
 90.1217 +  tracker.style.top = iniY;
 90.1218 +  tracker.style.width = toX ;
 90.1219 +  tracker.style.height = toY;
 90.1220 +  tracker.setAttribute('filled', 'false');
 90.1221 +  tracker.setAttribute('stroked', 'true');
 90.1222 +  tracker.setAttribute('strokecolor', 'blue');
 90.1223 +  tracker.setAttribute('strokeweight', '1px');    
 90.1224 +  
 90.1225 +  this.container.appendChild(tracker);    
 90.1226 +} 
 90.1227 +
 90.1228 +function mouseCoord()
 90.1229 +{                                           
 90.1230 +   var coord=this.editor.inputxy;
 90.1231 +   coord[0]=parseFloat(coord[0]);
 90.1232 +   coord[1]=parseFloat(coord[1]); 
 90.1233 +   return coord
 90.1234 +} 
 90.1235 +
 90.1236 +var memoNode=null; 
 90.1237 +var memoPrevControl=new Array();
 90.1238 +var memoNextControl=new Array();
 90.1239 +VMLRenderer.prototype.nodeMove = function(newx,newy) { 
 90.1240 +    var mypath=$('control_codebase').value; 
 90.1241 +   var  x= $('option_path_x').value;
 90.1242 +   var y= $('option_path_y').value; 
 90.1243 +   var precoord=x+','+y; 
 90.1244 +   
 90.1245 +   $('option_path_x').value=newx; 
 90.1246 +   $('option_path_y').value=newy; 
 90.1247 +    
 90.1248 +      var  cadx= newx;
 90.1249 +      var cady= newy; 
 90.1250 +  
 90.1251 +      var coord=cadx+','+cady;
 90.1252 +          var cad1=new RegExp(precoord,"g");
 90.1253 +      
 90.1254 +      
 90.1255 +      var result=mypath.replace(cad1, coord);
 90.1256 +      
 90.1257 +     
 90.1258 +      $('control_codebase').value=result; 
 90.1259 +      
 90.1260 +      $('someinfo').value=precoord;
 90.1261 +      setShape();
 90.1262 +
 90.1263 +}
 90.1264 +
 90.1265 +function drawNodeControl(vml,numId){
 90.1266 +      var color1='#0066ff';          
 90.1267 +           // if(parseInt(memoNode.id)==a){   
 90.1268 +                   
 90.1269 +                   var pointprev=memoPrevControl[numId].split(',');
 90.1270 +                 var controlNode1 = this.container.ownerDocument.createElement('v:rect');            
 90.1271 +                  controlNode1.setAttribute('x', pointprev[0]-2);
 90.1272 +                  controlNode1.setAttribute('y', pointprev[1]-2);
 90.1273 +          
 90.1274 +                  controlNode1.setAttribute('width', 4);
 90.1275 +                  controlNode1.setAttribute('height', 4);
 90.1276 +                  controlNode1.setAttribute('fillcolor', color1);
 90.1277 +                  controlNode1.setAttribute('strokecolor', '#000000');
 90.1278 +                  controlNode1.setAttribute('strokeweight', '0'); 
 90.1279 +                  controlNode1.setAttribute('id', 'controlNode1'); 
 90.1280 +                  controlNode1.addEventListener("mousedown", function(event) {if(memoNode != null){memoNode.setAttribute('strokeweight', 0 );} memoNode=this; this.setAttribute('fillcolor', '#ffff00' );this.setAttribute('strokeweight', 1 );$('option_path_num').value=this.getAttributeNS(null,'id'); $('option_path_x').value=parseFloat(this.getAttribute('x'))+2; $('option_path_y').value=parseFloat(this.getAttribute('y'))+2;  }, false);
 90.1281 +                  vml.appendChild(controlNode1);  
 90.1282 +                  
 90.1283 +                   var pointnext=memoNextControl[numId].split(',');
 90.1284 +                  
 90.1285 +               
 90.1286 +                  var controlNode2 =this.container.ownerDocument.createElement('v:rect'); 
 90.1287 +                  controlNode2.setAttribute('x', pointnext[0]-2);
 90.1288 +                  controlNode2.setAttribute('y', pointnext[1]-2);
 90.1289 +          
 90.1290 +                  controlNode2.setAttribute('width', 4);
 90.1291 +                  controlNode2.setAttribute('height', 4);
 90.1292 +                  controlNode2.setAttribute('fillcolor', color1);
 90.1293 +                  controlNode2.setAttribute('strokecolor', '#000000');
 90.1294 +                  controlNode2.setAttribute('strokeweight', '0'); 
 90.1295 +                  controlNode2.setAttribute('id', 'controlNode1'); 
 90.1296 +                  controlNode2.addEventListener("mousedown", function(event) {if(memoNode != null){memoNode.setAttribute('strokeweight', 0 );} memoNode=this; this.setAttribute('fillcolor', '#ffff00' );this.setAttribute('strokeweight', 1 );$('option_path_num').value=this.getAttributeNS(null,'id'); $('option_path_x').value=parseFloat(this.getAttribute('x'))+2; $('option_path_y').value=parseFloat(this.getAttribute('y'))+2;  }, false);
 90.1297 +                  vml.appendChild(controlNode2);  
 90.1298 +
 90.1299 +            //}
 90.1300 +
 90.1301 +
 90.1302 +}  
 90.1303 + 
 90.1304 +VMLRenderer.prototype.showNodesCurve = function(path){
 90.1305 +  var points=path.split('c');
 90.1306 +     var chain='';
 90.1307 +     var segment=' ';
 90.1308 +     var numpoints=points.length-1;
 90.1309 +     for(var a=1;a<numpoints;a++)
 90.1310 +      {   
 90.1311 +        segment=points[a].split(' ');
 90.1312 +         chain+=segment[0]+' ';       
 90.1313 +      } 
 90.1314 +      
 90.1315 +         $('someinfo').value=numpoints+ ' nodes ';
 90.1316 +    return chain;    
 90.1317 +        
 90.1318 +};
 90.1319 +
 90.1320 +
 90.1321 +
 90.1322 +VMLRenderer.prototype.showTracker = function(shape) {
 90.1323 +  var box = this.bounds(shape);
 90.1324 +  var trshape = parseFloat(shape.getAttribute('rotation'));  
 90.1325 +  var tracker = document.getElementById('tracker');
 90.1326 +  if (tracker) {
 90.1327 +    this.remove(tracker);
 90.1328 +  }
 90.1329 +  
 90.1330 +  if (shape.tagName == 'shape') 
 90.1331 +   { 
 90.1332 +      shap=2; 
 90.1333 +      if(shape.children[0].tagName == 'path') 
 90.1334 +       {
 90.1335 +      
 90.1336 +            /* $('option_path_trx').value= box.x;  
 90.1337 +             $('option_path_try').value= box.y;
 90.1338 +             $('option_path_sclx').value= box.width;   
 90.1339 +             $('option_path_scly').value= box.height; 
 90.1340 +             $('option_path_rot').value= shape.style.rotation;
 90.1341 +             */  
 90.1342 +             var path=shape.children[0].getAttribute('v');
 90.1343 +              $('control_codebase').value=path;
 90.1344 +       }        
 90.1345 +   }     
 90.1346 +  if (shape.tagName == 'rect') { 
 90.1347 +     
 90.1348 +     $('option_rect_rot').value= shape.getAttribute('rotation');
 90.1349 +     $('option_rect_trx').value= box.x;  
 90.1350 +     $('option_rect_try').value= box.y;
 90.1351 +     $('option_rect_sclx').value= box.width;  
 90.1352 +     $('option_rect_scly').value= box.height;
 90.1353 +
 90.1354 +  }  
 90.1355 +
 90.1356 +  if (shape.tagName == 'image'){
 90.1357 +  /*  $('option_img_trx').value= box.x; 
 90.1358 +    $('option_img_try').value= box.y;
 90.1359 +    $('option_img_sclx').value= box.width;  
 90.1360 +    $('option_img_scly').value= box.height;
 90.1361 +    $('option_img_rot').value= T.b* (Math.PI * 2 / 360);   
 90.1362 +      */
 90.1363 +  }
 90.1364 +  if (shape.tagName == 'text'){
 90.1365 +   /* f$('option_text_trx').value= box.x; 
 90.1366 +    $('option_text_try').value= box.y;
 90.1367 +    $('option_text_sclx').value= box.width;  
 90.1368 +    $('option_text_scly').value= box.height;
 90.1369 +    $('option_text_rot').value= T.b* (Math.PI * 2 / 360);
 90.1370 +   */
 90.1371 +  }
 90.1372 +  if (shape.tagName == 'line'){ 
 90.1373 +    /*
 90.1374 +    $('option_line_trx').value= box.x;  
 90.1375 +    $('option_line_try').value= box.y;
 90.1376 +    */
 90.1377 +  }   
 90.1378 +  if (shape.tagName == 'oval'){  
 90.1379 +    /*$('option_ellipse_trx').value= putx;  
 90.1380 +    $('option_ellipse_try').value= puty;
 90.1381 +    $('option_ellipse_sclx').value= box.width;  
 90.1382 +    $('option_ellipse_scly').value= box.height;
 90.1383 +    $('option_ellipse_rot').value= T.b* (Math.PI * 2 / 360);
 90.1384 +    */
 90.1385 +  }
 90.1386 +  
 90.1387 +  
 90.1388 +  
 90.1389 + /*var matrix = shape.getScreenCTM();
 90.1390 +  var trshape= shape.getAttribute('transform');  
 90.1391 +  var shap=1;
 90.1392 +  if (shape.tagName == 'path') { shap=2; 
 90.1393 +        
 90.1394 +        
 90.1395 +        
 90.1396 +  }
 90.1397 +  */  
 90.1398 +  //if (shape.getAttribute('transform') ) { shap=2; } 
 90.1399 +  //var svgNamespace = 'http://www.w3.org/2000/svg';
 90.1400 +  
 90.1401 +   tracker = this.container.ownerDocument.createElement('v:group');
 90.1402 +   tracker.id = 'tracker'; 
 90.1403 +  //tracker.setAttribute('rotation',trshape);
 90.1404 +  tracker.setAttribute('coordorigin','0, 0');
 90.1405 +  //tracker.setAttribute('wrapcoords',true);
 90.1406 + 
 90.1407 +   
 90.1408 +  tracker.setAttribute('coordsize',box.width+','+ box.height);
 90.1409 +  tracker.style.position = 'absolute';   
 90.1410 +  tracker.style.left = box.x ;
 90.1411 +  tracker.style.top = box.y;
 90.1412 +  tracker.style.width = box.width ;
 90.1413 +  tracker.style.height = box.height ;
 90.1414 +       
 90.1415 +        
 90.1416 +        
 90.1417 +        
 90.1418 +        
 90.1419 +   
 90.1420 +    
 90.1421 +    
 90.1422 +    
 90.1423 +    ////////////////
 90.1424 +
 90.1425 + /*
 90.1426 +       
 90.1427 +       var trshape='translate (0,0) rotate(0) translate(0,0) '; 
 90.1428 +       var trshape_split=trshape.split(') ');    
 90.1429 +       
 90.1430 +      // get_between (trshape, s1, s2) ;
 90.1431 +     if(shape.getAttribute('transform')){ 
 90.1432 +         var trshape=shape.getAttribute('transform') ;   
 90.1433 +         //var spl=trshape.replace(', ',' ');  
 90.1434 +         //var spl1=spl.replace(')',' ');    
 90.1435 +         var trshape_split=trshape.split(') '); 
 90.1436 +         
 90.1437 +
 90.1438 +    }
 90.1439 +  */
 90.1440 +                                         
 90.1441 + var corners = [];
 90.1442 +  var point = createPoint(box.x, box.y, box.width, box.height);
 90.1443 + //point = {x:box.x, y:box.y, width: box.width, height:box.height};
 90.1444 +//point = createPoint(box.x, box.y, box.width, box.height);    
 90.1445 +  //1
 90.1446 +  corners.push( createPoint(box.x + box.width, box.y, box.width, box.height) );
 90.1447 +  point.x = box.x + box.width;
 90.1448 +  point.y = box.y;
 90.1449 +  //2
 90.1450 +  corners.push( createPoint(box.x + box.width, box.y + box.height, box.width, box.height) );
 90.1451 +  point.x = box.x + box.width;
 90.1452 +  point.y = box.y + box.height;
 90.1453 +  //3
 90.1454 +  //corners.push( point.matrixTransform(matrix) );
 90.1455 +  corners.push( createPoint(box.x , box.y + box.height, box.width, box.height) );
 90.1456 +  point.x = box.x;
 90.1457 +  point.y = box.y + box.height;
 90.1458 +  //4
 90.1459 +  corners.push( createPoint(box.x + box.width, box.y, box.width, box.height) );   
 90.1460 +  
 90.1461 +  var max = createPoint(corners[0].x, corners[0].y);
 90.1462 +  var min = createPoint(corners[0].x, corners[0].y);
 90.1463 +
 90.1464 +  // identify the new corner coordinates of the
 90.1465 +  // fully transformed bounding box
 90.1466 +  
 90.1467 +  for (var i = 1; i < corners.length; i++) {
 90.1468 +    var x = corners[i].x;
 90.1469 +    var y = corners[i].y;
 90.1470 +    if (x < min.x) {
 90.1471 +      min.x = x;
 90.1472 +    }
 90.1473 +    else if (x > max.x) {
 90.1474 +      max.x = x;
 90.1475 +    }
 90.1476 +    if (y < min.y) {
 90.1477 +      min.y = y;
 90.1478 +    }
 90.1479 +    else if (y > max.y) {
 90.1480 +      max.y = y;
 90.1481 +    }
 90.1482 +  } 
 90.1483 +      
 90.1484 +      
 90.1485 + var border_square = this.container.ownerDocument.createElement('v:rect');
 90.1486 +  
 90.1487 +  border_square.style.position = 'relative';
 90.1488 +  border_square.style.left = 0 - 10;
 90.1489 +  border_square.style.top = 0 - 10;
 90.1490 +  border_square.style.width = box.width + 20;
 90.1491 +  border_square.style.height = box.height + 20;
 90.1492 +  border_square.setAttribute('filled', 'false');
 90.1493 +  border_square.setAttribute('stroked', 'true');
 90.1494 +  border_square.setAttribute('strokecolor', 'blue');
 90.1495 +  border_square.setAttribute('strokeweight', '1px');  
 90.1496 +  
 90.1497 +  
 90.1498 +  var border_angle = this.container.ownerDocument.createElement('v:polyline');  
 90.1499 +  border_angle.style.position = 'relative';
 90.1500 + 
 90.1501 +    //border_angle.setAttribute('from',(box.width+10) + 'px,' + (box.height/2) + 'px');
 90.1502 +   //border_angle.setAttribute('to', (box.width+10+25) + 'px,' + (box.width+10) + 'px');
 90.1503 +  border_angle.setAttribute('filled', 'false');
 90.1504 +  border_angle.setAttribute('stroked', 'true');
 90.1505 +  border_angle.setAttribute('strokecolor', 'blue');
 90.1506 +  border_angle.setAttribute('strokeweight', '1px'); 
 90.1507 +  border_angle.setAttribute("points", (box.width+10)+","+((box.height/2))+", "
 90.1508 +                                      +(box.width+10+25)+","+((box.height/2)) );
 90.1509 +                  
 90.1510 +      
 90.1511 +    /* var path01 = this.container.ownerDocument.createElement('v:path');  
 90.1512 +     //path01.setAttribute("v", "m "+thispath+" c"+ thispath2+" e ");  
 90.1513 +     path01.setAttribute("v", "m"+(min.x-10)+","+ (min.y-10)+" r"+(box.width+20)+","+(0)+" r"+(0)+","+(box.height+20)+" r"+(-box.width-20)+','+(0)+"x e m"+(box.x+box.width+10)+","+ (box.y+(box.height/2))+" r"+(25)+",0  e ");
 90.1514 +     border.appendChild(path01)
 90.1515 +    */ 
 90.1516 +     //border.setAttribute('stroke-width', '1'); 
 90.1517 +       
 90.1518 +// createRect(min.x, min.y, max.x - min.x, max.y - min.y);
 90.1519 +  
 90.1520 +  
 90.1521 + /* tracker = this.container.ownerDocument.createElement('v:rect');
 90.1522 +  tracker.id = 'tracker';
 90.1523 +  tracker.style.position = 'absolute';
 90.1524 +  tracker.style.left = box.x - 10;
 90.1525 +  tracker.style.top = box.y - 10;
 90.1526 +  tracker.style.width = box.width + 20;
 90.1527 +  tracker.style.height = box.height + 20;
 90.1528 +  tracker.setAttribute('filled', 'false');
 90.1529 +  tracker.setAttribute('stroked', 'true');
 90.1530 +  tracker.setAttribute('strokecolor', 'blue');
 90.1531 +  tracker.setAttribute('strokeweight', '1px');
 90.1532 +  this.container.appendChild(tracker);
 90.1533 + */
 90.1534 +     var circle1 = this.container.ownerDocument.createElement('v:oval'); 
 90.1535 +      circle1.style.position = 'relative'; 
 90.1536 +        circle1.style.left = ( (box.width+40)-5);
 90.1537 +    circle1.style.top = ( (box.height / 2) -5);
 90.1538 +    circle1.style.width = (10);
 90.1539 +    circle1.style.height = (10);
 90.1540 +    circle1.setAttribute('filled', 'true');
 90.1541 +   circle1.setAttribute('stroked', 'true'); 
 90.1542 +   circle1.setAttribute('fillcolor', '#ffffff');
 90.1543 +   circle1.setAttribute('strokecolor', 'green');
 90.1544 +   circle1.setAttribute('strokeweight', '1px');
 90.1545 +
 90.1546 +   
 90.1547 +  var rect1 = this.container.ownerDocument.createElement('v:rect');
 90.1548 +  rect1.style.position = 'relative';
 90.1549 +  rect1.style.left =  - 10-5;
 90.1550 +  rect1.style.top =  - 10-5;
 90.1551 +  rect1.style.width = 10;
 90.1552 +  rect1.style.height = 10;
 90.1553 +  rect1.setAttribute('filled', 'true');
 90.1554 +  rect1.setAttribute('stroked', 'true'); 
 90.1555 +  rect1.setAttribute('fillcolor', '#ffffff');
 90.1556 +  rect1.setAttribute('strokecolor', 'green');
 90.1557 +  rect1.setAttribute('strokeweight', '1px');
 90.1558 +
 90.1559 +    
 90.1560 +  var rect2 = this.container.ownerDocument.createElement('v:rect');
 90.1561 +  rect2.style.position = 'relative';
 90.1562 +  rect2.style.left =   box.width +5;
 90.1563 +  rect2.style.top = -10 -5;
 90.1564 +  rect2.style.width = 10;
 90.1565 +  rect2.style.height = 10;
 90.1566 +  rect2.setAttribute('filled', 'true');
 90.1567 +  rect2.setAttribute('stroked', 'true'); 
 90.1568 +  rect2.setAttribute('fillcolor', '#ffffff');
 90.1569 +  rect2.setAttribute('strokecolor', 'green');
 90.1570 +  rect2.setAttribute('strokeweight', '1px');
 90.1571 +
 90.1572 +                                                        
 90.1573 +  var rect3 = this.container.ownerDocument.createElement('v:rect');
 90.1574 +  rect3.style.position = 'relative';
 90.1575 +  rect3.style.left =   box.width+5;
 90.1576 +  rect3.style.top =  box.height+5;
 90.1577 +  rect3.style.width = 10;
 90.1578 +  rect3.style.height = 10;
 90.1579 +  rect3.setAttribute('filled', 'true');
 90.1580 +  rect3.setAttribute('stroked', 'true'); 
 90.1581 +  rect3.setAttribute('fillcolor', '#ffffff');
 90.1582 +  rect3.setAttribute('strokecolor', 'green');
 90.1583 +  rect3.setAttribute('strokeweight', '1px');
 90.1584 +   
 90.1585 +  var rect4 = this.container.ownerDocument.createElement('v:rect');
 90.1586 +  rect4.style.position = 'relative';
 90.1587 +  rect4.style.left =  -10-5;
 90.1588 +  rect4.style.top = box.height+5;
 90.1589 +  rect4.style.width = 10;
 90.1590 +  rect4.style.height = 10;
 90.1591 +  rect4.setAttribute('filled', 'true');
 90.1592 +  rect4.setAttribute('stroked', 'true'); 
 90.1593 +  rect4.setAttribute('fillcolor', '#ffffff');
 90.1594 +  rect4.setAttribute('strokecolor', 'green');
 90.1595 +  rect4.setAttribute('strokeweight', '1px');
 90.1596 + 
 90.1597 + 
 90.1598 + 
 90.1599 +  var rectmid12 = this.container.ownerDocument.createElement('v:rect');
 90.1600 +  rectmid12.style.position = 'relative';
 90.1601 +  rectmid12.style.left = (box.width/2) -5;
 90.1602 +  rectmid12.style.top =- 10-5;
 90.1603 +  rectmid12.style.width = 10;
 90.1604 +  rectmid12.style.height = 10;
 90.1605 +  rectmid12.setAttribute('filled', 'true');
 90.1606 +  rectmid12.setAttribute('stroked', 'true'); 
 90.1607 +  rectmid12.setAttribute('fillcolor', '#ffffff');
 90.1608 +  rectmid12.setAttribute('strokecolor', 'green');
 90.1609 +  rectmid12.setAttribute('strokeweight', '1px');
 90.1610 +
 90.1611 + var rectmid23 = this.container.ownerDocument.createElement('v:rect');
 90.1612 +  rectmid23.style.position = 'relative';
 90.1613 +  rectmid23.style.left = box.width +5;
 90.1614 +  rectmid23.style.top = (box.height/2)-5;
 90.1615 +  rectmid23.style.width = 10;
 90.1616 +  rectmid23.style.height = 10;
 90.1617 +  rectmid23.setAttribute('filled', 'true');
 90.1618 +  rectmid23.setAttribute('stroked', 'true'); 
 90.1619 +  rectmid23.setAttribute('fillcolor', '#ffffff');
 90.1620 +  rectmid23.setAttribute('strokecolor', 'green');
 90.1621 +  rectmid23.setAttribute('strokeweight', '1px');
 90.1622 +
 90.1623 + var rectmid34 = this.container.ownerDocument.createElement('v:rect');
 90.1624 +  rectmid34.style.position = 'relative';
 90.1625 +  rectmid34.style.left = (box.width/2)-5;
 90.1626 +  rectmid34.style.top = box.height+5;
 90.1627 +  rectmid34.style.width = 10;
 90.1628 +  rectmid34.style.height = 10;
 90.1629 +  rectmid34.setAttribute('filled', 'true');
 90.1630 +  rectmid34.setAttribute('stroked', 'true'); 
 90.1631 +  rectmid34.setAttribute('fillcolor', '#ffffff');
 90.1632 +  rectmid34.setAttribute('strokecolor', 'green');
 90.1633 +  rectmid34.setAttribute('strokeweight', '1px');
 90.1634 +
 90.1635 + 
 90.1636 + var rectmid41 = this.container.ownerDocument.createElement('v:rect');
 90.1637 +  rectmid41.style.position = 'relative';
 90.1638 +  rectmid41.style.left =  -10-5 ;
 90.1639 +  rectmid41.style.top =(box.height/2)-5;
 90.1640 +  rectmid41.style.width = 10;
 90.1641 +  rectmid41.style.height = 10;
 90.1642 +  rectmid41.setAttribute('filled', 'true');
 90.1643 +  rectmid41.setAttribute('stroked', 'true'); 
 90.1644 +  rectmid41.setAttribute('fillcolor', '#ffffff');
 90.1645 +  rectmid41.setAttribute('strokecolor', 'green');
 90.1646 +  rectmid41.setAttribute('strokeweight', '1px');
 90.1647 + 
 90.1648 +       
 90.1649 +  
 90.1650 +
 90.1651 +     var colorin="#ff0000";
 90.1652 +      var colorout="#ffffff" 
 90.1653 +      
 90.1654 +        circle1.attachEvent("onmouseover", function(event) {circle1.style.cursor= 's-resize';  circle1.setAttribute('fillcolor', colorin ); typeTransform='Rotate'; scaleType='nw'; }, false);
 90.1655 +     circle1.attachEvent("onmouseout", function(event) {circle1.style.cursor= 'default';  circle1.setAttribute('fillcolor', colorout ); typeTransform='Rotate'; }, false); //typeTransform='rotate'
 90.1656 + 
 90.1657 +      
 90.1658 +     rect1.attachEvent("onmouseover", function(event) {rect1.style.cursor= 'nw-resize';  rect1.setAttribute('fillcolor', colorin ); typeTransform='Scale'; scaleType='nw';  }, false);
 90.1659 +     rect1.attachEvent("onmouseout", function(event) {rect1.style.cursor= 'default';  rect1.setAttribute('fillcolor', colorout ); typeTransform='Scale';  }, false); //typeTransform='rotate'
 90.1660 +    
 90.1661 +     rect2.attachEvent("onmouseover", function(event) {rect2.style.cursor= 'ne-resize';  rect2.setAttribute('fillcolor', colorin ); typeTransform='Scale'; scaleType='ne';}, false);  
 90.1662 +     rect2.attachEvent("onmouseout", function(event) {rect2.style.cursor= 'default';  rect2.setAttribute('fillcolor', colorout ); typeTransform='Scale'; }, false);
 90.1663 +      
 90.1664 +     rect3.attachEvent("onmouseover", function(event) {rect3.style.cursor= 'se-resize';  rect3.setAttribute('fillcolor', colorin ); typeTransform='Scale'; scaleType='se';}, false);  
 90.1665 +     rect3.attachEvent("onmouseout", function(event) {rect3.style.cursor= 'default';  rect3.setAttribute('fillcolor', colorout ); typeTransform='Scale'; }, false);
 90.1666 +     
 90.1667 +     rect4.attachEvent("onmouseover", function(event) {rect4.style.cursor= 'sw-resize';  rect4.setAttribute('fillcolor', colorin ); typeTransform='Scale'; scaleType='sw';}, false);  
 90.1668 +     rect4.attachEvent("onmouseout", function(event) {rect4.style.cursor= 'default';  rect4.setAttribute('fillcolor', colorout ); typeTransform='Scale'; }, false);
 90.1669 +                                                    
 90.1670 +     rectmid12.attachEvent("onmouseover", function(event) {rectmid12.style.cursor= 'n-resize';  rectmid12.setAttribute('fillcolor', colorin ); typeTransform='Scale'; scaleType='n';}, false);  
 90.1671 +     rectmid12.attachEvent("onmouseout", function(event) {rectmid12.style.cursor= 'default';  rectmid12.setAttribute('fillcolor', colorout ); typeTransform=''; }, false); 
 90.1672 +
 90.1673 +     rectmid23.attachEvent("onmouseover", function(event) {rectmid23.style.cursor= 'e-resize';  rectmid23.setAttribute('fillcolor', colorin ); typeTransform='Scale'; scaleType='e';}, false);  
 90.1674 +     rectmid23.attachEvent("onmouseout", function(event) {rectmid23.style.cursor= 'default';  rectmid23.setAttribute('fillcolor', colorout ); typeTransform=''; }, false); 
 90.1675 +     
 90.1676 +     rectmid34.attachEvent("onmouseover", function(event) {rectmid34.style.cursor= 's-resize';  rectmid34.setAttribute('fillcolor', colorin ); typeTransform='Scale'; scaleType='s';}, false);  
 90.1677 +     rectmid34.attachEvent("onmouseout", function(event) {rectmid34.style.cursor= 'default';  rectmid34.setAttribute('fillcolor', colorout ); typeTransform=''; }, false); 
 90.1678 +
 90.1679 +     rectmid41.attachEvent("onmouseover", function(event) {rectmid41.style.cursor= 'w-resize';  rectmid41.setAttribute('fillcolor', colorin ); typeTransform='Scale'; scaleType='w'; }, false);  
 90.1680 +     rectmid41.attachEvent("onmouseout", function(event) {rectmid41.style.cursor= 'default';  rectmid41.setAttribute('fillcolor', colorout ); typeTransform=''; }, false); 
 90.1681 +   //tracker.setAttribute('transform',trshape); 
 90.1682 +
 90.1683 + 
 90.1684 + 
 90.1685 +  tracker.appendChild(border_square); 
 90.1686 +  tracker.appendChild(border_angle);  
 90.1687 +   
 90.1688 +  tracker.appendChild(circle1);  
 90.1689 +  
 90.1690 +  tracker.appendChild(rect1);    
 90.1691 +  tracker.appendChild(rect2);   
 90.1692 +  tracker.appendChild(rect3); 
 90.1693 +  tracker.appendChild(rect4);    
 90.1694 +  tracker.appendChild(rectmid12);  
 90.1695 +  tracker.appendChild(rectmid23);
 90.1696 +  tracker.appendChild(rectmid34);
 90.1697 +  tracker.appendChild(rectmid41);  
 90.1698 +  
 90.1699 +  /*
 90.1700 +   
 90.1701 +  
 90.1702 + 
 90.1703 +  */
 90.1704 +
 90.1705 +
 90.1706 +   this.container.appendChild(tracker);
 90.1707 +
 90.1708 +
 90.1709 +
 90.1710 +}                                      
 90.1711 +
 90.1712 +
 90.1713 +
 90.1714 +
 90.1715 +
 90.1716 +
 90.1717 +
 90.1718 +
 90.1719 +
 90.1720 +
 90.1721 +VMLRenderer.prototype.getMarkup = function() { 
 90.1722 +       
 90.1723 +  return this.container.innerHTML;
 90.1724 +}
 90.1725 +
 90.1726 +
 90.1727 +
 90.1728 +/////////////////////////////////
 90.1729 +
 90.1730 +
 90.1731 +
 90.1732 +var rotatexxx=0; 
 90.1733 + 
 90.1734 +var scaleType=''; 
 90.1735 +var xrot=0;
 90.1736 +var yrot=0;  
 90.1737 +
 90.1738 +var point = {x:0, y:0, width: 0, height:0};
 90.1739 +
 90.1740 +function createPoint (x, y, width, height) {
 90.1741 +    //var point = {x:34, y:22, width: 22, height:23};
 90.1742 +    //point.x = x;
 90.1743 +    //point.y = y;   
 90.1744 +    point = {x:x, y:y, width: width, height:height};
 90.1745 +    return point;
 90.1746 +  }
 90.1747 +
 90.1748 +
 90.1749 +/////////////////////////////////
 90.1750 +
 90.1751 +VMLRenderer.prototype.restruct= function(shape)
 90.1752 +{
 90.1753 +};        
 90.1754 +
 90.1755 +
 90.1756 +
 90.1757 +VMLRenderer.prototype.transform = function() {
 90.1758 +
 90.1759 +};
 90.1760 +
 90.1761 +VMLRenderer.prototype.scaleShape = function(shape, previus,toX, toY) {
 90.1762 +// document.forms[0].code.value="escala";      
 90.1763 +
 90.1764 +         //document.forms[0].code.value="escala"; 
 90.1765 +          var box = this.bounds(shape);
 90.1766 +	 var prevbox=this.bounds(previus);
 90.1767 +	var centerx= box.x+(box.width/2);
 90.1768 +	var centery= box.y+(box.height/2); 
 90.1769 +	var coord=this.editor.inputxy;
 90.1770 +	toX=parseFloat(coord[0]);
 90.1771 +	toY=parseFloat(coord[1]); 
 90.1772 +	var d2p_center=dist2p(centerx,centery,toX,toY);       
 90.1773 +
 90.1774 +	var d2p=dist2p(box.x,box.y,toX,toY);
 90.1775 +
 90.1776 +	var shareScale=box.width/d2p;
 90.1777 +
 90.1778 +	var trans_ShareScale='';
 90.1779 +	var tx, ty, tw, yh;
 90.1780 +
 90.1781 +	if(scaleType.length==1){
 90.1782 +		if(scaleType== 'w')
 90.1783 +		 {
 90.1784 +			trans_ShareScale=shareScale+",1";  
 90.1785 +			tx=toX; 
 90.1786 +			ty=prevbox.y; 
 90.1787 +			var dist=prevbox.x-toX;
 90.1788 +			var w=dist+prevbox.width;
 90.1789 +			if(w<1){w=1;}
 90.1790 +			tw=w;
 90.1791 +			th=prevbox.height;
 90.1792 +			//document.forms[0].code.value=box.x+' '+toX+' '+dist+''; 
 90.1793 +		 }        
 90.1794 +		if(scaleType== 'e')
 90.1795 +		 {
 90.1796 +		        trans_ShareScale=shareScale+",1"; 
 90.1797 +			tx=prevbox.x; 
 90.1798 +			ty=prevbox.y; 
 90.1799 +			var dist=toX-(prevbox.x+prevbox.width); //dist2p(toX,b,c,d);
 90.1800 +			var w=dist+prevbox.width;
 90.1801 +			if(w<1){w=1;}
 90.1802 +			tw=w;
 90.1803 +			th=prevbox.height;
 90.1804 + 
 90.1805 +		 }        
 90.1806 +		if(scaleType== 'n')
 90.1807 +		 {
 90.1808 +			trans_ShareScale="1,"+shareScale; 
 90.1809 +			
 90.1810 +			tx=prevbox.x; 
 90.1811 +			ty=toY; 
 90.1812 +			var dist=prevbox.y-toY;
 90.1813 +			var h=dist+prevbox.height;
 90.1814 +			if(h<1){h=1;}
 90.1815 +			tw=prevbox.width;
 90.1816 +			th=h;
 90.1817 +
 90.1818 +		 }
 90.1819 +                if( scaleType== 's')
 90.1820 +                 {
 90.1821 +                        trans_ShareScale="1,"+shareScale;  
 90.1822 +
 90.1823 +			tx=prevbox.x; 
 90.1824 +			ty=prevbox.y; 
 90.1825 +			var dist=toY-(prevbox.y+prevbox.height); //dist2p(toX,b,c,d);
 90.1826 +			var h=dist+prevbox.height;
 90.1827 +			if(h<1){h=1;}
 90.1828 +			tw=prevbox.width;
 90.1829 +			th=h;
 90.1830 +
 90.1831 +	         }
 90.1832 +        }
 90.1833 +	if(scaleType.length==2){
 90.1834 +		if(scaleType== 'nw'){
 90.1835 +			trans_ShareScale=shareScale+","+shareScale; 
 90.1836 +          
 90.1837 +      			//var angle_diagonal=getAngle(prevbox.width,prevbox.height);
 90.1838 +      			  var angle_diagonal=ang2v(prevbox.x,prevbox.y,prevbox.x+prevbox.width,prevbox.y+prevbox.height)
 90.1839 +            
 90.1840 +                        var ax= prevbox.x;
 90.1841 +                        var ay= prevbox.y;
 90.1842 +                        var bx= prevbox.x+prevbox.width; 
 90.1843 +                        var by= prevbox.y+prevbox.height; 
 90.1844 +                        
 90.1845 +                        var cx= toX;
 90.1846 +                        var cy= toY;
 90.1847 +                        var dx= toX+10*Math.cos(angle_diagonal+(Math.PI/2)); 
 90.1848 +                        var dy= toY+10*Math.sin(angle_diagonal+(Math.PI/2)); 
 90.1849 +                      var section_a=ntrsccn2rb(ax,ay,bx,by,cx,cy,dx,dy); 
 90.1850 +                 this.editor.log(angle_diagonal* 180 / Math.PI);       
 90.1851 +
 90.1852 +                var tx= section_a[1];
 90.1853 +                var ty= section_a[2];
 90.1854 +                
 90.1855 +                        var ax= section_a[1];
 90.1856 +                        var ay= section_a[2];
 90.1857 +                        var bx= 0;
 90.1858 +                        var by= section_a[2] ; 
 90.1859 +                        
 90.1860 +                        var cx=prevbox.x+prevbox.width; 
 90.1861 +                        var cy= prevbox.y;
 90.1862 +
 90.1863 +                        var dx= prevbox.x+prevbox.width;  
 90.1864 +                        var dy= 0;
 90.1865 +                        
 90.1866 +                      
 90.1867 +                var section_b=ntrsccn2rb(ax,ay,bx,by,cx,cy,dx,dy);
 90.1868 +
 90.1869 +                var distx=dist2p(section_a[1],section_a[2],section_b[1],section_b[2]);         
 90.1870 +                
 90.1871 +                        var ax= section_a[1];
 90.1872 +                        var ay= section_a[2];
 90.1873 +                        var bx= section_a[1] 
 90.1874 +                        var by= 0; 
 90.1875 +                        
 90.1876 +                        var cx= prevbox.x; 
 90.1877 +                        var cy= prevbox.y+prevbox.height; 
 90.1878 +
 90.1879 +                        var dx= 0; 
 90.1880 +                        var dy= prevbox.y+prevbox.height;
 90.1881 +                        
 90.1882 +                      
 90.1883 +                var section_c=ntrsccn2rb(ax,ay,bx,by,cx,cy,dx,dy);
 90.1884 +
 90.1885 +                var disty=dist2p(section_a[1],section_a[2],section_c[1],section_c[2]);         
 90.1886 +                
 90.1887 +                  
 90.1888 + 
 90.1889 +
 90.1890 +                    
 90.1891 +                        if(distx<1){distx=1;}    
 90.1892 +			
 90.1893 +         		
 90.1894 +			if(disty<1){disty=1;}
 90.1895 +                        //document.forms[0].code.value=distx+' '+disty;
 90.1896 +			tw=distx;
 90.1897 +			th=disty;
 90.1898 +
 90.1899 +			
 90.1900 +		}                  
 90.1901 +		
 90.1902 +	//////////////////// SE
 90.1903 +		
 90.1904 +           if( scaleType== 'se'){
 90.1905 +			trans_ShareScale=shareScale+","+shareScale;   
 90.1906 +			
 90.1907 +	          
 90.1908 +      			//var angle_diagonal=getAngle(prevbox.width,prevbox.height);
 90.1909 +       			var angle_diagonal=ang2v(prevbox.x,prevbox.y,prevbox.x+prevbox.width,prevbox.y+prevbox.height)
 90.1910 +		
 90.1911 +			
 90.1912 +			
 90.1913 +                        var ax= prevbox.x;
 90.1914 +                        var ay= prevbox.y;
 90.1915 +                        var bx= prevbox.x+prevbox.width; 
 90.1916 +                        var by= prevbox.y+prevbox.height; 
 90.1917 +                        
 90.1918 +                        var cx= toX;
 90.1919 +                        var cy= toY;   
 90.1920 +                        var dx= toX+10*Math.cos(angle_diagonal+(Math.PI/2)); 
 90.1921 +                        var dy= toY+10*Math.sin(angle_diagonal+(Math.PI/2)); 
 90.1922 +      
 90.1923 +                var section_a=ntrsccn2rb(ax,ay,bx,by,cx,cy,dx,dy);   
 90.1924 +                
 90.1925 +                                         
 90.1926 +
 90.1927 +                //////////
 90.1928 +                var tx= prevbox.x;
 90.1929 +                var ty= prevbox.y;
 90.1930 +                
 90.1931 +                        var ax= section_a[1];
 90.1932 +                        var ay= section_a[2];
 90.1933 +                        var bx= 0;
 90.1934 +                        var by= section_a[2] ; 
 90.1935 +                        
 90.1936 +                        var cx=prevbox.x; 
 90.1937 +                        var cy= prevbox.y;
 90.1938 +
 90.1939 +                        var dx= prevbox.x;  
 90.1940 +                        var dy= 0;
 90.1941 +                        
 90.1942 +                      
 90.1943 +                var section_b=ntrsccn2rb(ax,ay,bx,by,cx,cy,dx,dy);
 90.1944 +               
 90.1945 +               /////////////////
 90.1946 +               
 90.1947 +               
 90.1948 +                var distx=dist2p(section_a[1],section_a[2],section_b[1],section_b[2]);         
 90.1949 +
 90.1950 +             
 90.1951 +                        var ax= section_a[1];
 90.1952 +                        var ay= section_a[2];
 90.1953 +                        var bx= section_a[1] 
 90.1954 +                        var by= 0; 
 90.1955 +                        
 90.1956 +                        var cx= prevbox.x; 
 90.1957 +                        var cy= prevbox.y; 
 90.1958 +
 90.1959 +                        var dx=0;
 90.1960 +                        var dy= prevbox.y;
 90.1961 +                        
 90.1962 +                      
 90.1963 +                var section_c=ntrsccn2rb(ax,ay,bx,by,cx,cy,dx,dy);
 90.1964 +               
 90.1965 +               ///////////////
 90.1966 +               
 90.1967 +                var disty=dist2p(section_a[1],section_a[2],section_c[1],section_c[2]);         
 90.1968 +                
 90.1969 +   
 90.1970 +                    
 90.1971 +                        if(distx<1){distx=1;}    
 90.1972 +			
 90.1973 +         		
 90.1974 +			if(disty<1){disty=1;}
 90.1975 +                        
 90.1976 +			tw=distx;
 90.1977 +			th=disty;
 90.1978 +
 90.1979 +			
 90.1980 +		}
 90.1981 +
 90.1982 +		if(scaleType== 'ne'){  
 90.1983 +		        
 90.1984 +			trans_ShareScale=shareScale+","+shareScale;   
 90.1985 +			
 90.1986 +	                var angle_diagonal=ang2v(prevbox.x,prevbox.y+prevbox.height,prevbox.x+prevbox.width,prevbox.y)
 90.1987 +      			//var angle_diagonal=getAngle(prevbox.width,prevbox.height);
 90.1988 + 		
 90.1989 +			
 90.1990 +				
 90.1991 +			
 90.1992 +                        var ax= prevbox.x;
 90.1993 +                        var ay= prevbox.y+prevbox.height;
 90.1994 +                        var bx= prevbox.x+prevbox.width; 
 90.1995 +                        var by= prevbox.y;
 90.1996 +                       
 90.1997 +                        var cx= toX;
 90.1998 +                        var cy= toY;   
 90.1999 +                        var dx= toX+10*Math.cos(angle_diagonal+(Math.PI/2)); 
 90.2000 +                        var dy= toY+10*Math.sin(angle_diagonal+(Math.PI/2)); 
 90.2001 +
 90.2002 +
 90.2003 +                      this.editor.log(angle_diagonal);
 90.2004 +
 90.2005 +      
 90.2006 +                var section_a=ntrsccn2rb(ax,ay,bx,by,cx,cy,dx,dy);   
 90.2007 +                
 90.2008 +                                         
 90.2009 +
 90.2010 +                //////////
 90.2011 +                var tx= prevbox.x;
 90.2012 +                var ty= section_a[2];
 90.2013 +                
 90.2014 +                        var ax= section_a[1];
 90.2015 +                        var ay= section_a[2];
 90.2016 +                        var bx= 0;
 90.2017 +                        var by= section_a[2] ; 
 90.2018 +                        
 90.2019 +                        var cx=prevbox.x; 
 90.2020 +                        var cy= prevbox.y;
 90.2021 +
 90.2022 +                        var dx= prevbox.x;  
 90.2023 +                        var dy= 0;
 90.2024 +                        
 90.2025 +                      
 90.2026 +                var section_b=ntrsccn2rb(ax,ay,bx,by,cx,cy,dx,dy);
 90.2027 +               
 90.2028 +               /////////////////
 90.2029 +               
 90.2030 +               
 90.2031 +                var distx=dist2p(section_a[1],section_a[2],section_b[1],section_b[2]);         
 90.2032 +
 90.2033 +             
 90.2034 +                        var ax= section_a[1];
 90.2035 +                        var ay= section_a[2];
 90.2036 +                        var bx= section_a[1]; 
 90.2037 +                        var by= 0; 
 90.2038 +                        
 90.2039 +                        var cx= prevbox.x; 
 90.2040 +                        var cy= prevbox.y+prevbox.height; 
 90.2041 +
 90.2042 +                        var dx=0;
 90.2043 +                        var dy= prevbox.y+prevbox.height;
 90.2044 +                        
 90.2045 +                      
 90.2046 +                var section_c=ntrsccn2rb(ax,ay,bx,by,cx,cy,dx,dy);
 90.2047 +               
 90.2048 +               ///////////////
 90.2049 +               
 90.2050 +                var disty=dist2p(section_a[1],section_a[2],section_c[1],section_c[2]);         
 90.2051 +                
 90.2052 +
 90.2053 +                    
 90.2054 +                        if(distx<1){distx=1;}    
 90.2055 +			
 90.2056 +         		
 90.2057 +			if(disty<1){disty=1;}
 90.2058 +                        //document.forms[0].code.value=distx+' '+disty;
 90.2059 +			tw=distx;
 90.2060 +			th=disty;
 90.2061 +			
 90.2062 +			
 90.2063 +			
 90.2064 +			
 90.2065 +			
 90.2066 +		}
 90.2067 +		if(scaleType== 'sw'){
 90.2068 +			trans_ShareScale=shareScale+","+shareScale;  
 90.2069 +			
 90.2070 +			
 90.2071 +				
 90.2072 +			
 90.2073 +	                var angle_diagonal=ang2v(prevbox.x,prevbox.y+prevbox.height,prevbox.x+prevbox.width,prevbox.y)
 90.2074 +      			//var angle_diagonal=getAngle(prevbox.width,prevbox.height);
 90.2075 + 		
 90.2076 +			
 90.2077 +				
 90.2078 +			
 90.2079 +                        var ax= prevbox.x;
 90.2080 +                        var ay= prevbox.y+prevbox.height;
 90.2081 +                        var bx= prevbox.x+prevbox.width; 
 90.2082 +                        var by= prevbox.y;
 90.2083 +                       
 90.2084 +                        var cx= toX;
 90.2085 +                        var cy= toY;   
 90.2086 +                        var dx= toX+10*Math.cos(angle_diagonal+(Math.PI/2)); 
 90.2087 +                        var dy= toY+10*Math.sin(angle_diagonal+(Math.PI/2)); 
 90.2088 +
 90.2089 +
 90.2090 +                      this.editor.log(angle_diagonal);
 90.2091 +
 90.2092 +      
 90.2093 +                var section_a=ntrsccn2rb(ax,ay,bx,by,cx,cy,dx,dy);   
 90.2094 +                
 90.2095 +
 90.2096 +                //////////
 90.2097 +                var tx= section_a[1];
 90.2098 +                var ty= prevbox.y;
 90.2099 +                
 90.2100 +                        var ax= section_a[1];
 90.2101 +                        var ay= section_a[2];
 90.2102 +                        var bx= 0;
 90.2103 +                        var by= section_a[2] ; 
 90.2104 +                        
 90.2105 +                        var cx=prevbox.x+prevbox.width; 
 90.2106 +                        var cy= prevbox.y+prevbox.height;
 90.2107 +
 90.2108 +                        var dx= prevbox.x+prevbox.width;  
 90.2109 +                        var dy= 0;
 90.2110 +                        
 90.2111 +                      
 90.2112 +                var section_b=ntrsccn2rb(ax,ay,bx,by,cx,cy,dx,dy);
 90.2113 +                var distx=dist2p(section_a[1],section_a[2],section_b[1],section_b[2]);         
 90.2114 +
 90.2115 +               /////////////////             
 90.2116 +                        var ax= section_a[1];
 90.2117 +                        var ay= section_a[2];
 90.2118 +                        var bx= section_a[1];
 90.2119 +                        var by= 0; 
 90.2120 +                          
 90.2121 +                        var cx= prevbox.x; 
 90.2122 +                        var cy= prevbox.y; 
 90.2123 +
 90.2124 +                        var dx=0;
 90.2125 +                        var dy= prevbox.y;
 90.2126 +                        
 90.2127 +                      
 90.2128 +                var section_c=ntrsccn2rb(ax,ay,bx,by,cx,cy,dx,dy);
 90.2129 +                  var disty=dist2p(section_a[1],section_a[2],section_c[1],section_c[2]);         
 90.2130 +              ///////////////
 90.2131 +                
 90.2132 +   
 90.2133 +                    
 90.2134 +                        if(distx<1){distx=1;}    
 90.2135 +			
 90.2136 +         		
 90.2137 +			if(disty<1){disty=1;}
 90.2138 +                        //document.forms[0].code.value=distx+' '+disty;
 90.2139 +			tw=distx;
 90.2140 +			th=disty;
 90.2141 +			
 90.2142 +		}
 90.2143 +
 90.2144 +	}  
 90.2145 +
 90.2146 +
 90.2147 +
 90.2148 + if(shape.tagName == 'rect')
 90.2149 +  { 
 90.2150 +    //alert(data[0]); 
 90.2151 +    
 90.2152 +    
 90.2153 +      shape.style.left = tx + 'px';
 90.2154 +      shape.style.top = ty + 'px'; 
 90.2155 +      shape.style.height = th + 'px';
 90.2156 +      shape.style.width = tw + 'px';
 90.2157 +    
 90.2158 +  }
 90.2159 +   else 
 90.2160 + if(shape.tagName == 'text')
 90.2161 +  {
 90.2162 +    /*
 90.2163 +    shape.setAttribute('x',tx);
 90.2164 +    shape.setAttribute('y',ty);   
 90.2165 +    shape.setAttribute('width', tw);     
 90.2166 +    shape.setAttribute('height', th); 
 90.2167 +    
 90.2168 +    //previus.setAttribute('transform', "scale("+trans_ShareScale+")");
 90.2169 +     shape.setAttribute('x', tx + 'px');
 90.2170 +    shape.setAttribute('y', ty + 'px');
 90.2171 +
 90.2172 +    shape.setAttribute('textLength', parseInt(Math.round(tw)));    
 90.2173 +    
 90.2174 +     */
 90.2175 +  } 
 90.2176 +   else 
 90.2177 + if(shape.tagName == 'oval')
 90.2178 +  {
 90.2179 +    //shape.getAttribute('transform)
 90.2180 +   
 90.2181 +      shape.style.left = tx + 'px';
 90.2182 +      shape.style.top = ty + 'px'; 
 90.2183 +      shape.style.height = th + 'px';
 90.2184 +      shape.style.width = tw + 'px';
 90.2185 + 
 90.2186 +        
 90.2187 +  }
 90.2188 +   else 
 90.2189 + if(shape.tagName == 'line')
 90.2190 +  { 
 90.2191 +       shape.setAttribute('to',tx + 'px,' + ty + 'px'); 
 90.2192 +           shape.setAttribute('from', tw + 'px,' + th + 'px');
 90.2193 +   
 90.2194 +         
 90.2195 +  }
 90.2196 +   else
 90.2197 + if (shape.tagName == 'polyline') 
 90.2198 +  {
 90.2199 +   
 90.2200 +  }
 90.2201 +   else 
 90.2202 + if (shape.tagName == 'image') 
 90.2203 +  {   
 90.2204 +     
 90.2205 +      shape.style.left = tx + 'px';
 90.2206 +      shape.style.top = ty + 'px'; 
 90.2207 +      shape.style.height = th + 'px';
 90.2208 +      shape.style.width = tw + 'px';
 90.2209 +      
 90.2210 +  }
 90.2211 +   else 
 90.2212 + if (shape.tagName == 'shape')
 90.2213 +  {     
 90.2214 +
 90.2215 +      shape.style.left = tx + 'px';
 90.2216 +      shape.style.top = ty + 'px'; 
 90.2217 +      shape.style.height = th + 'px';
 90.2218 +      shape.style.width = tw + 'px';
 90.2219 +
 90.2220 +       //document.forms[0].code.value='';
 90.2221 +       //shape.setAttribute('transform', "scale("+trans_ShareScale+")");
 90.2222 +
 90.2223 +  }  
 90.2224 +   	                             
 90.2225 +
 90.2226 + 
 90.2227 +         
 90.2228 +         
 90.2229 +};  
 90.2230 +
 90.2231 +
 90.2232 +
 90.2233 +VMLRenderer.prototype.rotateShape = function(shape, previus,toX, toY) {
 90.2234 + 
 90.2235 + 
 90.2236 + 
 90.2237 +         //document.forms[0].code.value=$('xyinput').innerHTML;  
 90.2238 +    //document.getElementById('richdraw').style.cursor='e-resize';
 90.2239 +         var box = this.bounds(shape);
 90.2240 +	 var prevbox=this.bounds(previus);
 90.2241 +	var centerx= box.x+(box.width/2);
 90.2242 +	var centery= box.y+(box.height/2); 
 90.2243 +	var coord=this.editor.inputxy;
 90.2244 +
 90.2245 +       var actual_angle=ang2v(centerx,centery,coord[0], coord[1]);
 90.2246 +       
 90.2247 +       if(xrot<toX) { rotatexxx+=1;}else{rotatexxx-=1;}
 90.2248 +       xrot=toX;
 90.2249 +       yrot=toY;  
 90.2250 +       
 90.2251 +	var xtr=0;
 90.2252 +        var ytr=0;
 90.2253 +                
 90.2254 +        //var box= shape.getBBox();  
 90.2255 +        var tr1x=  box.x;  
 90.2256 +         var tr1y=  box.y;
 90.2257 +
 90.2258 + 
 90.2259 + 
 90.2260 +    toX+=xtr;
 90.2261 +        toY+=xtr;
 90.2262 +
 90.2263 +      //var trax=parseFloat(toX-box.x);   var tray= parseFloat(toY-box.y);      
 90.2264 +      var trax=parseFloat(box.x/2);   var tray= parseFloat(box.y/2); 
 90.2265 +       var angler=Math.atan2(toX,toY);
 90.2266 +         var angle=angler*180/Math.PI;  
 90.2267 +         // var T = shape.getCTM(); 
 90.2268 +          //var rotini=T.a*(180 / Math.PI);
 90.2269 +           //var angle=rotini*180/Math.PI;
 90.2270 +          //var rot_angle=actual_angle*180/Math.PI;  
 90.2271 +          //document.forms[0].code.value=centerx+' '+centery+' '+coord[0]+' '+coord[1]+'____ '+rot_angle+' '+actual_angle*180/Math.PI;
 90.2272 +          
 90.2273 +          
 90.2274 +         // matrix( a, b, c, d, e, f )
 90.2275 +         // a c e
 90.2276 +         // b d f
 90.2277 +         // 0 0 1
 90.2278 +         //a scale factor of 2, a rotation of 30 deg and a translation of (500,50)
 90.2279 +         //T     1.732   -1   500     1   1.732   50     0   0   1
 90.2280 +         //T      1  ad-bc      d  -c -de+cf   -b  a  be-df    0   0   1
 90.2281 +         
 90.2282 +         //shape.setAttribute('transform', "translate("+(-xshe)+","+(-yshe)+")");
 90.2283 + 
 90.2284 +         // shape.setAttribute("transform", "  matrix( a, b, c, d, e, f )");
 90.2285 +          // shape.setAttribute('transform', "translate("+(box.x+(box.width/2))+","+(box.y+(box.height/2))+")  rotate("+rotatexxx+") ");
 90.2286 +           //shape.setAttribute('transform', "translate("+(box.x+(box.width/2))+","+(box.y+(box.height/2))+") rotate("+rotatexxx+") translate("+(-box.x-(box.width/2))+","+(-box.y-(box.height/2))+") ");
 90.2287 +         //shape.setAttribute('transform', "rotate("+rotatexxx+","+(box.x+(box.width/2))+","+(box.y+(box.height/2))+")");
 90.2288 +         //shape.setAttribute('transform', "rotate("+rotatexxx+","+(prevbox.x+(prevbox.width/2))+","+(prevbox.y+(prevbox.height/2))+")");
 90.2289 +         //shape.setAttribute('rotation', rot_angle);
 90.2290 +         shape.setAttribute('rotation', angle);
 90.2291 +         //(prevbox.x+(prevbox.width/2))+","+(prevbox.y+(prevbox.height/2))+")");
 90.2292 +                          
 90.2293 + 
 90.2294 + 
 90.2295 +    }
 90.2296 +
 90.2297 +//////////////////////////////
 90.2298 +/*H  = 0;
 90.2299 +W  = 0;
 90.2300 +LX = new Array();
 90.2301 +S  = new Array();
 90.2302 +i  = 0;
 90.2303 +b  = true;
 90.2304 +
 90.2305 +function SVG2VML(i){
 90.2306 +	l = L[i];
 90.2307 +	if(l.indexOf(" d=")>0){
 90.2308 +		p = l.indexOf("fill:")+6;
 90.2309 +		C = l.substring(p,p+7);
 90.2310 +		p = l.indexOf(" d=")+4;
 90.2311 +		q = l.lastIndexOf("z")-1;
 90.2312 +		l = l.substring(p,q);
 90.2313 +		l = l.replace(/M/g,"m");
 90.2314 +		l = l.replace(/c/g,"v");
 90.2315 +		l = l.replace(/l/g,"r");
 90.2316 +		S = l.split(" ");
 90.2317 +		l="";
 90.2318 +		for(var j in S){
 90.2319 +			c = S[j];
 90.2320 +			p = c.substring(0,1);
 90.2321 +			d = p>"9"?p:"";
 90.2322 +			n = Math.round(c.substring(d!="") * 100);
 90.2323 +			l+= (d+n+" ");
 90.2324 +		}
 90.2325 +		LX[i] = l;
 90.2326 +		code = '<v:shape coordsize="'+(W*100)+','+(H*100)+'" class=vml strokeweight="2" strokecolor="'+C+'" filled="false" fillcolor = "'+C+'"/>';
 90.2327 +		VML.insertAdjacentHTML("beforeEnd",code);
 90.2328 +	} else {
 90.2329 +		L[i] = LX[i] = ""
 90.2330 +		VML.insertAdjacentHTML("beforeEnd","<span></span>");
 90.2331 +	}
 90.2332 +}
 90.2333 +*/
 90.2334 +//http://msdn2.microsoft.com/en-us/library/bb263897(VS.85).aspx
 90.2335 +//http://www.w3.org/TR/NOTE-VML
 90.2336 +//http://trac.openlayers.org/changeset/5285
 90.2337 +//http://vectorconverter.sourceforge.net/index.html
 90.2338 +//http://www.dhteumeuleu.com/colorsyntax/viewJS.php?src=svg2vml1.html
 90.2339 +
 90.2340 +
 90.2341 +VMLRenderer.prototype.getshapes = function(){
 90.2342 +return this.container.childNodes;
 90.2343 +}
 90.2344 +
 90.2345 +
 90.2346 +VMLRenderer.prototype.reflect = function(HorV) {
 90.2347 +};
 90.2348 +
 90.2349 +
 90.2350 +
 90.2351 +
    91.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    91.2 +++ b/onlypaths/lifes.txt	Sun Jan 31 12:33:33 2010 -0500
    91.3 @@ -0,0 +1,1 @@
    91.4 +[{type:"doc", left:0, top:0, width:20, height:10, viewBox:"0 0 20 10", bgcolor:"#ffffff", title:"", link:"", meta:""}, {"id":"shape:d708671d-8b30-c3ae-bca2-ada75bf34533","type":"path","transform":"","fillColor":"#00ff81","lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M0.922414,3.24138 L0.922414,3.21552 L0.922414,3.18966 L0.922414,3.16379 L0.922414,3.13793 L0.948276,3.13793 L0.948276,3.11207 L0.974138,3.08621 L1.02586,3.03448 L1.07759,3.00862 L1.15517,2.98276 L1.23276,2.93103 L1.31034,2.90517 L1.41379,2.85345 L1.5431,2.82759 L1.62069,2.80172 L1.72414,2.80172 L1.80172,2.77586 L1.85345,2.77586 L1.90517,2.77586 L1.9569,2.77586 L2.00862,2.77586 L2.03448,2.77586 L2.11207,2.80172 L2.13793,2.85345 L2.18966,2.90517 L2.21552,2.90517 L2.24138,2.98276 L2.26724,3.00862 L2.2931,3.06034 L2.2931,3.13793 L2.2931,3.16379 L2.2931,3.26724 L2.2931,3.2931 L2.24138,3.34483 L2.21552,3.39655 L2.21552,3.42241 L2.18966,3.44828 L2.16379,3.47414 L2.16379,3.5 L2.13793,3.5 L2.11207,3.5 L2.08621,3.52586 L2.08621,3.55172 L2.06034,3.57759 L2.00862,3.60345 L1.9569,3.60345 L1.93103,3.62931 L1.90517,3.62931 L1.85345,3.62931 L1.82759,3.62931 L1.75,3.62931 L1.67241,3.62931 L1.62069,3.62931 L1.59483,3.62931 L1.5431,3.62931 L1.51724,3.62931 L1.49138,3.62931 L1.46552,3.62931 L1.43966,3.65517 L1.43966,3.68103 L1.43966,3.7069 L1.43966,3.75862 L1.43966,3.81034 L1.43966,3.83621 L1.43966,3.86207 L1.43966,3.91379 L1.41379,3.91379 L1.41379,3.93966 L1.41379,3.96552 L1.38793,3.96552 L1.36207,3.99138 L1.33621,3.99138 L1.31034,3.99138 L1.28448,3.99138 L1.25862,3.99138 L1.2069,3.99138 L1.18103,3.99138 L1.15517,3.99138 L1.10345,3.99138 L1.02586,3.99138 L0.974138,3.99138 L0.948276,3.99138 L0.922414,3.99138 L0.896552,3.96552 L0.87069,3.96552 L0.87069,3.93966 L0.844828,3.91379 L0.818965,3.88793 L0.818965,3.86207 L0.818965,3.83621 L0.818965,3.81034 L0.818965,3.78448 L0.818965,3.75862 L0.844828,3.73276 L0.87069,3.7069 L0.896552,3.7069 L0.922414,3.68103 L0.948276,3.65517 L0.974138,3.65517 L0.974138,3.62931 L1,3.62931 L1,3.60345 L1,3.57759 L1,3.55172 L1,3.52586 L0.974138,3.52586 L0.948276,3.52586 L0.87069,3.52586 L0.844828,3.52586 L0.793103,3.52586 L0.741379,3.52586 L0.715517,3.52586 L0.689655,3.55172 L0.663793,3.55172 L0.612069,3.55172 L0.586207,3.55172 L0.560345,3.55172 L0.534483,3.55172 L0.508621,3.52586 L0.482759,3.5 L0.456897,3.47414 L0.456897,3.44828 L0.431034,3.42241 L0.431034,3.39655 L0.431034,3.34483 L0.431034,3.31897 L0.431034,3.2931 L0.431034,3.26724 L0.431034,3.24138 L0.456897,3.21552 L0.482759,3.18966 L0.482759,3.16379 L0.508621,3.16379 L0.508621,3.13793 L0.534483,3.13793 L0.560345,3.13793 L0.586207,3.16379 L0.612069,3.18966 L0.612069,3.21552 L0.637931,3.21552 L0.637931,3.24138 L0.637931,3.26724 L0.663793,3.26724 L0.663793,3.2931 L0.689655,3.2931 L0.689655,3.31897 L0.715517,3.31897 z"},{"id":"shape:ea07c87c-903b-5d0d-dec2-ca2e9a3b5b4d","type":"path","transform":"","fillColor":"#00ff81","lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M4.49138,2.69828 L4.49138,2.67241 L4.51724,2.64655 L4.5431,2.64655 L4.56897,2.62069 L4.56897,2.59483 L4.59483,2.59483 L4.67241,2.51724 L4.67241,2.49138 L4.75,2.46552 L4.77586,2.46552 L4.82759,2.41379 L4.90517,2.41379 L4.98276,2.41379 L5.00862,2.38793 L5.06034,2.38793 L5.08621,2.38793 L5.13793,2.38793 L5.16379,2.38793 L5.16379,2.41379 L5.21552,2.43966 L5.21552,2.46552 L5.24138,2.49138 L5.26724,2.51724 L5.2931,2.5431 L5.34483,2.62069 L5.37069,2.62069 L5.37069,2.64655 L5.39655,2.69828 L5.39655,2.72414 L5.39655,2.75 L5.39655,2.77586 L5.39655,2.80172 L5.39655,2.82759 L5.39655,2.85345 L5.34483,2.85345 L5.34483,2.87931 L5.31897,2.87931 L5.31897,2.90517 L5.2931,2.90517 L5.26724,2.90517 L5.26724,2.93103 L5.24138,2.93103 L5.21552,2.9569 L5.21552,2.98276 L5.21552,3.00862 L5.21552,3.03448 L5.24138,3.06034 L5.26724,3.08621 L5.26724,3.11207 L5.2931,3.11207 L5.31897,3.13793 L5.34483,3.16379 L5.37069,3.18966 L5.37069,3.21552 L5.39655,3.21552 L5.42241,3.24138 L5.44828,3.26724 L5.44828,3.2931 L5.44828,3.31897 L5.44828,3.34483 L5.44828,3.37069 L5.44828,3.39655 L5.44828,3.42241 L5.44828,3.44828 L5.42241,3.44828 L5.39655,3.47414 L5.37069,3.5 L5.34483,3.5 L5.13793,3.44828 L5.11207,3.42241 L5.11207,3.39655 L5.08621,3.39655 L5.08621,3.37069 L5.06034,3.37069 L5.03448,3.34483 L5.00862,3.34483 L4.98276,3.31897 L4.98276,3.2931 L4.9569,3.26724 L4.93103,3.26724 L4.93103,3.24138 L4.90517,3.24138 L4.90517,3.21552 L4.87931,3.18966 L4.85345,3.18966 L4.85345,3.16379 L4.82759,3.16379 L4.82759,3.13793 L4.80172,3.11207 L4.77586,3.11207 L4.75,3.11207 L4.72414,3.11207 L4.69828,3.11207 L4.67241,3.11207 L4.64655,3.11207 L4.62069,3.13793 L4.59483,3.13793 L4.56897,3.13793 L4.5431,3.13793 L4.49138,3.13793 L4.46552,3.13793 L4.43966,3.13793 L4.41379,3.13793 L4.38793,3.13793 L4.36207,3.11207 L4.33621,3.08621 L4.31034,3.06034 L4.28448,3.03448 L4.25862,3.00862 L4.23276,2.98276 L4.2069,2.9569 L4.18103,2.93103 L4.15517,2.90517 L4.15517,2.87931 L4.15517,2.85345 L4.18103,2.85345 L4.2069,2.82759 L4.23276,2.82759 L4.28448,2.82759 L4.31034,2.82759 L4.36207,2.82759 L4.38793,2.82759 L4.36207,2.82759 L4.33621,2.80172 L4.33621,2.77586 L4.31034,2.77586 L4.31034,2.75 L4.28448,2.72414 L4.28448,2.69828 L4.28448,2.67241 L4.28448,2.64655 L4.28448,2.62069 L4.31034,2.59483 L4.33621,2.59483 L4.36207,2.59483 L4.38793,2.59483 L4.41379,2.59483 L4.43966,2.59483 z"},{"id":"shape:c407f647-5f79-c1be-a71b-61118b4b664b","type":"path","transform":"","fillColor":"#00ff81","lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M6.22414,2.67241 L6.22414,2.64655 L6.22414,2.62069 L6.22414,2.59483 L6.25,2.59483 L6.25,2.5431 L6.27586,2.51724 L6.30172,2.49138 L6.32759,2.49138 L6.40517,2.46552 L6.4569,2.43966 L6.48276,2.41379 L6.53448,2.41379 L6.56034,2.41379 L6.58621,2.41379 L6.63793,2.43966 L6.66379,2.46552 L6.68966,2.49138 L6.68966,2.51724 L6.71552,2.5431 L6.71552,2.56897 L6.71552,2.62069 L6.71552,2.67241 L6.68966,2.69828 L6.68966,2.72414 L6.66379,2.75 L6.66379,2.77586 L6.63793,2.80172 L6.61207,2.82759 L6.58621,2.82759 L6.56034,2.85345 L6.56034,2.87931 L6.58621,2.90517 L6.61207,2.93103 L6.61207,2.9569 L6.63793,2.9569 L6.66379,2.9569 L6.68966,2.9569 L6.71552,2.9569 L6.74138,2.9569 L6.74138,2.98276 L6.76724,2.98276 L6.76724,3.00862 L6.76724,3.03448 L6.76724,3.06034 L6.76724,3.08621 L6.76724,3.11207 L6.74138,3.11207 L6.71552,3.11207 L6.68966,3.11207 L6.66379,3.11207 L6.63793,3.11207 L6.61207,3.11207 L6.58621,3.11207 L6.56034,3.11207 L6.53448,3.11207 L6.50862,3.11207 L6.48276,3.11207 L6.48276,3.08621 L6.4569,3.06034 L6.4569,3.03448 L6.43103,3.03448 L6.40517,3.00862 L6.37931,2.98276 L6.35345,2.9569 L6.32759,2.93103 L6.30172,2.93103 L6.27586,2.93103 L6.25,2.93103 L6.22414,2.93103 L6.19828,2.93103 L6.17241,2.93103 L6.12069,2.93103 L6.09483,2.93103 L6.06897,2.93103 L6.0431,2.93103 L6.01724,2.93103 L5.99138,2.90517 L5.96552,2.87931 L5.93966,2.85345 L5.93966,2.82759 L5.93966,2.80172 L5.93966,2.77586 L5.91379,2.77586 L5.91379,2.75 L5.91379,2.72414 L5.93966,2.72414 L5.93966,2.69828 L5.96552,2.69828 L5.96552,2.67241 L5.99138,2.67241 L6.01724,2.67241 L6.0431,2.69828 L6.06897,2.69828 L6.09483,2.69828 L6.09483,2.72414 L6.12069,2.72414 L6.09483,2.72414 L6.12069,2.72414 L6.14655,2.72414 z"},{"id":"shape:85393087-45ed-2673-c138-e754d2b1c1d9","type":"path","transform":"","fillColor":"#00ff81","lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M5.39655,2.07759 L5.39655,2.05172 L5.42241,2.05172 L5.42241,2.02586 L5.44828,2.02586 L5.47414,2 L5.5,2 L5.55172,2 L5.57759,2 L5.60345,2 L5.62931,2 L5.65517,2 L5.68103,2 L5.7069,2 L5.7069,2.02586 L5.73276,2.05172 L5.73276,2.07759 L5.73276,2.10345 L5.73276,2.12931 L5.7069,2.12931 L5.7069,2.15517 L5.68103,2.15517 L5.65517,2.15517 L5.65517,2.18103 L5.62931,2.2069 L5.62931,2.23276 L5.65517,2.23276 L5.65517,2.25862 L5.68103,2.25862 L5.68103,2.28448 L5.7069,2.28448 L5.7069,2.31034 L5.73276,2.33621 L5.7069,2.33621 L5.7069,2.36207 L5.68103,2.36207 L5.65517,2.36207 L5.65517,2.38793 L5.62931,2.38793 L5.60345,2.38793 L5.57759,2.38793 L5.55172,2.38793 L5.52586,2.38793 L5.52586,2.36207 L5.5,2.33621 L5.47414,2.31034 L5.44828,2.31034 L5.44828,2.28448 L5.42241,2.25862 L5.39655,2.25862 L5.37069,2.25862 L5.34483,2.23276 L5.31897,2.23276 L5.2931,2.23276 L5.26724,2.23276 L5.24138,2.23276 L5.21552,2.2069 L5.18966,2.2069 L5.18966,2.18103 L5.16379,2.15517 L5.13793,2.12931 L5.13793,2.10345 L5.11207,2.10345 L5.08621,2.07759 L5.08621,2.05172 L5.06034,2.02586 L5.03448,2 L5.03448,1.97414 L5.03448,1.94828 L5.03448,1.92241 L5.06034,1.92241 L5.08621,1.92241 L5.11207,1.92241 L5.13793,1.92241 L5.16379,1.92241 L5.18966,1.92241 L5.21552,1.92241 L5.21552,1.94828 L5.24138,1.94828 L5.26724,1.94828 L5.26724,1.97414 L5.2931,1.97414 L5.31897,1.97414 z"},{"id":"shape:a7ad8c08-f2f6-c444-f041-9ef614eea07f","type":"path","transform":"","fillColor":"#80d5ab","lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M7.77586,1.76724 L7.80172,1.76724 L7.80172,1.74138 L7.87931,1.71552 L7.90517,1.71552 L7.93103,1.71552 L7.9569,1.71552 L7.98276,1.71552 L8.06034,1.71552 L8.08621,1.71552 L8.11207,1.71552 L8.16379,1.71552 L8.18966,1.71552 L8.21552,1.71552 L8.24138,1.74138 L8.24138,1.76724 L8.24138,1.7931 L8.24138,1.81897 L8.24138,1.84483 L8.21552,1.84483 L8.21552,1.87069 L8.21552,1.92241 L8.21552,1.94828 L8.21552,1.97414 L8.16379,1.97414 L8.16379,2 L8.16379,2.02586 L8.13793,2.02586 L8.11207,2.02586 L8.11207,2.05172 L8.08621,2.05172 L8.06034,2.05172 L8.08621,2.05172 L8.11207,2.07759 L8.08621,2.07759 L8.06034,2.07759 L8.08621,2.10345 L8.08621,2.12931 L8.06034,2.12931 L8.03448,2.12931 L8.03448,2.15517 L8.00862,2.15517 L7.98276,2.15517 L7.9569,2.15517 L7.93103,2.15517 L7.85345,2.07759 L7.82759,2.07759 L7.77586,2.05172 L7.75,2.05172 L7.77586,2.07759 L7.72414,2.05172 L7.72414,2.02586 L7.67241,1.97414 L7.64655,1.97414 L7.64655,1.94828 L7.62069,1.92241 L7.46552,1.58621 L7.49138,1.58621 L7.49138,1.53448 L7.51724,1.50862 L7.5431,1.50862 L7.56897,1.48276 L7.56897,1.4569 L7.62069,1.43103 L7.64655,1.43103 L7.67241,1.43103 L7.69828,1.43103 L7.72414,1.43103 L7.75,1.4569 L7.75,1.48276 L7.75,1.50862 L7.77586,1.53448 L7.75,1.53448 L7.75,1.56034 L7.75,1.58621 L7.75,1.61207 L7.72414,1.61207 L7.69828,1.61207 L7.67241,1.61207 L7.64655,1.61207 L7.64655,1.63793 L7.62069,1.63793 L7.64655,1.66379 L7.64655,1.68966 L7.62069,1.66379 L7.59483,1.63793 L7.56897,1.63793 z"},{"id":"shape:71672a5b-a35d-56fc-72ca-6eb60fd44a37","type":"path","transform":"","fillColor":"#80d5ab","lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M7.51724,2.77586 L7.51724,2.75 L7.51724,2.72414 L7.5431,2.72414 L7.5431,2.69828 L7.56897,2.67241 L7.59483,2.67241 L7.62069,2.67241 L7.67241,2.64655 L7.72414,2.64655 L7.77586,2.64655 L7.77586,2.67241 L7.80172,2.67241 L7.80172,2.69828 L7.82759,2.69828 L7.82759,2.72414 L7.85345,2.75 L7.87931,2.75 L7.87931,2.77586 L7.87931,2.80172 L7.87931,2.82759 L7.87931,2.85345 L7.87931,2.87931 L7.87931,2.90517 L7.87931,2.93103 L7.87931,2.9569 L7.85345,2.9569 L7.82759,2.9569 L7.82759,2.98276 L7.80172,2.98276 L7.80172,3.00862 L7.80172,3.03448 L7.82759,3.06034 L7.85345,3.06034 L7.87931,3.06034 L7.87931,3.08621 L7.90517,3.08621 L7.93103,3.11207 L7.93103,3.13793 L7.9569,3.13793 L7.9569,3.16379 L7.9569,3.18966 L7.9569,3.21552 L7.93103,3.21552 L7.90517,3.24138 L7.87931,3.24138 L7.85345,3.24138 L7.82759,3.24138 L7.80172,3.24138 L7.77586,3.24138 L7.75,3.24138 L7.72414,3.24138 L7.69828,3.24138 L7.69828,3.21552 L7.67241,3.18966 L7.64655,3.16379 L7.62069,3.13793 L7.62069,3.11207 L7.62069,3.08621 L7.59483,3.08621 L7.59483,3.06034 L7.59483,3.03448 L7.56897,3.03448 L7.56897,3.00862 L7.5431,2.98276 L7.51724,2.98276 L7.49138,2.98276 L7.46552,2.98276 L7.43966,2.9569 L7.41379,2.9569 L7.38793,2.93103 L7.36207,2.90517 L7.33621,2.90517 L7.33621,2.87931 L7.33621,2.85345 L7.31034,2.85345 L7.28448,2.82759 L7.25862,2.80172 L7.23276,2.77586 L7.2069,2.75 L7.2069,2.72414 L7.2069,2.69828 L7.23276,2.69828 L7.25862,2.69828 L7.31034,2.69828 L7.33621,2.69828 L7.36207,2.69828 L7.41379,2.72414 z"},{"id":"shape:5805db86-501b-311d-877c-73c501cb2d0c","type":"path","transform":"","fillColor":"#aa557f","lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M9.25,2.75 L9.27586,2.72414 L9.30172,2.69828 L9.30172,2.67241 L9.32759,2.64655 L9.35345,2.64655 L9.35345,2.62069 L9.37931,2.62069 L9.40517,2.62069 L9.43103,2.62069 L9.4569,2.62069 L9.48276,2.62069 L9.50862,2.62069 L9.53448,2.62069 L9.56034,2.64655 L9.58621,2.67241 L9.61207,2.69828 L9.61207,2.72414 L9.61207,2.75 L9.61207,2.77586 L9.61207,2.80172 L9.58621,2.82759 L9.58621,2.85345 L9.58621,2.87931 L9.56034,2.87931 L9.56034,2.90517 L9.50862,2.90517 L9.50862,2.93103 L9.48276,2.93103 L9.4569,2.9569 L9.4569,2.98276 L9.43103,2.98276 L9.40517,3.00862 L9.37931,3.00862 L9.37931,3.03448 L9.40517,3.03448 L9.40517,3.06034 L9.43103,3.06034 L9.43103,3.08621 L9.43103,3.11207 L9.4569,3.13793 L9.4569,3.16379 L9.48276,3.18966 L9.48276,3.21552 L9.48276,3.24138 L9.48276,3.26724 L9.4569,3.26724 L9.43103,3.2931 L9.40517,3.2931 L9.37931,3.2931 L9.35345,3.2931 L9.32759,3.2931 L9.30172,3.2931 L9.27586,3.2931 L9.25,3.2931 L9.22414,3.2931 L9.19828,3.2931 L9.17241,3.2931 L9.17241,3.26724 L9.14655,3.26724 L9.14655,3.24138 L9.12069,3.24138 L9.09483,3.21552 L9.09483,3.18966 L9.09483,3.16379 L9.06897,3.13793 L9.0431,3.11207 L9.0431,3.08621 L9.01724,3.06034 L9.01724,3.03448 L9.01724,3.00862 L9.01724,2.98276 L9.01724,2.9569 L9.01724,2.93103 L9.01724,2.90517 L9.01724,2.87931 L9.01724,2.85345 L9.01724,2.82759 L9.01724,2.80172 L9.01724,2.77586 L9.01724,2.75 L8.99138,2.72414 L8.99138,2.69828 L8.96552,2.67241 L8.96552,2.64655 L8.96552,2.62069 L8.93966,2.59483 L8.93966,2.56897 L8.93966,2.5431 L8.96552,2.5431 L8.96552,2.51724 L8.96552,2.49138 L8.99138,2.49138 L9.01724,2.49138 L9.01724,2.51724 L9.0431,2.51724 L9.0431,2.5431 L9.06897,2.5431 L9.06897,2.56897 L9.06897,2.59483 L9.06897,2.62069 L9.06897,2.64655 L9.06897,2.67241 L9.09483,2.67241 L9.09483,2.69828 L9.06897,2.69828 L9.09483,2.69828 L9.09483,2.72414 L9.12069,2.72414 L9.14655,2.75 L9.17241,2.77586 L9.19828,2.77586 z"},{"id":"shape:cb7fbbd6-6146-792c-97fe-d0d0cc8f502f","type":"path","transform":"","fillColor":"#aaaaaa","lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M10.7241,3.03448 L10.7241,3.00862 L10.7241,2.98276 L10.75,2.98276 L10.7759,2.93103 L10.8017,2.93103 L10.8534,2.87931 L10.9052,2.87931 L10.931,2.87931 L10.9569,2.87931 L10.9828,2.87931 L11.0603,2.93103 L11.0862,2.9569 L11.0862,2.98276 L11.0862,3.00862 L11.0862,3.03448 L11.0862,3.06034 L11.0603,3.08621 L11.0603,3.11207 L11.0603,3.13793 L11.0345,3.13793 L11.0086,3.16379 L10.9828,3.16379 L10.9569,3.16379 L10.931,3.16379 L10.931,3.18966 L10.9569,3.21552 L10.9828,3.24138 L10.9569,3.24138 L10.9828,3.26724 L10.9828,3.2931 L10.9828,3.31897 L10.9828,3.34483 L10.9828,3.37069 L10.9569,3.37069 L10.931,3.39655 L10.9052,3.39655 L10.8793,3.39655 L10.8534,3.39655 L10.8276,3.39655 L10.8017,3.39655 L10.7759,3.39655 L10.75,3.39655 L10.7241,3.37069 L10.7241,3.34483 L10.6983,3.34483 L10.6724,3.31897 L10.6466,3.2931 L10.6207,3.26724 L10.5948,3.24138 L10.5948,3.21552 L10.5948,3.18966 L10.5948,3.16379 L10.5948,3.13793 L10.5948,3.06034 L10.6207,3.03448 z"},{"id":"shape:e36f5144-74b8-e6bb-90c1-30f377dd9612","type":"path","transform":"","fillColor":"#aaaaaa","lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M9.56034,2.31034 L9.58621,2.31034 L9.58621,2.28448 L9.61207,2.28448 L9.61207,2.25862 L9.63793,2.25862 L9.66379,2.25862 L9.68966,2.25862 L9.71552,2.25862 L9.74138,2.25862 L9.76724,2.28448 L9.7931,2.28448 L9.7931,2.31034 L9.81897,2.33621 L9.81897,2.36207 L9.81897,2.38793 L9.7931,2.38793 L9.76724,2.38793 L9.74138,2.38793 L9.71552,2.38793 L9.68966,2.38793 L9.66379,2.38793 L9.63793,2.38793 L9.63793,2.36207 z"},{"id":"shape:806f9b0f-a1e5-adb3-e212-8705618b6409","type":"path","transform":"","fillColor":"#aaaaaa","lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M8.96552,1.92241 L8.99138,1.94828 L9.0431,1.97414 L9.06897,2 L9.06897,2.02586 L9.09483,2.02586 L9.09483,2.05172 L9.09483,2.07759 L9.09483,2.10345 L9.09483,2.12931 L9.06897,2.12931 L9.0431,2.12931 L9.01724,2.12931 L8.99138,2.12931 L8.99138,2.10345 L8.99138,2.07759 z"},{"id":"shape:4d059de2-d05a-fd66-adfc-86ccd09d14e2","type":"path","transform":"","fillColor":"#aaaaaa","lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M8.57759,2.25862 L8.60345,2.28448 L8.60345,2.31034 L8.62931,2.31034 L8.65517,2.31034 L8.68103,2.31034 L8.7069,2.31034 L8.68103,2.28448 L8.65517,2.25862 L8.68103,2.25862 L8.7069,2.25862 L8.73276,2.25862 L8.7069,2.23276 L8.68103,2.23276 z"},{"id":"shape:2ca0df2f-967d-90d6-8a87-4b8e3dc0cc06","type":"path","transform":"","fillColor":"#aaaaaa","lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M9.74138,1.50862 L9.74138,1.53448 L9.76724,1.53448 L9.76724,1.56034 L9.76724,1.58621 L9.7931,1.58621 L9.81897,1.61207 L9.84483,1.61207 L9.87069,1.61207 L9.89655,1.61207 L9.92241,1.61207 L9.94828,1.61207 L9.97414,1.61207 L10,1.61207 L10.0259,1.61207 L10.0517,1.61207 L10.0776,1.61207 L10.0776,1.58621 L10.1034,1.58621 L10.1293,1.58621 L10.1034,1.56034 L10.0776,1.53448 L10.0517,1.50862 L10.0259,1.48276 L10,1.48276 L9.97414,1.48276 L9.94828,1.48276 L9.92241,1.4569 L9.92241,1.43103 L9.89655,1.43103 L9.87069,1.40517 L9.84483,1.37931 L9.81897,1.37931 L9.7931,1.37931 L9.76724,1.37931 L9.74138,1.37931 L9.71552,1.37931 L9.68966,1.37931 z"},{"id":"shape:8f2c6f1b-17eb-dfc7-91b7-cf82efb92799","type":"path","transform":"","fillColor":"#d480aa","lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M10.9828,1.50862 L10.9569,1.48276 L10.931,1.4569 L10.931,1.43103 L10.931,1.40517 L10.931,1.37931 L10.931,1.35345 L10.9569,1.35345 L10.9569,1.32759 L10.9828,1.32759 L11.0086,1.32759 L11.0345,1.32759 L11.0603,1.32759 L11.0862,1.35345 L11.1121,1.35345 L11.1121,1.37931 L11.1121,1.40517 L11.1379,1.43103 L11.1379,1.4569 L11.1379,1.48276 L11.1638,1.50862 L11.1897,1.50862 L11.1897,1.53448 L11.2155,1.53448 L11.2155,1.56034 L11.2155,1.58621 L11.2155,1.61207 L11.2155,1.63793 L11.1897,1.63793 L11.1897,1.66379 L11.1897,1.68966 L11.1638,1.68966 L11.1379,1.68966 L11.1121,1.68966 L11.0862,1.68966 L11.0603,1.68966 L11.0345,1.68966 L11.0086,1.68966 L10.9828,1.66379 L10.9828,1.63793 L10.9828,1.61207 L10.9569,1.58621 L10.931,1.58621 L10.931,1.56034 L10.931,1.53448 L10.931,1.50862 z"},{"id":"shape:38add693-721a-6912-f5eb-83a75e493c16","type":"path","transform":"","fillColor":"#d480aa","lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M11.3707,1.37931 L11.3707,1.35345 L11.3707,1.32759 L11.3966,1.32759 L11.4224,1.35345 L11.4483,1.37931 L11.4483,1.40517 L11.4483,1.43103 L11.4483,1.4569 L11.4224,1.4569 L11.3966,1.4569 L11.3707,1.4569 L11.3448,1.4569 L11.319,1.4569 L11.2931,1.4569 L11.2931,1.43103 z"},{"id":"shape:dc758202-4099-90ae-d205-ad78dcff78f6","type":"path","transform":"","fillColor":"#d480aa","lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M11.9397,1.22414 L11.9655,1.22414 L11.9914,1.22414 L12.0172,1.22414 L12.0431,1.22414 L12.069,1.25 L12.0948,1.27586 L12.0948,1.30172 L12.0948,1.32759 L12.0948,1.35345 L12.0948,1.37931 L12.0948,1.40517 L12.069,1.40517 L12.0431,1.40517 L12.0172,1.40517 L11.9914,1.37931 L11.9655,1.35345 L11.9397,1.32759 z"},{"id":"shape:3d623426-8992-9808-a9e4-fc000c78d7cc","type":"path","transform":"","fillColor":"#d480aa","lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M10.8017,0.396552 L10.8276,0.37069 L10.8276,0.344828 L10.8534,0.344828 L10.8534,0.318966 L10.8793,0.318966 L10.9052,0.318966 L10.9052,0.344828 L10.931,0.344828 L10.9569,0.37069 L10.9569,0.396552 L10.9828,0.422414 L10.9828,0.448276 L10.9569,0.448276 L10.931,0.448276 z"},{"id":"shape:1cb5dc84-d4f3-3613-f6b0-d5d49b96f16e","type":"path","transform":"","fillColor":"#d480aa","lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M9.53448,0.318966 L9.56034,0.318966 L9.58621,0.318966 L9.58621,0.293103 L9.61207,0.293103 L9.63793,0.293103 L9.66379,0.293103 L9.68966,0.318966 L9.71552,0.318966 L9.71552,0.344828 L9.71552,0.37069 L9.68966,0.37069 L9.68966,0.396552 L9.68966,0.422414 L9.66379,0.422414 z"},{"id":"shape:a3f37303-b9c9-409e-7f78-dc67cc236695","type":"path","transform":"","fillColor":"#d480aa","lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M7.90517,0.422414 L7.93103,0.422414 L7.9569,0.422414 L7.98276,0.422414 L8.00862,0.422414 L8.03448,0.422414 L8.06034,0.422414 L8.08621,0.422414 L8.11207,0.396552 L8.08621,0.37069 L8.06034,0.344828 L8.03448,0.344828 L8.08621,0.37069 L8.11207,0.37069 L8.08621,0.37069 L8.11207,0.396552 L8.11207,0.422414 L8.11207,0.448276 L8.11207,0.474138 L8.11207,0.5 L8.08621,0.5 L8.06034,0.5 L8.03448,0.5 z"},{"id":"shape:ae5d5222-754f-ec64-c39f-2c48426b1b85","type":"path","transform":"","fillColor":"#d480aa","lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M8.73276,-0.0172414 L8.73276,-0.0431034 L8.75862,-0.0431034 L8.75862,-0.0689655 L8.78448,-0.0948276 L8.81034,-0.0948276 L8.86207,-0.0948276 L8.86207,-0.0689655 L8.88793,-0.0689655 L8.88793,-0.0431034 L8.91379,-0.0431034 L8.91379,-0.0172414 L8.91379,0.00862069 L8.88793,0.00862069 L8.88793,0.0344828 L8.86207,0.0344828 L8.83621,0.0344828 L8.81034,0.0344828 z"},{"id":"shape:82767852-162f-3367-139a-d8b89d3dd930","type":"path","transform":"","fillColor":"#1f8000","lineColor":"#3f8000","fillOpac":null,"lineOpac":null,"lineWidth":1,"points":"M-2.93103,7.84483 L-2.90517,7.7931 L-2.85345,7.76724 L-2.82759,7.71552 L-2.75,7.63793 L-2.69828,7.56034 L-2.5431,7.43103 L-2.38793,7.32759 L-2,7.09483 L-1.66379,6.96552 L-1.27586,6.81034 L-0.862069,6.65517 L-0.5,6.5 L-0.0603448,6.37069 L0.301724,6.18966 L0.482759,6.13793 L0.818965,6.06034 L1.18103,6.00862 L1.59483,5.98276 L2.13793,5.98276 L2.73276,5.98276 L3.27586,5.98276 L3.74138,5.98276 L3.92241,5.98276 L4.02586,5.98276 L4.25862,6.00862 L4.59483,6.11207 L4.9569,6.16379 L5.2931,6.21552 L5.78448,6.31897 L6.22414,6.37069 L6.71552,6.37069 L6.89655,6.37069 L7.10345,6.31897 L7.31034,6.24138 L7.59483,6.08621 L7.72414,6.03448 L7.90517,5.9569 L8.00862,5.87931 L8.03448,5.82759 L8.03448,5.80172 L8.03448,5.77586 L8.03448,5.75 L8.03448,5.72414 L8.03448,5.69828 L8.06034,5.69828 L8.08621,5.69828 L8.11207,5.69828 L8.13793,5.69828 L8.16379,5.75 L8.26724,5.87931 L8.34483,5.98276 L8.34483,6.13793 L8.34483,6.21552 L8.2931,6.2931 L8.21552,6.39655 L8.18966,6.47414 L8.13793,6.60345 L8.06034,6.73276 L7.9569,6.88793 L7.82759,7.06897 L7.77586,7.22414 L7.67241,7.37931 L7.59483,7.43103 L7.51724,7.56034 L7.46552,7.61207 L7.38793,7.63793 L7.23276,7.76724 L7.07759,7.87069 L6.87069,8.02586 L6.71552,8.12931 L6.61207,8.25862 L6.53448,8.31034 L6.40517,8.41379 L6.27586,8.5431 L6.19828,8.64655 L6.09483,8.75 L5.99138,8.80172 L5.93966,8.82759 L5.88793,8.87931 L5.78448,8.90517 L5.62931,8.9569 L5.5,9.00862 L5.42241,9.06034 L5.31897,9.08621 L5.24138,9.13793 L5.08621,9.18966 L4.93103,9.2931 L4.80172,9.37069 L4.67241,9.42241 L4.56897,9.47414 L4.46552,9.52586 L4.33621,9.57759 L4.07759,9.7069 L3.81897,9.81034 L3.58621,9.81034 L3.40517,9.81034 L3.17241,9.81034 L2.99138,9.81034 L2.7069,9.81034 L2.55172,9.81034 L2.37069,9.81034 L2.21552,9.81034 L2.00862,9.81034 L1.69828,9.81034 L1.49138,9.81034 L1.28448,9.81034 L1.15517,9.81034 L1,9.81034 L0.767241,9.81034 L0.767241,9.78448 L0.767241,9.88793 L0.508621,9.83621 L0.275862,9.83621 L-0.00862069,9.83621 L-0.137931,9.83621 L-0.396552,9.83621 L-0.603448,9.83621 L-0.887931,9.83621 L-0.991379,9.83621 L-1.0431,9.83621 L-1.09483,9.83621 L-1.22414,9.83621 L-1.37931,9.83621 L-1.50862,9.83621 L-1.58621,9.86207 L-1.63793,9.86207 L-1.68966,9.86207 L-1.71552,9.86207 L-1.74138,9.86207 L-1.81897,9.86207 L-1.87069,9.86207 L-1.94828,9.86207 L-2,9.86207 L-2.05172,9.86207 L-2.07759,9.86207 L-2.10345,9.86207 L-2.15517,9.86207 L-2.23276,9.86207 L-2.25862,9.86207 L-2.31034,9.86207 L-2.33621,9.86207 L-2.36207,9.86207 L-2.41379,9.86207 L-2.43966,9.86207 L-2.46552,9.86207 L-2.56897,9.86207 L-2.59483,9.86207 L-2.64655,9.86207 L-2.87931,9.86207 L-2.90517,9.86207 L-2.93103,9.86207 L-3.00862,9.83621 L-3.06034,9.81034 L-3.16379,9.75862 L-3.21552,9.75862 L-3.26724,9.73276 L-3.37069,9.73276 L-3.57759,9.73276 L-3.7069,9.73276 L-3.75862,9.73276 L-3.83621,9.73276 L-3.96552,9.73276 L-4.0431,9.73276 L-4.12069,9.73276 L-4.14655,9.73276 L-4.19828,9.73276 L-4.25,9.73276 L-4.30172,9.73276 L-4.27586,9.73276 L-4.25,9.73276 z"},{"id":"shape:c2a07665-d288-204b-6ff2-a70f6fa3ff62","type":"path","transform":"","fillColor":"#ff2bf8","lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":1,"points":"M0.689655,5.18103 L0.715517,5.18103 L0.741379,5.12931 L0.922414,4.92241 L1.18103,4.68966 L1.67241,4.32759 L2.06034,4.06897 L2.5,3.7069 L2.86207,3.5 L3.30172,3.37069 L3.53448,3.31897 L3.76724,3.31897 L3.94828,3.31897 L4.31034,3.39655 L4.72414,3.47414 L5.03448,3.55172 L5.52586,3.57759 L5.91379,3.65517 L6.37931,3.68103 L6.89655,3.68103 L7.59483,3.62931 L8.06034,3.62931 L8.88793,3.62931 L9.35345,3.55172 L9.74138,3.5 L9.89655,3.44828 L10.0517,3.39655 L10.1552,3.39655 L10.3879,3.37069 L10.4914,3.37069 L10.5431,3.34483 L10.5431,3.37069 L10.5172,3.39655 L10.4397,3.47414 L10.3879,3.5 L10.3103,3.55172 L10.2845,3.57759 L10.2328,3.62931 L10.1293,3.68103 L10.0517,3.78448 L9.89655,3.91379 L9.71552,4.06897 L9.56034,4.17241 L9.35345,4.30172 L9.19828,4.40517 L8.86207,4.56034 L8.39655,4.7931 L8.18966,4.97414 L7.87931,5.2069 L7.77586,5.25862 L7.64655,5.33621 L7.43966,5.36207 L6.97414,5.38793 L6.68966,5.38793 L6.48276,5.36207 L6.37931,5.33621 L6.14655,5.28448 L5.86207,5.23276 L5.62931,5.2069 L5.44828,5.2069 L5.21552,5.2069 L5.00862,5.18103 L4.75,5.18103 L4.51724,5.18103 L4.25862,5.18103 L4.02586,5.18103 L3.87069,5.18103 L3.63793,5.2069 L3.35345,5.25862 L3.06897,5.28448 L2.75862,5.31034 L2.55172,5.33621 L2.37069,5.36207 L2.21552,5.36207 L2.13793,5.36207 L2.03448,5.36207 L1.9569,5.36207 L1.87931,5.36207 L1.82759,5.36207 L1.75,5.38793 L1.67241,5.38793 L1.56897,5.41379 L1.46552,5.41379 L1.38793,5.43966 L1.28448,5.46552 L1.18103,5.49138 L1.07759,5.51724 L1,5.5431 L0.896552,5.56897 L0.767241,5.56897 L0.689655,5.62069 L0.637931,5.64655 L0.586207,5.67241 L0.534483,5.69828 L0.456897,5.72414 L0.431034,5.72414 L0.37931,5.72414 L0.327586,5.72414 L0.25,5.75 L0.224138,5.75 L0.198276,5.77586 L0.172414,5.77586 L0.12069,5.77586 L0.0948276,5.77586 L0.0431034,5.77586 L-0.00862069,5.77586 L-0.0603448,5.80172 L-0.112069,5.85345 L-0.163793,5.87931 L-0.241379,5.90517 L-0.267241,5.93103 L-0.318966,5.93103 L-0.37069,5.9569 L-0.396552,5.9569 L-0.422414,5.98276 L-0.448276,6.03448 L-0.525862,6.03448 L-0.551724,6.03448 L-0.577586,6.03448 L-0.603448,6.03448 z"},{"id":"shape:dbe8da14-7d74-4986-5d8e-5d97c4d1f980","type":"path","transform":"","fillColor":"#aa004f","lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":1,"points":"M0.456897,5.5431 L0.793103,5.41379 L1.59483,5.15517 L2.21552,5.02586 L2.7069,4.87069 L3.01724,4.76724 L3.43103,4.76724 L3.94828,4.76724 L4.51724,4.68966 L5.00862,4.63793 L5.44828,4.53448 L5.83621,4.48276 L6.06897,4.4569 L6.43103,4.4569 L6.68966,4.50862 L7.10345,4.53448 L7.28448,4.53448 L7.43966,4.53448 L7.59483,4.53448 L7.62069,4.53448 L7.64655,4.53448 L7.67241,4.53448 L7.67241,4.56034 L7.67241,4.58621 L7.64655,4.58621 L7.62069,4.61207 L7.5431,4.68966 L7.41379,4.76724 L7.23276,4.92241 L7.05172,5.05172 L6.87069,5.18103 L6.61207,5.33621 L6.22414,5.49138 L6.06897,5.5431 L5.55172,5.51724 L4.82759,5.49138 L4.49138,5.49138 L4,5.46552 L3.30172,5.46552 L2.88793,5.46552 L2.42241,5.46552 L2.16379,5.46552 L2.18966,5.5431 L1.67241,5.56897 L1.33621,5.62069 L1.05172,5.69828 L0.818965,5.80172 L0.663793,5.80172 L0.560345,5.80172 L0.482759,5.80172 L0.353448,5.80172 L0.224138,5.80172 L0.0948276,5.80172 L0.0172414,5.80172 L-0.0603448,5.80172 L-0.241379,5.82759 L-0.422414,5.90517 L-0.474138,5.93103 L-0.525862,5.93103 L-0.525862,5.9569 L-0.525862,5.98276 L-0.551724,5.98276 L-0.577586,5.98276 z"},{"id":"shape:95ead073-e200-b747-cef1-1836130c35c9","type":"path","transform":"","fillColor":"#ff55a4","lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":1,"points":"M-0.422414,6.06034 L-0.241379,5.9569 L-0.112069,5.87931 L0.508621,5.72414 L0.974138,5.64655 L1.62069,5.62069 L2.96552,5.51724 L3.94828,5.36207 L5.06034,5.15517 L5.83621,5 L6.68966,4.84483 L6.81897,4.76724 L7.15517,4.68966 L7.31034,4.66379 L7.33621,4.68966 L7.33621,4.71552 L7.36207,4.71552 L7.41379,4.89655 L7.41379,5 L7.41379,5.07759 L7.38793,5.12931 L7.28448,5.28448 L7.10345,5.36207 L6.76724,5.43966 L6.27586,5.43966 L5.65517,5.46552 L4.93103,5.46552 L3.94828,5.46552 L2.88793,5.46552 L2.03448,5.51724 L1.36207,5.64655 L1,5.77586 L0.715517,5.87931 L0.456897,5.9569 L0.275862,5.9569 L0.25,5.9569 L0.172414,5.9569 z"},{"id":"shape:175689e6-1618-0343-b47f-79dfdb36440c","type":"path","transform":"","fillColor":"#ff2b8e","lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":1,"points":"M-0.241379,5.62069 L-0.241379,5.59483 L-0.0862069,5.38793 L0.0948276,5.12931 L0.353448,4.76724 L0.689655,4.48276 L1.02586,4.25 L1.25862,4.17241 L1.51724,4.12069 L1.93103,4.06897 L2.47414,4.12069 L2.96552,4.12069 L3.53448,4.14655 L4.25862,4.14655 L4.75,4.14655 L5.03448,4.06897 L5.62931,4.0431 L6.17241,4.0431 L6.19828,4.01724 L6.12069,4.06897 L5.93966,4.12069 L5.60345,4.17241 L5.26724,4.32759 L4.93103,4.48276 L4.46552,4.71552 L4.10345,4.87069 L3.68966,5 L3.19828,5.2069 L2.68103,5.41379 L0.87069,5.98276 L0.637931,5.98276 L0.224138,6.00862 L-0.0862069,6.00862 L-0.241379,6.00862 L-0.318966,6.00862 L-0.344828,6.00862 L-0.37069,6.00862 z"},{"id":"shape:a993a37b-cf8e-1a26-d512-c98b30486894","type":"path","transform":"","fillColor":"#d50063","lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":1,"points":"M1.25862,5.07759 L2.65517,4.56034 L2.73276,4.56034 L2.93966,4.61207 L3.14655,4.61207 L3.4569,4.61207 L3.7931,4.53448 L4,4.48276 L4.05172,4.43103 L4.02586,4.43103 L3.97414,4.4569 L3.7931,4.58621 L3.58621,4.74138 L3.35345,4.92241 L3.12069,5.07759 L2.99138,5.15517 L2.75862,5.23276 L2.57759,5.23276 L2.21552,5.23276 L1.85345,5.23276 L1.41379,5.23276 L1.05172,5.23276 L0.767241,5.23276 L0.637931,5.23276 L0.586207,5.23276 L0.508621,5.23276 L0.482759,5.23276 L0.431034,5.23276 L0.405172,5.23276 z"},{"id":"shape:4f8153a6-67f1-ded1-e90a-05dd4f5e57de","type":"path","transform":"","fillColor":"#d50063","lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":1,"points":"M8.44828,4.09483 L8.55172,4.0431 L8.75862,3.96552 L9.06897,3.83621 L9.32759,3.73276 L9.58621,3.62931 L9.66379,3.60345 L9.76724,3.57759 L9.87069,3.55172 L9.89655,3.52586 L9.97414,3.47414 L9.97414,3.5 L9.97414,3.52586 L9.84483,3.68103 L9.76724,3.78448 L9.71552,3.88793 L9.61207,3.93966 L9.4569,4.0431 L9.35345,4.12069 L9.27586,4.12069 L9.19828,4.12069 L9.06897,4.12069 L8.96552,4.12069 L8.81034,4.12069 L8.68103,4.12069 L8.52586,4.12069 L8.44828,4.12069 L8.31897,4.12069 L8.24138,4.12069 L8.13793,4.12069 L8.11207,4.12069 L8.06034,4.12069 z"},{"id":"shape:1f27e960-db34-febb-ceb3-0f0793a6cf4e","type":"path","transform":"","fillColor":"#aa557c","lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":1,"points":"M4.51724,6.62931 L5.34483,6.47414 L6.53448,6.31897 L7.23276,6.03448 L7.5431,5.87931 L7.85345,5.72414 L8.08621,5.56897 L8.11207,5.5431 L8.11207,5.51724 L7.2069,6.52586 L6.94828,6.62931 L6.68966,6.65517 L6.19828,6.7069 L5.7069,6.75862 L5.2931,6.78448 L4.9569,6.78448 L4.5431,6.78448 L4.33621,6.78448 L4.10345,6.78448 L3.92241,6.78448 L3.63793,6.78448 L3.43103,6.78448 L3.19828,6.78448 L2.91379,6.81034 L2.65517,6.86207 L2.26724,6.88793 L1.93103,6.91379 L1.62069,6.91379 L1.51724,6.91379 L1.41379,6.91379 L1.36207,6.91379 L1.31034,6.91379 z"},{"id":"shape:74f5cef1-ce08-600d-e384-958dac4704de","type":"path","transform":"","fillColor":"#805569","lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":1,"points":"M6.61207,5.43966 L6.63793,5.38793 L6.81897,5.31034 L7,5.2069 L7.05172,5.15517 L7.10345,5.15517 L7.2069,5.15517 L7.2069,5.2069 L7.2069,5.25862 L7.07759,5.43966 L7.02586,5.5431 L6.7931,5.69828 L6.48276,5.82759 L6.09483,5.90517 L5.78448,5.93103 L5.5,5.98276 L5.11207,6.03448 L4.56897,6.08621 L4.15517,6.13793 L3.87069,6.13793 L3.71552,6.13793 L3.66379,6.13793 L3.50862,6.13793 L3.43103,6.13793 L3.32759,6.13793 L3.19828,6.13793 L3.0431,6.13793 L2.86207,6.13793 L2.60345,6.13793 L2.34483,6.16379 L2.16379,6.16379 L2.06034,6.16379 L1.90517,6.16379 L1.75,6.16379 z"},{"id":"shape:93177ed1-1f6a-b50b-12a3-3a6ca8ae664e","type":"path","transform":"","fillColor":"#805569","lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":1,"points":"M7.49138,5.31034 L7.69828,5.18103 L7.98276,4.81897 L8.2931,4.56034 L8.31897,4.50862 L8.31897,4.4569 L8.31897,4.43103 L8.39655,4.50862 L8.44828,4.58621 L8.5,4.63793 L8.47414,4.74138 L8.2931,5.05172 L8.16379,5.12931 L7.90517,5.2069 L7.51724,5.25862 L7.38793,5.31034 L7.2069,5.31034 L7.05172,5.31034 L6.97414,5.31034 L6.89655,5.31034 L6.81897,5.31034 L6.76724,5.31034 L6.68966,5.25862 z"},{"id":"shape:3356fa31-7bda-9431-fb49-731e3cd9425d","type":"ellipse","transform":"","fillColor":"#ffe100","lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":1,"width":2.50862,"height":2.37932,"left":14.08619,"top":1.3275800000000002}]
    91.5 \ No newline at end of file
    92.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    92.2 +++ b/onlypaths/new.txt	Sun Jan 31 12:33:33 2010 -0500
    92.3 @@ -0,0 +1,1 @@
    92.4 +[{type:"doc", left:0, top:0, width:700, height:500, viewBox:"0 0 700 500", bgcolor:"#ffffff", title:"", link:"", meta:""} ]
    92.5 \ No newline at end of file
    93.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    93.2 +++ b/onlypaths/onerobot.txt	Sun Jan 31 12:33:33 2010 -0500
    93.3 @@ -0,0 +1,1 @@
    93.4 +[{type:"doc", left:0, top:0, width:160, height:160, viewBox:"0 0 160 160", bgcolor:"#006666", title:"", link:"", meta:""}, {"id":"shape:567398b2-3763-cc53-678a-e74d1d5d7569","type":"rect","transform":"","fillColor":"#d5d4d4","lineColor":"none","fillOpac":1,"lineOpac":1,"lineWidth":1,"left":-146,"top":-6,"width":444,"height":171},{"id":"shape:0cc9fd3c-6518-31e7-1dd9-ac3f03f334f9","type":"ellipse","transform":"","fillColor":"#ff0000","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"width":17.5,"height":22,"left":18.5,"top":95},{"id":"shape:aeb8f11c-5800-2feb-e3df-33139c1c070f","type":"rect","transform":"","fillColor":"#d5d4d4","lineColor":"none","fillOpac":1,"lineOpac":1,"lineWidth":1,"left":-4,"top":4,"width":8,"height":12},{"id":"shape:2b66c634-20de-49cc-501e-c2dd34ed072f","type":"ellipse","transform":"","fillColor":"#ff0000","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"width":39,"height":34.5586,"left":53,"top":83.58269999999999},{"id":"shape:8ce004c5-af9a-d815-2111-9719e9c2b0c1","type":"path","transform":"","fillColor":"#555500","lineColor":"none","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M-153,160.5 L-153,159.5 L-154,158.5 L-157,156.5 L-159,154.5 L-162,152.5 L-165,149.5 L-169,145.5 L-171,143.5 L-174,138.5 L-176,134.5 L-179,133.5 L-181,130.5 L-182,130.5 L-182,128.5 L-182,126.5 L-180,123.5 L-177,122.5 L-176,120.5 L-173,118.5 L-170,116.5 L-163,115.5 L-156,113.5 L-147,113.5 L-144,113.5 L-143,113.5 L-140,113.5 L-136,113.5 L-135,113.5 L-134,113.5 L-133,112.5 L-130,112.5 L-127,112.5 L-125,112.5 L-122,112.5 L-119,112.5 L-115,111.5 L-113,111.5 L-110,111.5 L-109,111.5 L-106,111.5 L-99,114.5 L-93,115.5 L-90,115.5 L-87,115.5 L-84,115.5 L-81,115.5 L-78,114.5 L-71,113.5 L-62,112.5 L-53,111.5 L-43,110.5 L-34,107.5 L-25,106.5 L-21,106.5 L-20,106.5 L-20,107.5 L-19,107.5 L-18,108.5 L-16,108.5 L-15,108.5 L-12,108.5 L-7,110.5 L-5,111.5 L-2,111.5 L1,111.5 L7,113.5 L10,113.5 L11,113.5 L13,113.5 L16,113.5 L18,112.5 L19,112.5 L20,112.5 L21,112.5 L22,112.5 L23,112.5 L25,112.5 L26,112.5 L27,112.5 L28,112.5 L29,112.5 L30,112.5 L32,112.5 L33,111.5 L34,111.5 L35,110.5 L37,110.5 L39,110.5 L40,110.5 L41,110.5 L43,110.5 L44,110.5 L45,110.5 L46,110.5 L48,110.5 L50,111.5 L53,111.5 L54,111.5 L55,111.5 L56,111.5 L57,111.5 L58,111.5 L59,111.5 L60,111.5 L62,111.5 L63,111.5 L64,111.5 L66,111.5 L67,111.5 L68,111.5 L69,111.5 L70,111.5 L71,111.5 L72,111.5 L73,111.5 L74,111.5 L75,111.5 L76,111.5 L77,111.5 L78,111.5 L78,112.5 L79,113.5 L80,114.5 L81,114.5 L82,114.5 L82,115.5 L84,116.5 L85,116.5 L86,116.5 L87,116.5 L89,116.5 L92,116.5 L93,116.5 L95,116.5 L97,116.5 L100,116.5 L114,116.5 L115,116.5 L116,115.5 L118,115.5 L119,115.5 L120,115.5 L122,114.5 L125,114.5 L128,114.5 L129,114.5 L131,114.5 L132,114.5 L135,114.5 L143,114.5 L149,114.5 L150,114.5 L151,114.5 L152,114.5 L154,114.5 L160,114.5 L163,114.5 L165,114.5 L166,114.5 L169,114.5 L171,114.5 L175,114.5 L178,114.5 L188,114.5 L192,114.5 L194,114.5 L195,114.5 L198,114.5 L202,114.5 L205,114.5 L207,114.5 L209,114.5 L210,114.5 L211,114.5 L214,117.5 L217,119.5 L220,120.5 L221,120.5 L224,120.5 L226,120.5 L230,120.5 L233,120.5 L235,120.5 L241,120.5 L244,120.5 L251,120.5 L257,120.5 L260,120.5 L261,120.5 L264,120.5 L267,120.5 L271,120.5 L274,120.5 L277,120.5 L279,120.5 L280,120.5 L281,120.5 L282,120.5 L283,120.5 L284,120.5 L285,120.5 L285,121.5 L286,121.5 L287,121.5 L287,122.5 L288,122.5 L289,122.5 L290,123.5 L290,124.5 L291,124.5 L291,125.5 L291,126.5 L292,127.5 L292,128.5 L292,129.5 L292,130.5 L293,131.5 L294,132.5 L295,133.5 L296,133.5 L296,134.5 L296,135.5 L296,136.5 L296,137.5 L296,138.5 L296,139.5 L296,147.5 L296,149.5 L296,151.5 L296,152.5 L296,153.5 L296,154.5 L296,155.5 L296,156.5 L296,157.5 L296,158.5 L296,159.5 z"},{"id":"shape:72ac0941-f863-abd4-1859-0a90e75d9f86","type":"ellipse","transform":"","fillColor":"#aaaaaa","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"width":15,"height":12,"left":64,"top":94},{"id":"shape:8e937ef4-b625-9b54-a8d9-3f9db5391b29","type":"roundrect","transform":"rotate(-9.46232, 60, 85)","fillColor":"#808080","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"rx":20,"ry":20,"left":28,"top":71,"width":64,"height":28},{"id":"shape:03156a09-0646-b0cf-00d2-7a0dc4cb6300","type":"ellipse","transform":"","fillColor":"#ff0000","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"width":39,"height":35,"left":81,"top":83},{"id":"shape:fc34042d-ab37-df13-0405-dae6ec9bb3bb","type":"rect","transform":"","fillColor":"#aaaaaa","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"left":23.318,"top":83.7556,"width":18,"height":17},{"id":"shape:85289780-3df2-86f2-9aae-f189399120df","type":"rect","transform":"","fillColor":"#ff0000","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"left":14.318,"top":83.7556,"width":18,"height":17},{"id":"shape:e054d647-771a-5b58-4cd0-68514c515be7","type":"rect","transform":"","fillColor":"#ff0000","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"left":56.318,"top":57.7556,"width":18,"height":17},{"id":"shape:d9e5c336-4953-9ce5-9ecb-728c966350a4","type":"rect","transform":"","fillColor":"#aaaaaa","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"left":63.318,"top":57.7556,"width":18,"height":17},{"id":"shape:0dba98fe-95ad-b2df-5796-364664bf50fb","type":"line","transform":"","fillColor":"#ff0000","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"left":68,"top":59.7556,"width":0,"height":-25.7556},{"id":"shape:4f25051b-348d-82c6-3d3a-dc858d4671b9","type":"ellipse","transform":"","fillColor":"#aaaaaa","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"width":15,"height":12,"left":93,"top":95},{"id":"shape:6cc4981f-ed54-8300-7db2-f63b5e3efdb3","type":"ellipse","transform":"","fillColor":"#aaaaaa","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"width":4,"height":3,"left":25,"top":105},{"id":"shape:607f960c-6341-b01a-a000-692d153e6bc7","type":"text","transform":"","textFamily":"Arial","textSize":28,"top":147.688,"left":27,"text":"Robot 45","lineWidth":1,"fillColor":"#00daff","lineColor":"none","fillOpac":1,"lineOpac":1},{"id":"shape:ad070b30-da2f-24d2-abc4-58282961872e","type":"path","transform":"","fillColor":"#555500","lineColor":"#00002b","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M224,119 L225,116 L226,116 L227,116 L229,117 L229,119 L230,119 L231,119 L231,120 L231,122 L231,123 L231,124 L230,124 L229,124 L227,124 L226,124 L225,124 z"},{"id":"shape:35123ef7-89d8-6830-d58d-e95079d8b8a6","type":"path","transform":"","fillColor":"#555500","lineColor":"#00002b","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M239,118 L240,115 L247,114 L247,117 L248,118 L248,119 L248,120 L248,121 L247,122 L247,123 L246,123 L244,123 L243,123 L242,123 L240,123 L239,123 L238,123 L238,122 L238,121 z"},{"id":"shape:6ab1f71d-24be-c896-965c-8c08574977f6","type":"path","transform":"","fillColor":"#555500","lineColor":"#00002b","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M237,116 L237,119 L237,123 L234,125 L230,125 L229,125 L228,122 L227,121 z"},{"id":"shape:9d3181e3-dff6-fd3f-325d-3ded051914fd","type":"path","transform":"","fillColor":"#555500","lineColor":"#00002b","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M194,114 L195,111 L198,111 L200,113 L201,113 L202,113 L202,115 L200,116 L200,117 L199,117 L198,117 z"},{"id":"shape:126a2a49-0271-81cf-6f27-e02ebf683477","type":"path","transform":"","fillColor":"#555500","lineColor":"#00002b","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M-94,110 L-91,111 L-89,111 L-87,113 L-89,117 L-91,121 L-93,121 L-95,120 L-95,119 L-95,118 z"},{"id":"shape:8dd36493-2c51-92e6-120f-2468ff359872","type":"path","transform":"","fillColor":"#555500","lineColor":"#00002b","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M-85,118 L-89,115 L-87,110 L-80,111 L-78,111 L-78,112 L-78,116 L-78,119 z"},{"id":"shape:e544869c-ba12-e593-a87e-39842aa2e5de","type":"path","transform":"","fillColor":"#555500","lineColor":"#00002b","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M-120,110 L-114,110 L-113,113 L-113,116 L-114,117 L-115,117 L-116,117 z"},{"id":"shape:1df39d5f-dbfe-9b1f-11ad-e61125c1dcbc","type":"path","transform":"","fillColor":"#555500","lineColor":"#00002b","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M-47,113 L-47,110 L-44,110 L-41,110 L-40,110 L-40,113 z"}]
    94.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    94.2 +++ b/onlypaths/onerobot1.txt	Sun Jan 31 12:33:33 2010 -0500
    94.3 @@ -0,0 +1,3 @@
    94.4 +//[{type:"doc", left:0, top:0, width:160, height:160, viewBox:"0 0 160 160"}, {"id":"shape:567398b2-3763-cc53-678a-e74d1d5d7569","type":"rect","transform":"","fillColor":"#d5d4d4","lineColor":"none","fillOpac":1,"lineOpac":1,"lineWidth":1,"left":-8,"top":-4,"width":170,"height":169},{"id":"shape:0cc9fd3c-6518-31e7-1dd9-ac3f03f334f9","type":"ellipse","transform":"","fillColor":"#ff0000","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"width":17.5,"height":22,"left":18.5,"top":95},{"id":"shape:91592290-f1a8-8bb1-30b9-8a1856f29375","type":"path","transform":"","fillColor":"#555500","lineColor":"none","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M5,112 L6,112 L11,112 L17,112 L25,112 L34,113 L38,113 L39,113 L40,113 L43,113 L47,113 L51,113 L52,113 L54,114 L59,114 L66,114 L73,113 L83,111 L85,111 L87,111 L92,111 L100,111 L107,111 L108,111 L111,111 L115,112 L116,112 L123,112 L131,113 L140,113 L146,113 L146,114 L146,115 L147,116 L149,118 L150,120 L150,122 L148,126 L145,128 L143,130 L143,131 L143,134 L141,136 L139,138 L135,140 L131,142 L127,144 L125,145 L121,145 L117,145 L115,145 L109,145 L102,145 L99,146 L96,147 L93,148 L89,149 L84,149 L80,150 L76,151 L73,151 L72,151 L71,151 L68,150 L66,148 L64,147 L58,146 L52,145 L46,145 L44,145 L43,145 L42,144 L41,143 L40,143 L37,143 L32,143 L29,143 L27,143 L25,143 L24,143 L23,143 L22,143 L21,143 L18,143 L16,143 L14,143 L13,143 L11,143 L10,143 L9,143 L8,143 L7,143 L6,143 L5,143 L4,143 L3,143 L4,143 L5,143 L6,143 z"},{"id":"shape:607f960c-6341-b01a-a000-692d153e6bc7","type":"text","transform":"","textFamily":"Arial","textSize":28,"top":137.922,"left":62,"text":"Robot 45","lineWidth":1,"fillColor":"#00daff","lineColor":"none","fillOpac":1,"lineOpac":1},{"id":"shape:aeb8f11c-5800-2feb-e3df-33139c1c070f","type":"rect","transform":"","fillColor":"#d5d4d4","lineColor":"none","fillOpac":1,"lineOpac":1,"lineWidth":1,"left":-2,"top":6,"width":6,"height":10},{"id":"shape:2b66c634-20de-49cc-501e-c2dd34ed072f","type":"ellipse","transform":"","fillColor":"#ff0000","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"width":39,"height":34.5586,"left":53,"top":83.58269999999999},{"id":"shape:72ac0941-f863-abd4-1859-0a90e75d9f86","type":"ellipse","transform":"","fillColor":"#aaaaaa","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"width":15,"height":12,"left":64,"top":94},{"id":"shape:8e937ef4-b625-9b54-a8d9-3f9db5391b29","type":"roundrect","transform":"rotate(-9.46232, 60, 85)","fillColor":"#808080","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"rx":20,"ry":20,"left":28,"top":71,"width":64,"height":28},{"id":"shape:03156a09-0646-b0cf-00d2-7a0dc4cb6300","type":"ellipse","transform":"","fillColor":"#ff0000","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"width":39,"height":35,"left":81,"top":83},{"id":"shape:fc34042d-ab37-df13-0405-dae6ec9bb3bb","type":"rect","transform":"","fillColor":"#aaaaaa","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"left":25.318,"top":85.7556,"width":16,"height":15},{"id":"shape:85289780-3df2-86f2-9aae-f189399120df","type":"rect","transform":"","fillColor":"#ff0000","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"left":16.318,"top":85.7556,"width":16,"height":15},{"id":"shape:e054d647-771a-5b58-4cd0-68514c515be7","type":"rect","transform":"","fillColor":"#ff0000","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"left":58.318,"top":59.7556,"width":16,"height":15},{"id":"shape:d9e5c336-4953-9ce5-9ecb-728c966350a4","type":"rect","transform":"","fillColor":"#aaaaaa","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"left":65.318,"top":59.7556,"width":16,"height":15},{"id":"shape:0dba98fe-95ad-b2df-5796-364664bf50fb","type":"line","transform":"","fillColor":"#ff0000","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"left":68,"top":59.7556,"width":0,"height":-25.7556},{"id":"shape:4f25051b-348d-82c6-3d3a-dc858d4671b9","type":"ellipse","transform":"","fillColor":"#aaaaaa","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"width":15,"height":12,"left":93,"top":95},{"id":"shape:6cc4981f-ed54-8300-7db2-f63b5e3efdb3","type":"ellipse","transform":"","fillColor":"#aaaaaa","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"width":4,"height":3,"left":25,"top":105}]
    94.5 +//[{"id":"shape:shape:138a8c08-77bf-7242-a0f2-a33051dbc03f","type":"path","transform":"","fillColor":"#d58080","lineColor":"none","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M97.6193,170 L97.6193,170 L94.2524,161 L94.2524,161 L100.986,131 L100.986,131 L114.454,117 L114.454,117 L134.657,109 L134.657,109 L164.958,101 L164.958,101 L201.996,99 L201.996,99 L245.768,100 L245.768,100 L264.284,102 L264.284,102 L277.754,110 L277.754,110 L286.172,123 L286.172,123 L292.904,138 L292.904,138 L292.904,153 L292.904,153 L287.853,172 L287.853,172 L281.12,191 L281.12,191 L276.068,209 L276.068,209 L271.021,221 L271.021,221 L264.284,232 L264.284,232 L262.602,236 L262.602,236 L255.869,243 L255.869,243 L252.5,248 L252.5,248 L245.768,251 L245.768,251 L242.4,254 L242.4,254 L235.665,257 L235.665,257 L228.931,260 L228.931,260 L220.515,263 L220.515,263 L210.413,266 L210.413,266 L200.312,269 L200.312,269 L186.846,271 L186.846,271 L173.374,272 L173.374,272 L158.226,273 L158.226,273 L144.757,273 L144.757,273 L134.657,273 L134.657,273 L126.238,273 L126.238,273 L114.454,271 L114.454,271 L106.037,269 L106.037,269 L97.6193,266 L97.6193,266 L90.8853,264 L90.8853,264 L87.5185,261 L87.5185,261 L80.7846,258 L80.7846,258 L75.7339,256 L75.7339,256 L70.6835,251 L70.6835,251 L69,246 L69,246 L70.6835,241 L70.6835,241 L72.367,237 L72.367,237 L77.4175,234 L77.4175,234 L80.7846,231 L80.7846,231 L87.5185,228 L87.5185,228 L100.986,223 L100.986,223 L111.087,221 L111.087,221 L126.238,217 L126.238,217 L136.339,214 L136.339,214 L173.374,197 L173.374,197 L175.06,193 L175.06,193 L175.06,191 L175.06,191 L175.06,188 L175.06,188 L175.06,185 L175.06,185 L175.06,184 L175.06,184 L175.06,182 L175.06,182 L175.06,180 L175.06,180 L175.06,179 L175.06,179 L175.06,177 L175.06,177 L175.06,176 L175.06,176 L173.374,176 L173.374,176 L171.694,174 L171.694,174 L170.009,173 L170.009,173 L170.009,172 L170.009,172 L168.327,171 L168.327,171 L166.642,171 L166.642,171 L164.958,171 L164.958,171 L163.277,171 L163.277,171 L159.908,172 L159.908,172 L158.226,173 L158.226,173 L156.542,173 L156.542,173 L151.491,175 L151.491,175 L148.122,176 L148.122,176 L146.442,177 L146.442,177 L144.757,177 L144.757,177 L144.757,178 L144.757,178 L143.073,178 L143.073,178 L143.073,179 L143.073,179 L141.39,179 L141.39,179 L138.023,180 L138.023,180 L131.29,181 L131.29,181 L127.921,182 L127.921,182 L119.504,185 L119.504,185 L116.138,186 L116.138,186 L112.771,186 L112.771,186 L111.087,186 L111.087,186 L109.403,186 L109.403,186 L107.721,186 L107.721,186 L106.037,186 L106.037,186 L104.353,186 L104.353,186 L102.67,186 L102.67,186 L97.6193,185 L97.6193,185 L95.9359,185 L95.9359,185 L94.2524,184 L94.2524,184 L92.5688,182 L92.5688,182 L90.8853,182 L90.8853,182 L89.2021,181 L89.2021,181 L87.5185,180 L87.5185,180 L85.8348,179 L85.8348,179 L85.8348,178 L85.8348,178 L85.8348,177 L85.8348,177 L85.8348,176 L85.8348,176 L87.5185,176 L87.5185,176 L89.2021,176 L89.2021,176 L90.8853,176 L90.8853,176 L92.5688,176 L92.5688,176 L94.2524,176 L94.2524,176 L95.9359,176 L95.9359,176 L97.6193,176 L97.6193,176 L97.6193,175 L97.6193,175 L99.3031,174 L99.3031,174 L97.6193,174 L97.6193,174 L95.9359,174 L95.9359,174 L94.2524,174 L94.2524,174 L92.5688,174 L92.5688,174 L90.8853,174 L90.8853,174 L89.2021,174 L89.2021,174 L85.8348,173 L85.8348,173 L84.1513,172 L84.1513,172 L82.4679,169 L82.4679,169 z"},{"id":"shape:shape:a5f598d0-748e-93a0-517e-bacc7b67b7e6","type":"rect","transform":"","fillColor":"#e3e4e4","lineColor":"none","fillOpac":1,"lineOpac":1,"lineWidth":1,"left":4,"top":4.04767,"width":591,"height":324.952},{"id":"shape:shape:b5311c59-28ea-4862-4f57-e4a9ee79f4c2","type":"path","transform":"rotate(9.07562, 254.012, 255.452)","fillColor":"#d5d5d5","lineColor":"none","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M146.069,250.918 L146.069,250.918 L141.709,247.806 L141.709,247.806 L150.433,237.432 L150.433,237.432 L167.877,232.589 L167.877,232.589 L194.047,229.821 L194.047,229.821 L233.294,227.055 L233.294,227.055 L281.271,226.363 L281.271,226.363 L337.972,226.709 L337.972,226.709 L361.952,227.4 L361.952,227.4 L379.402,230.168 L379.402,230.168 L390.301,234.663 L390.301,234.663 L399.025,239.851 L399.025,239.851 L399.025,245.039 L399.025,245.039 L392.48,251.609 L392.48,251.609 L383.759,258.18 L383.759,258.18 L377.215,264.406 L377.215,264.406 L370.679,268.557 L370.679,268.557 L361.952,272.36 L361.952,272.36 L359.773,273.744 L359.773,273.744 L351.052,276.165 L351.052,276.165 L346.692,277.894 L346.692,277.894 L337.972,278.931 L337.972,278.931 L333.605,279.97 L333.605,279.97 L324.883,281.005 L324.883,281.005 L316.164,282.043 L316.164,282.043 L305.259,283.082 L305.259,283.082 L292.172,284.119 L292.172,284.119 L279.091,285.157 L279.091,285.157 L261.646,285.849 L261.646,285.849 L244.198,286.193 L244.198,286.193 L224.576,286.54 L224.576,286.54 L207.128,286.54 L207.128,286.54 L194.047,286.54 L194.047,286.54 L183.142,286.54 L183.142,286.54 L167.877,285.849 L167.877,285.849 L156.978,285.157 L156.978,285.157 L146.069,284.119 L146.069,284.119 L137.347,283.427 L137.347,283.427 L132.986,282.39 L132.986,282.39 L124.264,281.351 L124.264,281.351 L117.723,280.661 L117.723,280.661 L111.18,278.931 L111.18,278.931 L109,277.202 L109,277.202 L111.18,275.472 L111.18,275.472 L113.361,274.089 L113.361,274.089 L119.903,273.052 L119.903,273.052 L124.264,272.015 L124.264,272.015 L132.986,270.978 L132.986,270.978 L150.433,269.248 L150.433,269.248 L163.516,268.557 L163.516,268.557 L183.142,267.171 L183.142,267.171 L196.223,266.136 L196.223,266.136 L244.198,260.255 L244.198,260.255 L246.381,258.873 L246.381,258.873 L246.381,258.18 L246.381,258.18 L246.381,257.143 L246.381,257.143 L246.381,256.106 L246.381,256.106 L246.381,255.76 L246.381,255.76 L246.381,255.067 L246.381,255.067 L246.381,254.377 L246.381,254.377 L246.381,254.03 L246.381,254.03 L246.381,253.338 L246.381,253.338 L246.381,252.993 L246.381,252.993 L244.198,252.993 L244.198,252.993 L242.023,252.302 L242.023,252.302 L239.839,251.956 L239.839,251.956 L239.839,251.609 L239.839,251.609 L237.658,251.264 L237.658,251.264 L235.477,251.264 L235.477,251.264 L233.294,251.264 L233.294,251.264 L231.119,251.264 L231.119,251.264 L226.753,251.609 L226.753,251.609 L224.576,251.956 L224.576,251.956 L222.393,251.956 L222.393,251.956 L215.852,252.647 L215.852,252.647 L211.488,252.993 L211.488,252.993 L209.31,253.338 L209.31,253.338 L207.128,253.338 L207.128,253.338 L207.128,253.684 L207.128,253.684 L204.949,253.684 L204.949,253.684 L204.949,254.03 L204.949,254.03 L202.766,254.03 L202.766,254.03 L198.405,254.377 L198.405,254.377 L189.685,254.723 L189.685,254.723 L185.317,255.067 L185.317,255.067 L174.42,256.106 L174.42,256.106 L170.06,256.452 L170.06,256.452 L165.699,256.452 L165.699,256.452 L163.516,256.452 L163.516,256.452 L161.332,256.452 L161.332,256.452 L159.159,256.452 L159.159,256.452 L156.978,256.452 L156.978,256.452 L154.792,256.452 L154.792,256.452 L152.614,256.452 L152.614,256.452 L146.069,256.106 L146.069,256.106 L143.892,256.106 L143.892,256.106 L141.709,255.76 L141.709,255.76 L139.529,255.067 L139.529,255.067 L137.347,255.067 L137.347,255.067 L135.169,254.723 L135.169,254.723 L132.986,254.377 L132.986,254.377 L130.806,254.03 L130.806,254.03 L130.806,253.684 L130.806,253.684 L130.806,253.338 L130.806,253.338 L130.806,252.993 L130.806,252.993 L132.986,252.993 L132.986,252.993 L135.169,252.993 L135.169,252.993 L137.347,252.993 L137.347,252.993 L139.529,252.993 L139.529,252.993 L141.709,252.993 L141.709,252.993 L143.892,252.993 L143.892,252.993 L146.069,252.993 L146.069,252.993 L146.069,252.647 L146.069,252.647 L148.251,252.302 L148.251,252.302 L146.069,252.302 L146.069,252.302 L143.892,252.302 L143.892,252.302 L141.709,252.302 L141.709,252.302 L139.529,252.302 L139.529,252.302 L137.347,252.302 L137.347,252.302 L135.169,252.302 L135.169,252.302 L130.806,251.956 L130.806,251.956 L128.625,251.609 L128.625,251.609 L126.445,250.572 L126.445,250.572 z"},{"id":"shape:shape:6ba078c5-d5f1-81d4-0a14-989a39c9b976","type":"path","transform":"","fillColor":"#645555","lineColor":"none","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M167,119 L167,119 L176,111 L176,111 L209,96 L209,96 L248,86 L248,86 L272,81 L272,81 L300,77 L300,77 L323,75 L323,75 L342,75 L342,75 L340,75 L340,75 L338,76 L338,76 L334,78 L334,78 L326,81 L326,81 L324,81 L324,81 L315,81 L315,81 L306,82 L306,82 L300,82 L300,82 L292,83 L292,83 L281,86 L281,86 L273,89 L273,89 L268,92 L268,92 L262,95 L262,95 L255,98 L255,98 L246,102 L246,102 L238,106 L238,106 L234,108 L234,108 L232,109 L232,109 L230,111 L230,111 L230,110 L230,110 L234,108 L234,108 L240,107 L240,107 L252,106 L252,106 L259,106 L259,106 L268,106 L268,106 L281,106 L281,106 L290,106 L290,106 L297,105 L297,105 L300,104 L300,104 L301,104 L301,104 L300,104 L300,104 L294,106 L294,106 L282,109 L282,109 L264,111 L264,111 L256,112 L256,112 L248,113 L248,113 L240,113 L240,113 L231,113 L231,113 L224,113 L224,113 L218,113 L218,113 L216,113 L216,113 L212,113 L212,113 L210,113 L210,113 L209,113 L209,113 L210,113 L210,113 L211,113 L211,113 L211,114 L211,114 L213,115 L213,115 L218,116 L218,116 L226,116 L226,116 L238,117 L238,117 L248,118 L248,118 L259,118 L259,118 L273,118 L273,118 L297,118 L297,118 L317,118 L317,118 L340,118 L340,118 L353,118 L353,118 L364,118 L364,118 L369,117 L369,117 L374,116 L374,116 L378,115 L378,115 L380,114 L380,114 L379,114 L379,114 L377,116 L377,116 L371,118 L371,118 L357,124 L357,124 L346,128 L346,128 L332,130 L332,130 L305,131 L305,131 L306,131 L306,131 L312,131 L312,131 L327,131 L327,131 L337,131 L337,131 L347,131 L347,131 L349,131 L349,131 L348,132 L348,132 L345,133 L345,133 L338,137 L338,137 L331,138 L331,138 L323,138 L323,138 L311,139 L311,139 L305,141 L305,141 L299,141 L299,141 L295,141 L295,141 L292,141 L292,141 L290,141 L290,141 L288,141 L288,141 L287,141 L287,141 L286,141 L286,141 L285,141 L285,141 L282,141 L282,141 L277,141 L277,141 L273,141 L273,141 L268,141 L268,141 L264,141 L264,141 L256,141 L256,141 L252,141 L252,141 L250,141 L250,141 L248,141 L248,141 L246,141 L246,141 L243,141 L243,141 L242,141 L242,141 L241,141 L241,141 L277,151 L277,151 L290,153 L290,153 L297,153 L297,153 L308,153 L308,153 L322,153 L322,153 L326,153 L326,153 L325,153 L325,153 L322,154 L322,154 L314,157 L314,157 L305,157 L305,157 L285,158 L285,158 L267,158 L267,158 L254,158 L254,158 L240,158 L240,158 L225,158 L225,158 L212,158 L212,158 L206,158 L206,158 L203,158 L203,158 L199,158 L199,158 L193,158 L193,158 L188,158 L188,158 L181,158 L181,158 L172,158 L172,158 L165,158 L165,158 L162,158 L162,158 L161,158 L161,158 L162,158 L162,158 L163,158 L163,158 L162,158 L162,158 L161,157 L161,157 L192,113 z"},{"id":"shape:shape:c3eceb80-0fcc-7c9d-0499-555dfa770c3d","type":"path","transform":"","fillColor":"#ff0000","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M2,170 L2,170 z"},{"id":"shape:shape:ad19ae68-527d-0f70-9eae-fd9bcffb1fa9","type":"path","transform":"","fillColor":"#abaeae","lineColor":"none","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M97.619,157.839 L97.619,157.839 L94.252,148.733 L94.252,148.733 L100.986,118.378 L100.986,118.378 L114.454,104.211 L114.454,104.211 L134.657,96.118 L134.657,96.118 L164.958,88.0236 L164.958,88.0236 L201.996,86 L201.996,86 L245.768,87.0116 L245.768,87.0116 L264.284,89.0355 L264.284,89.0355 L277.754,97.131 L277.754,97.131 L286.172,110.284 L286.172,110.284 L292.904,125.461 L292.904,125.461 L292.904,140.637 L292.904,140.637 L287.853,159.862 L287.853,159.862 L281.12,179.087 L281.12,179.087 L276.068,197.297 L276.068,197.297 L271.021,209.44 L271.021,209.44 L264.284,220.569 L264.284,220.569 L262.602,224.616 L262.602,224.616 L255.869,231.699 L255.869,231.699 L252.5,236.759 L252.5,236.759 L245.768,239.795 L245.768,239.795 L242.4,242.832 L242.4,242.832 L235.665,245.864 L235.665,245.864 L228.931,248.901 L228.931,248.901 L220.515,251.937 L220.515,251.937 L210.413,254.971 L210.413,254.971 L200.312,258.006 L200.312,258.006 L186.846,260.03 L186.846,260.03 L173.374,261.042 L173.374,261.042 L158.226,262.054 L158.226,262.054 L144.757,262.054 L144.757,262.054 L134.657,262.054 L134.657,262.054 L126.238,262.054 L126.238,262.054 L114.454,260.03 L114.454,260.03 L106.037,258.006 L106.037,258.006 L97.619,254.971 L97.619,254.971 L90.885,252.948 L90.885,252.948 L87.518,249.912 L87.518,249.912 L80.785,246.879 L80.785,246.879 L75.734,244.852 L75.734,244.852 L70.684,239.795 L70.684,239.795 L69,234.736 L69,234.736 L70.684,229.678 L70.684,229.678 L72.367,225.628 L72.367,225.628 L77.417,222.593 L77.417,222.593 L80.785,219.557 L80.785,219.557 L87.518,216.522 L87.518,216.522 L100.986,211.465 L100.986,211.465 L111.087,209.44 L111.087,209.44 L126.238,205.39 L126.238,205.39 L136.339,202.359 L136.339,202.359 L173.374,185.155 L173.374,185.155 L175.06,181.11 L175.06,181.11 L175.06,179.087 L175.06,179.087 L175.06,176.05 L175.06,176.05 L175.06,173.015 L175.06,173.015 L175.06,172.005 L175.06,172.005 L175.06,169.979 L175.06,169.979 L175.06,167.955 L175.06,167.955 L175.06,166.945 L175.06,166.945 L175.06,164.921 L175.06,164.921 L175.06,163.909 L175.06,163.909 L173.374,163.909 L173.374,163.909 L171.694,161.886 L171.694,161.886 L170.009,160.874 L170.009,160.874 L170.009,159.862 L170.009,159.862 L168.327,158.849 L168.327,158.849 L166.642,158.849 L166.642,158.849 L164.958,158.849 L164.958,158.849 L163.277,158.849 L163.277,158.849 L159.908,159.862 L159.908,159.862 L158.226,160.874 L158.226,160.874 L156.542,160.874 L156.542,160.874 L151.491,162.897 L151.491,162.897 L148.122,163.909 L148.122,163.909 L146.442,164.921 L146.442,164.921 L144.757,164.921 L144.757,164.921 L144.757,165.931 L144.757,165.931 L143.073,165.931 L143.073,165.931 L143.073,166.945 L143.073,166.945 L141.39,166.945 L141.39,166.945 L138.023,167.955 L138.023,167.955 L131.29,168.969 L131.29,168.969 L127.921,169.979 L127.921,169.979 L119.504,173.015 L119.504,173.015 L116.138,174.028 L116.138,174.028 L112.771,174.028 L112.771,174.028 L111.087,174.028 L111.087,174.028 L109.403,174.028 L109.403,174.028 L107.721,174.028 L107.721,174.028 L106.037,174.028 L106.037,174.028 L104.353,174.028 L104.353,174.028 L102.67,174.028 L102.67,174.028 L97.619,173.015 L97.619,173.015 L95.936,173.015 L95.936,173.015 L94.252,172.005 L94.252,172.005 L92.569,169.979 L92.569,169.979 L90.885,169.979 L90.885,169.979 L89.202,168.969 L89.202,168.969 L87.518,167.955 L87.518,167.955 L85.835,166.945 L85.835,166.945 L85.835,165.931 L85.835,165.931 L85.835,164.921 L85.835,164.921 L85.835,163.909 L85.835,163.909 L87.518,163.909 L87.518,163.909 L89.202,163.909 L89.202,163.909 L90.885,163.909 L90.885,163.909 L92.569,163.909 L92.569,163.909 L94.252,163.909 L94.252,163.909 L95.936,163.909 L95.936,163.909 L97.619,163.909 L97.619,163.909 L97.619,162.897 L97.619,162.897 L99.303,161.886 L99.303,161.886 L97.619,161.886 L97.619,161.886 L95.936,161.886 L95.936,161.886 L94.252,161.886 L94.252,161.886 L92.569,161.886 L92.569,161.886 L90.885,161.886 L90.885,161.886 L89.202,161.886 L89.202,161.886 L85.835,160.874 L85.835,160.874 L84.151,159.862 L84.151,159.862 L82.468,156.826 L82.468,156.826 z"},{"id":"shape:shape:690732cb-3516-6d61-b14b-88bd51355757","type":"path","transform":"","fillColor":"#d58080","lineColor":"none","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M90.619,156 L90.619,156 L87.252,147 L87.252,147 L93.986,117 L93.986,117 L107.454,103 L107.454,103 L127.657,95 L127.657,95 L157.958,87 L157.958,87 L194.996,85 L194.996,85 L238.768,86 L238.768,86 L257.284,88 L257.284,88 L270.754,96 L270.754,96 L279.172,109 L279.172,109 L285.904,124 L285.904,124 L285.904,139 L285.904,139 L280.853,158 L280.853,158 L274.12,177 L274.12,177 L269.068,195 L269.068,195 L264.021,207 L264.021,207 L257.284,218 L257.284,218 L255.602,222 L255.602,222 L248.869,229 L248.869,229 L245.5,234 L245.5,234 L238.768,237 L238.768,237 L235.4,240 L235.4,240 L228.665,243 L228.665,243 L221.931,246 L221.931,246 L213.515,249 L213.515,249 L203.413,252 L203.413,252 L193.312,255 L193.312,255 L179.846,257 L179.846,257 L166.374,258 L166.374,258 L151.226,259 L151.226,259 L137.757,259 L137.757,259 L127.657,259 L127.657,259 L119.238,259 L119.238,259 L107.454,257 L107.454,257 L99.037,255 L99.037,255 L90.619,252 L90.619,252 L83.885,250 L83.885,250 L80.518,247 L80.518,247 L73.785,244 L73.785,244 L68.734,242 L68.734,242 L63.684,237 L63.684,237 L62,232 L62,232 L63.684,227 L63.684,227 L65.367,223 L65.367,223 L70.417,220 L70.417,220 L73.785,217 L73.785,217 L80.518,214 L80.518,214 L93.986,209 L93.986,209 L104.087,207 L104.087,207 L119.238,203 L119.238,203 L129.339,200 L129.339,200 L166.374,183 L166.374,183 L168.06,179 L168.06,179 L168.06,177 L168.06,177 L168.06,174 L168.06,174 L168.06,171 L168.06,171 L168.06,170 L168.06,170 L168.06,168 L168.06,168 L168.06,166 L168.06,166 L168.06,165 L168.06,165 L168.06,163 L168.06,163 L168.06,162 L168.06,162 L166.374,162 L166.374,162 L164.694,160 L164.694,160 L163.009,159 L163.009,159 L163.009,158 L163.009,158 L161.327,157 L161.327,157 L159.642,157 L159.642,157 L157.958,157 L157.958,157 L156.277,157 L156.277,157 L152.908,158 L152.908,158 L151.226,159 L151.226,159 L149.542,159 L149.542,159 L144.491,161 L144.491,161 L141.122,162 L141.122,162 L139.442,163 L139.442,163 L137.757,163 L137.757,163 L137.757,164 L137.757,164 L136.073,164 L136.073,164 L136.073,165 L136.073,165 L134.39,165 L134.39,165 L131.023,166 L131.023,166 L124.29,167 L124.29,167 L120.921,168 L120.921,168 L112.504,171 L112.504,171 L109.138,172 L109.138,172 L105.771,172 L105.771,172 L104.087,172 L104.087,172 L102.403,172 L102.403,172 L100.721,172 L100.721,172 L99.037,172 L99.037,172 L97.353,172 L97.353,172 L95.67,172 L95.67,172 L90.619,171 L90.619,171 L88.936,171 L88.936,171 L87.252,170 L87.252,170 L85.569,168 L85.569,168 L83.885,168 L83.885,168 L82.202,167 L82.202,167 L80.518,166 L80.518,166 L78.835,165 L78.835,165 L78.835,164 L78.835,164 L78.835,163 L78.835,163 L78.835,162 L78.835,162 L80.518,162 L80.518,162 L82.202,162 L82.202,162 L83.885,162 L83.885,162 L85.569,162 L85.569,162 L87.252,162 L87.252,162 L88.936,162 L88.936,162 L90.619,162 L90.619,162 L90.619,161 L90.619,161 L92.303,160 L92.303,160 L90.619,160 L90.619,160 L88.936,160 L88.936,160 L87.252,160 L87.252,160 L85.569,160 L85.569,160 L83.885,160 L83.885,160 L82.202,160 L82.202,160 L78.835,159 L78.835,159 L77.151,158 L77.151,158 L75.468,155 L75.468,155 z"},{"id":"shape:shape:bbbe20da-b627-2224-61ac-aaeaa05c577c","type":"path","transform":"","fillColor":"none","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M93.619,157 L93.619,157 L90.252,148 L90.252,148 L96.986,118 L96.986,118 L110.454,104 L110.454,104 L130.657,96 L130.657,96 L160.958,88 L160.958,88 L197.996,86 L197.996,86 L241.768,87 L241.768,87 L260.284,89 L260.284,89 L273.754,97 L273.754,97 L282.172,110 L282.172,110 L288.904,125 L288.904,125 L288.904,140 L288.904,140 L283.853,159 L283.853,159 L277.12,178 L277.12,178 L272.068,196 L272.068,196 L267.021,208 L267.021,208 L260.284,219 L260.284,219 L258.602,223 L258.602,223 L251.869,230 L251.869,230 L248.5,235 L248.5,235 L241.768,238 L241.768,238 L238.4,241 L238.4,241 L231.665,244 L231.665,244 L224.931,247 L224.931,247 L216.515,250 L216.515,250 L206.413,253 L206.413,253 L196.312,256 L196.312,256 L182.846,258 L182.846,258 L169.374,259 L169.374,259 L154.226,260 L154.226,260 L140.757,260 L140.757,260 L130.657,260 L130.657,260 L122.238,260 L122.238,260 L110.454,258 L110.454,258 L102.037,256 L102.037,256 L93.619,253 L93.619,253 L86.885,251 L86.885,251 L83.518,248 L83.518,248 L76.785,245 L76.785,245 L71.734,243 L71.734,243 L66.684,238 L66.684,238 L65,233 L65,233 L66.684,228 L66.684,228 L68.367,224 L68.367,224 L73.417,221 L73.417,221 L76.785,218 L76.785,218 L83.518,215 L83.518,215 L96.986,210 L96.986,210 L107.087,208 L107.087,208 L122.238,204 L122.238,204 L132.339,201 L132.339,201 L169.374,184 L169.374,184 L171.06,180 L171.06,180 L171.06,178 L171.06,178 L171.06,175 L171.06,175 L171.06,172 L171.06,172 L171.06,171 L171.06,171 L171.06,169 L171.06,169 L171.06,167 L171.06,167 L171.06,166 L171.06,166 L171.06,164 L171.06,164 L171.06,163 L171.06,163 L169.374,163 L169.374,163 L167.694,161 L167.694,161 L166.009,160 L166.009,160 L166.009,159 L166.009,159 L164.327,158 L164.327,158 L162.642,158 L162.642,158 L160.958,158 L160.958,158 L159.277,158 L159.277,158 L155.908,159 L155.908,159 L154.226,160 L154.226,160 L152.542,160 L152.542,160 L147.491,162 L147.491,162 L144.122,163 L144.122,163 L142.442,164 L142.442,164 L140.757,164 L140.757,164 L140.757,165 L140.757,165 L139.073,165 L139.073,165 L139.073,166 L139.073,166 L137.39,166 L137.39,166 L134.023,167 L134.023,167 L127.29,168 L127.29,168 L123.921,169 L123.921,169 L115.504,172 L115.504,172 L112.138,173 L112.138,173 L108.771,173 L108.771,173 L107.087,173 L107.087,173 L105.403,173 L105.403,173 L103.721,173 L103.721,173 L102.037,173 L102.037,173 L100.353,173 L100.353,173 L98.67,173 L98.67,173 L93.619,172 L93.619,172 L91.936,172 L91.936,172 L90.252,171 L90.252,171 L88.569,169 L88.569,169 L86.885,169 L86.885,169 L85.202,168 L85.202,168 L83.518,167 L83.518,167 L81.835,166 L81.835,166 L81.835,165 L81.835,165 L81.835,164 L81.835,164 L81.835,163 L81.835,163 L83.518,163 L83.518,163 L85.202,163 L85.202,163 L86.885,163 L86.885,163 L88.569,163 L88.569,163 L90.252,163 L90.252,163 L91.936,163 L91.936,163 L93.619,163 L93.619,163 L93.619,162 L93.619,162 L95.303,161 L95.303,161 L93.619,161 L93.619,161 L91.936,161 L91.936,161 L90.252,161 L90.252,161 L88.569,161 L88.569,161 L86.885,161 L86.885,161 L85.202,161 L85.202,161 L81.835,160 L81.835,160 L80.151,159 L80.151,159 L78.468,156 L78.468,156 z"},{"id":"shape:shape:b1a3db48-3257-050c-c3a6-a0018239d500","type":"path","transform":"","fillColor":"#ff8080","lineColor":"none","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M97.658,154.069 L97.658,154.069 L94.521,145.317 L94.521,145.317 L100.795,116.131 L100.795,116.131 L113.339,102.511 L113.339,102.511 L132.158,94.729 L132.158,94.729 L160.381,86.9457 L160.381,86.9457 L194.881,85 L194.881,85 L235.655,85.9728 L235.655,85.9728 L252.9,87.918 L252.9,87.918 L265.447,95.701 L265.447,95.701 L273.287,108.349 L273.287,108.349 L279.56,122.94 L279.56,122.94 L279.56,137.532 L279.56,137.532 L274.852,156.015 L274.852,156.015 L268.581,174.499 L268.581,174.499 L263.876,192.01 L263.876,192.01 L259.175,203.685 L259.175,203.685 L252.9,214.385 L252.9,214.385 L251.332,218.275 L251.332,218.275 L245.061,225.084 L245.061,225.084 L241.925,229.95 L241.925,229.95 L235.655,232.868 L235.655,232.868 L232.515,235.788 L232.515,235.788 L226.243,238.704 L226.243,238.704 L219.972,241.623 L219.972,241.623 L212.131,244.544 L212.131,244.544 L202.721,247.459 L202.721,247.459 L193.314,250.38 L193.314,250.38 L180.769,252.326 L180.769,252.326 L168.222,253.297 L168.222,253.297 L154.112,254.27 L154.112,254.27 L141.565,254.27 L141.565,254.27 L132.158,254.27 L132.158,254.27 L124.315,254.27 L124.315,254.27 L113.339,252.326 L113.339,252.326 L105.501,250.38 L105.501,250.38 L97.658,247.459 L97.658,247.459 L91.385,245.515 L91.385,245.515 L88.249,242.598 L88.249,242.598 L81.977,239.677 L81.977,239.677 L77.272,237.733 L77.272,237.733 L72.568,232.868 L72.568,232.868 L71,228.004 L71,228.004 L72.568,223.139 L72.568,223.139 L74.136,219.25 L74.136,219.25 L78.84,216.331 L78.84,216.331 L81.977,213.412 L81.977,213.412 L88.249,210.493 L88.249,210.493 L100.795,205.628 L100.795,205.628 L110.203,203.685 L110.203,203.685 L124.315,199.791 L124.315,199.791 L133.723,196.877 L133.723,196.877 L168.222,180.335 L168.222,180.335 L169.792,176.447 L169.792,176.447 L169.792,174.499 L169.792,174.499 L169.792,171.581 L169.792,171.581 L169.792,168.665 L169.792,168.665 L169.792,167.689 L169.792,167.689 L169.792,165.743 L169.792,165.743 L169.792,163.797 L169.792,163.797 L169.792,162.824 L169.792,162.824 L169.792,160.88 L169.792,160.88 L169.792,159.905 L169.792,159.905 L168.222,159.905 L168.222,159.905 L166.657,157.963 L166.657,157.963 L165.087,156.989 L165.087,156.989 L165.087,156.015 L165.087,156.015 L163.518,155.044 L163.518,155.044 L161.95,155.044 L161.95,155.044 L160.381,155.044 L160.381,155.044 L158.816,155.044 L158.816,155.044 L155.677,156.015 L155.677,156.015 L154.112,156.989 L154.112,156.989 L152.541,156.989 L152.541,156.989 L147.838,158.935 L147.838,158.935 L144.7,159.905 L144.7,159.905 L143.133,160.88 L143.133,160.88 L141.565,160.88 L141.565,160.88 L141.565,161.852 L141.565,161.852 L139.997,161.852 L139.997,161.852 L139.997,162.824 L139.997,162.824 L138.429,162.824 L138.429,162.824 L135.291,163.797 L135.291,163.797 L129.021,164.77 L129.021,164.77 L125.88,165.743 L125.88,165.743 L118.043,168.665 L118.043,168.665 L114.908,169.635 L114.908,169.635 L111.772,169.635 L111.772,169.635 L110.203,169.635 L110.203,169.635 L108.632,169.635 L108.632,169.635 L107.07,169.635 L107.07,169.635 L105.501,169.635 L105.501,169.635 L103.93,169.635 L103.93,169.635 L102.363,169.635 L102.363,169.635 L97.658,168.665 L97.658,168.665 L96.09,168.665 L96.09,168.665 L94.521,167.689 L94.521,167.689 L92.954,165.743 L92.954,165.743 L91.385,165.743 L91.385,165.743 L89.817,164.77 L89.817,164.77 L88.249,163.797 L88.249,163.797 L86.681,162.824 L86.681,162.824 L86.681,161.852 L86.681,161.852 L86.681,160.88 L86.681,160.88 L86.681,159.905 L86.681,159.905 L88.249,159.905 L88.249,159.905 L89.817,159.905 L89.817,159.905 L91.385,159.905 L91.385,159.905 L92.954,159.905 L92.954,159.905 L94.521,159.905 L94.521,159.905 L96.09,159.905 L96.09,159.905 L97.658,159.905 L97.658,159.905 L97.658,158.935 L97.658,158.935 L99.226,157.963 L99.226,157.963 L97.658,157.963 L97.658,157.963 L96.09,157.963 L96.09,157.963 L94.521,157.963 L94.521,157.963 L92.954,157.963 L92.954,157.963 L91.385,157.963 L91.385,157.963 L89.817,157.963 L89.817,157.963 L86.681,156.989 L86.681,156.989 L85.113,156.015 L85.113,156.015 L83.545,153.097 L83.545,153.097 z"},{"id":"shape:shape:0e3b8c63-121b-765e-2973-38be57b5339f","type":"path","transform":"","fillColor":"#ffcbaa","lineColor":"none","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M234,97.7423 C233,97.7423 232,97.7423 231,97.7423 C230,97.7423 229,97.7423 228,97.7423 C226,97.7423 225,96.8391 224,96.8391 C220,96.8391 219,96.8391 218,96.8391 C215,96.8391 212,96.8391 209,96.8391 C205,96.8391 200,96.8391 193,96.8391 C189,96.8391 183,96.8391 179,96.8391 C174,96.8391 171,96.8391 166,96.8391 C162,96.8391 157,96.8391 152,96.8391 C147,96.8391 142,96.8391 141,96.8391 C139,96.8391 138,96.8391 137,96.8391 C136,96.8391 133,97.7423 130,98.6457 C126,100.452 122,103.163 121,104.063 C119,105.872 117,107.679 115,109.484 C113,110.387 112,110.387 111,110.387 C110,111.292 108,113.097 108,113.999 C106,115.806 104,116.71 104,117.613 C103,119.42 103,120.322 102,120.322 C102,122.129 101,122.129 101,123.934 C101,125.742 101,126.645 101,127.549 C101,128.452 101,129.355 101,131.162 C101,132.969 101,133.872 102,135.678 C102,136.58 102,137.484 103,138.387 C104,139.291 104,140.192 104,141.098 C105,141.098 106,141.098 107,141.098 C110,141.098 112,141.098 115,142 C119,142 124,142 125,142 C128,142 133,142 138,142 C146,142 153,139.291 159,136.58 C162,134.773 165,132.066 174,128.452 C183,123.934 194,120.322 201,117.613 C211,115.806 220,113.999 228,113.999 C229,113.999 233,113.999 238,113.999 C242,113.999 245,113.999 248,113.999 C252,113.999 255,113.999 258,113.999 C260,113.097 262,111.292 265,110.387 C265,107.679 265,105.872 265,104.968 C265,104.063 265,103.163 265,102.257 C265,101.356 264,101.356 263,101.356 C263,100.452 262,100.452 261,100.452 C261,99.5481 260,99.5481 259,99.5481 C259,99.5481 259,99.5481 257,98.6457 z"},{"id":"shape:shape:666e4fc0-fc00-ec77-8744-5e93c19e7cdf","type":"path","transform":"","fillColor":"#2b0000","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M126,138 L126,138 L126,137 L126,137 L126,136 L126,136 L126,135 L126,135 L126,133 L126,133 L126,132 L126,132 L126,130 L126,130 L126,128 L126,128 L127,127 L127,127 L127,126 L127,126 L128,125 L128,125 L129,124 L129,124 L130,124 L130,124 L131,124 L131,124 L132,124 L132,124 L132,125 L132,125 L133,125 L133,125 L133,126 L133,126 L133,127 L133,127 L133,128 L133,128 L134,128 L134,128 L135,129 L135,129 L135,130 L135,130 L136,130 L136,130 L136,131 L136,131 L137,131 L137,131 L138,131 L138,131 L139,131 L139,131 L140,131 L140,131 L142,131 L142,131 L144,131 L144,131 L146,131 L146,131 L148,131 L148,131 L150,131 L150,131 L153,131 L153,131 L154,131 L154,131 L157,131 L157,131 L158,130 L158,130 L159,130 L159,130 L160,130 L160,130 L160,129 L160,129 L159,130 L159,130 L158,130 L158,130 L157,130 L157,130 L156,131 L156,131 L154,131 L154,131 L152,132 L152,132 L151,133 L151,133 L150,133 L150,133 L149,133 L149,133 L147,133 L147,133 L146,133 L146,133 L143,134 L143,134 L140,134 L140,134 L138,135 L138,135 L135,135 L135,135 L134,135 L134,135 L133,135 L133,135 L131,135 L131,135 L129,135 L129,135 L125,136 L125,136 L125,137 L125,137 L125,138 L125,138 L124,138 L124,138 z"},{"id":"shape:shape:9dea1525-39ba-800c-feaa-6aacf78ba0af","type":"path","transform":"","fillColor":"#ffe0aa","lineColor":"none","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M194,176 L194,177 L194,183 L193,184 L192,191 L191,193 L191,194 L189,197 L186,199 L184,201 L181,202 L177,202 L172,203 L167,205 L159,207 L152,210 L149,213 L143,216 L137,218 L129,220 L121,222 L115,224 L108,226 L103,228 L100,229 L98,230 L96,231 L96,232 L94,232 L94,233 L94,234 L95,235 L95,236 L96,238 L98,241 L100,242 L106,243 L114,246 L120,246 L129,247 L141,248 L153,248 L168,248 L181,245 L191,240 L202,232 L213,227 L223,220 L232,212 L239,201 L242,192 L242,183 L242,176 L241,172 L241,169 L239,165 L238,162 L237,160 L236,158 L232,156 L226,154 L222,154 L217,154 L213,154 L210,154 L206,154 L204,154 L202,155 L200,155 L199,155 L197,156 L196,157 L195,158 L195,159 L194,159 L191,159 L190,159 L189,159 L188,159 L187,159 L185,159 L184,159 L183,159 L182,159 L181,159 L178,159 L175,159 L174,159 L172,159 L170,159 L170,160 L173,161 L178,164 L179,164 L180,165 L184,166 L186,167 L189,168 L190,168 L190,170 L192,172 L193,173 L192,174 z"},{"id":"shape:shape:f51775c4-7dc5-3e1a-b9a1-a891a4861643","type":"path","transform":"","fillColor":"#2b0000","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M199,135 L199,135 L203,130 L203,130 L220,124 L220,124 L238,120 L238,120 L256,118 L256,118 L277,117 L277,117 L291,115 L291,115 L296,114 L296,114 L309,112 L309,112 L324,109 L324,109 L349,105 L349,105 L366,105 L366,105 L384,102 L384,102 L388,102 L388,102 L397,100 L397,100 L398,100 L398,100 L399,99 L399,99 L398,99 L398,99 L397,101 L397,101 L389,105 L389,105 L378,109 L378,109 L376,110 L376,110 L375,110 L375,110 L365,113 L365,113 L360,113 L360,113 L351,116 L351,116 L346,116 L346,116 L341,117 L341,117 L332,117 L332,117 L318,118 L318,118 L309,119 L309,119 L300,120 L300,120 L291,121 L291,121 L284,122 L284,122 L274,122 L274,122 L268,122 L268,122 L263,122 L263,122 L257,122 L257,122 L253,122 L253,122 L251,122 L251,122 L251,123 L251,123 L250,123 L250,123 L250,124 L250,124 L250,125 L250,125 L250,126 L250,126 L251,126 L251,126 L254,126 L254,126 L262,126 L262,126 L271,127 L271,127 L283,129 L283,129 L299,130 L299,130 L319,133 L319,133 L336,136 L336,136 L355,139 L355,139 L384,142 L384,142 L405,141 L405,141 L425,137 L425,137 L441,133 L441,133 L451,132 L451,132 L452,132 L452,132 L451,132 L451,132 L449,134 L449,134 L445,135 L445,135 L437,137 L437,137 L427,139 L427,139 L414,141 L414,141 L405,141 L405,141 L324,145 L324,145 L314,145 L314,145 L306,145 L306,145 L299,145 L299,145 L287,145 L287,145 L280,145 L280,145 L272,145 L272,145 L268,145 L268,145 L263,145 L263,145 L258,145 L258,145 L251,145 L251,145 L248,145 L248,145 L247,144 L247,144 L246,144 L246,144 L244,143 L244,143 L241,141 L241,141 L240,141 L240,141 L240,140 L240,140 L239,140 L239,140 L240,140 L240,140 L241,140 L241,140 L242,140 L242,140 L246,144 L246,144 L251,149 L251,149 L259,153 L259,153 L267,157 L267,157 L282,162 L282,162 L300,170 L300,170 L320,176 L320,176 L340,183 L340,183 L364,185 L364,185 L375,185 L375,185 L379,185 L379,185 L378,185 L378,185 L334,187 L334,187 L322,187 L322,187 L313,187 L313,187 L307,186 L307,186 L298,185 L298,185 L289,182 L289,182 L279,179 L279,179 L273,176 L273,176 L264,172 L264,172 L258,169 L258,169 L252,166 L252,166 L246,163 L246,163 L239,160 L239,160 L234,158 L234,158 L227,155 L227,155 L222,153 L222,153 L218,152 L218,152 L216,151 L216,151 L213,151 L213,151 L210,151 L210,151 L209,151 L209,151 L207,151 L207,151 L206,151 L206,151 L205,151 L205,151 L203,152 L203,152 z"},{"id":"shape:shape:f1696b26-8812-eadd-359d-0650d6b18f0d","type":"path","transform":"","fillColor":"#f8eaea","lineColor":"none","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M128,106 L127,107 L125,108 L123,109 L123,110 L123,111 L124,112 L125,112 L126,114 L132,116 L137,117 L141,118 L142,118 L143,118 L146,118 L148,118 L150,118 L151,118 L152,117 L153,116 L154,116 L154,115 L155,114 L154,114 L153,113 L151,111 L148,110 L147,109 L146,109 L144,108 L143,107 L141,106 L140,106 L140,105 L139,105 L138,105 z"},{"id":"shape:shape:489c8cdb-d7d2-4f04-a030-f6bdb3eda592","type":"path","transform":"","fillColor":"#f8eaea","lineColor":"none","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M217,168 L216,168 L215,168 L213,168 L212,168 L211,168 L210,168 L209,169 L207,170 L207,171 L207,172 L207,173 L207,174 L208,174 L208,175 L209,176 L210,176 L215,177 L216,178 L217,179 L218,181 L220,183 L221,185 L222,187 L222,188 L222,189 L222,190 L222,192 L222,193 L222,196 L222,197 L222,201 L222,202 L222,204 L221,206 L220,208 L218,210 L216,212 L213,214 L210,214 L206,215 L200,217 L197,217 L194,219 L193,219 L191,219 L190,219 L189,219 L189,217 L192,213 L199,210 L206,207 L211,204 L214,201 L214,199 L214,197 L214,195 L214,194 L213,193 z"},{"id":"shape:shape:6205d5d9-fb9f-d95d-3bdd-7dbc3944e91f","type":"path","transform":"","fillColor":"#f8eaea","lineColor":"none","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M202,132 L202,131 L203,130 L204,129 L206,128 L209,125 L212,124 L215,122 L220,121 L226,120 L232,118 L237,117 L241,116 L242,116 L245,116 L247,116 L250,116 L255,116 L257,116 L258,116 L260,116 L263,116 L264,116 L267,116 L270,116 L271,116 L272,116 L273,116 L274,116 L278,116 L279,116 L280,116 L282,116 L284,116 L289,116 L291,116 L294,116 L297,116 L299,116 L300,116 L300,115 L301,114 L301,113 L302,113 L304,112 L305,111 L306,111 L307,111 L308,111 L309,111 L310,111 L311,111 L312,111 L313,111 L314,111 L319,111 L321,111 L322,111 L323,111 L324,111 L325,110 L326,110 L326,109 L327,109 L328,109 L328,108 L327,109 L326,110 L324,111 L322,112 L321,113 L320,114 L318,115 L315,116 L313,117 L312,117 L311,117 L308,117 L306,117 L304,117 L302,117 L298,117 L294,117 L291,117 L287,118 L283,119 L279,120 L277,120 L275,120 L273,120 L271,121 L268,121 L266,121 L264,121 L262,121 L261,121 L258,121 L254,122 L251,122 L248,122 L245,122 L244,123 L240,124 L239,124 L238,124 L237,124 L235,125 L233,126 L232,126 L229,127 L228,128 L227,128 L225,128 L224,129 L223,129 L221,129 L220,130 L219,131 L218,131 L217,132 L216,132 L216,133 L214,133 L213,133 z"},{"id":"shape:shape:35ff325b-9bf7-ffb5-e0e4-5c05484a6b3e","type":"path","transform":"","fillColor":"#f8eaea","lineColor":"none","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M228,124 L230,124 L237,124 L242,124 L244,124 L248,124 L250,124 L252,124 L256,124 L258,124 L262,124 L264,124 L265,124 L266,124 L267,124 L268,124 L269,124 L270,124 L271,124 L272,124 L274,125 L275,125 L280,126 L283,127 L287,129 L289,129 L292,130 L295,131 L300,133 L306,135 L308,136 L310,138 L314,139 L315,139 L316,139 L317,139 L318,139 L320,139 L322,139 L323,139 L324,139 L325,139 L329,139 L329,140 L327,140 L327,141 L324,141 L323,141 L322,141 L320,141 L314,141 L312,141 L309,140 L307,140 L305,140 L303,140 L299,140 L297,140 L294,139 L293,139 L291,138 L286,138 L284,137 L279,137 L275,137 L272,136 L269,136 L266,136 L264,135 L260,135 L256,134 L253,134 L249,134 L246,134 L245,134 L243,133 L242,133 L240,133 L238,133 L236,132 L234,132 L232,131 L231,131 L230,131 L229,130 L228,130 L226,129 L223,129 L222,128 L220,128 L219,128 L218,128 L217,128 L216,128 L215,128 L214,129 L213,129 L212,129 L211,129 z"},{"id":"shape:shape:828be9cd-2111-93c3-30e7-6b2401f1643c","type":"path","transform":"","fillColor":"#d5552b","lineColor":"none","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M86,159 L85,159 L84,159 L84,158 L83,158 L83,157 L82,157 L82,156 L83,156 L84,156 L85,156 L87,156 L88,156 L89,156 L94,156 L97,158 L99,158 L101,158 L104,158 L108,158 L110,158 L111,158 L114,158 L115,158 L116,158 L115,158 L114,158 L113,158 L112,158 L110,158 L108,158 L106,158 L104,158 L102,158 L100,159 L98,159 L96,160 L95,161 L93,161 L92,161 L90,161 L89,161 L88,161 L87,161 L86,161 L87,161 L88,161 L92,161 L96,161 L102,161 L105,161 L110,162 L113,163 L115,163 L116,163 L117,163 L118,163 L119,163 L120,163 L119,164 L118,164 L115,165 L113,166 L110,167 L108,167 L106,168 L104,168 L102,168 L99,168 L97,168 L96,168 L95,168 L94,168 L93,168 L92,168 L91,168 L90,168 L88,168 L87,168 L86,168 L85,168 L84,168 L83,168 L82,168 z"},{"id":"shape:shape:0864464a-e756-56e7-8ed2-a7f6a1ed65ef","type":"path","transform":"rotate(40.7933, 82.855, 229.356)","fillColor":"#803100","lineColor":"none","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M90.144,216.74 L88.019,221.181 C86.529,219.874 84.673,219.097 82.662,219.097 C77.761,219.097 73.785,223.703 73.782,229.381 L71.409,229.404 L74.487,235.602 L77.566,241.791 L79.692,237.349 C81.18,238.657 83.036,239.434 85.049,239.434 C89.946,239.434 93.923,234.828 93.926,229.148 L96.301,229.127 L93.223,222.931 L90.144,216.74 z M85.174,223.784 C85.689,223.768 86.185,223.853 86.655,224.025 L84.153,229.232 L87.129,229.21 C87.062,232.212 85.053,234.666 82.534,234.747 C82.018,234.764 81.523,234.677 81.056,234.508 L83.556,229.3 L80.58,229.32 C80.646,226.319 82.657,223.865 85.174,223.784 z"},{"id":"shape:shape:1f109e99-e4bc-984e-c86f-609ccb3ba830","type":"path","transform":"","fillColor":"#e3e4e4","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M715,87 L714,87 z"},{"id":"shape:shape:da1367fc-1549-3372-fd3c-826bd04c2be2","type":"path","transform":"","fillColor":"none","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M27,375 L27,374 L41,364 L55,353 L59,346 L59,344 L59,345 L59,349 L58,354 L58,357 L59,356 L77,348 L83,342 L84,342 L84,343 L81,349 L75,356 L73,364 L73,371 L74,375"},{"id":"shape:shape:4ae4d650-e61e-601a-27e0-de77ce4baf35","type":"path","transform":"","fillColor":"none","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"MNaN,NaN LNaN,NaN LNaN,NaN LNaN,NaN LNaN,NaN LNaN,NaN LNaN,NaN LNaN,NaN LNaN,NaN LNaN,NaN LNaN,NaN LNaN,NaN LNaN,NaN LNaN,NaN LNaN,NaN LNaN,NaN LNaN,NaN LNaN,NaN LNaN,NaN LNaN,NaN LNaN,NaN LNaN,NaN LNaN,NaN LNaN,NaN                                                               "},{"id":"shape:shape:51d43970-ddb0-d82d-59b6-36745020ad64","type":"path","transform":"","fillColor":"none","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M141,364 C142,364 145,362 146,361 C145,361 144,361 144,360 C144,359 145,359 146,359 C149,361 151,362 152,362 C152,363 152,364 152,367 C150,371 149,375 149,376 C149,378 150,378 155,378 C161,375 162,373 161,371 C160,371 160,370 161,370 C164,369 172,369 174,369 C178,368 178,366 178,364 C175,362 171,362 167,364 C165,365 164,367 164,369 C164,371 165,373 166,374 C170,374 180,374 182,372 C184,368 187,366 190,363 C189,363 185,365 183,366 C182,367 182,371 184,373 C184,374 187,374 195,373 C198,368 201,364 202,363 C202,364 201,365 201,366 C201,367 200,368 200,369 C200,371 200,372 201,372 C202,372 206,372 210,370 C210,367 211,365 211,363 C211,362 211,363 210,367 C208,372 205,376 201,380 C197,384 193,386 190,387 C187,387 185,386 187,381 C192,379 203,379 216,378 C217,375 224,369 226,365 C227,364 229,363 228,363 C225,363 223,366 222,369 C222,370 222,371 224,371 C227,371 234,371 235,371 C236,371 236,370 237,369 C238,367 244,361 246,354 C245,348 243,345 242,346 C242,351 242,361 242,369 C242,374 242,376 243,377 C246,376 248,374 249,373 C251,372 251,371 252,371 C257,370 263,370 267,370 C268,368 268,364 264,360 C260,358 258,360 255,364 C268,368 272,367 271,367 C274,366 282,365 288,365 C289,364 290,364 291,364 C290,364 285,361 280,361 C277,363 275,365 275,369 C275,372 279,375 282,374 C288,370 288,366 288,364 C288,363 295,355 297,347 C297,344 297,343 297,344 C295,352 292,363 292,369 C292,370 296,371 308,371 C315,371 322,371 322,370"},{"id":"shape:shape:5c36b19f-d455-294b-8d4b-80b65790d2c4","type":"path","transform":"","fillColor":"none","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M348,360 L349,360 L364,358 L367,358 L368,359 L370,362 L370,365 L370,368 L370,371 L369,373 L368,373 L367,373 L367,372 L367,370 L370,367 L376,365 L380,364 L384,363 L387,362 L392,362 L394,362 L395,364 L395,367 L395,370 L394,373 L393,373 L392,373 L392,372 L392,368 L394,367 L398,365 L402,365 L404,365 L405,365 L406,366 L407,368 L408,371 L408,373 L408,375 L409,377 L412,378 L415,377 L420,373 L424,370 L426,369 L427,368 L427,369 L425,371 L425,373 L425,374 L426,374 L427,374 L429,374 L434,374 L435,372 L435,370 L435,368 L435,366 L433,364 L429,363 L428,364 L428,365 L429,365 L432,365 L436,365 L451,365 L453,366 L453,367 L453,368 L453,370 L453,371 L452,371 L451,371 L451,370 L451,367 L453,364 L461,364 L465,364 L466,364 L466,365 L466,367 L466,369 L466,370 L466,372 L466,373 L466,372 L466,370 L467,366 L469,365 L471,365 L473,364 L477,364 L481,364 L481,365 L481,366 L481,367 L481,370 L480,373 L478,373 L477,373 L478,373 L484,372 L486,370 L488,364 L492,358 L493,354 L493,351 L493,347 L493,346 L493,347 L493,350 L493,356 L493,362 L494,365 L494,367 L494,369 L494,372 L494,373 L495,373 L503,373 L506,373 L507,371 L507,370 L506,370 L505,370 L504,367 L503,366 L500,364 L500,363 L502,363 L501,363 L507,363 L516,363 L517,363 L519,363 L524,363 L526,363 L526,361 L525,360 L522,356 L519,356 L513,357 L510,360 L510,361 L510,364 L510,366 L510,368 L510,370 L512,371 L518,371 L522,369 L530,365 L542,365 L544,364 L545,364 L545,362 L545,361 L545,360 L543,359 L542,359 L540,359 L540,360 L540,361 L540,362 L541,362 L543,362 L548,364 L550,366 L550,367 L550,368 L550,369 L550,370 L551,371 L552,371 L555,371 L559,371 L562,371 L561,371 L558,369"},{"id":"shape:shape:569acc72-fe23-f020-0cd5-b2a2b631eb98","type":"path","transform":"","fillColor":"none","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M88.0542,359.605 L87.5398,359.605 L87.0255,363.286 L87.0255,366.962 L87.0255,368.803 L87.0255,369.714 L88.57,370.648 L90.1143,370.648 L92.1739,370.648 L94.2317,370.648 L95.2617,369.714 L96.2924,366.962 L96.8067,366.046 L97.325,363.286 L97.325,362.361 L97.325,361.438 L97.325,360.54 L97.8366,360.54 L96.8067,363.286 L92.6873,372.486 L89.0844,378.002 L85.9939,383.512 L83.9351,385.359 L81.3617,385.359 L79.3007,385.359 L76.7272,384.439 L76.2129,384.439 L76.7272,382.596 L81.8774,378.922 L88.0542,377.07 L90.1143,377.07 L95.778,378.002 L98.8639,378.002 L101.439,378.002 L101.956,378.002"},{"id":"shape:0d53abb2-690e-4b5f-ef63-618edd0c2748","type":"path","transform":"","fillColor":"none","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M487,352 L488,352 L508,349 L510,349 L511,348 L512,348 L512,347 L513,347"}]    
    94.6 +[{type:"doc", left:0, top:0, width:600, height:400, viewBox:"0 0 200 200"}, {"id":"shape:shape:shape:91147b3e-1c05-cbb7-660b-2827cd3832a5","type":"rect","transform":"","fillColor":"#0088ff","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"left":-6,"top":-5,"width":610,"height":408},{"id":"shape:shape:shape:e57e0836-a53d-3d33-63e0-2a5a182ff24b","type":"path","transform":"","fillColor":"#8b55aa","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M-20,180 L-19,180 L-15,180 L-1,180 L12,180 L25,180 L45,180 L67,180 L91,180 L112,180 L139,181 L160,186 L177,187 L196,190 L217,193 L234,193 L248,190 L249,190 L250,190 L251,190 L255,189 L256,189 L260,187 L261,184 L261,181 L262,180 L264,178 L270,176 L277,176 L280,176 L285,176 L294,176 L301,177 L314,179 L332,180 L363,181 L399,181 L436,181 L475,186 L505,186 L526,186 L530,185 L531,184 L534,184 L534,185 L537,190 L542,195 L543,195 L547,195 L553,196 L557,196 L565,196 L575,196 L578,196 L585,196 L592,196 L599,198 L606,200 L614,201 L617,202 L619,202 L621,202 L621,203 L620,203 L622,205 L625,207 L629,211 L631,220 L631,226 L631,227 L632,227 L632,228 L632,230 L635,242 L637,260 L642,289 L646,326 L647,349 L649,360 L652,371 L652,385 L650,405 L649,406 L650,404 L650,403 L640,411 L634,416 L625,419 L617,421 L604,421 L576,421 L549,419 L520,419 L489,421 L468,425 L444,427 L434,427 L433,427 L421,426 L389,424 L364,423 L340,422 L309,422 L275,422 L248,418 L205,410 L181,408 L158,408 L136,408 L117,408 L104,408 L103,408 L93,408 L88,407 L75,407 L63,407 L58,407 L59,405 L58,406 L53,407 L48,407 L37,407 L30,408 L20,408 L11,408 L8,408 L-8,405 L-9,405 L-12,404 L-23,403 L-22,403 z"},{"id":"shape:shape:fae831bd-f8a9-0aef-e05a-a2d43217ca6a","type":"path","transform":"","fillColor":"#ffa100","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M-10,229 L-8,228 L12,227 L30,227 L45,225 L64,223 L73,222 L94,222 L126,223 L148,225 L174,232 L197,237 L212,237 L235,237 L258,231 L284,227 L310,227 L328,227 L332,227 L332,228 L333,228 L337,227 L359,227 L382,227 L405,229 L425,229 L449,230 L479,232 L499,232 L514,232 L530,232 L546,232 L550,234 L554,238 L557,240 L561,242 L565,245 L569,247 L574,250 L585,255 L599,259 L614,259 L624,259 L627,259 L631,259 L632,259 L631,259 L630,259 L630,260 L617,277 L596,282 L565,282 L533,282 L502,282 L470,283 L425,288 L378,292 L336,292 L338,299 L338,298 L339,298 L320,297 L282,298 L249,298 L235,299 L205,300 L177,300 L136,292 L102,292 L79,292 L54,291 L31,290 L13,288 L5,287 L-5,284 L-10,283 L-14,282 L-17,279 L-19,277 L-22,274 L-23,273 L-23,272 L-23,268 L-22,262 L-22,258 L-25,253 L-25,249 L-24,244 L-24,240 L-25,236 L-25,234 L-25,232 L-26,230 L-27,229 L-27,228 z"},{"id":"shape:shape:f3546758-b60c-fe82-01ee-3a8789c98bd3","type":"path","transform":"","fillColor":"#805b55","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M515,258 L515,256 L515,243 L515,235 L515,225 L515,213 L515,208 L515,205 L515,204 L515,203 L515,202 L515,200 L516,199 L516,198 L517,198 L519,198 L522,198 L524,198 L526,198 L528,196 L530,196 L530,197 L530,200 L528,206 L528,210 L528,214 L528,218 L528,223 L528,229 L528,232 L528,237 L528,244 L528,251 L529,253 L530,255 L530,259 L530,260 L530,262 L529,264 L529,266 L528,267 L527,268 L527,269 L527,270 L526,271 L524,271 L521,271 L517,271 L514,271 L511,271 L510,271 L509,271 L508,271 L507,271 L506,271 L506,270 L506,267 L506,265 L506,264 L506,263 L508,260 L509,259 L510,258 L511,258 L511,257 L512,257 L513,256 L514,256 z"},{"id":"shape:shape:shape:750cd9c2-2bf9-19af-2e28-0a0dd65ff407","type":"path","transform":"","fillColor":"#d5c12b","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M-38,317 L-38,315 L-34,299 L-22,282 L-1,268 L31,258 L48,257 L83,260 L124,267 L158,273 L197,279 L198,279 L199,279 L200,279 L205,279 L213,277 L226,275 L236,272 L247,268 L270,266 L310,261 L349,257 L381,254 L422,247 L464,247 L487,249 L507,252 L504,253 L505,253 L509,253 L514,253 L548,256 L570,256 L587,255 L600,253 L627,253 L635,253 L645,253 L648,254 L648,255 L648,260 L648,264 L648,267 L648,272 L653,299 L661,357 L661,395 L661,401 L661,405 L662,406 L662,405 z"},{"id":"shape:shape:ee708dc4-b885-ac06-2b53-1b881ee0a547","type":"path","transform":"","fillColor":"#d5d0aa","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M563,254 L563,255 L551,255 L548,255 L542,257 L536,257 L531,257 L528,257 L526,257 L523,257 L522,257 L521,257 L520,257 L519,257 L517,258 L513,259 L511,259 L510,259 L508,260 L508,261 L508,262 L508,263 L509,266 L509,268 L507,270 L494,272 L486,272 L471,273 L447,282 L426,291 L410,296 L390,300 L371,300 L357,301 L352,301 L345,301 L341,302 L337,303 L329,305 L324,305 L319,305 L289,313 L284,315 L281,317 L279,319 L278,319 L276,319 L272,320 L269,321 L267,321 L265,321 L262,322 L261,322 L260,323 L259,323 L258,323 L256,323 L254,323 L253,324 L252,324 L249,325 L248,326 L247,328 L246,329 L246,330 L251,332 L256,332 L260,335 L265,339 L266,339 L269,339 L279,346 L280,346 L286,347 L298,351 L304,351 L308,352 L310,352 L313,352 L314,352 L318,349 L325,344 L326,339 L331,337 L335,336 L341,332 L346,327 L353,326 L357,325 L367,324 L372,324 L385,324 L396,324 L407,322 L418,319 L425,315 L437,311 L445,306 L453,300 L458,298 L468,296 L475,294 L481,294 L490,292 L495,290 L503,286 L510,282 L512,279 L516,275 L519,272 L520,271 L521,270 L521,268 L521,266 L521,265 L522,265 L523,264 L528,264 L529,264 L530,264 L532,264 L535,264 L536,264 L540,264 L543,262 L550,260 L552,260 L555,260 L556,260 L559,260 L560,260 L564,260 L569,260 L570,260 L571,260 L573,259 L574,258 L575,258 L576,256 L577,255 L577,254 L578,254"},{"id":"shape:shape:68dd586d-2a11-dfb6-8e61-67b873e5a1d8","type":"ellipse","transform":"","fillColor":"#ff3f00","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"width":36,"height":26,"left":496,"top":346},{"id":"shape:shape:6380c037-e4a1-3f94-f048-fe70e3bb6944","type":"rect","transform":"","fillColor":"#ffdf80","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"left":541,"top":211,"width":53,"height":45},{"id":"shape:shape:90565f78-8fcd-37e6-9ac6-f8e1e6fa7b9e","type":"path","transform":"","fillColor":"#d56a00","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M410,255 L411,254 L414,244 L414,238 L414,232 L416,223 L419,216 L420,213 L420,212 L420,211 L420,210 L420,209 L420,206 L420,201 L420,197 L420,193 L420,192 L420,189 L421,189 L422,188 L426,188 L434,188 L436,188 L437,188 L437,191 L437,197 L437,205 L436,215 L436,221 L436,229 L436,234 L435,238 L433,240 L429,245 L428,247 L427,250 L426,253 L424,257 L424,258 L424,259 L424,260 z"},{"id":"shape:shape:73b8e958-2710-1ac8-5598-903d9360adc1","type":"path","transform":"","fillColor":"#00d56c","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M421,201 L419,201 L410,196 L405,190 L404,188 L404,183 L400,176 L395,170 L395,168 L398,163 L399,159 L397,155 L395,149 L397,139 L401,135 L404,135 L404,134 L401,128 L410,118 L436,111 L444,110 L446,110 L447,111 L453,113 L460,117 L459,123 L451,131 L449,136 L449,137 L450,137 L454,137 L461,139 L464,140 L470,147 L474,155 L475,160 L475,162 L475,163 L479,168 L483,171 L481,176 L475,183 L475,184 L480,191 L481,194 L478,198 L473,202 L468,202 L467,203 L464,206 L459,210 L449,213 L441,213 L437,213 L436,213 L434,213 L433,213 L432,213 L429,213 z"},{"id":"shape:shape:8c790adb-bcd4-01ea-47ff-cb07c9e5e0a4","type":"rect","transform":"","fillColor":"#d51c00","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"left":564,"top":229,"width":10,"height":26},{"id":"shape:shape:shape:d3652ad8-f29b-7d6b-9163-9a4b9239fd5b","type":"path","transform":"","fillColor":"#58aa2b","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M-77,361 L-76,360 L-73,341 L-70,335 L-66,327 L-42,313 L-19,300 L11,293 L32,297 L61,298 L101,311 L137,316 L138,316 L140,311 L171,313 L224,318 L262,325 L302,339 L368,351 L451,365 L452,365 L453,364 L456,364 L467,365 L497,367 L554,375 L639,389 L654,389 L665,389 L679,389 L685,389 L693,391 L694,394 L696,398 L697,398 L699,404 L700,414 L700,416 L701,420 L701,424 L699,425 L698,426 L679,437 L646,435 L634,436 L622,434 L602,434 L574,434 L512,433 L510,433 L509,433 L501,431 L501,430 L466,426 L436,426 L374,426 L320,430 L292,433 L280,437 L263,431 L232,424 L203,417 L178,415 L155,415 L149,415 L147,415 L146,415 L121,415 L81,417 L64,416 L63,414 L29,411 L1,408 L-7.95779e-13,408 L-7.95779e-13,407 L-14,403 L-28,403 L-31,402 L-33,401 L-36,401 L-43,401 L-44,401 L-45,401 L-47,401 L-48,401 z"},{"id":"shape:shape:shape:8133762b-ac9d-62be-326c-d893874351a5","type":"path","transform":"","fillColor":"#007777","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M469,269 L469,267 L469,260 L470,254 L475,245 L483,239 L492,232 L500,227 L508,223 L514,220 L521,217 L528,214 L532,212 L535,209 L537,207 L538,206 L538,205 L538,206 L537,207 L537,208 L535,210 L533,213 L530,219 L528,223 L525,228 L524,231 L521,234 L519,238 L516,241 L514,244 L513,246 L510,249 L508,252 L504,256 L501,257 L499,259 L495,259 L492,260 L489,260 L488,260 L485,261 L482,261 L480,261 L479,261 L477,261 L476,261 L475,262 L474,263 L473,263 L473,264 L472,264 L472,265 L471,265 L471,266 L470,267 L470,268 z"},{"id":"shape:shape:shape:63eea63e-3cc4-cd46-b27f-8e2d276886ef","type":"path","transform":"","fillColor":"#007733","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M470,232 L469,232 L467,228 L465,226 L461,223 L459,220 L457,216 L455,213 L453,209 L450,204 L448,197 L446,193 L446,188 L445,183 L445,179 L445,176 L445,171 L445,168 L446,166 L446,164 L446,163 L446,161 L446,162 L446,165 L447,168 L448,171 L449,174 L452,180 L453,184 L454,188 L455,191 L458,195 L459,196 L462,200 L465,204 L467,206 L467,208 L468,210 L468,212 L468,213 L468,215 L468,216 L468,218 L468,219 L468,220 L468,221 L468,222 L468,224 L468,225 z"},{"id":"shape:shape:shape:73843aa5-9b8f-fbca-c680-1f6e4979bd73","type":"path","transform":"","fillColor":"#779900","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M454,313 L454,312 L455,305 L455,298 L453,290 L449,281 L449,279 L446,272 L442,266 L439,262 L437,259 L434,256 L431,253 L428,251 L426,249 L423,246 L421,242 L419,241 L418,240 L417,239 L416,238 L417,238 L417,240 L417,241 L417,244 L418,249 L421,256 L424,264 L426,270 L429,276 L434,281 L439,288 L443,292 L447,297 L449,300 L450,303 L450,307 L450,308 L450,309 L450,310 L450,311 L451,311 z"},{"id":"shape:shape:shape:75e96be1-f017-b17b-de17-c8a7caaa0cec","type":"path","transform":"","fillColor":"#558800","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M263,349 L263,348 L257,340 L253,336 L249,330 L241,325 L234,320 L229,316 L221,308 L208,294 L195,278 L192,273 L191,271 L191,270 L192,270 L193,271 L193,272 L193,275 L193,277 L193,279 L193,280 L195,286 L200,297 L206,308 L211,318 L217,328 L224,336 L228,340 L235,346 L242,350 L245,352 L251,355 L252,355 L255,357 L258,361 L260,362 L261,362 L262,362 L263,362 L265,364 L268,365 L270,367 L270,368 L270,369 L270,370 z"},{"id":"shape:shape:shape:3975e04e-2089-3701-f22b-ea0ce25fe2a4","type":"path","transform":"","fillColor":"#007733","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M272,404 L272,403 L273,394 L276,388 L279,380 L283,370 L291,359 L298,352 L318,340 L331,334 L335,331 L338,328 L338,326 L339,326 L339,325 L339,326 L338,327 L338,329 L338,331 L335,336 L333,340 L328,344 L323,350 L320,353 L315,356 L311,359 L308,362 L303,366 L299,369 L297,371 L294,375 L291,378 L289,379 L288,380 L287,382 L286,383 L284,385 L282,386 L281,387 L280,389 L280,390 z"},{"id":"shape:shape:shape:fce1ba5d-3ba8-f35e-4272-f7507f5217cd","type":"path","transform":"","fillColor":"#007733","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M355,249 L354,248 L350,245 L347,242 L341,237 L337,234 L334,230 L332,226 L327,221 L323,214 L319,210 L317,206 L314,202 L313,199 L310,195 L309,193 L308,192 L308,191 L307,191 L307,192 L306,196 L306,201 L306,207 L306,215 L308,223 L310,231 L314,241 L319,246 L322,250 L327,256 L330,261 L335,267 L337,269 L341,273 L344,276 L349,280 L351,283 L353,287 L355,289 L359,295 L362,298 L365,303 L367,306 L370,308 L371,309 L371,310 L375,312 L380,315 L383,317 L387,319 L388,319 L387,318 L386,315 L384,313 L383,311 L381,308 L381,306 L378,304 L375,298 L372,294 L371,289 L370,284 L368,280 L368,277 L368,274 L367,271 L365,267 L365,266 L364,264 L363,261 L362,260 L362,258 L362,257 L362,256 L361,256 L361,255 L360,255 L360,254 L360,253 z"},{"id":"shape:shape:shape:a58a92af-e5b7-17d2-3293-975ce462520a","type":"path","transform":"","fillColor":"#638000","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M379,278 L379,277 L382,269 L384,265 L387,262 L391,256 L392,255 L396,251 L402,247 L405,244 L409,240 L412,236 L413,233 L413,231 L414,229 L414,228 L414,227 L414,225 L414,224 L414,222 L414,220 L414,216 L414,213 L414,211 L414,210 L414,207 L414,204 L414,203 L414,202 L414,201 L414,200 L414,199 L414,198 L414,197 L414,196 L414,197 L412,199 L410,202 L407,206 L405,208 L402,213 L400,216 L398,219 L394,223 L390,228 L385,235 L381,240 L379,246 L376,251 L375,257 L374,259 L374,262 L374,264 L374,267 L374,268 L374,269 L375,269 L375,270 L375,271 z"},{"id":"shape:shape:shape:6780e686-414e-dc36-ce3d-8299018e40bb","type":"path","transform":"","fillColor":"#779900","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M404,320 L404,319 L406,298 L411,284 L418,263 L421,253 L432,238 L441,228 L442,226 L447,219 L450,216 L453,213 L453,212 L453,213 L453,216 L453,222 L453,228 L452,239 L448,255 L442,275 L437,288 L432,299 L428,308 L424,317 L421,324 L420,327 L417,331 L414,334 L411,338 L408,341 L407,342 L406,344 L404,347 L402,349 L402,350 L402,352 L401,353 L401,354 L400,354 z"},{"id":"shape:shape:shape:3ddf760a-e399-d24f-6cde-82581398197b","type":"path","transform":"","fillColor":"#00ff00","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M190,239 L191,239 L197,230 L202,225 L209,217 L217,211 L229,205 L238,198 L243,194 L247,192 L249,190 L252,187 L254,185 L254,184 L255,184 L255,186 L254,189 L253,192 L250,198 L247,205 L243,211 L239,215 L235,220 L231,224 L229,228 L225,231 L220,234 L216,236 L211,237 L206,238 L202,239 L200,240 L199,241 L196,242 L194,245 L192,246 L190,248 L188,249 L185,250 L184,252 L182,254 z"},{"id":"shape:shape:shape:d2ef12f0-377e-be99-e94f-2ccd03cafa5a","type":"path","transform":"","fillColor":"#00ff00","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M178,305 L177,303 L176,289 L175,269 L166,232 L164,212 L163,189 L162,181 L162,178 L163,178 L164,178 L165,184 L167,192 L173,205 L179,221 L184,233 L186,244 L189,258 L191,265 L192,272 L192,281 L192,286 L192,291 L189,297 L189,302 L188,306 L188,309 L187,311 L187,314 L187,317 L185,322 L184,324 L183,327 L182,330 L182,331 L182,333 L182,334 L181,333 z"},{"id":"shape:shape:shape:418a5cf3-f82b-8c11-1416-c92d05728d4c","type":"path","transform":"","fillColor":"#99ffff","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M119,25 L116,24 L111,24 L106,23 L101,23 L98,23 L96,23 L95,23 L94,23 L92,23 L88,23 L86,23 L85,23 L84,24 L83,24 L82,25 L79,26 L77,27 L76,28 L75,28 L74,29 L73,30 L72,30 L70,32 L69,34 L67,36 L66,37 L66,38 L65,40 L65,41 L65,42 L65,43 L66,44 L66,45 L67,45 L68,46 L68,47 L70,47 L71,48 L75,49 L77,49 L81,50 L84,52 L87,53 L92,53 L95,53 L96,53 L97,53 L97,54 L97,55 L96,55 L96,57 L96,58 L96,60 L96,62 L96,63 L97,63 L98,65 L101,67 L103,68 L106,68 L108,69 L113,70 L119,71 L127,72 L136,72 L144,72 L153,73 L160,73 L169,73 L176,73 L185,73 L192,73 L198,72 L201,71 L202,70 L205,68 L206,67 L206,66 L206,65 L206,64 L205,64 L204,62 L203,61 L201,60 L199,59 L198,58 L195,56 L192,56 L193,56 L195,56 L198,56 L202,56 L204,56 L209,56 L215,56 L220,56 L223,56 L227,56 L232,57 L236,57 L238,57 L240,57 L242,57 L244,56 L245,56 L247,55 L248,54 L249,53 L250,53 L250,52 L250,51 L250,50 L250,49 L249,48 L248,47 L246,46 L244,45 L242,42 L240,40 L240,39 L241,39 L244,39 L249,39 L254,39 L257,39 L259,39 L260,39 L261,38 L262,37 L264,36 L265,34 L266,34 L266,33 L266,32 L265,32 L263,30 L261,28 L258,27 L256,27 L254,26 L251,26 L250,25 L245,24 L243,24 L240,23 L237,23 L234,23 L230,23 L225,23 L221,23 L217,23 L214,23 L211,23 L208,23 L206,23 L202,23 L200,23 L197,23 L196,23 L192,23 L189,23 L187,23 L186,23 L185,23 L185,22 L186,21 L187,21 L187,20 L186,20 L183,20 L179,19 L174,19 L166,19 L161,19 L156,19 L153,19 L150,19 L147,19 L146,19 L144,19 L143,19 L141,19 L139,19 L137,19 L133,19 L132,19 L131,19 L129,19 L128,19 L127,19 z"},{"id":"shape:shape:shape:3a52f9a9-1a90-cd6e-adaf-f059f87a7f59","type":"path","transform":"","fillColor":"#99ffff","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M432,115 L430,114 L416,111 L407,109 L399,106 L395,104 L388,101 L384,99 L380,97 L376,94 L372,92 L371,90 L370,88 L370,86 L371,82 L375,79 L381,76 L389,74 L397,73 L403,73 L408,73 L410,73 L412,74 L414,74 L413,74 L412,74 L412,73 L411,72 L411,71 L413,70 L422,68 L429,67 L434,67 L441,67 L447,67 L453,67 L460,67 L465,68 L468,69 L474,71 L477,72 L478,72 L478,73 L479,73 L482,72 L486,70 L493,68 L501,67 L510,67 L523,67 L539,69 L544,69 L547,69 L550,70 L554,72 L558,73 L559,74 L559,75 L558,76 L556,77 L554,79 L554,82 L553,82 L552,82 L553,82 L559,82 L565,82 L570,83 L576,85 L583,88 L592,92 L605,97 L610,99 L611,100 L611,101 L611,102 L611,103 L611,104 L611,105 L611,107 L610,109 L609,111 L608,111 L607,112 L605,112 L605,113 L604,113 L603,114 L602,114 L601,114 L600,114 L597,115 L595,115 L592,115 L591,115 L587,115 L582,115 L577,115 L575,115 L574,115 L572,115 L570,115 L568,115 L565,115 L562,115 L558,115 L555,115 L551,115 L546,115 L541,115 L534,115 L528,115 L524,115 L520,115 L516,115 L512,115 L509,115 L505,115 L503,115 L501,115 L498,115 L495,115 L491,115 L490,115 L488,115 L486,115 L484,116 L481,116 L479,116 L478,116 L477,116 L475,116 L474,116 L473,116 L472,116 L460,117 L458,117 L457,117 L456,117 L455,117 L454,117 L453,118 L452,118 L451,119 L451,118 L451,117 z"},{"id":"shape:shape:shape:032bb231-be40-505e-8a55-50ac0aaf51fe","type":"path","transform":"","fillColor":"#00ffaa","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M62,139 L61,139 L57,138 L50,135 L42,133 L37,130 L30,126 L28,125 L28,124 L34,124 L40,124 L52,124 L64,124 L72,124 L78,124 L80,124 L81,124 L82,124 L85,122 L95,122 L109,122 L124,123 L135,124 L147,125 L157,126 L158,127 L159,127 L160,128 L172,132 L175,133 L176,133 L176,134 L176,135 L174,137 L171,138 L167,138 L163,138 L160,137 L159,137 L158,137 L157,137 L153,137 L147,137 L141,137 L138,136 L132,136 L129,136 L126,136 L121,135 L119,134 L118,134 L116,134 L114,134 L114,135 L116,137 L117,138 L117,139 L117,140 L115,141 L111,141 L105,141 L102,141 L98,141 L95,141 L92,141 L90,141 L88,141 L86,140 L84,140 L81,140 L82,140 L82,141 L82,142 L82,143 L80,143 L77,143 L74,143 L73,143 L71,143 L70,143 L67,143 L66,143 L63,143 L61,143 L56,143 L54,143 L52,143 L50,143 L49,143 L49,141 L50,141 L51,140 L52,140 L53,140 L54,140 L54,139 L55,139 z"},{"id":"shape:shape:shape:6dc9b7d4-a027-4f8e-b427-00f05485a938","type":"path","transform":"","fillColor":"#00ff00","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M201,166 L200,167 L198,170 L196,172 L193,176 L191,179 L190,180 L187,185 L183,190 L183,195 L182,198 L182,202 L182,206 L182,208 L182,211 L182,214 L182,218 L182,222 L182,228 L182,233 L182,238 L182,242 L183,246 L183,253 L184,263 L185,275 L185,285 L185,295 L185,307 L185,315 L184,324 L184,331 L184,340 L183,348 L180,357 L178,362 L178,365 L176,368 L174,372 L173,373 L170,377 L167,381 L166,383 L166,384 L165,384 L165,385 L163,387 L162,389 L161,389 L161,390 L160,390 L159,391 L157,391 L154,393 L151,395 L150,397 L148,401 L148,402 L147,402 L146,402 L147,402 L148,402 L153,403 L154,403 L156,403 L162,405 L163,404 L166,398 L173,392 L178,386 L183,382 L186,379 L189,372 L192,366 L193,359 L193,354 L195,345 L195,337 L195,332 L195,326 L195,319 L195,311 L195,303 L195,297 L195,290 L195,286 L195,280 L195,275 L195,268 L196,261 L196,256 L196,250 L196,244 L196,237 L196,233 L195,228 L195,226 L195,223 L195,222 L194,217 L194,213 L195,198 L195,193 L195,192 L195,189 L196,185 L197,185 L198,183 L200,181 L201,180 L205,178 L211,174 L212,173 L213,173 z"},{"id":"shape:shape:2716ec87-7614-e90f-59e7-73fab586ac34","type":"path","transform":"","fillColor":"#00ff41","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M513,205 L512,205 L505,205 L501,204 L499,201 L496,198 L496,194 L496,190 L492,186 L483,180 L479,177 L477,173 L477,167 L479,164 L480,162 L478,159 L472,153 L469,148 L471,140 L479,133 L485,130 L490,129 L492,127 L497,124 L509,121 L516,120 L517,120 L518,120 L530,120 L536,118 L537,118 L540,122 L542,125 L544,126 L548,129 L552,133 L552,135 L552,136 L550,136 L550,137 L553,143 L559,153 L560,160 L554,169 L550,176 L550,180 L553,185 L554,186 L554,189 L553,193 L552,196 L551,197 L550,200 L547,201 L544,204 L541,204 L539,204 L534,204 L532,204 L531,204 L528,204 L526,204 L525,204 L524,204 L524,205 L523,206 L523,209 L523,210 L523,211 L523,212 L522,212 z"},{"id":"shape:shape:shape:16f3accc-875e-9780-4866-f167a8e5d4b6","type":"path","transform":"","fillColor":"#88ff00","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M265,307 L264,307 L260,317 L258,323 L258,327 L259,330 L259,332 L259,335 L259,338 L259,341 L259,347 L261,354 L263,361 L263,365 L264,373 L264,378 L264,380 L264,384 L264,388 L264,391 L264,394 L264,398 L264,403 L264,406 L264,407 L262,410 L262,411 L263,411 L264,411 L265,411 L266,411 L268,411 L269,411 L272,411 L273,411 L274,411 L275,411 L276,410 L276,409 L276,408 L276,407 L276,405 L276,403 L276,399 L276,394 L276,388 L274,382 L274,372 L274,363 L273,355 L273,349 L272,344 L272,338 L272,332 L272,325 L272,320 L272,315 L272,311 L272,308 L272,306 L272,305 z"},{"id":"shape:shape:shape:2845b71e-6e0e-65fe-e036-221f21b8e053","type":"path","transform":"","fillColor":"#007733","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M260,325 L260,324 L251,315 L250,312 L250,310 L251,307 L253,304 L253,301 L253,299 L253,298 L253,297 L255,297 L257,297 L260,298 L263,298 L267,298 L270,298 L273,299 L276,300 L278,300 L279,300 L280,300 L281,300 L282,300 L282,301 L282,304 L282,309 L282,314 L281,316 L279,321 L277,323 L273,324 L271,325 L270,325 L269,325 L269,326 L270,325 L271,324 z"},{"id":"shape:shape:shape:d2ebeb98-2f86-55aa-e139-4b515d1af9f6","type":"path","transform":"","fillColor":"#55b055","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M375,174 L375,175 L370,181 L368,188 L366,193 L365,196 L365,198 L365,201 L365,202 L365,206 L364,210 L364,214 L364,218 L364,221 L364,224 L364,228 L364,232 L364,237 L364,240 L364,246 L364,252 L364,258 L364,265 L365,271 L366,277 L368,281 L369,287 L372,295 L376,304 L377,311 L383,322 L388,332 L393,343 L398,356 L402,367 L405,378 L407,388 L408,394 L408,397 L408,398 L408,401 L408,403 L408,404 L408,405 L408,406 L409,406 L411,406 L414,406 L417,406 L418,406 L418,405 L418,404 L418,403 L418,402 L418,401 L418,398 L418,394 L418,388 L418,383 L417,379 L415,376 L413,372 L411,368 L408,363 L407,359 L406,354 L405,349 L403,344 L402,340 L401,336 L398,332 L397,327 L396,324 L395,320 L394,316 L391,312 L388,308 L385,304 L382,300 L380,296 L379,294 L379,292 L379,290 L379,287 L379,282 L379,277 L379,275 L379,270 L379,263 L379,258 L379,251 L379,245 L379,235 L379,227 L379,220 L379,213 L379,207 L379,200 L379,195 L379,191 L379,190 L379,188 L379,184 L379,183 L381,180 L382,176 L383,174 L384,173 z"},{"id":"shape:shape:shape:f513e5d2-dcf1-5acd-8490-c4a28094a46b","type":"path","transform":"","fillColor":"#007755","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M502,135 L502,136 L500,141 L497,144 L494,149 L492,152 L491,155 L489,157 L487,159 L485,164 L483,167 L482,169 L481,175 L480,177 L478,181 L477,185 L475,190 L473,194 L473,200 L472,205 L471,210 L470,213 L469,216 L469,221 L469,224 L468,229 L468,233 L468,240 L467,249 L466,257 L463,266 L461,276 L459,285 L459,291 L457,297 L454,300 L452,306 L452,310 L450,314 L450,321 L450,326 L449,332 L449,339 L449,344 L448,351 L447,355 L447,361 L447,365 L447,370 L447,374 L447,377 L447,382 L447,386 L447,392 L447,396 L447,399 L447,403 L447,406 L447,407 L448,407 L449,407 L452,407 L453,407 L454,407 L454,406 L455,400 L456,394 L457,389 L457,383 L457,379 L457,374 L457,367 L458,358 L458,352 L458,346 L458,340 L458,336 L458,333 L458,329 L459,324 L459,319 L459,315 L459,313 L460,308 L461,303 L461,300 L462,298 L464,294 L465,290 L466,287 L468,285 L469,282 L470,278 L470,276 L471,272 L472,268 L472,264 L473,260 L473,256 L473,253 L473,250 L473,247 L473,243 L475,237 L476,235 L476,234 L476,229 L477,225 L477,222 L477,220 L478,218 L479,213 L479,212 L480,211 L481,209 L482,207 L485,202 L488,198 L488,197 L491,192 L491,188 L492,182 L493,176 L493,167 L494,162 L495,158 L495,157 L496,156 L497,155 L497,154 L500,152 L502,150 L504,148 L508,144 L511,141 L513,137 L514,134 z"},{"id":"shape:shape:shape:421a548c-4039-f6c2-6d84-5c3d24997338","type":"path","transform":"","fillColor":"#2b2b38","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M363,202 L363,201 L356,193 L354,190 L354,187 L354,186 L354,185 L356,183 L357,180 L358,180 L359,180 L363,180 L368,179 L371,179 L375,179 L379,179 L382,179 L383,179 L385,179 L386,179 L387,179 L388,179 L388,180 L388,181 L388,185 L388,191 L388,194 L385,198 L383,201 L382,201 L381,201 L380,201 L379,201 L378,201 L378,202 L377,202 z"},{"id":"shape:shape:shape:8e0cc6f9-b175-0364-1679-015ce9ffd6f0","type":"path","transform":"","fillColor":"#007733","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M185,191 L185,190 L185,188 L185,186 L185,184 L185,181 L185,177 L185,173 L186,171 L187,169 L188,167 L189,167 L190,166 L192,166 L193,166 L196,166 L200,166 L202,167 L204,167 L206,168 L207,168 L208,170 L208,171 L208,172 L209,174 L209,175 L210,176 L211,176 L212,176 L212,179 L212,180 L209,182 L205,185 L201,188 L201,189 L199,190 L198,192 L197,192 L197,193 L196,193 L196,194 L195,194 z"},{"id":"shape:shape:shape:9e90f710-4d06-35ed-1b88-8e3715c271cd","type":"path","transform":"","fillColor":"#2b2b63","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M494,168 L495,167 L503,161 L507,159 L510,157 L513,155 L516,152 L518,150 L518,148 L518,147 L518,146 L518,145 L518,144 L517,144 L516,143 L514,141 L513,140 L512,140 L510,139 L509,137 L507,137 L506,136 L503,136 L501,135 L499,134 L497,134 L495,134 L493,134 L492,134 L490,134 L489,134 L488,134 L487,135 L486,135 L486,136 L486,137 L486,138 L486,140 L485,142 L485,144 L485,147 L485,150 L485,152 L485,153 L485,155 L485,156 L485,157 L485,158 L485,159 L485,160 z"},{"id":"shape:shape:shape:febf2333-e2e3-cff4-ce3a-871c285b269a","type":"path","transform":"","fillColor":"#ff0088","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M368,144 L368,143 L369,141 L369,140 L370,137 L373,135 L376,132 L380,130 L382,129 L384,128 L390,128 L396,128 L401,128 L406,128 L407,128 L408,129 L408,130 L409,132 L410,134 L412,137 L412,138 L412,140 L412,141 L412,144 L411,146 L411,147 L410,149 L407,152 L406,154 L404,155 L403,155 L402,156 L401,156 L400,156 L399,157 L398,157 L399,157 L400,158 L403,160 L407,162 L409,164 L412,166 L413,167 L415,169 L417,171 L419,174 L420,177 L420,178 L420,181 L420,183 L420,185 L420,188 L419,191 L416,194 L415,195 L414,195 L409,195 L405,195 L402,195 L397,195 L395,195 L392,194 L390,192 L388,190 L386,188 L384,185 L383,184 L381,183 L380,182 L379,183 L378,185 L376,186 L372,189 L367,190 L363,192 L359,192 L355,192 L351,192 L348,192 L345,192 L344,190 L341,188 L339,186 L337,183 L336,181 L335,179 L335,176 L336,173 L339,170 L340,169 L342,168 L343,168 L347,167 L348,167 L349,167 L349,166 L348,165 L346,163 L345,162 L344,160 L343,157 L341,155 L340,153 L340,152 L340,150 L340,148 L340,147 L341,145 L343,143 L347,140 L350,139 L352,138 L353,138 L354,138 L355,138 L357,138 L360,138 L362,138 L363,138 L364,138 L365,138 L365,139 z"},{"id":"shape:shape:shape:a12e564a-a5e7-7a0a-1da5-9845f72bd815","type":"path","transform":"","fillColor":"#ff0088","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M191,148 L190,147 L189,146 L188,144 L186,142 L186,139 L186,137 L186,135 L186,132 L187,130 L187,129 L188,127 L189,126 L191,124 L191,122 L192,121 L194,120 L194,119 L196,119 L198,118 L202,118 L206,118 L208,118 L209,118 L210,119 L212,119 L213,119 L214,121 L217,123 L219,124 L221,126 L222,128 L222,129 L223,131 L224,132 L224,135 L224,136 L224,138 L224,139 L224,140 L225,139 L226,138 L230,137 L234,136 L237,135 L240,135 L244,135 L247,135 L251,135 L254,136 L256,136 L256,137 L257,137 L258,139 L259,140 L250,162 L248,162 L245,164 L243,165 L242,165 L241,165 L240,166 L239,166 L238,166 L237,166 L234,166 L232,166 L231,166 L231,167 L235,170 L239,176 L240,177 L240,180 L240,183 L240,186 L239,188 L238,190 L236,191 L234,192 L231,193 L228,195 L225,195 L221,196 L219,196 L217,196 L215,196 L212,196 L211,195 L209,193 L207,190 L204,187 L202,182 L202,179 L202,176 L202,174 L202,173 L202,172 L201,172 L199,173 L196,173 L193,174 L189,174 L186,174 L181,174 L177,174 L174,174 L173,174 L171,172 L170,171 L170,169 L169,167 L168,164 L168,161 L168,158 L168,157 L168,154 L169,152 L170,151 L171,150 L172,149 L173,149 L174,149 L175,149 L175,148 L176,148 L177,148 L178,148 L179,148 L180,148 L181,148 L182,148 z"},{"id":"shape:shape:270d9c6b-d39e-e1cd-da62-ea7758a18df8","type":"path","transform":"","fillColor":"#ff7f00","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M83,261 L84,259 L89,249 L89,241 L89,236 L90,230 L90,228 L90,224 L90,222 L91,222 L92,222 L95,222 L97,222 L99,222 L100,222 L100,227 L100,234 L98,239 L97,245 L97,250 L96,256 L96,260 L96,263 L96,264 L96,265 L96,266 L96,267 L96,269 L96,270 L96,272 L96,273 L94,273 L92,273 L91,273 L89,273 L85,272 L82,271 L81,271 L80,271 L79,271 L78,270 z"},{"id":"shape:shape:shape:19904bde-9979-6e01-425c-98374f071bd0","type":"path","transform":"","fillColor":"#ff0088","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M502,110 L502,109 L502,107 L502,105 L505,103 L506,101 L507,99 L508,97 L509,96 L510,95 L514,92 L515,92 L517,91 L518,91 L520,91 L522,91 L523,91 L524,92 L524,93 L525,94 L527,98 L529,100 L529,103 L530,106 L530,108 L530,109 L530,111 L530,112 L530,114 L530,116 L530,118 L529,120 L529,122 L528,124 L527,124 L526,125 L527,125 L528,125 L531,126 L533,127 L537,129 L540,132 L542,134 L543,135 L544,137 L546,139 L547,140 L547,142 L547,143 L547,146 L547,148 L547,150 L546,152 L544,155 L544,156 L543,157 L541,158 L540,159 L538,159 L536,160 L533,161 L531,161 L529,161 L527,161 L526,161 L525,161 L522,160 L521,158 L520,156 L518,155 L516,154 L515,152 L513,151 L512,149 L510,147 L509,145 L508,145 L508,143 L507,143 L507,142 L507,141 L506,141 L505,141 L505,142 L503,143 L501,143 L500,144 L498,144 L475,134 L474,133 L471,130 L470,128 L470,127 L469,126 L468,126 L468,125 L468,124 L468,123 L468,122 L469,122 L470,122 L470,121 L471,121 L473,121 L474,121 L475,121 L476,121 L477,121 L479,121 L480,121 L481,121 L481,120 L481,119 L480,117 L480,116 L480,115 L480,114 L479,112 L478,110 L478,108 L478,107 L478,105 L479,103 L479,102 L480,100 L481,99 L482,99 L484,99 L486,99 L487,99 L488,99 L489,99 L490,99 L491,101 L493,102 L495,103 L496,105 L497,105 L497,106 L498,106 L498,107 L499,107 L500,108 z"},{"id":"shape:shape:shape:feecc37c-bc7d-8658-e33d-f08c8c2c9803","type":"ellipse","transform":"","fillColor":"#ff8800","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"width":28,"height":21,"left":197,"top":147},{"id":"shape:shape:shape:c4981b97-de52-ce73-6b7d-61fdcf00d11a","type":"ellipse","transform":"","fillColor":"#ffff00","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"width":30,"height":21,"left":362,"top":155},{"id":"shape:shape:shape:83969ca0-2c09-58f9-7114-fa2e1a08d8a8","type":"ellipse","transform":"","fillColor":"#fdfdfd","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"width":21,"height":16,"left":498,"top":118},{"id":"shape:shape:shape:48522b54-e1c1-25f5-fe6a-f0cd24c8e224","type":"path","transform":"","fillColor":"#00ff88","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M88,402 L88,400 L88,360 L98,320 L122,286 L139,272 L139,271 L141,267 L145,258 L152,247 L155,241 L155,238 L155,239 L155,251 L155,269 L152,285 L144,298 L134,312 L122,331 L112,350 L108,366 L106,382 L104,397 L103,404 L103,405 L103,407 L103,409 L103,410 L103,409 z"},{"id":"shape:shape:shape:45f9eb62-0c9d-cd10-c237-03453bb64ca4","type":"path","transform":"","fillColor":"#007733","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M32,404 L32,403 L33,385 L35,353 L54,313 L81,278 L94,261 L95,258 L95,259 L92,268 L89,277 L78,294 L70,308 L65,317 L60,327 L59,334 L53,344 L47,353 L44,362 L41,373 L41,382 L41,393 L41,396 L41,397 z"},{"id":"shape:shape:shape:6f87efb1-9f03-246f-4d1a-36a7cf8c023b","type":"path","transform":"","fillColor":"#ff0000","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M261,278 L261,277 L261,269 L261,262 L262,259 L266,255 L268,253 L271,250 L274,249 L276,248 L279,248 L281,248 L283,248 L287,249 L288,249 L291,251 L291,253 L294,256 L294,259 L294,261 L294,263 L294,266 L293,269 L292,271 L291,273 L290,274 L290,275 L291,275 L296,275 L300,275 L303,275 L303,276 L305,277 L307,278 L310,281 L311,283 L313,286 L313,287 L313,289 L313,290 L313,292 L312,294 L310,295 L309,296 L307,297 L304,298 L302,299 L299,299 L298,299 L296,299 L295,299 L294,299 L292,298 L291,298 L292,298 L293,298 L294,299 L296,300 L297,302 L298,304 L298,307 L298,310 L298,313 L297,316 L295,318 L293,318 L289,318 L285,318 L279,318 L276,318 L272,317 L265,317 L263,316 L261,315 L260,313 L258,312 L257,310 L256,308 L255,307 L255,305 L255,304 L255,303 L255,302 L255,301 L253,301 L252,301 L246,301 L242,298 L240,297 L238,295 L236,293 L234,291 L232,288 L231,285 L230,282 L230,280 L231,278 L234,274 L236,272 L238,270 L240,269 L242,267 L246,266 L247,266 L248,266 L249,266 L250,266 L251,266 L252,267 L253,268 L253,269 L255,270 L256,272 L256,273 L256,274 L257,274 L258,274 L258,275 L259,276 L260,276 L259,275 z"},{"id":"shape:shape:shape:7a19be64-8422-cf7f-a436-5f95b1baddb2","type":"path","transform":"","fillColor":"#007733","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M45,401 L45,400 L40,381 L30,353 L20,327 L11,304 L4,291 L-8,265 L-19,251 L-22,248 L-27,244 L-28,242 L-28,243 L-23,253 L-16,264 L-15,273 L-11,288 L-5,303 L-2,315 L5,333 L11,348 L16,364 L20,378 L23,389 L24,396 L25,401 L25,404 L25,408 L26,412 L26,413 z"},{"id":"shape:shape:shape:a201b0c6-b5ae-0597-0f00-9976e3cd7215","type":"ellipse","transform":"","fillColor":"#ff00ff","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"width":22,"height":18,"left":264,"top":280},{"id":"shape:shape:0f4ec5b2-50bd-3d10-8212-94bbdef8afd9","type":"path","transform":"","fillColor":"#d59f00","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M51,255 L51,254 L51,248 L52,242 L52,237 L52,231 L52,226 L52,223 L52,219 L52,215 L52,211 L52,210 L55,210 L59,210 L63,210 L64,210 L64,212 L64,214 L64,218 L64,223 L64,230 L64,239 L65,250 L65,254 L63,259 L62,261 L61,262 L60,263 L59,264 L59,266 L59,267 L59,268 L59,269 L60,270 L61,270 L60,270 L58,270 L53,268 L50,268 L47,268 L46,268 L45,266 L45,265 L47,264 L48,263 L49,263 z"},{"id":"shape:shape:96b51290-fe46-9f59-aea4-51528f9a8d0e","type":"path","transform":"","fillColor":"#3eff00","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M53,220 L52,220 L47,220 L41,215 L37,209 L35,203 L35,202 L33,197 L30,185 L36,178 L37,177 L37,174 L39,169 L51,163 L53,162 L54,160 L66,155 L70,157 L74,160 L81,167 L88,171 L88,180 L90,187 L93,194 L93,200 L93,205 L93,209 L92,214 L87,215 L82,215 L82,216 L84,219 L85,224 L84,227 L81,229 L76,229 L72,229 L71,229 L67,229 L65,229 L63,229 L62,229 L60,227 L60,226 z"},{"id":"shape:shape:1fd57d2b-7798-a7f1-b6c2-b69735c9c9d0","type":"path","transform":"","fillColor":"#82d500","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M92,236 L91,236 L87,237 L81,233 L78,229 L82,225 L82,224 L80,218 L78,213 L77,207 L79,205 L79,203 L81,196 L85,193 L85,192 L85,186 L99,176 L103,174 L103,175 L111,178 L118,183 L118,184 L119,186 L124,191 L120,199 L119,202 L119,209 L120,215 L120,220 L116,224 L116,230 L115,236 L113,238 L110,239 L108,241 L107,241 L105,241 L103,241 L101,241 L100,241 L99,241 L98,241 z"},{"id":"shape:shape:f431d7d6-9985-5582-dffc-ed9dcd4c56a4","type":"path","transform":"","fillColor":"#fdfdfd","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M259,96 L260,96 L266,96 L267,96 L270,96 L271,97 L275,100 L276,100 L277,100 L277,101 L278,103 L278,104 L279,104 L287,103 L293,103 L295,103 L296,103 L297,103 L298,104 L297,104 L293,104 L289,104 L287,104 L284,104 L282,104 L281,105 L280,106 L280,107 L279,107 L277,108 L277,109 L276,109 L275,109 L274,108 L272,106 L271,105 L269,103 L268,102 L267,101 L266,101 L266,100 L265,100 L263,98 L261,97 L260,97 L260,96 L259,96 L258,96 z"},{"id":"shape:shape:c45652bf-d6ea-8716-5beb-afd5fbb43b13","type":"path","transform":"","fillColor":"#fdfdfd","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M229,103 L230,103 L232,103 L233,103 L233,104 L234,105 L234,106 L234,107 L235,107 L237,107 L242,108 L245,108 L245,109 L244,109 L242,109 L240,110 L239,110 L237,110 L235,110 L233,110 L232,110 L232,111 L231,111 L231,110 L230,107 L228,106 L228,105 L227,105 L227,104 L226,104 L225,103 L224,103 L223,103 L222,102 L222,101 z"},{"id":"shape:shape:25a4ac37-72c3-1363-e2aa-2745593a7cd9","type":"path","transform":"","fillColor":"#ffbf00","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M298,354 L297,354 L297,346 L297,341 L297,336 L298,332 L301,327 L304,324 L306,324 L310,324 L313,324 L314,324 L316,324 L317,324 L319,324 L321,326 L321,328 L322,330 L326,332 L327,333 L329,333 L330,334 L331,334 L331,335 L331,336 L330,339 L326,343 L321,345 L316,346 L313,347 L308,347 L304,347 L302,348 L301,349 L301,350 L300,351 L300,352 L299,352 L298,352 z"},{"id":"shape:shape:f9f338c3-aa8a-f600-3b4b-96357c34c962","type":"path","transform":"","fillColor":"#dcff00","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M324,330 L325,330 L328,330 L330,326 L331,323 L331,320 L331,318 L331,316 L331,314 L331,313 L331,312 L330,311 L330,309 L329,308 L329,307 L330,307 L331,307 L331,309 L331,311 L331,313 L332,313 L334,315 L334,316 L335,316 L336,316 L339,314 L342,312 L343,309 L343,307 L344,305 L345,305 L345,306 L343,308 L340,310 L337,311 L336,314 L335,316 L335,320 L335,322 L335,325 L335,328 L335,331 L335,332 L335,333 L335,334 L334,334 L333,334 L333,335 L332,336 L331,336 L330,336 L329,337 L328,337 z"},{"id":"shape:shape:2d0abc9d-40b7-7aeb-0010-4637d9c89472","type":"ellipse","transform":"","fillColor":"#ff2200","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"width":13,"height":16,"left":487,"top":352},{"id":"shape:shape:124496fa-ded0-d119-5dd6-9c51072adf5b","type":"ellipse","transform":"","fillColor":"#292929","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"width":6,"height":6,"left":505,"top":351},{"id":"shape:shape:afb3d0d1-d909-6441-a122-7df8e9f2a0e0","type":"ellipse","transform":"","fillColor":"#292929","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"width":6,"height":7,"left":520,"top":354},{"id":"shape:shape:bf7a199b-4202-0869-4224-d09519c1a0d2","type":"ellipse","transform":"","fillColor":"#292929","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"width":6.67886,"height":5.56588,"left":508.66057,"top":361.78906},{"id":"shape:shape:f649be50-dd8d-3985-2acb-742f4ce3bf94","type":"ellipse","transform":"","fillColor":"#292929","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"width":5,"height":3.92408,"left":491,"top":357.07596},{"id":"shape:shape:1034154b-9e64-ad45-fe4b-7727e90fe5b5","type":"path","transform":"","fillColor":"none","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M496,352 L497,350 L501,342 L502,341"},{"id":"shape:shape:304ac0d7-fb95-769f-1ddb-6871b8ab3698","type":"path","transform":"","fillColor":"none","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M490,355 L489,354 L484,347"},{"id":"shape:shape:7cdbbfd9-ba8a-7fac-1a50-cf70f079acf8","type":"path","transform":"","fillColor":"none","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M314,335 L314,336 L313,337 L313,339 L312,340 L311,340 L310,340 L309,340 L309,338 L309,337 L309,336 L309,334 L309,333 L310,332 L312,331 L314,331 L315,331 L317,331 L318,331 L318,332 L318,333 L318,336 L318,338 L318,339 L318,340 L318,342 L316,343 L315,343 L313,344 L312,344 L310,344 L307,344 L306,344 L305,344 L303,342 L302,339 L301,336 L301,334 L302,332 L302,330 L303,328 L305,328 L308,328 L309,328 L311,328 L313,328 L315,328 L318,328 L319,328 L320,328 L321,328 L322,328 L322,329 L322,331"},{"id":"shape:shape:4cf36ca4-0060-5e4b-edcc-21709db59fab","type":"path","transform":"translate(0)","fillColor":"#aa3c2b","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M534,215 L574,177 L608,220 L534,215 L534,215"},{"id":"shape:shape:47576b94-d5b2-325e-4774-58f45291e892","type":"rect","transform":"","fillColor":"#aa2a00","lineColor":"#000000","fillOpac":1,"lineOpac":1,"lineWidth":1,"left":546,"top":221,"width":10,"height":12}]
    95.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    95.2 +++ b/onlypaths/oye.txt	Sun Jan 31 12:33:33 2010 -0500
    95.3 @@ -0,0 +1,1 @@
    95.4 +[{"type":"doc","left":0,"top":0,"width":160,"height":160,"viewBox":"0 0 160 160","bgcolor":"#111122","title":"","link":"","meta":""},{"id":"shape:ab1d9da6-df50-e719-85d8-3132c41995a6","type":"roundrect","transform":"","fillColor":"#d4848b","filter":null,"lineColor":"#0000ff","fillOpac":null,"lineOpac":null,"lineWidth":null,"rx":18,"ry":18,"left":3.77578,"top":1.58459,"width":152.086,"height":156.346},{"id":"shape:01e577af-c9c5-d4f3-e964-797a631e9738","type":"roundrect","transform":"","fillColor":"#00f3dc","filter":null,"lineColor":"#dcff00","fillOpac":null,"lineOpac":null,"lineWidth":3,"rx":18,"ry":18,"left":8.46476,"top":6.99467,"width":142.101,"height":146.081},{"id":"shape:048cd47a-0f84-2b2a-53a5-f17f6b6cfaed","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M34.4828,17.5172 L33.6552,17.5172 L29.931,18.7586 L25.3793,24.9655 L24.5517,29.931 L24.9655,33.2414 L29.1034,35.3103 L34.8966,36.5517 L37.3793,36.5517 L37.7931,36.1379 L38.2069,36.1379 L38.2069,35.7241 L38.6207,35.3103 L39.4483,33.6552 L39.8621,31.5862 L39.8621,28.2759 L39.8621,24.9655 L39.4483,23.7241 L39.0345,22.8966 L38.6207,21.2414 L38.2069,20.4138 L37.7931,20 L37.3793,19.5862 L36.9655,19.5862 L36.9655,19.1724 L36.5517,19.1724 L36.1379,19.1724 L35.7241,18.7586 L35.3103,18.3448 L34.8966,17.931 L34.069,17.5172 L33.2414,17.5172 L32.8276,17.5172 L32.4138,17.5172 L32.4138,17.1034 L32,17.1034 L31.5862,17.1034"},{"id":"shape:60ae1ab4-0eeb-da30-2d79-9f2d504e2508","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M41.1034,27.8621 L41.1034,28.2759 L41.1034,28.6897 L41.1034,29.1034 L41.1034,29.5172 L41.1034,29.931 L41.1034,30.3448 L41.1034,30.7586 L41.5172,31.1724 L41.5172,31.5862 L41.931,31.5862 L42.7586,31.5862 L43.5862,31.5862 L44,31.5862 L44.4138,31.5862 L44.8276,31.1724 L45.6552,29.931 L46.069,28.6897 L46.069,28.2759 L46.069,27.0345 L46.069,27.4483 L46.069,29.5172 L46.069,32.4138 L46.069,35.7241 L46.069,39.0345 L45.6552,39.4483 L44.8276,39.4483 L43.1724,39.0345 L41.931,37.3793 L41.1034,36.5517 L40.6897,35.3103 L41.931,34.8966 L44,34.069 L46.069,34.069 L48.5517,33.2414 L49.3793,32.8276 L49.3793,32.4138 L48.9655,31.5862 L48.1379,30.7586 L48.5517,30.7586 L50.2069,30.7586 L53.1034,30.7586 L55.1724,30.7586 L56.4138,29.931 L56.4138,29.5172 L55.5862,28.6897 L54.7586,28.2759 L53.5172,27.8621 L52.2759,27.4483 L51.8621,27.4483 L51.4483,27.4483 L51.0345,27.8621 L50.6207,28.6897 L50.2069,29.5172 L49.7931,30.3448 L49.7931,31.1724 L49.7931,31.5862 L50.2069,32 L51.0345,32.4138 L52.2759,32.8276 L54.7586,33.2414 L56,33.2414 L57.2414,33.2414 L57.6552,33.2414 L57.6552,32.8276"},{"id":"shape:b902d3ee-e720-ea2b-e7b5-bbe4ee8a1c5a","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M62.2069,32 L62.2069,32.4138 L61.7931,33.6552 L61.7931,34.4828 L61.7931,35.3103"},{"id":"shape:92801257-f3f0-4330-8e23-054af5622308","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M32,45.6552 L32,46.069 L31.1724,49.3793 L30.3448,53.931 L29.931,57.2414 L29.5172,59.3103 L29.5172,60.5517 L29.1034,60.5517 L28.6897,60.5517"},{"id":"shape:ae6d2f90-80a2-0cc7-0c5c-bd9e3fe4d3b9","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M31.5862,45.6552 L32,46.069 L32.4138,47.7241 L32.8276,49.3793 L32.8276,50.6207 L33.2414,50.2069 L33.2414,49.7931 L33.6552,49.7931 L34.069,48.9655 L35.7241,47.3103 L36.1379,46.4828 L36.1379,46.069 L36.9655,45.2414 L37.3793,44.8276 L37.3793,44.4138 L37.7931,44.4138 L37.7931,45.2414 L37.7931,47.7241 L38.6207,51.0345 L38.6207,53.931 L38.6207,56.4138 L38.6207,58.069 L39.0345,58.8966 L39.4483,58.8966 L39.8621,59.3103 L40.6897,59.7241 L41.1034,59.7241 L41.931,59.7241 L42.7586,59.7241 L43.1724,59.3103 L43.1724,58.8966"},{"id":"shape:1d48cf48-ce8a-afdd-6294-66028973643f","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M43.1724,54.7586 L44,54.7586 L45.6552,54.7586 L47.3103,54.7586 L48.5517,54.7586 L49.3793,54.3448 L49.7931,53.931 L48.9655,53.5172 L47.7241,52.6897 L46.069,52.6897 L45.2414,52.2759 L44.4138,52.2759 L43.5862,52.6897 L43.5862,53.5172 L43.5862,55.5862 L44,57.2414 L44,57.6552 L45.2414,58.069 L46.4828,58.069 L47.7241,58.069 L49.3793,58.069 L50.2069,58.069 L50.2069,57.6552 L50.6207,56.8276"},{"id":"shape:bb928351-acad-8c4a-9d8a-537d109ce220","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M64.6897,52.2759 L63.8621,52.2759 L62.6207,52.2759 L61.7931,52.2759 L61.3793,52.6897 L61.3793,53.931 L61.7931,55.1724 L62.6207,56.4138 L63.8621,56.8276 L63.8621,57.2414 L64.2759,56.4138 L64.2759,55.5862 L64.6897,53.931 L64.6897,53.5172 L64.2759,52.2759 L64.2759,52.6897 L64.2759,53.5172 L64.6897,55.5862 L65.5172,56.4138 L65.931,56.8276 L66.7586,56.8276 L69.6552,56.8276 L72.1379,56 L73.3793,54.3448 L75.0345,52.6897 L76.6897,50.2069 L76.6897,49.3793 L76.6897,48.5517 L75.8621,46.8966 L75.8621,45.6552 L75.0345,44.8276 L74.2069,44 L73.7931,44 L73.3793,44 L73.3793,44.4138 L73.3793,45.6552 L73.3793,48.1379 L73.3793,50.6207 L73.3793,52.2759 L73.3793,54.3448 L73.3793,55.1724 L73.3793,56.4138 L73.3793,57.2414 L73.3793,58.069 L73.7931,58.069 L74.6207,58.069 L75.8621,57.6552 L77.931,57.2414 L78.7586,56.4138 L79.5862,55.5862 L79.5862,55.1724 L80,55.1724 L81.6552,55.1724 L84.1379,54.7586 L84.5517,53.931 L84.9655,53.5172 L84.9655,53.1034 L84.5517,52.2759 L82.4828,51.8621 L81.6552,51.8621 L80.4138,52.2759 L79.5862,52.2759 L79.1724,53.1034 L79.1724,53.931 L79.1724,54.7586 L79.1724,55.5862 L79.1724,56.8276 L79.5862,56.8276 L80.8276,57.2414 L83.3103,57.2414 L84.5517,57.2414 L85.3793,57.2414 L85.3793,56.8276 L84.9655,56.4138"},{"id":"shape:256214ee-6f63-e6da-156e-aab92c106062","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M90.7586,52.2759 L90.3448,52.2759 L89.5172,52.2759 L88.6897,52.2759 L87.8621,52.2759 L87.4483,52.6897 L86.6207,53.1034 L85.7931,54.3448 L85.7931,54.7586 L85.7931,56 L85.7931,56.4138 L86.6207,56.8276 L87.4483,57.2414 L87.8621,57.2414 L89.931,56.8276 L90.7586,55.1724 L90.7586,53.931 L90.7586,53.5172 L91.1724,52.6897 L91.1724,52.2759 L91.1724,51.8621 L91.1724,52.2759 L91.1724,53.5172 L91.1724,56 L91.1724,58.4828 L91.1724,60.1379 L91.1724,62.6207 L91.1724,63.8621 L90.7586,64.6897 L90.3448,65.1034 L89.931,65.1034 L89.5172,65.1034 L88.2759,64.2759 L87.4483,63.4483 L87.0345,62.6207 L87.0345,60.9655 L87.4483,59.3103 L89.1034,58.069 L91.5862,56.4138 L93.6552,55.1724 L94.8966,54.3448 L96.1379,53.1034 L96.5517,52.6897 L96.5517,51.8621 L96.9655,51.4483 L96.5517,51.4483 L95.7241,51.8621 L95.7241,52.2759 L95.7241,52.6897 L95.7241,53.5172 L96.1379,53.5172 L98.2069,53.5172 L99.0345,53.5172 L99.4483,53.5172 L99.4483,53.931 L99.4483,55.1724 L99.4483,55.5862 L99.4483,56.4138 L99.4483,57.2414 L99.4483,57.6552 L99.8621,57.6552 L100.69,57.6552 L101.931,57.2414 L102.759,56.4138 L103.586,54.7586 L103.586,53.1034 L104,52.6897 L104,53.1034 L103.586,53.931 L103.586,55.5862 L104,56.4138 L105.241,56.4138 L107.724,56.4138 L108.966,56.4138 L109.379,54.7586 L109.379,53.1034 L108.552,51.0345 L108.138,51.0345 L107.31,51.0345 L106.069,51.0345 L105.655,51.0345 L106.483,53.1034 L106.897,53.1034 L108.138,53.1034 L109.793,53.1034 L110.621,52.6897 L111.448,52.2759 L111.862,51.8621 L112.276,51.4483 L112.69,51.4483"},{"id":"shape:0b318bca-b49a-73c7-6811-7f6ecccc3586","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M129.241,51.0345 L129.241,51.4483 L128,51.4483 L127.586,51.8621 L126.759,52.2759 L125.931,52.2759 L125.931,52.6897 L125.931,53.5172 L125.931,54.3448 L125.931,55.1724 L125.931,55.5862 L126.345,55.5862 L127.172,56 L127.586,56 L128.414,55.5862 L128.828,55.5862 L129.655,54.7586 L130.069,53.931 L130.069,52.6897 L130.069,51.4483 L129.655,49.7931 L129.655,49.3793 L129.655,48.5517 L129.655,47.7241 L129.655,47.3103 L130.069,47.3103 L130.069,48.1379 L130.483,49.7931 L130.897,51.0345 L130.897,52.2759 L130.897,53.5172 L130.897,53.931 L130.897,54.7586 L130.897,55.1724 L130.897,55.5862 L131.31,55.5862 L131.724,55.5862 L132.552,56 L133.379,56 L134.207,56 L134.621,55.5862 L134.621,55.1724 L134.207,55.1724 L134.207,54.7586 L134.621,54.7586 L136.276,54.7586 L137.103,54.7586 L138.759,54.3448 L139.172,53.931 L139.172,53.5172 L139.172,53.1034 L139.172,52.2759 L139.172,51.8621 L138.759,51.4483 L138.345,50.6207 L137.931,50.6207 L137.517,50.6207 L137.103,50.6207 L136.276,50.6207 L135.862,51.0345 L134.621,51.8621 L134.207,52.2759 L134.207,52.6897 L134.207,53.5172 L134.207,54.3448 L134.207,55.5862 L134.207,56.4138 L134.621,56.4138 L135.034,56.4138 L135.862,56.4138 L136.69,56.8276 L137.517,56.8276 L138.345,56.8276 L138.759,56.8276 L139.172,56.8276 L139.172,56.4138 L139.172,56"},{"id":"shape:c75d607a-849b-6ccb-706c-a9fec1f141c3","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M28.6897,70.4828 L28.6897,70.8966 L29.1034,73.7931 L29.1034,76.6897 L29.5172,77.1034 L30.3448,77.1034 L31.5862,77.1034 L32,76.6897 L32.8276,75.0345 L32.8276,73.3793 L32.8276,72.1379 L33.2414,71.7241 L33.6552,71.7241 L35.3103,72.1379 L36.9655,72.1379 L39.4483,72.1379 L40.2759,72.1379 L41.1034,72.1379 L41.1034,71.7241 L41.1034,70.8966 L41.1034,70.4828 L41.1034,70.069 L40.2759,69.6552 L39.8621,69.6552 L39.0345,69.6552 L38.6207,70.069 L37.7931,71.3103 L37.7931,72.5517 L37.3793,73.3793 L37.3793,74.6207 L37.7931,75.0345 L39.8621,75.4483 L41.931,75.4483 L44.4138,75.0345 L44.8276,74.2069 L45.2414,72.5517 L45.2414,71.3103 L45.2414,70.4828 L45.2414,70.069 L45.2414,70.4828 L45.6552,70.4828 L47.7241,70.4828 L49.7931,70.4828 L49.7931,70.8966 L49.7931,71.3103 L49.7931,72.1379 L49.3793,74.2069 L49.3793,75.4483 L49.7931,75.4483 L50.2069,75.4483 L50.6207,75.4483 L51.0345,75.4483 L51.8621,74.6207 L52.6897,73.7931 L53.1034,73.3793 L53.931,72.1379 L54.3448,70.4828 L54.3448,68.8276 L54.3448,67.1724 L54.7586,65.1034 L54.7586,64.2759 L54.7586,64.6897 L54.7586,67.1724 L54.7586,70.4828 L54.7586,72.1379 L54.7586,74.2069 L54.7586,75.0345 L55.5862,75.0345 L57.2414,75.0345 L58.8966,75.0345 L61.7931,75.0345 L62.2069,74.2069 L61.7931,73.7931 L60.9655,72.5517 L60.9655,72.1379 L62.6207,72.1379 L64.6897,72.1379 L65.931,71.7241 L66.3448,70.8966 L65.1034,69.2414 L64.2759,68.8276 L63.0345,69.2414 L62.2069,71.3103 L62.2069,72.5517 L63.0345,74.6207 L63.4483,75.0345 L65.1034,75.8621 L66.3448,75.8621 L66.7586,75.8621 L67.1724,75.8621 L69.2414,75.8621 L69.2414,75.4483 L68.8276,74.6207"},{"id":"shape:27dcd203-837f-5a62-2266-cac6cf3ae24d","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M52.6897,67.5862 L53.1034,67.5862 L55.1724,67.5862 L56.4138,67.5862 L56.8276,67.5862 L57.2414,67.5862 L56.8276,67.5862"},{"id":"shape:33f13849-6a47-2ec4-69de-4924c46a01b4","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M87.8621,72.9655 L87.4483,72.9655 L86.2069,72.9655 L84.9655,73.3793 L83.7241,74.6207 L83.3103,75.4483 L83.7241,76.6897 L84.5517,77.5172 L84.5517,77.931 L85.7931,76.2759 L87.0345,75.8621 L88.2759,74.6207 L89.1034,73.3793 L89.5172,71.7241 L89.5172,70.069 L88.2759,69.2414 L87.8621,68.4138 L88.2759,68.8276 L89.5172,72.1379 L89.931,74.6207 L89.931,75.4483 L89.931,75.8621 L90.3448,76.6897 L90.7586,77.1034 L91.1724,77.1034 L91.5862,77.1034 L92,77.1034 L92.4138,77.1034 L92.8276,76.6897 L93.2414,75.8621 L93.6552,75.4483 L94.069,75.4483 L94.8966,75.4483 L96.1379,75.4483 L96.9655,75.4483 L98.2069,75.4483 L98.6207,74.6207 L99.0345,74.2069 L99.0345,73.3793 L97.7931,72.5517 L96.5517,72.1379 L96.1379,72.1379 L95.7241,72.1379 L95.3103,72.9655 L94.8966,73.3793 L94.8966,74.2069 L94.4828,74.6207 L94.4828,75.8621 L95.3103,76.2759 L95.7241,76.2759 L96.1379,76.2759 L96.9655,76.2759 L97.3793,76.2759 L97.7931,76.2759 L98.6207,76.6897 L99.4483,76.6897 L99.8621,76.6897 L100.69,76.6897 L101.931,76.6897 L102.345,76.6897 L102.759,76.6897 L102.759,76.2759 L102.759,75.0345"},{"id":"shape:b7b233e5-cc4e-a446-6797-bd7c81304794","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M27.8621,85.3793 L27.8621,85.7931 L27.8621,88.2759 L27.8621,91.1724 L27.8621,92.4138 L27.8621,92.8276"},{"id":"shape:5c6c6e75-80c0-6866-7b3f-2afae2503f10","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M27.4483,88.6897 L27.8621,88.6897 L28.6897,87.8621 L29.5172,87.0345 L31.1724,86.6207 L31.5862,86.2069 L32.4138,86.6207 L32.8276,88.2759 L32.8276,90.7586 L32.8276,91.5862 L33.2414,91.5862 L35.3103,91.5862 L36.9655,91.1724 L37.3793,89.931 L37.7931,89.1034 L37.7931,88.6897 L36.9655,88.2759 L36.9655,87.8621 L36.9655,88.2759 L36.9655,89.931 L37.3793,91.5862 L37.7931,92 L39.0345,92.4138 L41.1034,92.4138 L42.3448,92 L42.3448,90.3448 L42.3448,88.6897 L42.3448,87.8621 L42.3448,87.4483 L42.3448,87.8621 L42.3448,90.3448 L42.3448,91.5862 L43.1724,92 L45.2414,91.5862 L46.8966,89.5172 L46.8966,89.1034 L46.4828,88.6897 L50.2069,88.6897 L51.8621,88.6897 L52.2759,87.8621 L52.2759,87.0345 L52.2759,86.6207 L51.4483,86.2069 L51.0345,85.7931 L49.7931,85.7931 L48.9655,85.7931 L47.7241,85.7931 L47.3103,86.6207 L46.8966,87.4483 L46.8966,88.6897 L46.8966,89.931 L47.3103,91.1724 L48.1379,91.5862 L48.9655,92 L49.7931,92 L51.0345,92 L51.8621,92 L53.1034,91.5862 L54.3448,90.7586 L55.1724,89.931 L55.5862,88.6897 L55.5862,87.8621 L55.5862,87.4483 L55.5862,87.8621 L55.5862,88.6897 L55.5862,90.7586 L55.5862,91.1724 L56,91.1724 L56.4138,91.1724 L57.6552,91.1724 L58.4828,91.1724 L58.8966,89.5172 L58.8966,88.2759 L58.8966,87.4483 L58.8966,87.0345 L59.3103,87.0345 L59.7241,87.0345 L60.1379,87.0345 L61.3793,87.0345 L62.2069,87.0345 L62.6207,87.0345 L63.0345,87.0345 L63.4483,87.0345 L63.4483,87.4483 L63.4483,88.2759 L63.4483,89.931 L63.4483,91.1724 L64.2759,92 L65.5172,92 L67.1724,92 L67.5862,91.1724 L67.5862,90.3448 L67.5862,89.1034 L67.1724,87.8621 L66.3448,87.4483 L65.1034,86.6207 L64.2759,86.6207 L63.4483,86.6207 L63.4483,86.2069 L63.4483,87.4483 L63.4483,87.8621 L64.6897,88.2759 L67.1724,88.2759 L68.8276,88.2759 L70.8966,87.8621 L71.7241,87.4483 L71.7241,87.0345 L71.7241,86.2069"},{"id":"shape:b67d75ea-2598-59df-852f-8d8001a2eca8","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M85.7931,89.1034 L86.2069,89.931 L86.2069,94.8966 L86.2069,100.69 L86.2069,102.345 L85.7931,101.931 L84.9655,100.69"},{"id":"shape:dd0e1b45-4cb3-8d63-e647-395c65474fef","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M84.9655,89.1034 L85.3793,89.1034 L87.8621,88.2759 L89.1034,88.2759 L90.3448,88.6897 L90.7586,89.931 L90.7586,92 L89.931,92.8276 L88.6897,92.8276 L87.4483,92.8276 L86.6207,92.8276 L86.2069,92.8276"},{"id":"shape:fd37ef58-c15d-7c66-ca7a-872d89ba5f95","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M94.4828,89.931 L94.069,89.931 L93.6552,89.931 L93.6552,90.7586 L92.8276,92 L92.8276,93.2414 L92.8276,94.069 L93.2414,94.4828 L94.4828,94.4828 L95.3103,94.4828 L96.1379,94.4828 L96.5517,93.6552 L96.5517,92 L96.5517,91.5862 L95.7241,90.7586 L95.7241,90.3448 L94.8966,89.931 L94.4828,89.1034 L94.069,89.1034 L94.069,89.5172 L94.069,89.931 L94.069,90.3448 L94.4828,90.3448 L95.3103,90.3448 L96.9655,90.3448 L98.2069,90.3448 L99.0345,90.3448 L99.8621,90.3448 L99.8621,89.5172 L99.8621,88.6897 L99.4483,88.6897 L98.6207,87.8621 L98.2069,87.8621 L97.7931,87.8621 L97.7931,88.2759 L98.2069,89.1034 L99.0345,89.5172 L101.103,90.3448 L101.931,90.7586 L101.931,91.1724 L101.931,91.5862 L101.931,92.8276 L101.931,94.069 L101.931,94.8966 L102.759,95.7241 L103.172,95.7241 L103.586,95.7241 L104.828,95.7241 L105.241,95.7241 L105.241,94.4828"},{"id":"shape:711043f4-75ee-e388-2d7f-5884451df045","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M116,89.1034 L115.586,89.1034 L113.517,89.931 L112.276,91.5862 L114.345,94.069 L114.759,94.069 L115.586,94.069 L116,93.6552 L116.414,93.2414 L116.828,92.4138 L116.828,92 L116.828,91.1724 L116,89.931 L116,89.5172 L116.414,89.5172 L116.828,91.5862 L116.828,93.2414 L117.241,94.4828 L118.069,94.8966 L118.897,94.8966 L119.724,94.8966 L120.552,94.4828 L120.966,94.4828 L121.379,94.069 L121.793,93.6552 L121.379,93.6552 L121.379,93.2414"},{"id":"shape:d13f5e01-8441-db78-026f-b40581ab41ab","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M122.621,88.6897 L122.207,88.6897 L121.379,89.931 L120.552,90.7586 L120.552,91.5862 L120.552,92.4138 L120.552,92.8276 L121.379,93.6552 L123.034,93.6552 L124.69,94.4828 L125.931,94.4828 L126.345,94.4828 L127.172,93.6552 L127.172,92.8276 L127.172,92 L127.172,91.1724 L127.172,90.3448 L126.345,89.1034 L125.517,88.2759 L124.69,88.2759 L124.69,87.8621 L123.862,87.4483 L123.448,87.4483 L123.034,87.4483 L122.621,87.8621 L121.793,88.2759"},{"id":"shape:d69ee6ed-d775-fb17-a0d0-e2956449d0c0","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M126.759,90.7586 L126.759,92 L126.759,96.9655 L125.931,99.8621 L125.931,101.517 L125.931,102.759 L125.931,104.414 L125.931,105.655 L125.931,106.069 L125.931,106.483 L125.931,106.069 L125.517,105.241"},{"id":"shape:e0c4a3f8-6608-234a-8ddf-6058d762979c","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M123.862,100.69 L124.69,100.69 L126.759,100.69 L128,100.276 L128,99.8621"},{"id":"shape:5ee9d0d0-787b-af96-6c9b-623deba95b04","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M126.759,93.2414 L127.172,93.2414 L128.828,93.2414 L129.655,92.8276 L129.655,91.5862 L129.655,90.7586 L129.655,89.1034 L129.655,88.2759 L130.069,87.8621 L130.069,87.4483 L130.483,87.4483 L130.483,87.8621 L130.483,88.2759 L130.483,89.5172 L130.483,90.3448 L130.483,91.1724 L130.483,92 L130.483,92.4138 L130.897,92.4138 L131.724,92.4138 L132.552,92.4138 L133.793,92.4138 L134.621,91.1724 L135.034,89.931 L135.034,88.2759 L135.034,87.8621 L135.034,88.2759 L135.034,89.5172 L135.034,91.5862 L135.034,92.4138 L135.034,92.8276 L135.448,92.8276 L136.69,92.8276 L137.931,92.8276 L139.172,92.4138 L140,90.7586 L140.414,89.5172 L140.414,88.2759 L140.414,87.8621 L140.414,88.2759 L140.414,89.1034 L140.414,89.931 L140.414,90.7586 L140.414,91.5862 L140.414,92 L140.414,92.4138 L140.828,92.8276 L141.241,93.2414 L141.655,93.2414 L142.069,93.2414 L142.069,92.4138 L142.483,91.5862"},{"id":"shape:a72777d3-7da4-b732-fa2d-fece9aad70b0","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M141.655,83.7241 L142.483,82.8966 L143.724,81.6552 L143.724,80.8276"},{"id":"shape:11cf070b-038e-7a3e-1edb-308f39712ef5","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M72.5517,114.759 L75.4483,114.759 L80.4138,121.793 L75.0345,128.414 L63.8621,125.103 L58.4828,121.793 L61.7931,119.31 L75.0345,119.31 L77.931,119.724 L77.5172,119.724 L67.1724,117.655 L61.3793,116.414 L63.4483,117.241 L77.931,118.897 L78.7586,118.897 L73.7931,118.483 L74.2069,117.655 L82.8966,116.414 L87.0345,116.414 L87.0345,115.586 L87.8621,114.759 L88.2759,115.172 L85.3793,116 L82.4828,116 L81.6552,116 L82.069,116 L88.2759,116 L89.5172,116 L88.6897,116.414 L89.1034,116.414 L99.4483,116.414 L105.241,116.414 L96.5517,117.655 L84.9655,121.379 L66.3448,125.103 L56.8276,125.517 L51.4483,125.517 L48.1379,125.517 L47.7241,125.517 L48.1379,124.69 L58.4828,123.862 L75.0345,125.103 L87.0345,128 L88.6897,128 L90.7586,128"},{"id":"shape:1629f024-c7ec-ee06-39b5-36ac4ad1d1ca","type":"ellipse","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"width":7.65166,"height":8.01292,"left":115.69217,"top":111.40454},{"id":"shape:3d38d55b-525c-6834-de75-491e59dc75ba","type":"path","transform":"rotate(-99.0766, 136.51, 121.853)","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M126.398,116.368 C127.133,122.561 131.41,127.337 136.602,127.337 C141.427,127.337 145.482,123.209 146.623,117.649 C144.494,120.884 140.925,123.02 136.873,123.02 C132.307,123.02 128.357,120.304 126.398,116.368 z"},{"id":"shape:23cd9885-30a5-6365-44cc-30f6e342cad6","type":"ellipse","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"width":7.34276,"height":8.00534,"left":115.69162,"top":124.64433},{"id":"face:1629f024-c7ec-ee06-39b5-36ac4ad1d1ca","type":"ellipse","transform":"","fillColor":"#f8faf9","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"width":7.65166,"height":8.01292,"left":115.27817,"top":111.39753999999999},{"id":"shape:23cd9885-30a5-6365-44cc-30f6e342cad6","type":"ellipse","transform":"","fillColor":"#fefefe","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"width":7.34276,"height":8.00534,"left":115.69162,"top":124.64433},{"id":"shape:491b9a26-642c-c291-ee0b-e8ed20c263fc","type":"ellipse","transform":"","fillColor":"#007baa","filter":null,"lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"width":5.7931,"height":6.62068,"left":115.58645,"top":111.44866},{"id":"shape:3d38d55b-525c-6834-de75-491e59dc75ba","type":"path","transform":"rotate(-99.0766, 136.51, 121.853)","fillColor":"#f5f5f5","filter":null,"lineColor":"#ff3f00","fillOpac":null,"lineOpac":null,"lineWidth":3,"points":"M126.398,116.368 C127.133,122.561 131.41,127.337 136.602,127.337 C141.427,127.337 145.482,123.209 146.623,117.649 C144.494,120.884 140.925,123.02 136.873,123.02 C132.307,123.02 128.357,120.304 126.398,116.368 z"},{"id":"shape:b1e72a1c-89f2-1e18-e6c2-9182852ae66d","type":"ellipse","transform":"","fillColor":"#007baa","filter":null,"lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"width":5.7931,"height":6.62068,"left":116.00045,"top":124.68866},{"id":"shape:aedd3e29-0e01-8ab4-cf5d-e8a57f0fc9b0","type":"ellipse","transform":"","fillColor":"#232625","filter":null,"lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"width":3.72414,"height":3.72414,"left":116.41393,"top":112.68993},{"id":"shape:27551e24-f321-88ee-5c98-e7f65106c2f6","type":"ellipse","transform":"","fillColor":"#232625","filter":null,"lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"width":3.72414,"height":3.72414,"left":116.82793,"top":125.92893},{"id":"shape:da441732-f0e4-c7ea-c336-76a27b63e8e6","type":"ellipse","transform":"","fillColor":"#ffffd4","filter":null,"lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"width":1.24138,"height":1.24138,"left":116.82731,"top":112.68931},{"id":"shape:8bd41a83-0c46-1dca-4de7-7dd18d3c4a4e","type":"ellipse","transform":"","fillColor":"#ffffd4","filter":null,"lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"width":1.24138,"height":1.24138,"left":117.24131,"top":126.34331},{"id":"shape:2b4b7814-67d0-94ea-3163-a9bd12df5782","type":"path","transform":"rotate(-99.0766, 138.868, 121.868)","fillColor":"#292929","filter":null,"lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M131.777,118.023 C132.292,122.364 135.291,125.712 138.934,125.712 C142.318,125.712 145.163,122.815 145.96,118.923 C144.468,121.188 141.962,122.688 139.123,122.688 C135.917,122.688 133.15,120.79 131.777,118.023 z"},{"id":"shape:0298f344-5c78-f7d9-3e77-048b69f17c9c","type":"ellipse","transform":"","fillColor":"#ff2200","filter":null,"lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":3,"width":11.5862,"height":6.62068,"left":122.62089999999999,"top":118.48266000000001},{"id":"shape:2d6da671-516e-c3c9-5f0d-70522d242f28","type":"path","transform":"rotate(-82.482, 114.913, 114.339)","fillColor":"#151515","filter":null,"lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M111.852,116.116 L111.852,116.018 L111.949,115.819 L112.047,115.819 L112.447,115.523 L113.134,115.326 L113.531,115.326 L114.022,115.227 L114.714,115.227 L115.307,115.227 L115.9,115.227 L116.296,115.326 L116.393,115.326 L116.59,115.424 L116.791,115.523 L116.889,115.819 L117.087,116.018 L117.184,116.116 L117.184,116.313 L117.184,116.412 L117.283,116.412 L117.38,116.412 L117.481,116.313 L117.778,116.313 L118.074,116.214 L118.366,116.116 L118.766,116.018 L119.457,115.819 L119.753,115.819 L119.852,115.721 L120.047,115.721 L120.243,115.622 L120.347,115.622 L120.446,115.523 L120.544,115.523 L120.643,115.523 L120.544,115.523 L120.243,115.523 L119.949,115.523 L119.654,115.622 L119.356,115.622 L119.159,115.721 L118.865,115.721 L118.766,115.721 L118.669,115.721 L118.569,115.721 L118.469,115.721 L118.366,115.721 L118.272,115.721 L118.172,115.721 L118.074,115.721 L117.977,115.721 L117.977,115.622 L117.977,115.523 L118.172,115.227 L118.469,115.129 L118.865,114.93 L119.259,114.733 L119.557,114.535 L119.852,114.337 L120.147,114.24 L120.243,114.141 L120.347,114.141 L120.243,114.141 L120.047,114.141 L119.557,114.24 L119.259,114.337 L118.865,114.437 L118.569,114.535 L118.366,114.634 L118.272,114.733 L118.074,114.733 L117.977,114.832 L117.876,114.93 L117.681,115.227 L117.481,115.326 L117.38,115.326 L117.283,115.326 L117.184,115.326 L117.184,115.227 L117.184,114.93 L117.184,114.733 L117.283,114.437 L117.38,114.24 L117.578,113.844 L117.578,113.745 L117.578,113.548 L117.681,113.449 L117.681,113.252 L117.778,113.152 L117.778,112.955 L117.778,112.856 L117.778,112.757 L117.778,112.659 L117.778,112.56 L117.778,112.659 L117.778,112.757 L117.778,112.856 L117.578,113.054 L117.481,113.252 L117.38,113.351 L117.283,113.548 L117.087,113.646 L117.087,113.745 L116.99,113.844 L116.791,113.943 L116.691,114.041 L116.59,114.041 L116.59,114.141 L116.59,114.24 L116.491,114.24 L116.491,114.337 L116.491,114.437 L116.491,114.535 L116.491,114.634 L116.393,114.634 L116.393,114.733 L116.296,114.733 L116.199,114.733 L116.097,114.634 L116.001,114.337 L115.9,113.943 L115.8,113.646 L115.602,113.351 L115.505,113.054 L115.505,112.955 L115.505,112.757 L115.505,112.56 L115.505,112.462 L115.505,112.363 L115.408,112.363 L115.408,114.141 L115.408,114.437 L115.408,114.535 L115.408,114.634 L115.408,114.733 L115.408,114.832 L115.307,114.832 L115.307,114.733 L115.21,114.733 L115.11,114.634 L115.11,114.437 L115.009,114.24 L114.812,113.943 L114.615,113.745 L114.518,113.548 L114.322,113.351 L114.125,113.152 L113.922,112.955 L113.628,112.757 L113.432,112.462 L113.335,112.363 L113.235,112.363 L113.235,112.265 L113.235,112.363 L113.235,112.462 L113.235,112.56 L113.335,112.659 L113.335,112.757 L113.432,112.757 L113.531,112.955 L113.531,113.054 L113.531,113.252 L113.628,113.351 L113.628,113.548 L113.628,113.745 L113.727,113.943 L113.824,114.041 L113.922,114.337 L113.922,114.437 L114.022,114.437 L114.022,114.535 L114.125,114.634 L114.223,114.634 L114.125,114.634 L114.022,114.634 L113.922,114.535 L113.628,114.24 L113.335,113.943 L112.936,113.745 L112.64,113.449 L112.447,113.252 L112.247,113.152 L112.144,112.955 L111.949,112.856 L111.755,112.757 L111.654,112.757 L111.556,112.659 L111.453,112.56 L111.356,112.56 L111.356,112.462 L111.453,112.462 L111.556,112.56 L111.556,112.757 L111.654,112.856 L111.755,113.054 L111.852,113.152 L111.949,113.351 L112.047,113.548 L112.047,113.646 L112.047,113.844 L112.144,113.943 L112.247,114.041 L112.247,114.141 L112.344,114.141 L112.344,114.24 L112.447,114.24 L112.543,114.337 L112.543,114.437 L112.543,114.535 L112.543,114.634 L112.447,114.634 L112.344,114.634 L112.047,114.437 L111.654,114.337 L111.061,114.24 L110.962,114.24 L110.666,114.24 L110.569,114.24 L110.368,114.24 L110.268,114.24 L110.072,114.24 L109.975,114.24 L109.876,114.24 L109.975,114.24 L110.171,114.337 L110.569,114.337 L110.865,114.437 L111.061,114.437 L111.061,114.535 L111.158,114.535 L111.256,114.535 L111.453,114.733 L111.556,114.733 L111.556,114.832 L111.556,114.93 L111.356,115.03 L111.158,115.129 L110.666,115.129 L110.368,115.129 L110.171,115.129 L109.876,115.129 L109.778,115.129 L109.678,115.129 L109.478,115.129 L109.38,115.227 L109.478,115.227 L109.678,115.227 L109.876,115.227 L109.975,115.227 L110.072,115.227 L110.171,115.227 L110.268,115.227 L110.569,115.227 L110.865,115.326 L111.158,115.326 L111.256,115.326 L111.256,115.424 L111.061,115.424 L110.962,115.424 L111.061,115.424 L111.158,115.424 L111.158,115.523 L111.158,115.622 L111.061,115.622 L111.061,115.721 L110.962,115.721 L110.666,115.721 L110.569,115.721 L110.465,115.721 L110.368,115.721 L110.268,115.721 L110.072,115.721 L109.778,115.721 L109.678,115.721 L109.778,115.721 L109.778,115.819 L109.876,115.819 L109.876,115.919 L109.975,115.919"},{"id":"shape:d60f3570-0859-24bf-24e2-28dcc4faffed","type":"path","transform":"rotate(-82.482, 115.326, 127.995)","fillColor":"#151515","filter":null,"lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M112.263,129.773 L112.263,129.674 L112.362,129.477 L112.463,129.477 L112.859,129.18 L113.549,128.983 L113.944,128.983 L114.437,128.884 L115.127,128.884 L115.721,128.884 L116.314,128.884 L116.707,128.983 L116.806,128.983 L117.006,129.081 L117.204,129.18 L117.301,129.477 L117.499,129.674 L117.596,129.773 L117.596,129.97 L117.596,130.069 L117.694,130.069 L117.793,130.069 L117.896,129.97 L118.191,129.97 L118.487,129.872 L118.782,129.773 L119.18,129.674 L119.87,129.477 L120.165,129.477 L120.263,129.378 L120.463,129.378 L120.659,129.279 L120.76,129.279 L120.859,129.18 L120.957,129.18 L121.056,129.18 L120.957,129.18 L120.659,129.18 L120.362,129.18 L120.066,129.279 L119.771,129.279 L119.575,129.378 L119.277,129.378 L119.18,129.378 L119.081,129.378 L118.982,129.378 L118.883,129.378 L118.782,129.378 L118.687,129.378 L118.588,129.378 L118.487,129.378 L118.388,129.378 L118.388,129.279 L118.388,129.18 L118.588,128.884 L118.883,128.785 L119.277,128.587 L119.674,128.39 L119.969,128.193 L120.263,127.995 L120.562,127.896 L120.659,127.797 L120.76,127.797 L120.659,127.797 L120.463,127.797 L119.969,127.896 L119.674,127.995 L119.277,128.094 L118.982,128.193 L118.782,128.291 L118.687,128.39 L118.487,128.39 L118.388,128.489 L118.29,128.587 L118.094,128.884 L117.896,128.983 L117.793,128.983 L117.694,128.983 L117.596,128.983 L117.596,128.884 L117.596,128.587 L117.596,128.39 L117.694,128.094 L117.793,127.896 L117.993,127.501 L117.993,127.402 L117.993,127.205 L118.094,127.106 L118.094,126.908 L118.191,126.809 L118.191,126.612 L118.191,126.513 L118.191,126.415 L118.191,126.316 L118.191,126.217 L118.191,126.316 L118.191,126.415 L118.191,126.513 L117.993,126.711 L117.896,126.908 L117.793,127.007 L117.694,127.205 L117.499,127.303 L117.499,127.402 L117.402,127.501 L117.204,127.6 L117.105,127.698 L117.006,127.698 L117.006,127.797 L117.006,127.896 L116.907,127.896 L116.907,127.995 L116.907,128.094 L116.907,128.193 L116.907,128.291 L116.806,128.291 L116.806,128.39 L116.707,128.39 L116.61,128.39 L116.51,128.291 L116.413,127.995 L116.314,127.6 L116.215,127.303 L116.015,127.007 L115.918,126.711 L115.918,126.612 L115.918,126.415 L115.918,126.217 L115.918,126.118 L115.918,126.02 L115.819,126.02 L115.819,127.797 L115.819,128.094 L115.819,128.193 L115.819,128.291 L115.819,128.39 L115.819,128.489 L115.721,128.489 L115.721,128.39 L115.624,128.39 L115.523,128.291 L115.523,128.094 L115.424,127.896 L115.228,127.6 L115.028,127.402 L114.931,127.205 L114.734,127.007 L114.538,126.809 L114.338,126.612 L114.041,126.415 L113.846,126.118 L113.747,126.02 L113.648,126.02 L113.648,125.921 L113.648,126.02 L113.648,126.118 L113.648,126.217 L113.747,126.316 L113.747,126.415 L113.846,126.415 L113.944,126.612 L113.944,126.711 L113.944,126.908 L114.041,127.007 L114.041,127.205 L114.041,127.402 L114.14,127.6 L114.237,127.698 L114.338,127.995 L114.338,128.094 L114.437,128.094 L114.437,128.193 L114.538,128.291 L114.635,128.291 L114.538,128.291 L114.437,128.291 L114.338,128.193 L114.041,127.896 L113.747,127.6 L113.349,127.402 L113.053,127.106 L112.859,126.908 L112.661,126.809 L112.56,126.612 L112.362,126.513 L112.166,126.415 L112.068,126.415 L111.969,126.316 L111.868,126.217 L111.771,126.217 L111.771,126.118 L111.868,126.118 L111.969,126.217 L111.969,126.415 L112.068,126.513 L112.166,126.711 L112.263,126.809 L112.362,127.007 L112.463,127.205 L112.463,127.303 L112.463,127.501 L112.56,127.6 L112.661,127.698 L112.661,127.797 L112.758,127.797 L112.758,127.896 L112.859,127.896 L112.956,127.995 L112.956,128.094 L112.956,128.193 L112.956,128.291 L112.859,128.291 L112.758,128.291 L112.463,128.094 L112.068,127.995 L111.472,127.896 L111.374,127.896 L111.079,127.896 L110.982,127.896 L110.784,127.896 L110.681,127.896 L110.485,127.896 L110.388,127.896 L110.29,127.896 L110.388,127.896 L110.584,127.995 L110.982,127.995 L111.277,128.094 L111.472,128.094 L111.472,128.193 L111.571,128.193 L111.672,128.193 L111.868,128.39 L111.969,128.39 L111.969,128.489 L111.969,128.587 L111.771,128.686 L111.571,128.785 L111.079,128.785 L110.784,128.785 L110.584,128.785 L110.29,128.785 L110.191,128.785 L110.092,128.785 L109.894,128.785 L109.793,128.884 L109.894,128.884 L110.092,128.884 L110.29,128.884 L110.388,128.884 L110.485,128.884 L110.584,128.884 L110.681,128.884 L110.982,128.884 L111.277,128.983 L111.571,128.983 L111.672,128.983 L111.672,129.081 L111.472,129.081 L111.374,129.081 L111.472,129.081 L111.571,129.081 L111.571,129.18 L111.571,129.279 L111.472,129.279 L111.472,129.378 L111.374,129.378 L111.079,129.378 L110.982,129.378 L110.881,129.378 L110.784,129.378 L110.681,129.378 L110.485,129.378 L110.191,129.378 L110.092,129.378 L110.191,129.378 L110.191,129.477 L110.29,129.477 L110.29,129.575 L110.388,129.575"}]
    95.5 \ No newline at end of file
    96.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    96.2 +++ b/onlypaths/oyegroup.txt	Sun Jan 31 12:33:33 2010 -0500
    96.3 @@ -0,0 +1,1 @@
    96.4 +[{"type":"doc","left":0,"top":0,"width":160,"height":160,"viewBox":"0 0 160 160","bgcolor":"#111122","title":"","link":"","meta":""},{"id":"shape:ab1d9da6-df50-e719-85d8-3132c41995a6","type":"roundrect","transform":"","fillColor":"#d4848b","filter":null,"lineColor":"#0000ff","fillOpac":null,"lineOpac":null,"lineWidth":null,"rx":18,"ry":18,"left":3.77578,"top":1.58459,"width":152.086,"height":156.346},{"id":"shape:01e577af-c9c5-d4f3-e964-797a631e9738","type":"roundrect","transform":"","fillColor":"#00f3dc","filter":null,"lineColor":"#dcff00","fillOpac":null,"lineOpac":null,"lineWidth":3,"rx":18,"ry":18,"left":8.46476,"top":6.99467,"width":142.101,"height":146.081},{"id":"shape:048cd47a-0f84-2b2a-53a5-f17f6b6cfaed","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M34.4828,17.5172 L33.6552,17.5172 L29.931,18.7586 L25.3793,24.9655 L24.5517,29.931 L24.9655,33.2414 L29.1034,35.3103 L34.8966,36.5517 L37.3793,36.5517 L37.7931,36.1379 L38.2069,36.1379 L38.2069,35.7241 L38.6207,35.3103 L39.4483,33.6552 L39.8621,31.5862 L39.8621,28.2759 L39.8621,24.9655 L39.4483,23.7241 L39.0345,22.8966 L38.6207,21.2414 L38.2069,20.4138 L37.7931,20 L37.3793,19.5862 L36.9655,19.5862 L36.9655,19.1724 L36.5517,19.1724 L36.1379,19.1724 L35.7241,18.7586 L35.3103,18.3448 L34.8966,17.931 L34.069,17.5172 L33.2414,17.5172 L32.8276,17.5172 L32.4138,17.5172 L32.4138,17.1034 L32,17.1034 L31.5862,17.1034"},{"id":"shape:60ae1ab4-0eeb-da30-2d79-9f2d504e2508","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M41.1034,27.8621 L41.1034,28.2759 L41.1034,28.6897 L41.1034,29.1034 L41.1034,29.5172 L41.1034,29.931 L41.1034,30.3448 L41.1034,30.7586 L41.5172,31.1724 L41.5172,31.5862 L41.931,31.5862 L42.7586,31.5862 L43.5862,31.5862 L44,31.5862 L44.4138,31.5862 L44.8276,31.1724 L45.6552,29.931 L46.069,28.6897 L46.069,28.2759 L46.069,27.0345 L46.069,27.4483 L46.069,29.5172 L46.069,32.4138 L46.069,35.7241 L46.069,39.0345 L45.6552,39.4483 L44.8276,39.4483 L43.1724,39.0345 L41.931,37.3793 L41.1034,36.5517 L40.6897,35.3103 L41.931,34.8966 L44,34.069 L46.069,34.069 L48.5517,33.2414 L49.3793,32.8276 L49.3793,32.4138 L48.9655,31.5862 L48.1379,30.7586 L48.5517,30.7586 L50.2069,30.7586 L53.1034,30.7586 L55.1724,30.7586 L56.4138,29.931 L56.4138,29.5172 L55.5862,28.6897 L54.7586,28.2759 L53.5172,27.8621 L52.2759,27.4483 L51.8621,27.4483 L51.4483,27.4483 L51.0345,27.8621 L50.6207,28.6897 L50.2069,29.5172 L49.7931,30.3448 L49.7931,31.1724 L49.7931,31.5862 L50.2069,32 L51.0345,32.4138 L52.2759,32.8276 L54.7586,33.2414 L56,33.2414 L57.2414,33.2414 L57.6552,33.2414 L57.6552,32.8276"},{"id":"shape:b902d3ee-e720-ea2b-e7b5-bbe4ee8a1c5a","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M62.2069,32 L62.2069,32.4138 L61.7931,33.6552 L61.7931,34.4828 L61.7931,35.3103"},{"id":"shape:92801257-f3f0-4330-8e23-054af5622308","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M32,45.6552 L32,46.069 L31.1724,49.3793 L30.3448,53.931 L29.931,57.2414 L29.5172,59.3103 L29.5172,60.5517 L29.1034,60.5517 L28.6897,60.5517"},{"id":"shape:ae6d2f90-80a2-0cc7-0c5c-bd9e3fe4d3b9","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M31.5862,45.6552 L32,46.069 L32.4138,47.7241 L32.8276,49.3793 L32.8276,50.6207 L33.2414,50.2069 L33.2414,49.7931 L33.6552,49.7931 L34.069,48.9655 L35.7241,47.3103 L36.1379,46.4828 L36.1379,46.069 L36.9655,45.2414 L37.3793,44.8276 L37.3793,44.4138 L37.7931,44.4138 L37.7931,45.2414 L37.7931,47.7241 L38.6207,51.0345 L38.6207,53.931 L38.6207,56.4138 L38.6207,58.069 L39.0345,58.8966 L39.4483,58.8966 L39.8621,59.3103 L40.6897,59.7241 L41.1034,59.7241 L41.931,59.7241 L42.7586,59.7241 L43.1724,59.3103 L43.1724,58.8966"},{"id":"shape:1d48cf48-ce8a-afdd-6294-66028973643f","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M43.1724,54.7586 L44,54.7586 L45.6552,54.7586 L47.3103,54.7586 L48.5517,54.7586 L49.3793,54.3448 L49.7931,53.931 L48.9655,53.5172 L47.7241,52.6897 L46.069,52.6897 L45.2414,52.2759 L44.4138,52.2759 L43.5862,52.6897 L43.5862,53.5172 L43.5862,55.5862 L44,57.2414 L44,57.6552 L45.2414,58.069 L46.4828,58.069 L47.7241,58.069 L49.3793,58.069 L50.2069,58.069 L50.2069,57.6552 L50.6207,56.8276"},{"id":"shape:bb928351-acad-8c4a-9d8a-537d109ce220","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M64.6897,52.2759 L63.8621,52.2759 L62.6207,52.2759 L61.7931,52.2759 L61.3793,52.6897 L61.3793,53.931 L61.7931,55.1724 L62.6207,56.4138 L63.8621,56.8276 L63.8621,57.2414 L64.2759,56.4138 L64.2759,55.5862 L64.6897,53.931 L64.6897,53.5172 L64.2759,52.2759 L64.2759,52.6897 L64.2759,53.5172 L64.6897,55.5862 L65.5172,56.4138 L65.931,56.8276 L66.7586,56.8276 L69.6552,56.8276 L72.1379,56 L73.3793,54.3448 L75.0345,52.6897 L76.6897,50.2069 L76.6897,49.3793 L76.6897,48.5517 L75.8621,46.8966 L75.8621,45.6552 L75.0345,44.8276 L74.2069,44 L73.7931,44 L73.3793,44 L73.3793,44.4138 L73.3793,45.6552 L73.3793,48.1379 L73.3793,50.6207 L73.3793,52.2759 L73.3793,54.3448 L73.3793,55.1724 L73.3793,56.4138 L73.3793,57.2414 L73.3793,58.069 L73.7931,58.069 L74.6207,58.069 L75.8621,57.6552 L77.931,57.2414 L78.7586,56.4138 L79.5862,55.5862 L79.5862,55.1724 L80,55.1724 L81.6552,55.1724 L84.1379,54.7586 L84.5517,53.931 L84.9655,53.5172 L84.9655,53.1034 L84.5517,52.2759 L82.4828,51.8621 L81.6552,51.8621 L80.4138,52.2759 L79.5862,52.2759 L79.1724,53.1034 L79.1724,53.931 L79.1724,54.7586 L79.1724,55.5862 L79.1724,56.8276 L79.5862,56.8276 L80.8276,57.2414 L83.3103,57.2414 L84.5517,57.2414 L85.3793,57.2414 L85.3793,56.8276 L84.9655,56.4138"},{"id":"shape:256214ee-6f63-e6da-156e-aab92c106062","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M90.7586,52.2759 L90.3448,52.2759 L89.5172,52.2759 L88.6897,52.2759 L87.8621,52.2759 L87.4483,52.6897 L86.6207,53.1034 L85.7931,54.3448 L85.7931,54.7586 L85.7931,56 L85.7931,56.4138 L86.6207,56.8276 L87.4483,57.2414 L87.8621,57.2414 L89.931,56.8276 L90.7586,55.1724 L90.7586,53.931 L90.7586,53.5172 L91.1724,52.6897 L91.1724,52.2759 L91.1724,51.8621 L91.1724,52.2759 L91.1724,53.5172 L91.1724,56 L91.1724,58.4828 L91.1724,60.1379 L91.1724,62.6207 L91.1724,63.8621 L90.7586,64.6897 L90.3448,65.1034 L89.931,65.1034 L89.5172,65.1034 L88.2759,64.2759 L87.4483,63.4483 L87.0345,62.6207 L87.0345,60.9655 L87.4483,59.3103 L89.1034,58.069 L91.5862,56.4138 L93.6552,55.1724 L94.8966,54.3448 L96.1379,53.1034 L96.5517,52.6897 L96.5517,51.8621 L96.9655,51.4483 L96.5517,51.4483 L95.7241,51.8621 L95.7241,52.2759 L95.7241,52.6897 L95.7241,53.5172 L96.1379,53.5172 L98.2069,53.5172 L99.0345,53.5172 L99.4483,53.5172 L99.4483,53.931 L99.4483,55.1724 L99.4483,55.5862 L99.4483,56.4138 L99.4483,57.2414 L99.4483,57.6552 L99.8621,57.6552 L100.69,57.6552 L101.931,57.2414 L102.759,56.4138 L103.586,54.7586 L103.586,53.1034 L104,52.6897 L104,53.1034 L103.586,53.931 L103.586,55.5862 L104,56.4138 L105.241,56.4138 L107.724,56.4138 L108.966,56.4138 L109.379,54.7586 L109.379,53.1034 L108.552,51.0345 L108.138,51.0345 L107.31,51.0345 L106.069,51.0345 L105.655,51.0345 L106.483,53.1034 L106.897,53.1034 L108.138,53.1034 L109.793,53.1034 L110.621,52.6897 L111.448,52.2759 L111.862,51.8621 L112.276,51.4483 L112.69,51.4483"},{"id":"shape:0b318bca-b49a-73c7-6811-7f6ecccc3586","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M129.241,51.0345 L129.241,51.4483 L128,51.4483 L127.586,51.8621 L126.759,52.2759 L125.931,52.2759 L125.931,52.6897 L125.931,53.5172 L125.931,54.3448 L125.931,55.1724 L125.931,55.5862 L126.345,55.5862 L127.172,56 L127.586,56 L128.414,55.5862 L128.828,55.5862 L129.655,54.7586 L130.069,53.931 L130.069,52.6897 L130.069,51.4483 L129.655,49.7931 L129.655,49.3793 L129.655,48.5517 L129.655,47.7241 L129.655,47.3103 L130.069,47.3103 L130.069,48.1379 L130.483,49.7931 L130.897,51.0345 L130.897,52.2759 L130.897,53.5172 L130.897,53.931 L130.897,54.7586 L130.897,55.1724 L130.897,55.5862 L131.31,55.5862 L131.724,55.5862 L132.552,56 L133.379,56 L134.207,56 L134.621,55.5862 L134.621,55.1724 L134.207,55.1724 L134.207,54.7586 L134.621,54.7586 L136.276,54.7586 L137.103,54.7586 L138.759,54.3448 L139.172,53.931 L139.172,53.5172 L139.172,53.1034 L139.172,52.2759 L139.172,51.8621 L138.759,51.4483 L138.345,50.6207 L137.931,50.6207 L137.517,50.6207 L137.103,50.6207 L136.276,50.6207 L135.862,51.0345 L134.621,51.8621 L134.207,52.2759 L134.207,52.6897 L134.207,53.5172 L134.207,54.3448 L134.207,55.5862 L134.207,56.4138 L134.621,56.4138 L135.034,56.4138 L135.862,56.4138 L136.69,56.8276 L137.517,56.8276 L138.345,56.8276 L138.759,56.8276 L139.172,56.8276 L139.172,56.4138 L139.172,56"},{"id":"shape:c75d607a-849b-6ccb-706c-a9fec1f141c3","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M28.6897,70.4828 L28.6897,70.8966 L29.1034,73.7931 L29.1034,76.6897 L29.5172,77.1034 L30.3448,77.1034 L31.5862,77.1034 L32,76.6897 L32.8276,75.0345 L32.8276,73.3793 L32.8276,72.1379 L33.2414,71.7241 L33.6552,71.7241 L35.3103,72.1379 L36.9655,72.1379 L39.4483,72.1379 L40.2759,72.1379 L41.1034,72.1379 L41.1034,71.7241 L41.1034,70.8966 L41.1034,70.4828 L41.1034,70.069 L40.2759,69.6552 L39.8621,69.6552 L39.0345,69.6552 L38.6207,70.069 L37.7931,71.3103 L37.7931,72.5517 L37.3793,73.3793 L37.3793,74.6207 L37.7931,75.0345 L39.8621,75.4483 L41.931,75.4483 L44.4138,75.0345 L44.8276,74.2069 L45.2414,72.5517 L45.2414,71.3103 L45.2414,70.4828 L45.2414,70.069 L45.2414,70.4828 L45.6552,70.4828 L47.7241,70.4828 L49.7931,70.4828 L49.7931,70.8966 L49.7931,71.3103 L49.7931,72.1379 L49.3793,74.2069 L49.3793,75.4483 L49.7931,75.4483 L50.2069,75.4483 L50.6207,75.4483 L51.0345,75.4483 L51.8621,74.6207 L52.6897,73.7931 L53.1034,73.3793 L53.931,72.1379 L54.3448,70.4828 L54.3448,68.8276 L54.3448,67.1724 L54.7586,65.1034 L54.7586,64.2759 L54.7586,64.6897 L54.7586,67.1724 L54.7586,70.4828 L54.7586,72.1379 L54.7586,74.2069 L54.7586,75.0345 L55.5862,75.0345 L57.2414,75.0345 L58.8966,75.0345 L61.7931,75.0345 L62.2069,74.2069 L61.7931,73.7931 L60.9655,72.5517 L60.9655,72.1379 L62.6207,72.1379 L64.6897,72.1379 L65.931,71.7241 L66.3448,70.8966 L65.1034,69.2414 L64.2759,68.8276 L63.0345,69.2414 L62.2069,71.3103 L62.2069,72.5517 L63.0345,74.6207 L63.4483,75.0345 L65.1034,75.8621 L66.3448,75.8621 L66.7586,75.8621 L67.1724,75.8621 L69.2414,75.8621 L69.2414,75.4483 L68.8276,74.6207"},{"id":"shape:27dcd203-837f-5a62-2266-cac6cf3ae24d","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M52.6897,67.5862 L53.1034,67.5862 L55.1724,67.5862 L56.4138,67.5862 L56.8276,67.5862 L57.2414,67.5862 L56.8276,67.5862"},{"id":"shape:33f13849-6a47-2ec4-69de-4924c46a01b4","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M87.8621,72.9655 L87.4483,72.9655 L86.2069,72.9655 L84.9655,73.3793 L83.7241,74.6207 L83.3103,75.4483 L83.7241,76.6897 L84.5517,77.5172 L84.5517,77.931 L85.7931,76.2759 L87.0345,75.8621 L88.2759,74.6207 L89.1034,73.3793 L89.5172,71.7241 L89.5172,70.069 L88.2759,69.2414 L87.8621,68.4138 L88.2759,68.8276 L89.5172,72.1379 L89.931,74.6207 L89.931,75.4483 L89.931,75.8621 L90.3448,76.6897 L90.7586,77.1034 L91.1724,77.1034 L91.5862,77.1034 L92,77.1034 L92.4138,77.1034 L92.8276,76.6897 L93.2414,75.8621 L93.6552,75.4483 L94.069,75.4483 L94.8966,75.4483 L96.1379,75.4483 L96.9655,75.4483 L98.2069,75.4483 L98.6207,74.6207 L99.0345,74.2069 L99.0345,73.3793 L97.7931,72.5517 L96.5517,72.1379 L96.1379,72.1379 L95.7241,72.1379 L95.3103,72.9655 L94.8966,73.3793 L94.8966,74.2069 L94.4828,74.6207 L94.4828,75.8621 L95.3103,76.2759 L95.7241,76.2759 L96.1379,76.2759 L96.9655,76.2759 L97.3793,76.2759 L97.7931,76.2759 L98.6207,76.6897 L99.4483,76.6897 L99.8621,76.6897 L100.69,76.6897 L101.931,76.6897 L102.345,76.6897 L102.759,76.6897 L102.759,76.2759 L102.759,75.0345"},{"id":"shape:b7b233e5-cc4e-a446-6797-bd7c81304794","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M27.8621,85.3793 L27.8621,85.7931 L27.8621,88.2759 L27.8621,91.1724 L27.8621,92.4138 L27.8621,92.8276"},{"id":"shape:5c6c6e75-80c0-6866-7b3f-2afae2503f10","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M27.4483,88.6897 L27.8621,88.6897 L28.6897,87.8621 L29.5172,87.0345 L31.1724,86.6207 L31.5862,86.2069 L32.4138,86.6207 L32.8276,88.2759 L32.8276,90.7586 L32.8276,91.5862 L33.2414,91.5862 L35.3103,91.5862 L36.9655,91.1724 L37.3793,89.931 L37.7931,89.1034 L37.7931,88.6897 L36.9655,88.2759 L36.9655,87.8621 L36.9655,88.2759 L36.9655,89.931 L37.3793,91.5862 L37.7931,92 L39.0345,92.4138 L41.1034,92.4138 L42.3448,92 L42.3448,90.3448 L42.3448,88.6897 L42.3448,87.8621 L42.3448,87.4483 L42.3448,87.8621 L42.3448,90.3448 L42.3448,91.5862 L43.1724,92 L45.2414,91.5862 L46.8966,89.5172 L46.8966,89.1034 L46.4828,88.6897 L50.2069,88.6897 L51.8621,88.6897 L52.2759,87.8621 L52.2759,87.0345 L52.2759,86.6207 L51.4483,86.2069 L51.0345,85.7931 L49.7931,85.7931 L48.9655,85.7931 L47.7241,85.7931 L47.3103,86.6207 L46.8966,87.4483 L46.8966,88.6897 L46.8966,89.931 L47.3103,91.1724 L48.1379,91.5862 L48.9655,92 L49.7931,92 L51.0345,92 L51.8621,92 L53.1034,91.5862 L54.3448,90.7586 L55.1724,89.931 L55.5862,88.6897 L55.5862,87.8621 L55.5862,87.4483 L55.5862,87.8621 L55.5862,88.6897 L55.5862,90.7586 L55.5862,91.1724 L56,91.1724 L56.4138,91.1724 L57.6552,91.1724 L58.4828,91.1724 L58.8966,89.5172 L58.8966,88.2759 L58.8966,87.4483 L58.8966,87.0345 L59.3103,87.0345 L59.7241,87.0345 L60.1379,87.0345 L61.3793,87.0345 L62.2069,87.0345 L62.6207,87.0345 L63.0345,87.0345 L63.4483,87.0345 L63.4483,87.4483 L63.4483,88.2759 L63.4483,89.931 L63.4483,91.1724 L64.2759,92 L65.5172,92 L67.1724,92 L67.5862,91.1724 L67.5862,90.3448 L67.5862,89.1034 L67.1724,87.8621 L66.3448,87.4483 L65.1034,86.6207 L64.2759,86.6207 L63.4483,86.6207 L63.4483,86.2069 L63.4483,87.4483 L63.4483,87.8621 L64.6897,88.2759 L67.1724,88.2759 L68.8276,88.2759 L70.8966,87.8621 L71.7241,87.4483 L71.7241,87.0345 L71.7241,86.2069"},{"id":"shape:b67d75ea-2598-59df-852f-8d8001a2eca8","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M85.7931,89.1034 L86.2069,89.931 L86.2069,94.8966 L86.2069,100.69 L86.2069,102.345 L85.7931,101.931 L84.9655,100.69"},{"id":"shape:dd0e1b45-4cb3-8d63-e647-395c65474fef","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M84.9655,89.1034 L85.3793,89.1034 L87.8621,88.2759 L89.1034,88.2759 L90.3448,88.6897 L90.7586,89.931 L90.7586,92 L89.931,92.8276 L88.6897,92.8276 L87.4483,92.8276 L86.6207,92.8276 L86.2069,92.8276"},{"id":"shape:fd37ef58-c15d-7c66-ca7a-872d89ba5f95","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M94.4828,89.931 L94.069,89.931 L93.6552,89.931 L93.6552,90.7586 L92.8276,92 L92.8276,93.2414 L92.8276,94.069 L93.2414,94.4828 L94.4828,94.4828 L95.3103,94.4828 L96.1379,94.4828 L96.5517,93.6552 L96.5517,92 L96.5517,91.5862 L95.7241,90.7586 L95.7241,90.3448 L94.8966,89.931 L94.4828,89.1034 L94.069,89.1034 L94.069,89.5172 L94.069,89.931 L94.069,90.3448 L94.4828,90.3448 L95.3103,90.3448 L96.9655,90.3448 L98.2069,90.3448 L99.0345,90.3448 L99.8621,90.3448 L99.8621,89.5172 L99.8621,88.6897 L99.4483,88.6897 L98.6207,87.8621 L98.2069,87.8621 L97.7931,87.8621 L97.7931,88.2759 L98.2069,89.1034 L99.0345,89.5172 L101.103,90.3448 L101.931,90.7586 L101.931,91.1724 L101.931,91.5862 L101.931,92.8276 L101.931,94.069 L101.931,94.8966 L102.759,95.7241 L103.172,95.7241 L103.586,95.7241 L104.828,95.7241 L105.241,95.7241 L105.241,94.4828"},{"id":"shape:711043f4-75ee-e388-2d7f-5884451df045","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M116,89.1034 L115.586,89.1034 L113.517,89.931 L112.276,91.5862 L114.345,94.069 L114.759,94.069 L115.586,94.069 L116,93.6552 L116.414,93.2414 L116.828,92.4138 L116.828,92 L116.828,91.1724 L116,89.931 L116,89.5172 L116.414,89.5172 L116.828,91.5862 L116.828,93.2414 L117.241,94.4828 L118.069,94.8966 L118.897,94.8966 L119.724,94.8966 L120.552,94.4828 L120.966,94.4828 L121.379,94.069 L121.793,93.6552 L121.379,93.6552 L121.379,93.2414"},{"id":"shape:d13f5e01-8441-db78-026f-b40581ab41ab","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M122.621,88.6897 L122.207,88.6897 L121.379,89.931 L120.552,90.7586 L120.552,91.5862 L120.552,92.4138 L120.552,92.8276 L121.379,93.6552 L123.034,93.6552 L124.69,94.4828 L125.931,94.4828 L126.345,94.4828 L127.172,93.6552 L127.172,92.8276 L127.172,92 L127.172,91.1724 L127.172,90.3448 L126.345,89.1034 L125.517,88.2759 L124.69,88.2759 L124.69,87.8621 L123.862,87.4483 L123.448,87.4483 L123.034,87.4483 L122.621,87.8621 L121.793,88.2759"},{"id":"shape:d69ee6ed-d775-fb17-a0d0-e2956449d0c0","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M126.759,90.7586 L126.759,92 L126.759,96.9655 L125.931,99.8621 L125.931,101.517 L125.931,102.759 L125.931,104.414 L125.931,105.655 L125.931,106.069 L125.931,106.483 L125.931,106.069 L125.517,105.241"},{"id":"shape:e0c4a3f8-6608-234a-8ddf-6058d762979c","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M123.862,100.69 L124.69,100.69 L126.759,100.69 L128,100.276 L128,99.8621"},{"id":"shape:5ee9d0d0-787b-af96-6c9b-623deba95b04","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M126.759,93.2414 L127.172,93.2414 L128.828,93.2414 L129.655,92.8276 L129.655,91.5862 L129.655,90.7586 L129.655,89.1034 L129.655,88.2759 L130.069,87.8621 L130.069,87.4483 L130.483,87.4483 L130.483,87.8621 L130.483,88.2759 L130.483,89.5172 L130.483,90.3448 L130.483,91.1724 L130.483,92 L130.483,92.4138 L130.897,92.4138 L131.724,92.4138 L132.552,92.4138 L133.793,92.4138 L134.621,91.1724 L135.034,89.931 L135.034,88.2759 L135.034,87.8621 L135.034,88.2759 L135.034,89.5172 L135.034,91.5862 L135.034,92.4138 L135.034,92.8276 L135.448,92.8276 L136.69,92.8276 L137.931,92.8276 L139.172,92.4138 L140,90.7586 L140.414,89.5172 L140.414,88.2759 L140.414,87.8621 L140.414,88.2759 L140.414,89.1034 L140.414,89.931 L140.414,90.7586 L140.414,91.5862 L140.414,92 L140.414,92.4138 L140.828,92.8276 L141.241,93.2414 L141.655,93.2414 L142.069,93.2414 L142.069,92.4138 L142.483,91.5862"},{"id":"shape:a72777d3-7da4-b732-fa2d-fece9aad70b0","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M141.655,83.7241 L142.483,82.8966 L143.724,81.6552 L143.724,80.8276"},{"id":"shape:11cf070b-038e-7a3e-1edb-308f39712ef5","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M72.5517,114.759 L75.4483,114.759 L80.4138,121.793 L75.0345,128.414 L63.8621,125.103 L58.4828,121.793 L61.7931,119.31 L75.0345,119.31 L77.931,119.724 L77.5172,119.724 L67.1724,117.655 L61.3793,116.414 L63.4483,117.241 L77.931,118.897 L78.7586,118.897 L73.7931,118.483 L74.2069,117.655 L82.8966,116.414 L87.0345,116.414 L87.0345,115.586 L87.8621,114.759 L88.2759,115.172 L85.3793,116 L82.4828,116 L81.6552,116 L82.069,116 L88.2759,116 L89.5172,116 L88.6897,116.414 L89.1034,116.414 L99.4483,116.414 L105.241,116.414 L96.5517,117.655 L84.9655,121.379 L66.3448,125.103 L56.8276,125.517 L51.4483,125.517 L48.1379,125.517 L47.7241,125.517 L48.1379,124.69 L58.4828,123.862 L75.0345,125.103 L87.0345,128 L88.6897,128 L90.7586,128"},{"id":"shape:1629f024-c7ec-ee06-39b5-36ac4ad1d1ca","type":"ellipse","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"width":7.65166,"height":8.01292,"left":115.69217,"top":111.40454},{"id":"shape:3d38d55b-525c-6834-de75-491e59dc75ba","type":"path","transform":"rotate(-99.0766, 136.51, 121.853)","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M126.398,116.368 C127.133,122.561 131.41,127.337 136.602,127.337 C141.427,127.337 145.482,123.209 146.623,117.649 C144.494,120.884 140.925,123.02 136.873,123.02 C132.307,123.02 128.357,120.304 126.398,116.368 z"},{"id":"face","type":"group","transform":"","fillColor":"#f8faf9","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"width":200,"height":200,"left":0,"top":0},{"id":"shape:23cd9885-30a5-6365-44cc-30f6e342cad6","type":"ellipse","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"width":7.34276,"height":8.00534,"left":115.69162,"top":124.64433,"parent":"face"},{"id":"face:1629f024-c7ec-ee06-39b5-36ac4ad1d1ca","type":"ellipse","transform":"","fillColor":"#f8faf9","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"width":7.65166,"height":8.01292,"left":115.27817,"top":111.39753999999999,"parent":"face"},{"id":"shape:23cd9885-30a5-6365-44cc-30f6e342cad6","type":"ellipse","transform":"","fillColor":"#fefefe","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"width":7.34276,"height":8.00534,"left":115.69162,"top":124.64433,"parent":"face"},{"id":"shape:491b9a26-642c-c291-ee0b-e8ed20c263fc","type":"ellipse","transform":"","fillColor":"#007baa","filter":null,"lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"width":5.7931,"height":6.62068,"left":115.58645,"top":111.44866,"parent":"face"},{"id":"shape:3d38d55b-525c-6834-de75-491e59dc75ba","type":"path","transform":"rotate(-99.0766, 136.51, 121.853)","fillColor":"#f5f5f5","filter":null,"lineColor":"#ff3f00","fillOpac":null,"lineOpac":null,"lineWidth":3,"points":"M126.398,116.368 C127.133,122.561 131.41,127.337 136.602,127.337 C141.427,127.337 145.482,123.209 146.623,117.649 C144.494,120.884 140.925,123.02 136.873,123.02 C132.307,123.02 128.357,120.304 126.398,116.368 z","parent":"face"},{"id":"shape:b1e72a1c-89f2-1e18-e6c2-9182852ae66d","type":"ellipse","transform":"","fillColor":"#007baa","filter":null,"lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"width":5.7931,"height":6.62068,"left":116.00045,"top":124.68866,"parent":"face"},{"id":"shape:aedd3e29-0e01-8ab4-cf5d-e8a57f0fc9b0","type":"ellipse","transform":"","fillColor":"#232625","filter":null,"lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"width":3.72414,"height":3.72414,"left":116.41393,"top":112.68993,"parent":"face"},{"id":"shape:27551e24-f321-88ee-5c98-e7f65106c2f6","type":"ellipse","transform":"","fillColor":"#232625","filter":null,"lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"width":3.72414,"height":3.72414,"left":116.82793,"top":125.92893,"parent":"face"},{"id":"shape:da441732-f0e4-c7ea-c336-76a27b63e8e6","type":"ellipse","transform":"","fillColor":"#ffffd4","filter":null,"lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"width":1.24138,"height":1.24138,"left":116.82731,"top":112.68931,"parent":"face"},{"id":"shape:8bd41a83-0c46-1dca-4de7-7dd18d3c4a4e","type":"ellipse","transform":"","fillColor":"#ffffd4","filter":null,"lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"width":1.24138,"height":1.24138,"left":117.24131,"top":126.34331,"parent":"face"},{"id":"shape:2b4b7814-67d0-94ea-3163-a9bd12df5782","type":"path","transform":"rotate(-99.0766, 138.868, 121.868)","fillColor":"#292929","filter":null,"lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M131.777,118.023 C132.292,122.364 135.291,125.712 138.934,125.712 C142.318,125.712 145.163,122.815 145.96,118.923 C144.468,121.188 141.962,122.688 139.123,122.688 C135.917,122.688 133.15,120.79 131.777,118.023 z","parent":"face"},{"id":"shape:0298f344-5c78-f7d9-3e77-048b69f17c9c","type":"ellipse","transform":"","fillColor":"#ff2200","filter":null,"lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":3,"width":11.5862,"height":6.62068,"left":122.62089999999999,"top":118.48266000000001,"parent":"face"},{"id":"shape:2d6da671-516e-c3c9-5f0d-70522d242f28","type":"path","transform":"rotate(-82.482, 114.913, 114.339)","fillColor":"#151515","filter":null,"lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M111.852,116.116 L111.852,116.018 L111.949,115.819 L112.047,115.819 L112.447,115.523 L113.134,115.326 L113.531,115.326 L114.022,115.227 L114.714,115.227 L115.307,115.227 L115.9,115.227 L116.296,115.326 L116.393,115.326 L116.59,115.424 L116.791,115.523 L116.889,115.819 L117.087,116.018 L117.184,116.116 L117.184,116.313 L117.184,116.412 L117.283,116.412 L117.38,116.412 L117.481,116.313 L117.778,116.313 L118.074,116.214 L118.366,116.116 L118.766,116.018 L119.457,115.819 L119.753,115.819 L119.852,115.721 L120.047,115.721 L120.243,115.622 L120.347,115.622 L120.446,115.523 L120.544,115.523 L120.643,115.523 L120.544,115.523 L120.243,115.523 L119.949,115.523 L119.654,115.622 L119.356,115.622 L119.159,115.721 L118.865,115.721 L118.766,115.721 L118.669,115.721 L118.569,115.721 L118.469,115.721 L118.366,115.721 L118.272,115.721 L118.172,115.721 L118.074,115.721 L117.977,115.721 L117.977,115.622 L117.977,115.523 L118.172,115.227 L118.469,115.129 L118.865,114.93 L119.259,114.733 L119.557,114.535 L119.852,114.337 L120.147,114.24 L120.243,114.141 L120.347,114.141 L120.243,114.141 L120.047,114.141 L119.557,114.24 L119.259,114.337 L118.865,114.437 L118.569,114.535 L118.366,114.634 L118.272,114.733 L118.074,114.733 L117.977,114.832 L117.876,114.93 L117.681,115.227 L117.481,115.326 L117.38,115.326 L117.283,115.326 L117.184,115.326 L117.184,115.227 L117.184,114.93 L117.184,114.733 L117.283,114.437 L117.38,114.24 L117.578,113.844 L117.578,113.745 L117.578,113.548 L117.681,113.449 L117.681,113.252 L117.778,113.152 L117.778,112.955 L117.778,112.856 L117.778,112.757 L117.778,112.659 L117.778,112.56 L117.778,112.659 L117.778,112.757 L117.778,112.856 L117.578,113.054 L117.481,113.252 L117.38,113.351 L117.283,113.548 L117.087,113.646 L117.087,113.745 L116.99,113.844 L116.791,113.943 L116.691,114.041 L116.59,114.041 L116.59,114.141 L116.59,114.24 L116.491,114.24 L116.491,114.337 L116.491,114.437 L116.491,114.535 L116.491,114.634 L116.393,114.634 L116.393,114.733 L116.296,114.733 L116.199,114.733 L116.097,114.634 L116.001,114.337 L115.9,113.943 L115.8,113.646 L115.602,113.351 L115.505,113.054 L115.505,112.955 L115.505,112.757 L115.505,112.56 L115.505,112.462 L115.505,112.363 L115.408,112.363 L115.408,114.141 L115.408,114.437 L115.408,114.535 L115.408,114.634 L115.408,114.733 L115.408,114.832 L115.307,114.832 L115.307,114.733 L115.21,114.733 L115.11,114.634 L115.11,114.437 L115.009,114.24 L114.812,113.943 L114.615,113.745 L114.518,113.548 L114.322,113.351 L114.125,113.152 L113.922,112.955 L113.628,112.757 L113.432,112.462 L113.335,112.363 L113.235,112.363 L113.235,112.265 L113.235,112.363 L113.235,112.462 L113.235,112.56 L113.335,112.659 L113.335,112.757 L113.432,112.757 L113.531,112.955 L113.531,113.054 L113.531,113.252 L113.628,113.351 L113.628,113.548 L113.628,113.745 L113.727,113.943 L113.824,114.041 L113.922,114.337 L113.922,114.437 L114.022,114.437 L114.022,114.535 L114.125,114.634 L114.223,114.634 L114.125,114.634 L114.022,114.634 L113.922,114.535 L113.628,114.24 L113.335,113.943 L112.936,113.745 L112.64,113.449 L112.447,113.252 L112.247,113.152 L112.144,112.955 L111.949,112.856 L111.755,112.757 L111.654,112.757 L111.556,112.659 L111.453,112.56 L111.356,112.56 L111.356,112.462 L111.453,112.462 L111.556,112.56 L111.556,112.757 L111.654,112.856 L111.755,113.054 L111.852,113.152 L111.949,113.351 L112.047,113.548 L112.047,113.646 L112.047,113.844 L112.144,113.943 L112.247,114.041 L112.247,114.141 L112.344,114.141 L112.344,114.24 L112.447,114.24 L112.543,114.337 L112.543,114.437 L112.543,114.535 L112.543,114.634 L112.447,114.634 L112.344,114.634 L112.047,114.437 L111.654,114.337 L111.061,114.24 L110.962,114.24 L110.666,114.24 L110.569,114.24 L110.368,114.24 L110.268,114.24 L110.072,114.24 L109.975,114.24 L109.876,114.24 L109.975,114.24 L110.171,114.337 L110.569,114.337 L110.865,114.437 L111.061,114.437 L111.061,114.535 L111.158,114.535 L111.256,114.535 L111.453,114.733 L111.556,114.733 L111.556,114.832 L111.556,114.93 L111.356,115.03 L111.158,115.129 L110.666,115.129 L110.368,115.129 L110.171,115.129 L109.876,115.129 L109.778,115.129 L109.678,115.129 L109.478,115.129 L109.38,115.227 L109.478,115.227 L109.678,115.227 L109.876,115.227 L109.975,115.227 L110.072,115.227 L110.171,115.227 L110.268,115.227 L110.569,115.227 L110.865,115.326 L111.158,115.326 L111.256,115.326 L111.256,115.424 L111.061,115.424 L110.962,115.424 L111.061,115.424 L111.158,115.424 L111.158,115.523 L111.158,115.622 L111.061,115.622 L111.061,115.721 L110.962,115.721 L110.666,115.721 L110.569,115.721 L110.465,115.721 L110.368,115.721 L110.268,115.721 L110.072,115.721 L109.778,115.721 L109.678,115.721 L109.778,115.721 L109.778,115.819 L109.876,115.819 L109.876,115.919 L109.975,115.919","parent":"face"},{"id":"shape:d60f3570-0859-24bf-24e2-28dcc4faffed","type":"path","transform":"rotate(-82.482, 115.326, 127.995)","fillColor":"#151515","filter":null,"lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M112.263,129.773 L112.263,129.674 L112.362,129.477 L112.463,129.477 L112.859,129.18 L113.549,128.983 L113.944,128.983 L114.437,128.884 L115.127,128.884 L115.721,128.884 L116.314,128.884 L116.707,128.983 L116.806,128.983 L117.006,129.081 L117.204,129.18 L117.301,129.477 L117.499,129.674 L117.596,129.773 L117.596,129.97 L117.596,130.069 L117.694,130.069 L117.793,130.069 L117.896,129.97 L118.191,129.97 L118.487,129.872 L118.782,129.773 L119.18,129.674 L119.87,129.477 L120.165,129.477 L120.263,129.378 L120.463,129.378 L120.659,129.279 L120.76,129.279 L120.859,129.18 L120.957,129.18 L121.056,129.18 L120.957,129.18 L120.659,129.18 L120.362,129.18 L120.066,129.279 L119.771,129.279 L119.575,129.378 L119.277,129.378 L119.18,129.378 L119.081,129.378 L118.982,129.378 L118.883,129.378 L118.782,129.378 L118.687,129.378 L118.588,129.378 L118.487,129.378 L118.388,129.378 L118.388,129.279 L118.388,129.18 L118.588,128.884 L118.883,128.785 L119.277,128.587 L119.674,128.39 L119.969,128.193 L120.263,127.995 L120.562,127.896 L120.659,127.797 L120.76,127.797 L120.659,127.797 L120.463,127.797 L119.969,127.896 L119.674,127.995 L119.277,128.094 L118.982,128.193 L118.782,128.291 L118.687,128.39 L118.487,128.39 L118.388,128.489 L118.29,128.587 L118.094,128.884 L117.896,128.983 L117.793,128.983 L117.694,128.983 L117.596,128.983 L117.596,128.884 L117.596,128.587 L117.596,128.39 L117.694,128.094 L117.793,127.896 L117.993,127.501 L117.993,127.402 L117.993,127.205 L118.094,127.106 L118.094,126.908 L118.191,126.809 L118.191,126.612 L118.191,126.513 L118.191,126.415 L118.191,126.316 L118.191,126.217 L118.191,126.316 L118.191,126.415 L118.191,126.513 L117.993,126.711 L117.896,126.908 L117.793,127.007 L117.694,127.205 L117.499,127.303 L117.499,127.402 L117.402,127.501 L117.204,127.6 L117.105,127.698 L117.006,127.698 L117.006,127.797 L117.006,127.896 L116.907,127.896 L116.907,127.995 L116.907,128.094 L116.907,128.193 L116.907,128.291 L116.806,128.291 L116.806,128.39 L116.707,128.39 L116.61,128.39 L116.51,128.291 L116.413,127.995 L116.314,127.6 L116.215,127.303 L116.015,127.007 L115.918,126.711 L115.918,126.612 L115.918,126.415 L115.918,126.217 L115.918,126.118 L115.918,126.02 L115.819,126.02 L115.819,127.797 L115.819,128.094 L115.819,128.193 L115.819,128.291 L115.819,128.39 L115.819,128.489 L115.721,128.489 L115.721,128.39 L115.624,128.39 L115.523,128.291 L115.523,128.094 L115.424,127.896 L115.228,127.6 L115.028,127.402 L114.931,127.205 L114.734,127.007 L114.538,126.809 L114.338,126.612 L114.041,126.415 L113.846,126.118 L113.747,126.02 L113.648,126.02 L113.648,125.921 L113.648,126.02 L113.648,126.118 L113.648,126.217 L113.747,126.316 L113.747,126.415 L113.846,126.415 L113.944,126.612 L113.944,126.711 L113.944,126.908 L114.041,127.007 L114.041,127.205 L114.041,127.402 L114.14,127.6 L114.237,127.698 L114.338,127.995 L114.338,128.094 L114.437,128.094 L114.437,128.193 L114.538,128.291 L114.635,128.291 L114.538,128.291 L114.437,128.291 L114.338,128.193 L114.041,127.896 L113.747,127.6 L113.349,127.402 L113.053,127.106 L112.859,126.908 L112.661,126.809 L112.56,126.612 L112.362,126.513 L112.166,126.415 L112.068,126.415 L111.969,126.316 L111.868,126.217 L111.771,126.217 L111.771,126.118 L111.868,126.118 L111.969,126.217 L111.969,126.415 L112.068,126.513 L112.166,126.711 L112.263,126.809 L112.362,127.007 L112.463,127.205 L112.463,127.303 L112.463,127.501 L112.56,127.6 L112.661,127.698 L112.661,127.797 L112.758,127.797 L112.758,127.896 L112.859,127.896 L112.956,127.995 L112.956,128.094 L112.956,128.193 L112.956,128.291 L112.859,128.291 L112.758,128.291 L112.463,128.094 L112.068,127.995 L111.472,127.896 L111.374,127.896 L111.079,127.896 L110.982,127.896 L110.784,127.896 L110.681,127.896 L110.485,127.896 L110.388,127.896 L110.29,127.896 L110.388,127.896 L110.584,127.995 L110.982,127.995 L111.277,128.094 L111.472,128.094 L111.472,128.193 L111.571,128.193 L111.672,128.193 L111.868,128.39 L111.969,128.39 L111.969,128.489 L111.969,128.587 L111.771,128.686 L111.571,128.785 L111.079,128.785 L110.784,128.785 L110.584,128.785 L110.29,128.785 L110.191,128.785 L110.092,128.785 L109.894,128.785 L109.793,128.884 L109.894,128.884 L110.092,128.884 L110.29,128.884 L110.388,128.884 L110.485,128.884 L110.584,128.884 L110.681,128.884 L110.982,128.884 L111.277,128.983 L111.571,128.983 L111.672,128.983 L111.672,129.081 L111.472,129.081 L111.374,129.081 L111.472,129.081 L111.571,129.081 L111.571,129.18 L111.571,129.279 L111.472,129.279 L111.472,129.378 L111.374,129.378 L111.079,129.378 L110.982,129.378 L110.881,129.378 L110.784,129.378 L110.681,129.378 L110.485,129.378 L110.191,129.378 L110.092,129.378 L110.191,129.378 L110.191,129.477 L110.29,129.477 L110.29,129.575 L110.388,129.575","parent":"face"}]
    96.5 \ No newline at end of file
    97.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    97.2 +++ b/onlypaths/oyegroup01.txt	Sun Jan 31 12:33:33 2010 -0500
    97.3 @@ -0,0 +1,1 @@
    97.4 +[{"type":"doc","left":0,"top":0,"width":160,"height":160,"viewBox":"0 0 160 160","bgcolor":"#111122","title":"","link":"","meta":""},{"id":"shape:ab1d9da6-df50-e719-85d8-3132c41995a6","type":"roundrect","transform":"","fillColor":"#d4848b","filter":null,"lineColor":"#0000ff","fillOpac":null,"lineOpac":null,"lineWidth":null,"rx":18,"ry":18,"left":3.77578,"top":1.58459,"width":152.086,"height":156.346},{"id":"shape:01e577af-c9c5-d4f3-e964-797a631e9738","type":"roundrect","transform":"","fillColor":"#00f3dc","filter":null,"lineColor":"#dcff00","fillOpac":null,"lineOpac":null,"lineWidth":3,"rx":18,"ry":18,"left":9.34753,"top":6.11192,"width":142.101,"height":146.081},{"id":"shape:919a3144-48ab-a082-6efd-b77264632358","type":"path","transform":"","fillColor":"#ff00f7","filter":null,"lineColor":"none","fillOpac":1,"lineOpac":1,"lineWidth":1,"points":"M56.9213,48.9358 L61.3599,15.3317 L86.4057,46.717 L136.496,37.8404 L104.158,68.2751 L133.01,106.323 L83.8671,80.3218 L46.4595,107.59 L54.3849,69.8602 L11.5862,52.7408 L11.5862,52.7408 z"},{"id":"shape:048cd47a-0f84-2b2a-53a5-f17f6b6cfaed","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M34.4828,17.5172 L33.6552,17.5172 L29.931,18.7586 L25.3793,24.9655 L24.5517,29.931 L24.9655,33.2414 L29.1034,35.3103 L34.8966,36.5517 L37.3793,36.5517 L37.7931,36.1379 L38.2069,36.1379 L38.2069,35.7241 L38.6207,35.3103 L39.4483,33.6552 L39.8621,31.5862 L39.8621,28.2759 L39.8621,24.9655 L39.4483,23.7241 L39.0345,22.8966 L38.6207,21.2414 L38.2069,20.4138 L37.7931,20 L37.3793,19.5862 L36.9655,19.5862 L36.9655,19.1724 L36.5517,19.1724 L36.1379,19.1724 L35.7241,18.7586 L35.3103,18.3448 L34.8966,17.931 L34.069,17.5172 L33.2414,17.5172 L32.8276,17.5172 L32.4138,17.5172 L32.4138,17.1034 L32,17.1034 L31.5862,17.1034"},{"id":"shape:60ae1ab4-0eeb-da30-2d79-9f2d504e2508","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M41.1034,27.8621 L41.1034,28.2759 L41.1034,28.6897 L41.1034,29.1034 L41.1034,29.5172 L41.1034,29.931 L41.1034,30.3448 L41.1034,30.7586 L41.5172,31.1724 L41.5172,31.5862 L41.931,31.5862 L42.7586,31.5862 L43.5862,31.5862 L44,31.5862 L44.4138,31.5862 L44.8276,31.1724 L45.6552,29.931 L46.069,28.6897 L46.069,28.2759 L46.069,27.0345 L46.069,27.4483 L46.069,29.5172 L46.069,32.4138 L46.069,35.7241 L46.069,39.0345 L45.6552,39.4483 L44.8276,39.4483 L43.1724,39.0345 L41.931,37.3793 L41.1034,36.5517 L40.6897,35.3103 L41.931,34.8966 L44,34.069 L46.069,34.069 L48.5517,33.2414 L49.3793,32.8276 L49.3793,32.4138 L48.9655,31.5862 L48.1379,30.7586 L48.5517,30.7586 L50.2069,30.7586 L53.1034,30.7586 L55.1724,30.7586 L56.4138,29.931 L56.4138,29.5172 L55.5862,28.6897 L54.7586,28.2759 L53.5172,27.8621 L52.2759,27.4483 L51.8621,27.4483 L51.4483,27.4483 L51.0345,27.8621 L50.6207,28.6897 L50.2069,29.5172 L49.7931,30.3448 L49.7931,31.1724 L49.7931,31.5862 L50.2069,32 L51.0345,32.4138 L52.2759,32.8276 L54.7586,33.2414 L56,33.2414 L57.2414,33.2414 L57.6552,33.2414 L57.6552,32.8276"},{"id":"shape:b902d3ee-e720-ea2b-e7b5-bbe4ee8a1c5a","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M62.2069,32 L62.2069,32.4138 L61.7931,33.6552 L61.7931,34.4828 L61.7931,35.3103"},{"id":"shape:92801257-f3f0-4330-8e23-054af5622308","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M32,45.6552 L32,46.069 L31.1724,49.3793 L30.3448,53.931 L29.931,57.2414 L29.5172,59.3103 L29.5172,60.5517 L29.1034,60.5517 L28.6897,60.5517"},{"id":"shape:ae6d2f90-80a2-0cc7-0c5c-bd9e3fe4d3b9","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M31.5862,45.6552 L32,46.069 L32.4138,47.7241 L32.8276,49.3793 L32.8276,50.6207 L33.2414,50.2069 L33.2414,49.7931 L33.6552,49.7931 L34.069,48.9655 L35.7241,47.3103 L36.1379,46.4828 L36.1379,46.069 L36.9655,45.2414 L37.3793,44.8276 L37.3793,44.4138 L37.7931,44.4138 L37.7931,45.2414 L37.7931,47.7241 L38.6207,51.0345 L38.6207,53.931 L38.6207,56.4138 L38.6207,58.069 L39.0345,58.8966 L39.4483,58.8966 L39.8621,59.3103 L40.6897,59.7241 L41.1034,59.7241 L41.931,59.7241 L42.7586,59.7241 L43.1724,59.3103 L43.1724,58.8966"},{"id":"shape:1d48cf48-ce8a-afdd-6294-66028973643f","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M43.1724,54.7586 L44,54.7586 L45.6552,54.7586 L47.3103,54.7586 L48.5517,54.7586 L49.3793,54.3448 L49.7931,53.931 L48.9655,53.5172 L47.7241,52.6897 L46.069,52.6897 L45.2414,52.2759 L44.4138,52.2759 L43.5862,52.6897 L43.5862,53.5172 L43.5862,55.5862 L44,57.2414 L44,57.6552 L45.2414,58.069 L46.4828,58.069 L47.7241,58.069 L49.3793,58.069 L50.2069,58.069 L50.2069,57.6552 L50.6207,56.8276"},{"id":"shape:bb928351-acad-8c4a-9d8a-537d109ce220","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M64.6897,52.2759 L63.8621,52.2759 L62.6207,52.2759 L61.7931,52.2759 L61.3793,52.6897 L61.3793,53.931 L61.7931,55.1724 L62.6207,56.4138 L63.8621,56.8276 L63.8621,57.2414 L64.2759,56.4138 L64.2759,55.5862 L64.6897,53.931 L64.6897,53.5172 L64.2759,52.2759 L64.2759,52.6897 L64.2759,53.5172 L64.6897,55.5862 L65.5172,56.4138 L65.931,56.8276 L66.7586,56.8276 L69.6552,56.8276 L72.1379,56 L73.3793,54.3448 L75.0345,52.6897 L76.6897,50.2069 L76.6897,49.3793 L76.6897,48.5517 L75.8621,46.8966 L75.8621,45.6552 L75.0345,44.8276 L74.2069,44 L73.7931,44 L73.3793,44 L73.3793,44.4138 L73.3793,45.6552 L73.3793,48.1379 L73.3793,50.6207 L73.3793,52.2759 L73.3793,54.3448 L73.3793,55.1724 L73.3793,56.4138 L73.3793,57.2414 L73.3793,58.069 L73.7931,58.069 L74.6207,58.069 L75.8621,57.6552 L77.931,57.2414 L78.7586,56.4138 L79.5862,55.5862 L79.5862,55.1724 L80,55.1724 L81.6552,55.1724 L84.1379,54.7586 L84.5517,53.931 L84.9655,53.5172 L84.9655,53.1034 L84.5517,52.2759 L82.4828,51.8621 L81.6552,51.8621 L80.4138,52.2759 L79.5862,52.2759 L79.1724,53.1034 L79.1724,53.931 L79.1724,54.7586 L79.1724,55.5862 L79.1724,56.8276 L79.5862,56.8276 L80.8276,57.2414 L83.3103,57.2414 L84.5517,57.2414 L85.3793,57.2414 L85.3793,56.8276 L84.9655,56.4138"},{"id":"shape:256214ee-6f63-e6da-156e-aab92c106062","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M90.7586,52.2759 L90.3448,52.2759 L89.5172,52.2759 L88.6897,52.2759 L87.8621,52.2759 L87.4483,52.6897 L86.6207,53.1034 L85.7931,54.3448 L85.7931,54.7586 L85.7931,56 L85.7931,56.4138 L86.6207,56.8276 L87.4483,57.2414 L87.8621,57.2414 L89.931,56.8276 L90.7586,55.1724 L90.7586,53.931 L90.7586,53.5172 L91.1724,52.6897 L91.1724,52.2759 L91.1724,51.8621 L91.1724,52.2759 L91.1724,53.5172 L91.1724,56 L91.1724,58.4828 L91.1724,60.1379 L91.1724,62.6207 L91.1724,63.8621 L90.7586,64.6897 L90.3448,65.1034 L89.931,65.1034 L89.5172,65.1034 L88.2759,64.2759 L87.4483,63.4483 L87.0345,62.6207 L87.0345,60.9655 L87.4483,59.3103 L89.1034,58.069 L91.5862,56.4138 L93.6552,55.1724 L94.8966,54.3448 L96.1379,53.1034 L96.5517,52.6897 L96.5517,51.8621 L96.9655,51.4483 L96.5517,51.4483 L95.7241,51.8621 L95.7241,52.2759 L95.7241,52.6897 L95.7241,53.5172 L96.1379,53.5172 L98.2069,53.5172 L99.0345,53.5172 L99.4483,53.5172 L99.4483,53.931 L99.4483,55.1724 L99.4483,55.5862 L99.4483,56.4138 L99.4483,57.2414 L99.4483,57.6552 L99.8621,57.6552 L100.69,57.6552 L101.931,57.2414 L102.759,56.4138 L103.586,54.7586 L103.586,53.1034 L104,52.6897 L104,53.1034 L103.586,53.931 L103.586,55.5862 L104,56.4138 L105.241,56.4138 L107.724,56.4138 L108.966,56.4138 L109.379,54.7586 L109.379,53.1034 L108.552,51.0345 L108.138,51.0345 L107.31,51.0345 L106.069,51.0345 L105.655,51.0345 L106.483,53.1034 L106.897,53.1034 L108.138,53.1034 L109.793,53.1034 L110.621,52.6897 L111.448,52.2759 L111.862,51.8621 L112.276,51.4483 L112.69,51.4483"},{"id":"shape:0b318bca-b49a-73c7-6811-7f6ecccc3586","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M129.241,51.0345 L129.241,51.4483 L128,51.4483 L127.586,51.8621 L126.759,52.2759 L125.931,52.2759 L125.931,52.6897 L125.931,53.5172 L125.931,54.3448 L125.931,55.1724 L125.931,55.5862 L126.345,55.5862 L127.172,56 L127.586,56 L128.414,55.5862 L128.828,55.5862 L129.655,54.7586 L130.069,53.931 L130.069,52.6897 L130.069,51.4483 L129.655,49.7931 L129.655,49.3793 L129.655,48.5517 L129.655,47.7241 L129.655,47.3103 L130.069,47.3103 L130.069,48.1379 L130.483,49.7931 L130.897,51.0345 L130.897,52.2759 L130.897,53.5172 L130.897,53.931 L130.897,54.7586 L130.897,55.1724 L130.897,55.5862 L131.31,55.5862 L131.724,55.5862 L132.552,56 L133.379,56 L134.207,56 L134.621,55.5862 L134.621,55.1724 L134.207,55.1724 L134.207,54.7586 L134.621,54.7586 L136.276,54.7586 L137.103,54.7586 L138.759,54.3448 L139.172,53.931 L139.172,53.5172 L139.172,53.1034 L139.172,52.2759 L139.172,51.8621 L138.759,51.4483 L138.345,50.6207 L137.931,50.6207 L137.517,50.6207 L137.103,50.6207 L136.276,50.6207 L135.862,51.0345 L134.621,51.8621 L134.207,52.2759 L134.207,52.6897 L134.207,53.5172 L134.207,54.3448 L134.207,55.5862 L134.207,56.4138 L134.621,56.4138 L135.034,56.4138 L135.862,56.4138 L136.69,56.8276 L137.517,56.8276 L138.345,56.8276 L138.759,56.8276 L139.172,56.8276 L139.172,56.4138 L139.172,56"},{"id":"shape:c75d607a-849b-6ccb-706c-a9fec1f141c3","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M28.6897,70.4828 L28.6897,70.8966 L29.1034,73.7931 L29.1034,76.6897 L29.5172,77.1034 L30.3448,77.1034 L31.5862,77.1034 L32,76.6897 L32.8276,75.0345 L32.8276,73.3793 L32.8276,72.1379 L33.2414,71.7241 L33.6552,71.7241 L35.3103,72.1379 L36.9655,72.1379 L39.4483,72.1379 L40.2759,72.1379 L41.1034,72.1379 L41.1034,71.7241 L41.1034,70.8966 L41.1034,70.4828 L41.1034,70.069 L40.2759,69.6552 L39.8621,69.6552 L39.0345,69.6552 L38.6207,70.069 L37.7931,71.3103 L37.7931,72.5517 L37.3793,73.3793 L37.3793,74.6207 L37.7931,75.0345 L39.8621,75.4483 L41.931,75.4483 L44.4138,75.0345 L44.8276,74.2069 L45.2414,72.5517 L45.2414,71.3103 L45.2414,70.4828 L45.2414,70.069 L45.2414,70.4828 L45.6552,70.4828 L47.7241,70.4828 L49.7931,70.4828 L49.7931,70.8966 L49.7931,71.3103 L49.7931,72.1379 L49.3793,74.2069 L49.3793,75.4483 L49.7931,75.4483 L50.2069,75.4483 L50.6207,75.4483 L51.0345,75.4483 L51.8621,74.6207 L52.6897,73.7931 L53.1034,73.3793 L53.931,72.1379 L54.3448,70.4828 L54.3448,68.8276 L54.3448,67.1724 L54.7586,65.1034 L54.7586,64.2759 L54.7586,64.6897 L54.7586,67.1724 L54.7586,70.4828 L54.7586,72.1379 L54.7586,74.2069 L54.7586,75.0345 L55.5862,75.0345 L57.2414,75.0345 L58.8966,75.0345 L61.7931,75.0345 L62.2069,74.2069 L61.7931,73.7931 L60.9655,72.5517 L60.9655,72.1379 L62.6207,72.1379 L64.6897,72.1379 L65.931,71.7241 L66.3448,70.8966 L65.1034,69.2414 L64.2759,68.8276 L63.0345,69.2414 L62.2069,71.3103 L62.2069,72.5517 L63.0345,74.6207 L63.4483,75.0345 L65.1034,75.8621 L66.3448,75.8621 L66.7586,75.8621 L67.1724,75.8621 L69.2414,75.8621 L69.2414,75.4483 L68.8276,74.6207"},{"id":"shape:27dcd203-837f-5a62-2266-cac6cf3ae24d","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M52.6897,67.5862 L53.1034,67.5862 L55.1724,67.5862 L56.4138,67.5862 L56.8276,67.5862 L57.2414,67.5862 L56.8276,67.5862"},{"id":"shape:33f13849-6a47-2ec4-69de-4924c46a01b4","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M87.8621,72.9655 L87.4483,72.9655 L86.2069,72.9655 L84.9655,73.3793 L83.7241,74.6207 L83.3103,75.4483 L83.7241,76.6897 L84.5517,77.5172 L84.5517,77.931 L85.7931,76.2759 L87.0345,75.8621 L88.2759,74.6207 L89.1034,73.3793 L89.5172,71.7241 L89.5172,70.069 L88.2759,69.2414 L87.8621,68.4138 L88.2759,68.8276 L89.5172,72.1379 L89.931,74.6207 L89.931,75.4483 L89.931,75.8621 L90.3448,76.6897 L90.7586,77.1034 L91.1724,77.1034 L91.5862,77.1034 L92,77.1034 L92.4138,77.1034 L92.8276,76.6897 L93.2414,75.8621 L93.6552,75.4483 L94.069,75.4483 L94.8966,75.4483 L96.1379,75.4483 L96.9655,75.4483 L98.2069,75.4483 L98.6207,74.6207 L99.0345,74.2069 L99.0345,73.3793 L97.7931,72.5517 L96.5517,72.1379 L96.1379,72.1379 L95.7241,72.1379 L95.3103,72.9655 L94.8966,73.3793 L94.8966,74.2069 L94.4828,74.6207 L94.4828,75.8621 L95.3103,76.2759 L95.7241,76.2759 L96.1379,76.2759 L96.9655,76.2759 L97.3793,76.2759 L97.7931,76.2759 L98.6207,76.6897 L99.4483,76.6897 L99.8621,76.6897 L100.69,76.6897 L101.931,76.6897 L102.345,76.6897 L102.759,76.6897 L102.759,76.2759 L102.759,75.0345"},{"id":"shape:b7b233e5-cc4e-a446-6797-bd7c81304794","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M27.8621,85.3793 L27.8621,85.7931 L27.8621,88.2759 L27.8621,91.1724 L27.8621,92.4138 L27.8621,92.8276"},{"id":"shape:5c6c6e75-80c0-6866-7b3f-2afae2503f10","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M27.4483,88.6897 L27.8621,88.6897 L28.6897,87.8621 L29.5172,87.0345 L31.1724,86.6207 L31.5862,86.2069 L32.4138,86.6207 L32.8276,88.2759 L32.8276,90.7586 L32.8276,91.5862 L33.2414,91.5862 L35.3103,91.5862 L36.9655,91.1724 L37.3793,89.931 L37.7931,89.1034 L37.7931,88.6897 L36.9655,88.2759 L36.9655,87.8621 L36.9655,88.2759 L36.9655,89.931 L37.3793,91.5862 L37.7931,92 L39.0345,92.4138 L41.1034,92.4138 L42.3448,92 L42.3448,90.3448 L42.3448,88.6897 L42.3448,87.8621 L42.3448,87.4483 L42.3448,87.8621 L42.3448,90.3448 L42.3448,91.5862 L43.1724,92 L45.2414,91.5862 L46.8966,89.5172 L46.8966,89.1034 L46.4828,88.6897 L50.2069,88.6897 L51.8621,88.6897 L52.2759,87.8621 L52.2759,87.0345 L52.2759,86.6207 L51.4483,86.2069 L51.0345,85.7931 L49.7931,85.7931 L48.9655,85.7931 L47.7241,85.7931 L47.3103,86.6207 L46.8966,87.4483 L46.8966,88.6897 L46.8966,89.931 L47.3103,91.1724 L48.1379,91.5862 L48.9655,92 L49.7931,92 L51.0345,92 L51.8621,92 L53.1034,91.5862 L54.3448,90.7586 L55.1724,89.931 L55.5862,88.6897 L55.5862,87.8621 L55.5862,87.4483 L55.5862,87.8621 L55.5862,88.6897 L55.5862,90.7586 L55.5862,91.1724 L56,91.1724 L56.4138,91.1724 L57.6552,91.1724 L58.4828,91.1724 L58.8966,89.5172 L58.8966,88.2759 L58.8966,87.4483 L58.8966,87.0345 L59.3103,87.0345 L59.7241,87.0345 L60.1379,87.0345 L61.3793,87.0345 L62.2069,87.0345 L62.6207,87.0345 L63.0345,87.0345 L63.4483,87.0345 L63.4483,87.4483 L63.4483,88.2759 L63.4483,89.931 L63.4483,91.1724 L64.2759,92 L65.5172,92 L67.1724,92 L67.5862,91.1724 L67.5862,90.3448 L67.5862,89.1034 L67.1724,87.8621 L66.3448,87.4483 L65.1034,86.6207 L64.2759,86.6207 L63.4483,86.6207 L63.4483,86.2069 L63.4483,87.4483 L63.4483,87.8621 L64.6897,88.2759 L67.1724,88.2759 L68.8276,88.2759 L70.8966,87.8621 L71.7241,87.4483 L71.7241,87.0345 L71.7241,86.2069"},{"id":"shape:b67d75ea-2598-59df-852f-8d8001a2eca8","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M85.7931,89.1034 L86.2069,89.931 L86.2069,94.8966 L86.2069,100.69 L86.2069,102.345 L85.7931,101.931 L84.9655,100.69"},{"id":"shape:dd0e1b45-4cb3-8d63-e647-395c65474fef","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M84.9655,89.1034 L85.3793,89.1034 L87.8621,88.2759 L89.1034,88.2759 L90.3448,88.6897 L90.7586,89.931 L90.7586,92 L89.931,92.8276 L88.6897,92.8276 L87.4483,92.8276 L86.6207,92.8276 L86.2069,92.8276"},{"id":"shape:fd37ef58-c15d-7c66-ca7a-872d89ba5f95","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M94.4828,89.931 L94.069,89.931 L93.6552,89.931 L93.6552,90.7586 L92.8276,92 L92.8276,93.2414 L92.8276,94.069 L93.2414,94.4828 L94.4828,94.4828 L95.3103,94.4828 L96.1379,94.4828 L96.5517,93.6552 L96.5517,92 L96.5517,91.5862 L95.7241,90.7586 L95.7241,90.3448 L94.8966,89.931 L94.4828,89.1034 L94.069,89.1034 L94.069,89.5172 L94.069,89.931 L94.069,90.3448 L94.4828,90.3448 L95.3103,90.3448 L96.9655,90.3448 L98.2069,90.3448 L99.0345,90.3448 L99.8621,90.3448 L99.8621,89.5172 L99.8621,88.6897 L99.4483,88.6897 L98.6207,87.8621 L98.2069,87.8621 L97.7931,87.8621 L97.7931,88.2759 L98.2069,89.1034 L99.0345,89.5172 L101.103,90.3448 L101.931,90.7586 L101.931,91.1724 L101.931,91.5862 L101.931,92.8276 L101.931,94.069 L101.931,94.8966 L102.759,95.7241 L103.172,95.7241 L103.586,95.7241 L104.828,95.7241 L105.241,95.7241 L105.241,94.4828"},{"id":"shape:711043f4-75ee-e388-2d7f-5884451df045","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M116,89.1034 L115.586,89.1034 L113.517,89.931 L112.276,91.5862 L114.345,94.069 L114.759,94.069 L115.586,94.069 L116,93.6552 L116.414,93.2414 L116.828,92.4138 L116.828,92 L116.828,91.1724 L116,89.931 L116,89.5172 L116.414,89.5172 L116.828,91.5862 L116.828,93.2414 L117.241,94.4828 L118.069,94.8966 L118.897,94.8966 L119.724,94.8966 L120.552,94.4828 L120.966,94.4828 L121.379,94.069 L121.793,93.6552 L121.379,93.6552 L121.379,93.2414"},{"id":"shape:d13f5e01-8441-db78-026f-b40581ab41ab","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M122.621,88.6897 L122.207,88.6897 L121.379,89.931 L120.552,90.7586 L120.552,91.5862 L120.552,92.4138 L120.552,92.8276 L121.379,93.6552 L123.034,93.6552 L124.69,94.4828 L125.931,94.4828 L126.345,94.4828 L127.172,93.6552 L127.172,92.8276 L127.172,92 L127.172,91.1724 L127.172,90.3448 L126.345,89.1034 L125.517,88.2759 L124.69,88.2759 L124.69,87.8621 L123.862,87.4483 L123.448,87.4483 L123.034,87.4483 L122.621,87.8621 L121.793,88.2759"},{"id":"shape:d69ee6ed-d775-fb17-a0d0-e2956449d0c0","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M126.759,90.7586 L126.759,92 L126.759,96.9655 L125.931,99.8621 L125.931,101.517 L125.931,102.759 L125.931,104.414 L125.931,105.655 L125.931,106.069 L125.931,106.483 L125.931,106.069 L125.517,105.241"},{"id":"shape:e0c4a3f8-6608-234a-8ddf-6058d762979c","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M123.862,100.69 L124.69,100.69 L126.759,100.69 L128,100.276 L128,99.8621"},{"id":"shape:5ee9d0d0-787b-af96-6c9b-623deba95b04","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M126.759,93.2414 L127.172,93.2414 L128.828,93.2414 L129.655,92.8276 L129.655,91.5862 L129.655,90.7586 L129.655,89.1034 L129.655,88.2759 L130.069,87.8621 L130.069,87.4483 L130.483,87.4483 L130.483,87.8621 L130.483,88.2759 L130.483,89.5172 L130.483,90.3448 L130.483,91.1724 L130.483,92 L130.483,92.4138 L130.897,92.4138 L131.724,92.4138 L132.552,92.4138 L133.793,92.4138 L134.621,91.1724 L135.034,89.931 L135.034,88.2759 L135.034,87.8621 L135.034,88.2759 L135.034,89.5172 L135.034,91.5862 L135.034,92.4138 L135.034,92.8276 L135.448,92.8276 L136.69,92.8276 L137.931,92.8276 L139.172,92.4138 L140,90.7586 L140.414,89.5172 L140.414,88.2759 L140.414,87.8621 L140.414,88.2759 L140.414,89.1034 L140.414,89.931 L140.414,90.7586 L140.414,91.5862 L140.414,92 L140.414,92.4138 L140.828,92.8276 L141.241,93.2414 L141.655,93.2414 L142.069,93.2414 L142.069,92.4138 L142.483,91.5862"},{"id":"shape:a72777d3-7da4-b732-fa2d-fece9aad70b0","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M141.655,83.7241 L142.483,82.8966 L143.724,81.6552 L143.724,80.8276"},{"id":"shape:11cf070b-038e-7a3e-1edb-308f39712ef5","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M59.7518,120.056 L62.6483,120.056 L67.6138,127.09 L62.2345,133.711 L51.062,130.4 L45.6828,127.09 L48.9931,124.607 L62.2345,124.607 L65.131,125.021 L64.7172,125.021 L54.3723,122.952 L48.5792,121.711 L50.6483,122.538 L65.131,124.194 L65.9588,124.194 L60.9933,123.78 L61.4068,122.952 L70.0968,121.711 L74.2345,121.711 L74.2345,120.883 L75.0623,120.056 L75.4758,120.469 L72.5792,121.297 L69.6828,121.297 L68.8553,121.297 L69.269,121.297 L75.4758,121.297 L76.7172,121.297 L75.8898,121.711 L76.3033,121.711 L86.6483,121.711 L92.443,121.711 L83.7518,122.952 L72.1655,126.676 L53.5447,130.4 L44.0275,130.814 L38.6483,130.814 L35.3379,130.814 L34.9241,130.814 L35.3379,129.987 L45.6828,129.159 L62.2345,130.4 L74.2345,133.297 L75.8898,133.297 L77.9588,133.297"},{"id":"shape:1629f024-c7ec-ee06-39b5-36ac4ad1d1ca","type":"ellipse","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"width":7.65166,"height":8.01292,"left":115.69217,"top":111.40454},{"id":"shape:3d38d55b-525c-6834-de75-491e59dc75ba","type":"path","transform":"rotate(-99.0766, 136.51, 121.853)","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M126.398,116.368 C127.133,122.561 131.41,127.337 136.602,127.337 C141.427,127.337 145.482,123.209 146.623,117.649 C144.494,120.884 140.925,123.02 136.873,123.02 C132.307,123.02 128.357,120.304 126.398,116.368 z"},{"id":"face","type":"group","transform":"","fillColor":"#f8faf9","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"left":null,"top":null,"width":200,"height":200},{"id":"shape:48d109cd-1712-90ea-d77b-abb19f048797","type":"roundrect","transform":"","fillColor":"none","filter":null,"lineColor":"#000000","fillOpac":null,"lineOpac":null,"lineWidth":null,"rx":0,"ry":0,"left":-162.759,"top":24.1655,"width":36.6345,"height":26.9241}]
    97.5 \ No newline at end of file
    98.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    98.2 +++ b/onlypaths/solids.txt	Sun Jan 31 12:33:33 2010 -0500
    98.3 @@ -0,0 +1,1 @@
    98.4 +[{type:"doc", left:0, top:0, width:700, height:300, viewBox:"0 0 700 300", bgcolor:"#ff0000", title:"", link:"", meta:""}, {"id":"defs","type":"defs","transform":"","fillColor":null,"lineColor":null,"fillOpac":null,"lineOpac":null,"lineWidth":null},{"id":"shape:074bc7b6-5e02-03ed-32d0-fbe246030cc7","type":"rect","transform":"","fillColor":"#000000","lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"left":3,"top":3.5,"width":693,"height":292},{"id":"shape:140ca1eb-15ef-cc52-34f0-9a2605d4158c","type":"image","transform":"","fillColor":"none","lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"left":77,"top":34.5,"width":288,"height":231.5,"href":"http://www.slimeland.com/raytrace/primitiveconvention.jpg"},{"id":"shape:aba83ab0-631b-f0c3-20c5-a8f7b7103edc","type":"ellipse","transform":"","fillColor":"#008001","lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"width":111.7728,"height":109.1296,"left":414.99960000000004,"top":119.5002},{"id":"shape:d11da3fb-93d2-f10a-50fc-1e1b0d551305","type":"rect","transform":"","fillColor":"#6400ff","lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"left":533,"top":130.5,"width":94.1144,"height":93.6906}]
    99.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    99.2 +++ b/onlypaths/svgpaths.htm	Sun Jan 31 12:33:33 2010 -0500
    99.3 @@ -0,0 +1,40 @@
    99.4 +<html xmlns="http://www.w3.org/1999/xhtml" xmlns:svg="http://www.w3.org/2000/svg" xml:lang="en" lang="en">
    99.5 +  <head>
    99.6 +    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
    99.7 +    <meta http-equiv="keywords" content="SVG,scalable vector graphics,tutorial,XML"/>
    99.8 +    
    99.9 +   
   99.10 +    <title>SVG</title> 
   99.11 +     <script type="text/javascript" src="js/svgpaths.js"></script>
   99.12 +    <script>
   99.13 +function ini(){
   99.14 +var colorpage= parent.colorpage; 
   99.15 +//document.body.style.backgroundColor =colorpage;
   99.16 +} 
   99.17 +
   99.18 +    </script>
   99.19 +    
   99.20 +<style>
   99.21 +body{border-style:outset;border-width:0px;background-color:#ffffff;font-family:verdana,arial; font-size:10pt;} 
   99.22 +.front{position:absolute;top:4px;left:1px;width:200px;overflow:hidden;}
   99.23 +.color1{color:#ff5500} 
   99.24 +.color2{color:#220044}
   99.25 +</style>    
   99.26 +  </head>
   99.27 +  <body onload="ini()";> 
   99.28 +  <div class="front">
   99.29 + <script>   
   99.30 +        var cadena='';  var a=1;
   99.31 +
   99.32 +var color='';
   99.33 + for(var a=0; a < paths.length; a++)
   99.34 +{       if(a%2==0){color='color1';}else{color='color2';}
   99.35 +        cadena+='<a onclick="parent.document.forms[0].codebase.value='+"'"+paths[a].data+"'"+';parent.setShape()"><span class="'+color+'">'+paths[a].name+' </span></a>';
   99.36 +}  
   99.37 +
   99.38 +  document.write(cadena);  
   99.39 +
   99.40 + </script>      
   99.41 + </div>                       
   99.42 +          </body>
   99.43 +</html> 
   100.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   100.2 +++ b/onlypaths/svgshapes.txt	Sun Jan 31 12:33:33 2010 -0500
   100.3 @@ -0,0 +1,1 @@
   100.4 +[{"type":"doc","left":0,"top":0,"width":20,"height":10,"viewBox":"0 0 20 10","bgcolor":"#ffffff","title":"","link":"","meta":""},{"id":"shape:3a283200-ea35-8292-5e02-5584a0315466","type":"rect","transform":"","fillColor":"#5564d4","filter":null,"lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":1,"rx":0,"ry":0,"left":-1.56895,"top":-1.01724,"width":41.0172,"height":20.9483},{"id":"shape:5b55fa0e-f6a5-0f87-e85c-dd5cfe361c9f","type":"rect","transform":"","fillColor":"#54aa00","filter":null,"lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":1,"rx":0,"ry":0,"left":-2.03448,"top":8.7069,"width":38.5862,"height":9.31034},{"id":"shape:7f128276-9e58-dd1e-516b-73eae7ada908","type":"path","transform":"translate(0)","fillColor":"none","filter":null,"lineColor":"#152b00","fillOpac":null,"lineOpac":null,"lineWidth":0.1,"points":"M7.9569,5.15517 L18.819,1.12069 L18.819,1.12069 L18.8448,1.12069 z"},{"id":"shape:38ce3200-761b-c172-6d84-836122f9ae76","type":"path","transform":"translate(0)","fillColor":"none","filter":null,"lineColor":"#152b00","fillOpac":null,"lineOpac":null,"lineWidth":0.1,"points":"M13.0517,1.74138 L19.9569,6.99138 L19.9569,6.99138 z"},{"id":"shape:046815e5-0137-b6f7-a367-bfc5384bfca8","type":"path","transform":"","fillColor":"none","filter":null,"lineColor":"#152b00","fillOpac":null,"lineOpac":null,"lineWidth":0.1,"points":"M12.9757,1.5087 L19.0625,0.655171 L20.3967,7.48284 L7,5.51732 L9.64045,3.65525 L9.64045,3.65525 z"},{"id":"shape:f6b5420c-2921-1274-6ded-749cd701a7c3","type":"image","transform":"","left":-0.396549,"top":8.69827,"width":21,"height":1.37069,"fillOpac":0.59,"href":"http://4.bp.blogspot.com/_HZ3YUNnUIUI/R952RCTTeoI/AAAAAAAADII/eBS_KPjlKqA/s1600/475593431_121bf9060d.jpg"},{"id":"shape:175689e6-1618-0343-b47f-79dfdb36440c","type":"path","transform":"","fillColor":"#ff2b8e","filter":null,"lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":1,"points":"M5.83619,10.0172 L5.83619,9.99139 L5.99136,9.78448 L6.17239,9.52586 L6.43101,9.1638 L6.76722,8.87931 L7.10343,8.64655 L7.33619,8.56896 L7.59481,8.51724 L8.0086,8.46552 L8.55171,8.51724 L9.04309,8.51724 L9.61205,8.5431 L10.3361,8.5431 L10.8274,8.5431 L11.1119,8.46552 L11.7068,8.43965 L12.2499,8.43965 L12.2758,8.41379 L12.1982,8.46552 L12.0171,8.51724 L11.6809,8.56896 L11.3447,8.72414 L11.0084,8.87931 L10.5429,9.11207 L10.181,9.26724 L9.76723,9.39655 L9.27585,9.60345 L8.7586,9.81034 L6.94826,10.3793 L6.7155,10.3793 L6.3017,10.4051 L5.99136,10.4051 L5.83619,10.4051 L5.7586,10.4051 L5.73274,10.4051 L5.70688,10.4051 z"},{"id":"shape:d708671d-8b30-c3ae-bca2-ada75bf34533","type":"path","transform":"","fillColor":"#00ff81","filter":null,"lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M9.27585,9.39656 L9.27585,9.37064 L9.27585,9.34466 L9.27585,9.31897 L9.27585,9.29305 L9.30178,9.29305 L9.30178,9.26707 L9.32768,9.24138 L9.37933,9.18946 L9.43103,9.16379 L9.50868,9.13785 L9.58633,9.0862 L9.66394,9.06026 L9.76736,9.00863 L9.89666,8.98265 L9.97428,8.95688 L10.0777,8.95688 L10.1553,8.93104 L10.207,8.93104 L10.2588,8.93104 L10.3105,8.93104 L10.3622,8.93104 L10.3881,8.93104 L10.4657,8.95688 L10.4915,9.00863 L10.5432,9.06026 L10.5691,9.06026 L10.595,9.13785 L10.6208,9.16379 L10.6467,9.21546 L10.6467,9.29305 L10.6467,9.31897 L10.6467,9.42227 L10.6467,9.44825 L10.595,9.49986 L10.5691,9.55172 L10.5691,9.57747 L10.5432,9.60345 L10.5174,9.62931 L10.5174,9.65506 L10.4915,9.65506 L10.4657,9.65506 L10.4398,9.68104 L10.4398,9.7069 L10.4139,9.73265 L10.3622,9.75863 L10.3105,9.75863 L10.2846,9.78428 L10.2588,9.78428 L10.207,9.78428 L10.1812,9.78428 L10.1036,9.78428 L10.026,9.78428 L9.97428,9.78428 L9.94838,9.78428 L9.89666,9.78428 L9.87085,9.78428 L9.84495,9.78428 L9.81912,9.78428 L9.79322,9.81026 L9.79322,9.8362 L9.79322,9.86187 L9.79322,9.91373 L9.79322,9.96557 L9.79322,9.99137 L9.79322,10.0173 L9.79322,10.069 L9.76736,10.069 L9.76736,10.0949 L9.76736,10.1207 L9.74156,10.1207 L9.71566,10.1466 L9.68986,10.1466 L9.66394,10.1466 L9.63804,10.1466 L9.61223,10.1466 L9.5604,10.1466 L9.5346,10.1466 L9.50868,10.1466 L9.45694,10.1466 L9.37933,10.1466 L9.32768,10.1466 L9.30178,10.1466 L9.27585,10.1466 L9.25005,10.1207 L9.22413,10.1207 L9.22413,10.0949 L9.19823,10.069 L9.17241,10.0432 L9.17241,10.0173 L9.17241,9.99137 L9.17241,9.96557 L9.17241,9.93946 L9.17241,9.91373 L9.19823,9.88785 L9.22413,9.86187 L9.25005,9.86187 L9.27585,9.8362 L9.30178,9.81026 L9.32768,9.81026 L9.32768,9.78428 L9.35348,9.78428 L9.35348,9.75863 L9.35348,9.73265 L9.35348,9.7069 L9.35348,9.68104 L9.32768,9.68104 L9.30178,9.68104 L9.22413,9.68104 L9.19823,9.68104 L9.1465,9.68104 L9.09486,9.68104 L9.06895,9.68104 L9.04306,9.7069 L9.01724,9.7069 L8.96542,9.7069 L8.93962,9.7069 L8.91371,9.7069 L8.88791,9.7069 L8.862,9.68104 L8.8362,9.65506 L8.8103,9.62931 L8.8103,9.60345 L8.78449,9.57747 L8.78449,9.55172 L8.78449,9.49986 L8.78449,9.47415 L8.78449,9.44825 L8.78449,9.42227 L8.78449,9.39656 L8.8103,9.37064 L8.8362,9.34466 L8.8362,9.31897 L8.862,9.31897 L8.862,9.29305 L8.88791,9.29305 L8.91371,9.29305 L8.93962,9.31897 L8.96542,9.34466 L8.96542,9.37064 L8.99134,9.37064 L8.99134,9.39656 L8.99134,9.42227 L9.01724,9.42227 L9.01724,9.44825 L9.04306,9.44825 L9.04306,9.47415 L9.06895,9.47415 z"},{"id":"shape:ea07c87c-903b-5d0d-dec2-ca2e9a3b5b4d","type":"path","transform":"","fillColor":"#00ff81","filter":null,"lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M16.6466,5.90516 L16.6466,5.87929 L16.6724,5.85343 L16.6983,5.85343 L16.7242,5.82757 L16.7242,5.80171 L16.75,5.80171 L16.8276,5.72412 L16.8276,5.69826 L16.9052,5.6724 L16.9311,5.6724 L16.9828,5.62067 L17.0604,5.62067 L17.138,5.62067 L17.1638,5.59481 L17.2155,5.59481 L17.2414,5.59481 L17.2931,5.59481 L17.319,5.59481 L17.319,5.62067 L17.3707,5.64654 L17.3707,5.6724 L17.3966,5.69826 L17.4224,5.72412 L17.4483,5.74998 L17.5,5.82757 L17.5259,5.82757 L17.5259,5.85343 L17.5517,5.90516 L17.5517,5.93102 L17.5517,5.95688 L17.5517,5.98274 L17.5517,6.0086 L17.5517,6.03447 L17.5517,6.06033 L17.5,6.06033 L17.5,6.08619 L17.4742,6.08619 L17.4742,6.11205 L17.4483,6.11205 L17.4224,6.11205 L17.4224,6.13791 L17.3966,6.13791 L17.3707,6.16378 L17.3707,6.18964 L17.3707,6.2155 L17.3707,6.24137 L17.3966,6.26722 L17.4224,6.29309 L17.4224,6.31895 L17.4483,6.31895 L17.4742,6.34481 L17.5,6.37067 L17.5259,6.39654 L17.5259,6.4224 L17.5517,6.4224 L17.5776,6.44826 L17.6035,6.47412 L17.6035,6.49998 L17.6035,6.52585 L17.6035,6.55171 L17.6035,6.57757 L17.6035,6.60343 L17.6035,6.62929 L17.6035,6.65516 L17.5776,6.65516 L17.5517,6.68102 L17.5259,6.70688 L17.5,6.70688 L17.2931,6.65516 L17.2673,6.62929 L17.2673,6.60343 L17.2414,6.60343 L17.2414,6.57757 L17.2155,6.57757 L17.1897,6.55171 L17.1638,6.55171 L17.138,6.52585 L17.138,6.49998 L17.1121,6.47412 L17.0862,6.47412 L17.0862,6.44826 L17.0604,6.44826 L17.0604,6.4224 L17.0345,6.39654 L17.0086,6.39654 L17.0086,6.37067 L16.9828,6.37067 L16.9828,6.34481 L16.9569,6.31895 L16.9311,6.31895 L16.9052,6.31895 L16.8793,6.31895 L16.8535,6.31895 L16.8276,6.31895 L16.8017,6.31895 L16.7759,6.34481 L16.75,6.34481 L16.7242,6.34481 L16.6983,6.34481 L16.6466,6.34481 L16.6207,6.34481 L16.5949,6.34481 L16.569,6.34481 L16.5431,6.34481 L16.5173,6.31895 L16.4914,6.29309 L16.4655,6.26722 L16.4397,6.24137 L16.4138,6.2155 L16.388,6.18964 L16.3621,6.16378 L16.3362,6.13791 L16.3104,6.11205 L16.3104,6.08619 L16.3104,6.06033 L16.3362,6.06033 L16.3621,6.03447 L16.388,6.03447 L16.4397,6.03447 L16.4655,6.03447 L16.5173,6.03447 L16.5431,6.03447 L16.5173,6.03447 L16.4914,6.0086 L16.4914,5.98274 L16.4655,5.98274 L16.4655,5.95688 L16.4397,5.93102 L16.4397,5.90516 L16.4397,5.87929 L16.4397,5.85343 L16.4397,5.82757 L16.4655,5.80171 L16.4914,5.80171 L16.5173,5.80171 L16.5431,5.80171 L16.569,5.80171 L16.5949,5.80171 z"},{"id":"shape:c407f647-5f79-c1be-a71b-61118b4b664b","type":"path","transform":"","fillColor":"#00ff81","filter":null,"lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M17.4483,5.56896 L17.4483,5.54311 L17.4483,5.51724 L17.4483,5.49138 L17.4742,5.49138 L17.4742,5.43964 L17.5,5.41379 L17.5258,5.38793 L17.5517,5.38793 L17.6293,5.36206 L17.681,5.33621 L17.7069,5.31034 L17.7586,5.31034 L17.7845,5.31034 L17.8103,5.31034 L17.8621,5.33621 L17.888,5.36206 L17.9138,5.38793 L17.9138,5.41379 L17.9397,5.43964 L17.9397,5.46552 L17.9397,5.51724 L17.9397,5.56896 L17.9138,5.59483 L17.9138,5.6207 L17.888,5.64655 L17.888,5.67242 L17.8621,5.69826 L17.8362,5.72414 L17.8103,5.72414 L17.7845,5.75001 L17.7845,5.77585 L17.8103,5.80172 L17.8362,5.82759 L17.8362,5.85344 L17.8621,5.85344 L17.888,5.85344 L17.9138,5.85344 L17.9397,5.85344 L17.9655,5.85344 L17.9655,5.87932 L17.9914,5.87932 L17.9914,5.90518 L17.9914,5.93103 L17.9914,5.9569 L17.9914,5.98277 L17.9914,6.00862 L17.9655,6.00862 L17.9397,6.00862 L17.9138,6.00862 L17.888,6.00862 L17.8621,6.00862 L17.8362,6.00862 L17.8103,6.00862 L17.7845,6.00862 L17.7586,6.00862 L17.7327,6.00862 L17.7069,6.00862 L17.7069,5.98277 L17.681,5.9569 L17.681,5.93103 L17.6551,5.93103 L17.6293,5.90518 L17.6034,5.87932 L17.5776,5.85344 L17.5517,5.82759 L17.5258,5.82759 L17.5,5.82759 L17.4742,5.82759 L17.4483,5.82759 L17.4224,5.82759 L17.3966,5.82759 L17.3449,5.82759 L17.319,5.82759 L17.2931,5.82759 L17.2673,5.82759 L17.2414,5.82759 L17.2155,5.80172 L17.1897,5.77585 L17.1638,5.75001 L17.1638,5.72414 L17.1638,5.69826 L17.1638,5.67242 L17.138,5.67242 L17.138,5.64655 L17.138,5.6207 L17.1638,5.6207 L17.1638,5.59483 L17.1897,5.59483 L17.1897,5.56896 L17.2155,5.56896 L17.2414,5.56896 L17.2673,5.59483 L17.2931,5.59483 L17.319,5.59483 L17.319,5.6207 L17.3449,5.6207 L17.319,5.6207 L17.3449,5.6207 L17.3707,5.6207 z"},{"id":"shape:85393087-45ed-2673-c138-e754d2b1c1d9","type":"path","transform":"","fillColor":"#00ff81","filter":null,"lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M9.58635,8.38794 L9.58635,8.36207 L9.61215,8.36207 L9.61215,8.33617 L9.63806,8.33617 L9.66385,8.31035 L9.68975,8.31035 L9.7415,8.31035 L9.7674,8.31035 L9.7933,8.31035 L9.8191,8.31035 L9.845,8.31035 L9.8709,8.31035 L9.89666,8.31035 L9.89666,8.33617 L9.92256,8.36207 L9.92256,8.38794 L9.92256,8.41376 L9.92256,8.43968 L9.89666,8.43968 L9.89666,8.46549 L9.8709,8.46549 L9.845,8.46549 L9.845,8.49135 L9.8191,8.51727 L9.8191,8.54308 L9.845,8.54308 L9.845,8.56894 L9.8709,8.56894 L9.8709,8.59483 L9.89666,8.59483 L9.89666,8.62065 L9.92256,8.64653 L9.89666,8.64653 L9.89666,8.67242 L9.8709,8.67242 L9.845,8.67242 L9.845,8.69822 L9.8191,8.69822 L9.7933,8.69822 L9.7674,8.69822 L9.7415,8.69822 L9.71565,8.69822 L9.71565,8.67242 L9.68975,8.64653 L9.66385,8.62065 L9.63806,8.62065 L9.63806,8.59483 L9.61215,8.56894 L9.58635,8.56894 L9.56045,8.56894 L9.53455,8.54308 L9.50876,8.54308 L9.48286,8.54308 L9.45695,8.54308 L9.43115,8.54308 L9.40523,8.51727 L9.37931,8.51727 L9.37931,8.49135 L9.3535,8.46549 L9.32758,8.43968 L9.32758,8.41376 L9.30177,8.41376 L9.27585,8.38794 L9.27585,8.36207 L9.25005,8.33617 L9.22415,8.31035 L9.22415,8.28448 L9.22415,8.25858 L9.22415,8.23276 L9.25005,8.23276 L9.27585,8.23276 L9.30177,8.23276 L9.32758,8.23276 L9.3535,8.23276 L9.37931,8.23276 L9.40523,8.23276 L9.40523,8.25858 L9.43115,8.25858 L9.45695,8.25858 L9.45695,8.28448 L9.48286,8.28448 L9.50876,8.28448 z"},{"id":"shape:a7ad8c08-f2f6-c444-f041-9ef614eea07f","type":"path","transform":"","fillColor":"#80d5ab","filter":null,"lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M18.0173,5.18104 L18.0429,5.18104 L18.0429,5.15518 L18.1206,5.12932 L18.1465,5.12932 L18.1724,5.12932 L18.1983,5.12932 L18.2239,5.12932 L18.3016,5.12932 L18.3275,5.12932 L18.3533,5.12932 L18.4049,5.12932 L18.431,5.12932 L18.4569,5.12932 L18.4825,5.15518 L18.4825,5.18104 L18.4825,5.20691 L18.4825,5.23277 L18.4825,5.25863 L18.4569,5.25863 L18.4569,5.2845 L18.4569,5.33621 L18.4569,5.36209 L18.4569,5.38794 L18.4049,5.38794 L18.4049,5.4138 L18.4049,5.43966 L18.3792,5.43966 L18.3533,5.43966 L18.3533,5.46552 L18.3275,5.46552 L18.3016,5.46552 L18.3275,5.46552 L18.3533,5.49139 L18.3275,5.49139 L18.3016,5.49139 L18.3275,5.51725 L18.3275,5.54311 L18.3016,5.54311 L18.2757,5.54311 L18.2757,5.56897 L18.2498,5.56897 L18.2239,5.56897 L18.1983,5.56897 L18.1724,5.56897 L18.0947,5.49139 L18.0688,5.49139 L18.0173,5.46552 L17.9914,5.46552 L18.0173,5.49139 L17.9653,5.46552 L17.9653,5.43966 L17.9137,5.38794 L17.8879,5.38794 L17.8879,5.36209 L17.862,5.33621 L17.7069,5.00001 L17.7328,5.00001 L17.7328,4.94828 L17.7584,4.92242 L17.7843,4.92242 L17.8102,4.89656 L17.8102,4.8707 L17.862,4.84483 L17.8879,4.84483 L17.9137,4.84483 L17.9396,4.84483 L17.9653,4.84483 L17.9914,4.8707 L17.9914,4.89656 L17.9914,4.92242 L18.0173,4.94828 L17.9914,4.94828 L17.9914,4.97414 L17.9914,5.00001 L17.9914,5.02587 L17.9653,5.02587 L17.9396,5.02587 L17.9137,5.02587 L17.8879,5.02587 L17.8879,5.05173 L17.862,5.05173 L17.8879,5.07759 L17.8879,5.10345 L17.862,5.07759 L17.8361,5.05173 L17.8102,5.05173 z"},{"id":"shape:71672a5b-a35d-56fc-72ca-6eb60fd44a37","type":"path","transform":"","fillColor":"#80d5ab","filter":null,"lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M17.7586,5.41379 L17.7586,5.38792 L17.7586,5.36207 L17.7845,5.36207 L17.7845,5.33621 L17.8104,5.31033 L17.8362,5.31033 L17.8621,5.31033 L17.9138,5.28448 L17.9655,5.28448 L18.0172,5.28448 L18.0172,5.31033 L18.0431,5.31033 L18.0431,5.33621 L18.069,5.33621 L18.069,5.36207 L18.0948,5.38792 L18.1207,5.38792 L18.1207,5.41379 L18.1207,5.43964 L18.1207,5.46551 L18.1207,5.49138 L18.1207,5.51723 L18.1207,5.54309 L18.1207,5.56896 L18.1207,5.59482 L18.0948,5.59482 L18.069,5.59482 L18.069,5.62068 L18.0431,5.62068 L18.0431,5.64655 L18.0431,5.67241 L18.069,5.69827 L18.0948,5.69827 L18.1207,5.69827 L18.1207,5.72414 L18.1466,5.72414 L18.1724,5.75 L18.1724,5.77586 L18.1983,5.77586 L18.1983,5.80172 L18.1983,5.82759 L18.1983,5.85345 L18.1724,5.85345 L18.1466,5.87931 L18.1207,5.87931 L18.0948,5.87931 L18.069,5.87931 L18.0431,5.87931 L18.0172,5.87931 L17.9914,5.87931 L17.9655,5.87931 L17.9397,5.87931 L17.9397,5.85345 L17.9138,5.82759 L17.8879,5.80172 L17.8621,5.77586 L17.8621,5.75 L17.8621,5.72414 L17.8362,5.72414 L17.8362,5.69827 L17.8362,5.67241 L17.8104,5.67241 L17.8104,5.64655 L17.7845,5.62068 L17.7586,5.62068 L17.7328,5.62068 L17.7069,5.62068 L17.681,5.59482 L17.6552,5.59482 L17.6293,5.56896 L17.6035,5.54309 L17.5776,5.54309 L17.5776,5.51723 L17.5776,5.49138 L17.5517,5.49138 L17.5259,5.46551 L17.5,5.43964 L17.4742,5.41379 L17.4483,5.38792 L17.4483,5.36207 L17.4483,5.33621 L17.4742,5.33621 L17.5,5.33621 L17.5517,5.33621 L17.5776,5.33621 L17.6035,5.33621 L17.6552,5.36207 z"},{"id":"shape:5805db86-501b-311d-877c-73c501cb2d0c","type":"path","transform":"","fillColor":"#aa557f","filter":null,"lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M17.7328,5.80173 L17.7586,5.77587 L17.7845,5.75001 L17.7845,5.72414 L17.8104,5.69829 L17.8362,5.69829 L17.8362,5.67241 L17.8621,5.67241 L17.8879,5.67241 L17.9138,5.67241 L17.9397,5.67241 L17.9655,5.67241 L17.9914,5.67241 L18.0173,5.67241 L18.0431,5.69829 L18.069,5.72414 L18.0948,5.75001 L18.0948,5.77587 L18.0948,5.80173 L18.0948,5.82759 L18.0948,5.85345 L18.069,5.87932 L18.069,5.90519 L18.069,5.93103 L18.0431,5.93103 L18.0431,5.9569 L17.9914,5.9569 L17.9914,5.98277 L17.9655,5.98277 L17.9397,6.00862 L17.9397,6.03449 L17.9138,6.03449 L17.8879,6.06036 L17.8621,6.06036 L17.8621,6.0862 L17.8879,6.0862 L17.8879,6.11207 L17.9138,6.11207 L17.9138,6.13795 L17.9138,6.1638 L17.9397,6.18966 L17.9397,6.21553 L17.9655,6.24139 L17.9655,6.26724 L17.9655,6.29312 L17.9655,6.31897 L17.9397,6.31897 L17.9138,6.34482 L17.8879,6.34482 L17.8621,6.34482 L17.8362,6.34482 L17.8104,6.34482 L17.7845,6.34482 L17.7586,6.34482 L17.7328,6.34482 L17.7069,6.34482 L17.681,6.34482 L17.6551,6.34482 L17.6551,6.31897 L17.6293,6.31897 L17.6293,6.29312 L17.6034,6.29312 L17.5776,6.26724 L17.5776,6.24139 L17.5776,6.21553 L17.5517,6.18966 L17.5258,6.1638 L17.5258,6.13795 L17.5,6.11207 L17.5,6.0862 L17.5,6.06036 L17.5,6.03449 L17.5,6.00862 L17.5,5.98277 L17.5,5.9569 L17.5,5.93103 L17.5,5.90519 L17.5,5.87932 L17.5,5.85345 L17.5,5.82759 L17.5,5.80173 L17.4741,5.77587 L17.4741,5.75001 L17.4482,5.72414 L17.4482,5.69829 L17.4482,5.67241 L17.4224,5.64656 L17.4224,5.6207 L17.4224,5.59482 L17.4482,5.59482 L17.4482,5.56897 L17.4482,5.54311 L17.4741,5.54311 L17.5,5.54311 L17.5,5.56897 L17.5258,5.56897 L17.5258,5.59482 L17.5517,5.59482 L17.5517,5.6207 L17.5517,5.64656 L17.5517,5.67241 L17.5517,5.69829 L17.5517,5.72414 L17.5776,5.72414 L17.5776,5.75001 L17.5517,5.75001 L17.5776,5.75001 L17.5776,5.77587 L17.6034,5.77587 L17.6293,5.80173 L17.6551,5.82759 L17.681,5.82759 z"},{"id":"shape:cb7fbbd6-6146-792c-97fe-d0d0cc8f502f","type":"path","transform":"","fillColor":"#aaaaaa","filter":null,"lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M18.069,5.56896 L18.069,5.5431 L18.069,5.51724 L18.0949,5.51724 L18.1207,5.46551 L18.1466,5.46551 L18.1983,5.41379 L18.2501,5.41379 L18.2758,5.41379 L18.3017,5.41379 L18.3276,5.41379 L18.4052,5.46551 L18.4311,5.49138 L18.4311,5.51724 L18.4311,5.5431 L18.4311,5.56896 L18.4311,5.59482 L18.4052,5.62069 L18.4052,5.64655 L18.4052,5.67241 L18.3794,5.67241 L18.3535,5.69827 L18.3276,5.69827 L18.3017,5.69827 L18.2758,5.69827 L18.2758,5.72414 L18.3017,5.75 L18.3276,5.77586 L18.3017,5.77586 L18.3276,5.80172 L18.3276,5.82758 L18.3276,5.85345 L18.3276,5.87931 L18.3276,5.90517 L18.3017,5.90517 L18.2758,5.93103 L18.2501,5.93103 L18.2242,5.93103 L18.1983,5.93103 L18.1725,5.93103 L18.1466,5.93103 L18.1207,5.93103 L18.0949,5.93103 L18.069,5.90517 L18.069,5.87931 L18.0431,5.87931 L18.0172,5.85345 L17.9915,5.82758 L17.9656,5.80172 L17.9397,5.77586 L17.9397,5.75 L17.9397,5.72414 L17.9397,5.69827 L17.9397,5.67241 L17.9397,5.59482 L17.9656,5.56896 z"},{"id":"shape:e36f5144-74b8-e6bb-90c1-30f377dd9612","type":"path","transform":"","fillColor":"#aaaaaa","filter":null,"lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M17.5775,4.1724 L17.6034,4.1724 L17.6034,4.14654 L17.6293,4.14654 L17.6293,4.12068 L17.6551,4.12068 L17.681,4.12068 L17.7069,4.12068 L17.7328,4.12068 L17.7585,4.12068 L17.7844,4.14654 L17.8103,4.14654 L17.8103,4.1724 L17.8362,4.19827 L17.8362,4.22413 L17.8362,4.24999 L17.8103,4.24999 L17.7844,4.24999 L17.7585,4.24999 L17.7328,4.24999 L17.7069,4.24999 L17.681,4.24999 L17.6551,4.24999 L17.6551,4.22413 z"},{"id":"shape:806f9b0f-a1e5-adb3-e212-8705618b6409","type":"path","transform":"","fillColor":"#aaaaaa","filter":null,"lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M17.7069,3.88793 L17.7327,3.91381 L17.7846,3.93967 L17.8104,3.96552 L17.8104,3.99138 L17.8363,3.99138 L17.8363,4.01725 L17.8363,4.04311 L17.8363,4.06897 L17.8363,4.09484 L17.8104,4.09484 L17.7846,4.09484 L17.7586,4.09484 L17.7327,4.09484 L17.7327,4.06897 L17.7327,4.04311 z"},{"id":"shape:4d059de2-d05a-fd66-adfc-86ccd09d14e2","type":"path","transform":"","fillColor":"#aaaaaa","filter":null,"lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M17.6811,3.91379 L17.707,3.93965 L17.707,3.96551 L17.7329,3.96551 L17.7587,3.96551 L17.7846,3.96551 L17.8105,3.96551 L17.7846,3.93965 L17.7587,3.91379 L17.7846,3.91379 L17.8105,3.91379 L17.8364,3.91379 L17.8105,3.88793 L17.7846,3.88793 z"},{"id":"shape:2ca0df2f-967d-90d6-8a87-4b8e3dc0cc06","type":"path","transform":"","fillColor":"#aaaaaa","filter":null,"lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M17.7069,4.81895 L17.7069,4.84481 L17.7328,4.84481 L17.7328,4.87067 L17.7328,4.89654 L17.7586,4.89654 L17.7845,4.9224 L17.8104,4.9224 L17.8363,4.9224 L17.8621,4.9224 L17.888,4.9224 L17.9138,4.9224 L17.9397,4.9224 L17.9655,4.9224 L17.9914,4.9224 L18.0172,4.9224 L18.0431,4.9224 L18.0431,4.89654 L18.0689,4.89654 L18.0948,4.89654 L18.0689,4.87067 L18.0431,4.84481 L18.0172,4.81895 L17.9914,4.79309 L17.9655,4.79309 L17.9397,4.79309 L17.9138,4.79309 L17.888,4.76723 L17.888,4.74136 L17.8621,4.74136 L17.8363,4.7155 L17.8104,4.68964 L17.7845,4.68964 L17.7586,4.68964 L17.7328,4.68964 L17.7069,4.68964 L17.681,4.68964 L17.6552,4.68964 z"},{"id":"shape:8f2c6f1b-17eb-dfc7-91b7-cf82efb92799","type":"path","transform":"","fillColor":"#d480aa","filter":null,"lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M17.6552,4.61207 L17.6293,4.58621 L17.6034,4.56035 L17.6034,4.53448 L17.6034,4.50862 L17.6034,4.48276 L17.6034,4.4569 L17.6293,4.4569 L17.6293,4.43104 L17.6552,4.43104 L17.6809,4.43104 L17.7068,4.43104 L17.7326,4.43104 L17.7585,4.4569 L17.7844,4.4569 L17.7844,4.48276 L17.7844,4.50862 L17.8103,4.53448 L17.8103,4.56035 L17.8103,4.58621 L17.8362,4.61207 L17.8621,4.61207 L17.8621,4.63793 L17.8879,4.63793 L17.8879,4.66379 L17.8879,4.68966 L17.8879,4.71552 L17.8879,4.74138 L17.8621,4.74138 L17.8621,4.76724 L17.8621,4.79311 L17.8362,4.79311 L17.8103,4.79311 L17.7844,4.79311 L17.7585,4.79311 L17.7326,4.79311 L17.7068,4.79311 L17.6809,4.79311 L17.6552,4.76724 L17.6552,4.74138 L17.6552,4.71552 L17.6293,4.68966 L17.6034,4.68966 L17.6034,4.66379 L17.6034,4.63793 L17.6034,4.61207 z"},{"id":"shape:38add693-721a-6912-f5eb-83a75e493c16","type":"path","transform":"","fillColor":"#d480aa","filter":null,"lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M17.7328,3.50001 L17.7328,3.47415 L17.7328,3.44829 L17.7587,3.44829 L17.7846,3.47415 L17.8105,3.50001 L17.8105,3.52587 L17.8105,3.55173 L17.8105,3.5776 L17.7846,3.5776 L17.7587,3.5776 L17.7328,3.5776 L17.7069,3.5776 L17.6811,3.5776 L17.6552,3.5776 L17.6552,3.55173 z"},{"id":"shape:dc758202-4099-90ae-d205-ad78dcff78f6","type":"path","transform":"","fillColor":"#d480aa","filter":null,"lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M17.6294,4.22413 L17.6551,4.22413 L17.681,4.22413 L17.7068,4.22413 L17.7327,4.22413 L17.7586,4.24999 L17.7844,4.27585 L17.7844,4.30171 L17.7844,4.32758 L17.7844,4.35344 L17.7844,4.3793 L17.7844,4.40516 L17.7586,4.40516 L17.7327,4.40516 L17.7068,4.40516 L17.681,4.3793 L17.6551,4.35344 L17.6294,4.32758 z"},{"id":"shape:3d623426-8992-9808-a9e4-fc000c78d7cc","type":"path","transform":"","fillColor":"#d480aa","filter":null,"lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M17.7068,3.44828 L17.7327,3.42242 L17.7327,3.39656 L17.7585,3.39656 L17.7585,3.3707 L17.7844,3.3707 L17.8103,3.3707 L17.8103,3.39656 L17.8361,3.39656 L17.862,3.42242 L17.862,3.44828 L17.8879,3.47414 L17.8879,3.5 L17.862,3.5 L17.8361,3.5 z"},{"id":"shape:1cb5dc84-d4f3-3613-f6b0-d5d49b96f16e","type":"path","transform":"","fillColor":"#d480aa","filter":null,"lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M17.6551,3.21552 L17.681,3.21552 L17.707,3.21552 L17.707,3.18966 L17.7329,3.18966 L17.7586,3.18966 L17.7845,3.18966 L17.8104,3.21552 L17.8362,3.21552 L17.8362,3.24139 L17.8362,3.26725 L17.8104,3.26725 L17.8104,3.29311 L17.8104,3.31897 L17.7845,3.31897 z"},{"id":"shape:a3f37303-b9c9-409e-7f78-dc67cc236695","type":"path","transform":"","fillColor":"#d480aa","filter":null,"lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M17.6034,3.75861 L17.6293,3.75861 L17.6552,3.75861 L17.681,3.75861 L17.7069,3.75861 L17.7327,3.75861 L17.7586,3.75861 L17.7845,3.75861 L17.8103,3.73275 L17.7845,3.70689 L17.7586,3.68103 L17.7327,3.68103 L17.7845,3.70689 L17.8103,3.70689 L17.7845,3.70689 L17.8103,3.73275 L17.8103,3.75861 L17.8103,3.78448 L17.8103,3.81034 L17.8103,3.8362 L17.7845,3.8362 L17.7586,3.8362 L17.7327,3.8362 z"},{"id":"shape:ae5d5222-754f-ec64-c39f-2c48426b1b85","type":"path","transform":"","fillColor":"#d480aa","filter":null,"lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":null,"points":"M17.681,3.70689 L17.681,3.68103 L17.7069,3.68103 L17.7069,3.65516 L17.7329,3.6293 L17.7586,3.6293 L17.8104,3.6293 L17.8104,3.65516 L17.8363,3.65516 L17.8363,3.68103 L17.8621,3.68103 L17.8621,3.70689 L17.8621,3.73275 L17.8363,3.73275 L17.8363,3.75861 L17.8104,3.75861 L17.7845,3.75861 L17.7586,3.75861 z"},{"id":"shape:82767852-162f-3367-139a-d8b89d3dd930","type":"path","transform":"","fillColor":"#1f8000","filter":null,"lineColor":"#3f8000","fillOpac":null,"lineOpac":null,"lineWidth":1,"points":"M3.94826,10.9998 L3.97412,10.948 L4.02584,10.9222 L4.0517,10.8704 L4.12929,10.7929 L4.18101,10.7153 L4.33619,10.586 L4.49136,10.4825 L4.87929,10.2499 L5.2155,10.1206 L5.60343,9.96539 L6.01721,9.81019 L6.37929,9.65512 L6.81895,9.52582 L7.18102,9.34486 L7.36204,9.29307 L7.69826,9.21548 L8.0603,9.16381 L8.47414,9.13801 L9.01723,9.13801 L9.61211,9.13801 L10.155,9.13801 L10.6206,9.13801 L10.8016,9.13801 L10.9051,9.13801 L11.1378,9.16381 L11.4741,9.26727 L11.8361,9.31896 L12.1723,9.37066 L12.6637,9.4741 L13.1034,9.52582 L13.5947,9.52582 L13.7758,9.52582 L13.9827,9.4741 L14.1896,9.39655 L14.4741,9.24137 L14.6034,9.1897 L14.7844,9.11211 L14.8879,9.0345 L14.9138,8.9828 L14.9138,8.95689 L14.9138,8.9311 L14.9138,8.90517 L14.9138,8.87926 L14.9138,8.85345 L14.9396,8.85345 L14.9655,8.85345 L14.9913,8.85345 L15.0172,8.85345 L15.0431,8.90517 L15.1465,9.0345 L15.2241,9.13801 L15.2241,9.29307 L15.2241,9.37066 L15.1724,9.44827 L15.0948,9.55161 L15.0689,9.62922 L15.0172,9.75852 L14.9396,9.8878 L14.8362,10.043 L14.7069,10.224 L14.6551,10.3792 L14.5517,10.5342 L14.4741,10.586 L14.3965,10.7153 L14.3448,10.767 L14.2672,10.7929 L14.112,10.9222 L13.9569,11.0256 L13.75,11.1808 L13.5947,11.2842 L13.4913,11.4135 L13.4137,11.4653 L13.2844,11.5687 L13.1551,11.698 L13.0775,11.8015 L12.9741,11.9049 L12.8706,11.9566 L12.8189,11.9825 L12.7672,12.0342 L12.6637,12.0601 L12.5085,12.1118 L12.3792,12.1635 L12.3016,12.2153 L12.1982,12.2411 L12.1206,12.2929 L11.9654,12.3446 L11.8103,12.448 L11.6809,12.5256 L11.5516,12.5773 L11.4482,12.6291 L11.3447,12.6808 L11.2154,12.7325 L10.9568,12.8618 L10.6982,12.9653 L10.4654,12.9653 L10.2844,12.9653 L10.0516,12.9653 L9.87066,12.9653 L9.58618,12.9653 L9.431,12.9653 L9.24998,12.9653 L9.09482,12.9653 L8.88789,12.9653 L8.57757,12.9653 L8.37066,12.9653 L8.16377,12.9653 L8.03446,12.9653 L7.87929,12.9653 L7.64653,12.9653 L7.64653,12.9394 L7.64653,13.0429 L7.38791,12.9911 L7.15515,12.9911 L6.87067,12.9911 L6.74136,12.9911 L6.48275,12.9911 L6.27584,12.9911 L5.99136,12.9911 L5.88791,12.9911 L5.83619,12.9911 L5.78445,12.9911 L5.65515,12.9911 L5.49998,12.9911 L5.37067,12.9911 L5.29308,13.017 L5.24136,13.017 L5.18962,13.017 L5.16377,13.017 L5.13791,13.017 L5.06032,13.017 L5.0086,13.017 L4.93101,13.017 L4.87929,13.017 L4.82757,13.017 L4.8017,13.017 L4.77584,13.017 L4.72412,13.017 L4.64653,13.017 L4.62067,13.017 L4.56895,13.017 L4.54308,13.017 L4.51721,13.017 L4.4655,13.017 L4.43962,13.017 L4.41377,13.017 L4.31032,13.017 L4.28445,13.017 L4.23275,13.017 L3.99998,13.017 L3.97412,13.017 L3.94826,13.017 L3.87067,12.9911 L3.81895,12.9653 L3.7155,12.9135 L3.66377,12.9135 L3.61205,12.8877 L3.5086,12.8877 L3.3017,12.8877 L3.17239,12.8877 L3.12067,12.8877 L3.04308,12.8877 L2.91377,12.8877 L2.83619,12.8877 L2.7586,12.8877 L2.73274,12.8877 L2.68101,12.8877 L2.62929,12.8877 L2.57757,12.8877 L2.60343,12.8877 L2.62929,12.8877 z"},{"id":"shape:c2a07665-d288-204b-6ff2-a70f6fa3ff62","type":"path","transform":"","fillColor":"#ff2bf8","filter":null,"lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":1,"points":"M8.34481,7.8448 L8.37061,7.8448 L8.39651,7.79309 L8.57755,7.58618 L8.83624,7.35344 L9.32787,6.99136 L9.71595,6.73273 L10.1558,6.37068 L10.5178,6.16377 L10.9574,6.03447 L11.1902,5.98275 L11.423,5.98275 L11.604,5.98275 L11.9661,6.06033 L12.3799,6.13792 L12.6902,6.2155 L13.1815,6.24136 L13.5695,6.31893 L14.035,6.3448 L14.5523,6.3448 L15.2506,6.29309 L15.7159,6.29309 L16.5437,6.29309 L17.0092,6.2155 L17.3973,6.16377 L17.5523,6.11206 L17.7076,6.06033 L17.8111,6.06033 L18.0437,6.03447 L18.1473,6.03447 L18.199,6.00861 L18.199,6.03447 L18.1731,6.06033 L18.0955,6.13792 L18.0437,6.16377 L17.9662,6.2155 L17.9404,6.24136 L17.8886,6.29309 L17.7851,6.3448 L17.7076,6.44826 L17.5523,6.57755 L17.3714,6.73273 L17.2162,6.83618 L17.0092,6.9655 L16.8539,7.06893 L16.5178,7.2241 L16.0521,7.45685 L15.8454,7.63791 L15.535,7.87068 L15.4315,7.92238 L15.3023,7.99997 L15.0954,8.02585 L14.6298,8.05169 L14.3454,8.05169 L14.1385,8.02585 L14.035,7.99997 L13.8023,7.94826 L13.5178,7.89653 L13.2851,7.87068 L13.104,7.87068 L12.8713,7.87068 L12.6643,7.8448 L12.4057,7.8448 L12.173,7.8448 L11.9143,7.8448 L11.6815,7.8448 L11.5263,7.8448 L11.2936,7.87068 L11.0091,7.92238 L10.7247,7.94826 L10.4143,7.9741 L10.2075,7.99997 L10.0265,8.02585 L9.87123,8.02585 L9.79359,8.02585 L9.69015,8.02585 L9.61251,8.02585 L9.53487,8.02585 L9.48306,8.02585 L9.40541,8.05169 L9.32787,8.05169 L9.22434,8.07755 L9.12089,8.07755 L9.04323,8.10344 L8.93969,8.12928 L8.83624,8.15511 L8.73274,8.181 L8.65514,8.20684 L8.55175,8.23274 L8.42245,8.23274 L8.34481,8.28447 L8.29311,8.31036 L8.24131,8.33616 L8.18961,8.36216 L8.11201,8.38796 L8.08621,8.38796 L8.03441,8.38796 L7.98271,8.38796 L7.90511,8.41387 L7.87931,8.41387 L7.85341,8.43967 L7.82751,8.43967 L7.77581,8.43967 L7.75001,8.43967 L7.69821,8.43967 L7.64653,8.43967 L7.59483,8.46556 L7.54313,8.51727 L7.49133,8.54317 L7.41383,8.56895 L7.38793,8.59487 L7.33623,8.59487 L7.28454,8.62076 L7.25864,8.62076 L7.23274,8.64656 L7.20694,8.69837 L7.12932,8.69837 L7.10342,8.69837 L7.07762,8.69837 L7.05172,8.69837 z"},{"id":"shape:dbe8da14-7d74-4986-5d8e-5d97c4d1f980","type":"path","transform":"","fillColor":"#aa004f","filter":null,"lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":1,"points":"M7.74997,8.38791 L8.0862,8.25863 L8.88796,8 L9.50896,7.8707 L10.0006,7.71552 L10.3109,7.61207 L10.7247,7.61207 L11.2419,7.61207 L11.8109,7.53448 L12.3023,7.48277 L12.742,7.3793 L13.1299,7.32761 L13.3627,7.30172 L13.7247,7.30172 L13.9833,7.35345 L14.3972,7.3793 L14.5782,7.3793 L14.7334,7.3793 L14.8886,7.3793 L14.9144,7.3793 L14.9402,7.3793 L14.9661,7.3793 L14.9661,7.40518 L14.9661,7.43104 L14.9402,7.43104 L14.9144,7.45689 L14.8368,7.53448 L14.7075,7.61207 L14.5265,7.76725 L14.3454,7.89654 L14.1644,8.02586 L13.9058,8.18104 L13.5179,8.33622 L13.3627,8.38791 L12.8454,8.36207 L12.1213,8.33622 L11.785,8.33622 L11.2936,8.31034 L10.5954,8.31034 L10.1816,8.31034 L9.71596,8.31034 L9.45714,8.31034 L9.48306,8.38791 L8.96545,8.41381 L8.62935,8.4655 L8.34479,8.54311 L8.11206,8.64655 L7.95688,8.64655 L7.85344,8.64655 L7.77585,8.64655 L7.64654,8.64655 L7.51722,8.64655 L7.3879,8.64655 L7.31031,8.64655 L7.23274,8.64655 L7.05172,8.67247 L6.87067,8.74996 L6.81895,8.77583 L6.76722,8.77583 L6.76722,8.80173 L6.76722,8.82751 L6.74136,8.82751 L6.71551,8.82751 z"},{"id":"shape:a993a37b-cf8e-1a26-d512-c98b30486894","type":"path","transform":"","fillColor":"#d50063","filter":null,"lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":1,"points":"M15.4311,6.42242 L16.8277,5.90517 L16.9053,5.90517 L17.1122,5.9569 L17.319,5.9569 L17.6294,5.9569 L17.9656,5.87931 L18.1725,5.82759 L18.2241,5.77586 L18.1984,5.77586 L18.1466,5.80172 L17.9656,5.93104 L17.7586,6.08621 L17.526,6.26724 L17.2931,6.42242 L17.1639,6.5 L16.9311,6.57759 L16.75,6.57759 L16.3881,6.57759 L16.026,6.57759 L15.5863,6.57759 L15.2242,6.57759 L14.9397,6.57759 L14.8104,6.57759 L14.7587,6.57759 L14.6811,6.57759 L14.6552,6.57759 L14.6035,6.57759 L14.5776,6.57759 z"},{"id":"shape:4f8153a6-67f1-ded1-e90a-05dd4f5e57de","type":"path","transform":"","fillColor":"#d50063","filter":null,"lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":0.1,"points":"M8.08622,8.64654 L8.18965,8.59482 L8.39652,8.51723 L8.70696,8.38792 L8.96561,8.28448 L9.22432,8.181 L9.30195,8.15518 L9.40539,8.1293 L9.50896,8.10341 L9.53477,8.07759 L9.6124,8.02584 L9.6124,8.05171 L9.6124,8.07759 L9.48306,8.23274 L9.40539,8.33618 L9.35368,8.43964 L9.25021,8.49136 L9.09493,8.59482 L8.9915,8.67241 L8.91391,8.67241 L8.8363,8.67241 L8.70696,8.67241 L8.60341,8.67241 L8.44823,8.67241 L8.31899,8.67241 L8.16379,8.67241 L8.08622,8.67241 L7.9569,8.67241 L7.87931,8.67241 L7.77584,8.67241 L7.75001,8.67241 L7.69825,8.67241 z"},{"id":"shape:1f27e960-db34-febb-ceb3-0f0793a6cf4e","type":"path","transform":"","fillColor":"#aa557c","filter":null,"lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":0.1,"points":"M14.2415,7.45689 L15.069,7.30172 L16.2586,7.14655 L16.957,6.86207 L17.2672,6.70689 L17.5776,6.55172 L17.8103,6.39655 L17.8362,6.37068 L17.8362,6.34483 L16.9311,7.35345 L16.6725,7.45689 L16.4139,7.48276 L15.9226,7.53448 L15.4311,7.5862 L15.0172,7.61207 L14.6811,7.61207 L14.2672,7.61207 L14.0603,7.61207 L13.8276,7.61207 L13.6466,7.61207 L13.3621,7.61207 L13.1551,7.61207 L12.9225,7.61207 L12.638,7.63793 L12.3792,7.68966 L11.9913,7.71552 L11.6551,7.74137 L11.3447,7.74137 L11.2412,7.74137 L11.1379,7.74137 L11.0861,7.74137 L11.0345,7.74137 z"},{"id":"shape:74f5cef1-ce08-600d-e384-958dac4704de","type":"path","transform":"","fillColor":"#805569","filter":null,"lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":0.1,"points":"M17.5777,6.11206 L17.6035,6.06034 L17.7845,5.98274 L17.9655,5.87931 L18.0173,5.82757 L18.069,5.82757 L18.1724,5.82757 L18.1724,5.87931 L18.1724,5.93102 L18.0431,6.11206 L17.9914,6.21551 L17.7586,6.37068 L17.4483,6.49999 L17.0604,6.57757 L16.75,6.60343 L16.4655,6.65516 L16.0777,6.70689 L15.5345,6.75861 L15.1207,6.81034 L14.8363,6.81034 L14.6811,6.81034 L14.6293,6.81034 L14.4741,6.81034 L14.3966,6.81034 L14.293,6.81034 L14.1637,6.81034 L14.0085,6.81034 L13.8275,6.81034 L13.5689,6.81034 L13.3103,6.83619 L13.1292,6.83619 L13.0259,6.83619 L12.8707,6.83619 L12.7155,6.83619 z"},{"id":"shape:93177ed1-1f6a-b50b-12a3-3a6ca8ae664e","type":"path","transform":"","fillColor":"#805569","filter":null,"lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":0.1,"points":"M17.2673,6.65517 L17.4743,6.52586 L17.7587,6.1638 L18.0689,5.90517 L18.0948,5.85345 L18.0948,5.80173 L18.0948,5.77586 L18.1725,5.85345 L18.2241,5.93104 L18.2758,5.98276 L18.25,6.08621 L18.0689,6.39655 L17.9396,6.47414 L17.681,6.55173 L17.2932,6.60345 L17.1639,6.65517 L16.9828,6.65517 L16.8276,6.65517 L16.75,6.65517 L16.6725,6.65517 L16.5948,6.65517 L16.5432,6.65517 L16.4655,6.60345 z"},{"id":"shape:3356fa31-7bda-9431-fb49-731e3cd9425d","type":"ellipse","transform":"rotate(2.23295, 5.38364, 2.52374)","fillColor":"#d5cb80","filter":null,"lineColor":"none","fillOpac":null,"lineOpac":null,"lineWidth":0.1,"width":2.56062,"height":2.35484,"left":4.10337,"top":1.2527000000000001},{"id":"shape:586870df-e743-85a8-f0e1-0455906e4ea3","type":"text","transform":"","textFamily":"Arial","textSize":2,"top":2.02586,"left":1.12931,"text":"s","lineWidth":0.1,"fillColor":"#ff6200","filter":null,"lineColor":"none","fillOpac":null,"lineOpac":null},{"id":"shape:047da402-5855-8964-3363-fd4fba0c981a","type":"text","transform":"","textFamily":"Arial","textSize":2,"top":3.79634,"left":1.16055,"text":"v","lineWidth":0.1,"fillColor":"#ff6200","filter":null,"lineColor":"none","fillOpac":null,"lineOpac":null},{"id":"shape:8517cf61-19c7-d05d-d84f-1fff0f1e78ed","type":"text","transform":"","textFamily":"Arial","textSize":2,"top":5.57542,"left":1.2694,"text":"g","lineWidth":0.1,"fillColor":"#ff6200","filter":null,"lineColor":"none","fillOpac":null,"lineOpac":null}]
   100.5 \ No newline at end of file
   101.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   101.2 +++ b/onlypaths/theme/css/README.txt	Sun Jan 31 12:33:33 2010 -0500
   101.3 @@ -0,0 +1,3 @@
   101.4 +2006-11-21 jvs:
   101.5 +ext-all.css contains all of the other css files combined and stripped of comments (except themes).
   101.6 +
   102.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   102.2 +++ b/onlypaths/theme/css/borders.css	Sun Jan 31 12:33:33 2010 -0500
   102.3 @@ -0,0 +1,61 @@
   102.4 +/*
   102.5 + * Ext JS Library 2.1
   102.6 + * Copyright(c) 2006-2008, Ext JS, LLC.
   102.7 + * licensing@extjs.com
   102.8 + * 
   102.9 + * http://extjs.com/license
  102.10 + */
  102.11 +
  102.12 +.x-panel-noborder .x-panel-body-noborder {
  102.13 +    border-width:0;
  102.14 +}
  102.15 +
  102.16 +.x-panel-noborder .x-panel-header-noborder {
  102.17 +    border-width:0;
  102.18 +    border-bottom:1px solid #99bbe8;
  102.19 +}
  102.20 +
  102.21 +.x-panel-noborder .x-panel-tbar-noborder .x-toolbar {
  102.22 +    border-width:0;
  102.23 +    border-bottom:1px solid #99bbe8;
  102.24 +}
  102.25 +
  102.26 +.x-panel-noborder .x-panel-bbar-noborder .x-toolbar {
  102.27 +    border-width:0;
  102.28 +    border-top:1px solid #99bbe8;
  102.29 +}
  102.30 +
  102.31 +.x-window-noborder .x-window-mc {
  102.32 +    border-width:0;
  102.33 +}
  102.34 +
  102.35 +.x-window-plain .x-window-body-noborder {
  102.36 +    border-width:0;
  102.37 +}
  102.38 +
  102.39 +.x-tab-panel-noborder .x-tab-panel-body-noborder {
  102.40 +	border-width:0;
  102.41 +}
  102.42 +
  102.43 +.x-tab-panel-noborder .x-tab-panel-header-noborder {
  102.44 +	border-top-width:0;
  102.45 +	border-left-width:0;
  102.46 +	border-right-width:0;
  102.47 +}
  102.48 +
  102.49 +.x-tab-panel-noborder .x-tab-panel-footer-noborder {
  102.50 +	border-bottom-width:0;
  102.51 +	border-left-width:0;
  102.52 +	border-right-width:0;
  102.53 +}
  102.54 +
  102.55 +
  102.56 +.x-tab-panel-bbar-noborder .x-toolbar {
  102.57 +    border-width:0;
  102.58 +    border-top:1px solid #99bbe8;
  102.59 +}
  102.60 +
  102.61 +.x-tab-panel-tbar-noborder .x-toolbar {
  102.62 +    border-width:0;
  102.63 +    border-bottom:1px solid #99bbe8;
  102.64 +}
  102.65 \ No newline at end of file
   103.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   103.2 +++ b/onlypaths/theme/css/box.css	Sun Jan 31 12:33:33 2010 -0500
   103.3 @@ -0,0 +1,111 @@
   103.4 +/*
   103.5 + * Ext JS Library 2.1
   103.6 + * Copyright(c) 2006-2008, Ext JS, LLC.
   103.7 + * licensing@extjs.com
   103.8 + * 
   103.9 + * http://extjs.com/license
  103.10 + */
  103.11 +
  103.12 +/*
  103.13 + Creates rounded, raised boxes like on the Ext website - the markup isn't pretty:
  103.14 +  <div class="x-box-blue">
  103.15 +        <div class="x-box-tl"><div class="x-box-tr"><div class="x-box-tc"></div></div></div>
  103.16 +        <div class="x-box-ml"><div class="x-box-mr"><div class="x-box-mc">
  103.17 +            <h3>YOUR TITLE HERE (optional)</h3>
  103.18 +            <div>YOUR CONTENT HERE</div>
  103.19 +        </div></div></div>
  103.20 +        <div class="x-box-bl"><div class="x-box-br"><div class="x-box-bc"></div></div></div>
  103.21 +    </div>
  103.22 + */
  103.23 +
  103.24 +.x-box-tl {
  103.25 +	background: transparent url(../images/default/box/corners.gif) no-repeat 0 0;
  103.26 +    zoom:1;
  103.27 +}
  103.28 +
  103.29 +.x-box-tc {
  103.30 +	height: 8px;
  103.31 +	background: transparent url(../images/default/box/tb.gif) repeat-x 0 0;
  103.32 +	overflow: hidden;
  103.33 +}
  103.34 +
  103.35 +.x-box-tr {
  103.36 +	background: transparent url(../images/default/box/corners.gif) no-repeat right -8px;
  103.37 +}
  103.38 +
  103.39 +.x-box-ml {
  103.40 +	background: transparent url(../images/default/box/l.gif) repeat-y 0;
  103.41 +	padding-left: 4px;
  103.42 +	overflow: hidden;
  103.43 +    zoom:1;
  103.44 +}
  103.45 +
  103.46 +.x-box-mc {
  103.47 +	background: #eee url(../images/default/box/tb.gif) repeat-x 0 -16px;
  103.48 +	padding: 4px 10px;
  103.49 +	font-family: "Myriad Pro","Myriad Web","Tahoma","Helvetica","Arial",sans-serif;
  103.50 +	color: #393939;
  103.51 +	font-size: 12px;
  103.52 +}
  103.53 +
  103.54 +.x-box-mc h3 {
  103.55 +	font-size: 14px;
  103.56 +	font-weight: bold;
  103.57 +	margin: 0 0 4px 0;
  103.58 +    zoom:1;
  103.59 +}
  103.60 +
  103.61 +.x-box-mr {
  103.62 +	background: transparent url(../images/default/box/r.gif) repeat-y right;
  103.63 +	padding-right: 4px;
  103.64 +	overflow: hidden;
  103.65 +}
  103.66 +
  103.67 +.x-box-bl {
  103.68 +	background: transparent url(../images/default/box/corners.gif) no-repeat 0 -16px;
  103.69 +    zoom:1;
  103.70 +}
  103.71 +
  103.72 +.x-box-bc {
  103.73 +	background: transparent url(../images/default/box/tb.gif) repeat-x 0 -8px;
  103.74 +	height: 8px;
  103.75 +	overflow: hidden;
  103.76 +}
  103.77 +
  103.78 +.x-box-br {
  103.79 +	background: transparent url(../images/default/box/corners.gif) no-repeat right -24px;
  103.80 +}
  103.81 +
  103.82 +.x-box-tl, .x-box-bl {
  103.83 +	padding-left: 8px;
  103.84 +	overflow: hidden;
  103.85 +}
  103.86 +
  103.87 +.x-box-tr, .x-box-br {
  103.88 +	padding-right: 8px;
  103.89 +	overflow: hidden;
  103.90 +}
  103.91 +
  103.92 +.x-box-blue .x-box-bl, .x-box-blue .x-box-br, .x-box-blue .x-box-tl, .x-box-blue .x-box-tr {
  103.93 +	background-image: url(../images/default/box/corners-blue.gif);
  103.94 +}
  103.95 +
  103.96 +.x-box-blue .x-box-bc, .x-box-blue .x-box-mc, .x-box-blue .x-box-tc {
  103.97 +	background-image: url(../images/default/box/tb-blue.gif);
  103.98 +}
  103.99 +
 103.100 +.x-box-blue .x-box-mc {
 103.101 +	background-color: #c3daf9;
 103.102 +}
 103.103 +
 103.104 +.x-box-blue .x-box-mc h3 {
 103.105 +	color: #17385b;
 103.106 +}
 103.107 +
 103.108 +.x-box-blue .x-box-ml {
 103.109 +	background-image: url(../images/default/box/l-blue.gif);
 103.110 +}
 103.111 +
 103.112 +.x-box-blue .x-box-mr {
 103.113 +	background-image: url(../images/default/box/r-blue.gif);
 103.114 +}
 103.115 \ No newline at end of file
   104.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   104.2 +++ b/onlypaths/theme/css/button.css	Sun Jan 31 12:33:33 2010 -0500
   104.3 @@ -0,0 +1,159 @@
   104.4 +/*
   104.5 + * Ext JS Library 2.1
   104.6 + * Copyright(c) 2006-2008, Ext JS, LLC.
   104.7 + * licensing@extjs.com
   104.8 + * 
   104.9 + * http://extjs.com/license
  104.10 + */
  104.11 +
  104.12 +.x-btn{
  104.13 +	font:normal 11px tahoma, verdana, helvetica;
  104.14 +	cursor:pointer;
  104.15 +	white-space: nowrap;
  104.16 +}
  104.17 +.x-btn button{
  104.18 +    border:0 none;
  104.19 +    background:transparent;
  104.20 +    font:normal 11px tahoma,verdana,helvetica;
  104.21 +    padding-left:3px;
  104.22 +    padding-right:3px;
  104.23 +    cursor:pointer;
  104.24 +    margin:0;
  104.25 +    overflow:visible;
  104.26 +    width:auto;
  104.27 +    -moz-outline:0 none;
  104.28 +    outline:0 none;
  104.29 +}
  104.30 +* html .ext-ie .x-btn button {
  104.31 +    width:1px;
  104.32 +}
  104.33 +.ext-gecko .x-btn button {
  104.34 +    padding-left:0;
  104.35 +    padding-right:0;
  104.36 +}
  104.37 +.ext-ie .x-btn button {
  104.38 +    padding-top:2px;
  104.39 +}
  104.40 +/*
  104.41 + Predefined css class for buttons with only icon. Add this class (x-btn-icon) and a class with a background-image
  104.42 + to your button for a button with just an icon.
  104.43 + e.g.
  104.44 + .my-class .x-btn-text { background-image: url(foo.gif); }
  104.45 + */
  104.46 + 
  104.47 +.x-btn-icon .x-btn-center .x-btn-text{
  104.48 +	background-position: center;
  104.49 +	background-repeat: no-repeat;
  104.50 +	height: 16px;
  104.51 +	width: 16px;
  104.52 +	cursor:pointer;
  104.53 +	white-space: nowrap;
  104.54 +    padding:0;
  104.55 +}
  104.56 +.x-btn-icon .x-btn-center{
  104.57 +	padding:1px;
  104.58 +}
  104.59 +.x-btn em {
  104.60 +    font-style:normal;
  104.61 +    font-weight:normal;
  104.62 +}
  104.63 +/*
  104.64 + Button class for icon and text. Add this class (x-btn-text-icon) and a class with a background-image
  104.65 + to your button for both text and icon. 
  104.66 +*/
  104.67 +
  104.68 +.x-btn-text-icon .x-btn-center .x-btn-text{
  104.69 +	background-position: 0 2px;
  104.70 +	background-repeat: no-repeat;
  104.71 +	padding-left:18px;
  104.72 +	padding-top:3px;
  104.73 +	padding-bottom:2px;
  104.74 +    padding-right:0;
  104.75 +}
  104.76 +
  104.77 +.x-btn-left, .x-btn-right{
  104.78 +	font-size:1px;
  104.79 +    line-height:1px;
  104.80 +}
  104.81 +.x-btn-left{
  104.82 +	width:3px;
  104.83 +	height:21px;
  104.84 +	background:url(../images/default/button/btn-sprite.gif) no-repeat 0 0;
  104.85 +}
  104.86 +.x-btn-right{
  104.87 +	width:3px;
  104.88 +	height:21px;
  104.89 +	background:url(../images/default/button/btn-sprite.gif) no-repeat 0 -21px;
  104.90 +}
  104.91 +.x-btn-left i, .x-btn-right i{
  104.92 +	display:block;
  104.93 +    width:3px;
  104.94 +    overflow:hidden;
  104.95 +    font-size:1px;
  104.96 +    line-height:1px;
  104.97 +}
  104.98 +.x-btn-center{
  104.99 +	background:url(../images/default/button/btn-sprite.gif) repeat-x 0 -42px;
 104.100 +	vertical-align: middle;
 104.101 +	text-align:center;
 104.102 +	padding:0 5px;
 104.103 +	cursor:pointer;
 104.104 +	white-space:nowrap;
 104.105 +}
 104.106 +.x-btn-over .x-btn-left{
 104.107 +	background-position:0 -63px;
 104.108 +}
 104.109 +.x-btn-over .x-btn-right{
 104.110 +	background-position:0 -84px;
 104.111 +}
 104.112 +.x-btn-over .x-btn-center{
 104.113 +	background-position:0 -105px;
 104.114 +}
 104.115 +.x-btn-click .x-btn-center, .x-btn-menu-active .x-btn-center{
 104.116 +	background-position:0 -126px;
 104.117 +}
 104.118 +.x-btn-disabled *{
 104.119 +	color:gray !important;
 104.120 +	cursor:default !important;
 104.121 +}
 104.122 +.x-btn-menu-text-wrap .x-btn-center {
 104.123 +	padding:0 3px;
 104.124 +}
 104.125 +.ext-gecko .x-btn-menu-text-wrap .x-btn-center {
 104.126 +	padding:0 1px;
 104.127 +}
 104.128 +.x-btn-menu-arrow-wrap .x-btn-center {
 104.129 +    padding:0;
 104.130 +}
 104.131 +.x-btn-menu-arrow-wrap .x-btn-center button {
 104.132 +	width:12px !important;
 104.133 +    height:21px;
 104.134 +    padding:0 !important;
 104.135 +    display:block;
 104.136 +    background:transparent url(../images/default/button/btn-arrow.gif) no-repeat left 3px;
 104.137 +}
 104.138 +.x-btn-with-menu  .x-btn-center {
 104.139 +    padding-right:2px !important;
 104.140 +}
 104.141 +.x-btn-with-menu  .x-btn-center em {
 104.142 +    display:block;
 104.143 +    background:transparent url(../images/default/toolbar/btn-arrow.gif) no-repeat right 0;
 104.144 +	padding-right:10px;
 104.145 +}
 104.146 +
 104.147 +.x-btn-text-icon .x-btn-with-menu .x-btn-center em {
 104.148 +    display:block;
 104.149 +    background:transparent url(../images/default/toolbar/btn-arrow.gif) no-repeat right 3px;
 104.150 +	padding-right:10px;
 104.151 +}
 104.152 +
 104.153 +/* Toggle button styles */
 104.154 +.x-btn-pressed .x-btn-left{
 104.155 +	background: url(../images/default/button/btn-sprite.gif) no-repeat 0 -63px;
 104.156 +}
 104.157 +.x-btn-pressed .x-btn-right{
 104.158 +	background: url(../images/default/button/btn-sprite.gif) no-repeat 0 -84px;
 104.159 +}
 104.160 +.x-btn-pressed .x-btn-center{
 104.161 +	background: url(../images/default/button/btn-sprite.gif) repeat-x 0 -126px;
 104.162 +}
 104.163 \ No newline at end of file
   105.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   105.2 +++ b/onlypaths/theme/css/combo.css	Sun Jan 31 12:33:33 2010 -0500
   105.3 @@ -0,0 +1,55 @@
   105.4 +/*
   105.5 + * Ext JS Library 2.1
   105.6 + * Copyright(c) 2006-2008, Ext JS, LLC.
   105.7 + * licensing@extjs.com
   105.8 + * 
   105.9 + * http://extjs.com/license
  105.10 + */
  105.11 +
  105.12 +.x-combo-list {
  105.13 +    border:1px solid #98c0f4;
  105.14 +    background:#ddecfe;
  105.15 +    zoom:1;
  105.16 +    overflow:hidden;
  105.17 +}
  105.18 +.x-combo-list-inner {
  105.19 +    overflow:auto;
  105.20 +    background:white;
  105.21 +    position:relative; /* for calculating scroll offsets */
  105.22 +    zoom:1;
  105.23 +    overflow-x:hidden;
  105.24 +}
  105.25 +.x-combo-list-hd {
  105.26 +    font:bold 11px tahoma, arial, helvetica, sans-serif;
  105.27 +    color:#15428b;
  105.28 +    background-image: url(../images/default/layout/panel-title-light-bg.gif);
  105.29 +    border-bottom:1px solid #98c0f4;
  105.30 +    padding:3px;
  105.31 +}
  105.32 +.x-resizable-pinned .x-combo-list-inner {
  105.33 +    border-bottom:1px solid #98c0f4;
  105.34 +}
  105.35 +.x-combo-list-item {
  105.36 +    font:normal 12px tahoma, arial, helvetica, sans-serif;
  105.37 +    padding:2px;
  105.38 +    border:1px solid #fff;
  105.39 +    white-space: nowrap;
  105.40 +    overflow:hidden;
  105.41 +    text-overflow: ellipsis;
  105.42 +}
  105.43 +.x-combo-list .x-combo-selected{
  105.44 +	border:1px dotted #a3bae9 !important;
  105.45 +    background:#DFE8F6;
  105.46 +    cursor:pointer;
  105.47 +}
  105.48 +.x-combo-noedit{
  105.49 +    cursor:pointer;
  105.50 +}
  105.51 +.x-combo-list .x-toolbar {
  105.52 +    border-top:1px solid #98c0f4;
  105.53 +    border-bottom:0 none;
  105.54 +}
  105.55 +
  105.56 +.x-combo-list-small .x-combo-list-item {
  105.57 +    font:normal 11px tahoma, arial, helvetica, sans-serif;
  105.58 +}
  105.59 \ No newline at end of file
   106.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   106.2 +++ b/onlypaths/theme/css/core.css	Sun Jan 31 12:33:33 2010 -0500
   106.3 @@ -0,0 +1,314 @@
   106.4 +/*
   106.5 + * Ext JS Library 2.1
   106.6 + * Copyright(c) 2006-2008, Ext JS, LLC.
   106.7 + * licensing@extjs.com
   106.8 + * 
   106.9 + * http://extjs.com/license
  106.10 + */
  106.11 +
  106.12 +.ext-el-mask {
  106.13 +    z-index: 20000;
  106.14 +    position: absolute;
  106.15 +    top:0;
  106.16 +    left:0;
  106.17 +    -moz-opacity: 0.5;
  106.18 +    opacity: .50;
  106.19 +    filter: alpha(opacity=50);
  106.20 +    background-color: #CCC;
  106.21 +    width: 100%;
  106.22 +    height: 100%;
  106.23 +    zoom: 1;
  106.24 +}
  106.25 +.ext-el-mask-msg {
  106.26 +    z-index: 20001;
  106.27 +    position: absolute;
  106.28 +    top: 0;
  106.29 +    left: 0;
  106.30 +    border:1px solid #6593cf;
  106.31 +    background: #c3daf9 url(../images/default/box/tb-blue.gif) repeat-x 0 -16px;
  106.32 +    padding:2px;
  106.33 +}
  106.34 +.ext-el-mask-msg div {
  106.35 +    padding:5px 10px 5px 10px;
  106.36 +    background: #eee;
  106.37 +    border:1px solid #a3bad9;
  106.38 +    color:#222;
  106.39 +    font:normal 11px tahoma, arial, helvetica, sans-serif;
  106.40 +    cursor:wait;
  106.41 +}
  106.42 +
  106.43 +.ext-shim {
  106.44 +    position:absolute;
  106.45 +    visibility:hidden;
  106.46 +    left:0;
  106.47 +    top:0;
  106.48 +    overflow:hidden;
  106.49 +}
  106.50 +.ext-ie .ext-shim {
  106.51 +    filter: alpha(opacity=0);
  106.52 +}
  106.53 +.ext-ie6 .ext-shim {
  106.54 +    margin-left: 5px;
  106.55 +    margin-top: 3px;
  106.56 +}
  106.57 +
  106.58 +.x-mask-loading div {
  106.59 +    padding:5px 10px 5px 25px;
  106.60 +    background: #fbfbfb url( '../images/default/grid/loading.gif' ) no-repeat 5px 5px;
  106.61 +    line-height: 16px;
  106.62 +}
  106.63 +/* class for hiding elements without using display:none */
  106.64 +.x-hidden, .x-hide-offsets {
  106.65 +    position:absolute;
  106.66 +    left:-10000px;
  106.67 +    top:-10000px;
  106.68 +    visibility:hidden;
  106.69 +}
  106.70 +.x-hide-display {
  106.71 +    display:none !important;
  106.72 +}
  106.73 +
  106.74 +.x-hide-visibility {
  106.75 +    visibility:hidden !important;
  106.76 +}
  106.77 +
  106.78 +.x-masked {
  106.79 +    overflow: hidden !important;
  106.80 +}
  106.81 +
  106.82 +.x-masked select, .x-masked object, .x-masked embed {
  106.83 +    visibility: hidden;
  106.84 +}
  106.85 +
  106.86 +.x-layer {
  106.87 +    visibility: hidden;
  106.88 +}
  106.89 +
  106.90 +.x-unselectable, .x-unselectable * {
  106.91 +    -moz-user-select: none;
  106.92 +    -khtml-user-select: none;
  106.93 +}
  106.94 +
  106.95 +.x-repaint {
  106.96 +    zoom: 1;
  106.97 +    background-color: transparent;
  106.98 +    -moz-outline: none;
  106.99 +}
 106.100 +
 106.101 +.x-item-disabled {
 106.102 +    color: gray;
 106.103 +    cursor: default;
 106.104 +    opacity: .6;
 106.105 +    -moz-opacity: .6;
 106.106 +    filter: alpha(opacity=60);
 106.107 +}
 106.108 +
 106.109 +.x-item-disabled * {
 106.110 +    color: gray !important;
 106.111 +    cursor: default !important;
 106.112 +}
 106.113 +
 106.114 +.x-splitbar-proxy {
 106.115 +    position: absolute;
 106.116 +    visibility: hidden;
 106.117 +    z-index: 20001;
 106.118 +    background: #aaa;
 106.119 +    zoom: 1;
 106.120 +    line-height: 1px;
 106.121 +    font-size: 1px;
 106.122 +    overflow: hidden;
 106.123 +}
 106.124 +
 106.125 +.x-splitbar-h, .x-splitbar-proxy-h {
 106.126 +    cursor: e-resize;
 106.127 +    cursor: col-resize;
 106.128 +}
 106.129 +
 106.130 +.x-splitbar-v, .x-splitbar-proxy-v {
 106.131 +    cursor: s-resize;
 106.132 +    cursor: row-resize;
 106.133 +}
 106.134 +
 106.135 +.x-color-palette {
 106.136 +    width: 150px;
 106.137 +    height: 92px;
 106.138 +    cursor: pointer;
 106.139 +}
 106.140 +
 106.141 +.x-color-palette a {
 106.142 +    border: 1px solid #fff;
 106.143 +    float: left;
 106.144 +    padding: 2px;
 106.145 +    text-decoration: none;
 106.146 +    -moz-outline: 0 none;
 106.147 +    outline: 0 none;
 106.148 +    cursor: pointer;
 106.149 +}
 106.150 +
 106.151 +.x-color-palette a:hover, .x-color-palette a.x-color-palette-sel {
 106.152 +    border: 1px solid #8BB8F3;
 106.153 +    background: #deecfd;
 106.154 +}
 106.155 +
 106.156 +.x-color-palette em {
 106.157 +    display: block;
 106.158 +    border: 1px solid #ACA899;
 106.159 +}
 106.160 +
 106.161 +.x-color-palette em span {
 106.162 +    cursor: pointer;
 106.163 +    display: block;
 106.164 +    height: 10px;
 106.165 +    line-height: 10px;
 106.166 +    width: 10px;
 106.167 +}
 106.168 +
 106.169 +.x-ie-shadow {
 106.170 +    display: none;
 106.171 +    position: absolute;
 106.172 +    overflow: hidden;
 106.173 +    left:0;
 106.174 +    top:0;
 106.175 +    background:#777;
 106.176 +    zoom:1;
 106.177 +}
 106.178 +
 106.179 +.x-shadow {
 106.180 +    display: none;
 106.181 +    position: absolute;
 106.182 +    overflow: hidden;
 106.183 +    left:0;
 106.184 +    top:0;
 106.185 +}
 106.186 +
 106.187 +.x-shadow * {
 106.188 +    overflow: hidden;
 106.189 +}
 106.190 +
 106.191 +.x-shadow * {
 106.192 +    padding: 0;
 106.193 +    border: 0;
 106.194 +    margin: 0;
 106.195 +    clear: none;
 106.196 +    zoom: 1;
 106.197 +}
 106.198 +
 106.199 +/* top  bottom */
 106.200 +.x-shadow .xstc, .x-shadow .xsbc {
 106.201 +    height: 6px;
 106.202 +    float: left;
 106.203 +}
 106.204 +
 106.205 +/* corners */
 106.206 +.x-shadow .xstl, .x-shadow .xstr, .x-shadow .xsbl, .x-shadow .xsbr {
 106.207 +    width: 6px;
 106.208 +    height: 6px;
 106.209 +    float: left;
 106.210 +}
 106.211 +
 106.212 +/* sides */
 106.213 +.x-shadow .xsc {
 106.214 +    width: 100%;
 106.215 +}
 106.216 +
 106.217 +.x-shadow .xsml, .x-shadow .xsmr {
 106.218 +    width: 6px;
 106.219 +    float: left;
 106.220 +    height: 100%;
 106.221 +}
 106.222 +
 106.223 +.x-shadow .xsmc {
 106.224 +    float: left;
 106.225 +    height: 100%;
 106.226 +    background: transparent url( ../images/default/shadow-c.png );
 106.227 +}
 106.228 +
 106.229 +.x-shadow .xst, .x-shadow .xsb {
 106.230 +    height: 6px;
 106.231 +    overflow: hidden;
 106.232 +    width: 100%;
 106.233 +}
 106.234 +
 106.235 +.x-shadow .xsml {
 106.236 +    background: transparent url( ../images/default/shadow-lr.png ) repeat-y 0 0;
 106.237 +}
 106.238 +
 106.239 +.x-shadow .xsmr {
 106.240 +    background: transparent url( ../images/default/shadow-lr.png ) repeat-y -6px 0;
 106.241 +}
 106.242 +
 106.243 +.x-shadow .xstl {
 106.244 +    background: transparent url( ../images/default/shadow.png ) no-repeat 0 0;
 106.245 +}
 106.246 +
 106.247 +.x-shadow .xstc {
 106.248 +    background: transparent url( ../images/default/shadow.png ) repeat-x 0 -30px;
 106.249 +}
 106.250 +
 106.251 +.x-shadow .xstr {
 106.252 +    background: transparent url( ../images/default/shadow.png ) repeat-x 0 -18px;
 106.253 +}
 106.254 +
 106.255 +.x-shadow .xsbl {
 106.256 +    background: transparent url( ../images/default/shadow.png ) no-repeat 0 -12px;
 106.257 +}
 106.258 +
 106.259 +.x-shadow .xsbc {
 106.260 +    background: transparent url( ../images/default/shadow.png ) repeat-x 0 -36px;
 106.261 +}
 106.262 +
 106.263 +.x-shadow .xsbr {
 106.264 +    background: transparent url( ../images/default/shadow.png ) repeat-x 0 -6px;
 106.265 +}
 106.266 +
 106.267 +.loading-indicator {
 106.268 +    font-size: 11px;
 106.269 +    background-image: url(../images/default/grid/loading.gif);
 106.270 +    background-repeat: no-repeat;
 106.271 +    background-position: left;
 106.272 +    padding-left: 20px;
 106.273 +    line-height: 16px;
 106.274 +    margin: 3px;
 106.275 +}
 106.276 +
 106.277 +.x-text-resize {
 106.278 +    position: absolute;
 106.279 +    left: -1000px;
 106.280 +    top: -1000px;
 106.281 +    visibility: hidden;
 106.282 +    zoom: 1;
 106.283 +}
 106.284 +
 106.285 +.x-drag-overlay {
 106.286 +    width: 100%;
 106.287 +    height: 100%;
 106.288 +    display: none;
 106.289 +    position: absolute;
 106.290 +    left: 0;
 106.291 +    top: 0;
 106.292 +    background-image:url(../images/default/s.gif);
 106.293 +    z-index: 20000;
 106.294 +}
 106.295 +
 106.296 +.x-clear {
 106.297 +    clear:both;
 106.298 +    height:0;
 106.299 +    overflow:hidden;
 106.300 +    line-height:0;
 106.301 +    font-size:0;
 106.302 +}
 106.303 +
 106.304 +
 106.305 +.x-spotlight {
 106.306 +    z-index: 8999;
 106.307 +    position: absolute;
 106.308 +    top:0;
 106.309 +    left:0;
 106.310 +    -moz-opacity: 0.5;
 106.311 +    opacity: .50;
 106.312 +    filter: alpha(opacity=50);
 106.313 +    background-color: #CCC;
 106.314 +    width:0;
 106.315 +    height:0;
 106.316 +    zoom: 1;
 106.317 +}
   107.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   107.2 +++ b/onlypaths/theme/css/date-picker.css	Sun Jan 31 12:33:33 2010 -0500
   107.3 @@ -0,0 +1,247 @@
   107.4 +/*
   107.5 + * Ext JS Library 2.1
   107.6 + * Copyright(c) 2006-2008, Ext JS, LLC.
   107.7 + * licensing@extjs.com
   107.8 + * 
   107.9 + * http://extjs.com/license
  107.10 + */
  107.11 +
  107.12 +.x-date-picker {
  107.13 +    border: 1px solid #1b376c;
  107.14 +    border-top:0 none;
  107.15 +    background:#fff;
  107.16 +	position:relative;
  107.17 +}
  107.18 +.x-date-picker a {
  107.19 +    -moz-outline:0 none;
  107.20 +    outline:0 none;
  107.21 +}
  107.22 +.x-date-inner, .x-date-inner td, .x-date-inner th{
  107.23 +    border-collapse:separate;
  107.24 +}
  107.25 +.x-date-middle,.x-date-left,.x-date-right {
  107.26 +	background: url(../images/default/shared/hd-sprite.gif) repeat-x 0 -83px;
  107.27 +	color:#FFF;
  107.28 +	font:bold 11px "sans serif", tahoma, verdana, helvetica;
  107.29 +	overflow:hidden;
  107.30 +}
  107.31 +
  107.32 +.x-date-middle .x-btn-left,.x-date-middle .x-btn-center,.x-date-middle .x-btn-right{
  107.33 +	background:transparent !important;
  107.34 +    vertical-align:middle;
  107.35 +}
  107.36 +.x-date-middle .x-btn .x-btn-text {
  107.37 +    color:#fff;
  107.38 +}
  107.39 +.x-date-middle .x-btn-with-menu  .x-btn-center em {
  107.40 +    background:transparent url(../images/default/toolbar/btn-arrow-light.gif) no-repeat right 0;
  107.41 +}
  107.42 +.x-date-right, .x-date-left {
  107.43 +    width:18px;
  107.44 +}
  107.45 +.x-date-right{
  107.46 +    text-align:right;
  107.47 +}
  107.48 +.x-date-middle {
  107.49 +    padding-top:2px;padding-bottom:2px;
  107.50 +    width:130px; /* FF3 */
  107.51 +}
  107.52 +.x-date-right a, .x-date-left a{
  107.53 +    display:block;
  107.54 +    width:16px;
  107.55 +	height:16px;
  107.56 +	background-position: center;
  107.57 +	background-repeat: no-repeat;
  107.58 +	cursor:pointer;
  107.59 +    -moz-opacity: 0.6;
  107.60 +    opacity:.6;
  107.61 +    filter: alpha(opacity=60);
  107.62 +}
  107.63 +.x-date-right a:hover, .x-date-left a:hover{
  107.64 +    -moz-opacity: 1;
  107.65 +    opacity:1;
  107.66 +    filter: alpha(opacity=100);
  107.67 +}
  107.68 +.x-date-right a {
  107.69 +    background-image: url(../images/default/shared/right-btn.gif);
  107.70 +    margin-right:2px;
  107.71 +    text-decoration:none !important;
  107.72 +}
  107.73 +.x-date-left a{
  107.74 +	background-image: url(../images/default/shared/left-btn.gif);
  107.75 +    margin-left:2px;
  107.76 +    text-decoration:none !important;
  107.77 +}
  107.78 +table.x-date-inner {
  107.79 +    width:100%;
  107.80 +    table-layout:fixed;
  107.81 +}
  107.82 +.x-date-inner th {
  107.83 +    width:25px;
  107.84 +}
  107.85 +.x-date-inner th {
  107.86 +    background: #dfecfb url(../images/default/shared/glass-bg.gif) repeat-x left top;
  107.87 +    text-align:right !important;
  107.88 +	border-bottom: 1px solid #a3bad9;
  107.89 +    font:normal 10px arial, helvetica,tahoma,sans-serif;
  107.90 +	color:#233d6d;
  107.91 +	cursor:default;
  107.92 +    padding:0;
  107.93 +    border-collapse:separate;
  107.94 +}
  107.95 +.x-date-inner th span {
  107.96 +    display:block;
  107.97 +    padding:2px;
  107.98 +    padding-right:7px;
  107.99 +}
 107.100 +.x-date-inner td {
 107.101 +    border: 1px solid #fff;
 107.102 +	text-align:right;
 107.103 +    padding:0;
 107.104 +}
 107.105 +.x-date-inner a {
 107.106 +    padding:2px 5px;
 107.107 +    display:block;
 107.108 +    font:normal 11px arial, helvetica,tahoma,sans-serif;
 107.109 +	text-decoration:none;
 107.110 +    color:black;
 107.111 +    text-align:right;
 107.112 +    zoom:1;
 107.113 +}
 107.114 +.x-date-inner .x-date-active{
 107.115 +	cursor:pointer;
 107.116 +	color:black;
 107.117 +}
 107.118 +.x-date-inner .x-date-selected a{
 107.119 +	background: #dfecfb url(../images/default/shared/glass-bg.gif) repeat-x left top;
 107.120 +	border:1px solid #8db2e3;
 107.121 +   padding:1px 4px;
 107.122 +}
 107.123 +.x-date-inner .x-date-today a{
 107.124 +	border: 1px solid darkred;
 107.125 +    padding:1px 4px;
 107.126 +}
 107.127 +.x-date-inner .x-date-selected span{
 107.128 +    font-weight:bold;
 107.129 +}
 107.130 +.x-date-inner .x-date-prevday a,.x-date-inner .x-date-nextday a {
 107.131 +	color:#aaaaaa;
 107.132 +    text-decoration:none !important;
 107.133 +}
 107.134 +.x-date-bottom {
 107.135 +    padding:4px;
 107.136 +    border-top: 1px solid #a3bad9;
 107.137 +    background: #dfecfb url(../images/default/shared/glass-bg.gif) repeat-x left top;
 107.138 +}
 107.139 +
 107.140 +.x-date-inner a:hover, .x-date-inner .x-date-disabled a:hover{
 107.141 +    text-decoration:none !important;
 107.142 +    color:black;
 107.143 +    background: #ddecfe;
 107.144 +}
 107.145 +
 107.146 +.x-date-inner .x-date-disabled a {
 107.147 +	cursor:default;
 107.148 +	background:#eeeeee;
 107.149 +	color:#bbbbbb;
 107.150 +}
 107.151 +.x-date-mmenu{
 107.152 +    background:#eeeeee !important;
 107.153 +}
 107.154 +.x-date-mmenu .x-menu-item {
 107.155 +	font-size:10px;
 107.156 +	padding:1px 24px 1px 4px;
 107.157 +	white-space: nowrap;
 107.158 +	color:#000;
 107.159 +}
 107.160 +.x-date-mmenu .x-menu-item .x-menu-item-icon {
 107.161 +    width:10px;height:10px;margin-right:5px;
 107.162 +    background-position:center -4px !important;
 107.163 +}
 107.164 +
 107.165 +.x-date-mp {
 107.166 +	position:absolute;
 107.167 +	left:0;
 107.168 +	top:0;
 107.169 +	background:white;
 107.170 +	display:none;
 107.171 +}
 107.172 +.x-date-mp td {
 107.173 +    padding:2px;
 107.174 +	font:normal 11px arial, helvetica,tahoma,sans-serif;
 107.175 +}
 107.176 +td.x-date-mp-month,td.x-date-mp-year,td.x-date-mp-ybtn {
 107.177 +   border: 0 none;
 107.178 +	text-align:center;
 107.179 +	vertical-align: middle;
 107.180 +	width:25%;
 107.181 +}
 107.182 +.x-date-mp-ok {
 107.183 +	margin-right:3px;
 107.184 +}
 107.185 +.x-date-mp-btns button {
 107.186 +	text-decoration:none;
 107.187 +	text-align:center;
 107.188 +	text-decoration:none !important;
 107.189 +	background:#083772;
 107.190 +	color:white;
 107.191 +	border:1px solid;
 107.192 +	border-color: #3366cc #000055 #000055 #3366cc;
 107.193 +	padding:1px 3px 1px;
 107.194 +	font:normal 11px arial, helvetica,tahoma,sans-serif;
 107.195 +	cursor:pointer;
 107.196 +}
 107.197 +.x-date-mp-btns {
 107.198 +	background: #dfecfb url(../images/default/shared/glass-bg.gif) repeat-x left top;
 107.199 +}
 107.200 +.x-date-mp-btns td {
 107.201 +	border-top: 1px solid #c5d2df;
 107.202 +   text-align:center;
 107.203 +}
 107.204 +td.x-date-mp-month a,td.x-date-mp-year a {
 107.205 +	display:block;
 107.206 +	padding:2px 4px;
 107.207 +	text-decoration:none;
 107.208 +	text-align:center;
 107.209 +	color:#15428b;
 107.210 +}
 107.211 +
 107.212 +td.x-date-mp-month a:hover,td.x-date-mp-year a:hover {
 107.213 +	color:#15428b;
 107.214 +	text-decoration:none;
 107.215 +	cursor:pointer;
 107.216 +	background: #ddecfe;
 107.217 +}
 107.218 +
 107.219 +td.x-date-mp-sel a {
 107.220 +	padding:1px 3px;
 107.221 +	background: #dfecfb url(../images/default/shared/glass-bg.gif) repeat-x left top;
 107.222 +	border:1px solid #8db2e3;
 107.223 +}
 107.224 +.x-date-mp-ybtn a {
 107.225 +    overflow:hidden;
 107.226 +    width:15px;
 107.227 +    height:15px;
 107.228 +    cursor:pointer;
 107.229 +    background:transparent url(../images/default/panel/tool-sprites.gif) no-repeat;
 107.230 +    display:block;
 107.231 +    margin:0 auto;
 107.232 +}
 107.233 +.x-date-mp-ybtn a.x-date-mp-next {
 107.234 +    background-position:0 -120px;
 107.235 +}
 107.236 +.x-date-mp-ybtn a.x-date-mp-next:hover {
 107.237 +    background-position:-15px -120px;
 107.238 +}
 107.239 +.x-date-mp-ybtn a.x-date-mp-prev {
 107.240 +    background-position:0 -105px;
 107.241 +}
 107.242 +.x-date-mp-ybtn a.x-date-mp-prev:hover {
 107.243 +    background-position:-15px -105px;
 107.244 +}
 107.245 +.x-date-mp-ybtn {
 107.246 +   text-align:center;
 107.247 +}
 107.248 +td.x-date-mp-sep {
 107.249 +   border-right:1px solid #c5d2df;
 107.250 +}
 107.251 \ No newline at end of file
   108.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   108.2 +++ b/onlypaths/theme/css/dd.css	Sun Jan 31 12:33:33 2010 -0500
   108.3 @@ -0,0 +1,75 @@
   108.4 +/*
   108.5 + * Ext JS Library 2.1
   108.6 + * Copyright(c) 2006-2008, Ext JS, LLC.
   108.7 + * licensing@extjs.com
   108.8 + * 
   108.9 + * http://extjs.com/license
  108.10 + */
  108.11 +
  108.12 +.x-dd-drag-proxy{
  108.13 +	position:absolute;
  108.14 +	left:0;top:0;
  108.15 +	visibility:hidden;
  108.16 +	z-index:15000;
  108.17 +}
  108.18 +.x-dd-drag-ghost{
  108.19 +	color: black;
  108.20 +	font: normal 11px arial, helvetica, sans-serif;
  108.21 +	-moz-opacity: 0.85;
  108.22 +   opacity:.85;
  108.23 +   filter: alpha(opacity=85);
  108.24 +	border-top:1px solid #dddddd;
  108.25 +	border-left:1px solid #dddddd;
  108.26 +	border-right:1px solid #bbbbbb;
  108.27 +	border-bottom:1px solid #bbbbbb;
  108.28 +	padding:3px;
  108.29 +	padding-left:20px;
  108.30 +	background-color:white;
  108.31 +	white-space:nowrap;
  108.32 +}
  108.33 +.x-dd-drag-repair .x-dd-drag-ghost{
  108.34 +	-moz-opacity: 0.4;
  108.35 +   opacity:.4;
  108.36 +   filter: alpha(opacity=40);
  108.37 +	border:0 none;
  108.38 +	padding:0;
  108.39 +	background-color:transparent;
  108.40 +}
  108.41 +.x-dd-drag-repair .x-dd-drop-icon{
  108.42 +	visibility:hidden;
  108.43 +}
  108.44 +.x-dd-drop-icon{
  108.45 +  position:absolute;
  108.46 +	top:3px;
  108.47 +	left:3px;
  108.48 +	display:block;
  108.49 +	width:16px;
  108.50 +	height:16px;
  108.51 +	background-color:transparent;
  108.52 +	background-position: center;
  108.53 +	background-repeat: no-repeat;
  108.54 +	z-index:1;
  108.55 +}
  108.56 +.x-dd-drop-nodrop .x-dd-drop-icon{
  108.57 +  background-image: url(../images/default/dd/drop-no.gif);
  108.58 +}
  108.59 +.x-dd-drop-ok .x-dd-drop-icon{
  108.60 +  background-image: url(../images/default/dd/drop-yes.gif);
  108.61 +}
  108.62 +.x-dd-drop-ok-add .x-dd-drop-icon{
  108.63 +  background-image: url(../images/default/dd/drop-add.gif);
  108.64 +}
  108.65 +
  108.66 +
  108.67 +.x-view-selector {
  108.68 +    position:absolute;
  108.69 +    left:0;
  108.70 +    top:0;
  108.71 +    width:0;
  108.72 +    background:#c3daf9;
  108.73 +    border:1px dotted #3399bb;
  108.74 +	opacity: .5;
  108.75 +    -moz-opacity: .5;
  108.76 +    filter:alpha(opacity=50);
  108.77 +    zoom:1;
  108.78 +}
  108.79 \ No newline at end of file
   109.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   109.2 +++ b/onlypaths/theme/css/debug.css	Sun Jan 31 12:33:33 2010 -0500
   109.3 @@ -0,0 +1,37 @@
   109.4 +/*
   109.5 + * Ext JS Library 2.1
   109.6 + * Copyright(c) 2006-2008, Ext JS, LLC.
   109.7 + * licensing@extjs.com
   109.8 + * 
   109.9 + * http://extjs.com/license
  109.10 + */
  109.11 +
  109.12 +#x-debug-browser .x-tree .x-tree-node a span {
  109.13 +    color:#222297;
  109.14 +    font-size:11px;
  109.15 +    padding-top:2px;
  109.16 +    font-family:"monotype","courier new",sans-serif;
  109.17 +    line-height:18px;
  109.18 +}
  109.19 +#x-debug-browser .x-tree a i {
  109.20 +    color:#FF4545;
  109.21 +    font-style:normal;
  109.22 +}
  109.23 +#x-debug-browser .x-tree a em {
  109.24 +    color:#999;
  109.25 +}
  109.26 +#x-debug-browser .x-tree .x-tree-node .x-tree-selected a span{
  109.27 +    background:#c3daf9;
  109.28 +}
  109.29 +#x-debug-browser  .x-tool-toggle {
  109.30 +    background-position:0 -75px;
  109.31 +}
  109.32 +#x-debug-browser  .x-tool-toggle-over {
  109.33 +    background-position:-15px -75px;
  109.34 +}
  109.35 +#x-debug-browser.x-panel-collapsed .x-tool-toggle {
  109.36 +    background-position:0 -60px;
  109.37 +}
  109.38 +#x-debug-browser.x-panel-collapsed .x-tool-toggle-over {
  109.39 +    background-position:-15px -60px;
  109.40 +}
  109.41 \ No newline at end of file
   110.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   110.2 +++ b/onlypaths/theme/css/dialog.css	Sun Jan 31 12:33:33 2010 -0500
   110.3 @@ -0,0 +1,69 @@
   110.4 +/*
   110.5 + * Ext JS Library 2.1
   110.6 + * Copyright(c) 2006-2008, Ext JS, LLC.
   110.7 + * licensing@extjs.com
   110.8 + * 
   110.9 + * http://extjs.com/license
  110.10 + */
  110.11 +
  110.12 +.x-window-dlg .x-window-body {
  110.13 +    border:0 none !important;
  110.14 +    padding:5px 10px;
  110.15 +    overflow:hidden !important;
  110.16 +}
  110.17 +.x-window-dlg .x-window-mc {
  110.18 +    border:0 none !important;
  110.19 +}
  110.20 +.x-window-dlg .ext-mb-text,
  110.21 +.x-window-dlg .x-window-header-text {
  110.22 +    font-size:12px;
  110.23 +}
  110.24 +.x-window-dlg .ext-mb-input {
  110.25 +    margin-top:4px;
  110.26 +    width:95%;
  110.27 +}
  110.28 +.x-window-dlg .ext-mb-textarea {
  110.29 +    margin-top:4px;
  110.30 +    font:normal 12px tahoma,arial,helvetica,sans-serif;
  110.31 +}
  110.32 +.x-window-dlg .x-progress-wrap {
  110.33 +    margin-top:4px;
  110.34 +}
  110.35 +.ext-ie .x-window-dlg .x-progress-wrap {
  110.36 +    margin-top:6px;
  110.37 +}
  110.38 +.x-window-dlg .x-msg-box-wait {
  110.39 +    background: transparent url(../images/default/grid/loading.gif) no-repeat left;
  110.40 +    display:block;
  110.41 +    width:300px;
  110.42 +    padding-left:18px;
  110.43 +    line-height:18px;
  110.44 +}
  110.45 +.x-window-dlg .ext-mb-icon {
  110.46 +    float:left;
  110.47 +    width:47px;
  110.48 +    height:32px;
  110.49 +}
  110.50 +.x-window-dlg .ext-mb-icon {
  110.51 +    float:left;
  110.52 +    width:47px;
  110.53 +    height:32px;
  110.54 +}
  110.55 +.ext-ie .x-window-dlg .ext-mb-icon {
  110.56 +    width:44px; /* 3px IE margin issue */
  110.57 +}
  110.58 +.x-window-dlg .ext-mb-info {
  110.59 +    background:transparent url(../images/default/window/icon-info.gif) no-repeat top left;
  110.60 +}
  110.61 +.x-window-dlg .ext-mb-warning {
  110.62 +    background:transparent url(../images/default/window/icon-warning.gif) no-repeat top left;
  110.63 +}
  110.64 +.x-window-dlg .ext-mb-question {
  110.65 +    background:transparent url(../images/default/window/icon-question.gif) no-repeat top left;
  110.66 +}
  110.67 +.x-window-dlg .ext-mb-error {
  110.68 +    background:transparent url(../images/default/window/icon-error.gif) no-repeat top left;
  110.69 +}
  110.70 +.ext-gecko .ext-mb-fix-cursor {
  110.71 +    overflow:auto;
  110.72 +}
  110.73 \ No newline at end of file
   111.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   111.2 +++ b/onlypaths/theme/css/editor.css	Sun Jan 31 12:33:33 2010 -0500
   111.3 @@ -0,0 +1,66 @@
   111.4 +/*
   111.5 + * Ext JS Library 2.1
   111.6 + * Copyright(c) 2006-2008, Ext JS, LLC.
   111.7 + * licensing@extjs.com
   111.8 + * 
   111.9 + * http://extjs.com/license
  111.10 + */
  111.11 +
  111.12 +.x-html-editor-wrap {
  111.13 +    border:1px solid #a9bfd3;
  111.14 +    background:white;
  111.15 +}
  111.16 +.x-html-editor-tb .x-btn-text {
  111.17 +    background:transparent url(../images/default/editor/tb-sprite.gif) no-repeat;
  111.18 +}
  111.19 +.x-html-editor-tb .x-edit-bold .x-btn-text {
  111.20 +    background-position:0 0;
  111.21 +}
  111.22 +.x-html-editor-tb .x-edit-italic .x-btn-text {
  111.23 +    background-position:-16px 0;
  111.24 +}
  111.25 +.x-html-editor-tb .x-edit-underline .x-btn-text {
  111.26 +    background-position:-32px 0;
  111.27 +}
  111.28 +.x-html-editor-tb .x-edit-forecolor .x-btn-text {
  111.29 +    background-position:-160px 0;
  111.30 +}
  111.31 +.x-html-editor-tb .x-edit-backcolor .x-btn-text {
  111.32 +    background-position:-176px 0;
  111.33 +}
  111.34 +.x-html-editor-tb .x-edit-justifyleft .x-btn-text {
  111.35 +    background-position:-112px 0;
  111.36 +}
  111.37 +.x-html-editor-tb .x-edit-justifycenter .x-btn-text {
  111.38 +    background-position:-128px 0;
  111.39 +}
  111.40 +.x-html-editor-tb .x-edit-justifyright .x-btn-text {
  111.41 +    background-position:-144px 0;
  111.42 +}
  111.43 +.x-html-editor-tb .x-edit-insertorderedlist .x-btn-text {
  111.44 +    background-position:-80px 0;
  111.45 +}
  111.46 +.x-html-editor-tb .x-edit-insertunorderedlist .x-btn-text {
  111.47 +    background-position:-96px 0;
  111.48 +}
  111.49 +.x-html-editor-tb .x-edit-increasefontsize .x-btn-text {
  111.50 +    background-position:-48px 0;
  111.51 +}
  111.52 +.x-html-editor-tb .x-edit-decreasefontsize .x-btn-text {
  111.53 +    background-position:-64px 0;
  111.54 +}
  111.55 +.x-html-editor-tb .x-edit-sourceedit .x-btn-text {
  111.56 +    background-position:-192px 0;
  111.57 +}
  111.58 +.x-html-editor-tb .x-edit-createlink .x-btn-text {
  111.59 +    background-position:-208px 0;
  111.60 +}
  111.61 +
  111.62 +.x-html-editor-tip .x-tip-bd .x-tip-bd-inner {
  111.63 +    padding:5px;
  111.64 +    padding-bottom:1px;
  111.65 +}
  111.66 +
  111.67 +.x-html-editor-tb .x-toolbar {
  111.68 +    position:static !important;
  111.69 +}
  111.70 \ No newline at end of file
   112.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   112.2 +++ b/onlypaths/theme/css/ext-all.css	Sun Jan 31 12:33:33 2010 -0500
   112.3 @@ -0,0 +1,903 @@
   112.4 +/*
   112.5 + * Ext JS Library 2.1
   112.6 + * Copyright(c) 2006-2008, Ext JS, LLC.
   112.7 + * licensing@extjs.com
   112.8 + * 
   112.9 + * http://extjs.com/license
  112.10 + */
  112.11 +
  112.12 +html,body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,p,blockquote,th,td{margin:0;padding:0;}
  112.13 +img,body,html{border:0;}
  112.14 +address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}
  112.15 +ol,ul{list-style:none;}
  112.16 +caption,th{text-align:left;}
  112.17 +h1,h2,h3,h4,h5,h6{font-size:100%;}
  112.18 +q:before,q:after{content:'';}
  112.19 +
  112.20 +.ext-el-mask{z-index:20000;position:absolute;top:0;left:0;-moz-opacity:0.5;opacity:.50;filter:alpha(opacity=50);background-color:#CCC;width:100%;height:100%;zoom:1;}
  112.21 +.ext-el-mask-msg{z-index:20001;position:absolute;top:0;left:0;border:1px solid #6593cf;background:#c3daf9 url(../images/default/box/tb-blue.gif) repeat-x 0 -16px;padding:2px;}
  112.22 +.ext-el-mask-msg div{padding:5px 10px 5px 10px;background:#eee;border:1px solid #a3bad9;color:#222;font:normal 11px tahoma,arial,helvetica,sans-serif;cursor:wait;}
  112.23 +.ext-shim{position:absolute;visibility:hidden;left:0;top:0;overflow:hidden;}
  112.24 +.ext-ie .ext-shim{filter:alpha(opacity=0);}
  112.25 +.ext-ie6 .ext-shim{margin-left:5px;margin-top:3px;}
  112.26 +.x-mask-loading div{padding:5px 10px 5px 25px;background:#fbfbfb url( '../images/default/grid/loading.gif' ) no-repeat 5px 5px;line-height:16px;}
  112.27 +.x-hidden,.x-hide-offsets{position:absolute;left:-10000px;top:-10000px;visibility:hidden;}
  112.28 +.x-hide-display{display:none!important;}
  112.29 +.x-hide-visibility{visibility:hidden!important;}
  112.30 +.x-masked{overflow:hidden!important;}
  112.31 +.x-masked select,.x-masked object,.x-masked embed{visibility:hidden;}
  112.32 +.x-layer{visibility:hidden;}
  112.33 +.x-unselectable,.x-unselectable *{-moz-user-select:none;-khtml-user-select:none;}
  112.34 +.x-repaint{zoom:1;background-color:transparent;-moz-outline:none;}
  112.35 +.x-item-disabled{color:gray;cursor:default;opacity:.6;-moz-opacity:.6;filter:alpha(opacity=60);}
  112.36 +.x-item-disabled *{color:gray!important;cursor:default!important;}
  112.37 +.x-splitbar-proxy{position:absolute;visibility:hidden;z-index:20001;background:#aaa;zoom:1;line-height:1px;font-size:1px;overflow:hidden;}
  112.38 +.x-splitbar-h,.x-splitbar-proxy-h{cursor:e-resize;cursor:col-resize;}
  112.39 +.x-splitbar-v,.x-splitbar-proxy-v{cursor:s-resize;cursor:row-resize;}
  112.40 +.x-color-palette{width:150px;height:92px;cursor:pointer;}
  112.41 +.x-color-palette a{border:1px solid #fff;float:left;padding:2px;text-decoration:none;-moz-outline:0 none;outline:0 none;cursor:pointer;}
  112.42 +.x-color-palette a:hover,.x-color-palette a.x-color-palette-sel{border:1px solid #8BB8F3;background:#deecfd;}
  112.43 +.x-color-palette em{display:block;border:1px solid #ACA899;}
  112.44 +.x-color-palette em span{cursor:pointer;display:block;height:10px;line-height:10px;width:10px;}
  112.45 +.x-ie-shadow{display:none;position:absolute;overflow:hidden;left:0;top:0;background:#777;zoom:1;}
  112.46 +.x-shadow{display:none;position:absolute;overflow:hidden;left:0;top:0;}
  112.47 +.x-shadow *{overflow:hidden;}
  112.48 +.x-shadow *{padding:0;border:0;margin:0;clear:none;zoom:1;}
  112.49 +.x-shadow .xstc,.x-shadow .xsbc{height:6px;float:left;}
  112.50 +.x-shadow .xstl,.x-shadow .xstr,.x-shadow .xsbl,.x-shadow .xsbr{width:6px;height:6px;float:left;}
  112.51 +.x-shadow .xsc{width:100%;}
  112.52 +.x-shadow .xsml,.x-shadow .xsmr{width:6px;float:left;height:100%;}
  112.53 +.x-shadow .xsmc{float:left;height:100%;background:transparent url( ../images/default/shadow-c.png );}
  112.54 +.x-shadow .xst,.x-shadow .xsb{height:6px;overflow:hidden;width:100%;}
  112.55 +.x-shadow .xsml{background:transparent url( ../images/default/shadow-lr.png ) repeat-y 0 0;}
  112.56 +.x-shadow .xsmr{background:transparent url( ../images/default/shadow-lr.png ) repeat-y -6px 0;}
  112.57 +.x-shadow .xstl{background:transparent url( ../images/default/shadow.png ) no-repeat 0 0;}
  112.58 +.x-shadow .xstc{background:transparent url( ../images/default/shadow.png ) repeat-x 0 -30px;}
  112.59 +.x-shadow .xstr{background:transparent url( ../images/default/shadow.png ) repeat-x 0 -18px;}
  112.60 +.x-shadow .xsbl{background:transparent url( ../images/default/shadow.png ) no-repeat 0 -12px;}
  112.61 +.x-shadow .xsbc{background:transparent url( ../images/default/shadow.png ) repeat-x 0 -36px;}
  112.62 +.x-shadow .xsbr{background:transparent url( ../images/default/shadow.png ) repeat-x 0 -6px;}
  112.63 +.loading-indicator{font-size:11px;background-image:url(../images/default/grid/loading.gif);background-repeat:no-repeat;background-position:left;padding-left:20px;line-height:16px;margin:3px;}
  112.64 +.x-text-resize{position:absolute;left:-1000px;top:-1000px;visibility:hidden;zoom:1;}
  112.65 +.x-drag-overlay{width:100%;height:100%;display:none;position:absolute;left:0;top:0;background-image:url(../images/default/s.gif);z-index:20000;}
  112.66 +.x-clear{clear:both;height:0;overflow:hidden;line-height:0;font-size:0;}
  112.67 +.x-spotlight{z-index:8999;position:absolute;top:0;left:0;-moz-opacity:0.5;opacity:.50;filter:alpha(opacity=50);background-color:#CCC;width:0;height:0;zoom:1;}
  112.68 +
  112.69 +.x-tab-panel{overflow:hidden;}
  112.70 +.x-tab-panel-header,.x-tab-panel-footer{background:#deecfd;border:1px solid #8db2e3;overflow:hidden;zoom:1;}
  112.71 +.x-tab-panel-header{border:1px solid #8db2e3;padding-bottom:2px;}
  112.72 +.x-tab-panel-footer{border:1px solid #8db2e3;padding-top:2px;}
  112.73 +.x-tab-strip-wrap{width:100%;overflow:hidden;position:relative;zoom:1;}
  112.74 +ul.x-tab-strip{display:block;width:5000px;zoom:1;}
  112.75 +ul.x-tab-strip-top{padding-top:1px;background:url(../images/default/tabs/tab-strip-bg.gif) #cedff5 repeat-x bottom;border-bottom:1px solid #8db2e3;}
  112.76 +ul.x-tab-strip-bottom{padding-bottom:1px;background:url(../images/default/tabs/tab-strip-btm-bg.gif) #cedff5 repeat-x top;border-top:1px solid #8db2e3;border-bottom:0 none;}
  112.77 +.x-tab-panel-header-plain .x-tab-strip-top{background:transparent!important;padding-top:0!important;}
  112.78 +.x-tab-panel-header-plain{background:transparent!important;border-width:0!important;padding-bottom:0!important;}
  112.79 +.x-tab-panel-header-plain .x-tab-strip-spacer{border:1px solid #8db2e3;border-top:0 none;height:2px;background:#deecfd;font-size:1px;line-height:1px;}
  112.80 +.ext-border-box .x-tab-panel-header-plain .x-tab-strip-spacer{height:3px;}
  112.81 +ul.x-tab-strip li{float:left;margin-left:2px;}
  112.82 +ul.x-tab-strip li.x-tab-edge{float:left;margin:0!important;padding:0!important;border:0 none!important;font-size:1px!important;line-height:1px!important;overflow:hidden;zoom:1;background:transparent!important;width:1px;}
  112.83 +.x-tab-strip a,.x-tab-strip span,.x-tab-strip em{display:block;}
  112.84 +.x-tab-strip a{text-decoration:none!important;-moz-outline:none;outline:none;cursor:pointer;}
  112.85 +.x-tab-strip-inner{overflow:hidden;text-overflow:ellipsis;}
  112.86 +.x-tab-strip span.x-tab-strip-text{font:normal 11px tahoma,arial,helvetica;color:#416aa3;white-space:nowrap;cursor:pointer;padding:4px 0;}
  112.87 +.x-tab-strip .x-tab-with-icon .x-tab-right{padding-left:6px;}
  112.88 +.x-tab-strip .x-tab-with-icon span.x-tab-strip-text{padding-left:20px;background-position:0 3px;background-repeat:no-repeat;}
  112.89 +.x-tab-strip-over span.x-tab-strip-text{color:#15428b;}
  112.90 +.x-tab-strip-active{cursor:default;}
  112.91 +.x-tab-strip-active span.x-tab-strip-text{cursor:default;color:#15428b;font-weight:bold;}
  112.92 +.x-tab-strip-disabled .x-tabs-text{cursor:default;color:#aaa;}
  112.93 +.x-tab-panel-body{overflow:hidden;}
  112.94 +.x-tab-panel-bwrap{overflow:hidden;}
  112.95 +.ext-ie .x-tab-strip .x-tab-right{position:relative;}
  112.96 +.x-tab-strip-top .x-tab-strip-active .x-tab-right{margin-bottom:-1px;}
  112.97 +.x-tab-strip-top .x-tab-strip-active .x-tab-right span.x-tab-strip-text{padding-bottom:5px;}
  112.98 +.x-tab-strip-bottom .x-tab-strip-active .x-tab-right{margin-top:-1px;}
  112.99 +.x-tab-strip-bottom .x-tab-strip-active .x-tab-right span.x-tab-strip-text{padding-top:5px;}
 112.100 +.x-tab-strip-top .x-tab-right{background:transparent url(../images/default/tabs/tabs-sprite.gif) no-repeat 0 -51px;padding-left:10px;}
 112.101 +.x-tab-strip-top .x-tab-left{background:transparent url(../images/default/tabs/tabs-sprite.gif) no-repeat right -351px;padding-right:10px;}
 112.102 +.x-tab-strip-top .x-tab-strip-inner{background:transparent url(../images/default/tabs/tabs-sprite.gif) repeat-x 0 -201px;}
 112.103 +.x-tab-strip-top .x-tab-strip-over .x-tab-right{background-position:0 -101px;}
 112.104 +.x-tab-strip-top .x-tab-strip-over .x-tab-left{background-position:right -401px;}
 112.105 +.x-tab-strip-top .x-tab-strip-over .x-tab-strip-inner{background-position:0 -251px;}
 112.106 +.x-tab-strip-top .x-tab-strip-active .x-tab-right{background-position:0 0;}
 112.107 +.x-tab-strip-top .x-tab-strip-active .x-tab-left{background-position:right -301px;}
 112.108 +.x-tab-strip-top .x-tab-strip-active .x-tab-strip-inner{background-position:0 -151px;}
 112.109 +.x-tab-strip-bottom .x-tab-right{background:url(../images/default/tabs/tab-btm-inactive-right-bg.gif) no-repeat bottom right;}
 112.110 +.x-tab-strip-bottom .x-tab-left{background:url(../images/default/tabs/tab-btm-inactive-left-bg.gif) no-repeat bottom left;}
 112.111 +.x-tab-strip-bottom .x-tab-strip-active .x-tab-right{background:url(../images/default/tabs/tab-btm-right-bg.gif) no-repeat bottom left;}
 112.112 +.x-tab-strip-bottom .x-tab-strip-active .x-tab-left{background:url(../images/default/tabs/tab-btm-left-bg.gif) no-repeat bottom right;}
 112.113 +.x-tab-strip-bottom .x-tab-left{padding:0 10px;}
 112.114 +.x-tab-strip-bottom .x-tab-right{padding:0;}
 112.115 +.x-tab-strip .x-tab-strip-close{display:none;}
 112.116 +.x-tab-strip-closable{position:relative;}
 112.117 +.x-tab-strip-closable .x-tab-left{padding-right:19px;}
 112.118 +.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close{background-image:url(../images/default/tabs/tab-close.gif);opacity:.6;-moz-opacity:.6;background-repeat:no-repeat;display:block;width:11px;height:11px;position:absolute;top:3px;right:3px;cursor:pointer;z-index:2;}
 112.119 +.x-tab-strip .x-tab-strip-active a.x-tab-strip-close{opacity:.8;-moz-opacity:.8;}
 112.120 +.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close:hover{background-image:url(../images/default/tabs/tab-close.gif);opacity:1;-moz-opacity:1;}
 112.121 +.x-tab-panel-body{border:1px solid #8db2e3;background:#fff;}
 112.122 +.x-tab-panel-body-top{border-top:0 none;}
 112.123 +.x-tab-panel-body-bottom{border-bottom:0 none;}
 112.124 +.x-tab-scroller-left{background:transparent url(../images/default/tabs/scroll-left.gif) no-repeat -18px 0;border-bottom:1px solid #8db2e3;width:18px;position:absolute;left:0;top:0;z-index:10;cursor:pointer;}
 112.125 +.x-tab-scroller-left-over{background-position:0 0;}
 112.126 +.x-tab-scroller-left-disabled{background-position:-18px 0;opacity:.5;-moz-opacity:.5;filter:alpha(opacity=50);cursor:default;}
 112.127 +.x-tab-scroller-right{background:transparent url(../images/default/tabs/scroll-right.gif) no-repeat 0 0;border-bottom:1px solid #8db2e3;width:18px;position:absolute;right:0;top:0;z-index:10;cursor:pointer;}
 112.128 +.x-tab-scroller-right-over{background-position:-18px 0;}
 112.129 +.x-tab-scroller-right-disabled{background-position:0 0;opacity:.5;-moz-opacity:.5;filter:alpha(opacity=50);cursor:default;}
 112.130 +.x-tab-scrolling .x-tab-strip-wrap{margin-left:18px;margin-right:18px;}
 112.131 +.x-tab-scrolling{position:relative;}
 112.132 +.x-tab-panel-bbar .x-toolbar{border:1px solid #99bbe8;border-top:0 none;overflow:hidden;padding:2px;}
 112.133 +.x-tab-panel-tbar .x-toolbar{border:1px solid #99bbe8;border-top:0 none;overflow:hidden;padding:2px;}
 112.134 +
 112.135 + .x-form-field{margin:0;font:normal 12px tahoma,arial,helvetica,sans-serif;}
 112.136 +.x-form-text,textarea.x-form-field{padding:1px 3px;background:#fff url(../images/default/form/text-bg.gif) repeat-x 0 0;border:1px solid #B5B8C8;}
 112.137 +textarea.x-form-field{padding:2px 3px;}
 112.138 +.x-form-text{height:22px;line-height:18px;vertical-align:middle;}
 112.139 +.ext-ie .x-form-text{margin:-1px 0;height:22px;line-height:18px;}
 112.140 +.ext-ie textarea.x-form-field{margin:-1px 0;}
 112.141 +.ext-strict .x-form-text{height:18px;}
 112.142 +.ext-safari .x-form-text{height:20px;padding:0 3px;}
 112.143 +.ext-safari.ext-mac textarea.x-form-field{margin-bottom:-2px;}
 112.144 +.ext-gecko .x-form-text{padding-top:2px;padding-bottom:0;}
 112.145 +textarea{resize:none;}
 112.146 +.x-form-select-one{height:20px;line-height:18px;vertical-align:middle;background-color:#fff;border:1px solid #B5B8C8;}
 112.147 +.x-form-field-wrap{position:relative;zoom:1;white-space:nowrap;}
 112.148 +.x-editor .x-form-check-wrap{background:#fff;}
 112.149 +.x-form-field-wrap .x-form-trigger{width:17px;height:21px;border:0;background:transparent url(../images/default/form/trigger.gif) no-repeat 0 0;cursor:pointer;border-bottom:1px solid #B5B8C8;position:absolute;top:0;}
 112.150 +.ext-safari .x-form-field-wrap .x-form-trigger{height:21px;}
 112.151 +.x-form-field-wrap .x-form-date-trigger{background-image:url(../images/default/form/date-trigger.gif);cursor:pointer;}
 112.152 +.x-form-field-wrap .x-form-clear-trigger{background-image:url(../images/default/form/clear-trigger.gif);cursor:pointer;}
 112.153 +.x-form-field-wrap .x-form-search-trigger{background-image:url(../images/default/form/search-trigger.gif);cursor:pointer;}
 112.154 +.ext-safari .x-form-field-wrap .x-form-trigger{right:0;}
 112.155 +.x-form-field-wrap .x-form-twin-triggers .x-form-trigger{position:static;top:auto;vertical-align:top;}
 112.156 +.x-form-field-wrap .x-form-trigger-over{background-position:-17px 0;}
 112.157 +.x-form-field-wrap .x-form-trigger-click{background-position:-34px 0;}
 112.158 +.x-trigger-wrap-focus .x-form-trigger{background-position:-51px 0;}
 112.159 +.x-trigger-wrap-focus .x-form-trigger-over{background-position:-68px 0;}
 112.160 +.x-trigger-wrap-focus .x-form-trigger-click{background-position:-85px 0;}
 112.161 +.x-trigger-wrap-focus .x-form-trigger{border-bottom:1px solid #7eadd9;}
 112.162 +.x-item-disabled .x-form-trigger-over{background-position:0 0!important;border-bottom:1px solid #B5B8C8;}
 112.163 +.x-item-disabled .x-form-trigger-click{background-position:0 0!important;border-bottom:1px solid #B5B8C8;}
 112.164 +.x-form-focus,textarea.x-form-focus{border:1px solid #7eadd9;}
 112.165 +.x-form-invalid,textarea.x-form-invalid{background:#fff url(../images/default/grid/invalid_line.gif) repeat-x bottom;border:1px solid #dd7870;}
 112.166 +.ext-safari .x-form-invalid{background-color:#fee;border:1px solid #ff7870;}
 112.167 +.x-editor{visibility:hidden;padding:0;margin:0;}
 112.168 +.x-form-check-wrap{line-height:18px;}
 112.169 +.ext-ie .x-form-check-wrap input{width:15px;height:15px;}
 112.170 +.x-editor .x-form-check-wrap{padding:3px;}
 112.171 +.x-editor .x-form-checkbox{height:13px;}
 112.172 +.x-form-grow-sizer{font:normal 12px tahoma,arial,helvetica,sans-serif;left:-10000px;padding:8px 3px;position:absolute;visibility:hidden;top:-10000px;white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word;zoom:1;}
 112.173 +.x-form-grow-sizer p{margin:0!important;border:0 none!important;padding:0!important;}
 112.174 +.x-form-item{font:normal 12px tahoma,arial,helvetica,sans-serif;display:block;margin-bottom:4px;zoom:1;}
 112.175 +.x-form-item label{display:block;float:left;width:100px;padding:3px;padding-left:0;clear:left;z-index:2;position:relative;}
 112.176 +.x-form-element{padding-left:105px;position:relative;}
 112.177 +.x-form-invalid-msg{color:#e00;padding:2px;padding-left:18px;font:normal 11px tahoma,arial,helvetica,sans-serif;background:transparent url(../images/default/shared/warning.gif) no-repeat 0 2px;line-height:16px;width:200px;}
 112.178 +.x-form-label-right label{text-align:right;}
 112.179 +.x-form-label-top .x-form-item label{width:auto;float:none;clear:none;display:inline;margin-bottom:4px;position:static;}
 112.180 +.x-form-label-top .x-form-element{padding-left:0;padding-top:4px;}
 112.181 +.x-form-label-top .x-form-item{padding-bottom:4px;}
 112.182 +.x-form-empty-field{color:gray;}
 112.183 +.x-small-editor .x-form-field{font:normal 11px arial,tahoma,helvetica,sans-serif;}
 112.184 +.x-small-editor .x-form-text{height:20px;line-height:16px;vertical-align:middle;}
 112.185 +.ext-ie .x-small-editor .x-form-text{margin-top:-1px!important;margin-bottom:-1px!important;height:20px!important;line-height:16px!important;}
 112.186 +.ext-strict .x-small-editor .x-form-text{height:16px!important;}
 112.187 +.ext-safari .x-small-editor .x-form-field{font:normal 12px arial,tahoma,helvetica,sans-serif;}
 112.188 +.ext-ie .x-small-editor .x-form-text{height:20px;line-height:16px;}
 112.189 +.ext-border-box .x-small-editor .x-form-text{height:20px;}
 112.190 +.x-small-editor .x-form-select-one{height:20px;line-height:16px;vertical-align:middle;}
 112.191 +.x-small-editor .x-form-num-field{text-align:right;}
 112.192 +.x-small-editor .x-form-field-wrap .x-form-trigger{height:19px;}
 112.193 +.x-form-clear{clear:both;height:0;overflow:hidden;line-height:0;font-size:0;}
 112.194 +.x-form-clear-left{clear:left;height:0;overflow:hidden;line-height:0;font-size:0;}
 112.195 +.x-form-cb-label{width:'auto'!important;float:none!important;clear:none!important;display:inline!important;margin-left:4px;}
 112.196 +.x-form-column{float:left;padding:0;margin:0;width:48%;overflow:hidden;zoom:1;}
 112.197 +.x-form .x-form-btns-ct .x-btn{float:right;clear:none;}
 112.198 +.x-form .x-form-btns-ct .x-form-btns td{border:0;padding:0;}
 112.199 +.x-form .x-form-btns-ct .x-form-btns-right table{float:right;clear:none;}
 112.200 +.x-form .x-form-btns-ct .x-form-btns-left table{float:left;clear:none;}
 112.201 +.x-form .x-form-btns-ct .x-form-btns-center{text-align:center;}
 112.202 +.x-form .x-form-btns-ct .x-form-btns-center table{margin:0 auto;}
 112.203 +.x-form .x-form-btns-ct table td.x-form-btn-td{padding:3px;}
 112.204 +.x-form .x-form-btns-ct .x-btn-focus .x-btn-left{background-position:0 -147px;}
 112.205 +.x-form .x-form-btns-ct .x-btn-focus .x-btn-right{background-position:0 -168px;}
 112.206 +.x-form .x-form-btns-ct .x-btn-focus .x-btn-center{background-position:0 -189px;}
 112.207 +.x-form .x-form-btns-ct .x-btn-click .x-btn-center{background-position:0 -126px;}
 112.208 +.x-form .x-form-btns-ct .x-btn-click .x-btn-right{background-position:0 -84px;}
 112.209 +.x-form .x-form-btns-ct .x-btn-click .x-btn-left{background-position:0 -63px;}
 112.210 +.x-form-invalid-icon{width:16px;height:18px;visibility:hidden;position:absolute;left:0;top:0;display:block;background:transparent url(../images/default/form/exclamation.gif) no-repeat 0 2px;}
 112.211 +.x-fieldset{border:1px solid #B5B8C8;padding:10px;margin-bottom:10px;display:block;}
 112.212 +.x-fieldset legend{font:bold 11px tahoma,arial,helvetica,sans-serif;color:#15428b;}
 112.213 +.ext-ie .x-fieldset legend{margin-bottom:10px;}
 112.214 +.ext-ie .x-fieldset{padding-top:0;padding-bottom:10px;}
 112.215 +.x-fieldset legend .x-tool-toggle{margin-right:3px;margin-left:0;float:left!important;}
 112.216 +.x-fieldset legend input{margin-right:3px;float:left!important;height:13px;width:13px;}
 112.217 +fieldset.x-panel-collapsed{padding-bottom:0!important;border-width:1px 0 0 0!important;}
 112.218 +fieldset.x-panel-collapsed .x-fieldset-bwrap{visibility:hidden;position:absolute;left:-1000px;top:-1000px;}
 112.219 +.ext-ie .x-fieldset-bwrap{zoom:1;}
 112.220 +.ext-ie td .x-form-text{position:relative;top:-1px;}
 112.221 +.x-fieldset-noborder{border:0 none transparent;}
 112.222 +.x-fieldset-noborder legend{margin-left:-3px;}
 112.223 +.ext-ie .x-fieldset-noborder legend{position:relative;margin-bottom:23px;}
 112.224 +.ext-ie .x-fieldset-noborder legend span{position:absolute;left:-5px;}
 112.225 +.ext-gecko .x-window-body .x-form-item{-moz-outline:none;overflow:auto;}
 112.226 +.ext-gecko .x-form-item{-moz-outline:none;}
 112.227 +.x-hide-label label.x-form-item-label{display:none;}
 112.228 +.x-hide-label .x-form-element{padding-left:0!important;}
 112.229 +.x-fieldset{overflow:hidden;}
 112.230 +.x-fieldset-bwrap{overflow:hidden;zoom:1;}
 112.231 +.x-fieldset-body{overflow:hidden;}
 112.232 +
 112.233 +.x-btn{font:normal 11px tahoma,verdana,helvetica;cursor:pointer;white-space:nowrap;}
 112.234 +.x-btn button{border:0 none;background:transparent;font:normal 11px tahoma,verdana,helvetica;padding-left:3px;padding-right:3px;cursor:pointer;margin:0;overflow:visible;width:auto;-moz-outline:0 none;outline:0 none;}
 112.235 +* html .ext-ie .x-btn button{width:1px;}
 112.236 +.ext-gecko .x-btn button{padding-left:0;padding-right:0;}
 112.237 +.ext-ie .x-btn button{padding-top:2px;}
 112.238 +.x-btn-icon .x-btn-center .x-btn-text{background-position:center;background-repeat:no-repeat;height:16px;width:16px;cursor:pointer;white-space:nowrap;padding:0;}
 112.239 +.x-btn-icon .x-btn-center{padding:1px;}
 112.240 +.x-btn em{font-style:normal;font-weight:normal;}
 112.241 +.x-btn-text-icon .x-btn-center .x-btn-text{background-position:0 2px;background-repeat:no-repeat;padding-left:18px;padding-top:3px;padding-bottom:2px;padding-right:0;}
 112.242 +.x-btn-left,.x-btn-right{font-size:1px;line-height:1px;}
 112.243 +.x-btn-left{width:3px;height:21px;background:url(../images/default/button/btn-sprite.gif) no-repeat 0 0;}
 112.244 +.x-btn-right{width:3px;height:21px;background:url(../images/default/button/btn-sprite.gif) no-repeat 0 -21px;}
 112.245 +.x-btn-left i,.x-btn-right i{display:block;width:3px;overflow:hidden;font-size:1px;line-height:1px;}
 112.246 +.x-btn-center{background:url(../images/default/button/btn-sprite.gif) repeat-x 0 -42px;vertical-align:middle;text-align:center;padding:0 5px;cursor:pointer;white-space:nowrap;}
 112.247 +.x-btn-over .x-btn-left{background-position:0 -63px;}
 112.248 +.x-btn-over .x-btn-right{background-position:0 -84px;}
 112.249 +.x-btn-over .x-btn-center{background-position:0 -105px;}
 112.250 +.x-btn-click .x-btn-center,.x-btn-menu-active .x-btn-center{background-position:0 -126px;}
 112.251 +.x-btn-disabled *{color:gray!important;cursor:default!important;}
 112.252 +.x-btn-menu-text-wrap .x-btn-center{padding:0 3px;}
 112.253 +.ext-gecko .x-btn-menu-text-wrap .x-btn-center{padding:0 1px;}
 112.254 +.x-btn-menu-arrow-wrap .x-btn-center{padding:0;}
 112.255 +.x-btn-menu-arrow-wrap .x-btn-center button{width:12px!important;height:21px;padding:0!important;display:block;background:transparent url(../images/default/button/btn-arrow.gif) no-repeat left 3px;}
 112.256 +.x-btn-with-menu .x-btn-center{padding-right:2px!important;}
 112.257 +.x-btn-with-menu .x-btn-center em{display:block;background:transparent url(../images/default/toolbar/btn-arrow.gif) no-repeat right 0;padding-right:10px;}
 112.258 +.x-btn-text-icon .x-btn-with-menu .x-btn-center em{display:block;background:transparent url(../images/default/toolbar/btn-arrow.gif) no-repeat right 3px;padding-right:10px;}
 112.259 +.x-btn-pressed .x-btn-left{background:url(../images/default/button/btn-sprite.gif) no-repeat 0 -63px;}
 112.260 +.x-btn-pressed .x-btn-right{background:url(../images/default/button/btn-sprite.gif) no-repeat 0 -84px;}
 112.261 +.x-btn-pressed .x-btn-center{background:url(../images/default/button/btn-sprite.gif) repeat-x 0 -126px;}
 112.262 +
 112.263 +.x-toolbar{border-color:#a9bfd3;border-style:solid;border-width:0 0 1px 0;display:block;padding:2px;background:#d0def0 url(../images/default/toolbar/bg.gif) repeat-x top left;position:relative;zoom:1;}
 112.264 +.x-toolbar .x-item-disabled .x-btn-icon{opacity:.35;-moz-opacity:.35;filter:alpha(opacity=35);}
 112.265 +.x-toolbar td{vertical-align:middle;}
 112.266 +.mso .x-toolbar,.x-grid-mso .x-toolbar{border:0 none;background:url(../images/default/grid/mso-hd.gif);}
 112.267 +.x-toolbar td,.x-toolbar span,.x-toolbar input,.x-toolbar div,.x-toolbar select,.x-toolbar label{white-space:nowrap;font:normal 11px tahoma,arial,helvetica,sans-serif;}
 112.268 +.x-toolbar .x-item-disabled{color:gray;cursor:default;opacity:.6;-moz-opacity:.6;filter:alpha(opacity=60);}
 112.269 +.x-toolbar .x-item-disabled *{color:gray;cursor:default;}
 112.270 +.x-toolbar .x-btn-left{background:none;}
 112.271 +.x-toolbar .x-btn-right{background:none;}
 112.272 +.x-toolbar .x-btn-center{background:none;padding:0;}
 112.273 +.x-toolbar .x-btn-menu-text-wrap .x-btn-center button{padding-right:2px;}
 112.274 +.ext-gecko .x-toolbar .x-btn-menu-text-wrap .x-btn-center button{padding-right:0;}
 112.275 +.x-toolbar .x-btn-menu-arrow-wrap .x-btn-center button{padding:0 2px;}
 112.276 +.x-toolbar .x-btn-menu-arrow-wrap .x-btn-center button{width:12px;background:transparent url(../images/default/toolbar/btn-arrow.gif) no-repeat 0 3px;}
 112.277 +.x-toolbar .x-btn-text-icon .x-btn-menu-arrow-wrap .x-btn-center button{width:12px;background:transparent url(../images/default/toolbar/btn-arrow.gif) no-repeat 0 3px;}
 112.278 +.x-toolbar .x-btn-over .x-btn-menu-arrow-wrap .x-btn-center button{background-position:0 -47px;}
 112.279 +.x-toolbar .x-btn-over .x-btn-left{background:url(../images/default/toolbar/tb-btn-sprite.gif) no-repeat 0 0;}
 112.280 +.x-toolbar .x-btn-over .x-btn-right{background:url(../images/default/toolbar/tb-btn-sprite.gif) no-repeat 0 -21px;}
 112.281 +.x-toolbar .x-btn-over .x-btn-center{background:url(../images/default/toolbar/tb-btn-sprite.gif) repeat-x 0 -42px;}
 112.282 +.x-toolbar .x-btn-click .x-btn-left,.x-toolbar .x-btn-pressed .x-btn-left,.x-toolbar .x-btn-menu-active .x-btn-left{background:url(../images/default/toolbar/tb-btn-sprite.gif) no-repeat 0 -63px;}
 112.283 +.x-toolbar .x-btn-click .x-btn-right,.x-toolbar .x-btn-pressed .x-btn-right,.x-toolbar .x-btn-menu-active .x-btn-right{background:url(../images/default/toolbar/tb-btn-sprite.gif) no-repeat 0 -84px;}
 112.284 +.x-toolbar .x-btn-click .x-btn-center,.x-toolbar .x-btn-pressed .x-btn-center,.x-toolbar .x-btn-menu-active .x-btn-center{background:url(../images/default/toolbar/tb-btn-sprite.gif) repeat-x 0 -105px;}
 112.285 +.x-toolbar .x-btn-with-menu .x-btn-center em{padding-right:8px;}
 112.286 +.x-toolbar .ytb-text{padding:2px;}
 112.287 +.x-toolbar .ytb-sep{background-image:url(../images/default/grid/grid-blue-split.gif);background-position:center;background-repeat:no-repeat;display:block;font-size:1px;height:16px;width:4px;overflow:hidden;cursor:default;margin:0 2px 0;border:0;}
 112.288 +.x-toolbar .ytb-spacer{width:2px;}
 112.289 +.x-tbar-page-number{width:24px;height:14px;}
 112.290 +.x-tbar-page-first{background-image:url(../images/default/grid/page-first.gif)!important;}
 112.291 +.x-tbar-loading{background-image:url(../images/default/grid/done.gif)!important;}
 112.292 +.x-tbar-page-last{background-image:url(../images/default/grid/page-last.gif)!important;}
 112.293 +.x-tbar-page-next{background-image:url(../images/default/grid/page-next.gif)!important;}
 112.294 +.x-tbar-page-prev{background-image:url(../images/default/grid/page-prev.gif)!important;}
 112.295 +.x-item-disabled .x-tbar-loading{background-image:url(../images/default/grid/loading.gif)!important;}
 112.296 +.x-item-disabled .x-tbar-page-first{background-image:url(../images/default/grid/page-first-disabled.gif)!important;}
 112.297 +.x-item-disabled .x-tbar-page-last{background-image:url(../images/default/grid/page-last-disabled.gif)!important;}
 112.298 +.x-item-disabled .x-tbar-page-next{background-image:url(../images/default/grid/page-next-disabled.gif)!important;}
 112.299 +.x-item-disabled .x-tbar-page-prev{background-image:url(../images/default/grid/page-prev-disabled.gif)!important;}
 112.300 +.x-paging-info{position:absolute;top:5px;right:8px;color:#444;}
 112.301 +.x-statusbar .x-status-text{height:21px;line-height:21px;padding:0 4px;cursor:default;}
 112.302 +.x-statusbar .x-status-busy{padding-left:25px;background:transparent url(../images/default/grid/loading.gif) no-repeat 3px 3px;}
 112.303 +.x-statusbar .x-status-text-panel{border-top:1px solid #99BBE8;border-right:1px solid #fff;border-bottom:1px solid #fff;border-left:1px solid #99BBE8;padding:2px 8px 2px 5px;}
 112.304 +
 112.305 +.x-resizable-handle{position:absolute;z-index:100;font-size:1px;line-height:6px;overflow:hidden;background:white;filter:alpha(opacity=0);opacity:0;zoom:1;}
 112.306 +.x-resizable-handle-east{width:6px;cursor:e-resize;right:0;top:0;height:100%;}
 112.307 +.ext-ie .x-resizable-handle-east{margin-right:-1px;}
 112.308 +.x-resizable-handle-south{width:100%;cursor:s-resize;left:0;bottom:0;height:6px;}
 112.309 +.ext-ie .x-resizable-handle-south{margin-bottom:-1px;}
 112.310 +.x-resizable-handle-west{width:6px;cursor:w-resize;left:0;top:0;height:100%;}
 112.311 +.x-resizable-handle-north{width:100%;cursor:n-resize;left:0;top:0;height:6px;}
 112.312 +.x-resizable-handle-southeast{width:6px;cursor:se-resize;right:0;bottom:0;height:6px;z-index:101;}
 112.313 +.x-resizable-handle-northwest{width:6px;cursor:nw-resize;left:0;top:0;height:6px;z-index:101;}
 112.314 +.x-resizable-handle-northeast{width:6px;cursor:ne-resize;right:0;top:0;height:6px;z-index:101;}
 112.315 +.x-resizable-handle-southwest{width:6px;cursor:sw-resize;left:0;bottom:0;height:6px;z-index:101;}
 112.316 +.x-resizable-over .x-resizable-handle,.x-resizable-pinned .x-resizable-handle{filter:alpha(opacity=100);opacity:1;}
 112.317 +.x-resizable-over .x-resizable-handle-east,.x-resizable-pinned .x-resizable-handle-east{background:url(../images/default/sizer/e-handle.gif);background-position:left;}
 112.318 +.x-resizable-over .x-resizable-handle-west,.x-resizable-pinned .x-resizable-handle-west{background:url(../images/default/sizer/e-handle.gif);background-position:left;}
 112.319 +.x-resizable-over .x-resizable-handle-south,.x-resizable-pinned .x-resizable-handle-south{background:url(../images/default/sizer/s-handle.gif);background-position:top;}
 112.320 +.x-resizable-over .x-resizable-handle-north,.x-resizable-pinned .x-resizable-handle-north{background:url(../images/default/sizer/s-handle.gif);background-position:top;}
 112.321 +.x-resizable-over .x-resizable-handle-southeast,.x-resizable-pinned .x-resizable-handle-southeast{background:url(../images/default/sizer/se-handle.gif);background-position:top left;}
 112.322 +.x-resizable-over .x-resizable-handle-northwest,.x-resizable-pinned .x-resizable-handle-northwest{background:url(../images/default/sizer/nw-handle.gif);background-position:bottom right;}
 112.323 +.x-resizable-over .x-resizable-handle-northeast,.x-resizable-pinned .x-resizable-handle-northeast{background:url(../images/default/sizer/ne-handle.gif);background-position:bottom left;}
 112.324 +.x-resizable-over .x-resizable-handle-southwest,.x-resizable-pinned .x-resizable-handle-southwest{background:url(../images/default/sizer/sw-handle.gif);background-position:top right;}
 112.325 +.x-resizable-proxy{border:1px dashed #3b5a82;position:absolute;overflow:hidden;display:none;left:0;top:0;z-index:50000;}
 112.326 +.x-resizable-overlay{width:100%;height:100%;display:none;position:absolute;left:0;top:0;background:white;z-index:200000;-moz-opacity:0;opacity:0;filter:alpha(opacity=0);}
 112.327 +
 112.328 + .x-grid3{position:relative;overflow:hidden;background-color:#fff;}
 112.329 +.x-grid-panel .x-panel-body{overflow:hidden!important;}
 112.330 +.x-grid-panel .x-panel-mc .x-panel-body{border:1px solid #99bbe8;}
 112.331 +.x-grid3 table{table-layout:fixed;}
 112.332 +.x-grid3-viewport{overflow:hidden;}
 112.333 +.x-grid3-hd-row td,.x-grid3-row td,.x-grid3-summary-row td{font:normal 11px arial,tahoma,helvetica,sans-serif;-moz-outline:none;-moz-user-focus:normal;}
 112.334 +.x-grid3-row td,.x-grid3-summary-row td{line-height:13px;vertical-align:top;padding-left:1px;padding-right:1px;-moz-user-select:none;}
 112.335 +.x-grid3-hd-row td{line-height:15px;vertical-align:middle;border-left:1px solid #eee;border-right:1px solid #d0d0d0;}
 112.336 +.x-grid3-hd-row .x-grid3-marker-hd{padding:3px;}
 112.337 +.x-grid3-row .x-grid3-marker{padding:3px;}
 112.338 +.x-grid3-cell-inner,.x-grid3-hd-inner{overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;padding:3px 3px 3px 5px;white-space:nowrap;}
 112.339 +.x-grid3-hd-inner{position:relative;cursor:inherit;padding:4px 3px 4px 5px;}
 112.340 +.x-grid3-row-body{white-space:normal;}
 112.341 +.x-grid3-body-cell{-moz-outline:0 none;outline:0 none;}
 112.342 +.ext-ie .x-grid3-cell-inner,.ext-ie .x-grid3-hd-inner{width:100%;}
 112.343 +.ext-strict .x-grid3-cell-inner,.ext-strict .x-grid3-hd-inner{width:auto;}
 112.344 +.x-grid-row-loading{background:#fff url(../images/default/shared/loading-balls.gif) no-repeat center center;}
 112.345 +.x-grid-page{overflow:hidden;}
 112.346 +.x-grid3-row{cursor:default;border:1px solid #ededed;border-top-color:#fff;width:100%;}
 112.347 +.x-grid3-row-alt{background-color:#fafafa;}
 112.348 +.x-grid3-row-over{border:1px solid #ddd;background:#efefef url(../images/default/grid/row-over.gif) repeat-x left top;}
 112.349 +.x-grid3-resize-proxy{width:1px;left:0;background-color:#777;cursor:e-resize;cursor:col-resize;position:absolute;top:0;height:100px;overflow:hidden;visibility:hidden;border:0 none;z-index:7;}
 112.350 +.x-grid3-resize-marker{width:1px;left:0;background-color:#777;position:absolute;top:0;height:100px;overflow:hidden;visibility:hidden;border:0 none;z-index:7;}
 112.351 +.x-grid3-focus{position:absolute;left:0;top:0;width:1px;height:1px;line-height:1px;font-size:1px;-moz-outline:0 none;outline:0 none;-moz-user-select:normal;-khtml-user-select:normal;}
 112.352 +.x-grid3-header{background:#f9f9f9 url(../images/default/grid/grid3-hrow.gif) repeat-x 0 bottom;cursor:default;zoom:1;padding:1px 0 0 0;}
 112.353 +.x-grid3-header-pop{border-left:1px solid #d0d0d0;float:right;clear:none;}
 112.354 +.x-grid3-header-pop-inner{border-left:1px solid #eee;width:14px;height:19px;background:transparent url(../images/default/grid/hd-pop.gif) no-repeat center center;}
 112.355 +.ext-ie .x-grid3-header-pop-inner{width:15px;}
 112.356 +.ext-strict .x-grid3-header-pop-inner{width:14px;}
 112.357 +.x-grid3-header-inner{overflow:hidden;zoom:1;float:left;}
 112.358 +.x-grid3-header-offset{padding-left:1px;width:10000px;}
 112.359 +td.x-grid3-hd-over,td.sort-desc,td.sort-asc,td.x-grid3-hd-menu-open{border-left:1px solid #aaccf6;border-right:1px solid #aaccf6;}
 112.360 +td.x-grid3-hd-over .x-grid3-hd-inner,td.sort-desc .x-grid3-hd-inner,td.sort-asc .x-grid3-hd-inner,td.x-grid3-hd-menu-open .x-grid3-hd-inner{background:#ebf3fd url(../images/default/grid/grid3-hrow-over.gif) repeat-x left bottom;}
 112.361 +.x-grid3-sort-icon{background-repeat:no-repeat;display:none;height:4px;width:13px;margin-left:3px;vertical-align:middle;}
 112.362 +.sort-asc .x-grid3-sort-icon{background-image:url(../images/default/grid/sort_asc.gif);display:inline;}
 112.363 +.sort-desc .x-grid3-sort-icon{background-image:url(../images/default/grid/sort_desc.gif);display:inline;}
 112.364 +.ext-strict .ext-ie .x-grid3-header-inner{position:relative;}
 112.365 +.ext-strict .ext-ie6 .x-grid3-hd{position:relative;}
 112.366 +.ext-strict .ext-ie6 .x-grid3-hd-inner{position:static;}
 112.367 +.x-grid3-body{zoom:1;}
 112.368 +.x-grid3-scroller{overflow:auto;zoom:1;position:relative;}
 112.369 +.x-grid3-cell-text,.x-grid3-hd-text{display:block;padding:3px 5px 3px 5px;-moz-user-select:none;-khtml-user-select:none;color:black;}
 112.370 +.x-grid3-split{background-image:url(../images/default/grid/grid-split.gif);background-position:center;background-repeat:no-repeat;cursor:e-resize;cursor:col-resize;display:block;font-size:1px;height:16px;overflow:hidden;position:absolute;top:2px;width:6px;z-index:3;}
 112.371 +.x-grid3-hd-text{color:#15428b;}
 112.372 +.x-dd-drag-proxy .x-grid3-hd-inner{background:#ebf3fd url(../images/default/grid/grid3-hrow-over.gif) repeat-x left bottom;width:120px;padding:3px;border:1px solid #aaccf6;overflow:hidden;}
 112.373 +.col-move-top,.col-move-bottom{width:9px;height:9px;position:absolute;top:0;line-height:1px;font-size:1px;overflow:hidden;visibility:hidden;z-index:20000;}
 112.374 +.col-move-top{background:transparent url(../images/default/grid/col-move-top.gif) no-repeat left top;}
 112.375 +.col-move-bottom{background:transparent url(../images/default/grid/col-move-bottom.gif) no-repeat left top;}
 112.376 +.x-grid3-row-selected{background:#DFE8F6!important;border:1px dotted #a3bae9;}
 112.377 +.x-grid3-cell-selected{background-color:#B8CFEE!important;color:black;}
 112.378 +.x-grid3-cell-selected span{color:black!important;}
 112.379 +.x-grid3-cell-selected .x-grid3-cell-text{color:black;}
 112.380 +.x-grid3-locked td.x-grid3-row-marker,.x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker{background:#ebeadb url(../images/default/grid/grid-hrow.gif) repeat-x 0 bottom!important;vertical-align:middle!important;color:black;padding:0;border-top:1px solid white;border-bottom:none!important;border-right:1px solid #6fa0df!important;text-align:center;}
 112.381 +.x-grid3-locked td.x-grid3-row-marker div,.x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker div{padding:0 4px;color:#15428b!important;text-align:center;}
 112.382 +.x-grid3-dirty-cell{background:transparent url(../images/default/grid/dirty.gif) no-repeat 0 0;}
 112.383 +.x-grid3-topbar,.x-grid3-bottombar{font:normal 11px arial,tahoma,helvetica,sans-serif;overflow:hidden;display:none;zoom:1;position:relative;}
 112.384 +.x-grid3-topbar .x-toolbar{border-right:0 none;}
 112.385 +.x-grid3-bottombar .x-toolbar{border-right:0 none;border-bottom:0 none;border-top:1px solid #a9bfd3;}
 112.386 +.x-props-grid .x-grid3-cell{padding:1px;}
 112.387 +.x-props-grid .x-grid3-td-name .x-grid3-cell-inner{background:transparent url(../images/default/grid/grid3-special-col-bg.gif) repeat-y -16px!important;padding-left:12px;color:black!important;}
 112.388 +.x-props-grid .x-grid3-body .x-grid3-td-name{padding:1px;padding-right:0;background:white!important;border:0 none;border-right:1px solid #eee;}
 112.389 +.xg-hmenu-sort-asc .x-menu-item-icon{background-image:url(../images/default/grid/hmenu-asc.gif);}
 112.390 +.xg-hmenu-sort-desc .x-menu-item-icon{background-image:url(../images/default/grid/hmenu-desc.gif);}
 112.391 +.xg-hmenu-lock .x-menu-item-icon{background-image:url(../images/default/grid/hmenu-lock.gif);}
 112.392 +.xg-hmenu-unlock .x-menu-item-icon{background-image:url(../images/default/grid/hmenu-unlock.gif);}
 112.393 +.x-grid3-col-dd{border:0 none;padding:0;background:transparent;}
 112.394 +.x-dd-drag-ghost .x-grid3-dd-wrap{padding:1px 3px 3px 1px;}
 112.395 +.x-grid3-hd{-moz-user-select:none;}
 112.396 +.x-grid3-hd-btn{display:none;position:absolute;width:14px;background:#c3daf9 url(../images/default/grid/grid3-hd-btn.gif) no-repeat left center;right:0;top:0;z-index:2;cursor:pointer;}
 112.397 +.x-grid3-hd-over .x-grid3-hd-btn,.x-grid3-hd-menu-open .x-grid3-hd-btn{display:block;}
 112.398 +a.x-grid3-hd-btn:hover{background-position:-14px center;}
 112.399 +.x-grid3-body .x-grid3-td-expander{background:transparent url(../images/default/grid/grid3-special-col-bg.gif) repeat-y right;}
 112.400 +.x-grid3-body .x-grid3-td-expander .x-grid3-cell-inner{padding:0!important;height:100%;}
 112.401 +.x-grid3-row-expander{width:100%;height:18px;background-position:4px 2px;background-repeat:no-repeat;background-color:transparent;background-image:url(../images/default/grid/row-expand-sprite.gif);}
 112.402 +.x-grid3-row-collapsed .x-grid3-row-expander{background-position:4px 2px;}
 112.403 +.x-grid3-row-expanded .x-grid3-row-expander{background-position:-21px 2px;}
 112.404 +.x-grid3-row-collapsed .x-grid3-row-body{display:none!important;}
 112.405 +.x-grid3-row-expanded .x-grid3-row-body{display:block!important;}
 112.406 +.x-grid3-body .x-grid3-td-checker{background:transparent url(../images/default/grid/grid3-special-col-bg.gif) repeat-y right;}
 112.407 +.x-grid3-body .x-grid3-td-checker .x-grid3-cell-inner,.x-grid3-header .x-grid3-td-checker .x-grid3-hd-inner{padding:0!important;height:100%;}
 112.408 +.x-grid3-row-checker,.x-grid3-hd-checker{width:100%;height:18px;background-position:2px 2px;background-repeat:no-repeat;background-color:transparent;background-image:url(../images/default/grid/row-check-sprite.gif);}
 112.409 +.x-grid3-row .x-grid3-row-checker{background-position:2px 2px;}
 112.410 +.x-grid3-row-selected .x-grid3-row-checker,.x-grid3-hd-checker-on .x-grid3-hd-checker{background-position:-23px 2px;}
 112.411 +.x-grid3-hd-checker{background-position:2px 3px;}
 112.412 +.x-grid3-hd-checker-on .x-grid3-hd-checker{background-position:-23px 3px;}
 112.413 +.x-grid3-body .x-grid3-td-numberer{background:transparent url(../images/default/grid/grid3-special-col-bg.gif) repeat-y right;}
 112.414 +.x-grid3-body .x-grid3-td-numberer .x-grid3-cell-inner{padding:3px 5px 0 0!important;text-align:right;color:#444;}
 112.415 +.x-grid3-body .x-grid3-row-selected .x-grid3-td-numberer,.x-grid3-body .x-grid3-row-selected .x-grid3-td-checker,.x-grid3-body .x-grid3-row-selected .x-grid3-td-expander{background:transparent url(../images/default/grid/grid3-special-col-sel-bg.gif) repeat-y right;}
 112.416 +.x-grid3-body .x-grid3-check-col-td .x-grid3-cell-inner{padding:1px 0 0 0!important;}
 112.417 +.x-grid3-check-col{width:100%;height:16px;background-position:center center;background-repeat:no-repeat;background-color:transparent;background-image:url(../images/default/menu/unchecked.gif);}
 112.418 +.x-grid3-check-col-on{width:100%;height:16px;background-position:center center;background-repeat:no-repeat;background-color:transparent;background-image:url(../images/default/menu/checked.gif);}
 112.419 +.x-grid-group,.x-grid-group-body,.x-grid-group-hd{zoom:1;}
 112.420 +.x-grid-group-hd{border-bottom:2px solid #99bbe8;cursor:pointer;padding-top:6px;}
 112.421 +.x-grid-group-hd div{background:transparent url(../images/default/grid/group-expand-sprite.gif) no-repeat 3px -47px;padding:4px 4px 4px 17px;color:#3764a0;font:bold 11px tahoma,arial,helvetica,sans-serif;}
 112.422 +.x-grid-group-collapsed .x-grid-group-hd div{background-position:3px 3px;}
 112.423 +.x-grid-group-collapsed .x-grid-group-body{display:none;}
 112.424 +.x-group-by-icon{background-image:url(../images/default/grid/group-by.gif);}
 112.425 +.x-cols-icon{background-image:url(../images/default/grid/columns.gif);}
 112.426 +.x-show-groups-icon{background-image:url(../images/default/grid/group-by.gif);}
 112.427 +.ext-ie .x-grid3 .x-editor .x-form-text{position:relative;top:-1px;}
 112.428 +.ext-ie .x-props-grid .x-editor .x-form-text{position:static;top:0;}
 112.429 +.x-grid-empty{padding:10px;color:gray;font:normal 11px tahoma,arial,helvetica,sans-serif;}
 112.430 +.ext-ie7 .x-grid-panel .x-panel-bbar{position:relative;}
 112.431 +
 112.432 +.x-dd-drag-proxy{position:absolute;left:0;top:0;visibility:hidden;z-index:15000;}
 112.433 +.x-dd-drag-ghost{color:black;font:normal 11px arial,helvetica,sans-serif;-moz-opacity:0.85;opacity:.85;filter:alpha(opacity=85);border-top:1px solid #ddd;border-left:1px solid #ddd;border-right:1px solid #bbb;border-bottom:1px solid #bbb;padding:3px;padding-left:20px;background-color:white;white-space:nowrap;}
 112.434 +.x-dd-drag-repair .x-dd-drag-ghost{-moz-opacity:0.4;opacity:.4;filter:alpha(opacity=40);border:0 none;padding:0;background-color:transparent;}
 112.435 +.x-dd-drag-repair .x-dd-drop-icon{visibility:hidden;}
 112.436 +.x-dd-drop-icon{position:absolute;top:3px;left:3px;display:block;width:16px;height:16px;background-color:transparent;background-position:center;background-repeat:no-repeat;z-index:1;}
 112.437 +.x-dd-drop-nodrop .x-dd-drop-icon{background-image:url(../images/default/dd/drop-no.gif);}
 112.438 +.x-dd-drop-ok .x-dd-drop-icon{background-image:url(../images/default/dd/drop-yes.gif);}
 112.439 +.x-dd-drop-ok-add .x-dd-drop-icon{background-image:url(../images/default/dd/drop-add.gif);}
 112.440 +.x-view-selector{position:absolute;left:0;top:0;width:0;background:#c3daf9;border:1px dotted #39b;opacity:.5;-moz-opacity:.5;filter:alpha(opacity=50);zoom:1;}
 112.441 +
 112.442 +.x-tree .x-panel-body{background-color:#fff;}
 112.443 +.ext-strict .ext-ie .x-tree .x-panel-bwrap{position:relative;overflow:hidden;}
 112.444 +.x-tree-icon,.x-tree-ec-icon,.x-tree-elbow-line,.x-tree-elbow,.x-tree-elbow-end,.x-tree-elbow-plus,.x-tree-elbow-minus,.x-tree-elbow-end-plus,.x-tree-elbow-end-minus{border:0 none;height:18px;margin:0;padding:0;vertical-align:top;width:16px;background-repeat:no-repeat;}
 112.445 +.x-tree-node-collapsed .x-tree-node-icon,.x-tree-node-expanded .x-tree-node-icon,.x-tree-node-leaf .x-tree-node-icon{border:0 none;height:18px;margin:0;padding:0;vertical-align:top;width:16px;background-position:center;background-repeat:no-repeat;}
 112.446 +.ext-ie .x-tree-node-indent img,.ext-ie .x-tree-node-icon,.ext-ie .x-tree-ec-icon{vertical-align:middle!important;}
 112.447 +.x-tree-node-expanded .x-tree-node-icon{background-image:url(../images/default/tree/folder-open.gif);}
 112.448 +.x-tree-node-leaf .x-tree-node-icon{background-image:url(../images/default/tree/leaf.gif);}
 112.449 +.x-tree-node-collapsed .x-tree-node-icon{background-image:url(../images/default/tree/folder.gif);}
 112.450 +.ext-ie input.x-tree-node-cb{width:15px;height:15px;}
 112.451 +input.x-tree-node-cb{margin-left:1px;}
 112.452 +.ext-ie input.x-tree-node-cb{margin-left:0;}
 112.453 +.x-tree-noicon .x-tree-node-icon{width:0;height:0;}
 112.454 +.x-tree-node-loading .x-tree-node-icon{background-image:url(../images/default/tree/loading.gif)!important;}
 112.455 +.x-tree-node-loading a span{font-style:italic;color:#444;}
 112.456 +.ext-ie .x-tree-node-el input{width:15px;height:15px;}
 112.457 +.x-tree-lines .x-tree-elbow{background-image:url(../images/default/tree/elbow.gif);}
 112.458 +.x-tree-lines .x-tree-elbow-plus{background-image:url(../images/default/tree/elbow-plus.gif);}
 112.459 +.x-tree-lines .x-tree-elbow-minus{background-image:url(../images/default/tree/elbow-minus.gif);}
 112.460 +.x-tree-lines .x-tree-elbow-end{background-image:url(../images/default/tree/elbow-end.gif);}
 112.461 +.x-tree-lines .x-tree-elbow-end-plus{background-image:url(../images/default/tree/elbow-end-plus.gif);}
 112.462 +.x-tree-lines .x-tree-elbow-end-minus{background-image:url(../images/default/tree/elbow-end-minus.gif);}
 112.463 +.x-tree-lines .x-tree-elbow-line{background-image:url(../images/default/tree/elbow-line.gif);}
 112.464 +.x-tree-no-lines .x-tree-elbow{background:transparent;}
 112.465 +.x-tree-no-lines .x-tree-elbow-plus{background-image:url(../images/default/tree/elbow-plus-nl.gif);}
 112.466 +.x-tree-no-lines .x-tree-elbow-minus{background-image:url(../images/default/tree/elbow-minus-nl.gif);}
 112.467 +.x-tree-no-lines .x-tree-elbow-end{background:transparent;}
 112.468 +.x-tree-no-lines .x-tree-elbow-end-plus{background-image:url(../images/default/tree/elbow-end-plus-nl.gif);}
 112.469 +.x-tree-no-lines .x-tree-elbow-end-minus{background-image:url(../images/default/tree/elbow-end-minus-nl.gif);}
 112.470 +.x-tree-no-lines .x-tree-elbow-line{background:transparent;}
 112.471 +.x-tree-arrows .x-tree-elbow{background:transparent;}
 112.472 +.x-tree-arrows .x-tree-elbow-plus{background:transparent url(../images/default/tree/arrows.gif) no-repeat 0 0;}
 112.473 +.x-tree-arrows .x-tree-elbow-minus{background:transparent url(../images/default/tree/arrows.gif) no-repeat -16px 0;}
 112.474 +.x-tree-arrows .x-tree-elbow-end{background:transparent;}
 112.475 +.x-tree-arrows .x-tree-elbow-end-plus{background:transparent url(../images/default/tree/arrows.gif) no-repeat 0 0;}
 112.476 +.x-tree-arrows .x-tree-elbow-end-minus{background:transparent url(../images/default/tree/arrows.gif) no-repeat -16px 0;}
 112.477 +.x-tree-arrows .x-tree-elbow-line{background:transparent;}
 112.478 +.x-tree-arrows .x-tree-ec-over .x-tree-elbow-plus{background-position:-32px 0;}
 112.479 +.x-tree-arrows .x-tree-ec-over .x-tree-elbow-minus{background-position:-48px 0;}
 112.480 +.x-tree-arrows .x-tree-ec-over .x-tree-elbow-end-plus{background-position:-32px 0;}
 112.481 +.x-tree-arrows .x-tree-ec-over .x-tree-elbow-end-minus{background-position:-48px 0;}
 112.482 +.x-tree-elbow-plus,.x-tree-elbow-minus,.x-tree-elbow-end-plus,.x-tree-elbow-end-minus{cursor:pointer;}
 112.483 +.ext-ie ul.x-tree-node-ct{font-size:0;line-height:0;zoom:1;}
 112.484 +.x-tree-node{color:black;font:normal 11px arial,tahoma,helvetica,sans-serif;white-space:nowrap;}
 112.485 +.x-tree-node-el{line-height:18px;cursor:pointer;}
 112.486 +.x-tree-node a,.x-dd-drag-ghost a{text-decoration:none;color:black;-khtml-user-select:none;-moz-user-select:none;-kthml-user-focus:normal;-moz-user-focus:normal;-moz-outline:0 none;outline:0 none;}
 112.487 +.x-tree-node a span,.x-dd-drag-ghost a span{text-decoration:none;color:black;padding:1px 3px 1px 2px;}
 112.488 +.x-tree-node .x-tree-node-disabled a span{color:gray!important;}
 112.489 +.x-tree-node .x-tree-node-disabled .x-tree-node-icon{-moz-opacity:0.5;opacity:.5;filter:alpha(opacity=50);}
 112.490 +.x-tree-node .x-tree-node-inline-icon{background:transparent;}
 112.491 +.x-tree-node a:hover,.x-dd-drag-ghost a:hover{text-decoration:none;}
 112.492 +.x-tree-node div.x-tree-drag-insert-below{border-bottom:1px dotted #36c;}
 112.493 +.x-tree-node div.x-tree-drag-insert-above{border-top:1px dotted #36c;}
 112.494 +.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-below{border-bottom:0 none;}
 112.495 +.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-above{border-top:0 none;}
 112.496 +.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-below a{border-bottom:2px solid #36c;}
 112.497 +.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-above a{border-top:2px solid #36c;}
 112.498 +.x-tree-node .x-tree-drag-append a span{background:#ddd;border:1px dotted gray;}
 112.499 +.x-tree-node .x-tree-node-over{background-color:#eee;}
 112.500 +.x-tree-node .x-tree-selected{background-color:#d9e8fb;}
 112.501 +.x-dd-drag-ghost .x-tree-node-indent,.x-dd-drag-ghost .x-tree-ec-icon{display:none!important;}
 112.502 +.x-tree-drop-ok-append .x-dd-drop-icon{background-image:url(../images/default/tree/drop-add.gif);}
 112.503 +.x-tree-drop-ok-above .x-dd-drop-icon{background-image:url(../images/default/tree/drop-over.gif);}
 112.504 +.x-tree-drop-ok-below .x-dd-drop-icon{background-image:url(../images/default/tree/drop-under.gif);}
 112.505 +.x-tree-drop-ok-between .x-dd-drop-icon{background-image:url(../images/default/tree/drop-between.gif);}
 112.506 +.x-tree-root-ct{zoom:1;}
 112.507 +
 112.508 +.x-date-picker{border:1px solid #1b376c;border-top:0 none;background:#fff;position:relative;}
 112.509 +.x-date-picker a{-moz-outline:0 none;outline:0 none;}
 112.510 +.x-date-inner,.x-date-inner td,.x-date-inner th{border-collapse:separate;}
 112.511 +.x-date-middle,.x-date-left,.x-date-right{background:url(../images/default/shared/hd-sprite.gif) repeat-x 0 -83px;color:#FFF;font:bold 11px "sans serif",tahoma,verdana,helvetica;overflow:hidden;}
 112.512 +.x-date-middle .x-btn-left,.x-date-middle .x-btn-center,.x-date-middle .x-btn-right{background:transparent!important;vertical-align:middle;}
 112.513 +.x-date-middle .x-btn .x-btn-text{color:#fff;}
 112.514 +.x-date-middle .x-btn-with-menu .x-btn-center em{background:transparent url(../images/default/toolbar/btn-arrow-light.gif) no-repeat right 0;}
 112.515 +.x-date-right,.x-date-left{width:18px;}
 112.516 +.x-date-right{text-align:right;}
 112.517 +.x-date-middle{padding-top:2px;padding-bottom:2px;width:130px;}
 112.518 +.x-date-right a,.x-date-left a{display:block;width:16px;height:16px;background-position:center;background-repeat:no-repeat;cursor:pointer;-moz-opacity:0.6;opacity:.6;filter:alpha(opacity=60);}
 112.519 +.x-date-right a:hover,.x-date-left a:hover{-moz-opacity:1;opacity:1;filter:alpha(opacity=100);}
 112.520 +.x-date-right a{background-image:url(../images/default/shared/right-btn.gif);margin-right:2px;text-decoration:none!important;}
 112.521 +.x-date-left a{background-image:url(../images/default/shared/left-btn.gif);margin-left:2px;text-decoration:none!important;}
 112.522 +table.x-date-inner{width:100%;table-layout:fixed;}
 112.523 +.x-date-inner th{width:25px;}
 112.524 +.x-date-inner th{background:#dfecfb url(../images/default/shared/glass-bg.gif) repeat-x left top;text-align:right!important;border-bottom:1px solid #a3bad9;font:normal 10px arial,helvetica,tahoma,sans-serif;color:#233d6d;cursor:default;padding:0;border-collapse:separate;}
 112.525 +.x-date-inner th span{display:block;padding:2px;padding-right:7px;}
 112.526 +.x-date-inner td{border:1px solid #fff;text-align:right;padding:0;}
 112.527 +.x-date-inner a{padding:2px 5px;display:block;font:normal 11px arial,helvetica,tahoma,sans-serif;text-decoration:none;color:black;text-align:right;zoom:1;}
 112.528 +.x-date-inner .x-date-active{cursor:pointer;color:black;}
 112.529 +.x-date-inner .x-date-selected a{background:#dfecfb url(../images/default/shared/glass-bg.gif) repeat-x left top;border:1px solid #8db2e3;padding:1px 4px;}
 112.530 +.x-date-inner .x-date-today a{border:1px solid darkred;padding:1px 4px;}
 112.531 +.x-date-inner .x-date-selected span{font-weight:bold;}
 112.532 +.x-date-inner .x-date-prevday a,.x-date-inner .x-date-nextday a{color:#aaa;text-decoration:none!important;}
 112.533 +.x-date-bottom{padding:4px;border-top:1px solid #a3bad9;background:#dfecfb url(../images/default/shared/glass-bg.gif) repeat-x left top;}
 112.534 +.x-date-inner a:hover,.x-date-inner .x-date-disabled a:hover{text-decoration:none!important;color:black;background:#ddecfe;}
 112.535 +.x-date-inner .x-date-disabled a{cursor:default;background:#eee;color:#bbb;}
 112.536 +.x-date-mmenu{background:#eee!important;}
 112.537 +.x-date-mmenu .x-menu-item{font-size:10px;padding:1px 24px 1px 4px;white-space:nowrap;color:#000;}
 112.538 +.x-date-mmenu .x-menu-item .x-menu-item-icon{width:10px;height:10px;margin-right:5px;background-position:center -4px!important;}
 112.539 +.x-date-mp{position:absolute;left:0;top:0;background:white;display:none;}
 112.540 +.x-date-mp td{padding:2px;font:normal 11px arial,helvetica,tahoma,sans-serif;}
 112.541 +td.x-date-mp-month,td.x-date-mp-year,td.x-date-mp-ybtn{border:0 none;text-align:center;vertical-align:middle;width:25%;}
 112.542 +.x-date-mp-ok{margin-right:3px;}
 112.543 +.x-date-mp-btns button{text-decoration:none;text-align:center;text-decoration:none!important;background:#083772;color:white;border:1px solid;border-color:#36c #005 #005 #36c;padding:1px 3px 1px;font:normal 11px arial,helvetica,tahoma,sans-serif;cursor:pointer;}
 112.544 +.x-date-mp-btns{background:#dfecfb url(../images/default/shared/glass-bg.gif) repeat-x left top;}
 112.545 +.x-date-mp-btns td{border-top:1px solid #c5d2df;text-align:center;}
 112.546 +td.x-date-mp-month a,td.x-date-mp-year a{display:block;padding:2px 4px;text-decoration:none;text-align:center;color:#15428b;}
 112.547 +td.x-date-mp-month a:hover,td.x-date-mp-year a:hover{color:#15428b;text-decoration:none;cursor:pointer;background:#ddecfe;}
 112.548 +td.x-date-mp-sel a{padding:1px 3px;background:#dfecfb url(../images/default/shared/glass-bg.gif) repeat-x left top;border:1px solid #8db2e3;}
 112.549 +.x-date-mp-ybtn a{overflow:hidden;width:15px;height:15px;cursor:pointer;background:transparent url(../images/default/panel/tool-sprites.gif) no-repeat;display:block;margin:0 auto;}
 112.550 +.x-date-mp-ybtn a.x-date-mp-next{background-position:0 -120px;}
 112.551 +.x-date-mp-ybtn a.x-date-mp-next:hover{background-position:-15px -120px;}
 112.552 +.x-date-mp-ybtn a.x-date-mp-prev{background-position:0 -105px;}
 112.553 +.x-date-mp-ybtn a.x-date-mp-prev:hover{background-position:-15px -105px;}
 112.554 +.x-date-mp-ybtn{text-align:center;}
 112.555 +td.x-date-mp-sep{border-right:1px solid #c5d2df;}
 112.556 +
 112.557 +.x-tip{position:absolute;top:0;left:0;visibility:hidden;z-index:20000;border:0 none;}
 112.558 +.x-tip .x-tip-close{background-image:url(../images/default/qtip/close.gif);height:15px;float:right;width:15px;margin:0 0 2px 2px;cursor:pointer;display:none;}
 112.559 +.x-tip .x-tip-tc{background:transparent url(../images/default/qtip/tip-sprite.gif) no-repeat 0 -62px;padding-top:3px;overflow:hidden;zoom:1;}
 112.560 +.x-tip .x-tip-tl{background:transparent url(../images/default/qtip/tip-sprite.gif) no-repeat 0 0;padding-left:6px;overflow:hidden;zoom:1;}
 112.561 +.x-tip .x-tip-tr{background:transparent url(../images/default/qtip/tip-sprite.gif) no-repeat right 0;padding-right:6px;overflow:hidden;zoom:1;}
 112.562 +.x-tip .x-tip-bc{background:transparent url(../images/default/qtip/tip-sprite.gif) no-repeat 0 -121px;height:3px;overflow:hidden;}
 112.563 +.x-tip .x-tip-bl{background:transparent url(../images/default/qtip/tip-sprite.gif) no-repeat 0 -59px;padding-left:6px;zoom:1;}
 112.564 +.x-tip .x-tip-br{background:transparent url(../images/default/qtip/tip-sprite.gif) no-repeat right -59px;padding-right:6px;zoom:1;}
 112.565 +.x-tip .x-tip-mc{border:0 none;font:normal 11px tahoma,arial,helvetica,sans-serif;}
 112.566 +.x-tip .x-tip-ml{background:#fff url(../images/default/qtip/tip-sprite.gif) no-repeat 0 -124px;padding-left:6px;zoom:1;}
 112.567 +.x-tip .x-tip-mr{background:transparent url(../images/default/qtip/tip-sprite.gif) no-repeat right -124px;padding-right:6px;zoom:1;}
 112.568 +.ext-ie .x-tip .x-tip-header,.ext-ie .x-tip .x-tip-tc{font-size:0;line-height:0;}
 112.569 +.x-tip .x-tip-header-text{font:bold 11px tahoma,arial,helvetica,sans-serif;padding:0;margin:0 0 2px 0;color:#444;}
 112.570 +.x-tip .x-tip-body{font:normal 11px tahoma,arial,helvetica,sans-serif;margin:0!important;line-height:14px;color:#444;padding:0;}
 112.571 +.x-tip .x-tip-body .loading-indicator{margin:0;}
 112.572 +.x-tip-draggable .x-tip-header,.x-tip-draggable .x-tip-header-text{cursor:move;}
 112.573 +.x-form-invalid-tip .x-tip-tc{background:url(../images/default/form/error-tip-corners.gif) repeat-x 0 -12px;padding-top:6px;}
 112.574 +.x-form-invalid-tip .x-tip-tl{background-image:url(../images/default/form/error-tip-corners.gif);}
 112.575 +.x-form-invalid-tip .x-tip-tr{background-image:url(../images/default/form/error-tip-corners.gif);}
 112.576 +.x-form-invalid-tip .x-tip-bc{background:url(../images/default/form/error-tip-corners.gif) repeat-x 0 -18px;height:6px;}
 112.577 +.x-form-invalid-tip .x-tip-bl{background:url(../images/default/form/error-tip-corners.gif) no-repeat 0 -6px;}
 112.578 +.x-form-invalid-tip .x-tip-br{background:url(../images/default/form/error-tip-corners.gif) no-repeat right -6px;}
 112.579 +.x-form-invalid-tip .x-tip-ml{background-image:url(../images/default/form/error-tip-corners.gif);}
 112.580 +.x-form-invalid-tip .x-tip-mr{background-image:url(../images/default/form/error-tip-corners.gif);}
 112.581 +.x-form-invalid-tip .x-tip-body{padding:2px;}
 112.582 +.x-form-invalid-tip .x-tip-body{padding-left:24px;background:transparent url(../images/default/form/exclamation.gif) no-repeat 2px 2px;}
 112.583 +
 112.584 +.x-menu{border:1px solid #718bb7;z-index:15000;zoom:1;background:#f0f0f0 url(../images/default/menu/menu.gif) repeat-y;padding:2px;}
 112.585 +.x-menu a{text-decoration:none!important;}
 112.586 +.ext-ie .x-menu{zoom:1;overflow:hidden;}
 112.587 +.x-menu-list{background:transparent;border:0 none;}
 112.588 +.x-menu li{line-height:100%;}
 112.589 +.x-menu li.x-menu-sep-li{font-size:1px;line-height:1px;}
 112.590 +.x-menu-list-item{font:normal 11px tahoma,arial,sans-serif;white-space:nowrap;-moz-user-select:none;-khtml-user-select:none;display:block;padding:1px;}
 112.591 +.x-menu-item-arrow{background:transparent url(../images/default/menu/menu-parent.gif) no-repeat right;}
 112.592 +.x-menu-sep{display:block;font-size:1px;line-height:1px;margin:2px 3px;background-color:#e0e0e0;border-bottom:1px solid #fff;overflow:hidden;}
 112.593 +.x-menu-focus{position:absolute;left:0;top:-5px;width:0;height:0;line-height:1px;}
 112.594 +.x-menu a.x-menu-item{display:block;line-height:16px;padding:3px 21px 3px 3px;white-space:nowrap;text-decoration:none;color:#222;-moz-outline:0 none;outline:0 none;cursor:pointer;}
 112.595 +.x-menu-item-active{background:#ebf3fd url(../images/default/menu/item-over.gif) repeat-x left bottom;border:1px solid #aaccf6;padding:0;}
 112.596 +.x-menu-item-active a.x-menu-item{color:#233d6d;}
 112.597 +.x-menu-item-icon{border:0 none;height:16px;padding:0;vertical-align:top;width:16px;margin:0 8px 0 0;background-position:center;}
 112.598 +.x-menu-check-item .x-menu-item-icon{background:transparent url(../images/default/menu/unchecked.gif) no-repeat center;}
 112.599 +.x-menu-item-checked .x-menu-item-icon{background-image:url(../images/default/menu/checked.gif);}
 112.600 +.x-menu-group-item .x-menu-item-icon{background:transparent;}
 112.601 +.x-menu-item-checked .x-menu-group-item .x-menu-item-icon{background:transparent url(../images/default/menu/group-checked.gif) no-repeat center;}
 112.602 +.x-menu-plain{background:#fff!important;}
 112.603 +.x-menu-date-item{padding:0;}
 112.604 +.x-menu .x-color-palette,.x-menu .x-date-picker{margin-left:26px;margin-right:4px;}
 112.605 +.x-menu .x-date-picker{border:1px solid #a3bad9;margin-top:2px;margin-bottom:2px;}
 112.606 +.x-menu-plain .x-color-palette,.x-menu-plain .x-date-picker{margin:0;border:0 none;}
 112.607 +.x-date-menu{padding:0!important;}
 112.608 +.x-cycle-menu .x-menu-item-checked{border:1px dotted #a3bae9!important;background:#DFE8F6;padding:0;}
 112.609 +
 112.610 + .x-box-tl{background:transparent url(../images/default/box/corners.gif) no-repeat 0 0;zoom:1;}
 112.611 +.x-box-tc{height:8px;background:transparent url(../images/default/box/tb.gif) repeat-x 0 0;overflow:hidden;}
 112.612 +.x-box-tr{background:transparent url(../images/default/box/corners.gif) no-repeat right -8px;}
 112.613 +.x-box-ml{background:transparent url(../images/default/box/l.gif) repeat-y 0;padding-left:4px;overflow:hidden;zoom:1;}
 112.614 +.x-box-mc{background:#eee url(../images/default/box/tb.gif) repeat-x 0 -16px;padding:4px 10px;font-family:"Myriad Pro","Myriad Web","Tahoma","Helvetica","Arial",sans-serif;color:#393939;font-size:12px;}
 112.615 +.x-box-mc h3{font-size:14px;font-weight:bold;margin:0 0 4px 0;zoom:1;}
 112.616 +.x-box-mr{background:transparent url(../images/default/box/r.gif) repeat-y right;padding-right:4px;overflow:hidden;}
 112.617 +.x-box-bl{background:transparent url(../images/default/box/corners.gif) no-repeat 0 -16px;zoom:1;}
 112.618 +.x-box-bc{background:transparent url(../images/default/box/tb.gif) repeat-x 0 -8px;height:8px;overflow:hidden;}
 112.619 +.x-box-br{background:transparent url(../images/default/box/corners.gif) no-repeat right -24px;}
 112.620 +.x-box-tl,.x-box-bl{padding-left:8px;overflow:hidden;}
 112.621 +.x-box-tr,.x-box-br{padding-right:8px;overflow:hidden;}
 112.622 +.x-box-blue .x-box-bl,.x-box-blue .x-box-br,.x-box-blue .x-box-tl,.x-box-blue .x-box-tr{background-image:url(../images/default/box/corners-blue.gif);}
 112.623 +.x-box-blue .x-box-bc,.x-box-blue .x-box-mc,.x-box-blue .x-box-tc{background-image:url(../images/default/box/tb-blue.gif);}
 112.624 +.x-box-blue .x-box-mc{background-color:#c3daf9;}
 112.625 +.x-box-blue .x-box-mc h3{color:#17385b;}
 112.626 +.x-box-blue .x-box-ml{background-image:url(../images/default/box/l-blue.gif);}
 112.627 +.x-box-blue .x-box-mr{background-image:url(../images/default/box/r-blue.gif);}
 112.628 +
 112.629 +#x-debug-browser .x-tree .x-tree-node a span{color:#222297;font-size:11px;padding-top:2px;font-family:"monotype","courier new",sans-serif;line-height:18px;}
 112.630 +#x-debug-browser .x-tree a i{color:#FF4545;font-style:normal;}
 112.631 +#x-debug-browser .x-tree a em{color:#999;}
 112.632 +#x-debug-browser .x-tree .x-tree-node .x-tree-selected a span{background:#c3daf9;}
 112.633 +#x-debug-browser .x-tool-toggle{background-position:0 -75px;}
 112.634 +#x-debug-browser .x-tool-toggle-over{background-position:-15px -75px;}
 112.635 +#x-debug-browser.x-panel-collapsed .x-tool-toggle{background-position:0 -60px;}
 112.636 +#x-debug-browser.x-panel-collapsed .x-tool-toggle-over{background-position:-15px -60px;}
 112.637 +
 112.638 +.x-combo-list{border:1px solid #98c0f4;background:#ddecfe;zoom:1;overflow:hidden;}
 112.639 +.x-combo-list-inner{overflow:auto;background:white;position:relative;zoom:1;overflow-x:hidden;}
 112.640 +.x-combo-list-hd{font:bold 11px tahoma,arial,helvetica,sans-serif;color:#15428b;background-image:url(../images/default/layout/panel-title-light-bg.gif);border-bottom:1px solid #98c0f4;padding:3px;}
 112.641 +.x-resizable-pinned .x-combo-list-inner{border-bottom:1px solid #98c0f4;}
 112.642 +.x-combo-list-item{font:normal 12px tahoma,arial,helvetica,sans-serif;padding:2px;border:1px solid #fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
 112.643 +.x-combo-list .x-combo-selected{border:1px dotted #a3bae9!important;background:#DFE8F6;cursor:pointer;}
 112.644 +.x-combo-noedit{cursor:pointer;}
 112.645 +.x-combo-list .x-toolbar{border-top:1px solid #98c0f4;border-bottom:0 none;}
 112.646 +.x-combo-list-small .x-combo-list-item{font:normal 11px tahoma,arial,helvetica,sans-serif;}
 112.647 +
 112.648 +.x-panel{border-style:solid;border-color:#99bbe8;border-width:0;}
 112.649 +.x-panel-header{overflow:hidden;zoom:1;color:#15428b;font:bold 11px tahoma,arial,verdana,sans-serif;padding:5px 3px 4px 5px;border:1px solid #99bbe8;line-height:15px;background:transparent url(../images/default/panel/white-top-bottom.gif) repeat-x 0 -1px;}
 112.650 +.x-panel-body{border:1px solid #99bbe8;border-top:0 none;overflow:hidden;background:white;position:relative;}
 112.651 +.x-panel-bbar .x-toolbar{border:1px solid #99bbe8;border-top:0 none;overflow:hidden;padding:2px;}
 112.652 +.x-panel-tbar .x-toolbar{border:1px solid #99bbe8;border-top:0 none;overflow:hidden;padding:2px;}
 112.653 +.x-panel-tbar-noheader .x-toolbar,.x-panel-mc .x-panel-tbar .x-toolbar{border-top:1px solid #99bbe8;border-bottom:0 none;}
 112.654 +.x-panel-body-noheader,.x-panel-mc .x-panel-body{border-top:1px solid #99bbe8;}
 112.655 +.x-panel-header{overflow:hidden;zoom:1;}
 112.656 +.x-panel-tl .x-panel-header{color:#15428b;font:bold 11px tahoma,arial,verdana,sans-serif;padding:5px 0 4px 0;border:0 none;background:transparent;}
 112.657 +.x-panel-tl .x-panel-icon,.x-window-tl .x-panel-icon{padding-left:20px!important;background-repeat:no-repeat;background-position:0 4px;zoom:1;}
 112.658 +.x-panel-inline-icon{width:16px;height:16px;background-repeat:no-repeat;background-position:0 0;vertical-align:middle;margin-right:4px;margin-top:-1px;margin-bottom:-1px;}
 112.659 +.x-panel-tc{background:transparent url(../images/default/panel/top-bottom.gif) repeat-x 0 0;overflow:hidden;}
 112.660 +.ext-strict .ext-ie7 .x-panel-tc{overflow:visible;}
 112.661 +.x-panel-tl{background:transparent url(../images/default/panel/corners-sprite.gif) no-repeat 0 0;padding-left:6px;zoom:1;border-bottom:1px solid #99bbe8;}
 112.662 +.x-panel-tr{background:transparent url(../images/default/panel/corners-sprite.gif) no-repeat right 0;zoom:1;padding-right:6px;}
 112.663 +.x-panel-bc{background:transparent url(../images/default/panel/top-bottom.gif) repeat-x 0 bottom;zoom:1;}
 112.664 +.x-panel-bc .x-panel-footer{zoom:1;}
 112.665 +.x-panel-bl{background:transparent url(../images/default/panel/corners-sprite.gif) no-repeat 0 bottom;padding-left:6px;zoom:1;}
 112.666 +.x-panel-br{background:transparent url(../images/default/panel/corners-sprite.gif) no-repeat right bottom;padding-right:6px;zoom:1;}
 112.667 +.x-panel-mc{border:0 none;padding:0;margin:0;font:normal 11px tahoma,arial,helvetica,sans-serif;padding-top:6px;background:#dfe8f6;}
 112.668 +.x-panel-mc .x-panel-body{background:transparent;border:0 none;}
 112.669 +.x-panel-ml{background:#fff url(../images/default/panel/left-right.gif) repeat-y 0 0;padding-left:6px;zoom:1;}
 112.670 +.x-panel-mr{background:transparent url(../images/default/panel/left-right.gif) repeat-y right 0;padding-right:6px;zoom:1;}
 112.671 +.x-panel-bc .x-panel-footer{padding-bottom:6px;}
 112.672 +.x-panel-nofooter .x-panel-bc,.x-panel-nofooter .x-window-bc{height:6px;font-size:0;line-height:0;}
 112.673 +.x-panel-bwrap{overflow:hidden;zoom:1;}
 112.674 +.x-panel-body{overflow:hidden;zoom:1;}
 112.675 +.x-panel-collapsed .x-resizable-handle{display:none;}
 112.676 +.ext-gecko .x-panel-animated div{overflow:hidden!important;}
 112.677 +.x-plain-body{overflow:hidden;}
 112.678 +.x-plain-bbar .x-toolbar{overflow:hidden;padding:2px;}
 112.679 +.x-plain-tbar .x-toolbar{overflow:hidden;padding:2px;}
 112.680 +.x-plain-bwrap{overflow:hidden;zoom:1;}
 112.681 +.x-plain{overflow:hidden;}
 112.682 +.x-tool{overflow:hidden;width:15px;height:15px;float:right;cursor:pointer;background:transparent url(../images/default/panel/tool-sprites.gif) no-repeat;margin-left:2px;}
 112.683 +.x-tool-toggle{background-position:0 -60px;}
 112.684 +.x-tool-toggle-over{background-position:-15px -60px;}
 112.685 +.x-panel-collapsed .x-tool-toggle{background-position:0 -75px;}
 112.686 +.x-panel-collapsed .x-tool-toggle-over{background-position:-15px -75px;}
 112.687 +.x-tool-close{background-position:0 -0;}
 112.688 +.x-tool-close-over{background-position:-15px 0;}
 112.689 +.x-tool-minimize{background-position:0 -15px;}
 112.690 +.x-tool-minimize-over{background-position:-15px -15px;}
 112.691 +.x-tool-maximize{background-position:0 -30px;}
 112.692 +.x-tool-maximize-over{background-position:-15px -30px;}
 112.693 +.x-tool-restore{background-position:0 -45px;}
 112.694 +.x-tool-restore-over{background-position:-15px -45px;}
 112.695 +.x-tool-gear{background-position:0 -90px;}
 112.696 +.x-tool-gear-over{background-position:-15px -90px;}
 112.697 +.x-tool-pin{background-position:0 -135px;}
 112.698 +.x-tool-pin-over{background-position:-15px -135px;}
 112.699 +.x-tool-unpin{background-position:0 -150px;}
 112.700 +.x-tool-unpin-over{background-position:-15px -150px;}
 112.701 +.x-tool-right{background-position:0 -165px;}
 112.702 +.x-tool-right-over{background-position:-15px -165px;}
 112.703 +.x-tool-left{background-position:0 -180px;}
 112.704 +.x-tool-left-over{background-position:-15px -180px;}
 112.705 +.x-tool-up{background-position:0 -210px;}
 112.706 +.x-tool-up-over{background-position:-15px -210px;}
 112.707 +.x-tool-down{background-position:0 -195px;}
 112.708 +.x-tool-down-over{background-position:-15px -195px;}
 112.709 +.x-tool-refresh{background-position:0 -225px;}
 112.710 +.x-tool-refresh-over{background-position:-15px -225px;}
 112.711 +.x-tool-minus{background-position:0 -255px;}
 112.712 +.x-tool-minus-over{background-position:-15px -255px;}
 112.713 +.x-tool-plus{background-position:0 -240px;}
 112.714 +.x-tool-plus-over{background-position:-15px -240px;}
 112.715 +.x-tool-search{background-position:0 -270px;}
 112.716 +.x-tool-search-over{background-position:-15px -270px;}
 112.717 +.x-tool-save{background-position:0 -285px;}
 112.718 +.x-tool-save-over{background-position:-15px -285px;}
 112.719 +.x-tool-help{background-position:0 -300px;}
 112.720 +.x-tool-help-over{background-position:-15px -300px;}
 112.721 +.x-tool-print{background-position:0 -315px;}
 112.722 +.x-tool-print-over{background-position:-15px -315px;}
 112.723 +.x-panel-ghost{background:#cbddf3;z-index:12000;overflow:hidden;position:absolute;left:0;top:0;opacity:.65;-moz-opacity:.65;filter:alpha(opacity=65);}
 112.724 +.x-panel-ghost ul{margin:0;padding:0;overflow:hidden;font-size:0;line-height:0;border:1px solid #99bbe8;border-top:0 none;display:block;}
 112.725 +.x-panel-ghost *{cursor:move!important;}
 112.726 +.x-panel-dd-spacer{border:2px dashed #99bbe8;}
 112.727 +.x-panel-btns-ct{padding:5px;}
 112.728 +.x-panel-btns-ct .x-btn{float:right;clear:none;}
 112.729 +.x-panel-btns-ct .x-panel-btns td{border:0;padding:0;}
 112.730 +.x-panel-btns-ct .x-panel-btns-right table{float:right;clear:none;}
 112.731 +.x-panel-btns-ct .x-panel-btns-left table{float:left;clear:none;}
 112.732 +.x-panel-btns-ct .x-panel-btns-center{text-align:center;}
 112.733 +.x-panel-btns-ct .x-panel-btns-center table{margin:0 auto;}
 112.734 +.x-panel-btns-ct table td.x-panel-btn-td{padding:3px;}
 112.735 +.x-panel-btns-ct .x-btn-focus .x-btn-left{background-position:0 -147px;}
 112.736 +.x-panel-btns-ct .x-btn-focus .x-btn-right{background-position:0 -168px;}
 112.737 +.x-panel-btns-ct .x-btn-focus .x-btn-center{background-position:0 -189px;}
 112.738 +.x-panel-btns-ct .x-btn-over .x-btn-left{background-position:0 -63px;}
 112.739 +.x-panel-btns-ct .x-btn-over .x-btn-right{background-position:0 -84px;}
 112.740 +.x-panel-btns-ct .x-btn-over .x-btn-center{background-position:0 -105px;}
 112.741 +.x-panel-btns-ct .x-btn-click .x-btn-center{background-position:0 -126px;}
 112.742 +.x-panel-btns-ct .x-btn-click .x-btn-right{background-position:0 -84px;}
 112.743 +.x-panel-btns-ct .x-btn-click .x-btn-left{background-position:0 -63px;}
 112.744 +
 112.745 +.x-window{zoom:1;}
 112.746 +.x-window .x-resizable-handle{opacity:0;-moz-opacity:0;filter:alpha(opacity=0);}
 112.747 +.x-window-proxy{background:#C7DFFC;border:1px solid #99bbe8;z-index:12000;overflow:hidden;position:absolute;left:0;top:0;display:none;opacity:.5;-moz-opacity:.5;filter:alpha(opacity=50);}
 112.748 +.x-window-header{overflow:hidden;zoom:1;}
 112.749 +.x-window-bwrap{z-index:1;position:relative;zoom:1;}
 112.750 +.x-window-tl .x-window-header{color:#15428b;font:bold 11px tahoma,arial,verdana,sans-serif;padding:5px 0 4px 0;}
 112.751 +.x-window-header-text{cursor:pointer;}
 112.752 +.x-window-tc{background:transparent url(../images/default/window/top-bottom.png) repeat-x 0 0;overflow:hidden;zoom:1;}
 112.753 +.x-window-tl{background:transparent url(../images/default/window/left-corners.png) no-repeat 0 0;padding-left:6px;zoom:1;z-index:1;position:relative;}
 112.754 +.x-window-tr{background:transparent url(../images/default/window/right-corners.png) no-repeat right 0;padding-right:6px;}
 112.755 +.x-window-bc{background:transparent url(../images/default/window/top-bottom.png) repeat-x 0 bottom;zoom:1;}
 112.756 +.x-window-bc .x-window-footer{padding-bottom:6px;zoom:1;font-size:0;line-height:0;}
 112.757 +.x-window-bl{background:transparent url(../images/default/window/left-corners.png) no-repeat 0 bottom;padding-left:6px;zoom:1;}
 112.758 +.x-window-br{background:transparent url(../images/default/window/right-corners.png) no-repeat right bottom;padding-right:6px;zoom:1;}
 112.759 +.x-window-mc{border:1px solid #99bbe8;padding:0;margin:0;font:normal 11px tahoma,arial,helvetica,sans-serif;background:#dfe8f6;}
 112.760 +.x-window-ml{background:transparent url(../images/default/window/left-right.png) repeat-y 0 0;padding-left:6px;zoom:1;}
 112.761 +.x-window-mr{background:transparent url(../images/default/window/left-right.png) repeat-y right 0;padding-right:6px;zoom:1;}
 112.762 +.x-window-body{overflow:hidden;}
 112.763 +.x-window-bwrap{overflow:hidden;}
 112.764 +.x-window-maximized .x-window-bl,.x-window-maximized .x-window-br,.x-window-maximized .x-window-ml,.x-window-maximized .x-window-mr,.x-window-maximized .x-window-tl,.x-window-maximized .x-window-tr{padding:0;}
 112.765 +.x-window-maximized .x-window-footer{padding-bottom:0;}
 112.766 +.x-window-maximized .x-window-tc{padding-left:3px;padding-right:3px;background-color:white;}
 112.767 +.x-window-maximized .x-window-mc{border-left:0 none;border-right:0 none;}
 112.768 +.x-window-tbar .x-toolbar,.x-window-bbar .x-toolbar{border-left:0 none;border-right:0 none;}
 112.769 +.x-window-bbar .x-toolbar{border-top:1px solid #99bbe8;border-bottom:0 none;}
 112.770 +.x-window-draggable,.x-window-draggable .x-window-header-text{cursor:move;}
 112.771 +.x-window-maximized .x-window-draggable,.x-window-maximized .x-window-draggable .x-window-header-text{cursor:default;}
 112.772 +.x-window-body{background:transparent;}
 112.773 +.x-panel-ghost .x-window-tl{border-bottom:1px solid #99bbe8;}
 112.774 +.x-panel-collapsed .x-window-tl{border-bottom:1px solid #84a0c4;}
 112.775 +.x-window-maximized-ct{overflow:hidden;}
 112.776 +.x-window-maximized .x-resizable-handle{display:none;}
 112.777 +.x-window-sizing-ghost ul{border:0 none!important;}
 112.778 +.x-dlg-focus{-moz-outline:0 none;outline:0 none;width:0;height:0;overflow:hidden;position:absolute;top:0;left:0;}
 112.779 +.x-dlg-mask{z-index:10000;display:none;position:absolute;top:0;left:0;-moz-opacity:0.5;opacity:.50;filter:alpha(opacity=50);background-color:#CCC;}
 112.780 +body.ext-ie6.x-body-masked select{visibility:hidden;}
 112.781 +body.ext-ie6.x-body-masked .x-window select{visibility:visible;}
 112.782 +.x-window-plain .x-window-mc{background:#CAD9EC;border-right:1px solid #DFE8F6;border-bottom:1px solid #DFE8F6;border-top:1px solid #a3bae9;border-left:1px solid #a3bae9;}
 112.783 +.x-window-plain .x-window-body{border-left:1px solid #DFE8F6;border-top:1px solid #DFE8F6;border-bottom:1px solid #a3bae9;border-right:1px solid #a3bae9;background:transparent!important;}
 112.784 +body.x-body-masked .x-window-plain .x-window-mc{background:#C7D6E9;}
 112.785 +
 112.786 +.x-html-editor-wrap{border:1px solid #a9bfd3;background:white;}
 112.787 +.x-html-editor-tb .x-btn-text{background:transparent url(../images/default/editor/tb-sprite.gif) no-repeat;}
 112.788 +.x-html-editor-tb .x-edit-bold .x-btn-text{background-position:0 0;}
 112.789 +.x-html-editor-tb .x-edit-italic .x-btn-text{background-position:-16px 0;}
 112.790 +.x-html-editor-tb .x-edit-underline .x-btn-text{background-position:-32px 0;}
 112.791 +.x-html-editor-tb .x-edit-forecolor .x-btn-text{background-position:-160px 0;}
 112.792 +.x-html-editor-tb .x-edit-backcolor .x-btn-text{background-position:-176px 0;}
 112.793 +.x-html-editor-tb .x-edit-justifyleft .x-btn-text{background-position:-112px 0;}
 112.794 +.x-html-editor-tb .x-edit-justifycenter .x-btn-text{background-position:-128px 0;}
 112.795 +.x-html-editor-tb .x-edit-justifyright .x-btn-text{background-position:-144px 0;}
 112.796 +.x-html-editor-tb .x-edit-insertorderedlist .x-btn-text{background-position:-80px 0;}
 112.797 +.x-html-editor-tb .x-edit-insertunorderedlist .x-btn-text{background-position:-96px 0;}
 112.798 +.x-html-editor-tb .x-edit-increasefontsize .x-btn-text{background-position:-48px 0;}
 112.799 +.x-html-editor-tb .x-edit-decreasefontsize .x-btn-text{background-position:-64px 0;}
 112.800 +.x-html-editor-tb .x-edit-sourceedit .x-btn-text{background-position:-192px 0;}
 112.801 +.x-html-editor-tb .x-edit-createlink .x-btn-text{background-position:-208px 0;}
 112.802 +.x-html-editor-tip .x-tip-bd .x-tip-bd-inner{padding:5px;padding-bottom:1px;}
 112.803 +.x-html-editor-tb .x-toolbar{position:static!important;}
 112.804 +
 112.805 +.x-panel-noborder .x-panel-body-noborder{border-width:0;}
 112.806 +.x-panel-noborder .x-panel-header-noborder{border-width:0;border-bottom:1px solid #99bbe8;}
 112.807 +.x-panel-noborder .x-panel-tbar-noborder .x-toolbar{border-width:0;border-bottom:1px solid #99bbe8;}
 112.808 +.x-panel-noborder .x-panel-bbar-noborder .x-toolbar{border-width:0;border-top:1px solid #99bbe8;}
 112.809 +.x-window-noborder .x-window-mc{border-width:0;}
 112.810 +.x-window-plain .x-window-body-noborder{border-width:0;}
 112.811 +.x-tab-panel-noborder .x-tab-panel-body-noborder{border-width:0;}
 112.812 +.x-tab-panel-noborder .x-tab-panel-header-noborder{border-top-width:0;border-left-width:0;border-right-width:0;}
 112.813 +.x-tab-panel-noborder .x-tab-panel-footer-noborder{border-bottom-width:0;border-left-width:0;border-right-width:0;}
 112.814 +.x-tab-panel-bbar-noborder .x-toolbar{border-width:0;border-top:1px solid #99bbe8;}
 112.815 +.x-tab-panel-tbar-noborder .x-toolbar{border-width:0;border-bottom:1px solid #99bbe8;}
 112.816 +
 112.817 +.x-border-layout-ct{background:#dfe8f6;}
 112.818 +.x-border-panel{position:absolute;left:0;top:0;}
 112.819 +.x-tool-collapse-south{background-position:0 -195px;}
 112.820 +.x-tool-collapse-south-over{background-position:-15px -195px;}
 112.821 +.x-tool-collapse-north{background-position:0 -210px;}
 112.822 +.x-tool-collapse-north-over{background-position:-15px -210px;}
 112.823 +.x-tool-collapse-west{background-position:0 -180px;}
 112.824 +.x-tool-collapse-west-over{background-position:-15px -180px;}
 112.825 +.x-tool-collapse-east{background-position:0 -165px;}
 112.826 +.x-tool-collapse-east-over{background-position:-15px -165px;}
 112.827 +.x-tool-expand-south{background-position:0 -210px;}
 112.828 +.x-tool-expand-south-over{background-position:-15px -210px;}
 112.829 +.x-tool-expand-north{background-position:0 -195px;}
 112.830 +.x-tool-expand-north-over{background-position:-15px -195px;}
 112.831 +.x-tool-expand-west{background-position:0 -165px;}
 112.832 +.x-tool-expand-west-over{background-position:-15px -165px;}
 112.833 +.x-tool-expand-east{background-position:0 -180px;}
 112.834 +.x-tool-expand-east-over{background-position:-15px -180px;}
 112.835 +.x-tool-expand-north,.x-tool-expand-south{float:right;margin:3px;}
 112.836 +.x-tool-expand-east,.x-tool-expand-west{float:none;margin:3px auto;}
 112.837 +.x-accordion-hd .x-tool-toggle{background-position:0 -255px;}
 112.838 +.x-accordion-hd .x-tool-toggle-over{background-position:-15px -255px;}
 112.839 +.x-panel-collapsed .x-accordion-hd .x-tool-toggle{background-position:0 -240px;}
 112.840 +.x-panel-collapsed .x-accordion-hd .x-tool-toggle-over{background-position:-15px -240px;}
 112.841 +.x-accordion-hd{color:#222;padding-top:4px;padding-bottom:3px;border-top:0 none;font-weight:normal;background:transparent url(../images/default/panel/light-hd.gif) repeat-x 0 -9px;}
 112.842 +.x-layout-collapsed{position:absolute;left:-10000px;top:-10000px;visibility:hidden;background-color:#d2e0f2;width:20px;height:20px;overflow:hidden;border:1px solid #98c0f4;z-index:20;}
 112.843 +.ext-border-box .x-layout-collapsed{width:22px;height:22px;}
 112.844 +.x-layout-collapsed-over{cursor:pointer;background-color:#d9e8fb;}
 112.845 +.x-layout-collapsed-west .x-layout-collapsed-tools,.x-layout-collapsed-east .x-layout-collapsed-tools{position:absolute;top:0;left:0;width:20px;height:20px;}
 112.846 +.x-layout-split{position:absolute;height:5px;width:5px;line-height:1px;font-size:1px;z-index:3;background-color:transparent;}
 112.847 +.x-layout-split-h{background-image:url(../images/default/s.gif);background-position:left;}
 112.848 +.x-layout-split-v{background-image:url(../images/default/s.gif);background-position:top;}
 112.849 +.x-column-layout-ct{overflow:hidden;zoom:1;}
 112.850 +.x-column{float:left;padding:0;margin:0;overflow:hidden;zoom:1;}
 112.851 +.x-layout-mini{position:absolute;top:0;left:0;display:block;width:5px;height:35px;cursor:pointer;opacity:.5;-moz-opacity:.5;filter:alpha(opacity=50);}
 112.852 +.x-layout-mini-over,.x-layout-collapsed-over .x-layout-mini{opacity:1;-moz-opacity:1;filter:none;}
 112.853 +.x-layout-split-west .x-layout-mini{top:48%;background-image:url(../images/default/layout/mini-left.gif);}
 112.854 +.x-layout-split-east .x-layout-mini{top:48%;background-image:url(../images/default/layout/mini-right.gif);}
 112.855 +.x-layout-split-north .x-layout-mini{left:48%;height:5px;width:35px;background-image:url(../images/default/layout/mini-top.gif);}
 112.856 +.x-layout-split-south .x-layout-mini{left:48%;height:5px;width:35px;background-image:url(../images/default/layout/mini-bottom.gif);}
 112.857 +.x-layout-cmini-west .x-layout-mini{top:48%;background-image:url(../images/default/layout/mini-right.gif);}
 112.858 +.x-layout-cmini-east .x-layout-mini{top:48%;background-image:url(../images/default/layout/mini-left.gif);}
 112.859 +.x-layout-cmini-north .x-layout-mini{left:48%;height:5px;width:35px;background-image:url(../images/default/layout/mini-bottom.gif);}
 112.860 +.x-layout-cmini-south .x-layout-mini{left:48%;height:5px;width:35px;background-image:url(../images/default/layout/mini-top.gif);}
 112.861 +.x-layout-cmini-west,.x-layout-cmini-east{border:0 none;width:5px!important;padding:0;background:transparent;}
 112.862 +.x-layout-cmini-north,.x-layout-cmini-south{border:0 none;height:5px!important;padding:0;background:transparent;}
 112.863 +.x-viewport,.x-viewport body{margin:0;padding:0;border:0 none;overflow:hidden;height:100%;}
 112.864 +.x-abs-layout-item{position:absolute;left:0;top:0;}
 112.865 +.ext-ie input.x-abs-layout-item,.ext-ie textarea.x-abs-layout-item{margin:0;}
 112.866 +
 112.867 +.x-progress-wrap{border:1px solid #6593cf;overflow:hidden;}
 112.868 +.x-progress-inner{height:18px;background:#e0e8f3 url(../images/default/qtip/bg.gif) repeat-x;position:relative;}
 112.869 +.x-progress-bar{height:18px;float:left;width:0;background:#9CBFEE url( ../images/default/progress/progress-bg.gif ) repeat-x left center;border-top:1px solid #D1E4FD;border-bottom:1px solid #7FA9E4;border-right:1px solid #7FA9E4;}
 112.870 +.x-progress-text{font-size:11px;font-weight:bold;color:#fff;padding:1px 5px;overflow:hidden;position:absolute;left:0;text-align:center;}
 112.871 +.x-progress-text-back{color:#396095;line-height:16px;}
 112.872 +.ext-ie .x-progress-text-back{line-height:15px;}
 112.873 +
 112.874 +.x-window-dlg .x-window-body{border:0 none!important;padding:5px 10px;overflow:hidden!important;}
 112.875 +.x-window-dlg .x-window-mc{border:0 none!important;}
 112.876 +.x-window-dlg .ext-mb-text,.x-window-dlg .x-window-header-text{font-size:12px;}
 112.877 +.x-window-dlg .ext-mb-input{margin-top:4px;width:95%;}
 112.878 +.x-window-dlg .ext-mb-textarea{margin-top:4px;font:normal 12px tahoma,arial,helvetica,sans-serif;}
 112.879 +.x-window-dlg .x-progress-wrap{margin-top:4px;}
 112.880 +.ext-ie .x-window-dlg .x-progress-wrap{margin-top:6px;}
 112.881 +.x-window-dlg .x-msg-box-wait{background:transparent url(../images/default/grid/loading.gif) no-repeat left;display:block;width:300px;padding-left:18px;line-height:18px;}
 112.882 +.x-window-dlg .ext-mb-icon{float:left;width:47px;height:32px;}
 112.883 +.x-window-dlg .ext-mb-icon{float:left;width:47px;height:32px;}
 112.884 +.ext-ie .x-window-dlg .ext-mb-icon{width:44px;}
 112.885 +.x-window-dlg .ext-mb-info{background:transparent url(../images/default/window/icon-info.gif) no-repeat top left;}
 112.886 +.x-window-dlg .ext-mb-warning{background:transparent url(../images/default/window/icon-warning.gif) no-repeat top left;}
 112.887 +.x-window-dlg .ext-mb-question{background:transparent url(../images/default/window/icon-question.gif) no-repeat top left;}
 112.888 +.x-window-dlg .ext-mb-error{background:transparent url(../images/default/window/icon-error.gif) no-repeat top left;}
 112.889 +.ext-gecko .ext-mb-fix-cursor{overflow:auto;}
 112.890 +
 112.891 + .x-slider{zoom:1;}
 112.892 +.x-slider-inner{position:relative;left:0;top:0;overflow:visible;zoom:1;}
 112.893 +.x-slider-focus{position:absolute;left:0;top:0;width:1px;height:1px;line-height:1px;font-size:1px;-moz-outline:0 none;outline:0 none;-moz-user-select:normal;-khtml-user-select:normal;}
 112.894 +.x-slider-horz{padding-left:7px;background:transparent url(../images/default/slider/slider-bg.png) no-repeat 0 -22px;}
 112.895 +.x-slider-horz .x-slider-end{padding-right:7px;zoom:1;background:transparent url(../images/default/slider/slider-bg.png) no-repeat right -44px;}
 112.896 +.x-slider-horz .x-slider-inner{background:transparent url(../images/default/slider/slider-bg.png) repeat-x 0 0;height:22px;}
 112.897 +.x-slider-horz .x-slider-thumb{width:14px;height:15px;position:absolute;left:0;top:3px;background:transparent url(../images/default/slider/slider-thumb.png) no-repeat 0 0;}
 112.898 +.x-slider-horz .x-slider-thumb-over{background-position:-14px -15px;}
 112.899 +.x-slider-horz .x-slider-thumb-drag{background-position:-28px -30px;}
 112.900 +.x-slider-vert{padding-top:7px;background:transparent url(../images/default/slider/slider-v-bg.png) no-repeat -44px 0;width:22px;}
 112.901 +.x-slider-vert .x-slider-end{padding-bottom:7px;zoom:1;background:transparent url(../images/default/slider/slider-v-bg.png) no-repeat -22px bottom;}
 112.902 +.x-slider-vert .x-slider-inner{background:transparent url(../images/default/slider/slider-v-bg.png) repeat-y 0 0;}
 112.903 +.x-slider-vert .x-slider-thumb{width:15px;height:14px;position:absolute;left:3px;bottom:0;background:transparent url(../images/default/slider/slider-v-thumb.png) no-repeat 0 0;}
 112.904 +.x-slider-vert .x-slider-thumb-over{background-position:-15px -14px;}
 112.905 +.x-slider-vert .x-slider-thumb-drag{background-position:-30px -28px;}
 112.906 +
   113.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   113.2 +++ b/onlypaths/theme/css/form.css	Sun Jan 31 12:33:33 2010 -0500
   113.3 @@ -0,0 +1,495 @@
   113.4 +/*
   113.5 + * Ext JS Library 2.1
   113.6 + * Copyright(c) 2006-2008, Ext JS, LLC.
   113.7 + * licensing@extjs.com
   113.8 + * 
   113.9 + * http://extjs.com/license
  113.10 + */
  113.11 +
  113.12 +/* all fields */
  113.13 +.x-form-field{
  113.14 +    margin: 0 0 0 0;
  113.15 +    font:normal 12px tahoma, arial, helvetica, sans-serif;
  113.16 +}
  113.17 +
  113.18 +/* ---- text fields ---- */
  113.19 +.x-form-text, textarea.x-form-field{
  113.20 +    padding:1px 3px;
  113.21 +    background:#fff url(../images/default/form/text-bg.gif) repeat-x 0 0;
  113.22 +    border:1px solid #B5B8C8;
  113.23 +}
  113.24 +textarea.x-form-field {
  113.25 +    padding:2px 3px;
  113.26 +}
  113.27 +.x-form-text {
  113.28 +    height:22px;
  113.29 +    line-height:18px;
  113.30 +    vertical-align:middle;
  113.31 +}
  113.32 +.ext-ie .x-form-text {
  113.33 +    margin:-1px 0; /* ie bogus margin bug */
  113.34 +    height:22px; /* ie quirks */
  113.35 +    line-height:18px;
  113.36 +}
  113.37 +.ext-ie textarea.x-form-field {
  113.38 +    margin:-1px 0; /* ie bogus margin bug */
  113.39 +}
  113.40 +.ext-strict .x-form-text {
  113.41 +    height:18px;
  113.42 +}
  113.43 +.ext-safari .x-form-text {
  113.44 +    height:20px; /* safari always same size */
  113.45 +    padding:0 3px; /* remove extra top/bottom padding */
  113.46 +}
  113.47 +.ext-safari.ext-mac textarea.x-form-field {
  113.48 +    margin-bottom:-2px; /* another bogus margin bug, safari/mac only */
  113.49 +}
  113.50 +.ext-gecko .x-form-text {
  113.51 +    padding-top:2px; /* FF won't center the text vertically */
  113.52 +    padding-bottom:0;
  113.53 +}
  113.54 +textarea {
  113.55 +    resize: none;  /* Disable browser resizable textarea */
  113.56 +}
  113.57 +
  113.58 +/* select boxes */
  113.59 +
  113.60 +.x-form-select-one {
  113.61 +    height:20px;
  113.62 +    line-height:18px;
  113.63 +    vertical-align:middle;
  113.64 +    background-color:#fff; /* opera */
  113.65 +    border: 1px solid #B5B8C8;
  113.66 +}
  113.67 +
  113.68 +/* multi select boxes */
  113.69 +
  113.70 +/* --- TODO --- */
  113.71 +
  113.72 +/* checkboxes */
  113.73 +
  113.74 +/* --- TODO --- */
  113.75 +
  113.76 +/* radios */
  113.77 +
  113.78 +/* --- TODO --- */
  113.79 +
  113.80 +
  113.81 +/* wrapped fields and triggers */
  113.82 +
  113.83 +.x-form-field-wrap {
  113.84 +    position:relative;
  113.85 +    zoom:1;
  113.86 +    white-space: nowrap;
  113.87 +}
  113.88 +
  113.89 +.x-editor .x-form-check-wrap {
  113.90 +    background:#fff;
  113.91 +}
  113.92 +.x-form-field-wrap .x-form-trigger{
  113.93 +    width:17px;
  113.94 +    height:21px;
  113.95 +    border:0;
  113.96 +    background:transparent url(../images/default/form/trigger.gif) no-repeat 0 0;
  113.97 +    cursor:pointer;
  113.98 +    border-bottom: 1px solid #B5B8C8;
  113.99 +    position:absolute;
 113.100 +    top:0;
 113.101 +}
 113.102 +.ext-safari .x-form-field-wrap .x-form-trigger{
 113.103 +    height:21px; /* safari doesn't allow height adjustments to the fields, so adjust trigger */
 113.104 +}
 113.105 +
 113.106 +.x-form-field-wrap .x-form-date-trigger{
 113.107 +    background-image: url(../images/default/form/date-trigger.gif);
 113.108 +    cursor:pointer;
 113.109 +}
 113.110 +.x-form-field-wrap .x-form-clear-trigger{
 113.111 +    background-image: url(../images/default/form/clear-trigger.gif);
 113.112 +    cursor:pointer;
 113.113 +}
 113.114 +.x-form-field-wrap .x-form-search-trigger{
 113.115 +    background-image: url(../images/default/form/search-trigger.gif);
 113.116 +    cursor:pointer;
 113.117 +}
 113.118 +.ext-safari .x-form-field-wrap .x-form-trigger{
 113.119 +    right:0;
 113.120 +}
 113.121 +.x-form-field-wrap .x-form-twin-triggers{
 113.122 +
 113.123 +}
 113.124 +.x-form-field-wrap .x-form-twin-triggers .x-form-trigger{
 113.125 +    position:static;
 113.126 +    top:auto;
 113.127 +    vertical-align:top;
 113.128 +}
 113.129 +
 113.130 +
 113.131 +.x-form-field-wrap .x-form-trigger-over{
 113.132 +    background-position:-17px 0;
 113.133 +}
 113.134 +.x-form-field-wrap .x-form-trigger-click{
 113.135 +    background-position:-34px 0;
 113.136 +}
 113.137 +
 113.138 +.x-trigger-wrap-focus .x-form-trigger{
 113.139 +    background-position:-51px 0;
 113.140 +}
 113.141 +.x-trigger-wrap-focus .x-form-trigger-over{
 113.142 +    background-position:-68px 0;
 113.143 +}
 113.144 +.x-trigger-wrap-focus .x-form-trigger-click{
 113.145 +    background-position:-85px 0;
 113.146 +}
 113.147 +.x-trigger-wrap-focus .x-form-trigger{
 113.148 +    border-bottom: 1px solid #7eadd9;
 113.149 +}
 113.150 +
 113.151 +.x-item-disabled .x-form-trigger-over{
 113.152 +    background-position:0 0 !important;
 113.153 +    border-bottom: 1px solid #B5B8C8;
 113.154 +}
 113.155 +.x-item-disabled .x-form-trigger-click{
 113.156 +    background-position:0 0 !important;
 113.157 +    border-bottom: 1px solid #B5B8C8;
 113.158 +}
 113.159 +
 113.160 +/* field focus style */
 113.161 +.x-form-focus, textarea.x-form-focus{
 113.162 +	border: 1px solid #7eadd9;
 113.163 +}
 113.164 +
 113.165 +/* invalid fields */
 113.166 +.x-form-invalid, textarea.x-form-invalid{
 113.167 +	background:#fff url(../images/default/grid/invalid_line.gif) repeat-x bottom;
 113.168 +	border: 1px solid #dd7870;
 113.169 +}
 113.170 +.ext-safari .x-form-invalid{
 113.171 +	background-color:#ffeeee;
 113.172 +	border: 1px solid #ff7870;
 113.173 +}
 113.174 +
 113.175 +/* editors */
 113.176 +
 113.177 +.x-editor {
 113.178 +    visibility:hidden;
 113.179 +    padding:0;
 113.180 +    margin:0;
 113.181 +}
 113.182 +.x-form-check-wrap {
 113.183 +    line-height:18px;
 113.184 +}
 113.185 +.ext-ie .x-form-check-wrap input {
 113.186 +    width:15px;
 113.187 +    height:15px;
 113.188 +}
 113.189 +.x-editor .x-form-check-wrap {
 113.190 +    padding:3px;
 113.191 +}
 113.192 +.x-editor .x-form-checkbox {
 113.193 +    height:13px;
 113.194 +}
 113.195 +/* If you override the default field font above, you would need to change this font as well */
 113.196 +.x-form-grow-sizer {
 113.197 +	font:normal 12px tahoma, arial, helvetica, sans-serif;
 113.198 +    left: -10000px;
 113.199 +	padding: 8px 3px;
 113.200 +    position: absolute;
 113.201 +    visibility:hidden;
 113.202 +    top: -10000px;
 113.203 +	white-space: pre-wrap;
 113.204 +    white-space: -moz-pre-wrap;
 113.205 +    white-space: -pre-wrap;
 113.206 +    white-space: -o-pre-wrap;
 113.207 +    word-wrap: break-word;
 113.208 +    zoom:1;
 113.209 +}
 113.210 +.x-form-grow-sizer p {
 113.211 +    margin:0 !important;
 113.212 +    border:0 none !important;
 113.213 +    padding:0 !important;
 113.214 +}
 113.215 +/* Form Items CSS */
 113.216 +
 113.217 +.x-form-item {
 113.218 +    font:normal 12px tahoma, arial, helvetica, sans-serif;
 113.219 +    display:block;
 113.220 +    margin-bottom:4px;
 113.221 +    zoom:1;
 113.222 +}
 113.223 +
 113.224 +.x-form-item label {
 113.225 +    display:block;
 113.226 +    float:left;
 113.227 +    width:100px;
 113.228 +    padding:3px;
 113.229 +    padding-left:0;
 113.230 +    clear:left;
 113.231 +    z-index:2;
 113.232 +    position:relative;
 113.233 +}
 113.234 +
 113.235 +.x-form-element {
 113.236 +    padding-left:105px;
 113.237 +    position:relative;
 113.238 +}
 113.239 +
 113.240 +.x-form-invalid-msg {
 113.241 +    color:#ee0000;
 113.242 +    padding:2px;
 113.243 +    padding-left:18px;
 113.244 +    font:normal 11px tahoma, arial, helvetica, sans-serif;
 113.245 +    background: transparent url(../images/default/shared/warning.gif) no-repeat 0 2px;
 113.246 +    line-height:16px;
 113.247 +    width:200px;
 113.248 +}
 113.249 +
 113.250 +
 113.251 +.x-form-label-right label {
 113.252 +   text-align:right;
 113.253 +}
 113.254 +
 113.255 +.x-form-label-top .x-form-item label {
 113.256 +    width:auto;
 113.257 +    float:none;
 113.258 +    clear:none;
 113.259 +    display:inline;
 113.260 +    margin-bottom:4px;
 113.261 +    position:static;
 113.262 +}
 113.263 +
 113.264 +.x-form-label-top .x-form-element {
 113.265 +    padding-left:0;
 113.266 +    padding-top:4px;
 113.267 +}
 113.268 +
 113.269 +.x-form-label-top .x-form-item {
 113.270 +    padding-bottom:4px;
 113.271 +}
 113.272 +
 113.273 +.x-form-empty-field {
 113.274 +    color:gray;
 113.275 +}
 113.276 +/* Editor small font for grid, toolbar and tree */
 113.277 +.x-small-editor .x-form-field {
 113.278 +    font:normal 11px arial, tahoma, helvetica, sans-serif;
 113.279 +}
 113.280 +.x-small-editor .x-form-text {
 113.281 +    height:20px;
 113.282 +    line-height:16px;
 113.283 +    vertical-align:middle;
 113.284 +}
 113.285 +.ext-ie .x-small-editor .x-form-text {
 113.286 +    margin-top:-1px !important; /* ie bogus margin bug */
 113.287 +    margin-bottom:-1px !important;
 113.288 +    height:20px !important; /* ie quirks */
 113.289 +    line-height:16px !important;
 113.290 +}
 113.291 +.ext-strict .x-small-editor .x-form-text {
 113.292 +    height:16px !important;
 113.293 +}
 113.294 +
 113.295 +.ext-safari .x-small-editor .x-form-field {
 113.296 +    /* safari text field will not size so needs bigger font */
 113.297 +    font:normal 12px arial, tahoma, helvetica, sans-serif;
 113.298 +}
 113.299 +.ext-ie .x-small-editor .x-form-text {
 113.300 +    height:20px;
 113.301 +    line-height:16px;
 113.302 +}
 113.303 +.ext-border-box .x-small-editor .x-form-text {
 113.304 +    height:20px;
 113.305 +}
 113.306 +
 113.307 +.x-small-editor .x-form-select-one {
 113.308 +    height:20px;
 113.309 +    line-height:16px;
 113.310 +    vertical-align:middle;
 113.311 +}
 113.312 +.x-small-editor .x-form-num-field {
 113.313 +    text-align:right;
 113.314 +}
 113.315 +.x-small-editor .x-form-field-wrap .x-form-trigger{
 113.316 +    height:19px;
 113.317 +}
 113.318 +
 113.319 +
 113.320 +.x-form-clear {
 113.321 +    clear:both;
 113.322 +    height:0;
 113.323 +    overflow:hidden;
 113.324 +    line-height:0;
 113.325 +    font-size:0;
 113.326 +}
 113.327 +.x-form-clear-left {
 113.328 +    clear:left;
 113.329 +    height:0;
 113.330 +    overflow:hidden;
 113.331 +    line-height:0;
 113.332 +    font-size:0;
 113.333 +}
 113.334 +
 113.335 +.x-form-cb-label {
 113.336 +    width:'auto' !important;
 113.337 +    float:none !important;
 113.338 +    clear:none !important;
 113.339 +    display:inline !important;
 113.340 +    margin-left:4px;
 113.341 +}
 113.342 +
 113.343 +.x-form-column {
 113.344 +    float:left;
 113.345 +    padding:0;
 113.346 +    margin:0;
 113.347 +    width:48%;
 113.348 +    overflow:hidden;
 113.349 +    zoom:1;
 113.350 +}
 113.351 +
 113.352 +/* buttons */
 113.353 +.x-form .x-form-btns-ct .x-btn{
 113.354 +	float:right;
 113.355 +	clear:none;
 113.356 +}
 113.357 +.x-form .x-form-btns-ct .x-form-btns td {
 113.358 +	border:0;
 113.359 +	padding:0;
 113.360 +}
 113.361 +.x-form .x-form-btns-ct .x-form-btns-right table{
 113.362 +	float:right;
 113.363 +	clear:none;
 113.364 +}
 113.365 +.x-form .x-form-btns-ct .x-form-btns-left table{
 113.366 +	float:left;
 113.367 +	clear:none;
 113.368 +}
 113.369 +.x-form .x-form-btns-ct .x-form-btns-center{
 113.370 +	text-align:center; /*ie*/
 113.371 +}
 113.372 +.x-form .x-form-btns-ct .x-form-btns-center table{
 113.373 +	margin:0 auto; /*everyone else*/
 113.374 +}
 113.375 +.x-form .x-form-btns-ct table td.x-form-btn-td{
 113.376 +	padding:3px;
 113.377 +}
 113.378 +
 113.379 +.x-form .x-form-btns-ct .x-btn-focus .x-btn-left{
 113.380 +	background-position:0 -147px;
 113.381 +}
 113.382 +.x-form .x-form-btns-ct .x-btn-focus .x-btn-right{
 113.383 +	background-position:0 -168px;
 113.384 +}
 113.385 +.x-form .x-form-btns-ct .x-btn-focus .x-btn-center{
 113.386 +	background-position:0 -189px;
 113.387 +}
 113.388 +
 113.389 +.x-form .x-form-btns-ct .x-btn-click .x-btn-center{
 113.390 +	background-position:0 -126px;
 113.391 +}
 113.392 +.x-form .x-form-btns-ct .x-btn-click  .x-btn-right{
 113.393 +	background-position:0 -84px;
 113.394 +}
 113.395 +.x-form .x-form-btns-ct .x-btn-click .x-btn-left{
 113.396 +	background-position:0 -63px;
 113.397 +}
 113.398 +.x-form-invalid-icon {
 113.399 +    width:16px;
 113.400 +    height:18px;
 113.401 +    visibility:hidden;
 113.402 +    position:absolute;
 113.403 +    left:0;
 113.404 +    top:0;
 113.405 +    display:block;
 113.406 +    background:transparent url(../images/default/form/exclamation.gif) no-repeat 0 2px;
 113.407 +}
 113.408 +
 113.409 +/* fieldsets */
 113.410 +.x-fieldset {
 113.411 +    border:1px solid #B5B8C8;
 113.412 +    padding:10px;
 113.413 +    margin-bottom:10px;
 113.414 +    display:block; /* preserve margins in IE */
 113.415 +}
 113.416 +.x-fieldset legend {
 113.417 +    font:bold 11px tahoma, arial, helvetica, sans-serif;
 113.418 +    color:#15428b;
 113.419 +}
 113.420 +.ext-ie .x-fieldset legend {
 113.421 +    margin-bottom:10px;
 113.422 +}
 113.423 +.ext-ie .x-fieldset {
 113.424 +    padding-top: 0;
 113.425 +    padding-bottom:10px;
 113.426 +}
 113.427 +.x-fieldset legend .x-tool-toggle {
 113.428 +    margin-right:3px;
 113.429 +    margin-left:0;
 113.430 +    float:left !important;
 113.431 +}
 113.432 +.x-fieldset legend input {
 113.433 +    margin-right:3px;
 113.434 +    float:left !important;
 113.435 +    height:13px;
 113.436 +    width:13px;
 113.437 +}
 113.438 +fieldset.x-panel-collapsed {
 113.439 +    padding-bottom:0 !important;
 113.440 +    border-width: 1px 0 0 0 !important;
 113.441 +}
 113.442 +fieldset.x-panel-collapsed .x-fieldset-bwrap {
 113.443 +    visibility:hidden;
 113.444 +    position:absolute;
 113.445 +    left:-1000px;
 113.446 +    top:-1000px;
 113.447 +}
 113.448 +.ext-ie .x-fieldset-bwrap {
 113.449 +    zoom:1;
 113.450 +}
 113.451 +.ext-ie td .x-form-text {
 113.452 +    position:relative;
 113.453 +    top:-1px;
 113.454 +}
 113.455 +.x-fieldset-noborder {
 113.456 +    border:0px none transparent;
 113.457 +}
 113.458 +.x-fieldset-noborder legend {
 113.459 +    margin-left:-3px;
 113.460 +}
 113.461 +/* IE legend positioing bug */
 113.462 +.ext-ie .x-fieldset-noborder legend {
 113.463 +    position: relative;
 113.464 +    margin-bottom:23px;
 113.465 +}
 113.466 +.ext-ie .x-fieldset-noborder legend span {
 113.467 +    position: absolute;
 113.468 +    left:-5px;
 113.469 +}
 113.470 +        
 113.471 +.ext-gecko .x-window-body .x-form-item {
 113.472 +    -moz-outline: none;
 113.473 +    overflow: auto;
 113.474 +}
 113.475 +
 113.476 +.ext-gecko .x-form-item {
 113.477 +    -moz-outline: none;
 113.478 +}
 113.479 +
 113.480 +.x-hide-label label.x-form-item-label {
 113.481 +     display:none;
 113.482 +}
 113.483 +.x-hide-label .x-form-element {
 113.484 +     padding-left: 0 !important;
 113.485 +}
 113.486 +
 113.487 +.x-fieldset {
 113.488 +    overflow:hidden;
 113.489 +}
 113.490 +
 113.491 +.x-fieldset-bwrap {
 113.492 +    overflow:hidden;
 113.493 +    zoom:1;
 113.494 +}
 113.495 +
 113.496 +.x-fieldset-body {
 113.497 +    overflow:hidden;
 113.498 +}
 113.499 \ No newline at end of file
   114.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   114.2 +++ b/onlypaths/theme/css/grid.css	Sun Jan 31 12:33:33 2010 -0500
   114.3 @@ -0,0 +1,554 @@
   114.4 +/*
   114.5 + * Ext JS Library 2.1
   114.6 + * Copyright(c) 2006-2008, Ext JS, LLC.
   114.7 + * licensing@extjs.com
   114.8 + * 
   114.9 + * http://extjs.com/license
  114.10 + */
  114.11 +
  114.12 +/* Grid3 styles */
  114.13 +.x-grid3 {
  114.14 +	position:relative;
  114.15 +	overflow:hidden;
  114.16 +    background-color:#fff;
  114.17 +}
  114.18 +
  114.19 +.x-grid-panel .x-panel-body {
  114.20 +    overflow:hidden !important;
  114.21 +}
  114.22 +
  114.23 +.x-grid-panel .x-panel-mc .x-panel-body {
  114.24 +    border:1px solid #99bbe8;
  114.25 +}
  114.26 +
  114.27 +.x-grid3 table {
  114.28 +    table-layout:fixed;
  114.29 +}
  114.30 +.x-grid3-viewport{
  114.31 +	overflow:hidden;
  114.32 +}
  114.33 +.x-grid3-hd-row td, .x-grid3-row td, .x-grid3-summary-row td{
  114.34 +	font:normal 11px arial, tahoma, helvetica, sans-serif;
  114.35 +    -moz-outline: none;
  114.36 +	-moz-user-focus: normal;
  114.37 +}
  114.38 +.x-grid3-row td, .x-grid3-summary-row td {
  114.39 +    line-height:13px;
  114.40 +    vertical-align: top;
  114.41 +	padding-left:1px;
  114.42 +    padding-right:1px;
  114.43 +    -moz-user-select: none;
  114.44 +}
  114.45 +.x-grid3-hd-row td {
  114.46 +    line-height:15px;
  114.47 +    vertical-align:middle;
  114.48 +    border-left:1px solid #eee;
  114.49 +    border-right:1px solid #d0d0d0;
  114.50 +}
  114.51 +
  114.52 +.x-grid3-hd-row .x-grid3-marker-hd {
  114.53 +    padding:3px;
  114.54 +}
  114.55 +
  114.56 +.x-grid3-row .x-grid3-marker {
  114.57 +    padding:3px;
  114.58 +}
  114.59 +
  114.60 +.x-grid3-cell-inner, .x-grid3-hd-inner{
  114.61 +	overflow:hidden;
  114.62 +	-o-text-overflow: ellipsis;
  114.63 +	text-overflow: ellipsis;
  114.64 +    padding:3px 3px 3px 5px;
  114.65 +    white-space: nowrap;
  114.66 +}
  114.67 +
  114.68 +.x-grid3-hd-inner {
  114.69 +    position:relative;
  114.70 +	 cursor:inherit;
  114.71 +	 padding:4px 3px 4px 5px;
  114.72 +}
  114.73 +
  114.74 +.x-grid3-row-body {
  114.75 +    white-space:normal;
  114.76 +}
  114.77 +
  114.78 +.x-grid3-body-cell {
  114.79 +    -moz-outline:0 none;
  114.80 +    outline:0 none;
  114.81 +}
  114.82 +/* IE Quirks to clip */
  114.83 +.ext-ie .x-grid3-cell-inner, .ext-ie .x-grid3-hd-inner{
  114.84 +	width:100%;
  114.85 +}
  114.86 +/* reverse above in strict mode */
  114.87 +.ext-strict .x-grid3-cell-inner, .ext-strict .x-grid3-hd-inner{
  114.88 +	width:auto;
  114.89 +}
  114.90 +
  114.91 +.x-grid3-col {
  114.92 +	
  114.93 +}
  114.94 +
  114.95 +.x-grid-row-loading {
  114.96 +    background: #fff url(../images/default/shared/loading-balls.gif) no-repeat center center;
  114.97 +}
  114.98 +.x-grid-page {
  114.99 +    overflow:hidden;
 114.100 +}
 114.101 +.x-grid3-row {
 114.102 +	cursor: default;
 114.103 +    border:1px solid #ededed;
 114.104 +    border-top-color:#fff;
 114.105 +    /*border-bottom: 1px solid #ededed;*/
 114.106 +    width:100%;
 114.107 +}
 114.108 +.x-grid3-row-alt{
 114.109 +	background-color:#fafafa;
 114.110 +}
 114.111 +
 114.112 +.x-grid3-row-over {
 114.113 +	border:1px solid #dddddd;
 114.114 +    background: #efefef url(../images/default/grid/row-over.gif) repeat-x left top;
 114.115 +}
 114.116 +
 114.117 +.x-grid3-resize-proxy {
 114.118 +	width:1px;
 114.119 +    left:0;
 114.120 +    background-color:#777;
 114.121 +	cursor: e-resize;
 114.122 +	cursor: col-resize;
 114.123 +	position:absolute;
 114.124 +	top:0;
 114.125 +	height:100px;
 114.126 +	overflow:hidden;
 114.127 +	visibility:hidden;
 114.128 +	border:0 none;
 114.129 +	z-index:7;
 114.130 +}
 114.131 +.x-grid3-resize-marker {
 114.132 +	width:1px;
 114.133 +	left:0;
 114.134 +    background-color:#777;
 114.135 +	position:absolute;
 114.136 +	top:0;
 114.137 +	height:100px;
 114.138 +	overflow:hidden;
 114.139 +	visibility:hidden;
 114.140 +	border:0 none;
 114.141 +	z-index:7;
 114.142 +}
 114.143 +.x-grid3-focus {
 114.144 +	position:absolute;
 114.145 +	left:0;
 114.146 +	top:0;
 114.147 +	width:1px;
 114.148 +	height:1px;
 114.149 +    line-height:1px;
 114.150 +    font-size:1px;
 114.151 +    -moz-outline:0 none;
 114.152 +    outline:0 none;
 114.153 +    -moz-user-select: normal;
 114.154 +    -khtml-user-select: normal;  
 114.155 +}
 114.156 +
 114.157 +/* header styles */
 114.158 +.x-grid3-header{
 114.159 +	background: #f9f9f9 url(../images/default/grid/grid3-hrow.gif) repeat-x 0 bottom;
 114.160 +	cursor:default;
 114.161 +    zoom:1;
 114.162 +    padding:1px 0 0 0;
 114.163 +}
 114.164 +
 114.165 +.x-grid3-header-pop {
 114.166 +    border-left:1px solid #d0d0d0;
 114.167 +    float:right;
 114.168 +    clear:none;
 114.169 +}
 114.170 +.x-grid3-header-pop-inner {
 114.171 +    border-left:1px solid #eee;
 114.172 +    width:14px;
 114.173 +    height:19px;
 114.174 +    background: transparent url(../images/default/grid/hd-pop.gif) no-repeat center center;
 114.175 +}
 114.176 +.ext-ie .x-grid3-header-pop-inner {
 114.177 +    width:15px;
 114.178 +}
 114.179 +.ext-strict .x-grid3-header-pop-inner {
 114.180 +    width:14px; 
 114.181 +}
 114.182 +.x-grid3-header-inner {
 114.183 +    overflow:hidden;
 114.184 +    zoom:1;
 114.185 +    float:left;
 114.186 +}
 114.187 +.x-grid3-header-offset {
 114.188 +    padding-left:1px;
 114.189 +	 width:10000px;
 114.190 +}
 114.191 +
 114.192 +td.x-grid3-hd-over, td.sort-desc, td.sort-asc, td.x-grid3-hd-menu-open {
 114.193 +    border-left:1px solid #aaccf6;
 114.194 +    border-right:1px solid #aaccf6;
 114.195 +}
 114.196 +td.x-grid3-hd-over .x-grid3-hd-inner, td.sort-desc .x-grid3-hd-inner, td.sort-asc .x-grid3-hd-inner, td.x-grid3-hd-menu-open .x-grid3-hd-inner {
 114.197 +    background: #ebf3fd url(../images/default/grid/grid3-hrow-over.gif) repeat-x left bottom;
 114.198 +
 114.199 +}
 114.200 +.x-grid3-sort-icon{
 114.201 +	background-repeat: no-repeat;
 114.202 +	display: none;
 114.203 +	height: 4px;
 114.204 +	width: 13px;
 114.205 +	margin-left:3px;
 114.206 +	vertical-align: middle;
 114.207 +}
 114.208 +.sort-asc .x-grid3-sort-icon {
 114.209 +	background-image: url(../images/default/grid/sort_asc.gif);
 114.210 +	display: inline;
 114.211 +}
 114.212 +.sort-desc .x-grid3-sort-icon {
 114.213 +	background-image: url(../images/default/grid/sort_desc.gif);
 114.214 +	display: inline;
 114.215 +}
 114.216 +
 114.217 +/* Header position fixes for IE strict mode */
 114.218 +.ext-strict .ext-ie .x-grid3-header-inner{position:relative;}
 114.219 +.ext-strict .ext-ie6 .x-grid3-hd{position:relative;}
 114.220 +.ext-strict .ext-ie6 .x-grid3-hd-inner{position:static;}
 114.221 +
 114.222 +/* Body Styles */
 114.223 +.x-grid3-body {
 114.224 +	zoom:1;
 114.225 +}
 114.226 +.x-grid3-scroller {
 114.227 +	overflow:auto;
 114.228 +    zoom:1;
 114.229 +    position:relative;
 114.230 +}
 114.231 +.x-grid3-cell-text, .x-grid3-hd-text {
 114.232 +	display: block;
 114.233 +	padding: 3px 5px 3px 5px;
 114.234 +	-moz-user-select: none;
 114.235 +	-khtml-user-select: none;
 114.236 +	color:black;
 114.237 +}
 114.238 +.x-grid3-split {
 114.239 +	background-image: url(../images/default/grid/grid-split.gif);
 114.240 +	background-position: center;
 114.241 +	background-repeat: no-repeat;
 114.242 +	cursor: e-resize;
 114.243 +	cursor: col-resize;
 114.244 +	display: block;
 114.245 +	font-size: 1px;
 114.246 +	height: 16px;
 114.247 +	overflow: hidden;
 114.248 +	position: absolute;
 114.249 +	top: 2px;
 114.250 +	width: 6px;
 114.251 +	z-index: 3;
 114.252 +}
 114.253 +
 114.254 +.x-grid3-hd-text {
 114.255 +	color:#15428b;
 114.256 +}
 114.257 +/* Column Reorder DD */
 114.258 +.x-dd-drag-proxy .x-grid3-hd-inner{
 114.259 +	background: #ebf3fd url(../images/default/grid/grid3-hrow-over.gif) repeat-x left bottom;
 114.260 +	width:120px;
 114.261 +	padding:3px;
 114.262 +	border:1px solid #aaccf6;
 114.263 +	overflow:hidden;
 114.264 +}
 114.265 +
 114.266 +.col-move-top, .col-move-bottom{
 114.267 +	width:9px;
 114.268 +	height:9px;
 114.269 +	position:absolute;
 114.270 +	top:0;
 114.271 +	line-height:1px;
 114.272 +	font-size:1px;
 114.273 +	overflow:hidden;
 114.274 +	visibility:hidden;
 114.275 +	z-index:20000;
 114.276 +}
 114.277 +.col-move-top{
 114.278 +	background:transparent url(../images/default/grid/col-move-top.gif) no-repeat left top;
 114.279 +}
 114.280 +.col-move-bottom{
 114.281 +	background:transparent url(../images/default/grid/col-move-bottom.gif) no-repeat left top;
 114.282 +}
 114.283 +
 114.284 +/* Selection Styles */
 114.285 +.x-grid3-row-selected {
 114.286 +	background: #DFE8F6 !important;
 114.287 +	border:1px dotted #a3bae9;
 114.288 +}
 114.289 +
 114.290 +.x-grid3-cell-selected{
 114.291 +	background-color: #B8CFEE !important;
 114.292 +	color: black;
 114.293 +}
 114.294 +.x-grid3-cell-selected span{
 114.295 +	color: black !important;
 114.296 +}
 114.297 +.x-grid3-cell-selected .x-grid3-cell-text{
 114.298 +	color: black;
 114.299 +}
 114.300 +
 114.301 +.x-grid3-locked td.x-grid3-row-marker, .x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker{
 114.302 +    background: #ebeadb url(../images/default/grid/grid-hrow.gif) repeat-x 0 bottom !important;
 114.303 +    vertical-align:middle !important;
 114.304 +    color:black;
 114.305 +    padding:0;
 114.306 +    border-top:1px solid white;
 114.307 +    border-bottom:none !important;
 114.308 +    border-right:1px solid #6fa0df !important;
 114.309 +    text-align:center;
 114.310 +}
 114.311 +.x-grid3-locked td.x-grid3-row-marker div, .x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker div{
 114.312 +    padding:0 4px;
 114.313 +    color:#15428b !important;
 114.314 +    text-align:center;
 114.315 +}
 114.316 +
 114.317 +/* dirty cells */
 114.318 +.x-grid3-dirty-cell {
 114.319 +    background: transparent url(../images/default/grid/dirty.gif) no-repeat 0 0;
 114.320 +}
 114.321 +
 114.322 +/* Grid Toolbars */
 114.323 +.x-grid3-topbar, .x-grid3-bottombar{
 114.324 +	font:normal 11px arial, tahoma, helvetica, sans-serif;
 114.325 +    overflow:hidden;
 114.326 +	display:none;
 114.327 +	zoom:1;
 114.328 +    position:relative;
 114.329 +}
 114.330 +.x-grid3-topbar .x-toolbar{
 114.331 +	border-right:0 none;
 114.332 +}
 114.333 +.x-grid3-bottombar .x-toolbar{
 114.334 +	border-right:0 none;
 114.335 +	border-bottom:0 none;
 114.336 +	border-top:1px solid #a9bfd3;
 114.337 +}
 114.338 +/* Props Grid Styles */
 114.339 +.x-props-grid .x-grid3-cell{
 114.340 +	padding:1px;
 114.341 +}
 114.342 +.x-props-grid .x-grid3-td-name .x-grid3-cell-inner{
 114.343 +	background:transparent url(../images/default/grid/grid3-special-col-bg.gif) repeat-y -16px !important;
 114.344 +    padding-left:12px;
 114.345 +    color:black !important;
 114.346 +}
 114.347 +.x-props-grid .x-grid3-body .x-grid3-td-name{
 114.348 +    padding:1px;
 114.349 +    padding-right:0;
 114.350 +    background:white !important;
 114.351 +    border:0 none;
 114.352 +    border-right:1px solid #eeeeee;
 114.353 +}
 114.354 +
 114.355 +/* header menu */
 114.356 +.xg-hmenu-sort-asc .x-menu-item-icon{
 114.357 +	background-image: url(../images/default/grid/hmenu-asc.gif);
 114.358 +}
 114.359 +.xg-hmenu-sort-desc .x-menu-item-icon{
 114.360 +	background-image: url(../images/default/grid/hmenu-desc.gif);
 114.361 +}
 114.362 +.xg-hmenu-lock .x-menu-item-icon{
 114.363 +	background-image: url(../images/default/grid/hmenu-lock.gif);
 114.364 +}
 114.365 +.xg-hmenu-unlock .x-menu-item-icon{
 114.366 +	background-image: url(../images/default/grid/hmenu-unlock.gif);
 114.367 +}
 114.368 +
 114.369 +/* dd */
 114.370 +.x-grid3-col-dd {
 114.371 +    border:0 none;
 114.372 +    padding:0;
 114.373 +    background:transparent;
 114.374 +}
 114.375 +
 114.376 +.x-dd-drag-ghost .x-grid3-dd-wrap {
 114.377 +    padding:1px 3px 3px 1px;
 114.378 +}
 114.379 +
 114.380 +.x-grid3-hd {
 114.381 +    -moz-user-select:none;
 114.382 +}
 114.383 +
 114.384 +.x-grid3-hd-btn {
 114.385 +    display:none;
 114.386 +    position:absolute;
 114.387 +    width:14px;
 114.388 +    background:#c3daf9 url(../images/default/grid/grid3-hd-btn.gif) no-repeat left center;
 114.389 +    right:0;
 114.390 +    top:0;
 114.391 +    z-index:2;
 114.392 +	 cursor:pointer;
 114.393 +}
 114.394 +
 114.395 +.x-grid3-hd-over .x-grid3-hd-btn, .x-grid3-hd-menu-open .x-grid3-hd-btn {
 114.396 +    display:block;
 114.397 +}
 114.398 +
 114.399 +a.x-grid3-hd-btn:hover {
 114.400 +    background-position:-14px center;
 114.401 +}
 114.402 +
 114.403 +/* Expanders */
 114.404 +
 114.405 +.x-grid3-body .x-grid3-td-expander {
 114.406 +    background:transparent url(../images/default/grid/grid3-special-col-bg.gif) repeat-y right;
 114.407 +}
 114.408 +.x-grid3-body .x-grid3-td-expander .x-grid3-cell-inner {
 114.409 +    padding:0 !important;
 114.410 +    height:100%;
 114.411 +}
 114.412 +.x-grid3-row-expander {
 114.413 +    width:100%;
 114.414 +    height:18px;
 114.415 +    background-position:4px 2px;
 114.416 +    background-repeat:no-repeat;
 114.417 +    background-color:transparent;
 114.418 +	 background-image:url(../images/default/grid/row-expand-sprite.gif);
 114.419 +}
 114.420 +.x-grid3-row-collapsed .x-grid3-row-expander {
 114.421 +    background-position:4px 2px;
 114.422 +}
 114.423 +.x-grid3-row-expanded .x-grid3-row-expander {
 114.424 +    background-position:-21px 2px;
 114.425 +}
 114.426 +.x-grid3-row-collapsed .x-grid3-row-body {
 114.427 +    display:none !important;
 114.428 +}
 114.429 +.x-grid3-row-expanded .x-grid3-row-body {
 114.430 +    display:block !important;
 114.431 +}
 114.432 +
 114.433 +/* Checkers */
 114.434 +
 114.435 +.x-grid3-body .x-grid3-td-checker {
 114.436 +    background:transparent url(../images/default/grid/grid3-special-col-bg.gif) repeat-y right;
 114.437 +}
 114.438 +
 114.439 +.x-grid3-body .x-grid3-td-checker .x-grid3-cell-inner, .x-grid3-header .x-grid3-td-checker .x-grid3-hd-inner {
 114.440 +    padding:0 !important;
 114.441 +    height:100%;
 114.442 +}
 114.443 +
 114.444 +.x-grid3-row-checker, .x-grid3-hd-checker {
 114.445 +    width:100%;
 114.446 +    height:18px;
 114.447 +    background-position:2px 2px;
 114.448 +    background-repeat:no-repeat;
 114.449 +    background-color:transparent;
 114.450 +	 background-image:url(../images/default/grid/row-check-sprite.gif);
 114.451 +}
 114.452 +.x-grid3-row .x-grid3-row-checker {
 114.453 +    background-position:2px 2px;
 114.454 +}
 114.455 +.x-grid3-row-selected .x-grid3-row-checker, .x-grid3-hd-checker-on .x-grid3-hd-checker {
 114.456 +    background-position:-23px 2px;
 114.457 +}
 114.458 +.x-grid3-hd-checker {
 114.459 +    background-position:2px 3px;
 114.460 +}
 114.461 +.x-grid3-hd-checker-on .x-grid3-hd-checker {
 114.462 +    background-position:-23px 3px;
 114.463 +}
 114.464 +
 114.465 +/* Numberer */
 114.466 +
 114.467 +.x-grid3-body .x-grid3-td-numberer {
 114.468 +    background:transparent url(../images/default/grid/grid3-special-col-bg.gif) repeat-y right;
 114.469 +}
 114.470 +.x-grid3-body .x-grid3-td-numberer .x-grid3-cell-inner {
 114.471 +    padding:3px 5px 0 0 !important;
 114.472 +    text-align:right;
 114.473 +	 color:#444;
 114.474 +}
 114.475 +
 114.476 +/* All specials */
 114.477 +
 114.478 +.x-grid3-body .x-grid3-row-selected .x-grid3-td-numberer,
 114.479 +.x-grid3-body .x-grid3-row-selected .x-grid3-td-checker,
 114.480 +.x-grid3-body .x-grid3-row-selected .x-grid3-td-expander {
 114.481 +	background:transparent url(../images/default/grid/grid3-special-col-sel-bg.gif) repeat-y right;
 114.482 +}
 114.483 +.x-grid3-body .x-grid3-check-col-td .x-grid3-cell-inner {
 114.484 +    padding: 1px 0 0 0 !important;
 114.485 +}
 114.486 +
 114.487 +.x-grid3-check-col {
 114.488 +    width:100%;
 114.489 +    height:16px;
 114.490 +    background-position:center center;
 114.491 +    background-repeat:no-repeat;
 114.492 +    background-color:transparent;
 114.493 +	background-image:url(../images/default/menu/unchecked.gif);
 114.494 +}
 114.495 +
 114.496 +
 114.497 +.x-grid3-check-col-on {
 114.498 +    width:100%;
 114.499 +    height:16px;
 114.500 +    background-position:center center;
 114.501 +    background-repeat:no-repeat;
 114.502 +    background-color:transparent;
 114.503 +	background-image:url(../images/default/menu/checked.gif);
 114.504 +}
 114.505 +
 114.506 +/* Grouping classes */
 114.507 +.x-grid-group, .x-grid-group-body, .x-grid-group-hd {
 114.508 +    zoom:1;
 114.509 +}
 114.510 +.x-grid-group-hd {
 114.511 +    border-bottom: 2px solid #99bbe8;
 114.512 +    cursor:pointer;
 114.513 +    padding-top:6px;
 114.514 +}
 114.515 +.x-grid-group-hd div {
 114.516 +    background:transparent url(../images/default/grid/group-expand-sprite.gif) no-repeat 3px -47px;
 114.517 +    padding:4px 4px 4px 17px;
 114.518 +    color:#3764a0;
 114.519 +    font:bold 11px tahoma, arial, helvetica, sans-serif;
 114.520 +}
 114.521 +.x-grid-group-collapsed .x-grid-group-hd div {
 114.522 +    background-position: 3px 3px;
 114.523 +}
 114.524 +.x-grid-group-collapsed .x-grid-group-body {
 114.525 +    display:none;
 114.526 +}
 114.527 +
 114.528 +.x-group-by-icon {
 114.529 +    background-image:url(../images/default/grid/group-by.gif);
 114.530 +}
 114.531 +.x-cols-icon {
 114.532 +    background-image:url(../images/default/grid/columns.gif);
 114.533 +}
 114.534 +.x-show-groups-icon {
 114.535 +    background-image:url(../images/default/grid/group-by.gif);
 114.536 +}
 114.537 +
 114.538 +.ext-ie .x-grid3 .x-editor .x-form-text {
 114.539 +    position:relative;
 114.540 +    top:-1px;
 114.541 +}
 114.542 +.ext-ie .x-props-grid .x-editor .x-form-text {
 114.543 +    position:static;
 114.544 +    top:0;
 114.545 +}
 114.546 +
 114.547 +.x-grid-empty {
 114.548 +    padding:10px;
 114.549 +    color:gray;
 114.550 +    font:normal 11px tahoma, arial, helvetica, sans-serif;
 114.551 +}
 114.552 +
 114.553 +
 114.554 +/* fix floating toolbar issue */
 114.555 +.ext-ie7 .x-grid-panel .x-panel-bbar {
 114.556 +    position:relative;
 114.557 +}
   115.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   115.2 +++ b/onlypaths/theme/css/layout.css	Sun Jan 31 12:33:33 2010 -0500
   115.3 @@ -0,0 +1,267 @@
   115.4 +/*
   115.5 + * Ext JS Library 2.1
   115.6 + * Copyright(c) 2006-2008, Ext JS, LLC.
   115.7 + * licensing@extjs.com
   115.8 + * 
   115.9 + * http://extjs.com/license
  115.10 + */
  115.11 +
  115.12 +.x-border-layout-ct {
  115.13 +    background:#dfe8f6;
  115.14 +}
  115.15 +.x-border-panel {
  115.16 +    position:absolute;
  115.17 +    left:0;
  115.18 +    top:0;
  115.19 +}
  115.20 +
  115.21 +.x-tool-collapse-south {
  115.22 +    background-position:0 -195px;
  115.23 +}
  115.24 +.x-tool-collapse-south-over {
  115.25 +    background-position:-15px -195px;
  115.26 +}
  115.27 +
  115.28 +.x-tool-collapse-north {
  115.29 +    background-position:0 -210px;
  115.30 +}
  115.31 +.x-tool-collapse-north-over {
  115.32 +    background-position:-15px -210px;
  115.33 +}
  115.34 +
  115.35 +.x-tool-collapse-west {
  115.36 +    background-position:0 -180px;
  115.37 +}
  115.38 +.x-tool-collapse-west-over {
  115.39 +    background-position:-15px -180px;
  115.40 +}
  115.41 +
  115.42 +.x-tool-collapse-east {
  115.43 +    background-position:0 -165px;
  115.44 +}
  115.45 +.x-tool-collapse-east-over {
  115.46 +    background-position:-15px -165px;
  115.47 +}
  115.48 +
  115.49 +
  115.50 +.x-tool-expand-south {
  115.51 +    background-position:0 -210px;
  115.52 +}
  115.53 +.x-tool-expand-south-over {
  115.54 +    background-position:-15px -210px;
  115.55 +}
  115.56 +
  115.57 +.x-tool-expand-north {
  115.58 +    background-position:0 -195px;
  115.59 +}
  115.60 +.x-tool-expand-north-over {
  115.61 +    background-position:-15px -195px;
  115.62 +}
  115.63 +
  115.64 +.x-tool-expand-west {
  115.65 +    background-position:0 -165px;
  115.66 +}
  115.67 +.x-tool-expand-west-over {
  115.68 +    background-position:-15px -165px;
  115.69 +}
  115.70 +
  115.71 +.x-tool-expand-east {
  115.72 +    background-position:0 -180px;
  115.73 +}
  115.74 +.x-tool-expand-east-over {
  115.75 +    background-position:-15px -180px;
  115.76 +}
  115.77 +
  115.78 +.x-tool-expand-north, .x-tool-expand-south {
  115.79 +    float:right;
  115.80 +    margin:3px;
  115.81 +}
  115.82 +.x-tool-expand-east, .x-tool-expand-west {
  115.83 +    float:none;
  115.84 +    margin:3px auto;
  115.85 +}
  115.86 +
  115.87 +
  115.88 +
  115.89 +.x-accordion-hd .x-tool-toggle {
  115.90 +    background-position:0 -255px;
  115.91 +}
  115.92 +.x-accordion-hd .x-tool-toggle-over {
  115.93 +    background-position:-15px -255px;
  115.94 +}
  115.95 +.x-panel-collapsed .x-accordion-hd .x-tool-toggle {
  115.96 +    background-position:0 -240px;
  115.97 +}
  115.98 +.x-panel-collapsed .x-accordion-hd .x-tool-toggle-over {
  115.99 +    background-position:-15px -240px;
 115.100 +}
 115.101 +
 115.102 +.x-accordion-hd {
 115.103 +	color:#222;
 115.104 +	padding-top:4px;
 115.105 +	padding-bottom:3px;
 115.106 +	border-top:0 none;
 115.107 +    font-weight:normal;
 115.108 +    background: transparent url(../images/default/panel/light-hd.gif) repeat-x 0 -9px;
 115.109 +}
 115.110 +
 115.111 +.x-layout-collapsed{
 115.112 +    position:absolute;
 115.113 +    left:-10000px;
 115.114 +    top:-10000px;
 115.115 +    visibility:hidden;
 115.116 +    background-color:#d2e0f2;
 115.117 +    width:20px;
 115.118 +    height:20px;
 115.119 +    overflow:hidden;
 115.120 +	border:1px solid #98c0f4;
 115.121 +	z-index:20;
 115.122 +}
 115.123 +.ext-border-box .x-layout-collapsed{
 115.124 +    width:22px;
 115.125 +    height:22px;
 115.126 +}
 115.127 +.x-layout-collapsed-over{
 115.128 +    cursor:pointer;
 115.129 +	 background-color:#d9e8fb;
 115.130 +}
 115.131 +.x-layout-collapsed-west .x-layout-collapsed-tools, .x-layout-collapsed-east .x-layout-collapsed-tools{
 115.132 +	position:absolute;
 115.133 +    top:0;
 115.134 +    left:0;
 115.135 +    width:20px;
 115.136 +    height:20px;
 115.137 +}
 115.138 +
 115.139 +
 115.140 +.x-layout-split{
 115.141 +    position:absolute;
 115.142 +    height:5px;
 115.143 +    width:5px;
 115.144 +    line-height:1px;
 115.145 +    font-size:1px;
 115.146 +    z-index:3;
 115.147 +    background-color:transparent;
 115.148 +}
 115.149 +
 115.150 +.x-layout-split-h{
 115.151 +    background-image:url(../images/default/s.gif);
 115.152 +    background-position: left;
 115.153 +}
 115.154 +.x-layout-split-v{
 115.155 +    background-image:url(../images/default/s.gif);
 115.156 +    background-position: top;
 115.157 +}
 115.158 +
 115.159 +.x-column-layout-ct {
 115.160 +    overflow:hidden;
 115.161 +    /*padding:3px 3px 3px 3px;*/
 115.162 +    zoom:1;
 115.163 +}
 115.164 +
 115.165 +.x-column {
 115.166 +    float:left;
 115.167 +    padding:0;
 115.168 +    margin:0;
 115.169 +    overflow:hidden;
 115.170 +    zoom:1;
 115.171 +    /*margin:3px;*/
 115.172 +}
 115.173 +
 115.174 +/* mini mode */
 115.175 +
 115.176 +.x-layout-mini {
 115.177 +    position:absolute;
 115.178 +    top:0;
 115.179 +    left:0;
 115.180 +    display:block;
 115.181 +    width:5px;
 115.182 +    height:35px;
 115.183 +    cursor:pointer;
 115.184 +    opacity:.5;
 115.185 +    -moz-opacity:.5;
 115.186 +    filter:alpha(opacity=50);
 115.187 +}
 115.188 +.x-layout-mini-over, .x-layout-collapsed-over .x-layout-mini{
 115.189 +    opacity:1;
 115.190 +    -moz-opacity:1;
 115.191 +    filter:none;
 115.192 +}
 115.193 +
 115.194 +.x-layout-split-west .x-layout-mini {
 115.195 +    top:48%;
 115.196 +    background-image:url(../images/default/layout/mini-left.gif);
 115.197 +}
 115.198 +.x-layout-split-east .x-layout-mini {
 115.199 +    top:48%;
 115.200 +    background-image:url(../images/default/layout/mini-right.gif);
 115.201 +}
 115.202 +.x-layout-split-north .x-layout-mini {
 115.203 +    left:48%;
 115.204 +    height:5px;
 115.205 +    width:35px;
 115.206 +    background-image:url(../images/default/layout/mini-top.gif);
 115.207 +}
 115.208 +.x-layout-split-south .x-layout-mini {
 115.209 +    left:48%;
 115.210 +    height:5px;
 115.211 +    width:35px;
 115.212 +    background-image:url(../images/default/layout/mini-bottom.gif);
 115.213 +}
 115.214 +
 115.215 +
 115.216 +.x-layout-cmini-west .x-layout-mini {
 115.217 +    top:48%;
 115.218 +    background-image:url(../images/default/layout/mini-right.gif);
 115.219 +}
 115.220 +
 115.221 +.x-layout-cmini-east .x-layout-mini {
 115.222 +    top:48%;
 115.223 +    background-image:url(../images/default/layout/mini-left.gif);
 115.224 +}
 115.225 +
 115.226 +.x-layout-cmini-north .x-layout-mini {
 115.227 +    left:48%;
 115.228 +    height:5px;
 115.229 +    width:35px;
 115.230 +    background-image:url(../images/default/layout/mini-bottom.gif);
 115.231 +}
 115.232 +
 115.233 +.x-layout-cmini-south .x-layout-mini {
 115.234 +    left:48%;
 115.235 +    height:5px;
 115.236 +    width:35px;
 115.237 +    background-image:url(../images/default/layout/mini-top.gif);
 115.238 +}
 115.239 +
 115.240 +.x-layout-cmini-west, .x-layout-cmini-east {
 115.241 +    border:0 none;
 115.242 +    width:5px !important;
 115.243 +    padding:0;
 115.244 +    background:transparent;
 115.245 +}
 115.246 +
 115.247 +.x-layout-cmini-north, .x-layout-cmini-south {
 115.248 +    border:0 none;
 115.249 +    height:5px !important;
 115.250 +    padding:0;
 115.251 +    background:transparent;
 115.252 +}
 115.253 +
 115.254 +.x-viewport, .x-viewport body {
 115.255 +    margin: 0;
 115.256 +    padding: 0;
 115.257 +    border: 0 none;
 115.258 +    overflow: hidden;
 115.259 +    height: 100%;
 115.260 +}
 115.261 +
 115.262 +.x-abs-layout-item {
 115.263 +    position:absolute;
 115.264 +    left:0;
 115.265 +    top:0;
 115.266 +}
 115.267 +
 115.268 +.ext-ie input.x-abs-layout-item, .ext-ie textarea.x-abs-layout-item {
 115.269 +    margin:0;
 115.270 +}
 115.271 \ No newline at end of file
   116.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   116.2 +++ b/onlypaths/theme/css/menu.css	Sun Jan 31 12:33:33 2010 -0500
   116.3 @@ -0,0 +1,135 @@
   116.4 +/*
   116.5 + * Ext JS Library 2.1
   116.6 + * Copyright(c) 2006-2008, Ext JS, LLC.
   116.7 + * licensing@extjs.com
   116.8 + * 
   116.9 + * http://extjs.com/license
  116.10 + */
  116.11 +
  116.12 +.x-menu {
  116.13 +	border: 1px solid #718bb7;
  116.14 +	z-index: 15000;
  116.15 +	zoom: 1;
  116.16 +	background: #f0f0f0 url(../images/default/menu/menu.gif) repeat-y;
  116.17 +	padding: 2px;
  116.18 +}
  116.19 +.x-menu a {
  116.20 +    text-decoration: none !important;
  116.21 +}
  116.22 +.ext-ie .x-menu {
  116.23 +    zoom:1;
  116.24 +    overflow:hidden;
  116.25 +}
  116.26 +.x-menu-list{
  116.27 +	background:transparent;
  116.28 +	border:0 none;
  116.29 +}
  116.30 +.x-menu li{
  116.31 +	line-height:100%;
  116.32 +}
  116.33 +.x-menu li.x-menu-sep-li{
  116.34 +	font-size:1px;
  116.35 +	line-height:1px;
  116.36 +}
  116.37 +.x-menu-list-item{
  116.38 +	font:normal 11px tahoma,arial, sans-serif;
  116.39 +    white-space: nowrap;
  116.40 +    -moz-user-select: none;
  116.41 +	-khtml-user-select: none;
  116.42 +	display:block;
  116.43 +	padding:1px;
  116.44 +}
  116.45 +.x-menu-item-arrow{
  116.46 +	background:transparent url(../images/default/menu/menu-parent.gif) no-repeat right;
  116.47 +}
  116.48 +.x-menu-sep {
  116.49 +	display:block;
  116.50 +	font-size:1px;
  116.51 +	line-height:1px;
  116.52 +	margin: 2px 3px;
  116.53 +    background-color:#e0e0e0;
  116.54 +	border-bottom:1px solid #fff;
  116.55 +    overflow:hidden;
  116.56 +}
  116.57 +.x-menu-focus {
  116.58 +	position:absolute;
  116.59 +	left:0;
  116.60 +	top:-5px;
  116.61 +	width:0;
  116.62 +	height:0;
  116.63 +    line-height:1px;
  116.64 +}
  116.65 +.x-menu a.x-menu-item {
  116.66 +	display:block;
  116.67 +	line-height:16px;
  116.68 +	padding:3px 21px 3px 3px;
  116.69 +	white-space: nowrap;
  116.70 +	text-decoration:none;
  116.71 +	color:#222;
  116.72 +	-moz-outline: 0 none;
  116.73 +	outline: 0 none;
  116.74 +	cursor:pointer;
  116.75 +}
  116.76 +.x-menu-item-active {
  116.77 +	background: #ebf3fd url(../images/default/menu/item-over.gif) repeat-x left bottom;
  116.78 +	border:1px solid #aaccf6;
  116.79 +	padding: 0;
  116.80 +}
  116.81 +.x-menu-item-active a.x-menu-item {
  116.82 +    color: #233d6d;
  116.83 +}
  116.84 +
  116.85 +.x-menu-item-icon {
  116.86 +	border: 0 none;
  116.87 +	height: 16px;
  116.88 +	padding: 0;
  116.89 +	vertical-align: top;
  116.90 +	width: 16px;
  116.91 +	margin: 0 8px 0 0;
  116.92 +   background-position:center;
  116.93 +}
  116.94 +
  116.95 +.x-menu-check-item .x-menu-item-icon{
  116.96 +	background: transparent url(../images/default/menu/unchecked.gif) no-repeat center;
  116.97 +}
  116.98 +
  116.99 +.x-menu-item-checked .x-menu-item-icon{
 116.100 +	background-image:url(../images/default/menu/checked.gif);
 116.101 +}
 116.102 +.x-menu-group-item .x-menu-item-icon{
 116.103 +	background: transparent;
 116.104 +}
 116.105 +
 116.106 +.x-menu-item-checked .x-menu-group-item .x-menu-item-icon{
 116.107 +    background: transparent url(../images/default/menu/group-checked.gif) no-repeat center;
 116.108 +}
 116.109 +
 116.110 +.x-menu-plain {
 116.111 +	background:#fff !important;
 116.112 +}
 116.113 +.x-menu-date-item{
 116.114 +	padding:0;
 116.115 +}
 116.116 +
 116.117 +.x-menu .x-color-palette, .x-menu .x-date-picker{
 116.118 +    margin-left: 26px;
 116.119 +	 margin-right:4px;
 116.120 +}
 116.121 +.x-menu .x-date-picker{
 116.122 +    border:1px solid #a3bad9;
 116.123 +    margin-top:2px;
 116.124 +    margin-bottom:2px;
 116.125 +}
 116.126 +.x-menu-plain .x-color-palette, .x-menu-plain .x-date-picker{
 116.127 +	 margin: 0;
 116.128 +	 border: 0 none;
 116.129 +}
 116.130 +.x-date-menu {
 116.131 +   padding:0 !important;
 116.132 +}
 116.133 +
 116.134 +.x-cycle-menu .x-menu-item-checked {
 116.135 +    border:1px dotted #a3bae9 !important;
 116.136 +    background:#DFE8F6;
 116.137 +	padding:0;
 116.138 +}
   117.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   117.2 +++ b/onlypaths/theme/css/panel.css	Sun Jan 31 12:33:33 2010 -0500
   117.3 @@ -0,0 +1,423 @@
   117.4 +/*
   117.5 + * Ext JS Library 2.1
   117.6 + * Copyright(c) 2006-2008, Ext JS, LLC.
   117.7 + * licensing@extjs.com
   117.8 + * 
   117.9 + * http://extjs.com/license
  117.10 + */
  117.11 +
  117.12 +.x-panel {
  117.13 +    border-style: solid;
  117.14 +    border-color: #99bbe8;
  117.15 +    border-width:0;
  117.16 +}
  117.17 +
  117.18 +.x-panel-header {
  117.19 +    overflow:hidden;
  117.20 +    zoom:1;
  117.21 +    color:#15428b;
  117.22 +	font:bold 11px tahoma,arial,verdana,sans-serif;
  117.23 +    padding:5px 3px 4px 5px;
  117.24 +    border:1px solid #99bbe8;
  117.25 +    line-height: 15px;
  117.26 +    background: transparent url(../images/default/panel/white-top-bottom.gif) repeat-x 0 -1px;
  117.27 +}
  117.28 +
  117.29 +.x-panel-body {
  117.30 +    border:1px solid #99bbe8;
  117.31 +    border-top:0 none;
  117.32 +    overflow:hidden;
  117.33 +    background:white;
  117.34 +    position: relative; /* added for item scroll positioning */
  117.35 +}
  117.36 +
  117.37 +.x-panel-bbar .x-toolbar {
  117.38 +    border:1px solid #99bbe8;
  117.39 +    border-top:0 none;
  117.40 +    overflow:hidden;
  117.41 +    padding:2px;
  117.42 +}
  117.43 +
  117.44 +
  117.45 +.x-panel-tbar .x-toolbar {
  117.46 +    border:1px solid #99bbe8;
  117.47 +    border-top:0 none;
  117.48 +    overflow:hidden;
  117.49 +    padding:2px;
  117.50 +}
  117.51 +
  117.52 +.x-panel-tbar-noheader .x-toolbar, .x-panel-mc .x-panel-tbar .x-toolbar {
  117.53 +    border-top:1px solid #99bbe8;
  117.54 +    border-bottom: 0 none;
  117.55 +}
  117.56 +.x-panel-body-noheader, .x-panel-mc .x-panel-body {
  117.57 +    border-top:1px solid #99bbe8;
  117.58 +}
  117.59 +.x-panel-header {
  117.60 +    overflow:hidden;
  117.61 +    zoom:1;
  117.62 +}
  117.63 +.x-panel-tl .x-panel-header {
  117.64 +    color:#15428b;
  117.65 +	 font:bold 11px tahoma,arial,verdana,sans-serif;
  117.66 +    padding:5px 0 4px 0;
  117.67 +    border:0 none;
  117.68 +    background:transparent;
  117.69 +}
  117.70 +.x-panel-tl .x-panel-icon, .x-window-tl .x-panel-icon {
  117.71 +    padding-left:20px !important;
  117.72 +    background-repeat:no-repeat;
  117.73 +    background-position:0 4px;
  117.74 +    zoom:1;
  117.75 +}
  117.76 +.x-panel-inline-icon {
  117.77 +    width:16px;
  117.78 +	 height:16px;
  117.79 +    background-repeat:no-repeat;
  117.80 +    background-position:0 0;
  117.81 +	 vertical-align:middle;
  117.82 +	 margin-right:4px;
  117.83 +	 margin-top:-1px;
  117.84 +	 margin-bottom:-1px;
  117.85 +}
  117.86 +.x-panel-tc {
  117.87 +	background: transparent url(../images/default/panel/top-bottom.gif) repeat-x 0 0;
  117.88 +	overflow:hidden;
  117.89 +}
  117.90 +/* fix ie7 strict mode bug */
  117.91 +.ext-strict .ext-ie7 .x-panel-tc {
  117.92 +    overflow: visible;
  117.93 +}
  117.94 +.x-panel-tl {
  117.95 +	background: transparent url(../images/default/panel/corners-sprite.gif) no-repeat 0 0;
  117.96 +	padding-left:6px;
  117.97 +    zoom:1;
  117.98 +    border-bottom:1px solid #99bbe8;
  117.99 +}
 117.100 +.x-panel-tr {
 117.101 +	background: transparent url(../images/default/panel/corners-sprite.gif) no-repeat right 0;
 117.102 +	zoom:1;
 117.103 +    padding-right:6px;
 117.104 +}
 117.105 +.x-panel-bc {
 117.106 +	background: transparent url(../images/default/panel/top-bottom.gif) repeat-x 0 bottom;
 117.107 +    zoom:1;
 117.108 +}
 117.109 +.x-panel-bc .x-panel-footer {
 117.110 +    zoom:1;
 117.111 +}
 117.112 +
 117.113 +.x-panel-bl {
 117.114 +	background: transparent url(../images/default/panel/corners-sprite.gif) no-repeat 0 bottom;
 117.115 +	padding-left:6px;
 117.116 +    zoom:1;
 117.117 +}
 117.118 +.x-panel-br {
 117.119 +	background: transparent url(../images/default/panel/corners-sprite.gif) no-repeat right bottom;
 117.120 +	padding-right:6px;
 117.121 +    zoom:1;
 117.122 +}
 117.123 +.x-panel-mc {
 117.124 +    border:0 none;
 117.125 +    padding:0;
 117.126 +    margin:0;
 117.127 +    font: normal 11px tahoma,arial,helvetica,sans-serif;
 117.128 +    padding-top:6px;
 117.129 +    background:#dfe8f6;
 117.130 +}
 117.131 +.x-panel-mc .x-panel-body {
 117.132 +    background:transparent;
 117.133 +    border: 0 none;
 117.134 +}
 117.135 +.x-panel-ml {
 117.136 +	background: #fff url(../images/default/panel/left-right.gif) repeat-y 0 0;
 117.137 +	padding-left:6px;
 117.138 +    zoom:1;
 117.139 +}
 117.140 +.x-panel-mr {
 117.141 +	background: transparent url(../images/default/panel/left-right.gif) repeat-y right 0;
 117.142 +	padding-right:6px;
 117.143 +    zoom:1;
 117.144 +}
 117.145 +.x-panel-bc .x-panel-footer {
 117.146 +    padding-bottom:6px;
 117.147 +}
 117.148 +.x-panel-nofooter .x-panel-bc, .x-panel-nofooter .x-window-bc {
 117.149 +	height:6px;
 117.150 +    font-size:0;
 117.151 +    line-height:0;
 117.152 +}
 117.153 +
 117.154 +.x-panel-bwrap {
 117.155 +    overflow:hidden;
 117.156 +    zoom:1;
 117.157 +}
 117.158 +.x-panel-body {
 117.159 +    overflow:hidden;
 117.160 +    zoom:1;
 117.161 +}
 117.162 +
 117.163 +.x-panel-collapsed .x-resizable-handle{
 117.164 +    display:none;
 117.165 +}
 117.166 +
 117.167 +.ext-gecko .x-panel-animated div {
 117.168 +    overflow:hidden !important;
 117.169 +}
 117.170 +
 117.171 +/* Plain */
 117.172 +.x-plain-body {
 117.173 +    overflow:hidden;
 117.174 +}
 117.175 +
 117.176 +.x-plain-bbar .x-toolbar {
 117.177 +    overflow:hidden;
 117.178 +    padding:2px;
 117.179 +}
 117.180 +
 117.181 +.x-plain-tbar .x-toolbar {
 117.182 +    overflow:hidden;
 117.183 +    padding:2px;
 117.184 +}
 117.185 +
 117.186 +.x-plain-bwrap {
 117.187 +    overflow:hidden;
 117.188 +    zoom:1;
 117.189 +}
 117.190 +
 117.191 +.x-plain {
 117.192 +    overflow:hidden;
 117.193 +}
 117.194 +
 117.195 +/* Tools */
 117.196 +.x-tool {
 117.197 +    overflow:hidden;
 117.198 +    width:15px;
 117.199 +    height:15px;
 117.200 +    float:right;
 117.201 +    cursor:pointer;
 117.202 +    background:transparent url(../images/default/panel/tool-sprites.gif) no-repeat;
 117.203 +    margin-left:2px;
 117.204 +}
 117.205 +
 117.206 +/* expand / collapse tools */
 117.207 +.x-tool-toggle {
 117.208 +    background-position:0 -60px;
 117.209 +}
 117.210 +.x-tool-toggle-over {
 117.211 +    background-position:-15px -60px;
 117.212 +}
 117.213 +.x-panel-collapsed .x-tool-toggle {
 117.214 +    background-position:0 -75px;
 117.215 +}
 117.216 +.x-panel-collapsed .x-tool-toggle-over {
 117.217 +    background-position:-15px -75px;
 117.218 +}
 117.219 +
 117.220 +.x-tool-close {
 117.221 +    background-position:0 -0;
 117.222 +}
 117.223 +.x-tool-close-over {
 117.224 +    background-position:-15px 0;
 117.225 +}
 117.226 +
 117.227 +.x-tool-minimize {
 117.228 +    background-position:0 -15px;
 117.229 +}
 117.230 +.x-tool-minimize-over {
 117.231 +    background-position:-15px -15px;
 117.232 +}
 117.233 +
 117.234 +.x-tool-maximize {
 117.235 +    background-position:0 -30px;
 117.236 +}
 117.237 +.x-tool-maximize-over {
 117.238 +    background-position:-15px -30px;
 117.239 +}
 117.240 +
 117.241 +.x-tool-restore {
 117.242 +    background-position:0 -45px;
 117.243 +}
 117.244 +.x-tool-restore-over {
 117.245 +    background-position:-15px -45px;
 117.246 +}
 117.247 +
 117.248 +.x-tool-gear {
 117.249 +    background-position:0 -90px;
 117.250 +}
 117.251 +.x-tool-gear-over {
 117.252 +    background-position:-15px -90px;
 117.253 +}
 117.254 +
 117.255 +.x-tool-pin {
 117.256 +    background-position:0 -135px;
 117.257 +}
 117.258 +.x-tool-pin-over {
 117.259 +    background-position:-15px -135px;
 117.260 +}
 117.261 +.x-tool-unpin {
 117.262 +    background-position:0 -150px;
 117.263 +}
 117.264 +.x-tool-unpin-over {
 117.265 +    background-position:-15px -150px;
 117.266 +}
 117.267 +.x-tool-right {
 117.268 +    background-position:0 -165px;
 117.269 +}
 117.270 +.x-tool-right-over {
 117.271 +    background-position:-15px -165px;
 117.272 +}
 117.273 +.x-tool-left {
 117.274 +    background-position:0 -180px;
 117.275 +}
 117.276 +.x-tool-left-over {
 117.277 +    background-position:-15px -180px;
 117.278 +}
 117.279 +.x-tool-up {
 117.280 +    background-position:0 -210px;
 117.281 +}
 117.282 +.x-tool-up-over {
 117.283 +    background-position:-15px -210px;
 117.284 +}
 117.285 +.x-tool-down {
 117.286 +    background-position:0 -195px;
 117.287 +}
 117.288 +.x-tool-down-over {
 117.289 +    background-position:-15px -195px;
 117.290 +}
 117.291 +.x-tool-refresh {
 117.292 +    background-position:0 -225px;
 117.293 +}
 117.294 +.x-tool-refresh-over {
 117.295 +    background-position:-15px -225px;
 117.296 +}
 117.297 +
 117.298 +.x-tool-minus {
 117.299 +    background-position:0 -255px;
 117.300 +}
 117.301 +.x-tool-minus-over {
 117.302 +    background-position:-15px -255px;
 117.303 +}
 117.304 +.x-tool-plus {
 117.305 +    background-position:0 -240px;
 117.306 +}
 117.307 +.x-tool-plus-over {
 117.308 +    background-position:-15px -240px;
 117.309 +}
 117.310 +
 117.311 +.x-tool-search {
 117.312 +    background-position:0 -270px;
 117.313 +}
 117.314 +.x-tool-search-over {
 117.315 +    background-position:-15px -270px;
 117.316 +}
 117.317 +.x-tool-save {
 117.318 +    background-position:0 -285px;
 117.319 +}
 117.320 +.x-tool-save-over {
 117.321 +    background-position:-15px -285px;
 117.322 +}
 117.323 +.x-tool-help {
 117.324 +    background-position:0 -300px;
 117.325 +}
 117.326 +.x-tool-help-over {
 117.327 +    background-position:-15px -300px;
 117.328 +}
 117.329 +.x-tool-print {
 117.330 +    background-position:0 -315px;
 117.331 +}
 117.332 +.x-tool-print-over {
 117.333 +    background-position:-15px -315px;
 117.334 +}
 117.335 +
 117.336 +/* Ghosting */
 117.337 +.x-panel-ghost {
 117.338 +    background:#cbddf3;
 117.339 +    z-index:12000;
 117.340 +    overflow:hidden;
 117.341 +    position:absolute;
 117.342 +    left:0;top:0;
 117.343 +    opacity:.65;
 117.344 +    -moz-opacity:.65;
 117.345 +    filter:alpha(opacity=65);
 117.346 +}
 117.347 +
 117.348 +.x-panel-ghost ul {
 117.349 +    margin:0;
 117.350 +    padding:0;
 117.351 +    overflow:hidden;
 117.352 +    font-size:0;
 117.353 +    line-height:0;
 117.354 +    border:1px solid #99bbe8;
 117.355 +    border-top:0 none;
 117.356 +    display:block;
 117.357 +}
 117.358 +
 117.359 +.x-panel-ghost * {
 117.360 +    cursor:move !important;
 117.361 +}
 117.362 +
 117.363 +.x-panel-dd-spacer {
 117.364 +    border:2px dashed #99bbe8;
 117.365 +}
 117.366 +/* Buttons */
 117.367 +
 117.368 +.x-panel-btns-ct {
 117.369 +    padding:5px;
 117.370 +}
 117.371 +
 117.372 +.x-panel-btns-ct .x-btn{
 117.373 +	float:right;
 117.374 +	clear:none;
 117.375 +}
 117.376 +.x-panel-btns-ct .x-panel-btns td {
 117.377 +	border:0;
 117.378 +	padding:0;
 117.379 +}
 117.380 +.x-panel-btns-ct .x-panel-btns-right table{
 117.381 +	float:right;
 117.382 +	clear:none;
 117.383 +}
 117.384 +.x-panel-btns-ct .x-panel-btns-left table{
 117.385 +	float:left;
 117.386 +	clear:none;
 117.387 +}
 117.388 +.x-panel-btns-ct .x-panel-btns-center{
 117.389 +	text-align:center; /*ie*/
 117.390 +}
 117.391 +.x-panel-btns-ct .x-panel-btns-center table{
 117.392 +	margin:0 auto; /*everyone else*/
 117.393 +}
 117.394 +.x-panel-btns-ct table td.x-panel-btn-td{
 117.395 +	padding:3px;
 117.396 +}
 117.397 +
 117.398 +.x-panel-btns-ct .x-btn-focus .x-btn-left{
 117.399 +	background-position:0 -147px;
 117.400 +}
 117.401 +.x-panel-btns-ct .x-btn-focus .x-btn-right{
 117.402 +	background-position:0 -168px;
 117.403 +}
 117.404 +.x-panel-btns-ct .x-btn-focus .x-btn-center{
 117.405 +	background-position:0 -189px;
 117.406 +}
 117.407 +
 117.408 +.x-panel-btns-ct .x-btn-over .x-btn-left{
 117.409 +	background-position:0 -63px;
 117.410 +}
 117.411 +.x-panel-btns-ct .x-btn-over .x-btn-right{
 117.412 +	background-position:0 -84px;
 117.413 +}
 117.414 +.x-panel-btns-ct .x-btn-over .x-btn-center{
 117.415 +	background-position:0 -105px;
 117.416 +}
 117.417 +
 117.418 +.x-panel-btns-ct .x-btn-click .x-btn-center{
 117.419 +	background-position:0 -126px;
 117.420 +}
 117.421 +.x-panel-btns-ct .x-btn-click  .x-btn-right{
 117.422 +	background-position:0 -84px;
 117.423 +}
 117.424 +.x-panel-btns-ct .x-btn-click .x-btn-left{
 117.425 +	background-position:0 -63px;
 117.426 +}
 117.427 \ No newline at end of file
   118.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   118.2 +++ b/onlypaths/theme/css/progress.css	Sun Jan 31 12:33:33 2010 -0500
   118.3 @@ -0,0 +1,43 @@
   118.4 +/*
   118.5 + * Ext JS Library 2.1
   118.6 + * Copyright(c) 2006-2008, Ext JS, LLC.
   118.7 + * licensing@extjs.com
   118.8 + * 
   118.9 + * http://extjs.com/license
  118.10 + */
  118.11 +
  118.12 +.x-progress-wrap {
  118.13 +    border:1px solid #6593cf;
  118.14 +    overflow:hidden;
  118.15 +}
  118.16 +.x-progress-inner {
  118.17 +    height:18px;
  118.18 +    background: #e0e8f3 url(../images/default/qtip/bg.gif) repeat-x;
  118.19 +    position:relative;
  118.20 +}
  118.21 +.x-progress-bar {
  118.22 +    height:18px;
  118.23 +    float:left;
  118.24 +    width:0;
  118.25 +    background:#9CBFEE url( ../images/default/progress/progress-bg.gif ) repeat-x left center;
  118.26 +    border-top:1px solid #D1E4FD;
  118.27 +    border-bottom:1px solid #7FA9E4;
  118.28 +    border-right:1px solid #7FA9E4;
  118.29 +}
  118.30 +.x-progress-text {
  118.31 +    font-size:11px;
  118.32 +    font-weight:bold;
  118.33 +    color:#fff;
  118.34 +    padding:1px 5px;
  118.35 +    overflow:hidden;
  118.36 +    position:absolute;
  118.37 +    left:0;
  118.38 +    text-align:center;
  118.39 +}
  118.40 +.x-progress-text-back {
  118.41 +    color:#396095;
  118.42 +    line-height:16px;
  118.43 +}
  118.44 +.ext-ie .x-progress-text-back {
  118.45 +    line-height:15px;
  118.46 +}
  118.47 \ No newline at end of file
   119.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   119.2 +++ b/onlypaths/theme/css/qtips.css	Sun Jan 31 12:33:33 2010 -0500
   119.3 @@ -0,0 +1,134 @@
   119.4 +/*
   119.5 + * Ext JS Library 2.1
   119.6 + * Copyright(c) 2006-2008, Ext JS, LLC.
   119.7 + * licensing@extjs.com
   119.8 + * 
   119.9 + * http://extjs.com/license
  119.10 + */
  119.11 +
  119.12 +.x-tip{
  119.13 +	position: absolute;
  119.14 +	top: 0;
  119.15 +    left:0;
  119.16 +    visibility: hidden;
  119.17 +	z-index: 20000;
  119.18 +    border:0 none;
  119.19 +}
  119.20 +.x-tip .x-tip-close{
  119.21 +	background-image: url(../images/default/qtip/close.gif);
  119.22 +	height: 15px;
  119.23 +	float:right;
  119.24 +	width: 15px;
  119.25 +    margin:0 0 2px 2px;
  119.26 +    cursor:pointer;
  119.27 +    display:none;
  119.28 +}
  119.29 +.x-tip .x-tip-tc {
  119.30 +	background: transparent url(../images/default/qtip/tip-sprite.gif) no-repeat 0 -62px;
  119.31 +	padding-top:3px;
  119.32 +    overflow:hidden;
  119.33 +    zoom:1;
  119.34 +}
  119.35 +.x-tip .x-tip-tl {
  119.36 +	background: transparent url(../images/default/qtip/tip-sprite.gif) no-repeat 0 0;
  119.37 +	padding-left:6px;
  119.38 +    overflow:hidden;
  119.39 +    zoom:1;
  119.40 +}
  119.41 +.x-tip .x-tip-tr {
  119.42 +	background: transparent url(../images/default/qtip/tip-sprite.gif) no-repeat right 0;
  119.43 +	padding-right:6px;
  119.44 +    overflow:hidden;
  119.45 +    zoom:1;
  119.46 +}
  119.47 +.x-tip .x-tip-bc {
  119.48 +	background: transparent url(../images/default/qtip/tip-sprite.gif) no-repeat 0 -121px;
  119.49 +	height:3px;
  119.50 +    overflow:hidden;
  119.51 +}
  119.52 +.x-tip .x-tip-bl {
  119.53 +	background: transparent url(../images/default/qtip/tip-sprite.gif) no-repeat 0 -59px;
  119.54 +	padding-left:6px;
  119.55 +    zoom:1;
  119.56 +}
  119.57 +.x-tip .x-tip-br {
  119.58 +	background: transparent url(../images/default/qtip/tip-sprite.gif) no-repeat right -59px;
  119.59 +	padding-right:6px;
  119.60 +    zoom:1;
  119.61 +}
  119.62 +.x-tip .x-tip-mc {
  119.63 +    border:0 none;
  119.64 +    font: normal 11px tahoma,arial,helvetica,sans-serif;
  119.65 +}
  119.66 +.x-tip .x-tip-ml {
  119.67 +	background: #fff url(../images/default/qtip/tip-sprite.gif) no-repeat 0 -124px;
  119.68 +	padding-left:6px;
  119.69 +    zoom:1;
  119.70 +}
  119.71 +.x-tip .x-tip-mr {
  119.72 +	background: transparent url(../images/default/qtip/tip-sprite.gif) no-repeat right -124px;
  119.73 +	padding-right:6px;
  119.74 +    zoom:1;
  119.75 +}
  119.76 +.ext-ie .x-tip .x-tip-header,.ext-ie .x-tip .x-tip-tc {
  119.77 +    font-size:0;
  119.78 +    line-height:0;
  119.79 +}
  119.80 +.x-tip .x-tip-header-text {
  119.81 +    font: bold 11px tahoma,arial,helvetica,sans-serif;
  119.82 +    padding:0;
  119.83 +    margin:0 0 2px 0;
  119.84 +    color:#444;
  119.85 +}
  119.86 +.x-tip .x-tip-body {
  119.87 +    font: normal 11px tahoma,arial,helvetica,sans-serif;
  119.88 +    margin:0 !important;
  119.89 +    line-height:14px;
  119.90 +    color:#444;
  119.91 +    padding:0;
  119.92 +}
  119.93 +
  119.94 +.x-tip .x-tip-body .loading-indicator {
  119.95 +    margin:0;
  119.96 +}
  119.97 +
  119.98 +.x-tip-draggable .x-tip-header,.x-tip-draggable .x-tip-header-text {
  119.99 +    cursor:move;
 119.100 +}
 119.101 +
 119.102 +.x-form-invalid-tip {
 119.103 +}
 119.104 +
 119.105 +.x-form-invalid-tip .x-tip-tc {
 119.106 +	background: url(../images/default/form/error-tip-corners.gif) repeat-x 0 -12px;
 119.107 +    padding-top:6px;
 119.108 +}
 119.109 +.x-form-invalid-tip .x-tip-tl {
 119.110 +	background-image: url(../images/default/form/error-tip-corners.gif);
 119.111 +}
 119.112 +.x-form-invalid-tip .x-tip-tr {
 119.113 +	background-image: url(../images/default/form/error-tip-corners.gif);
 119.114 +}
 119.115 +.x-form-invalid-tip .x-tip-bc {
 119.116 +	background: url(../images/default/form/error-tip-corners.gif) repeat-x 0 -18px;
 119.117 +    height:6px;
 119.118 +}
 119.119 +.x-form-invalid-tip .x-tip-bl {
 119.120 +	background: url(../images/default/form/error-tip-corners.gif) no-repeat 0 -6px;
 119.121 +}
 119.122 +.x-form-invalid-tip .x-tip-br {
 119.123 +	background: url(../images/default/form/error-tip-corners.gif) no-repeat right -6px;
 119.124 +}
 119.125 +.x-form-invalid-tip .x-tip-ml {
 119.126 +	background-image: url(../images/default/form/error-tip-corners.gif);
 119.127 +}
 119.128 +.x-form-invalid-tip .x-tip-mr {
 119.129 +	background-image: url(../images/default/form/error-tip-corners.gif);
 119.130 +}
 119.131 +.x-form-invalid-tip .x-tip-body {
 119.132 +    padding:2px;
 119.133 +}
 119.134 +.x-form-invalid-tip .x-tip-body {
 119.135 +    padding-left:24px;
 119.136 +    background:transparent url(../images/default/form/exclamation.gif) no-repeat 2px 2px;
 119.137 +}
 119.138 \ No newline at end of file
   120.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   120.2 +++ b/onlypaths/theme/css/reset-min.css	Sun Jan 31 12:33:33 2010 -0500
   120.3 @@ -0,0 +1,9 @@
   120.4 +/*
   120.5 + * Ext JS Library 2.1
   120.6 + * Copyright(c) 2006-2008, Ext JS, LLC.
   120.7 + * licensing@extjs.com
   120.8 + * 
   120.9 + * http://extjs.com/license
  120.10 + */
  120.11 +
  120.12 +html,body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,p,blockquote,th,td{margin:0;padding:0;}img,body,html{border:0;}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}ol,ul {list-style:none;}caption,th {text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;}q:before,q:after{content:'';}
  120.13 \ No newline at end of file
   121.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   121.2 +++ b/onlypaths/theme/css/reset.css	Sun Jan 31 12:33:33 2010 -0500
   121.3 @@ -0,0 +1,9 @@
   121.4 +/*
   121.5 + * Ext JS Library 2.1
   121.6 + * Copyright(c) 2006-2008, Ext JS, LLC.
   121.7 + * licensing@extjs.com
   121.8 + * 
   121.9 + * http://extjs.com/license
  121.10 + */
  121.11 +
  121.12 +html,body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,p,blockquote,th,td{margin:0;padding:0;}img,body,html{border:0;}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}ol,ul {list-style:none;}caption,th {text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;}q:before,q:after{content:'';}
  121.13 \ No newline at end of file
   122.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   122.2 +++ b/onlypaths/theme/css/resizable.css	Sun Jan 31 12:33:33 2010 -0500
   122.3 @@ -0,0 +1,143 @@
   122.4 +/*
   122.5 + * Ext JS Library 2.1
   122.6 + * Copyright(c) 2006-2008, Ext JS, LLC.
   122.7 + * licensing@extjs.com
   122.8 + * 
   122.9 + * http://extjs.com/license
  122.10 + */
  122.11 +
  122.12 +.x-resizable-handle {
  122.13 +    position:absolute;
  122.14 +    z-index:100;
  122.15 +    /* ie needs these */
  122.16 +    font-size:1px;
  122.17 +    line-height:6px;
  122.18 +    overflow:hidden;
  122.19 +	 background:white;
  122.20 +	 filter:alpha(opacity=0);
  122.21 +	 opacity:0;
  122.22 +	 zoom:1;
  122.23 +}
  122.24 +.x-resizable-handle-east{
  122.25 +    width:6px;
  122.26 +    cursor:e-resize;
  122.27 +    right:0;
  122.28 +    top:0;
  122.29 +    height:100%;
  122.30 +}
  122.31 +.ext-ie .x-resizable-handle-east {
  122.32 +      margin-right:-1px; /*IE rounding error*/
  122.33 +}
  122.34 +.x-resizable-handle-south{
  122.35 +    width:100%;
  122.36 +    cursor:s-resize;
  122.37 +    left:0;
  122.38 +    bottom:0;
  122.39 +    height:6px;
  122.40 +}
  122.41 +.ext-ie .x-resizable-handle-south {
  122.42 +     margin-bottom:-1px; /*IE rounding error*/
  122.43 +}
  122.44 +.x-resizable-handle-west{
  122.45 +    width:6px;
  122.46 +    cursor:w-resize;
  122.47 +    left:0;
  122.48 +    top:0;
  122.49 +    height:100%;
  122.50 +}
  122.51 +.x-resizable-handle-north{
  122.52 +    width:100%;
  122.53 +    cursor:n-resize;
  122.54 +    left:0;
  122.55 +    top:0;
  122.56 +    height:6px;
  122.57 +}
  122.58 +.x-resizable-handle-southeast{
  122.59 +    width:6px;
  122.60 +    cursor:se-resize;
  122.61 +    right:0;
  122.62 +    bottom:0;
  122.63 +    height:6px;
  122.64 +    z-index:101;
  122.65 +}
  122.66 +.x-resizable-handle-northwest{
  122.67 +    width:6px;
  122.68 +    cursor:nw-resize;
  122.69 +    left:0;
  122.70 +    top:0;
  122.71 +    height:6px;
  122.72 +    z-index:101;
  122.73 +}
  122.74 +.x-resizable-handle-northeast{
  122.75 +    width:6px;
  122.76 +    cursor:ne-resize;
  122.77 +    right:0;
  122.78 +    top:0;
  122.79 +    height:6px;
  122.80 +    z-index:101;
  122.81 +}
  122.82 +.x-resizable-handle-southwest{
  122.83 +    width:6px;
  122.84 +    cursor:sw-resize;
  122.85 +    left:0;
  122.86 +    bottom:0;
  122.87 +    height:6px;
  122.88 +    z-index:101;
  122.89 +}
  122.90 +.x-resizable-over .x-resizable-handle, .x-resizable-pinned .x-resizable-handle{
  122.91 +    filter:alpha(opacity=100);
  122.92 +	 opacity:1;
  122.93 +}
  122.94 +.x-resizable-over .x-resizable-handle-east, .x-resizable-pinned .x-resizable-handle-east{
  122.95 +    background:url(../images/default/sizer/e-handle.gif);
  122.96 +	 background-position: left;
  122.97 +}
  122.98 +.x-resizable-over .x-resizable-handle-west, .x-resizable-pinned .x-resizable-handle-west{
  122.99 +    background:url(../images/default/sizer/e-handle.gif);
 122.100 +	 background-position: left;
 122.101 +}
 122.102 +.x-resizable-over .x-resizable-handle-south, .x-resizable-pinned .x-resizable-handle-south{
 122.103 +    background:url(../images/default/sizer/s-handle.gif);
 122.104 +    background-position: top;
 122.105 +}
 122.106 +.x-resizable-over .x-resizable-handle-north, .x-resizable-pinned .x-resizable-handle-north{
 122.107 +    background:url(../images/default/sizer/s-handle.gif);
 122.108 +    background-position: top;
 122.109 +}
 122.110 +.x-resizable-over .x-resizable-handle-southeast, .x-resizable-pinned .x-resizable-handle-southeast{
 122.111 +    background:url(../images/default/sizer/se-handle.gif);
 122.112 +    background-position: top left;
 122.113 +}
 122.114 +.x-resizable-over .x-resizable-handle-northwest, .x-resizable-pinned .x-resizable-handle-northwest{
 122.115 +    background:url(../images/default/sizer/nw-handle.gif);
 122.116 +    background-position:bottom right;
 122.117 +}
 122.118 +.x-resizable-over .x-resizable-handle-northeast, .x-resizable-pinned .x-resizable-handle-northeast{
 122.119 +    background:url(../images/default/sizer/ne-handle.gif);
 122.120 +    background-position: bottom left;
 122.121 +}
 122.122 +.x-resizable-over .x-resizable-handle-southwest, .x-resizable-pinned .x-resizable-handle-southwest{
 122.123 +    background:url(../images/default/sizer/sw-handle.gif);
 122.124 +    background-position: top right;
 122.125 +}
 122.126 +.x-resizable-proxy{
 122.127 +    border: 1px dashed #3b5a82;
 122.128 +    position:absolute;
 122.129 +    overflow:hidden;
 122.130 +    display:none;
 122.131 +	 left:0;top:0;
 122.132 +    z-index:50000;
 122.133 +}
 122.134 +.x-resizable-overlay{
 122.135 +    width:100%;
 122.136 +	 height:100%;
 122.137 +	 display:none;
 122.138 +	 position:absolute;
 122.139 +	 left:0;
 122.140 +	 top:0;
 122.141 +	 background:white;
 122.142 +	 z-index:200000;
 122.143 +	 -moz-opacity: 0;
 122.144 +    opacity:0;
 122.145 +    filter: alpha(opacity=0);
 122.146 +}
   123.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   123.2 +++ b/onlypaths/theme/css/slider.css	Sun Jan 31 12:33:33 2010 -0500
   123.3 @@ -0,0 +1,90 @@
   123.4 +/*
   123.5 + * Ext JS Library 2.1
   123.6 + * Copyright(c) 2006-2008, Ext JS, LLC.
   123.7 + * licensing@extjs.com
   123.8 + * 
   123.9 + * http://extjs.com/license
  123.10 + */
  123.11 +
  123.12 +/* Shared styles */
  123.13 +.x-slider {
  123.14 +    zoom:1;
  123.15 +}
  123.16 +.x-slider-inner {
  123.17 +    position:relative;
  123.18 +    left:0;
  123.19 +    top:0;
  123.20 +    overflow:visible;
  123.21 +    zoom:1;
  123.22 +}
  123.23 +.x-slider-focus {
  123.24 +	position:absolute;
  123.25 +	left:0;
  123.26 +	top:0;
  123.27 +	width:1px;
  123.28 +	height:1px;
  123.29 +    line-height:1px;
  123.30 +    font-size:1px;
  123.31 +    -moz-outline:0 none;
  123.32 +    outline:0 none;
  123.33 +    -moz-user-select: normal;
  123.34 +    -khtml-user-select: normal;  
  123.35 +}
  123.36 +
  123.37 +/* Horizontal styles */
  123.38 +.x-slider-horz {
  123.39 +    padding-left:7px;
  123.40 +    background:transparent url(../images/default/slider/slider-bg.png) no-repeat 0 -22px;
  123.41 +}
  123.42 +.x-slider-horz .x-slider-end {
  123.43 +    padding-right:7px;
  123.44 +    zoom:1;
  123.45 +    background:transparent url(../images/default/slider/slider-bg.png) no-repeat right -44px;
  123.46 +}
  123.47 +.x-slider-horz .x-slider-inner {
  123.48 +    background:transparent url(../images/default/slider/slider-bg.png) repeat-x 0 0;
  123.49 +    height:22px;
  123.50 +}
  123.51 +.x-slider-horz .x-slider-thumb {
  123.52 +    width:14px;
  123.53 +    height:15px;
  123.54 +    position:absolute;
  123.55 +    left:0;
  123.56 +    top:3px;
  123.57 +    background:transparent url(../images/default/slider/slider-thumb.png) no-repeat 0 0;
  123.58 +}
  123.59 +.x-slider-horz .x-slider-thumb-over {
  123.60 +    background-position: -14px -15px;
  123.61 +}
  123.62 +.x-slider-horz .x-slider-thumb-drag {
  123.63 +    background-position: -28px -30px;
  123.64 +}
  123.65 +
  123.66 +/* Vertical styles */
  123.67 +.x-slider-vert {
  123.68 +    padding-top:7px;
  123.69 +    background:transparent url(../images/default/slider/slider-v-bg.png) no-repeat -44px 0;
  123.70 +    width:22px;
  123.71 +}
  123.72 +.x-slider-vert .x-slider-end {
  123.73 +    padding-bottom:7px;
  123.74 +    zoom:1;
  123.75 +    background:transparent url(../images/default/slider/slider-v-bg.png) no-repeat -22px bottom;
  123.76 +}
  123.77 +.x-slider-vert .x-slider-inner {
  123.78 +    background:transparent url(../images/default/slider/slider-v-bg.png) repeat-y 0 0;
  123.79 +}
  123.80 +.x-slider-vert .x-slider-thumb {
  123.81 +    width:15px;
  123.82 +    height:14px;
  123.83 +    position:absolute;
  123.84 +    left:3px;
  123.85 +    bottom:0;
  123.86 +    background:transparent url(../images/default/slider/slider-v-thumb.png) no-repeat 0 0;
  123.87 +}
  123.88 +.x-slider-vert .x-slider-thumb-over {
  123.89 +    background-position: -15px -14px;
  123.90 +}
  123.91 +.x-slider-vert .x-slider-thumb-drag {
  123.92 +    background-position: -30px -28px;
  123.93 +}
  123.94 \ No newline at end of file
   124.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   124.2 +++ b/onlypaths/theme/css/tabs.css	Sun Jan 31 12:33:33 2010 -0500
   124.3 @@ -0,0 +1,341 @@
   124.4 +/*
   124.5 + * Ext JS Library 2.1
   124.6 + * Copyright(c) 2006-2008, Ext JS, LLC.
   124.7 + * licensing@extjs.com
   124.8 + * 
   124.9 + * http://extjs.com/license
  124.10 + */
  124.11 +
  124.12 +.x-tab-panel {
  124.13 +    overflow:hidden;
  124.14 +}
  124.15 +.x-tab-panel-header, .x-tab-panel-footer {
  124.16 +	background: #deecfd;
  124.17 +	border: 1px solid #8db2e3;
  124.18 +    overflow:hidden;
  124.19 +    zoom:1;
  124.20 +}
  124.21 +
  124.22 +
  124.23 +.x-tab-panel-header {
  124.24 +	border: 1px solid #8db2e3;
  124.25 +	padding-bottom: 2px;
  124.26 +}
  124.27 +
  124.28 +.x-tab-panel-footer {
  124.29 +	border: 1px solid #8db2e3;
  124.30 +	padding-top: 2px;
  124.31 +}
  124.32 +
  124.33 +
  124.34 +.x-tab-strip-wrap {
  124.35 +	width:100%;
  124.36 +    overflow:hidden;
  124.37 +    position:relative;
  124.38 +    zoom:1;
  124.39 +}
  124.40 +ul.x-tab-strip {
  124.41 +	display:block;
  124.42 +    width:5000px;
  124.43 +    zoom:1;
  124.44 +}
  124.45 +
  124.46 +ul.x-tab-strip-top{
  124.47 +	padding-top: 1px;
  124.48 +	background: url(../images/default/tabs/tab-strip-bg.gif) #cedff5 repeat-x bottom;
  124.49 +	border-bottom: 1px solid #8db2e3;
  124.50 +}
  124.51 +
  124.52 +ul.x-tab-strip-bottom{
  124.53 +	padding-bottom: 1px;
  124.54 +	background: url(../images/default/tabs/tab-strip-btm-bg.gif) #cedff5 repeat-x top;
  124.55 +	border-top: 1px solid #8db2e3;
  124.56 +	border-bottom: 0 none;
  124.57 +}
  124.58 +
  124.59 +.x-tab-panel-header-plain .x-tab-strip-top {
  124.60 +    background:transparent !important;
  124.61 +    padding-top:0 !important;
  124.62 +}
  124.63 +.x-tab-panel-header-plain {
  124.64 +    background:transparent !important;
  124.65 +    border-width:0 !important;
  124.66 +    padding-bottom:0 !important;
  124.67 +}
  124.68 +
  124.69 +.x-tab-panel-header-plain .x-tab-strip-spacer {
  124.70 +    border:1px solid #8db2e3;
  124.71 +    border-top: 0 none;
  124.72 +    height:2px;
  124.73 +    background: #deecfd;
  124.74 +    font-size:1px;
  124.75 +    line-height:1px;
  124.76 +}
  124.77 +
  124.78 +.ext-border-box .x-tab-panel-header-plain .x-tab-strip-spacer {
  124.79 +    height:3px;
  124.80 +}
  124.81 +
  124.82 +
  124.83 +ul.x-tab-strip li {
  124.84 +    float:left;
  124.85 +    margin-left:2px;
  124.86 +}
  124.87 +
  124.88 +
  124.89 +ul.x-tab-strip li.x-tab-edge {
  124.90 +    float:left;
  124.91 +    margin:0 !important;
  124.92 +    padding:0 !important;
  124.93 +    border:0 none !important;
  124.94 +    font-size:1px !important;
  124.95 +    line-height:1px !important;
  124.96 +    overflow:hidden;
  124.97 +    zoom:1;
  124.98 +    background:transparent !important;
  124.99 +    width:1px;
 124.100 +}
 124.101 +
 124.102 +.x-tab-strip a, .x-tab-strip span, .x-tab-strip em {
 124.103 +	display:block;
 124.104 +}
 124.105 +
 124.106 +.x-tab-strip a {
 124.107 +	text-decoration:none !important;
 124.108 +	-moz-outline: none;
 124.109 +	outline: none;
 124.110 +	cursor:pointer;
 124.111 +}
 124.112 +
 124.113 +.x-tab-strip-inner {
 124.114 +    overflow:hidden;
 124.115 +	text-overflow: ellipsis;
 124.116 +}
 124.117 +
 124.118 +.x-tab-strip span.x-tab-strip-text {
 124.119 +	font:normal 11px tahoma,arial,helvetica;
 124.120 +	color:#416aa3;
 124.121 +	white-space: nowrap;
 124.122 +	cursor:pointer;
 124.123 +    padding:4px 0;
 124.124 +}
 124.125 +.x-tab-strip .x-tab-with-icon .x-tab-right {
 124.126 +    padding-left:6px;
 124.127 +}
 124.128 +.x-tab-strip .x-tab-with-icon span.x-tab-strip-text {
 124.129 +	padding-left:20px;
 124.130 +    background-position: 0 3px;
 124.131 +    background-repeat: no-repeat;
 124.132 +}
 124.133 +
 124.134 +.x-tab-strip-over span.x-tab-strip-text {
 124.135 +	color:#15428b;
 124.136 +}
 124.137 +
 124.138 +.x-tab-strip-active {
 124.139 +    cursor:default;
 124.140 +}
 124.141 +
 124.142 +.x-tab-strip-active span.x-tab-strip-text {
 124.143 +	cursor:default;
 124.144 +	color:#15428b;
 124.145 +    font-weight:bold;
 124.146 +}
 124.147 +
 124.148 +.x-tab-strip-disabled .x-tabs-text {
 124.149 +	cursor:default;
 124.150 +	color:#aaaaaa;
 124.151 +}
 124.152 +
 124.153 +.x-tab-panel-body {
 124.154 +    overflow:hidden;
 124.155 +}
 124.156 +.x-tab-panel-bwrap {
 124.157 +    overflow:hidden;
 124.158 +}
 124.159 +.ext-ie .x-tab-strip .x-tab-right {
 124.160 +    position:relative;
 124.161 +}
 124.162 +
 124.163 +.x-tab-strip-top .x-tab-strip-active .x-tab-right {
 124.164 +    margin-bottom:-1px;
 124.165 +}
 124.166 +
 124.167 +.x-tab-strip-top .x-tab-strip-active .x-tab-right span.x-tab-strip-text {
 124.168 +    padding-bottom:5px;
 124.169 +}
 124.170 +
 124.171 +.x-tab-strip-bottom .x-tab-strip-active .x-tab-right {
 124.172 +    margin-top:-1px;
 124.173 +}
 124.174 +.x-tab-strip-bottom .x-tab-strip-active .x-tab-right span.x-tab-strip-text {
 124.175 +    padding-top:5px;
 124.176 +}
 124.177 +
 124.178 +
 124.179 +.x-tab-strip-top .x-tab-right {
 124.180 +	background: transparent url(../images/default/tabs/tabs-sprite.gif) no-repeat 0 -51px;
 124.181 +    padding-left:10px;
 124.182 +}
 124.183 +
 124.184 +.x-tab-strip-top .x-tab-left {
 124.185 +	background: transparent url(../images/default/tabs/tabs-sprite.gif) no-repeat right -351px;
 124.186 +    padding-right:10px;
 124.187 +}
 124.188 +
 124.189 +.x-tab-strip-top .x-tab-strip-inner {
 124.190 +	background: transparent url(../images/default/tabs/tabs-sprite.gif) repeat-x 0 -201px;
 124.191 +}
 124.192 +
 124.193 +.x-tab-strip-top .x-tab-strip-over .x-tab-right {
 124.194 +	 background-position:0 -101px;
 124.195 +}
 124.196 +.x-tab-strip-top .x-tab-strip-over .x-tab-left {
 124.197 +	 background-position:right -401px;
 124.198 +}
 124.199 +.x-tab-strip-top .x-tab-strip-over .x-tab-strip-inner {
 124.200 +	 background-position:0 -251px;
 124.201 +}
 124.202 +
 124.203 +.x-tab-strip-top .x-tab-strip-active .x-tab-right {
 124.204 +	background-position: 0 0;
 124.205 +}
 124.206 +
 124.207 +.x-tab-strip-top .x-tab-strip-active .x-tab-left {
 124.208 +	background-position: right -301px;
 124.209 +}
 124.210 +
 124.211 +.x-tab-strip-top .x-tab-strip-active .x-tab-strip-inner {
 124.212 +	background-position: 0 -151px;
 124.213 +}
 124.214 +
 124.215 +.x-tab-strip-bottom .x-tab-right {
 124.216 +	background: url(../images/default/tabs/tab-btm-inactive-right-bg.gif) no-repeat bottom right;
 124.217 +}
 124.218 +
 124.219 +.x-tab-strip-bottom .x-tab-left {
 124.220 +	background: url(../images/default/tabs/tab-btm-inactive-left-bg.gif) no-repeat bottom left;
 124.221 +}
 124.222 +
 124.223 +.x-tab-strip-bottom .x-tab-strip-active .x-tab-right {
 124.224 +	background: url(../images/default/tabs/tab-btm-right-bg.gif) no-repeat bottom left;
 124.225 +}
 124.226 +
 124.227 +.x-tab-strip-bottom .x-tab-strip-active .x-tab-left {
 124.228 +	background: url(../images/default/tabs/tab-btm-left-bg.gif) no-repeat bottom right;
 124.229 +}
 124.230 +.x-tab-strip-bottom .x-tab-left {
 124.231 +    padding:0 10px;
 124.232 +}
 124.233 +.x-tab-strip-bottom .x-tab-right {
 124.234 +    padding:0;
 124.235 +}
 124.236 +.x-tab-strip .x-tab-strip-close {
 124.237 +    display:none;
 124.238 +}
 124.239 +.x-tab-strip-closable {
 124.240 +    position:relative;
 124.241 +}
 124.242 +
 124.243 +.x-tab-strip-closable .x-tab-left {
 124.244 +    padding-right:19px;
 124.245 +}
 124.246 +
 124.247 +.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close {
 124.248 +	background-image:url(../images/default/tabs/tab-close.gif);
 124.249 +    opacity:.6;
 124.250 +    -moz-opacity:.6;
 124.251 +    background-repeat:no-repeat;
 124.252 +    display:block;
 124.253 +	width:11px;height:11px;
 124.254 +    position:absolute;
 124.255 +    top:3px;
 124.256 +    right:3px;
 124.257 +    cursor:pointer;
 124.258 +    z-index:2;
 124.259 +}
 124.260 +
 124.261 +.x-tab-strip .x-tab-strip-active a.x-tab-strip-close {
 124.262 +    opacity:.8;
 124.263 +    -moz-opacity:.8;
 124.264 +}
 124.265 +.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close:hover{
 124.266 +	background-image:url(../images/default/tabs/tab-close.gif);
 124.267 +    opacity:1;
 124.268 +    -moz-opacity:1;
 124.269 +}
 124.270 +
 124.271 +.x-tab-panel-body {
 124.272 +    border: 1px solid #8db2e3;
 124.273 +    background:#fff;
 124.274 +}
 124.275 +.x-tab-panel-body-top {
 124.276 +    border-top: 0 none;
 124.277 +}
 124.278 +.x-tab-panel-body-bottom {
 124.279 +    border-bottom: 0 none;
 124.280 +}
 124.281 +
 124.282 +.x-tab-scroller-left {
 124.283 +    background: transparent url(../images/default/tabs/scroll-left.gif) no-repeat -18px 0;
 124.284 +    border-bottom: 1px solid #8db2e3;
 124.285 +    width:18px;
 124.286 +    position:absolute;
 124.287 +    left:0;
 124.288 +    top:0;
 124.289 +    z-index:10;
 124.290 +    cursor:pointer;
 124.291 +}
 124.292 +.x-tab-scroller-left-over {
 124.293 +    background-position: 0 0;
 124.294 +}
 124.295 +.x-tab-scroller-left-disabled {
 124.296 +    background-position: -18px 0;
 124.297 +    opacity:.5;
 124.298 +    -moz-opacity:.5;
 124.299 +    filter:alpha(opacity=50);
 124.300 +    cursor:default;
 124.301 +}
 124.302 +.x-tab-scroller-right {
 124.303 +    background: transparent url(../images/default/tabs/scroll-right.gif) no-repeat 0 0;
 124.304 +    border-bottom: 1px solid #8db2e3;
 124.305 +    width:18px;
 124.306 +    position:absolute;
 124.307 +    right:0;
 124.308 +    top:0;
 124.309 +    z-index:10;
 124.310 +    cursor:pointer;
 124.311 +}
 124.312 +.x-tab-scroller-right-over {
 124.313 +    background-position: -18px 0;
 124.314 +}
 124.315 +.x-tab-scroller-right-disabled {
 124.316 +    background-position: 0 0;
 124.317 +    opacity:.5;
 124.318 +    -moz-opacity:.5;
 124.319 +    filter:alpha(opacity=50);
 124.320 +    cursor:default;
 124.321 +}
 124.322 +
 124.323 +.x-tab-scrolling .x-tab-strip-wrap {
 124.324 +    margin-left:18px;
 124.325 +    margin-right:18px;
 124.326 +}
 124.327 +
 124.328 +.x-tab-scrolling {
 124.329 +    position:relative;    
 124.330 +}
 124.331 +
 124.332 +.x-tab-panel-bbar .x-toolbar {
 124.333 +    border:1px solid #99bbe8;
 124.334 +    border-top:0 none;
 124.335 +    overflow:hidden;
 124.336 +    padding:2px;
 124.337 +}
 124.338 +
 124.339 +.x-tab-panel-tbar .x-toolbar {
 124.340 +    border:1px solid #99bbe8;
 124.341 +    border-top:0 none;
 124.342 +    overflow:hidden;
 124.343 +    padding:2px;
 124.344 +}
 124.345 \ No newline at end of file
   125.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   125.2 +++ b/onlypaths/theme/css/toolbar.css	Sun Jan 31 12:33:33 2010 -0500
   125.3 @@ -0,0 +1,183 @@
   125.4 +/*
   125.5 + * Ext JS Library 2.1
   125.6 + * Copyright(c) 2006-2008, Ext JS, LLC.
   125.7 + * licensing@extjs.com
   125.8 + * 
   125.9 + * http://extjs.com/license
  125.10 + */
  125.11 +
  125.12 +.x-toolbar{
  125.13 +	border-color:#a9bfd3;
  125.14 +    border-style:solid;
  125.15 +    border-width:0 0 1px 0;
  125.16 +    display: block;
  125.17 +	padding:2px;
  125.18 +    background:#d0def0 url(../images/default/toolbar/bg.gif) repeat-x top left;
  125.19 +    position:relative;
  125.20 +    zoom:1;
  125.21 +}
  125.22 +.x-toolbar .x-item-disabled .x-btn-icon {
  125.23 +    opacity: .35;
  125.24 +    -moz-opacity: .35;
  125.25 +    filter: alpha(opacity=35);
  125.26 +}
  125.27 +.x-toolbar td {
  125.28 +	vertical-align:middle;
  125.29 +}
  125.30 +.mso .x-toolbar, .x-grid-mso .x-toolbar{
  125.31 +	border: 0 none;
  125.32 +	background: url(../images/default/grid/mso-hd.gif);
  125.33 +}
  125.34 +.x-toolbar td,.x-toolbar span,.x-toolbar input,.x-toolbar div,.x-toolbar select,.x-toolbar label{
  125.35 +	white-space: nowrap;
  125.36 +    font:normal 11px tahoma, arial, helvetica, sans-serif;
  125.37 +}
  125.38 +.x-toolbar .x-item-disabled {
  125.39 +	color:gray;
  125.40 +	cursor:default;
  125.41 +	opacity:.6;
  125.42 +	-moz-opacity:.6;
  125.43 +	filter:alpha(opacity=60);
  125.44 +}
  125.45 +.x-toolbar .x-item-disabled * {
  125.46 +	color:gray;
  125.47 +	cursor:default;
  125.48 +}
  125.49 +.x-toolbar .x-btn-left{
  125.50 +	background:none;
  125.51 +}
  125.52 +.x-toolbar .x-btn-right{
  125.53 +	background:none;
  125.54 +}
  125.55 +.x-toolbar .x-btn-center{
  125.56 +	background:none;
  125.57 +	padding:0 0;
  125.58 +}
  125.59 +.x-toolbar .x-btn-menu-text-wrap .x-btn-center button{
  125.60 +	padding-right:2px;
  125.61 +}
  125.62 +.ext-gecko .x-toolbar .x-btn-menu-text-wrap .x-btn-center button{
  125.63 +	padding-right:0;
  125.64 +}
  125.65 +.x-toolbar .x-btn-menu-arrow-wrap .x-btn-center button{
  125.66 +	padding:0 2px;
  125.67 +}
  125.68 +
  125.69 +.x-toolbar .x-btn-menu-arrow-wrap .x-btn-center button {
  125.70 +    width:12px;
  125.71 +    background:transparent url(../images/default/toolbar/btn-arrow.gif) no-repeat 0 3px;
  125.72 +}
  125.73 +.x-toolbar .x-btn-text-icon .x-btn-menu-arrow-wrap .x-btn-center button {
  125.74 +    width:12px;
  125.75 +    background:transparent url(../images/default/toolbar/btn-arrow.gif) no-repeat 0 3px;
  125.76 +}
  125.77 +.x-toolbar .x-btn-over .x-btn-menu-arrow-wrap .x-btn-center button {
  125.78 +	background-position: 0 -47px;
  125.79 +}
  125.80 +.x-toolbar .x-btn-over .x-btn-left{
  125.81 +	background: url(../images/default/toolbar/tb-btn-sprite.gif) no-repeat 0 0;
  125.82 +}
  125.83 +.x-toolbar .x-btn-over .x-btn-right{
  125.84 +	background: url(../images/default/toolbar/tb-btn-sprite.gif) no-repeat 0 -21px;
  125.85 +}
  125.86 +.x-toolbar .x-btn-over .x-btn-center{
  125.87 +	background: url(../images/default/toolbar/tb-btn-sprite.gif) repeat-x 0 -42px;
  125.88 +}
  125.89 +
  125.90 +.x-toolbar .x-btn-click .x-btn-left, .x-toolbar .x-btn-pressed .x-btn-left, .x-toolbar .x-btn-menu-active .x-btn-left{
  125.91 +	background: url(../images/default/toolbar/tb-btn-sprite.gif) no-repeat 0 -63px;
  125.92 +}
  125.93 +.x-toolbar .x-btn-click .x-btn-right, .x-toolbar .x-btn-pressed .x-btn-right, .x-toolbar .x-btn-menu-active .x-btn-right{
  125.94 +	background: url(../images/default/toolbar/tb-btn-sprite.gif) no-repeat 0 -84px;
  125.95 +}
  125.96 +
  125.97 +.x-toolbar .x-btn-click .x-btn-center, .x-toolbar .x-btn-pressed .x-btn-center, .x-toolbar .x-btn-menu-active .x-btn-center{
  125.98 +	background: url(../images/default/toolbar/tb-btn-sprite.gif) repeat-x 0 -105px;
  125.99 +}
 125.100 +
 125.101 +.x-toolbar .x-btn-with-menu .x-btn-center em{
 125.102 +	padding-right:8px;
 125.103 +}
 125.104 +
 125.105 +.x-toolbar .ytb-text{
 125.106 +   padding:2px;
 125.107 +}
 125.108 +.x-toolbar .ytb-sep {
 125.109 +	background-image: url(../images/default/grid/grid-blue-split.gif);
 125.110 +	background-position: center;
 125.111 +	background-repeat: no-repeat;
 125.112 +	display: block;
 125.113 +	font-size: 1px;
 125.114 +	height: 16px;
 125.115 +	width:4px;
 125.116 +	overflow: hidden;
 125.117 +	cursor:default;
 125.118 +	margin: 0 2px 0;
 125.119 +	border:0;
 125.120 +}
 125.121 +.x-toolbar .ytb-spacer {
 125.122 +    width:2px;
 125.123 +}
 125.124 +
 125.125 +/* Paging Toolbar */
 125.126 +
 125.127 +.x-tbar-page-number{
 125.128 +	width:24px;
 125.129 +	height:14px;
 125.130 +}
 125.131 +.x-tbar-page-first{
 125.132 +	background-image: url(../images/default/grid/page-first.gif) !important;
 125.133 +}
 125.134 +.x-tbar-loading{
 125.135 +	background-image: url(../images/default/grid/done.gif) !important;
 125.136 +}
 125.137 +.x-tbar-page-last{
 125.138 +	background-image: url(../images/default/grid/page-last.gif) !important;
 125.139 +}
 125.140 +.x-tbar-page-next{
 125.141 +	background-image: url(../images/default/grid/page-next.gif) !important;
 125.142 +}
 125.143 +.x-tbar-page-prev{
 125.144 +	background-image: url(../images/default/grid/page-prev.gif) !important;
 125.145 +}
 125.146 +.x-item-disabled .x-tbar-loading{
 125.147 +	background-image: url(../images/default/grid/loading.gif) !important;
 125.148 +}
 125.149 +.x-item-disabled .x-tbar-page-first{
 125.150 +	background-image: url(../images/default/grid/page-first-disabled.gif) !important;
 125.151 +}
 125.152 +.x-item-disabled .x-tbar-page-last{
 125.153 +	background-image: url(../images/default/grid/page-last-disabled.gif) !important;
 125.154 +}
 125.155 +.x-item-disabled .x-tbar-page-next{
 125.156 +	background-image: url(../images/default/grid/page-next-disabled.gif) !important;
 125.157 +}
 125.158 +.x-item-disabled .x-tbar-page-prev{
 125.159 +	background-image: url(../images/default/grid/page-prev-disabled.gif) !important;
 125.160 +}
 125.161 +.x-paging-info {
 125.162 +    position:absolute;
 125.163 +    top:5px;
 125.164 +    right: 8px;
 125.165 +    color:#444;
 125.166 +}
 125.167 +
 125.168 +/* StatusBar */
 125.169 +
 125.170 +.x-statusbar .x-status-text {
 125.171 +    height: 21px;
 125.172 +    line-height: 21px;
 125.173 +    padding: 0 4px;
 125.174 +    cursor: default;
 125.175 +}
 125.176 +.x-statusbar .x-status-busy {
 125.177 +    padding-left: 25px;
 125.178 +    background: transparent url(../images/default/grid/loading.gif) no-repeat 3px 3px;
 125.179 +}
 125.180 +.x-statusbar .x-status-text-panel {
 125.181 +    border-top: 1px solid #99BBE8;
 125.182 +    border-right: 1px solid #fff;
 125.183 +    border-bottom: 1px solid #fff;
 125.184 +    border-left: 1px solid #99BBE8;
 125.185 +    padding: 2px 8px 2px 5px;
 125.186 +}
   126.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   126.2 +++ b/onlypaths/theme/css/tree.css	Sun Jan 31 12:33:33 2010 -0500
   126.3 @@ -0,0 +1,254 @@
   126.4 +/*
   126.5 + * Ext JS Library 2.1
   126.6 + * Copyright(c) 2006-2008, Ext JS, LLC.
   126.7 + * licensing@extjs.com
   126.8 + * 
   126.9 + * http://extjs.com/license
  126.10 + */
  126.11 +
  126.12 +.x-tree .x-panel-body{
  126.13 +    background-color:#fff;
  126.14 +}
  126.15 +.ext-strict .ext-ie .x-tree .x-panel-bwrap{
  126.16 +    position:relative;
  126.17 +    overflow:hidden;
  126.18 +}
  126.19 +.x-tree-icon, .x-tree-ec-icon, .x-tree-elbow-line, .x-tree-elbow, .x-tree-elbow-end, .x-tree-elbow-plus, .x-tree-elbow-minus, .x-tree-elbow-end-plus, .x-tree-elbow-end-minus{
  126.20 +	border: 0 none;
  126.21 +	height: 18px;
  126.22 +	margin: 0;
  126.23 +	padding: 0;
  126.24 +	vertical-align: top;
  126.25 +	width: 16px;
  126.26 +    background-repeat: no-repeat;
  126.27 +}
  126.28 +.x-tree-node-collapsed .x-tree-node-icon, .x-tree-node-expanded .x-tree-node-icon, .x-tree-node-leaf .x-tree-node-icon{
  126.29 +	border: 0 none;
  126.30 +	height: 18px;
  126.31 +	margin: 0;
  126.32 +	padding: 0;
  126.33 +	vertical-align: top;
  126.34 +	width: 16px;
  126.35 +	background-position:center;
  126.36 +    background-repeat: no-repeat;
  126.37 +}
  126.38 +.ext-ie .x-tree-node-indent img, .ext-ie .x-tree-node-icon, .ext-ie .x-tree-ec-icon {
  126.39 +    vertical-align:middle !important;
  126.40 +}
  126.41 +/* some default icons for leaf/folder */
  126.42 +.x-tree-node-expanded .x-tree-node-icon{
  126.43 +	background-image:url(../images/default/tree/folder-open.gif);
  126.44 +}
  126.45 +.x-tree-node-leaf .x-tree-node-icon{
  126.46 +	background-image:url(../images/default/tree/leaf.gif);
  126.47 +}
  126.48 +.x-tree-node-collapsed .x-tree-node-icon{
  126.49 +	background-image:url(../images/default/tree/folder.gif);
  126.50 +}
  126.51 +/* checkboxes */
  126.52 +.ext-ie input.x-tree-node-cb {
  126.53 +    width:15px;
  126.54 +    height:15px;
  126.55 +}
  126.56 +input.x-tree-node-cb {
  126.57 +    margin-left:1px;
  126.58 +}
  126.59 +.ext-ie input.x-tree-node-cb {
  126.60 +    margin-left:0;
  126.61 +}
  126.62 +
  126.63 +.x-tree-noicon .x-tree-node-icon{
  126.64 +	width:0; height:0;
  126.65 +}
  126.66 +/* loading icon */
  126.67 +.x-tree-node-loading .x-tree-node-icon{
  126.68 +	background-image:url(../images/default/tree/loading.gif) !important;
  126.69 +}
  126.70 +.x-tree-node-loading a span{
  126.71 +	 font-style: italic;
  126.72 +	 color:#444444;
  126.73 +}
  126.74 +.ext-ie .x-tree-node-el input {
  126.75 +    width:15px;
  126.76 +    height:15px;
  126.77 +}
  126.78 +/* Line styles */
  126.79 +.x-tree-lines .x-tree-elbow{
  126.80 +	background-image:url(../images/default/tree/elbow.gif);
  126.81 +}
  126.82 +.x-tree-lines .x-tree-elbow-plus{
  126.83 +	background-image:url(../images/default/tree/elbow-plus.gif);
  126.84 +}
  126.85 +.x-tree-lines .x-tree-elbow-minus{
  126.86 +	background-image:url(../images/default/tree/elbow-minus.gif);
  126.87 +}
  126.88 +.x-tree-lines .x-tree-elbow-end{
  126.89 +	background-image:url(../images/default/tree/elbow-end.gif);
  126.90 +}
  126.91 +.x-tree-lines .x-tree-elbow-end-plus{
  126.92 +	background-image:url(../images/default/tree/elbow-end-plus.gif);
  126.93 +}
  126.94 +.x-tree-lines .x-tree-elbow-end-minus{
  126.95 +	background-image:url(../images/default/tree/elbow-end-minus.gif);
  126.96 +}
  126.97 +.x-tree-lines .x-tree-elbow-line{
  126.98 +	background-image:url(../images/default/tree/elbow-line.gif);
  126.99 +}
 126.100 +
 126.101 +/* No line styles */
 126.102 +.x-tree-no-lines .x-tree-elbow{
 126.103 +	background:transparent;
 126.104 +}
 126.105 +.x-tree-no-lines .x-tree-elbow-plus{
 126.106 +	background-image:url(../images/default/tree/elbow-plus-nl.gif);
 126.107 +}
 126.108 +.x-tree-no-lines .x-tree-elbow-minus{
 126.109 +	background-image:url(../images/default/tree/elbow-minus-nl.gif);
 126.110 +}
 126.111 +.x-tree-no-lines .x-tree-elbow-end{
 126.112 +	background:transparent;
 126.113 +}
 126.114 +.x-tree-no-lines .x-tree-elbow-end-plus{
 126.115 +	background-image:url(../images/default/tree/elbow-end-plus-nl.gif);
 126.116 +}
 126.117 +.x-tree-no-lines .x-tree-elbow-end-minus{
 126.118 +	background-image:url(../images/default/tree/elbow-end-minus-nl.gif);
 126.119 +}
 126.120 +.x-tree-no-lines .x-tree-elbow-line{
 126.121 +	background:transparent;
 126.122 +}
 126.123 +
 126.124 +
 126.125 +/* Arrows */
 126.126 +.x-tree-arrows .x-tree-elbow{
 126.127 +	background:transparent;
 126.128 +}
 126.129 +.x-tree-arrows .x-tree-elbow-plus{
 126.130 +    background:transparent url(../images/default/tree/arrows.gif) no-repeat 0 0;
 126.131 +}
 126.132 +.x-tree-arrows .x-tree-elbow-minus{
 126.133 +    background:transparent url(../images/default/tree/arrows.gif) no-repeat -16px 0;
 126.134 +}
 126.135 +.x-tree-arrows .x-tree-elbow-end{
 126.136 +	background:transparent;
 126.137 +}
 126.138 +.x-tree-arrows .x-tree-elbow-end-plus{
 126.139 +    background:transparent url(../images/default/tree/arrows.gif) no-repeat 0 0;
 126.140 +}
 126.141 +.x-tree-arrows .x-tree-elbow-end-minus{
 126.142 +    background:transparent url(../images/default/tree/arrows.gif) no-repeat -16px 0;
 126.143 +}
 126.144 +.x-tree-arrows .x-tree-elbow-line{
 126.145 +	background:transparent;
 126.146 +}
 126.147 +
 126.148 +.x-tree-arrows .x-tree-ec-over .x-tree-elbow-plus{
 126.149 +    background-position:-32px 0;
 126.150 +}
 126.151 +.x-tree-arrows .x-tree-ec-over .x-tree-elbow-minus{
 126.152 +    background-position:-48px 0;
 126.153 +}
 126.154 +.x-tree-arrows .x-tree-ec-over .x-tree-elbow-end-plus{
 126.155 +    background-position:-32px 0;
 126.156 +}
 126.157 +.x-tree-arrows .x-tree-ec-over .x-tree-elbow-end-minus{
 126.158 +    background-position:-48px 0;
 126.159 +}
 126.160 +
 126.161 +
 126.162 +
 126.163 +.x-tree-elbow-plus, .x-tree-elbow-minus, .x-tree-elbow-end-plus, .x-tree-elbow-end-minus{
 126.164 +	cursor:pointer;
 126.165 +}
 126.166 +.ext-ie ul.x-tree-node-ct{
 126.167 +    font-size:0;
 126.168 +    line-height:0;
 126.169 +    zoom:1;
 126.170 +}
 126.171 +.x-tree-node{
 126.172 +	color: black;
 126.173 +	font: normal 11px arial, tahoma, helvetica, sans-serif;
 126.174 +	white-space: nowrap;
 126.175 +}
 126.176 +
 126.177 +.x-tree-node-el {
 126.178 +    line-height:18px;
 126.179 +    cursor:pointer;
 126.180 +}
 126.181 +
 126.182 +.x-tree-node a, .x-dd-drag-ghost a{
 126.183 +	text-decoration:none;
 126.184 +	color:black;
 126.185 +	-khtml-user-select:none;
 126.186 +	-moz-user-select:none;
 126.187 +    -kthml-user-focus:normal;
 126.188 +    -moz-user-focus:normal;
 126.189 +    -moz-outline: 0 none;
 126.190 +    outline:0 none;
 126.191 +}
 126.192 +.x-tree-node a span, .x-dd-drag-ghost a span{
 126.193 +	text-decoration:none;
 126.194 +	color:black;
 126.195 +	padding:1px 3px 1px 2px;
 126.196 +}
 126.197 +.x-tree-node .x-tree-node-disabled a span{
 126.198 +	color:gray !important;
 126.199 +}
 126.200 +.x-tree-node .x-tree-node-disabled .x-tree-node-icon{
 126.201 +	-moz-opacity: 0.5;
 126.202 +   opacity:.5;
 126.203 +   filter: alpha(opacity=50);
 126.204 +}
 126.205 +.x-tree-node .x-tree-node-inline-icon{
 126.206 +	background:transparent;
 126.207 +}
 126.208 +.x-tree-node a:hover, .x-dd-drag-ghost a:hover{
 126.209 +	text-decoration:none;
 126.210 +}
 126.211 +.x-tree-node div.x-tree-drag-insert-below{
 126.212 + 	 border-bottom:1px dotted #3366cc;
 126.213 +}
 126.214 +.x-tree-node div.x-tree-drag-insert-above{
 126.215 +	 border-top:1px dotted #3366cc;
 126.216 +}
 126.217 +.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-below{
 126.218 + 	 border-bottom:0 none;
 126.219 +}
 126.220 +.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-above{
 126.221 +	 border-top:0 none;
 126.222 +}
 126.223 +.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-below a{
 126.224 + 	 border-bottom:2px solid #3366cc;
 126.225 +}
 126.226 +.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-above a{
 126.227 +	 border-top:2px solid #3366cc;
 126.228 +}
 126.229 +.x-tree-node .x-tree-drag-append a span{
 126.230 +	 background:#dddddd;
 126.231 +	 border:1px dotted gray;
 126.232 +}
 126.233 +.x-tree-node .x-tree-node-over {
 126.234 +	background-color: #eee;
 126.235 +}
 126.236 +.x-tree-node .x-tree-selected {
 126.237 +	background-color: #d9e8fb;
 126.238 +}
 126.239 +.x-dd-drag-ghost .x-tree-node-indent, .x-dd-drag-ghost .x-tree-ec-icon{
 126.240 +	display:none !important;
 126.241 +}
 126.242 +.x-tree-drop-ok-append .x-dd-drop-icon{
 126.243 +  background-image: url(../images/default/tree/drop-add.gif);
 126.244 +}
 126.245 +.x-tree-drop-ok-above .x-dd-drop-icon{
 126.246 +  background-image: url(../images/default/tree/drop-over.gif);
 126.247 +}
 126.248 +.x-tree-drop-ok-below .x-dd-drop-icon{
 126.249 +  background-image: url(../images/default/tree/drop-under.gif);
 126.250 +}
 126.251 +.x-tree-drop-ok-between .x-dd-drop-icon{
 126.252 +  background-image: url(../images/default/tree/drop-between.gif);
 126.253 +}
 126.254 +/* Fix for ie rootVisible:false issue */
 126.255 +.x-tree-root-ct {
 126.256 +    zoom:1;
 126.257 +}
   127.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   127.2 +++ b/onlypaths/theme/css/window.css	Sun Jan 31 12:33:33 2010 -0500
   127.3 @@ -0,0 +1,207 @@
   127.4 +/*
   127.5 + * Ext JS Library 2.1
   127.6 + * Copyright(c) 2006-2008, Ext JS, LLC.
   127.7 + * licensing@extjs.com
   127.8 + * 
   127.9 + * http://extjs.com/license
  127.10 + */
  127.11 +
  127.12 +.x-window {
  127.13 +    zoom:1;
  127.14 +}
  127.15 +.x-window .x-resizable-handle {
  127.16 +    opacity:0;
  127.17 +    -moz-opacity:0;
  127.18 +    filter:alpha(opacity=0);
  127.19 +}
  127.20 +
  127.21 +.x-window-proxy {
  127.22 +    background:#C7DFFC;
  127.23 +    border:1px solid #99bbe8;
  127.24 +    z-index:12000;
  127.25 +    overflow:hidden;
  127.26 +    position:absolute;
  127.27 +    left:0;top:0;
  127.28 +    display:none;
  127.29 +    opacity:.5;
  127.30 +    -moz-opacity:.5;
  127.31 +    filter:alpha(opacity=50);
  127.32 +}
  127.33 +
  127.34 +.x-window-header {
  127.35 +    overflow:hidden;
  127.36 +    zoom:1;
  127.37 +}
  127.38 +.x-window-bwrap {
  127.39 +    z-index:1;
  127.40 +    position:relative;
  127.41 +    zoom:1;
  127.42 +}
  127.43 +.x-window-tl .x-window-header {
  127.44 +    color:#15428b;
  127.45 +	font:bold 11px tahoma,arial,verdana,sans-serif;
  127.46 +    padding:5px 0 4px 0;
  127.47 +}
  127.48 +.x-window-header-text {
  127.49 +    cursor:pointer;
  127.50 +}
  127.51 +.x-window-tc {
  127.52 +	background: transparent url(../images/default/window/top-bottom.png) repeat-x 0 0;
  127.53 +	overflow:hidden;
  127.54 +    zoom:1;
  127.55 +}
  127.56 +.x-window-tl {
  127.57 +	background: transparent url(../images/default/window/left-corners.png) no-repeat 0 0;
  127.58 +	padding-left:6px;
  127.59 +    zoom:1;
  127.60 +    z-index:1;
  127.61 +    position:relative;
  127.62 +}
  127.63 +.x-window-tr {
  127.64 +	background: transparent url(../images/default/window/right-corners.png) no-repeat right 0;
  127.65 +	padding-right:6px;
  127.66 +}
  127.67 +.x-window-bc {
  127.68 +	background: transparent url(../images/default/window/top-bottom.png) repeat-x 0 bottom;
  127.69 +    zoom:1;
  127.70 +}
  127.71 +.x-window-bc .x-window-footer {
  127.72 +    padding-bottom:6px;
  127.73 +    zoom:1;
  127.74 +    font-size:0;
  127.75 +    line-height:0;
  127.76 +}
  127.77 +.x-window-bl {
  127.78 +	background: transparent url(../images/default/window/left-corners.png) no-repeat 0 bottom;
  127.79 +	padding-left:6px;
  127.80 +    zoom:1;
  127.81 +}
  127.82 +.x-window-br {
  127.83 +	background: transparent url(../images/default/window/right-corners.png) no-repeat right bottom;
  127.84 +	padding-right:6px;
  127.85 +    zoom:1;
  127.86 +}
  127.87 +.x-window-mc {
  127.88 +    border:1px solid #99bbe8;
  127.89 +    padding:0;
  127.90 +    margin:0;
  127.91 +    font: normal 11px tahoma,arial,helvetica,sans-serif;
  127.92 +    background:#dfe8f6;
  127.93 +}
  127.94 +
  127.95 +
  127.96 +.x-window-ml {
  127.97 +	background: transparent url(../images/default/window/left-right.png) repeat-y 0 0;
  127.98 +	padding-left:6px;
  127.99 +    zoom:1;
 127.100 +}
 127.101 +.x-window-mr {
 127.102 +	background: transparent url(../images/default/window/left-right.png) repeat-y right 0;
 127.103 +	padding-right:6px;
 127.104 +    zoom:1;
 127.105 +}
 127.106 +.x-window-body {
 127.107 +    overflow:hidden;
 127.108 +}
 127.109 +.x-window-bwrap {
 127.110 +    overflow:hidden;
 127.111 +}
 127.112 +.x-window-maximized .x-window-bl, .x-window-maximized .x-window-br,
 127.113 +    .x-window-maximized .x-window-ml, .x-window-maximized .x-window-mr,
 127.114 +    .x-window-maximized .x-window-tl, .x-window-maximized .x-window-tr {
 127.115 +    padding:0;
 127.116 +}
 127.117 +.x-window-maximized .x-window-footer {
 127.118 +    padding-bottom:0;
 127.119 +}
 127.120 +.x-window-maximized .x-window-tc {
 127.121 +    padding-left:3px;
 127.122 +    padding-right:3px;
 127.123 +    background-color:white;
 127.124 +}
 127.125 +.x-window-maximized .x-window-mc {
 127.126 +    border-left:0 none;
 127.127 +    border-right:0 none;
 127.128 +}
 127.129 +.x-window-tbar .x-toolbar, .x-window-bbar .x-toolbar {
 127.130 +    border-left:0 none;
 127.131 +    border-right: 0 none;
 127.132 +}
 127.133 +.x-window-bbar .x-toolbar {
 127.134 +    border-top:1px solid #99bbe8;
 127.135 +    border-bottom:0 none;
 127.136 +}
 127.137 +.x-window-draggable, .x-window-draggable .x-window-header-text {
 127.138 +    cursor:move;
 127.139 +}
 127.140 +.x-window-maximized .x-window-draggable, .x-window-maximized .x-window-draggable .x-window-header-text {
 127.141 +    cursor:default;
 127.142 +}
 127.143 +.x-window-body {
 127.144 +    background:transparent;
 127.145 +}
 127.146 +.x-panel-ghost .x-window-tl {
 127.147 +    border-bottom:1px solid #99bbe8;
 127.148 +}
 127.149 +.x-panel-collapsed .x-window-tl {
 127.150 +    border-bottom:1px solid #84a0c4;
 127.151 +}
 127.152 +.x-window-maximized-ct {
 127.153 +    overflow:hidden;
 127.154 +}
 127.155 +.x-window-maximized .x-resizable-handle {
 127.156 +    display:none;
 127.157 +}
 127.158 +.x-window-sizing-ghost ul {
 127.159 +    border:0 none !important;
 127.160 +}
 127.161 +
 127.162 +
 127.163 +.x-dlg-focus{
 127.164 +	-moz-outline:0 none;
 127.165 +	outline:0 none;
 127.166 +	width:0;
 127.167 +	height:0;
 127.168 +	overflow:hidden;
 127.169 +	position:absolute;
 127.170 +	top:0;
 127.171 +	left:0;
 127.172 +}
 127.173 +.x-dlg-mask{
 127.174 +	z-index:10000;
 127.175 +   display:none;
 127.176 +   position:absolute;
 127.177 +   top:0;
 127.178 +   left:0;
 127.179 +   -moz-opacity: 0.5;
 127.180 +   opacity:.50;
 127.181 +   filter: alpha(opacity=50);
 127.182 +   background-color:#CCC;
 127.183 +}
 127.184 +
 127.185 +body.ext-ie6.x-body-masked select {
 127.186 +	visibility:hidden;
 127.187 +}
 127.188 +body.ext-ie6.x-body-masked .x-window select {
 127.189 +	visibility:visible;
 127.190 +}
 127.191 +
 127.192 +.x-window-plain .x-window-mc {
 127.193 +    background: #CAD9EC;
 127.194 +    border-right:1px solid #DFE8F6;
 127.195 +    border-bottom:1px solid #DFE8F6;
 127.196 +    border-top:1px solid #a3bae9;
 127.197 +    border-left:1px solid #a3bae9;
 127.198 +}
 127.199 +
 127.200 +.x-window-plain .x-window-body {
 127.201 +    border-left:1px solid #DFE8F6;
 127.202 +    border-top:1px solid #DFE8F6;
 127.203 +    border-bottom:1px solid #a3bae9;
 127.204 +    border-right:1px solid #a3bae9;
 127.205 +    background:transparent !important;
 127.206 +}
 127.207 +
 127.208 +body.x-body-masked .x-window-plain .x-window-mc {
 127.209 +    background: #C7D6E9;
 127.210 +}
 127.211 \ No newline at end of file
   128.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   128.2 +++ b/onlypaths/theme/css/xtheme-black.css	Sun Jan 31 12:33:33 2010 -0500
   128.3 @@ -0,0 +1,633 @@
   128.4 +/*
   128.5 + * Ext JS Library 2.0 Alpha 1
   128.6 + * Copyright(c) 2006-2007, Ext JS, LLC.
   128.7 + *
   128.8 + * @license LGPL
   128.9 + * @author Kemal Tunador <tunador@madrabaz.com>
  128.10 + */
  128.11 +
  128.12 +.x-panel {
  128.13 +    border-style: solid;
  128.14 +    border-color: #000000;
  128.15 +}
  128.16 +.x-panel-header {
  128.17 +    color:#f0eeef;
  128.18 +	border:1px solid #000000;
  128.19 +    background-image:url(../images/black/panel/white-top-bottom.gif);
  128.20 +}
  128.21 +
  128.22 +.x-panel-body {
  128.23 +    border-color:#000000;
  128.24 +}
  128.25 +
  128.26 +.x-panel-bbar .x-toolbar {
  128.27 +    border-color:#000000;
  128.28 +}
  128.29 +
  128.30 +.x-panel-tbar .x-toolbar {
  128.31 +    border-color:#000000;
  128.32 +}
  128.33 +
  128.34 +.x-panel-tbar-noheader .x-toolbar, .x-panel-mc .x-panel-tbar .x-toolbar {
  128.35 +    border-color:#000000;
  128.36 +}
  128.37 +.x-panel-body-noheader, .x-panel-mc .x-panel-body {
  128.38 +    border-color:#000000;
  128.39 +}
  128.40 +.x-panel-tl .x-panel-header {
  128.41 +    color:#f0eeef;
  128.42 +}
  128.43 +.x-panel-tc {
  128.44 +	background-image:url(../images/black/panel/top-bottom.gif);
  128.45 +}
  128.46 +.x-panel-tl {
  128.47 +	background-image:url(../images/black/panel/corners-sprite.gif);
  128.48 +    border-color:#000000;
  128.49 +}
  128.50 +.x-panel-tr {
  128.51 +	background-image:url(../images/black/panel/corners-sprite.gif);
  128.52 +}
  128.53 +.x-panel-bc {
  128.54 +	background-image:url(../images/black/panel/top-bottom.gif);
  128.55 +}
  128.56 +.x-panel-bl {
  128.57 +	background-image:url(../images/black/panel/corners-sprite.gif);
  128.58 +}
  128.59 +.x-panel-br {
  128.60 +	background-image:url(../images/black/panel/corners-sprite.gif);
  128.61 +}
  128.62 +.x-panel-mc {
  128.63 +    background:#363636;
  128.64 +    color:#eeeeee;
  128.65 +}
  128.66 +.x-panel-mc .x-panel-body {
  128.67 +    background:transparent;
  128.68 +    border: 0 none;
  128.69 +}
  128.70 +.x-panel-ml {
  128.71 +	background-image:url(../images/black/panel/left-right.gif);
  128.72 +}
  128.73 +.x-panel-mr {
  128.74 +	background-image:url(../images/black/panel/left-right.gif);
  128.75 +}
  128.76 +
  128.77 +/* Ghosting */
  128.78 +.x-panel-ghost {
  128.79 +    background:#363636;
  128.80 +}
  128.81 +
  128.82 +.x-panel-ghost ul {
  128.83 +    border-color:#000000;
  128.84 +}
  128.85 +
  128.86 +.x-grid-panel .x-panel-mc .x-panel-body {
  128.87 +    border:1px solid #000000;
  128.88 +}
  128.89 +
  128.90 +/* Grid */
  128.91 +.x-grid3-row {
  128.92 +    color:#000000;
  128.93 +}
  128.94 +.x-grid3-row-over {
  128.95 +	border:1px solid #292929;
  128.96 +    background-image:url(../images/black/grid/row-over.gif);
  128.97 +}
  128.98 +.x-grid3-header{
  128.99 +	background-image:url(../images/black/grid/grid3-hrow.gif);
 128.100 +}
 128.101 +.x-grid3-header-pop-inner {
 128.102 +    border-left:1px solid #000000;
 128.103 +    background-image:url(../images/black/grid/hd-pop.gif);
 128.104 +}
 128.105 +td.x-grid3-hd-over, td.sort-desc, td.sort-asc, td.x-grid3-hd-menu-open {
 128.106 +    border-left:1px solid #000000;
 128.107 +    border-right:1px solid #000000;
 128.108 +}
 128.109 +td.x-grid3-hd-over .x-grid3-hd-inner, td.sort-desc .x-grid3-hd-inner, td.sort-asc .x-grid3-hd-inner, td.x-grid3-hd-menu-open .x-grid3-hd-inner {
 128.110 +    background-image:url(../images/black/grid/grid3-hrow-over.gif);
 128.111 +   	background-color:#595959;
 128.112 +}
 128.113 +.x-dd-drag-proxy .x-grid3-hd-inner{
 128.114 +	background-image:url(../images/black/grid/grid3-hrow-over.gif);
 128.115 +}
 128.116 +.x-grid3-locked td.x-grid3-row-marker, .x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker{
 128.117 +    background-image:url(../images/black/grid/grid-hrow.gif);
 128.118 +    color:#666666;
 128.119 +    border-top:1px solid white;
 128.120 +    border-right:1px solid #000000 !important;
 128.121 +}
 128.122 +.x-props-grid .x-grid3-td-name .x-grid3-cell-inner{
 128.123 +	background-image:url(../images/black/grid/grid3-special-col-bg.gif);
 128.124 +    color:#eeeeee !important;
 128.125 +}
 128.126 +.x-grid3-hd-btn {
 128.127 +    background-image:url(../images/black/grid/grid3-hd-btn.gif);
 128.128 +}
 128.129 +.x-grid3-body .x-grid3-td-expander {
 128.130 +    background-image:url(../images/black/grid/grid3-special-col-bg.gif);
 128.131 +}
 128.132 +.x-grid3-body .x-grid3-td-checker {
 128.133 +    background-image:url(../images/black/grid/grid3-special-col-bg.gif);
 128.134 +}
 128.135 +.x-grid3-body .x-grid3-td-numberer {
 128.136 +    background-image:url(../images/black/grid/grid3-special-col-bg.gif);
 128.137 +}
 128.138 +.x-grid3-body .x-grid3-row-selected .x-grid3-td-numberer,
 128.139 +.x-grid3-body .x-grid3-row-selected .x-grid3-td-checker,
 128.140 +.x-grid3-body .x-grid3-row-selected .x-grid3-td-expander {
 128.141 +	background-image:url(../images/black/grid/grid3-special-col-sel-bg.gif);
 128.142 +}
 128.143 +.x-grid3-hd-row td {
 128.144 +    border-left:1px solid #888888;
 128.145 +    border-right:1px solid #666666;
 128.146 +}
 128.147 +.x-grid3-row-selected {
 128.148 +	background: #f0eeef;
 128.149 +	border:1px dotted #999999;
 128.150 +}
 128.151 +.xg-hmenu-sort-asc .x-menu-item-icon{
 128.152 +	background-image: url(../images/black/grid/hmenu-asc.gif);
 128.153 +}
 128.154 +.xg-hmenu-sort-desc .x-menu-item-icon{
 128.155 +	background-image: url(../images/black/grid/hmenu-desc.gif);
 128.156 +}
 128.157 +
 128.158 +/* Menu */
 128.159 +
 128.160 +.x-menu {
 128.161 +	border: 1px solid #000000;
 128.162 +	background-color:#393939;
 128.163 +	background-image:url(../images/black/menu/menu.gif);
 128.164 +}
 128.165 +.x-menu-sep {
 128.166 +    background-color:#4d4d4d;
 128.167 +	border-bottom:1px solid #272727;
 128.168 +}
 128.169 +.x-menu-plain {
 128.170 +	background:#393939 !important;
 128.171 +}
 128.172 +.x-menu-item-active {
 128.173 +	background-image:url(../images/black/menu/item-over.gif);
 128.174 +	background-color:#3f3f3f;
 128.175 +	border:1px solid #222222;
 128.176 +}
 128.177 +.x-menu a.x-menu-item {
 128.178 +	color:#eeeeee;
 128.179 +}
 128.180 +.x-menu-item-active a.x-menu-item {
 128.181 +    color: #ffffff;
 128.182 +}
 128.183 +
 128.184 +/* Tools */
 128.185 +.x-tool {
 128.186 +    background-image:url(../images/black/panel/tool-sprites.gif);
 128.187 +}
 128.188 +
 128.189 +/* Buttons */
 128.190 +
 128.191 +.x-btn-text{
 128.192 +color: #f0eeef;
 128.193 +font-weight:bold !important;
 128.194 +}
 128.195 +.x-btn-left{
 128.196 +	background-image:url(../images/black/button/btn-sprite.gif);
 128.197 +}
 128.198 +.x-btn-right{
 128.199 +	background-image:url(../images/black/button/btn-sprite.gif);
 128.200 +}
 128.201 +.x-btn-center{
 128.202 +	background-image:url(../images/black/button/btn-sprite.gif);
 128.203 +}
 128.204 +.x-btn-menu-arrow-wrap .x-btn-center button {
 128.205 +    background-image:url(../images/black/button/btn-arrow.gif);
 128.206 +}
 128.207 +.x-btn-with-menu  .x-btn-center em {
 128.208 +    background-image:url(../images/black/toolbar/btn-arrow.gif);
 128.209 +}
 128.210 +
 128.211 +.x-btn-text-icon .x-btn-with-menu .x-btn-center em {
 128.212 +    background-image:url(../images/black/toolbar/btn-arrow-light.gif);
 128.213 +}
 128.214 +
 128.215 +/* Layout classes */
 128.216 +
 128.217 +.x-border-layout-ct {
 128.218 +    background:#f3f3f3; /* f1f2f4 */
 128.219 +}
 128.220 +
 128.221 +.x-accordion-hd {
 128.222 +	background-image:url(../images/black/panel/light-hd.gif);
 128.223 +}
 128.224 +
 128.225 +.x-layout-collapsed{
 128.226 +    background-color:#222222;
 128.227 +    border-color:#000000;
 128.228 +}
 128.229 +.x-layout-collapsed-over{
 128.230 +	 background-color:#444444;
 128.231 +}
 128.232 +
 128.233 +
 128.234 +/* qtips */
 128.235 +.x-tip .x-tip-close{
 128.236 +	background-image: url(../images/black/qtip/close.gif);
 128.237 +}
 128.238 +.x-tip .x-tip-tc {
 128.239 +	background-image:url(../images/black/qtip/tip-sprite.gif);
 128.240 +}
 128.241 +.x-tip .x-tip-tl {
 128.242 +	background-image:url(../images/black/qtip/tip-sprite.gif);
 128.243 +}
 128.244 +.x-tip .x-tip-tr {
 128.245 +	background-image:url(../images/black/qtip/tip-sprite.gif);
 128.246 +}
 128.247 +.x-tip .x-tip-bc {
 128.248 +	background-image:url(../images/black/qtip/tip-sprite.gif);
 128.249 +}
 128.250 +.x-tip .x-tip-bl {
 128.251 +	background-image:url(../images/black/qtip/tip-sprite.gif);
 128.252 +}
 128.253 +.x-tip .x-tip-br {
 128.254 +	background-image:url(../images/black/qtip/tip-sprite.gif);
 128.255 +}
 128.256 +.x-tip .x-tip-ml {
 128.257 +	background-image:url(../images/black/qtip/tip-sprite.gif);
 128.258 +}
 128.259 +.x-tip .x-tip-mr {
 128.260 +	background-image:url(../images/black/qtip/tip-sprite.gif);
 128.261 +}
 128.262 +.x-tip .x-tip-header-text {
 128.263 +    color:#ffffff;
 128.264 +}
 128.265 +.x-tip .x-tip-body {
 128.266 +    color:#eeeeee;
 128.267 +}
 128.268 +/* Toolbars */
 128.269 +
 128.270 +.x-toolbar{
 128.271 +	border-color:#444444;
 128.272 +    background:#282828 url(../images/black/toolbar/bg.gif) repeat-x top left;
 128.273 +}
 128.274 +.x-toolbar button {
 128.275 +    color:#f0eeef;
 128.276 +}
 128.277 +.x-toolbar .x-btn-menu-arrow-wrap .x-btn-center button {
 128.278 +    background-image:url(../images/black/toolbar/btn-arrow.gif);
 128.279 +}
 128.280 +.x-toolbar .x-btn-text-icon .x-btn-menu-arrow-wrap .x-btn-center button {
 128.281 +    background-image:url(../images/black/toolbar/btn-arrow.gif);
 128.282 +}
 128.283 +.x-toolbar .x-btn-over .x-btn-left{
 128.284 +	background-image:url(../images/black/toolbar/tb-btn-sprite.gif);
 128.285 +}
 128.286 +.x-toolbar .x-btn-over .x-btn-right{
 128.287 +	background-image:url(../images/black/toolbar/tb-btn-sprite.gif);
 128.288 +}
 128.289 +.x-toolbar .x-btn-over .x-btn-center{
 128.290 +	background-image:url(../images/black/toolbar/tb-btn-sprite.gif);
 128.291 +}
 128.292 +.x-toolbar .x-btn-over button {
 128.293 +    color:#ffffff;
 128.294 +}
 128.295 +.x-toolbar .x-btn-click .x-btn-left, .x-toolbar .x-btn-pressed .x-btn-left, .x-toolbar .x-btn-menu-active .x-btn-left{
 128.296 +	background-image:url(../images/black/toolbar/tb-btn-sprite.gif);
 128.297 +}
 128.298 +.x-toolbar .x-btn-click .x-btn-right, .x-toolbar .x-btn-pressed .x-btn-right, .x-toolbar .x-btn-menu-active .x-btn-right{
 128.299 +	background-image:url(../images/black/toolbar/tb-btn-sprite.gif);
 128.300 +}
 128.301 +
 128.302 +.x-toolbar .x-btn-click .x-btn-center, .x-toolbar .x-btn-pressed .x-btn-center, .x-toolbar .x-btn-menu-active .x-btn-center{
 128.303 +	background-image:url(../images/black/toolbar/tb-btn-sprite.gif);
 128.304 +}
 128.305 +.x-toolbar .ytb-sep {
 128.306 +	background-image: url(../images/black/grid/grid-split.gif);
 128.307 +}
 128.308 +.x-paging-info {
 128.309 +    color:#f0eeef;
 128.310 +}
 128.311 +
 128.312 +/* Form */
 128.313 +
 128.314 +.x-form-field-wrap .x-form-trigger{
 128.315 +    background-image:url(../images/black/form/trigger.gif);
 128.316 +    border-bottom: 1px solid #a3a3a3;
 128.317 +}
 128.318 +.x-form-field-wrap .x-form-date-trigger{
 128.319 +    background-image: url(../images/black/form/date-trigger.gif);
 128.320 +}
 128.321 +.x-form-field-wrap .x-form-clear-trigger{
 128.322 +    background-image: url(../images/black/form/clear-trigger.gif);
 128.323 +}
 128.324 +.x-form-field-wrap .x-form-search-trigger{
 128.325 +    background-image: url(../images/black/form/search-trigger.gif);
 128.326 +}
 128.327 +
 128.328 +.x-form-text, textarea.x-form-field{
 128.329 +    border: 1px solid #a3a3a3;
 128.330 +}
 128.331 +.x-form-select-one {
 128.332 +    border: 1px solid #a3a3a3;
 128.333 +}
 128.334 +.x-item-disabled .x-form-trigger-over{
 128.335 +    border-bottom: 1px solid #a3a3a3;
 128.336 +}
 128.337 +.x-item-disabled .x-form-trigger-click{
 128.338 +    border-bottom: 1px solid #a3a3a3;
 128.339 +}
 128.340 +.x-form fieldset {
 128.341 +    border:1px solid #a3a3a3;
 128.342 +}
 128.343 +.x-trigger-wrap-focus .x-form-trigger{
 128.344 +    border-bottom: 1px solid #0e0e0e;
 128.345 +}
 128.346 +.x-form-focus, textarea.x-form-focus{
 128.347 +	border: 1px solid #0e0e0e;
 128.348 +}
 128.349 +
 128.350 +
 128.351 +/* Tabs */
 128.352 +
 128.353 +.x-tab-panel-header, .x-tab-panel-footer {
 128.354 +	background: #363636;
 128.355 +	border-color:#000000;
 128.356 +}
 128.357 +
 128.358 +
 128.359 +.x-tab-panel-header {
 128.360 +	border-color:#000000;
 128.361 +}
 128.362 +
 128.363 +.x-tab-panel-footer {
 128.364 +	border-color:#000000;
 128.365 +}
 128.366 +
 128.367 +ul.x-tab-strip-top{
 128.368 +	background:#353535 url(../images/black/tabs/tab-strip-bg.gif) repeat-x left top;
 128.369 +	border-color:#000000;
 128.370 +}
 128.371 +
 128.372 +ul.x-tab-strip-bottom{
 128.373 +	background-image:url(../images/black/tabs/tab-strip-btm-bg.gif);
 128.374 +	border-color:#000000;
 128.375 +}
 128.376 +
 128.377 +.x-tab-strip span.x-tab-strip-text {
 128.378 +	color:#cccccc;
 128.379 +}
 128.380 +.x-tab-strip-over span.x-tab-strip-text {
 128.381 +	color:#ffffff;
 128.382 +}
 128.383 +
 128.384 +.x-tab-strip-active span.x-tab-strip-text {
 128.385 +	color:#f0eeef;
 128.386 +}
 128.387 +
 128.388 +.x-tab-strip-top .x-tab-right {
 128.389 +	background-image:url(../images/black/tabs/tabs-sprite.gif);
 128.390 +}
 128.391 +
 128.392 +.x-tab-strip-top .x-tab-left {
 128.393 +	background-image:url(../images/black/tabs/tabs-sprite.gif);
 128.394 +}
 128.395 +.x-tab-strip-top .x-tab-strip-inner {
 128.396 +	background-image:url(../images/black/tabs/tabs-sprite.gif);
 128.397 +}
 128.398 +
 128.399 +.x-tab-strip-bottom .x-tab-right {
 128.400 +	background-image:url(../images/black/tabs/tab-btm-inactive-right-bg.gif);
 128.401 +}
 128.402 +
 128.403 +.x-tab-strip-bottom .x-tab-left {
 128.404 +	background-image:url(../images/black/tabs/tab-btm-inactive-left-bg.gif);
 128.405 +}
 128.406 +
 128.407 +.x-tab-strip-bottom .x-tab-strip-active .x-tab-right {
 128.408 +	background-image:url(../images/black/tabs/tab-btm-right-bg.gif);
 128.409 +}
 128.410 +
 128.411 +.x-tab-strip-bottom .x-tab-strip-active .x-tab-left {
 128.412 +	background-image:url(../images/black/tabs/tab-btm-left-bg.gif);
 128.413 +}
 128.414 +
 128.415 +.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close {
 128.416 +	background-image:url(../images/black/tabs/tab-close.gif);
 128.417 +}
 128.418 +.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close:hover{
 128.419 +	background-image:url(../images/black/tabs/tab-close.gif);
 128.420 +}
 128.421 +
 128.422 +.x-tab-panel-body {
 128.423 +    border-color:#000000;
 128.424 +    background:#eeeeee;
 128.425 +}
 128.426 +.x-tab-panel-bbar .x-toolbar {
 128.427 +    border-color: #000000;
 128.428 +}
 128.429 +
 128.430 +.x-tab-panel-tbar .x-toolbar {
 128.431 +    border-color: #000000;
 128.432 +}
 128.433 +
 128.434 +.x-tab-panel-header-plain .x-tab-strip-spacer {
 128.435 +    border-color:#000000;
 128.436 +    background: #353535;
 128.437 +}
 128.438 +
 128.439 +.x-tab-scroller-left {
 128.440 +    background-image: url(../images/black/tabs/scroll-left.gif);
 128.441 +    border-color:#000000;
 128.442 +}
 128.443 +.x-tab-scroller-right {
 128.444 +    background-image: url(../images/black/tabs/scroll-right.gif);
 128.445 +    border-color:#000000;
 128.446 +}
 128.447 +
 128.448 +/* Window */
 128.449 +
 128.450 +.x-window-proxy {
 128.451 +    background:#363636;
 128.452 +    border-color:#000000;
 128.453 +}
 128.454 +
 128.455 +.x-window-tl .x-window-header {
 128.456 +    color:#f0eeef;
 128.457 +}
 128.458 +.x-window-tc {
 128.459 +	background-image:url(../images/black/window/top-bottom.png);
 128.460 +}
 128.461 +.x-window-tl {
 128.462 +	background-image:url(../images/black/window/left-corners.png);
 128.463 +}
 128.464 +.x-window-tr {
 128.465 +	background-image:url(../images/black/window/right-corners.png);
 128.466 +}
 128.467 +.x-window-bc {
 128.468 +	background-image:url(../images/black/window/top-bottom.png);
 128.469 +}
 128.470 +.x-window-bl {
 128.471 +	background-image:url(../images/black/window/left-corners.png);
 128.472 +}
 128.473 +.x-window-br {
 128.474 +	background-image:url(../images/black/window/right-corners.png);
 128.475 +}
 128.476 +.x-window-mc {
 128.477 +    border:1px solid #333333;
 128.478 +    background:#454545;
 128.479 +    color: #eeeeee;
 128.480 +}
 128.481 +
 128.482 +.x-window-ml {
 128.483 +	background-image:url(../images/black/window/left-right.png);
 128.484 +}
 128.485 +.x-window-mr {
 128.486 +	background-image:url(../images/black/window/left-right.png);
 128.487 +}
 128.488 +.x-panel-ghost .x-window-tl {
 128.489 +    border-color:#000000;
 128.490 +}
 128.491 +.x-panel-collapsed .x-window-tl {
 128.492 +    border-color:#000000;
 128.493 +}
 128.494 +
 128.495 +.x-window-plain .x-window-mc {
 128.496 +    color: #eeeeee;
 128.497 +    background: #222222;
 128.498 +    border-left:1px solid #111111;
 128.499 +    border-top:1px solid #111111;
 128.500 +    border-bottom:1px solid #222222;
 128.501 +    border-right:1px solid #222222;
 128.502 +}
 128.503 +
 128.504 +.x-window-plain .x-window-body {
 128.505 +    border-left:1px solid #555555;
 128.506 +    border-top:1px solid #555555;
 128.507 +    border-bottom:1px solid #333333;
 128.508 +    border-right:1px solid #333333;
 128.509 +    background:transparent !important;
 128.510 +}
 128.511 +
 128.512 +body.x-body-masked .x-window-mc, body.x-body-masked .x-window-plain .x-window-mc {
 128.513 +    color: #eeeeee;
 128.514 +    background-color: #1a1a1a;
 128.515 +}
 128.516 +
 128.517 +/* Date Picker */
 128.518 +.x-date-picker {
 128.519 +    border: 1px solid #000000;
 128.520 +    background:#ffffff;
 128.521 +}
 128.522 +.x-date-middle,.x-date-left,.x-date-right {
 128.523 +	background-image: url(../images/black/shared/hd-sprite.gif);
 128.524 +}
 128.525 +.x-date-middle .x-btn-with-menu  .x-btn-center em {
 128.526 +    background-image:url(../images/black/toolbar/btn-arrow-light.gif);
 128.527 +}
 128.528 +.x-date-right a {
 128.529 +    background-image: url(../images/black/shared/right-btn.gif);
 128.530 +}
 128.531 +.x-date-left a{
 128.532 +	background-image: url(../images/black/shared/left-btn.gif);
 128.533 +}
 128.534 +.x-date-inner th {
 128.535 +    background-image:url(../images/black/shared/glass-bg.gif);
 128.536 +	border-bottom: 1px solid #000000;
 128.537 +	color:#f0eeef;
 128.538 +}
 128.539 +.x-date-inner .x-date-selected a{
 128.540 +	background-image:url(../images/black/shared/glass-bg.gif);
 128.541 +	border:1px solid #000000;
 128.542 +    color:#f0eeef;
 128.543 +}
 128.544 +.x-date-bottom {
 128.545 +    border-top: 1px solid #000000;
 128.546 +    background-image:url(../images/black/shared/glass-bg.gif);
 128.547 +}
 128.548 +.x-date-mp-btns {
 128.549 +	background-image:url(../images/black/shared/glass-bg.gif);
 128.550 +}
 128.551 +td.x-date-mp-sel a {
 128.552 +	background-image:url(../images/black/shared/glass-bg.gif);
 128.553 +	border:1px solid #000000;
 128.554 +	color: #f0eeef !important;
 128.555 +}
 128.556 +.x-date-mp-ybtn a {
 128.557 +    background-image:url(../images/black/panel/tool-sprites.gif);
 128.558 +}
 128.559 +.x-date-mp-btns button {
 128.560 +	background-image:url(../images/black/shared/glass-bg.gif);
 128.561 +	border-color: #eeeeee #bbbbbb #bbbbbb #eeeeee;
 128.562 +	color: #f0eeef;
 128.563 +}
 128.564 +.x-date-inner a{
 128.565 +    color:#000000;
 128.566 +}
 128.567 +.x-date-inner a:hover, .x-date-inner .x-date-disabled a:hover{
 128.568 +    color:#f0eeef;
 128.569 +    background: #353535;
 128.570 +}
 128.571 +td.x-date-mp-month a,td.x-date-mp-year a {
 128.572 +	color:#000000;
 128.573 +}
 128.574 +td.x-date-mp-month a:hover,td.x-date-mp-year a:hover {
 128.575 +	color:#f0eeef;
 128.576 +	background: #353535;
 128.577 +}
 128.578 +
 128.579 +/* misc */
 128.580 +.x-html-editor-wrap {
 128.581 +    border-color:#000000;
 128.582 +}
 128.583 +
 128.584 +/* Borders go last for specificity */
 128.585 +.x-panel-noborder .x-panel-body-noborder {
 128.586 +    border-width:0;
 128.587 +}
 128.588 +
 128.589 +.x-panel-noborder .x-panel-header-noborder {
 128.590 +    border-width:0;
 128.591 +    border-bottom:1px solid #000000;
 128.592 +}
 128.593 +
 128.594 +.x-panel-noborder .x-panel-tbar-noborder .x-toolbar {
 128.595 +    border-width:0;
 128.596 +    border-bottom:1px solid #000000;
 128.597 +}
 128.598 +
 128.599 +.x-panel-noborder .x-panel-bbar-noborder .x-toolbar {
 128.600 +    border-width:0;
 128.601 +    border-top:1px solid #000000;
 128.602 +}
 128.603 +
 128.604 +.x-window-noborder .x-window-mc {
 128.605 +    border-width:0;
 128.606 +}
 128.607 +.x-window-plain .x-window-body-noborder {
 128.608 +    border-width:0;
 128.609 +}
 128.610 +
 128.611 +.x-tab-panel-noborder .x-tab-panel-body-noborder {
 128.612 +	border-width:0;
 128.613 +}
 128.614 +
 128.615 +.x-tab-panel-noborder .x-tab-panel-header-noborder {
 128.616 +	border-top-width:0;
 128.617 +	border-left-width:0;
 128.618 +	border-right-width:0;
 128.619 +}
 128.620 +
 128.621 +.x-tab-panel-noborder .x-tab-panel-footer-noborder {
 128.622 +	border-bottom-width:0;
 128.623 +	border-left-width:0;
 128.624 +	border-right-width:0;
 128.625 +}
 128.626 +
 128.627 +
 128.628 +.x-tab-panel-bbar-noborder .x-toolbar {
 128.629 +    border-width:0;
 128.630 +    border-top:1px solid #000000;
 128.631 +}
 128.632 +
 128.633 +.x-tab-panel-tbar-noborder .x-toolbar {
 128.634 +    border-width:0;
 128.635 +    border-bottom:1px solid #000000;
 128.636 +}
 128.637 \ No newline at end of file
   129.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   129.2 +++ b/onlypaths/theme/css/xtheme-chocolate.css	Sun Jan 31 12:33:33 2010 -0500
   129.3 @@ -0,0 +1,623 @@
   129.4 +/*
   129.5 + * Ext JS Library 2.0
   129.6 + * Copyright(c) 2006-2007, Ext JS, LLC.
   129.7 + *
   129.8 + * @Theme: Chocolate
   129.9 + * @Created by Paul Baugher <digitalskyline@gmail.com>
  129.10 + */
  129.11 +.x-panel {
  129.12 +    border-style: solid;
  129.13 +    border-color: #578746;
  129.14 +}
  129.15 +.x-panel-header {
  129.16 +    color:#000000;
  129.17 +	border:1px solid #578746;
  129.18 +    background-image:url(../images/chocolate/panel/white-top-bottom.gif);
  129.19 +}
  129.20 +.x-panel-tl .x-panel-header {
  129.21 +    color:#000000;
  129.22 +}
  129.23 +.x-panel-body {
  129.24 +    border-color:#578746;
  129.25 +}
  129.26 +
  129.27 +.x-panel-bbar .x-toolbar {
  129.28 +    border-color:#578746;
  129.29 +}
  129.30 +
  129.31 +.x-panel-tbar .x-toolbar {
  129.32 +    border-color:#578746;
  129.33 +}
  129.34 +
  129.35 +.x-panel-tbar-noheader .x-toolbar, .x-panel-mc .x-panel-tbar .x-toolbar {
  129.36 +    border-color:#578746;
  129.37 +}
  129.38 +.x-panel-body-noheader, .x-panel-mc .x-panel-body {
  129.39 +    border-color:#578746;
  129.40 +}
  129.41 +.x-panel-tc {
  129.42 +	background-image:url(../images/chocolate/panel/top-bottom.gif);
  129.43 +}
  129.44 +.x-panel-tl {
  129.45 +	background-image:url(../images/chocolate/panel/corners-sprite.gif);
  129.46 +    border-color:#578746;
  129.47 +}
  129.48 +.x-panel-tr {
  129.49 +	background-image:url(../images/chocolate/panel/corners-sprite.gif);
  129.50 +}
  129.51 +.x-panel-bc {
  129.52 +	background-image:url(../images/chocolate/panel/top-bottom.gif);
  129.53 +}
  129.54 +.x-panel-bl {
  129.55 +	background-image:url(../images/chocolate/panel/corners-sprite.gif);
  129.56 +}
  129.57 +.x-panel-br {
  129.58 +	background-image:url(../images/chocolate/panel/corners-sprite.gif);
  129.59 +}
  129.60 +.x-panel-mc {
  129.61 +    background-color:#abcb9f;
  129.62 +    color:#000000;
  129.63 +}
  129.64 +.x-panel-mc .x-panel-body {
  129.65 +    background:transparent;
  129.66 +    border: 0 none;
  129.67 +}
  129.68 +.x-panel-ml {
  129.69 +	background-image:url(../images/chocolate/panel/left-right.gif);
  129.70 +}
  129.71 +.x-panel-mr {
  129.72 +	background-image:url(../images/chocolate/panel/left-right.gif);
  129.73 +}
  129.74 +
  129.75 +/* Ghosting */
  129.76 +.x-panel-ghost {
  129.77 +    background:#abcb9f;
  129.78 +}
  129.79 +
  129.80 +.x-panel-ghost ul {
  129.81 +    border-color:#578746;
  129.82 +}
  129.83 +
  129.84 +.x-grid-panel .x-panel-mc .x-panel-body {
  129.85 +    border:1px solid #578746;
  129.86 +}
  129.87 +
  129.88 +/* Grid */
  129.89 +.x-grid3-row {
  129.90 +    color:#000000;
  129.91 +}
  129.92 +.x-grid3-row-over {
  129.93 +	border:1px solid #578746;
  129.94 +    background-image:url(../images/chocolate/grid/row-over.gif);
  129.95 +}
  129.96 +.x-grid3-header{
  129.97 +	background-image:url(../images/chocolate/grid/grid3-hrow.gif);
  129.98 +}
  129.99 +.x-grid3-header-pop-inner {
 129.100 +    border-left:1px solid #abcb9f;
 129.101 +    background-image:url(../images/chocolate/grid/hd-pop.gif);
 129.102 +}
 129.103 +td.x-grid3-hd-over, td.sort-desc, td.sort-asc, td.x-grid3-hd-menu-open {
 129.104 +    border-left:1px solid #abcb9f;
 129.105 +    border-right:1px solid #abcb9f;
 129.106 +}
 129.107 +td.x-grid3-hd-over .x-grid3-hd-inner, td.sort-desc .x-grid3-hd-inner, td.sort-asc .x-grid3-hd-inner, td.x-grid3-hd-menu-open .x-grid3-hd-inner {
 129.108 +    background-image:url(../images/chocolate/grid/grid3-hrow-over.gif);
 129.109 +   	background-color:#abcb9f;
 129.110 +}
 129.111 +.x-dd-drag-proxy .x-grid3-hd-inner{
 129.112 +	background-image:url(../images/chocolate/grid/grid3-hrow-over.gif);
 129.113 +}
 129.114 +.x-grid3-locked td.x-grid3-row-marker, .x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker{
 129.115 +    background-image:url(../images/chocolate/grid/grid-hrow.gif);
 129.116 +    color:#666666;
 129.117 +    border-top:1px solid #abcb9f;
 129.118 +    border-right:1px solid #abcb9f !important;
 129.119 +}
 129.120 +.x-props-grid .x-grid3-td-name .x-grid3-cell-inner{
 129.121 +	background-image:url(../images/chocolate/grid/grid3-special-col-bg.gif);
 129.122 +    color:#eeeeee !important;
 129.123 +}
 129.124 +.x-grid3-hd-btn {
 129.125 +    background-image:url(../images/chocolate/grid/grid3-hd-btn.gif);
 129.126 +}
 129.127 +.x-grid3-body .x-grid3-td-expander {
 129.128 +    background-image:url(../images/chocolate/grid/grid3-special-col-bg.gif);
 129.129 +}
 129.130 +.x-grid3-body .x-grid3-td-checker {
 129.131 +    background-image:url(../images/chocolate/grid/grid3-special-col-bg.gif);
 129.132 +}
 129.133 +.x-grid3-body .x-grid3-td-numberer {
 129.134 +    background-image:url(../images/chocolate/grid/grid3-special-col-bg.gif);
 129.135 +}
 129.136 +.x-grid3-body .x-grid3-row-selected .x-grid3-td-numberer,
 129.137 +.x-grid3-body .x-grid3-row-selected .x-grid3-td-checker,
 129.138 +.x-grid3-body .x-grid3-row-selected .x-grid3-td-expander {
 129.139 +	background-image:url(../images/chocolate/grid/grid3-special-col-sel-bg.gif);
 129.140 +}
 129.141 +.x-grid3-hd-row td {
 129.142 +    border-left:1px solid #abcb9f;
 129.143 +    border-right:1px solid #abcb9f;
 129.144 +}
 129.145 +.x-grid3-row-selected {
 129.146 +	background: #abcb9f;
 129.147 +	border:1px dotted #578746;
 129.148 +}
 129.149 +
 129.150 +/* Menu */
 129.151 +
 129.152 +.x-menu {
 129.153 +	border: 1px solid #abcb9f;
 129.154 +	background-color:#578746;
 129.155 +	background-image:url(../images/chocolate/menu/menu.gif);
 129.156 +}
 129.157 +.x-menu-sep {
 129.158 +    background-color:#578746;
 129.159 +	border-bottom:1px solid #abcb9f;
 129.160 +}
 129.161 +.x-menu-plain {
 129.162 +	background:#578746 !important;
 129.163 +}
 129.164 +.x-menu-item-active {
 129.165 +	background-image:url(../images/chocolate/menu/item-over.gif);
 129.166 +	background-color:#abcb9f;
 129.167 +	border:1px solid #578746;
 129.168 +}
 129.169 +.x-menu a.x-menu-item {
 129.170 +	color:#222222;
 129.171 +}
 129.172 +.x-menu-item-active a.x-menu-item {
 129.173 +    color: #000000;
 129.174 +}
 129.175 +
 129.176 +/* Tools */
 129.177 +.x-tool {
 129.178 +    background-image:url(../images/chocolate/panel/tool-sprites.gif);
 129.179 +}
 129.180 +
 129.181 +/* Buttons */
 129.182 +
 129.183 +.x-btn-text{
 129.184 +    color: #000000;
 129.185 +    font-weight:bold !important;
 129.186 +}
 129.187 +.x-btn-left{
 129.188 +	background-image:url(../images/chocolate/button/btn-sprite.gif);
 129.189 +}
 129.190 +.x-btn-right{
 129.191 +	background-image:url(../images/chocolate/button/btn-sprite.gif);
 129.192 +}
 129.193 +.x-btn-center{
 129.194 +	background-image:url(../images/chocolate/button/btn-sprite.gif);
 129.195 +}
 129.196 +.x-btn-menu-arrow-wrap .x-btn-center button {
 129.197 +    background-image:url(../images/chocolate/button/btn-arrow.gif);
 129.198 +}
 129.199 +.x-btn-with-menu  .x-btn-center em {
 129.200 +    background-image:url(../images/chocolate/toolbar/btn-arrow.gif);
 129.201 +}
 129.202 +
 129.203 +.x-btn-text-icon .x-btn-with-menu .x-btn-center em {
 129.204 +    background-image:url(../images/chocolate/toolbar/btn-arrow.gif);
 129.205 +}
 129.206 +
 129.207 +/* Layout classes */
 129.208 +
 129.209 +.x-border-layout-ct {
 129.210 +    background:#abcb9f; /* f1f2f4 */
 129.211 +}
 129.212 +
 129.213 +.x-accordion-hd {
 129.214 +	background-image:url(../images/chocolate/panel/light-hd.gif);
 129.215 +}
 129.216 +
 129.217 +.x-layout-collapsed{
 129.218 +    background-color:#abcb9f;
 129.219 +    border-color:#578746;
 129.220 +}
 129.221 +.x-layout-collapsed-over{
 129.222 +	 background-color:#abcb9f;
 129.223 +}
 129.224 +
 129.225 +
 129.226 +/* qtips */
 129.227 +.x-tip .x-tip-close{
 129.228 +	background-image: url(../images/chocolate/qtip/close.gif);
 129.229 +}
 129.230 +.x-tip .x-tip-tc {
 129.231 +	background-image:url(../images/chocolate/qtip/tip-sprite.gif);
 129.232 +}
 129.233 +.x-tip .x-tip-tl {
 129.234 +	background-image:url(../images/chocolate/qtip/tip-sprite.gif);
 129.235 +}
 129.236 +.x-tip .x-tip-tr {
 129.237 +	background-image:url(../images/chocolate/qtip/tip-sprite.gif);
 129.238 +}
 129.239 +.x-tip .x-tip-bc {
 129.240 +	background-image:url(../images/chocolate/qtip/tip-sprite.gif);
 129.241 +}
 129.242 +.x-tip .x-tip-bl {
 129.243 +	background-image:url(../images/chocolate/qtip/tip-sprite.gif);
 129.244 +}
 129.245 +.x-tip .x-tip-br {
 129.246 +	background-image:url(../images/chocolate/qtip/tip-sprite.gif);
 129.247 +}
 129.248 +.x-tip .x-tip-ml {
 129.249 +	background-image:url(../images/chocolate/qtip/tip-sprite.gif);
 129.250 +}
 129.251 +.x-tip .x-tip-mr {
 129.252 +	background-image:url(../images/chocolate/qtip/tip-sprite.gif);
 129.253 +}
 129.254 +.x-tip .x-tip-header-text {
 129.255 +    color:#000000;
 129.256 +}
 129.257 +.x-tip .x-tip-body {
 129.258 +    color:#111111;
 129.259 +}
 129.260 +/* Toolbars */
 129.261 +
 129.262 +.x-toolbar{
 129.263 +	border-color:#578746;
 129.264 +    background:#abcb9f url(../images/chocolate/toolbar/bg.gif) repeat-x top left;
 129.265 +}
 129.266 +.x-toolbar button {
 129.267 +    color:#222222;
 129.268 +}
 129.269 +.x-toolbar .x-btn-menu-arrow-wrap .x-btn-center button {
 129.270 +    background-image:url(../images/chocolate/toolbar/btn-arrow.gif);
 129.271 +}
 129.272 +.x-toolbar .x-btn-text-icon .x-btn-menu-arrow-wrap .x-btn-center button {
 129.273 +    background-image:url(../images/chocolate/toolbar/btn-arrow.gif);
 129.274 +}
 129.275 +.x-toolbar .x-btn-over .x-btn-left{
 129.276 +	background-image:url(../images/chocolate/toolbar/tb-btn-sprite.gif);
 129.277 +}
 129.278 +.x-toolbar .x-btn-over .x-btn-right{
 129.279 +	background-image:url(../images/chocolate/toolbar/tb-btn-sprite.gif);
 129.280 +}
 129.281 +.x-toolbar .x-btn-over .x-btn-center{
 129.282 +	background-image:url(../images/chocolate/toolbar/tb-btn-sprite.gif);
 129.283 +}
 129.284 +.x-toolbar .x-btn-over button {
 129.285 +    color:#000000;
 129.286 +}
 129.287 +.x-toolbar .x-btn-click .x-btn-left, .x-toolbar .x-btn-pressed .x-btn-left, .x-toolbar .x-btn-menu-active .x-btn-left{
 129.288 +	background-image:url(../images/chocolate/toolbar/tb-btn-sprite.gif);
 129.289 +}
 129.290 +.x-toolbar .x-btn-click .x-btn-right, .x-toolbar .x-btn-pressed .x-btn-right, .x-toolbar .x-btn-menu-active .x-btn-right{
 129.291 +	background-image:url(../images/chocolate/toolbar/tb-btn-sprite.gif);
 129.292 +}
 129.293 +
 129.294 +.x-toolbar .x-btn-click .x-btn-center, .x-toolbar .x-btn-pressed .x-btn-center, .x-toolbar .x-btn-menu-active .x-btn-center{
 129.295 +	background-image:url(../images/chocolate/toolbar/tb-btn-sprite.gif);
 129.296 +}
 129.297 +.x-toolbar .ytb-sep {
 129.298 +	background-image: url(../images/chocolate/grid/grid-split.gif);
 129.299 +}
 129.300 +.x-paging-info {
 129.301 +    color:#000000;
 129.302 +}
 129.303 +
 129.304 +/* Form */
 129.305 +
 129.306 +.x-form-field-wrap .x-form-trigger{
 129.307 +    background-image:url(../images/chocolate/form/trigger.gif);
 129.308 +    border-bottom: 1px solid #578746;
 129.309 +}
 129.310 +.x-form-field-wrap .x-form-date-trigger{
 129.311 +    background-image: url(../images/chocolate/form/date-trigger.gif);
 129.312 +}
 129.313 +.x-form-field-wrap .x-form-clear-trigger{
 129.314 +    background-image: url(../images/chocolate/form/clear-trigger.gif);
 129.315 +}
 129.316 +.x-form-field-wrap .x-form-search-trigger{
 129.317 +    background-image: url(../images/chocolate/form/search-trigger.gif);
 129.318 +}
 129.319 +
 129.320 +.x-form-text, textarea.x-form-field{
 129.321 +    border: 1px solid #578746;
 129.322 +}
 129.323 +.x-form-select-one {
 129.324 +    border: 1px solid #578746;
 129.325 +}
 129.326 +.x-item-disabled .x-form-trigger-over{
 129.327 +    border-bottom: 1px solid #578746;
 129.328 +}
 129.329 +.x-item-disabled .x-form-trigger-click{
 129.330 +    border-bottom: 1px solid #578746;
 129.331 +}
 129.332 +.x-form fieldset {
 129.333 +    border:1px solid #578746;
 129.334 +}
 129.335 +.x-trigger-wrap-focus .x-form-trigger{
 129.336 +    border-bottom: 1px solid #578746;
 129.337 +}
 129.338 +.x-form-focus, textarea.x-form-focus{
 129.339 +	border: 1px solid #578746;
 129.340 +}
 129.341 +
 129.342 +
 129.343 +/* Tabs */
 129.344 +
 129.345 +.x-tab-panel-header, .x-tab-panel-footer {
 129.346 +	background: #abcb9f;
 129.347 +	border-color:#578746;
 129.348 +}
 129.349 +
 129.350 +
 129.351 +.x-tab-panel-header {
 129.352 +	border-color:#578746;
 129.353 +}
 129.354 +
 129.355 +.x-tab-panel-footer {
 129.356 +	border-color:#578746;
 129.357 +}
 129.358 +
 129.359 +ul.x-tab-strip-top{
 129.360 +	background:#abcb9f url(../images/chocolate/tabs/tab-strip-bg.gif) repeat-x left top;
 129.361 +	border-color:#578746;
 129.362 +}
 129.363 +
 129.364 +ul.x-tab-strip-bottom{
 129.365 +	background-image:url(../images/chocolate/tabs/tab-strip-btm-bg.gif);
 129.366 +	border-color:#578746;
 129.367 +}
 129.368 +
 129.369 +.x-tab-strip span.x-tab-strip-text {
 129.370 +	color:#333333;
 129.371 +}
 129.372 +.x-tab-strip-over span.x-tab-strip-text {
 129.373 +	color:#000000;
 129.374 +}
 129.375 +
 129.376 +.x-tab-strip-active span.x-tab-strip-text {
 129.377 +	color:#111111;
 129.378 +}
 129.379 +
 129.380 +.x-tab-strip-top .x-tab-right {
 129.381 +	background-image:url(../images/chocolate/tabs/tabs-sprite.gif);
 129.382 +}
 129.383 +
 129.384 +.x-tab-strip-top .x-tab-left {
 129.385 +	background-image:url(../images/chocolate/tabs/tabs-sprite.gif);
 129.386 +}
 129.387 +.x-tab-strip-top .x-tab-strip-inner {
 129.388 +	background-image:url(../images/chocolate/tabs/tabs-sprite.gif);
 129.389 +}
 129.390 +
 129.391 +.x-tab-strip-bottom .x-tab-right {
 129.392 +	background-image:url(../images/chocolate/tabs/tab-btm-inactive-right-bg.gif);
 129.393 +}
 129.394 +
 129.395 +.x-tab-strip-bottom .x-tab-left {
 129.396 +	background-image:url(../images/chocolate/tabs/tab-btm-inactive-left-bg.gif);
 129.397 +}
 129.398 +
 129.399 +.x-tab-strip-bottom .x-tab-strip-active .x-tab-right {
 129.400 +	background-image:url(../images/chocolate/tabs/tab-btm-right-bg.gif);
 129.401 +}
 129.402 +
 129.403 +.x-tab-strip-bottom .x-tab-strip-active .x-tab-left {
 129.404 +	background-image:url(../images/chocolate/tabs/tab-btm-left-bg.gif);
 129.405 +}
 129.406 +
 129.407 +.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close {
 129.408 +	background-image:url(../images/chocolate/tabs/tab-close.gif);
 129.409 +}
 129.410 +.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close:hover{
 129.411 +	background-image:url(../images/chocolate/tabs/tab-close.gif);
 129.412 +}
 129.413 +
 129.414 +.x-tab-panel-body {
 129.415 +    border-color:#578746;
 129.416 +    background:#abcb9f;
 129.417 +}
 129.418 +.x-tab-panel-bbar .x-toolbar {
 129.419 +    border-color: #578746;
 129.420 +}
 129.421 +
 129.422 +.x-tab-panel-tbar .x-toolbar {
 129.423 +    border-color: #578746;
 129.424 +}
 129.425 +
 129.426 +.x-tab-panel-header-plain .x-tab-strip-spacer {
 129.427 +    border-color:#578746;
 129.428 +    background: #abcb9f;
 129.429 +}
 129.430 +
 129.431 +.x-tab-scroller-left {
 129.432 +    background-image: url(../images/chocolate/tabs/scroll-left.gif);
 129.433 +    border-color:#578746;
 129.434 +}
 129.435 +.x-tab-scroller-right {
 129.436 +    background-image: url(../images/chocolate/tabs/scroll-right.gif);
 129.437 +    border-color:#578746;
 129.438 +}
 129.439 +
 129.440 +/* Window */
 129.441 +
 129.442 +.x-window-proxy {
 129.443 +    background:#abcb9f;
 129.444 +    border-color:#578746;
 129.445 +}
 129.446 +
 129.447 +.x-window-tl .x-window-header {
 129.448 +    color:#000000;
 129.449 +}
 129.450 +.x-window-tc {
 129.451 +	background-image:url(../images/chocolate/window/top-bottom.png);
 129.452 +}
 129.453 +.x-window-tl {
 129.454 +	background-image:url(../images/chocolate/window/left-corners.png);
 129.455 +}
 129.456 +.x-window-tr {
 129.457 +	background-image:url(../images/chocolate/window/right-corners.png);
 129.458 +}
 129.459 +.x-window-bc {
 129.460 +	background-image:url(../images/chocolate/window/top-bottom.png);
 129.461 +}
 129.462 +.x-window-bl {
 129.463 +	background-image:url(../images/chocolate/window/left-corners.png);
 129.464 +}
 129.465 +.x-window-br {
 129.466 +	background-image:url(../images/chocolate/window/right-corners.png);
 129.467 +}
 129.468 +.x-window-mc {
 129.469 +    border:1px solid #578746;
 129.470 +    background:#abcb9f;
 129.471 +}
 129.472 +
 129.473 +.x-window-ml {
 129.474 +	background-image:url(../images/chocolate/window/left-right.png);
 129.475 +}
 129.476 +.x-window-mr {
 129.477 +	background-image:url(../images/chocolate/window/left-right.png);
 129.478 +}
 129.479 +.x-panel-ghost .x-window-tl {
 129.480 +    border-color:#578746;
 129.481 +}
 129.482 +.x-panel-collapsed .x-window-tl {
 129.483 +    border-color:#578746;
 129.484 +}
 129.485 +
 129.486 +.x-window-plain .x-window-mc {
 129.487 +    color: #eeeeee;
 129.488 +    background: #abcb9f;
 129.489 +    border-left:1px solid #578746;
 129.490 +    border-top:1px solid #578746;
 129.491 +    border-bottom:1px solid #578746;
 129.492 +    border-right:1px solid #578746;
 129.493 +}
 129.494 +
 129.495 +.x-window-plain .x-window-body {
 129.496 +    border-left:1px solid #578746;
 129.497 +    border-top:1px solid #578746;
 129.498 +    border-bottom:1px solid #578746;
 129.499 +    border-right:1px solid #578746;
 129.500 +    background:transparent !important;
 129.501 +}
 129.502 +
 129.503 +body.x-body-masked .x-window-mc, body.x-body-masked .x-window-plain .x-window-mc {
 129.504 +    background-color: #abcb9f;
 129.505 +}
 129.506 +
 129.507 +/* Date Picker */
 129.508 +.x-date-picker {
 129.509 +    border: 1px solid #578746;
 129.510 +    background:#ffffff;
 129.511 +}
 129.512 +.x-date-middle,.x-date-left,.x-date-right {
 129.513 +	background-image: url(../images/chocolate/shared/hd-sprite.gif);
 129.514 +}
 129.515 +.x-date-middle .x-btn-with-menu  .x-btn-center em {
 129.516 +    background-image:url(../images/chocolate/toolbar/btn-arrow-light.gif);
 129.517 +}
 129.518 +.x-date-right a {
 129.519 +    background-image: url(../images/chocolate/shared/right-btn.gif);
 129.520 +}
 129.521 +.x-date-left a{
 129.522 +	background-image: url(../images/chocolate/shared/left-btn.gif);
 129.523 +}
 129.524 +.x-date-inner th {
 129.525 +    background-image:url(../images/chocolate/shared/glass-bg.gif);
 129.526 +	border-bottom: 1px solid #578746;
 129.527 +	color:#000000;
 129.528 +}
 129.529 +.x-date-inner .x-date-selected a{
 129.530 +	background-image:url(../images/chocolate/shared/glass-bg.gif);
 129.531 +	border:1px solid #578746;
 129.532 +    color:#000000;
 129.533 +}
 129.534 +.x-date-bottom {
 129.535 +    border-top: 1px solid #578746;
 129.536 +    background-image:url(../images/chocolate/shared/glass-bg.gif);
 129.537 +}
 129.538 +.x-date-mp-btns {
 129.539 +	background-image:url(../images/chocolate/shared/glass-bg.gif);
 129.540 +}
 129.541 +td.x-date-mp-sel a {
 129.542 +	background-image:url(../images/chocolate/shared/glass-bg.gif);
 129.543 +	border:1px solid #578746;
 129.544 +	color: #000000 !important;
 129.545 +}
 129.546 +.x-date-mp-ybtn a {
 129.547 +    background-image:url(../images/chocolate/panel/tool-sprites.gif);
 129.548 +}
 129.549 +.x-date-mp-btns button {
 129.550 +	background-image:url(../images/chocolate/shared/glass-bg.gif);
 129.551 +	border-color: #578746 #578746 #578746 #578746;
 129.552 +	color: #000000;
 129.553 +}
 129.554 +.x-date-inner a{
 129.555 +    color:#000000;
 129.556 +}
 129.557 +.x-date-inner a:hover, .x-date-inner .x-date-disabled a:hover{
 129.558 +    color:#f0eeef;
 129.559 +    background: #578746;
 129.560 +}
 129.561 +td.x-date-mp-month a,td.x-date-mp-year a {
 129.562 +	color:#000000;
 129.563 +}
 129.564 +td.x-date-mp-month a:hover,td.x-date-mp-year a:hover {
 129.565 +	color:#f0eeef;
 129.566 +	background: #578746;
 129.567 +}
 129.568 +
 129.569 +/* misc */
 129.570 +.x-html-editor-wrap {
 129.571 +    border-color:#578746;
 129.572 +}
 129.573 +
 129.574 +/* Borders go last for specificity */
 129.575 +.x-panel-noborder .x-panel-body-noborder {
 129.576 +    border-width:0;
 129.577 +}
 129.578 +
 129.579 +.x-panel-noborder .x-panel-header-noborder {
 129.580 +    border-width:0;
 129.581 +    border-bottom:1px solid #578746;
 129.582 +}
 129.583 +
 129.584 +.x-panel-noborder .x-panel-tbar-noborder .x-toolbar {
 129.585 +    border-width:0;
 129.586 +    border-bottom:1px solid #578746;
 129.587 +}
 129.588 +
 129.589 +.x-panel-noborder .x-panel-bbar-noborder .x-toolbar {
 129.590 +    border-width:0;
 129.591 +    border-top:1px solid #578746;
 129.592 +}
 129.593 +
 129.594 +.x-window-noborder .x-window-mc {
 129.595 +    border-width:0;
 129.596 +}
 129.597 +.x-window-plain .x-window-body-noborder {
 129.598 +    border-width:0;
 129.599 +}
 129.600 +
 129.601 +.x-tab-panel-noborder .x-tab-panel-body-noborder {
 129.602 +	border-width:0;
 129.603 +}
 129.604 +
 129.605 +.x-tab-panel-noborder .x-tab-panel-header-noborder {
 129.606 +	border-top-width:0;
 129.607 +	border-left-width:0;
 129.608 +	border-right-width:0;
 129.609 +}
 129.610 +
 129.611 +.x-tab-panel-noborder .x-tab-panel-footer-noborder {
 129.612 +	border-bottom-width:0;
 129.613 +	border-left-width:0;
 129.614 +	border-right-width:0;
 129.615 +}
 129.616 +
 129.617 +
 129.618 +.x-tab-panel-bbar-noborder .x-toolbar {
 129.619 +    border-width:0;
 129.620 +    border-top:1px solid #578746;
 129.621 +}
 129.622 +
 129.623 +.x-tab-panel-tbar-noborder .x-toolbar {
 129.624 +    border-width:0;
 129.625 +    border-bottom:1px solid #578746;
 129.626 +}
 129.627 \ No newline at end of file
   130.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   130.2 +++ b/onlypaths/theme/css/xtheme-darkgray.css	Sun Jan 31 12:33:33 2010 -0500
   130.3 @@ -0,0 +1,606 @@
   130.4 +/*
   130.5 + * Ext JS Library 2.0 Alpha 1
   130.6 + * Copyright(c) 2006-2007, Ext JS, LLC.
   130.7 + *
   130.8 + * @license LGPL
   130.9 + * @author Kemal Tunador <tunador@madrabaz.com>
  130.10 + */
  130.11 +
  130.12 +.x-panel {
  130.13 +    border-style: solid;
  130.14 +    border-color: #777777;
  130.15 +}
  130.16 +.x-panel-header {
  130.17 +    color:#eeeeee;
  130.18 +	border:1px solid #777777;
  130.19 +    background-image:url(../images/darkgray/panel/white-top-bottom.gif);
  130.20 +}
  130.21 +
  130.22 +.x-panel-body {
  130.23 +    border-color:#777777;
  130.24 +}
  130.25 +
  130.26 +.x-panel-bbar .x-toolbar {
  130.27 +    border-color:#777777;
  130.28 +}
  130.29 +
  130.30 +.x-panel-tbar .x-toolbar {
  130.31 +    border-color:#777777;
  130.32 +}
  130.33 +
  130.34 +.x-panel-tbar-noheader .x-toolbar, .x-panel-mc .x-panel-tbar .x-toolbar {
  130.35 +    border-color:#777777;
  130.36 +}
  130.37 +.x-panel-body-noheader, .x-panel-mc .x-panel-body {
  130.38 +    border-color:#777777;
  130.39 +}
  130.40 +.x-panel-tl .x-panel-header {
  130.41 +    color:#eeeeee;
  130.42 +}
  130.43 +.x-panel-tc {
  130.44 +	background-image:url(../images/darkgray/panel/top-bottom.gif);
  130.45 +}
  130.46 +.x-panel-tl {
  130.47 +	background-image:url(../images/darkgray/panel/corners-sprite.gif);
  130.48 +    border-color:#777777;
  130.49 +}
  130.50 +.x-panel-tr {
  130.51 +	background-image:url(../images/darkgray/panel/corners-sprite.gif);
  130.52 +}
  130.53 +.x-panel-bc {
  130.54 +	background-image:url(../images/darkgray/panel/top-bottom.gif);
  130.55 +}
  130.56 +.x-panel-bl {
  130.57 +	background-image:url(../images/darkgray/panel/corners-sprite.gif);
  130.58 +}
  130.59 +.x-panel-br {
  130.60 +	background-image:url(../images/darkgray/panel/corners-sprite.gif);
  130.61 +}
  130.62 +.x-panel-mc {
  130.63 +    background:#888888;
  130.64 +    color:#f9f9f9; /*ADDED*/
  130.65 +}
  130.66 +.x-panel-mc .x-panel-body {
  130.67 +    background:transparent;
  130.68 +    border: 0 none;
  130.69 +}
  130.70 +.x-panel-ml {
  130.71 +	background-image:url(../images/darkgray/panel/left-right.gif);
  130.72 +}
  130.73 +.x-panel-mr {
  130.74 +	background-image:url(../images/darkgray/panel/left-right.gif);
  130.75 +}
  130.76 +
  130.77 +/* Grid */
  130.78 +.x-grid3-row {
  130.79 +    color:#000000;
  130.80 +}
  130.81 +.x-grid3-row-over {
  130.82 +	border:1px solid #dddddd;
  130.83 +    background-image:url(../images/darkgray/grid/row-over.gif);
  130.84 +}
  130.85 +.x-grid3-header{
  130.86 +	background-image:url(../images/darkgray/grid/grid3-hrow.gif);
  130.87 +}
  130.88 +.x-grid3-header-pop-inner {
  130.89 +    border-left:1px solid #eeeeee;
  130.90 +    background-image:url(../images/darkgray/grid/hd-pop.gif);
  130.91 +}
  130.92 +td.x-grid3-hd-over, td.sort-desc, td.sort-asc, td.x-grid3-hd-menu-open {
  130.93 +    border-left:1px solid #906699;
  130.94 +    border-right:1px solid #906699;
  130.95 +    color:  #000000;
  130.96 +}
  130.97 +td.x-grid3-hd-over .x-grid3-hd-inner, td.sort-desc .x-grid3-hd-inner, td.sort-asc .x-grid3-hd-inner, td.x-grid3-hd-menu-open .x-grid3-hd-inner {
  130.98 +    background-image:url(../images/darkgray/grid/grid3-hrow-over.gif);
  130.99 +}
 130.100 +.x-dd-drag-proxy .x-grid3-hd-inner{
 130.101 +	background-image:url(../images/darkgray/grid/grid3-hrow-over.gif);
 130.102 +}
 130.103 +.x-grid3-locked td.x-grid3-row-marker, .x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker{
 130.104 +    background-image:url(../images/darkgray/grid/grid-hrow.gif);
 130.105 +    color:black;
 130.106 +    border-top:1px solid white;
 130.107 +    border-right:1px solid #df6fd8 !important;
 130.108 +}
 130.109 +.x-props-grid .x-grid3-td-name .x-grid3-cell-inner{
 130.110 +	background-image:url(../images/darkgray/grid/grid3-special-col-bg.gif);
 130.111 +    color:black !important;
 130.112 +}
 130.113 +.x-grid3-hd-btn {
 130.114 +    background-image:url(../images/darkgray/grid/grid3-hd-btn.gif);
 130.115 +}
 130.116 +.x-grid3-body .x-grid3-td-expander {
 130.117 +    background-image:url(../images/darkgray/grid/grid3-special-col-bg.gif);
 130.118 +}
 130.119 +.x-grid3-body .x-grid3-td-checker {
 130.120 +    background-image:url(../images/darkgray/grid/grid3-special-col-bg.gif);
 130.121 +}
 130.122 +.x-grid3-body .x-grid3-td-numberer {
 130.123 +    background-image:url(../images/darkgray/grid/grid3-special-col-bg.gif);
 130.124 +}
 130.125 +.x-grid3-body .x-grid3-row-selected .x-grid3-td-numberer,
 130.126 +.x-grid3-body .x-grid3-row-selected .x-grid3-td-checker,
 130.127 +.x-grid3-body .x-grid3-row-selected .x-grid3-td-expander {
 130.128 +	background-image:url(../images/darkgray/grid/grid3-special-col-sel-bg.gif);
 130.129 +}
 130.130 +.x-grid3-row-selected {
 130.131 +    color: #eeeeee;
 130.132 +	background: #585559;
 130.133 +	border:1px dotted #111111;
 130.134 +}
 130.135 +
 130.136 +/* Menu */
 130.137 +.x-menu {
 130.138 +	border: 1px solid #333333;
 130.139 +	background-image:url(../images/darkgray/menu/menu.gif);
 130.140 +}
 130.141 +.x-menu-sep {
 130.142 +    background-color:#e6e6e6;
 130.143 +	border-bottom:1px solid #bfbfbf;
 130.144 +}
 130.145 +.x-menu-item-active {
 130.146 +	background-image:url(../images/darkgray/menu/item-over.gif);
 130.147 +	border:1px solid #aaaaaa;
 130.148 +}
 130.149 +
 130.150 +/* Tools */
 130.151 +.x-tool {
 130.152 +    background-image:url(../images/darkgray/panel/tool-sprites.gif);
 130.153 +}
 130.154 +
 130.155 +/* Ghosting */
 130.156 +.x-panel-ghost {
 130.157 +    background:#888888;
 130.158 +}
 130.159 +
 130.160 +.x-panel-ghost ul {
 130.161 +    border-color:#555555;
 130.162 +}
 130.163 +
 130.164 +.x-grid-panel .x-panel-mc .x-panel-body {
 130.165 +    border:1px solid #777777;
 130.166 +}
 130.167 +
 130.168 +/* Buttons */
 130.169 +
 130.170 +.x-btn-text{
 130.171 +color: #eeeeee;
 130.172 +}
 130.173 +.x-btn-left{
 130.174 +	background-image:url(../images/darkgray/button/btn-sprite.gif);
 130.175 +}
 130.176 +.x-btn-right{
 130.177 +	background-image:url(../images/darkgray/button/btn-sprite.gif);
 130.178 +}
 130.179 +.x-btn-center{
 130.180 +	background-image:url(../images/darkgray/button/btn-sprite.gif);
 130.181 +}
 130.182 +
 130.183 +/* Layout classes */
 130.184 +
 130.185 +.x-border-layout-ct {
 130.186 +    background:#aeabaf; /* f1f2f4 */
 130.187 +}
 130.188 +
 130.189 +.x-accordion-hd {
 130.190 +	background-image:url(../images/darkgray/panel/light-hd.gif);
 130.191 +}
 130.192 +
 130.193 +.x-layout-collapsed{
 130.194 +    background-color:#777777;
 130.195 +    border-color:#555555;
 130.196 +}
 130.197 +.x-layout-collapsed-over{
 130.198 +	 background-color:#888888;
 130.199 +}
 130.200 +
 130.201 +
 130.202 +/* qtips */
 130.203 +.x-tip .x-tip-close{
 130.204 +	background-image: url(../images/darkgray/qtip/close.gif);
 130.205 +}
 130.206 +.x-tip .x-tip-tc {
 130.207 +	background-image:url(../images/darkgray/qtip/tip-sprite.gif);
 130.208 +}
 130.209 +.x-tip .x-tip-tl {
 130.210 +	background-image:url(../images/darkgray/qtip/tip-sprite.gif);
 130.211 +}
 130.212 +.x-tip .x-tip-tr {
 130.213 +	background-image:url(../images/darkgray/qtip/tip-sprite.gif);
 130.214 +}
 130.215 +.x-tip .x-tip-bc {
 130.216 +	background-image:url(../images/darkgray/qtip/tip-sprite.gif);
 130.217 +}
 130.218 +.x-tip .x-tip-bl {
 130.219 +	background-image:url(../images/darkgray/qtip/tip-sprite.gif);
 130.220 +}
 130.221 +.x-tip .x-tip-br {
 130.222 +	background-image:url(../images/darkgray/qtip/tip-sprite.gif);
 130.223 +}
 130.224 +.x-tip .x-tip-ml {
 130.225 +	background-image:url(../images/darkgray/qtip/tip-sprite.gif);
 130.226 +}
 130.227 +.x-tip .x-tip-mr {
 130.228 +	background-image:url(../images/darkgray/qtip/tip-sprite.gif);
 130.229 +}
 130.230 +.x-tip .x-tip-header-text {
 130.231 +    color:#eeeeee;
 130.232 +}
 130.233 +.x-tip .x-tip-body {
 130.234 +    color:#eeeeee;
 130.235 +}
 130.236 +/* Toolbars */
 130.237 +
 130.238 +.x-toolbar{
 130.239 +	border-color:#777777;
 130.240 +    background:#9c9c9c url(../images/darkgray/toolbar/bg.gif) repeat-x top left;
 130.241 +}
 130.242 +.x-toolbar button {
 130.243 +    color:#e5e5e5;
 130.244 +}
 130.245 +.x-toolbar .x-btn-menu-arrow-wrap .x-btn-center button {
 130.246 +    background-image:url(../images/darkgray/toolbar/btn-arrow.gif);
 130.247 +}
 130.248 +.x-toolbar .x-btn-text-icon .x-btn-menu-arrow-wrap .x-btn-center button {
 130.249 +    background-image:url(../images/darkgray/toolbar/btn-arrow.gif);
 130.250 +}
 130.251 +.x-toolbar .x-btn-over .x-btn-left{
 130.252 +	background-image:url(../images/darkgray/toolbar/tb-btn-sprite.gif);
 130.253 +}
 130.254 +.x-toolbar .x-btn-over .x-btn-right{
 130.255 +	background-image:url(../images/darkgray/toolbar/tb-btn-sprite.gif);
 130.256 +}
 130.257 +.x-toolbar .x-btn-over .x-btn-center{
 130.258 +	background-image:url(../images/darkgray/toolbar/tb-btn-sprite.gif);
 130.259 +}
 130.260 +.x-toolbar .x-btn-over button {
 130.261 +    color:#eeeeee;
 130.262 +}
 130.263 +.x-toolbar .x-btn-click .x-btn-left, .x-toolbar .x-btn-pressed .x-btn-left, .x-toolbar .x-btn-menu-active .x-btn-left{
 130.264 +	background-image:url(../images/darkgray/toolbar/tb-btn-sprite.gif);
 130.265 +}
 130.266 +.x-toolbar .x-btn-click .x-btn-right, .x-toolbar .x-btn-pressed .x-btn-right, .x-toolbar .x-btn-menu-active .x-btn-right{
 130.267 +	background-image:url(../images/darkgray/toolbar/tb-btn-sprite.gif);
 130.268 +}
 130.269 +
 130.270 +.x-toolbar .x-btn-click .x-btn-center, .x-toolbar .x-btn-pressed .x-btn-center, .x-toolbar .x-btn-menu-active .x-btn-center{
 130.271 +	background-image:url(../images/darkgray/toolbar/tb-btn-sprite.gif);
 130.272 +}
 130.273 +.x-toolbar .ytb-sep {
 130.274 +	background-image: url(../images/darkgray/grid/grid-split.gif);
 130.275 +}
 130.276 +.x-paging-info {
 130.277 +    color:#f9f9f9;
 130.278 +}
 130.279 +
 130.280 +/* Form */
 130.281 +
 130.282 +.x-form-field-wrap .x-form-trigger{
 130.283 +    background-image:url(../images/darkgray/form/trigger.gif);
 130.284 +    border-bottom: 1px solid #a5a5a5;
 130.285 +}
 130.286 +.x-form-field-wrap .x-form-date-trigger{
 130.287 +    background-image: url(../images/darkgray/form/date-trigger.gif);
 130.288 +}
 130.289 +.x-form-field-wrap .x-form-clear-trigger{
 130.290 +    background-image: url(../images/darkgray/form/clear-trigger.gif);
 130.291 +}
 130.292 +.x-form-field-wrap .x-form-search-trigger{
 130.293 +    background-image: url(../images/darkgray/form/search-trigger.gif);
 130.294 +}
 130.295 +.x-form-text, textarea.x-form-field{
 130.296 +    border: 1px solid #a5a5a5;
 130.297 +}
 130.298 +.x-form-select-one {
 130.299 +    border: 1px solid #a5a5a5;
 130.300 +}
 130.301 +.x-item-disabled .x-form-trigger-over{
 130.302 +    border-bottom: 1px solid #a5a5a5;
 130.303 +}
 130.304 +.x-item-disabled .x-form-trigger-click{
 130.305 +    border-bottom: 1px solid #a5a5a5;
 130.306 +}
 130.307 +.x-form fieldset {
 130.308 +    border:1px solid #a5a5a5;
 130.309 +}
 130.310 +.x-trigger-wrap-focus .x-form-trigger{
 130.311 +    border-bottom: 1px solid #929292;
 130.312 +}
 130.313 +.x-form-focus, textarea.x-form-focus{
 130.314 +	border: 1px solid #929292;
 130.315 +}
 130.316 +/* Tabs */
 130.317 +
 130.318 +.x-tab-panel-header, .x-tab-panel-footer {
 130.319 +	background: #646464;
 130.320 +	border-color:#777777;
 130.321 +}
 130.322 +
 130.323 +
 130.324 +.x-tab-panel-header {
 130.325 +	border-color:#777777;
 130.326 +}
 130.327 +
 130.328 +.x-tab-panel-footer {
 130.329 +	border-color:#777777;
 130.330 +}
 130.331 +
 130.332 +ul.x-tab-strip-top{
 130.333 +	background:#7a7a7a url(../images/darkgray/tabs/tab-strip-bg.gif) repeat-x left top;
 130.334 +	border-color:#777777;
 130.335 +    padding-top: 2px;
 130.336 +}
 130.337 +
 130.338 +ul.x-tab-strip-bottom{
 130.339 +	background-image:url(../images/darkgray/tabs/tab-strip-btm-bg.gif);
 130.340 +	border-color:#777777;
 130.341 +}
 130.342 +
 130.343 +.x-tab-strip span.x-tab-strip-text {
 130.344 +	color:#dddddd;
 130.345 +}
 130.346 +.x-tab-strip-over span.x-tab-strip-text {
 130.347 +	color:#000000;
 130.348 +}
 130.349 +
 130.350 +.x-tab-strip-active span.x-tab-strip-text {
 130.351 +	color:#eeeeee;
 130.352 +}
 130.353 +
 130.354 +.x-tab-strip-disabled .x-tabs-text {
 130.355 +	color:#888888;
 130.356 +}
 130.357 +
 130.358 +.x-tab-strip-top .x-tab-right {
 130.359 +	background-image:url(../images/darkgray/tabs/tabs-sprite.gif);
 130.360 +}
 130.361 +
 130.362 +.x-tab-strip-top .x-tab-left {
 130.363 +	background-image:url(../images/darkgray/tabs/tabs-sprite.gif);
 130.364 +}
 130.365 +.x-tab-strip-top .x-tab-strip-inner {
 130.366 +	background-image:url(../images/darkgray/tabs/tabs-sprite.gif);
 130.367 +}
 130.368 +
 130.369 +.x-tab-strip-bottom .x-tab-right {
 130.370 +	background-image:url(../images/darkgray/tabs/tab-btm-inactive-right-bg.gif);
 130.371 +}
 130.372 +
 130.373 +.x-tab-strip-bottom .x-tab-left {
 130.374 +	background-image:url(../images/darkgray/tabs/tab-btm-inactive-left-bg.gif);
 130.375 +}
 130.376 +
 130.377 +.x-tab-strip-bottom .x-tab-strip-active .x-tab-right {
 130.378 +	background-image:url(../images/darkgray/tabs/tab-btm-right-bg.gif);
 130.379 +}
 130.380 +
 130.381 +.x-tab-strip-bottom .x-tab-strip-active .x-tab-left {
 130.382 +	background-image:url(../images/darkgray/tabs/tab-btm-left-bg.gif);
 130.383 +}
 130.384 +
 130.385 +.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close {
 130.386 +	background-image:url(../images/darkgray/tabs/tab-close.gif);
 130.387 +}
 130.388 +.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close:hover{
 130.389 +	background-image:url(../images/darkgray/tabs/tab-close.gif);
 130.390 +}
 130.391 +
 130.392 +.x-tab-panel-body {
 130.393 +    border-color:#777777;
 130.394 +    background:#eeeeee;
 130.395 +}
 130.396 +.x-tab-panel-bbar .x-toolbar {
 130.397 +    border-color: #777777;
 130.398 +}
 130.399 +
 130.400 +.x-tab-panel-tbar .x-toolbar {
 130.401 +    border-color: #777777;
 130.402 +}
 130.403 +
 130.404 +.x-tab-panel-header-plain .x-tab-strip-spacer {
 130.405 +    border-color:#777777;
 130.406 +    background: #e7e7e7;
 130.407 +}
 130.408 +
 130.409 +.x-tab-scroller-left {
 130.410 +    background-image: url(../images/darkgray/tabs/scroll-left.gif);
 130.411 +    border-color:#aeaeae;
 130.412 +}
 130.413 +.x-tab-scroller-right {
 130.414 +    background-image: url(../images/darkgray/tabs/scroll-right.gif);
 130.415 +    border-color:#aeaeae;
 130.416 +}
 130.417 +
 130.418 +/* Buttons */
 130.419 +
 130.420 +.x-btn-menu-arrow-wrap .x-btn-center button {
 130.421 +    background-image:url(../images/darkgray/button/btn-arrow.gif);
 130.422 +}
 130.423 +.x-btn-with-menu  .x-btn-center em {
 130.424 +    background-image:url(../images/darkgray/toolbar/btn-arrow.gif);
 130.425 +}
 130.426 +
 130.427 +.x-btn-text-icon .x-btn-with-menu .x-btn-center em {
 130.428 +    background-image:url(../images/darkgray/toolbar/btn-arrow-light.gif);
 130.429 +}
 130.430 +
 130.431 +/* Window */
 130.432 +
 130.433 +.x-window-proxy {
 130.434 +    background:#e0e0e0;
 130.435 +    border-color:#b0b0b0;
 130.436 +}
 130.437 +
 130.438 +.x-window-tl .x-window-header {
 130.439 +    color:#eeeeee;
 130.440 +}
 130.441 +.x-window-tc {
 130.442 +	background-image:url(../images/darkgray/window/top-bottom.png);
 130.443 +}
 130.444 +.x-window-tl {
 130.445 +	background-image:url(../images/darkgray/window/left-corners.png);
 130.446 +}
 130.447 +.x-window-tr {
 130.448 +	background-image:url(../images/darkgray/window/right-corners.png);
 130.449 +}
 130.450 +.x-window-bc {
 130.451 +	background-image:url(../images/darkgray/window/top-bottom.png);
 130.452 +}
 130.453 +.x-window-bl {
 130.454 +	background-image:url(../images/darkgray/window/left-corners.png);
 130.455 +}
 130.456 +.x-window-br {
 130.457 +	background-image:url(../images/darkgray/window/right-corners.png);
 130.458 +}
 130.459 +.x-window-mc {
 130.460 +    border:1px solid #555555;
 130.461 +    background:#aaaaaa;
 130.462 +}
 130.463 +
 130.464 +.x-window-ml {
 130.465 +	background-image:url(../images/darkgray/window/left-right.png);
 130.466 +}
 130.467 +.x-window-mr {
 130.468 +	background-image:url(../images/darkgray/window/left-right.png);
 130.469 +}
 130.470 +.x-panel-ghost .x-window-tl {
 130.471 +    border-color:#555555;
 130.472 +}
 130.473 +.x-panel-collapsed .x-window-tl {
 130.474 +    border-color:#555555;
 130.475 +}
 130.476 +
 130.477 +.x-window-plain .x-window-mc {
 130.478 +    background: #999999;
 130.479 +    border-right:1px solid #eeeeee;
 130.480 +    border-bottom:1px solid #eeeeee;
 130.481 +    border-top:1px solid #555555;
 130.482 +    border-left:1px solid #555555;
 130.483 +}
 130.484 +
 130.485 +.x-window-plain .x-window-body {
 130.486 +    border-left:1px solid #eeeeee;
 130.487 +    border-top:1px solid #eeeeee;
 130.488 +    border-bottom:1px solid #555555;
 130.489 +    border-right:1px solid #555555;
 130.490 +    background:transparent !important;
 130.491 +}
 130.492 +
 130.493 +body.x-body-masked .x-window-mc, body.x-body-masked .x-window-plain .x-window-mc {
 130.494 +    background-color: #999999;
 130.495 +}
 130.496 +
 130.497 +/* Date Picker */
 130.498 +.x-date-picker {
 130.499 +    border: 1px solid #000000;
 130.500 +    background:#eeeeee;
 130.501 +}
 130.502 +.x-date-middle,.x-date-left,.x-date-right {
 130.503 +	background-image: url(../images/darkgray/shared/hd-sprite.gif);
 130.504 +}
 130.505 +.x-date-middle .x-btn-with-menu  .x-btn-center em {
 130.506 +    background-image:url(../images/darkgray/toolbar/btn-arrow-light.gif);
 130.507 +}
 130.508 +.x-date-right a {
 130.509 +    background-image: url(../images/darkgray/shared/right-btn.gif);
 130.510 +}
 130.511 +.x-date-left a{
 130.512 +	background-image: url(../images/darkgray/shared/left-btn.gif);
 130.513 +}
 130.514 +.x-date-inner th {
 130.515 +    background-image:url(../images/darkgray/shared/glass-bg.gif);
 130.516 +	border-bottom: 1px solid #333333;
 130.517 +	color:#f2eef0;
 130.518 +}
 130.519 +.x-date-inner .x-date-selected a{
 130.520 +	background-image:url(../images/darkgray/shared/glass-bg.gif);
 130.521 +	border:1px solid #333333;
 130.522 +    color:#f2eef0;
 130.523 +}
 130.524 +.x-date-bottom {
 130.525 +    border-top: 1px solid #333333;
 130.526 +    background-image:url(../images/darkgray/shared/glass-bg.gif);
 130.527 +}
 130.528 +.x-date-mp-btns {
 130.529 +	background-image:url(../images/darkgray/shared/glass-bg.gif);
 130.530 +}
 130.531 +td.x-date-mp-sel a {
 130.532 +	background-image:url(../images/darkgray/shared/glass-bg.gif);
 130.533 +	border:1px solid #000000;
 130.534 +	color: #f2eef0;
 130.535 +}
 130.536 +.x-date-mp-ybtn a {
 130.537 +    background-image:url(../images/darkgray/panel/tool-sprites.gif);
 130.538 +}
 130.539 +.x-date-mp-btns button {
 130.540 +	background-image:url(../images/darkgray/shared/glass-bg.gif);
 130.541 +	border-color: #555555 #000000 #000000 #555555;
 130.542 +}
 130.543 +.x-date-inner a:hover, .x-date-inner .x-date-disabled a:hover{
 130.544 +    color:#f2eef0;
 130.545 +    background: #333333;
 130.546 +}
 130.547 +td.x-date-mp-month a:hover,td.x-date-mp-year a:hover {
 130.548 +	color:#f2eef0;
 130.549 +	background: #333333;
 130.550 +}
 130.551 +
 130.552 +/* misc */
 130.553 +.x-html-editor-wrap {
 130.554 +    border-color:#d0d0d0;
 130.555 +}
 130.556 +
 130.557 +/* Borders go last for specificity */
 130.558 +.x-panel-noborder .x-panel-body-noborder {
 130.559 +    border-width:0;
 130.560 +}
 130.561 +
 130.562 +.x-panel-noborder .x-panel-header-noborder {
 130.563 +    border-width:0;
 130.564 +    border-bottom:1px solid #d0d0d0;
 130.565 +}
 130.566 +
 130.567 +.x-panel-noborder .x-panel-tbar-noborder .x-toolbar {
 130.568 +    border-width:0;
 130.569 +    border-bottom:1px solid #d0d0d0;
 130.570 +}
 130.571 +
 130.572 +.x-panel-noborder .x-panel-bbar-noborder .x-toolbar {
 130.573 +    border-width:0;
 130.574 +    border-top:1px solid #d0d0d0;
 130.575 +}
 130.576 +
 130.577 +.x-window-noborder .x-window-mc {
 130.578 +    border-width:0;
 130.579 +}
 130.580 +.x-window-plain .x-window-body-noborder {
 130.581 +    border-width:0;
 130.582 +}
 130.583 +
 130.584 +.x-tab-panel-noborder .x-tab-panel-body-noborder {
 130.585 +	border-width:0;
 130.586 +}
 130.587 +
 130.588 +.x-tab-panel-noborder .x-tab-panel-header-noborder {
 130.589 +	border-top-width:0;
 130.590 +	border-left-width:0;
 130.591 +	border-right-width:0;
 130.592 +}
 130.593 +
 130.594 +.x-tab-panel-noborder .x-tab-panel-footer-noborder {
 130.595 +	border-bottom-width:0;
 130.596 +	border-left-width:0;
 130.597 +	border-right-width:0;
 130.598 +}
 130.599 +
 130.600 +
 130.601 +.x-tab-panel-bbar-noborder .x-toolbar {
 130.602 +    border-width:0;
 130.603 +    border-top:1px solid #d0d0d0;
 130.604 +}
 130.605 +
 130.606 +.x-tab-panel-tbar-noborder .x-toolbar {
 130.607 +    border-width:0;
 130.608 +    border-bottom:1px solid #d0d0d0;
 130.609 +}
 130.610 \ No newline at end of file
   131.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   131.2 +++ b/onlypaths/theme/css/xtheme-gray-extend.css	Sun Jan 31 12:33:33 2010 -0500
   131.3 @@ -0,0 +1,104 @@
   131.4 +/***************************************************************/
   131.5 +/*galdaka extension for x-theme-gray | by Jose Alfonso Dacosta*/
   131.6 +/**************************************************************/
   131.7 +
   131.8 +/*FORM*/
   131.9 +.x-form-field{font:normal 11px arial, verdana, tahoma, arial, helvetica, sans-serif;}
  131.10 +.x-form-field-wrap .x-form-trigger{background:transparent url(../images/gray-extend/form/trigger.gif) no-repeat 0 0;border-bottom:1px solid #B5B8C8;}
  131.11 +.x-form-field-wrap .x-form-date-trigger{background-image:url(../images/gray-extend/form/date-trigger.gif);cursor:pointer;}
  131.12 +.x-form-field-wrap .x-form-clear-trigger{background-image:url(../images/gray-extend/form/clear-trigger.gif);cursor:pointer;}
  131.13 +.x-form-field-wrap .x-form-search-trigger{background-image:url(../images/gray-extend/form/search-trigger.gif);cursor:pointer;}
  131.14 +.x-form-field-wrap .x-form-trigger-over{background-position:-17px 0;}
  131.15 +.x-form-field-wrap .x-form-trigger-click{background-position:-34px 0;}
  131.16 +.x-trigger-wrap-focus .x-form-trigger{background-position:-51px 0;}
  131.17 +.x-trigger-wrap-focus .x-form-trigger-over{background-position:-68px 0;}
  131.18 +.x-trigger-wrap-focus .x-form-trigger-click{background-position:-85px 0;}
  131.19 +.x-item-disabled .x-form-trigger-over{background-position:0 0 !important;border-bottom: 1px solid red;}
  131.20 +.x-item-disabled .x-form-trigger-click{background-position:0 0 !important;border-bottom: 1px solid red;}
  131.21 +.x-form-focus{border: 1px solid #000000;}
  131.22 +.x-form-item {font:normal 11px arial, verdana, tahoma, arial, helvetica, sans-serif;color: #808594;}
  131.23 +.x-trigger-wrap-focus .x-form-trigger{border-bottom: 1px solid #b9b9b9;}
  131.24 +
  131.25 +/*SPECIAL LN*/
  131.26 +.x-form fieldset {border:1px solid #dedede;}
  131.27 +.x-form fieldset legend {font: bold 11px arial, verdana, tahoma, helvetica, sans-serif;color: #606060;}
  131.28 +
  131.29 +/*BOX*/
  131.30 +.x-box-blue .x-box-mc {background-color: #e7e7e7;}
  131.31 +
  131.32 +/*MASK*/
  131.33 +.ext-el-mask-msg{border:1px solid #8f8f8f;background:#d7d7d7 url(../images/gray-extend/box/tb-gray.gif) repeat-x 0 -16px;}
  131.34 +.ext-el-mask-msg div {border:1px solid #ccc;font:bold 12px Arial, verdana, arial, tahoma, helvetica, sans-serif;}
  131.35 +
  131.36 +/*GRID*/
  131.37 +td.x-grid3-hd-over,td.sort-desc,td.sort-asc,td.x-grid3-hd-menu-open{border-left:1px solid #c8c8c8;border-right:1px solid #c8c8c8;}
  131.38 +td.x-grid3-hd-over .x-grid3-hd-inner,td.sort-desc .x-grid3-hd-inner,td.sort-asc .x-grid3-hd-inner,td.x-grid3-hd-menu-open .x-grid3-hd-inner{background:#f2f2f2 url(../images/gray-extend/grid/grid3-hrow-over.gif) repeat-x left bottom;}
  131.39 +td.x-grid3-hd-over,td.sort-desc,td.sort-asc,td.x-grid3-hd-menu-open{border-left:1px solid #ececec;border-right:1px solid #c8c8c8;}
  131.40 +.x-dd-drag-proxy .x-grid3-hd-inner{background:#f2f2f2 url(../images/gray-extend/grid/grid3-hrow-over.gif) repeat-x left bottom;border:1px solid #c8c8c8;}
  131.41 +.col-move-top{background:transparent url(../images/gray-extend/grid/col-move-top.gif) no-repeat left top;}
  131.42 +.col-move-bottom{background:transparent url(../images/gray-extend/grid/col-move-bottom.gif) no-repeat left top;}
  131.43 +.x-grid3-row-selected{background:#e8e8e8!important;border:1px dotted #b9b9b9;}
  131.44 +.x-grid3-cell-selected{background-color:#cdcdcd!important;color:black;}
  131.45 +.x-grid3-locked td.x-grid3-row-marker,.x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker{background:#ebeadb url(../images/gray-extend/grid/grid-hrow.gif) repeat-x 0 bottom!important;border-right:1px solid #9c9c9c!important;}
  131.46 +.x-grid3-locked td.x-grid3-row-marker div,.x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker div{color:#434343!important;}
  131.47 +.x-grid3-bottombar .x-toolbar{border-top:1px solid #434343;}
  131.48 +.x-grid3-hd-btn{background:#d7d7d7 url(../images/gray-extend/grid/grid3-hd-btn.gif) no-repeat left center;}
  131.49 +.x-grid3-body .x-grid3-td-expander{background:transparent url(../images/gray-extend/grid/grid3-special-col-bg.gif) repeat-y right;}
  131.50 +.x-grid3-body .x-grid3-td-numberer{background:transparent url(../images/gray-extend/grid/grid3-special-col-bg.gif) repeat-y right;}
  131.51 +.x-grid3-body .x-grid3-row-selected .x-grid3-td-numberer,.x-grid3-body .x-grid3-row-selected .x-grid3-td-checker,.x-grid3-body .x-grid3-row-selected .x-grid3-td-expander{background:transparent url(img/graygrid/grid3-special-col-sel-bg.gif) repeat-y right;}
  131.52 +.x-grid-group-hd div{color:#626262;}
  131.53 +.x-grid-group-hd{border-bottom:2px solid #d7d7d7}
  131.54 +.x-grid-group-hd div{background:color: #616161;font:bold 11px arial,helvetica,sans-serif;}
  131.55 +.sort-asc .x-grid3-sort-icon{background-image:url(../images/gray-extend/grid/sort_asc.gif);display:inline;}
  131.56 +.sort-desc .x-grid3-sort-icon{background-image:url(../images/gray-extend/grid/sort_desc.gif);display:inline;}
  131.57 +
  131.58 +/*VIEW*/
  131.59 +.x-view-selector{background:#d8d8d8;}
  131.60 +
  131.61 +/*TREE*/
  131.62 +.x-tree-node .x-tree-selected{background-color:#e6e6e6; border: 1px dotted #b9b9b9;}
  131.63 +
  131.64 +/*DATEPICKER*/
  131.65 +.x-date-picker{border:1px solid #373737;}
  131.66 +.x-date-middle,.x-date-left,.x-date-right{background:url(../images/gray-extend/shared/hd-sprite.gif) repeat-x 0 -83px;}
  131.67 +.x-date-middle .x-btn-with-menu .x-btn-center em{background:transparent url(../images/gray-extend/toolbar/btn-arrow-light.gif) no-repeat right 0;}
  131.68 +.x-date-right a{background-image:url(../images/gray-extend/shared/right-btn.gif);}
  131.69 +.x-date-left a{background-image:url(../images/gray-extend/shared/left-btn.gif);}
  131.70 +.x-date-inner th{background:#eaeaea url(../images/gray-extend/shared/glass-bg.gif) repeat-x left top;border-bottom:1px solid #eaeaea;color:#6f6f6f}
  131.71 +.x-date-inner .x-date-selected a{background:#ebebeb url(../images/gray-extend/shared/glass-bg.gif) repeat-x left top;border:1px solid #afafaf;}
  131.72 +.x-date-bottom{border-top:1px solid #d5d5d5;background:#ebebeb url(../images/gray-extend/shared/glass-bg.gif) repeat-x left top;}
  131.73 +.x-date-inner a:hover,.x-date-inner .x-date-disabled a:hover{background:#eaeaea;}
  131.74 +.x-date-mp-btns button{background:#767676;border-color:#545454 #000000 #000000 #545454;}
  131.75 +.x-date-mp-btns{background:#ebebeb url(../images/gray-extend/shared/glass-bg.gif) repeat-x left top;}
  131.76 +.x-date-mp-btns td{border-top:1px solid #d0d0d0;}
  131.77 +td.x-date-mp-month a,td.x-date-mp-year a{color:#606060;}
  131.78 +td.x-date-mp-month a:hover,td.x-date-mp-year a:hover{color:#606060;background:#eaeaea;}
  131.79 +td.x-date-mp-sel a{padding:1px 3px;background:#dfecfb url(../images/gray-extend/shared/glass-bg.gif) repeat-x left top;border:1px solid #afafaf;}
  131.80 +.x-date-mp-ybtn a{background:transparent url(../images/gray-extend/panel/tool-sprites.gif) no-repeat;}
  131.81 +td.x-date-mp-sep{border-right:1px solid #d0d0d0;}
  131.82 +
  131.83 +/*MENU*/
  131.84 +.x-menu{border:1px solid #898989;}
  131.85 +.x-menu-item-arrow{background:transparent url(../images/gray-extend/menu/menu-parent.gif) no-repeat right;}
  131.86 +.x-menu-item-active{background:#ebf3fd url(../images/gray-extend/menu/item-over.gif) repeat-x left bottom;border:1px solid #c8c8c8;}
  131.87 +.x-menu-item-active a.x-menu-item{color:#5a5a5a;}
  131.88 +.x-menu .x-date-picker{border:1px solid #b8b8b8;}
  131.89 +.x-cycle-menu .x-menu-item-checked{border:1px dotted #b8b8b8!important;background:#e7e7e7;}
  131.90 +
  131.91 +/*COMBO*/
  131.92 +.x-combo-list{border:1px solid #bcbcbc;background:#ddecfe;zoom:1;}
  131.93 +.x-combo-list-hd{font:bold 11px arial,helvetica,sans-serif;color:#15428b;background-image:url(../images/gray-extend/layout/panel-title-light-bg.gif);border-bottom:1px solid #bcbcbc;padding:3px;}
  131.94 +.x-resizable-pinned .x-combo-list-inner{border-bottom:1px solid #bcbcbc;}
  131.95 +.x-combo-list-item{font:normal 11px arial,helvetica,sans-serif;}
  131.96 +.x-combo-list .x-combo-selected{border:1px dotted #b9b9b9!important;background:#e7e7e7;cursor:pointer;}
  131.97 +.x-combo-list .x-toolbar{border-top:1px solid #98c0f4;}
  131.98 +.x-combo-list-small .x-combo-list-item{font:normal 11px arial,helvetica,sans-serif;}
  131.99 +
 131.100 +/*BUTTONS*/
 131.101 +.x-btn-with-menu .x-btn-center em{background:transparent url(../images/gray-extend/toolbar/btn-arrow.gif) no-repeat right 0;}
 131.102 +
 131.103 +/*TOOLBAR*/
 131.104 +.x-tbar-page-first{background-image:url(../images/gray-extend/grid/page-first.gif)!important;}
 131.105 +.x-tbar-page-last{background-image:url(../images/gray-extend/grid/page-last.gif)!important;}
 131.106 +.x-tbar-page-next{background-image:url(../images/gray-extend/grid/page-next.gif)!important;}
 131.107 +.x-tbar-page-prev{background-image:url(../images/gray-extend/grid/page-prev.gif)!important;}
 131.108 \ No newline at end of file
   132.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   132.2 +++ b/onlypaths/theme/css/xtheme-gray.css	Sun Jan 31 12:33:33 2010 -0500
   132.3 @@ -0,0 +1,415 @@
   132.4 +/*
   132.5 + * Ext JS Library 2.1
   132.6 + * Copyright(c) 2006-2008, Ext JS, LLC.
   132.7 + * licensing@extjs.com
   132.8 + * 
   132.9 + * http://extjs.com/license
  132.10 + */
  132.11 +
  132.12 +.x-panel {
  132.13 +    border-style: solid;
  132.14 +    border-color: #d0d0d0;
  132.15 +}
  132.16 +.x-panel-header {
  132.17 +    color:#333;
  132.18 +	border:1px solid #d0d0d0;
  132.19 +    background-image:url(../images/gray/panel/white-top-bottom.gif);
  132.20 +}
  132.21 +
  132.22 +.x-panel-body {
  132.23 +    border-color:#d0d0d0;
  132.24 +}
  132.25 +
  132.26 +.x-panel-bbar .x-toolbar {
  132.27 +    border-color:#d0d0d0;
  132.28 +}
  132.29 +
  132.30 +.x-panel-tbar .x-toolbar {
  132.31 +    border-color:#d0d0d0;
  132.32 +}
  132.33 +
  132.34 +.x-panel-tbar-noheader .x-toolbar, .x-panel-mc .x-panel-tbar .x-toolbar {
  132.35 +    border-color:#d0d0d0;
  132.36 +}
  132.37 +.x-panel-body-noheader, .x-panel-mc .x-panel-body {
  132.38 +    border-color:#d0d0d0;
  132.39 +}
  132.40 +.x-panel-tl .x-panel-header {
  132.41 +    color:#333;
  132.42 +}
  132.43 +.x-panel-tc {
  132.44 +	background-image:url(../images/gray/panel/top-bottom.gif);
  132.45 +}
  132.46 +.x-panel-tl {
  132.47 +	background-image:url(../images/gray/panel/corners-sprite.gif);
  132.48 +    border-color:#d0d0d0;
  132.49 +}
  132.50 +.x-panel-tr {
  132.51 +	background-image:url(../images/gray/panel/corners-sprite.gif);
  132.52 +}
  132.53 +.x-panel-bc {
  132.54 +	background-image:url(../images/gray/panel/top-bottom.gif);
  132.55 +}
  132.56 +.x-panel-bl {
  132.57 +	background-image:url(../images/gray/panel/corners-sprite.gif);
  132.58 +}
  132.59 +.x-panel-br {
  132.60 +	background-image:url(../images/gray/panel/corners-sprite.gif);
  132.61 +}
  132.62 +.x-panel-mc {
  132.63 +    background:#f1f1f1;
  132.64 +}
  132.65 +.x-panel-mc .x-panel-body {
  132.66 +    background:transparent;
  132.67 +    border: 0 none;
  132.68 +}
  132.69 +.x-panel-ml {
  132.70 +	background-image:url(../images/gray/panel/left-right.gif);
  132.71 +}
  132.72 +.x-panel-mr {
  132.73 +	background-image:url(../images/gray/panel/left-right.gif);
  132.74 +}
  132.75 +
  132.76 +/* Tools */
  132.77 +.x-tool {
  132.78 +    background-image:url(../images/gray/panel/tool-sprites.gif);
  132.79 +}
  132.80 +
  132.81 +/* Ghosting */
  132.82 +.x-panel-ghost {
  132.83 +    background:#e0e0e0;
  132.84 +}
  132.85 +
  132.86 +.x-panel-ghost ul {
  132.87 +    border-color:#b0b0b0;
  132.88 +}
  132.89 +
  132.90 +.x-grid-panel .x-panel-mc .x-panel-body {
  132.91 +    border:1px solid #d0d0d0;
  132.92 +}
  132.93 +
  132.94 +/* Buttons */
  132.95 +
  132.96 +.x-btn-left{
  132.97 +	background-image:url(../images/gray/button/btn-sprite.gif);
  132.98 +}
  132.99 +.x-btn-right{
 132.100 +	background-image:url(../images/gray/button/btn-sprite.gif);
 132.101 +}
 132.102 +.x-btn-center{
 132.103 +	background-image:url(../images/gray/button/btn-sprite.gif);
 132.104 +}
 132.105 +
 132.106 +/* Layout classes */
 132.107 +
 132.108 +.x-border-layout-ct {
 132.109 +    background:#f0f0f0;
 132.110 +}
 132.111 +
 132.112 +.x-accordion-hd {
 132.113 +	background-image:url(../images/gray/panel/light-hd.gif);
 132.114 +}
 132.115 +
 132.116 +.x-layout-collapsed{
 132.117 +    background-color:#eee;
 132.118 +    border-color:#e0e0e0;
 132.119 +}
 132.120 +.x-layout-collapsed-over{
 132.121 +	 background-color:#fbfbfb;
 132.122 +}
 132.123 +
 132.124 +
 132.125 +/* qtips */
 132.126 +.x-tip .x-tip-top {
 132.127 +	background-image:url(../images/gray/qtip/tip-sprite.gif);
 132.128 +}
 132.129 +.x-tip .x-tip-top-left {
 132.130 +	background-image:url(../images/gray/qtip/tip-sprite.gif);
 132.131 +}
 132.132 +.x-tip .x-tip-top-right {
 132.133 +	background-image:url(../images/gray/qtip/tip-sprite.gif);
 132.134 +}
 132.135 +.x-tip .x-tip-ft {
 132.136 +	background-image:url(../images/gray/qtip/tip-sprite.gif);
 132.137 +}
 132.138 +.x-tip .x-tip-ft-left {
 132.139 +	background-image:url(../images/gray/qtip/tip-sprite.gif);
 132.140 +}
 132.141 +.x-tip .x-tip-ft-right {
 132.142 +	background-image:url(../images/gray/qtip/tip-sprite.gif);
 132.143 +}
 132.144 +.x-tip .x-tip-bd-left {
 132.145 +	background-image:url(../images/gray/qtip/tip-sprite.gif);
 132.146 +}
 132.147 +.x-tip .x-tip-bd-right {
 132.148 +	background-image:url(../images/gray/qtip/tip-sprite.gif);
 132.149 +}
 132.150 +
 132.151 +/* Toolbars */
 132.152 +
 132.153 +.x-toolbar{
 132.154 +	border-color:#d0d0d0;
 132.155 +    background:#f0f4f5 url(../images/gray/toolbar/bg.gif) repeat-x top left;
 132.156 +}
 132.157 +.x-toolbar button {
 132.158 +    color:#444;
 132.159 +}
 132.160 +.x-toolbar .x-btn-menu-arrow-wrap .x-btn-center button {
 132.161 +    background-image:url(../images/gray/toolbar/btn-arrow.gif);
 132.162 +}
 132.163 +.x-toolbar .x-btn-text-icon .x-btn-menu-arrow-wrap .x-btn-center button {
 132.164 +    background-image:url(../images/gray/toolbar/btn-arrow.gif);
 132.165 +}
 132.166 +.x-toolbar .x-btn-over .x-btn-left{
 132.167 +	background-image:url(../images/gray/toolbar/tb-btn-sprite.gif);
 132.168 +}
 132.169 +.x-toolbar .x-btn-over .x-btn-right{
 132.170 +	background-image:url(../images/gray/toolbar/tb-btn-sprite.gif);
 132.171 +}
 132.172 +.x-toolbar .x-btn-over .x-btn-center{
 132.173 +	background-image:url(../images/gray/toolbar/tb-btn-sprite.gif);
 132.174 +}
 132.175 +.x-toolbar .x-btn-over button {
 132.176 +    color:#111;
 132.177 +}
 132.178 +.x-toolbar .x-btn-click .x-btn-left, .x-toolbar .x-btn-pressed .x-btn-left, .x-toolbar .x-btn-menu-active .x-btn-left{
 132.179 +	background-image:url(../images/gray/toolbar/tb-btn-sprite.gif);
 132.180 +}
 132.181 +.x-toolbar .x-btn-click .x-btn-right, .x-toolbar .x-btn-pressed .x-btn-right, .x-toolbar .x-btn-menu-active .x-btn-right{
 132.182 +	background-image:url(../images/gray/toolbar/tb-btn-sprite.gif);
 132.183 +}
 132.184 +
 132.185 +.x-toolbar .x-btn-click .x-btn-center, .x-toolbar .x-btn-pressed .x-btn-center, .x-toolbar .x-btn-menu-active .x-btn-center{
 132.186 +	background-image:url(../images/gray/toolbar/tb-btn-sprite.gif);
 132.187 +}
 132.188 +.x-toolbar .ytb-sep {
 132.189 +	background-image: url(../images/default/grid/grid-split.gif);
 132.190 +}
 132.191 +
 132.192 +/* Tabs */
 132.193 +
 132.194 +.x-tab-panel-header, .x-tab-panel-footer {
 132.195 +	background: #EAEAEA;
 132.196 +	border-color:#d0d0d0;
 132.197 +}
 132.198 +
 132.199 +
 132.200 +.x-tab-panel-header {
 132.201 +	border-color:#d0d0d0;
 132.202 +}
 132.203 +
 132.204 +.x-tab-panel-footer {
 132.205 +	border-color:#d0d0d0;
 132.206 +}
 132.207 +
 132.208 +ul.x-tab-strip-top{
 132.209 +	background:#dbdbdb url(../images/gray/tabs/tab-strip-bg.gif) repeat-x left top;
 132.210 +	border-color:#d0d0d0;
 132.211 +    padding-top: 2px;
 132.212 +}
 132.213 +
 132.214 +ul.x-tab-strip-bottom{
 132.215 +	background-image:url(../images/gray/tabs/tab-strip-btm-bg.gif);
 132.216 +	border-color:#d0d0d0;
 132.217 +}
 132.218 +
 132.219 +.x-tab-strip span.x-tab-strip-text {
 132.220 +	color:#333;
 132.221 +}
 132.222 +.x-tab-strip-over span.x-tab-strip-text {
 132.223 +	color:#111;
 132.224 +}
 132.225 +
 132.226 +.x-tab-strip-active span.x-tab-strip-text {
 132.227 +	color:#333;
 132.228 +}
 132.229 +
 132.230 +.x-tab-strip-disabled .x-tabs-text {
 132.231 +	color:#aaaaaa;
 132.232 +}
 132.233 +
 132.234 +.x-tab-strip-top .x-tab-right {
 132.235 +	background-image:url(../images/gray/tabs/tabs-sprite.gif);
 132.236 +}
 132.237 +
 132.238 +.x-tab-strip-top .x-tab-left {
 132.239 +	background-image:url(../images/gray/tabs/tabs-sprite.gif);
 132.240 +}
 132.241 +.x-tab-strip-top .x-tab-strip-inner {
 132.242 +	background-image:url(../images/gray/tabs/tabs-sprite.gif);
 132.243 +}
 132.244 +
 132.245 +.x-tab-strip-bottom .x-tab-right {
 132.246 +	background-image:url(../images/gray/tabs/tab-btm-inactive-right-bg.gif);
 132.247 +}
 132.248 +
 132.249 +.x-tab-strip-bottom .x-tab-left {
 132.250 +	background-image:url(../images/gray/tabs/tab-btm-inactive-left-bg.gif);
 132.251 +}
 132.252 +
 132.253 +.x-tab-strip-bottom .x-tab-strip-active .x-tab-right {
 132.254 +	background-image:url(../images/gray/tabs/tab-btm-right-bg.gif);
 132.255 +}
 132.256 +
 132.257 +.x-tab-strip-bottom .x-tab-strip-active .x-tab-left {
 132.258 +	background-image:url(../images/gray/tabs/tab-btm-left-bg.gif);
 132.259 +}
 132.260 +
 132.261 +.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close {
 132.262 +	background-image:url(../images/gray/tabs/tab-close.gif);
 132.263 +}
 132.264 +.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close:hover{
 132.265 +	background-image:url(../images/gray/tabs/tab-close.gif);
 132.266 +}
 132.267 +
 132.268 +.x-tab-panel-body {
 132.269 +    border-color:#d0d0d0;
 132.270 +    background:#fff;
 132.271 +}
 132.272 +.x-tab-panel-bbar .x-toolbar {
 132.273 +    border-color: #d0d0d0;
 132.274 +}
 132.275 +
 132.276 +.x-tab-panel-tbar .x-toolbar {
 132.277 +    border-color: #d0d0d0;
 132.278 +}
 132.279 +
 132.280 +.x-tab-panel-header-plain .x-tab-strip-spacer {
 132.281 +    border-color:#d0d0d0;
 132.282 +    background: #eaeaea;
 132.283 +}
 132.284 +
 132.285 +.x-tab-scroller-left {
 132.286 +    background-image: url(../images/gray/tabs/scroll-left.gif);
 132.287 +    border-color:#aeaeae;
 132.288 +}
 132.289 +.x-tab-scroller-right {
 132.290 +    background-image: url(../images/gray/tabs/scroll-right.gif);
 132.291 +    border-color:#aeaeae;
 132.292 +}
 132.293 +
 132.294 +/* Window */
 132.295 +
 132.296 +.x-window-proxy {
 132.297 +    background:#e0e0e0;
 132.298 +    border-color:#b0b0b0;
 132.299 +}
 132.300 +
 132.301 +.x-window-tl .x-window-header {
 132.302 +    color:#555;
 132.303 +}
 132.304 +.x-window-tc {
 132.305 +	background-image:url(../images/gray/window/top-bottom.png);
 132.306 +}
 132.307 +.x-window-tl {
 132.308 +	background-image:url(../images/gray/window/left-corners.png);
 132.309 +}
 132.310 +.x-window-tr {
 132.311 +	background-image:url(../images/gray/window/right-corners.png);
 132.312 +}
 132.313 +.x-window-bc {
 132.314 +	background-image:url(../images/gray/window/top-bottom.png);
 132.315 +}
 132.316 +.x-window-bl {
 132.317 +	background-image:url(../images/gray/window/left-corners.png);
 132.318 +}
 132.319 +.x-window-br {
 132.320 +	background-image:url(../images/gray/window/right-corners.png);
 132.321 +}
 132.322 +.x-window-mc {
 132.323 +    border:1px solid #d0d0d0;
 132.324 +    background:#e8e8e8;
 132.325 +}
 132.326 +
 132.327 +.x-window-ml {
 132.328 +	background-image:url(../images/gray/window/left-right.png);
 132.329 +}
 132.330 +.x-window-mr {
 132.331 +	background-image:url(../images/gray/window/left-right.png);
 132.332 +}
 132.333 +.x-panel-ghost .x-window-tl {
 132.334 +    border-color:#d0d0d0;
 132.335 +}
 132.336 +.x-panel-collapsed .x-window-tl {
 132.337 +    border-color:#d0d0d0;
 132.338 +}
 132.339 +
 132.340 +.x-window-plain .x-window-mc {
 132.341 +    background: #e8e8e8;
 132.342 +    border-right:1px solid #eee;
 132.343 +    border-bottom:1px solid #eee;
 132.344 +    border-top:1px solid #d0d0d0;
 132.345 +    border-left:1px solid #d0d0d0;
 132.346 +}
 132.347 +
 132.348 +.x-window-plain .x-window-body {
 132.349 +    border-left:1px solid #eee;
 132.350 +    border-top:1px solid #eee;
 132.351 +    border-bottom:1px solid #d0d0d0;
 132.352 +    border-right:1px solid #d0d0d0;
 132.353 +    background:transparent !important;
 132.354 +}
 132.355 +
 132.356 +body.x-body-masked .x-window-mc, body.x-body-masked .x-window-plain .x-window-mc {
 132.357 +    background-color: #e4e4e4;
 132.358 +}
 132.359 +
 132.360 +
 132.361 +/* misc */
 132.362 +.x-html-editor-wrap {
 132.363 +    border-color:#d0d0d0;
 132.364 +}
 132.365 +
 132.366 +/* Borders go last for specificity */
 132.367 +.x-panel-noborder .x-panel-body-noborder {
 132.368 +    border-width:0;
 132.369 +}
 132.370 +
 132.371 +.x-panel-noborder .x-panel-header-noborder {
 132.372 +    border-width:0;
 132.373 +    border-bottom:1px solid #d0d0d0;
 132.374 +}
 132.375 +
 132.376 +.x-panel-noborder .x-panel-tbar-noborder .x-toolbar {
 132.377 +    border-width:0;
 132.378 +    border-bottom:1px solid #d0d0d0;
 132.379 +}
 132.380 +
 132.381 +.x-panel-noborder .x-panel-bbar-noborder .x-toolbar {
 132.382 +    border-width:0;
 132.383 +    border-top:1px solid #d0d0d0;
 132.384 +}
 132.385 +
 132.386 +.x-window-noborder .x-window-mc {
 132.387 +    border-width:0;
 132.388 +}
 132.389 +.x-window-plain .x-window-body-noborder {
 132.390 +    border-width:0;
 132.391 +}
 132.392 +
 132.393 +.x-tab-panel-noborder .x-tab-panel-body-noborder {
 132.394 +	border-width:0;
 132.395 +}
 132.396 +
 132.397 +.x-tab-panel-noborder .x-tab-panel-header-noborder {
 132.398 +	border-top-width:0;
 132.399 +	border-left-width:0;
 132.400 +	border-right-width:0;
 132.401 +}
 132.402 +
 132.403 +.x-tab-panel-noborder .x-tab-panel-footer-noborder {
 132.404 +	border-bottom-width:0;
 132.405 +	border-left-width:0;
 132.406 +	border-right-width:0;
 132.407 +}
 132.408 +
 132.409 +
 132.410 +.x-tab-panel-bbar-noborder .x-toolbar {
 132.411 +    border-width:0;
 132.412 +    border-top:1px solid #d0d0d0;
 132.413 +}
 132.414 +
 132.415 +.x-tab-panel-tbar-noborder .x-toolbar {
 132.416 +    border-width:0;
 132.417 +    border-bottom:1px solid #d0d0d0;
 132.418 +}
 132.419 \ No newline at end of file
   133.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   133.2 +++ b/onlypaths/theme/css/xtheme-green.css	Sun Jan 31 12:33:33 2010 -0500
   133.3 @@ -0,0 +1,415 @@
   133.4 +/*
   133.5 + * Ext JS Library 2.0 RC 1
   133.6 + * Copyright(c) 2006-2007, Ext JS, LLC.
   133.7 + * licensing@extjs.com
   133.8 + * 
   133.9 + * http://extjs.com/license
  133.10 + */
  133.11 +
  133.12 +.x-panel {
  133.13 +    border-style: solid;
  133.14 +    border-color: #91ceb9;
  133.15 +}
  133.16 +.x-panel-header {
  133.17 +    color:#333;
  133.18 +	border:1px solid #91ceb9;
  133.19 +    background-image:url(../images/green/panel/white-top-bottom.gif);
  133.20 +}
  133.21 +
  133.22 +.x-panel-body {
  133.23 +    border-color:#91ceb9;
  133.24 +}
  133.25 +
  133.26 +.x-panel-bbar .x-toolbar {
  133.27 +    border-color:#91ceb9;
  133.28 +}
  133.29 +
  133.30 +.x-panel-tbar .x-toolbar {
  133.31 +    border-color:#91ceb9;
  133.32 +}
  133.33 +
  133.34 +.x-panel-tbar-noheader .x-toolbar, .x-panel-mc .x-panel-tbar .x-toolbar {
  133.35 +    border-color:#91ceb9;
  133.36 +}
  133.37 +.x-panel-body-noheader, .x-panel-mc .x-panel-body {
  133.38 +    border-color:#91ceb9;
  133.39 +}
  133.40 +.x-panel-tl .x-panel-header {
  133.41 +    color:#333;
  133.42 +}
  133.43 +.x-panel-tc {
  133.44 +	background-image:url(../images/green/panel/top-bottom.gif);
  133.45 +}
  133.46 +.x-panel-tl {
  133.47 +	background-image:url(../images/green/panel/corners-sprite.gif);
  133.48 +    border-color:#91ceb9;
  133.49 +}
  133.50 +.x-panel-tr {
  133.51 +	background-image:url(../images/green/panel/corners-sprite.gif);
  133.52 +}
  133.53 +.x-panel-bc {
  133.54 +	background-image:url(../images/green/panel/top-bottom.gif);
  133.55 +}
  133.56 +.x-panel-bl {
  133.57 +	background-image:url(../images/green/panel/corners-sprite.gif);
  133.58 +}
  133.59 +.x-panel-br {
  133.60 +	background-image:url(../images/green/panel/corners-sprite.gif);
  133.61 +}
  133.62 +.x-panel-mc {
  133.63 +    background:#d8efe7;
  133.64 +}
  133.65 +.x-panel-mc .x-panel-body {
  133.66 +    background:transparent;
  133.67 +    border: 0 none;
  133.68 +}
  133.69 +.x-panel-ml {
  133.70 +	background-image:url(../images/green/panel/left-right.gif);
  133.71 +}
  133.72 +.x-panel-mr {
  133.73 +	background-image:url(../images/green/panel/left-right.gif);
  133.74 +}
  133.75 +
  133.76 +/* Tools */
  133.77 +.x-tool {
  133.78 +    background-image:url(../images/green/panel/tool-sprites.gif);
  133.79 +}
  133.80 +
  133.81 +/* Ghosting */
  133.82 +.x-panel-ghost {
  133.83 +    background:#b2dece;
  133.84 +}
  133.85 +
  133.86 +.x-panel-ghost ul {
  133.87 +    border-color:#55ae8f;
  133.88 +}
  133.89 +
  133.90 +.x-grid-panel .x-panel-mc .x-panel-body {
  133.91 +    border:1px solid #91ceb9;
  133.92 +}
  133.93 +
  133.94 +/* Buttons */
  133.95 +
  133.96 +.x-btn-left{
  133.97 +	background-image:url(../images/green/button/btn-sprite.gif);
  133.98 +}
  133.99 +.x-btn-right{
 133.100 +	background-image:url(../images/green/button/btn-sprite.gif);
 133.101 +}
 133.102 +.x-btn-center{
 133.103 +	background-image:url(../images/green/button/btn-sprite.gif);
 133.104 +}
 133.105 +
 133.106 +/* Layout classes */
 133.107 +
 133.108 +.x-border-layout-ct {
 133.109 +    background:#d5eee5;
 133.110 +}
 133.111 +
 133.112 +.x-accordion-hd {
 133.113 +	background-image:url(../images/green/panel/light-hd.gif);
 133.114 +}
 133.115 +
 133.116 +.x-layout-collapsed{
 133.117 +    background-color:#d0ebe2;
 133.118 +    border-color:#b2dece;
 133.119 +}
 133.120 +.x-layout-collapsed-over{
 133.121 +	 background-color:#f0f9f6;
 133.122 +}
 133.123 +
 133.124 +
 133.125 +/* qtips */
 133.126 +.x-tip .x-tip-top {
 133.127 +	background-image:url(../images/green/qtip/tip-sprite.gif);
 133.128 +}
 133.129 +.x-tip .x-tip-top-left {
 133.130 +	background-image:url(../images/green/qtip/tip-sprite.gif);
 133.131 +}
 133.132 +.x-tip .x-tip-top-right {
 133.133 +	background-image:url(../images/green/qtip/tip-sprite.gif);
 133.134 +}
 133.135 +.x-tip .x-tip-ft {
 133.136 +	background-image:url(../images/green/qtip/tip-sprite.gif);
 133.137 +}
 133.138 +.x-tip .x-tip-ft-left {
 133.139 +	background-image:url(../images/green/qtip/tip-sprite.gif);
 133.140 +}
 133.141 +.x-tip .x-tip-ft-right {
 133.142 +	background-image:url(../images/green/qtip/tip-sprite.gif);
 133.143 +}
 133.144 +.x-tip .x-tip-bd-left {
 133.145 +	background-image:url(../images/green/qtip/tip-sprite.gif);
 133.146 +}
 133.147 +.x-tip .x-tip-bd-right {
 133.148 +	background-image:url(../images/green/qtip/tip-sprite.gif);
 133.149 +}
 133.150 +
 133.151 +/* Toolbars */
 133.152 +
 133.153 +.x-toolbar{
 133.154 +	border-color:#91ceb9;
 133.155 +    background:#ddf1ea url(../images/green/toolbar/bg.gif) repeat-x top left;
 133.156 +}
 133.157 +.x-toolbar button {
 133.158 +    color:#444;
 133.159 +}
 133.160 +.x-toolbar .x-btn-menu-arrow-wrap .x-btn-center button {
 133.161 +    background-image:url(../images/green/toolbar/btn-arrow.gif);
 133.162 +}
 133.163 +.x-toolbar .x-btn-text-icon .x-btn-menu-arrow-wrap .x-btn-center button {
 133.164 +    background-image:url(../images/green/toolbar/btn-arrow.gif);
 133.165 +}
 133.166 +.x-toolbar .x-btn-over .x-btn-left{
 133.167 +	background-image:url(../images/green/toolbar/tb-btn-sprite.gif);
 133.168 +}
 133.169 +.x-toolbar .x-btn-over .x-btn-right{
 133.170 +	background-image:url(../images/green/toolbar/tb-btn-sprite.gif);
 133.171 +}
 133.172 +.x-toolbar .x-btn-over .x-btn-center{
 133.173 +	background-image:url(../images/green/toolbar/tb-btn-sprite.gif);
 133.174 +}
 133.175 +.x-toolbar .x-btn-over button {
 133.176 +    color:#111;
 133.177 +}
 133.178 +.x-toolbar .x-btn-click .x-btn-left, .x-toolbar .x-btn-pressed .x-btn-left, .x-toolbar .x-btn-menu-active .x-btn-left{
 133.179 +	background-image:url(../images/green/toolbar/tb-btn-sprite.gif);
 133.180 +}
 133.181 +.x-toolbar .x-btn-click .x-btn-right, .x-toolbar .x-btn-pressed .x-btn-right, .x-toolbar .x-btn-menu-active .x-btn-right{
 133.182 +	background-image:url(../images/green/toolbar/tb-btn-sprite.gif);
 133.183 +}
 133.184 +
 133.185 +.x-toolbar .x-btn-click .x-btn-center, .x-toolbar .x-btn-pressed .x-btn-center, .x-toolbar .x-btn-menu-active .x-btn-center{
 133.186 +	background-image:url(../images/green/toolbar/tb-btn-sprite.gif);
 133.187 +}
 133.188 +.x-toolbar .ytb-sep {
 133.189 +	background-image: url(../images/default/grid/grid-split.gif);
 133.190 +}
 133.191 +
 133.192 +/* Tabs */
 133.193 +
 133.194 +.x-tab-panel-header, .x-tab-panel-footer {
 133.195 +	background: #77bcb9;
 133.196 +	border-color:#91ceb9;
 133.197 +}
 133.198 +
 133.199 +
 133.200 +.x-tab-panel-header {
 133.201 +	border-color:#91ceb9;
 133.202 +}
 133.203 +
 133.204 +.x-tab-panel-footer {
 133.205 +	border-color:#91ceb9;
 133.206 +}
 133.207 +
 133.208 +ul.x-tab-strip-top{
 133.209 +	background:#037162 url(../images/green/tabs/tab-strip-bg.gif) repeat-x left top;
 133.210 +	border-color:#91ceb9;
 133.211 +    padding-top: 2px;
 133.212 +}
 133.213 +
 133.214 +ul.x-tab-strip-bottom{
 133.215 +	background-image:url(../images/green/tabs/tab-strip-btm-bg.gif);
 133.216 +	border-color:#91ceb9;
 133.217 +}
 133.218 +
 133.219 +.x-tab-strip span.x-tab-strip-text {
 133.220 +	color:#333;
 133.221 +}
 133.222 +.x-tab-strip-over span.x-tab-strip-text {
 133.223 +	color:#111;
 133.224 +}
 133.225 +
 133.226 +.x-tab-strip-active span.x-tab-strip-text {
 133.227 +	color:#333;
 133.228 +}
 133.229 +
 133.230 +.x-tab-strip-disabled .x-tabs-text {
 133.231 +	color:#a6d8c7;
 133.232 +}
 133.233 +
 133.234 +.x-tab-strip-top .x-tab-right {
 133.235 +	background-image:url(../images/green/tabs/tabs-sprite.gif);
 133.236 +}
 133.237 +
 133.238 +.x-tab-strip-top .x-tab-left {
 133.239 +	background-image:url(../images/green/tabs/tabs-sprite.gif);
 133.240 +}
 133.241 +.x-tab-strip-top .x-tab-strip-inner {
 133.242 +	background-image:url(../images/green/tabs/tabs-sprite.gif);
 133.243 +}
 133.244 +
 133.245 +.x-tab-strip-bottom .x-tab-right {
 133.246 +	background-image:url(../images/green/tabs/tab-btm-inactive-right-bg.gif);
 133.247 +}
 133.248 +
 133.249 +.x-tab-strip-bottom .x-tab-left {
 133.250 +	background-image:url(../images/green/tabs/tab-btm-inactive-left-bg.gif);
 133.251 +}
 133.252 +
 133.253 +.x-tab-strip-bottom .x-tab-strip-active .x-tab-right {
 133.254 +	background-image:url(../images/green/tabs/tab-btm-right-bg.gif);
 133.255 +}
 133.256 +
 133.257 +.x-tab-strip-bottom .x-tab-strip-active .x-tab-left {
 133.258 +	background-image:url(../images/green/tabs/tab-btm-left-bg.gif);
 133.259 +}
 133.260 +
 133.261 +.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close {
 133.262 +	background-image:url(../images/green/tabs/tab-close.gif);
 133.263 +}
 133.264 +.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close:hover{
 133.265 +	background-image:url(../images/green/tabs/tab-close.gif);
 133.266 +}
 133.267 +
 133.268 +.x-tab-panel-body {
 133.269 +    border-color:#91ceb9;
 133.270 +    background:#fff;
 133.271 +}
 133.272 +.x-tab-panel-bbar .x-toolbar {
 133.273 +    border-color: #91ceb9;
 133.274 +}
 133.275 +
 133.276 +.x-tab-panel-tbar .x-toolbar {
 133.277 +    border-color: #91ceb9;
 133.278 +}
 133.279 +
 133.280 +.x-tab-panel-header-plain .x-tab-strip-spacer {
 133.281 +    border-color:#91ceb9;
 133.282 +    background: #77bcb9;
 133.283 +}
 133.284 +
 133.285 +.x-tab-scroller-left {
 133.286 +    background-image: url(../images/green/tabs/scroll-left.gif);
 133.287 +    border-color:#4aaea2;
 133.288 +}
 133.289 +.x-tab-scroller-right {
 133.290 +    background-image: url(../images/green/tabs/scroll-right.gif);
 133.291 +    border-color:#4aaea2;
 133.292 +}
 133.293 +
 133.294 +/* Window */
 133.295 +
 133.296 +.x-window-proxy {
 133.297 +    background:#b2dece;
 133.298 +    border-color:#55ae8f;
 133.299 +}
 133.300 +
 133.301 +.x-window-tl .x-window-header {
 133.302 +    color:#555;
 133.303 +}
 133.304 +.x-window-tc {
 133.305 +	background-image:url(../images/green/window/top-bottom.png);
 133.306 +}
 133.307 +.x-window-tl {
 133.308 +	background-image:url(../images/green/window/left-corners.png);
 133.309 +}
 133.310 +.x-window-tr {
 133.311 +	background-image:url(../images/green/window/right-corners.png);
 133.312 +}
 133.313 +.x-window-bc {
 133.314 +	background-image:url(../images/green/window/top-bottom.png);
 133.315 +}
 133.316 +.x-window-bl {
 133.317 +	background-image:url(../images/green/window/left-corners.png);
 133.318 +}
 133.319 +.x-window-br {
 133.320 +	background-image:url(../images/green/window/right-corners.png);
 133.321 +}
 133.322 +.x-window-mc {
 133.323 +    border:1px solid #91ceb9;
 133.324 +    background:#91cec6;
 133.325 +}
 133.326 +
 133.327 +.x-window-ml {
 133.328 +	background-image:url(../images/green/window/left-right.png);
 133.329 +}
 133.330 +.x-window-mr {
 133.331 +	background-image:url(../images/green/window/left-right.png);
 133.332 +}
 133.333 +.x-panel-ghost .x-window-tl {
 133.334 +    border-color:#91ceb9;
 133.335 +}
 133.336 +.x-panel-collapsed .x-window-tl {
 133.337 +    border-color:#91ceb9;
 133.338 +}
 133.339 +
 133.340 +.x-window-plain .x-window-mc {
 133.341 +    background: #91cec6;
 133.342 +    border-right:1px solid #d0ebe2;
 133.343 +    border-bottom:1px solid #d0ebe2;
 133.344 +    border-top:1px solid #91ceb9;
 133.345 +    border-left:1px solid #91ceb9;
 133.346 +}
 133.347 +
 133.348 +.x-window-plain .x-window-body {
 133.349 +    border-left:1px solid #d0ebe2;
 133.350 +    border-top:1px solid #d0ebe2;
 133.351 +    border-bottom:1px solid #91ceb9;
 133.352 +    border-right:1px solid #91ceb9;
 133.353 +    background:transparent !important;
 133.354 +}
 133.355 +
 133.356 +body.x-body-masked .x-window-mc, body.x-body-masked .x-window-plain .x-window-mc {
 133.357 +    background-color: #bce2d5;
 133.358 +}
 133.359 +
 133.360 +
 133.361 +/* misc */
 133.362 +.x-html-editor-wrap {
 133.363 +    border-color:#91ceb9;
 133.364 +}
 133.365 +
 133.366 +/* Borders go last for specificity */
 133.367 +.x-panel-noborder .x-panel-body-noborder {
 133.368 +    border-width:0;
 133.369 +}
 133.370 +
 133.371 +.x-panel-noborder .x-panel-header-noborder {
 133.372 +    border-width:0;
 133.373 +    border-bottom:1px solid #91ceb9;
 133.374 +}
 133.375 +
 133.376 +.x-panel-noborder .x-panel-tbar-noborder .x-toolbar {
 133.377 +    border-width:0;
 133.378 +    border-bottom:1px solid #91ceb9;
 133.379 +}
 133.380 +
 133.381 +.x-panel-noborder .x-panel-bbar-noborder .x-toolbar {
 133.382 +    border-width:0;
 133.383 +    border-top:1px solid #91ceb9;
 133.384 +}
 133.385 +
 133.386 +.x-window-noborder .x-window-mc {
 133.387 +    border-width:0;
 133.388 +}
 133.389 +.x-window-plain .x-window-body-noborder {
 133.390 +    border-width:0;
 133.391 +}
 133.392 +
 133.393 +.x-tab-panel-noborder .x-tab-panel-body-noborder {
 133.394 +	border-width:0;
 133.395 +}
 133.396 +
 133.397 +.x-tab-panel-noborder .x-tab-panel-header-noborder {
 133.398 +	border-top-width:0;
 133.399 +	border-left-width:0;
 133.400 +	border-right-width:0;
 133.401 +}
 133.402 +
 133.403 +.x-tab-panel-noborder .x-tab-panel-footer-noborder {
 133.404 +	border-bottom-width:0;
 133.405 +	border-left-width:0;
 133.406 +	border-right-width:0;
 133.407 +}
 133.408 +
 133.409 +
 133.410 +.x-tab-panel-bbar-noborder .x-toolbar {
 133.411 +    border-width:0;
 133.412 +    border-top:1px solid #91ceb9;
 133.413 +}
 133.414 +
 133.415 +.x-tab-panel-tbar-noborder .x-toolbar {
 133.416 +    border-width:0;
 133.417 +    border-bottom:1px solid #91ceb9;
 133.418 +}
 133.419 \ No newline at end of file
   134.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   134.2 +++ b/onlypaths/theme/css/xtheme-indigo.css	Sun Jan 31 12:33:33 2010 -0500
   134.3 @@ -0,0 +1,672 @@
   134.4 +.x-panel {
   134.5 +    border-style: solid;
   134.6 +    border-color: #abc;
   134.7 +}
   134.8 +.x-panel-header {
   134.9 +    color:#fafafa;
  134.10 +	border:1px solid #abc;
  134.11 +    background-image:url(../images/indigo/panel_white-top-bottom.gif);
  134.12 +}
  134.13 +
  134.14 +.x-panel-body {
  134.15 +    border-color:#abc;
  134.16 +}
  134.17 +
  134.18 +.x-panel-bbar .x-toolbar {
  134.19 +    border-color:#abc;
  134.20 +}
  134.21 +
  134.22 +.x-panel-tbar .x-toolbar {
  134.23 +    border-color:#abc;
  134.24 +}
  134.25 +
  134.26 +.x-panel-tbar-noheader .x-toolbar, .x-panel-mc .x-panel-tbar .x-toolbar {
  134.27 +    border-color:#abc;
  134.28 +}
  134.29 +.x-panel-body-noheader, .x-panel-mc .x-panel-body {
  134.30 +    border-color:#abc;
  134.31 +}
  134.32 +.x-panel-tl .x-panel-header {
  134.33 +    color:#f4f4f4;
  134.34 +}
  134.35 +.x-panel-tc {
  134.36 +	background-image:url(../images/indigo/panel_top-bottom.gif);
  134.37 +}
  134.38 +.x-panel-tl {
  134.39 +	background-image:url(../images/indigo/panel_corners-sprite.gif);
  134.40 +    border-color:#abc;
  134.41 +}
  134.42 +.x-panel-tr {
  134.43 +	background-image:url(../images/indigo/panel_corners-sprite.gif);
  134.44 +}
  134.45 +.x-panel-bc {
  134.46 +	background-image:url(../images/indigo/panel_top-bottom.gif);
  134.47 +}
  134.48 +.x-panel-bl {
  134.49 +	background-image:url(../images/indigo/panel_corners-sprite.gif);
  134.50 +}
  134.51 +.x-panel-br {
  134.52 +	background-image:url(../images/indigo/panel_corners-sprite.gif);
  134.53 +}
  134.54 +.x-panel-mc {
  134.55 +    background:#eef4f8;
  134.56 +}
  134.57 +.x-panel-mc .x-panel-body {
  134.58 +    background:transparent;
  134.59 +    border: 0 none;
  134.60 +}
  134.61 +.x-panel-ml {
  134.62 +	background-image:url(../images/indigo/panel_left-right.gif);
  134.63 +}
  134.64 +.x-panel-mr {
  134.65 +	background-image:url(../images/indigo/panel_left-right.gif);
  134.66 +}
  134.67 +
  134.68 +.x-panel-dd-spacer{
  134.69 +	border:2px dashed #89a;
  134.70 +}
  134.71 +
  134.72 +
  134.73 +/* Tools */
  134.74 +.x-tool {
  134.75 +    background-image:url(../images/indigo/panel_tool-sprites.gif);
  134.76 +}
  134.77 +
  134.78 +/* Ghosting */
  134.79 +.x-panel-ghost {
  134.80 +    background:#e0e0e0;
  134.81 +}
  134.82 +
  134.83 +.x-panel-ghost ul {
  134.84 +    border-color:#b0b0b0;
  134.85 +}
  134.86 +
  134.87 +.x-grid-panel .x-panel-mc .x-panel-body {
  134.88 +    border:1px solid #abc;
  134.89 +}
  134.90 +
  134.91 +/* Buttons */
  134.92 +
  134.93 +.x-btn-left{
  134.94 +	background-image:url(../images/indigo/button_btn-sprite.gif);
  134.95 +}
  134.96 +.x-btn-right{
  134.97 +	background-image:url(../images/indigo/button_btn-sprite.gif);
  134.98 +}
  134.99 +.x-btn-center{
 134.100 +	background-image:url(../images/indigo/button_btn-sprite.gif);
 134.101 +}
 134.102 +.x-btn-over button{
 134.103 +	color:#fff;
 134.104 +}
 134.105 +.x-btn-focus button{
 134.106 +	color:#fff;
 134.107 +}
 134.108 +.x-btn-text-icon .x-btn-with-menu .x-btn-center em {
 134.109 +	background:transparent url(../images/indigo/toolbar_btn-arrow.gif) no-repeat scroll right 3px;
 134.110 +}
 134.111 +.x-btn-with-menu .x-btn-center em {
 134.112 +	background:transparent url(../images/indigo/toolbar_btn-arrow.gif) no-repeat scroll right 0pt;
 134.113 +}
 134.114 +.x-btn-menu-arrow-wrap .x-btn-center button{
 134.115 +	background:transparent url(../images/indigo/button_btn-arrow.gif) no-repeat left 3px;
 134.116 +}
 134.117 +
 134.118 +
 134.119 +/* Layout classes */
 134.120 +
 134.121 +.x-border-layout-ct {
 134.122 +    background:#f0f0f0;
 134.123 +}
 134.124 +
 134.125 +.x-accordion-hd {
 134.126 +	background-image:url(../images/indigo/panel_light-hd.gif);
 134.127 +}
 134.128 +
 134.129 +.x-layout-collapsed{
 134.130 +    background-color:#567;
 134.131 +    border-color:#e0e0e0;
 134.132 +}
 134.133 +.x-layout-collapsed-over{
 134.134 +	 background-color:#789;
 134.135 +}
 134.136 +
 134.137 +
 134.138 +
 134.139 +/* Toolbars */
 134.140 +
 134.141 +.x-toolbar{
 134.142 +	border-color:#abc;
 134.143 +    background:#f0f4f5 url(../images/indigo/toolbar_bg.gif) repeat-x top left;
 134.144 +}
 134.145 +.x-toolbar button {
 134.146 +    color:#f4f4f4;
 134.147 +}
 134.148 +.x-toolbar .ytb-text {
 134.149 +	color:white;
 134.150 +}
 134.151 +.x-toolbar .x-btn-menu-arrow-wrap .x-btn-center button {
 134.152 +    background-image:url(../images/indigo/toolbar_btn-arrow.gif);
 134.153 +}
 134.154 +.x-toolbar .x-btn-text-icon .x-btn-menu-arrow-wrap .x-btn-center button {
 134.155 +    background-image:url(../images/indigo/toolbar_btn-arrow.gif);
 134.156 +}
 134.157 +.x-toolbar .x-btn-over .x-btn-left{
 134.158 +	background-image:url(../images/indigo/toolbar_tb-btn-sprite.gif);
 134.159 +}
 134.160 +.x-toolbar .x-btn-over .x-btn-right{
 134.161 +	background-image:url(../images/indigo/toolbar_tb-btn-sprite.gif);
 134.162 +}
 134.163 +.x-toolbar .x-btn-over .x-btn-center{
 134.164 +	background-image:url(../images/indigo/toolbar_tb-btn-sprite.gif);
 134.165 +}
 134.166 +.x-toolbar .x-btn-over button {
 134.167 +    color:#fff;
 134.168 +}
 134.169 +.x-toolbar .x-btn-click .x-btn-left, .x-toolbar .x-btn-pressed .x-btn-left, .x-toolbar .x-btn-menu-active .x-btn-left{
 134.170 +	background-image:url(../images/indigo/toolbar_tb-btn-sprite.gif);
 134.171 +}
 134.172 +.x-toolbar .x-btn-click .x-btn-right, .x-toolbar .x-btn-pressed .x-btn-right, .x-toolbar .x-btn-menu-active .x-btn-right{
 134.173 +	background-image:url(../images/indigo/toolbar_tb-btn-sprite.gif);
 134.174 +}
 134.175 +
 134.176 +.x-toolbar .x-btn-click .x-btn-center, .x-toolbar .x-btn-pressed .x-btn-center, .x-toolbar .x-btn-menu-active .x-btn-center{
 134.177 +	background-image:url(../images/indigo/toolbar_tb-btn-sprite.gif);
 134.178 +}
 134.179 +.x-toolbar .ytb-sep {
 134.180 +	background-image: url(../images/indigo/grid_grid-split.gif);
 134.181 +}
 134.182 +
 134.183 +/* Menus */
 134.184 +
 134.185 +.x-menu{
 134.186 +	border:1px solid #aaa;
 134.187 +	background:#f0f0f0 url(../images/indigo/menu_menu.gif) repeat-y;
 134.188 +}
 134.189 +.x-menu-item-active{
 134.190 +	background:#ebf3fd url(../images/indigo/menu_item-over.gif) repeat-x left bottom;
 134.191 +	border:1px solid #c2cbd2;
 134.192 +}
 134.193 +.x-menu-item-arrow{
 134.194 +	background:transparent url(../images/indigo/menu_menu-parent.gif) no-repeat right;
 134.195 +}
 134.196 +
 134.197 +
 134.198 +/* Tabs */
 134.199 +
 134.200 +.x-tab-panel-header, .x-tab-panel-footer {
 134.201 +	
 134.202 +	background: #6b869f;
 134.203 +	border-color:#4f657b;
 134.204 +}
 134.205 +
 134.206 +
 134.207 +.x-tab-panel-header {
 134.208 +	border-color:#abc;
 134.209 +}
 134.210 +
 134.211 +.x-tab-panel-footer {
 134.212 +	border-color:#abc;
 134.213 +}
 134.214 +
 134.215 +ul.x-tab-strip-top{
 134.216 +	background:#dbdbdb url(../images/indigo/tabs_tab-strip-bg.gif) repeat-x left top;
 134.217 +	border-color:#4c647e;
 134.218 +    padding-top: 2px;
 134.219 +}
 134.220 +
 134.221 +ul.x-tab-strip-bottom{
 134.222 +	background-image:url(../images/indigo/tabs_tab-strip-btm-bg.gif);
 134.223 +	border-color:#566c82;
 134.224 +}
 134.225 +
 134.226 +.x-tab-strip span.x-tab-strip-text {
 134.227 +	color:#333;
 134.228 +}
 134.229 +.x-tab-strip-over span.x-tab-strip-text {
 134.230 +	color:#111;
 134.231 +}
 134.232 +
 134.233 +.x-tab-strip-active span.x-tab-strip-text {
 134.234 +	color:#fff;
 134.235 +}
 134.236 +
 134.237 +.x-tab-strip-disabled .x-tabs-text {
 134.238 +	color:#aaaaaa;
 134.239 +}
 134.240 +
 134.241 +.x-tab-strip-top .x-tab-right {
 134.242 +	background-image:url(../images/indigo/tabs_tabs-sprite.gif);
 134.243 +}
 134.244 +
 134.245 +.x-tab-strip-top .x-tab-left {
 134.246 +	background-image:url(../images/indigo/tabs_tabs-sprite.gif);
 134.247 +}
 134.248 +.x-tab-strip-top .x-tab-strip-inner {
 134.249 +	background-image:url(../images/indigo/tabs_tabs-sprite.gif);
 134.250 +}
 134.251 +
 134.252 +.x-tab-strip-bottom .x-tab-right {
 134.253 +	background-image:url(../images/indigo/tabs_tab-btm-inactive-right-bg.gif);
 134.254 +}
 134.255 +
 134.256 +.x-tab-strip-bottom .x-tab-left {
 134.257 +	background-image:url(../images/indigo/tabs_tab-btm-inactive-left-bg.gif);
 134.258 +}
 134.259 +
 134.260 +.x-tab-strip-bottom .x-tab-strip-active .x-tab-right {
 134.261 +	background-image:url(../images/indigo/tabs_tab-btm-right-bg.gif);
 134.262 +}
 134.263 +
 134.264 +.x-tab-strip-bottom .x-tab-strip-active .x-tab-left {
 134.265 +	background-image:url(../images/indigo/tabs_tab-btm-left-bg.gif);
 134.266 +}
 134.267 +
 134.268 +.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close {
 134.269 +	background-image:url(../images/indigo/tabs_tab-close.gif);
 134.270 +}
 134.271 +.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close:hover{
 134.272 +	background-image:url(../images/indigo/tabs_tab-close.gif);
 134.273 +}
 134.274 +
 134.275 +.x-tab-panel-body {
 134.276 +    border-color:#abc;
 134.277 +    background:#fff;
 134.278 +}
 134.279 +.x-tab-panel-bbar .x-toolbar {
 134.280 +    border-color: #abc;
 134.281 +}
 134.282 +
 134.283 +.x-tab-panel-tbar .x-toolbar {
 134.284 +    border-color: #abc;
 134.285 +}
 134.286 +
 134.287 +.x-tab-panel-header-plain .x-tab-strip-spacer {
 134.288 +    border-color:#abc;
 134.289 +	background: #6b869f;
 134.290 +}
 134.291 +
 134.292 +.x-tab-scroller-left {
 134.293 +    background-image: url(../images/indigo/tabs_scroll-left.gif);
 134.294 +    border-color:#aeaeae;
 134.295 +}
 134.296 +.x-tab-scroller-right {
 134.297 +    background-image: url(../images/indigo/tabs_scroll-right.gif);
 134.298 +    border-color:#aeaeae;
 134.299 +}
 134.300 +
 134.301 +/* Window */
 134.302 +
 134.303 +.x-window-proxy {
 134.304 +    background:#e4e8ec;
 134.305 +    border-color:#abc;
 134.306 +}
 134.307 +
 134.308 +.x-window-tl .x-window-header {
 134.309 +    color:#fafafa;
 134.310 +}
 134.311 +.x-window-tc {
 134.312 +	background-image:url(../images/indigo/window_top-bottom.png);
 134.313 +}
 134.314 +.x-window-tl {
 134.315 +	background-image:url(../images/indigo/window_left-corners.png);
 134.316 +}
 134.317 +.x-window-tr {
 134.318 +	background-image:url(../images/indigo/window_right-corners.png);
 134.319 +}
 134.320 +.x-window-bc {
 134.321 +	background-image:url(../images/indigo/window_top-bottom.png);
 134.322 +}
 134.323 +.x-window-bl {
 134.324 +	background-image:url(../images/indigo/window_left-corners.png);
 134.325 +}
 134.326 +.x-window-br {
 134.327 +	background-image:url(../images/indigo/window_right-corners.png);
 134.328 +}
 134.329 +.x-window-mc {
 134.330 +    border:1px solid #abc;
 134.331 +    background:#e8e8e8;
 134.332 +}
 134.333 +
 134.334 +.x-window-ml {
 134.335 +	background-image:url(../images/indigo/window_left-right.png);
 134.336 +}
 134.337 +.x-window-mr {
 134.338 +	background-image:url(../images/indigo/window_left-right.png);
 134.339 +}
 134.340 +.x-panel-ghost .x-window-tl {
 134.341 +    border-color:#abc;
 134.342 +}
 134.343 +.x-panel-collapsed .x-window-tl {
 134.344 +    border-color:#abc;
 134.345 +}
 134.346 +
 134.347 +.x-window-plain .x-window-mc {
 134.348 +    background: #e8e8e8;
 134.349 +    border-right:1px solid #eee;
 134.350 +    border-bottom:1px solid #eee;
 134.351 +    border-top:1px solid #abc;
 134.352 +    border-left:1px solid #abc;
 134.353 +}
 134.354 +
 134.355 +.x-window-plain .x-window-body {
 134.356 +    border-left:1px solid #ddd;
 134.357 +    border-top:1px solid #ddd;
 134.358 +    border-bottom:1px solid #abc;
 134.359 +    border-right:1px solid #abc;
 134.360 +    background:transparent !important;
 134.361 +}
 134.362 +
 134.363 +body.x-body-masked .x-window-mc, body.x-body-masked .x-window-plain .x-window-mc {
 134.364 +    background-color: #eceef0;
 134.365 +}
 134.366 +
 134.367 +
 134.368 +/* HTML Editor */
 134.369 +.x-html-editor-wrap {
 134.370 +    border-color:#abc;
 134.371 +}
 134.372 +.x-html-editor-tb .x-btn-text {
 134.373 +	background:transparent url(../images/indigo/editor_tb-sprite.gif) no-repeat scroll 0%;
 134.374 +}
 134.375 +
 134.376 +
 134.377 +/* Borders go last for specificity */
 134.378 +.x-panel-noborder .x-panel-body-noborder {
 134.379 +    border-width:0;
 134.380 +}
 134.381 +
 134.382 +.x-panel-noborder .x-panel-header-noborder {
 134.383 +    border-width:0;
 134.384 +    border-bottom:1px solid #abc;
 134.385 +}
 134.386 +
 134.387 +.x-panel-noborder .x-panel-tbar-noborder .x-toolbar {
 134.388 +    border-width:0;
 134.389 +    border-bottom:1px solid #abc;
 134.390 +}
 134.391 +
 134.392 +.x-panel-noborder .x-panel-bbar-noborder .x-toolbar {
 134.393 +    border-width:0;
 134.394 +    border-top:1px solid #abc;
 134.395 +}
 134.396 +
 134.397 +.x-window-noborder .x-window-mc {
 134.398 +    border-width:0;
 134.399 +}
 134.400 +.x-window-plain .x-window-body-noborder {
 134.401 +    border-width:0;
 134.402 +}
 134.403 +
 134.404 +.x-tab-panel-noborder .x-tab-panel-body-noborder {
 134.405 +	border-width:0;
 134.406 +}
 134.407 +
 134.408 +.x-tab-panel-noborder .x-tab-panel-header-noborder {
 134.409 +	border-top-width:0;
 134.410 +	border-left-width:0;
 134.411 +	border-right-width:0;
 134.412 +}
 134.413 +
 134.414 +.x-tab-panel-noborder .x-tab-panel-footer-noborder {
 134.415 +	border-bottom-width:0;
 134.416 +	border-left-width:0;
 134.417 +	border-right-width:0;
 134.418 +}
 134.419 +
 134.420 +
 134.421 +.x-tab-panel-bbar-noborder .x-toolbar {
 134.422 +    border-width:0;
 134.423 +    border-top:1px solid #abc;
 134.424 +}
 134.425 +
 134.426 +.x-tab-panel-tbar-noborder .x-toolbar {
 134.427 +    border-width:0;
 134.428 +    border-bottom:1px solid #abc;
 134.429 +}
 134.430 +
 134.431 +/* Forms */
 134.432 +.x-form-text, textarea.x-form-field {
 134.433 +	border:1px solid #9ab; 
 134.434 +}
 134.435 +.x-trigger-wrap-focus .x-form-trigger {
 134.436 +	border-bottom:1px solid #4a7192;
 134.437 +}
 134.438 +.x-form-focus,textarea.x-form-focus {
 134.439 +	border:1px solid #4a7192;
 134.440 +}
 134.441 +
 134.442 +.x-form-field-wrap .x-form-trigger {
 134.443 +	background:transparent url(../images/indigo/form_trigger.gif) no-repeat 0 0;
 134.444 +}
 134.445 +.x-form-field-wrap .x-form-date-trigger {
 134.446 +	background-image:url(../images/indigo/form_date-trigger.gif);
 134.447 +}
 134.448 +.x-form-field-wrap .x-form-clear-trigger {
 134.449 +	background-image:url(../images/indigo/form_clear-trigger.gif);
 134.450 +}
 134.451 +.x-form-field-wrap .x-form-search-trigger {
 134.452 +	background-image:url(../images/indigo/form_search-trigger.gif);
 134.453 +}
 134.454 +
 134.455 +.x-form-field-wrap .x-form-trigger {
 134.456 +	border-bottom:1px solid #778899;
 134.457 +}
 134.458 +
 134.459 +.x-form fieldset legend {
 134.460 +	color:#333;
 134.461 +}
 134.462 +
 134.463 +/* 	the following need to be duplicated from ext-all.js,
 134.464 +	otherwise hover effects are broken */
 134.465 +.x-form-field-wrap .x-form-trigger-over{background-position:-17px 0;}
 134.466 +.x-form-field-wrap .x-form-trigger-click{background-position:-34px 0;}
 134.467 +.x-trigger-wrap-focus .x-form-trigger{background-position:-51px 0;}
 134.468 +.x-trigger-wrap-focus .x-form-trigger-over{background-position:-68px 0;}
 134.469 +.x-trigger-wrap-focus .x-form-trigger-click{background-position:-85px 0;}
 134.470 +
 134.471 +
 134.472 +/* Grid */
 134.473 +
 134.474 +.x-grid3-row-selected {
 134.475 +	background:#fbf0d2;
 134.476 +	border:1px dotted #ccc;
 134.477 +}
 134.478 +.x-grid3-hd-btn{
 134.479 +	background:#f2daa9 url(../images/indigo/grid_grid3-hd-btn.gif) no-repeat left center;
 134.480 +}
 134.481 +.x-grid3-header{
 134.482 +	background:#f9f9f9 url(../images/indigo/grid_grid3-hrow.gif) repeat-x 0 bottom;
 134.483 +}
 134.484 +td.x-grid3-hd-over .x-grid3-hd-inner,td.sort-desc .x-grid3-hd-inner,td.sort-asc .x-grid3-hd-inner,td.x-grid3-hd-menu-open .x-grid3-hd-inner{
 134.485 +	background:#ebf3fd url(../images/indigo/grid_grid3-hrow-over.gif) repeat-x left bottom;
 134.486 +}
 134.487 +.sort-asc .x-grid3-sort-icon{
 134.488 +	background-image:url(../images/indigo/grid_sort_asc.gif);
 134.489 +}
 134.490 +.sort-desc .x-grid3-sort-icon{
 134.491 +	background-image:url(../images/indigo/grid_sort_desc.gif);
 134.492 +}
 134.493 +td.x-grid3-hd-over, td.sort-desc, td.sort-asc, td.x-grid3-hd-menu-open {
 134.494 +	border-left:1px solid #fff;
 134.495 +	border-right:1px solid #ccc;
 134.496 +}
 134.497 +.x-grid3-cell-selected{
 134.498 +	background-color:#e0eaee!important;
 134.499 +}
 134.500 +.x-grid3-body .x-grid3-td-expander{
 134.501 +	background:transparent url(../images/indigo/grid_grid3-special-col-bg.gif) repeat-y right;
 134.502 +}
 134.503 +.x-grid3-body .x-grid3-td-checker{
 134.504 +	background:transparent url(../images/indigo/grid_grid3-special-col-bg.gif) repeat-y right;
 134.505 +}
 134.506 +.x-grid3-body .x-grid3-td-numberer{
 134.507 +	background:transparent url(../images/indigo/grid_grid3-special-col-bg.gif) repeat-y right;
 134.508 +}
 134.509 +.x-grid3-body .x-grid3-row-selected .x-grid3-td-numberer,.x-grid3-body .x-grid3-row-selected .x-grid3-td-checker,.x-grid3-body .x-grid3-row-selected .x-grid3-td-expander{
 134.510 +	background:transparent url(../images/indigo/grid_grid3-special-col-sel-bg.gif) repeat-y right;
 134.511 +}
 134.512 +.x-grid-group-hd {
 134.513 +	border-bottom:2px solid #abb;
 134.514 +}
 134.515 +.x-grid-group-hd div {
 134.516 +	color: #456;
 134.517 +}
 134.518 +.x-dd-drag-proxy .x-grid3-hd-inner{
 134.519 +	background:#ebf3fd url(../images/indigo/grid_grid3-hrow-over.gif) repeat-x left bottom;
 134.520 +	border:1px solid #abc;
 134.521 +}
 134.522 +.x-tbar-page-first{
 134.523 +	background-image:url(../images/indigo/grid_page-first.gif)!important;
 134.524 +}
 134.525 +.x-tbar-page-last{
 134.526 +	background-image:url(../images/indigo/grid_page-last.gif)!important;
 134.527 +}
 134.528 +.x-tbar-page-next{
 134.529 +	background-image:url(../images/indigo/grid_page-next.gif)!important;
 134.530 +}
 134.531 +.x-tbar-page-prev{
 134.532 +	background-image:url(../images/indigo/grid_page-prev.gif)!important;
 134.533 +}
 134.534 +.x-paging-info {
 134.535 +	color:#FFFFFF;
 134.536 +}
 134.537 +
 134.538 +
 134.539 +/* Progress Bar */
 134.540 +
 134.541 +.x-progress-bar{
 134.542 +	background:#9CBFEE url( ../../resources/images/indigo/progress_progress-bg.gif ) repeat-x left center;
 134.543 +	border-top:1px solid #ddd;
 134.544 +	border-bottom:1px solid #ddd;
 134.545 +}
 134.546 +
 134.547 +
 134.548 +/* Combos */
 134.549 +.x-combo-list{
 134.550 +	border:1px solid #89a;
 134.551 +}
 134.552 +.x-combo-list .x-combo-selected{
 134.553 +	border:1px dotted #ccc!important;
 134.554 +	background:#fbf0d2;
 134.555 +}
 134.556 +
 134.557 +
 134.558 +/* Calendars */
 134.559 +
 134.560 +.x-date-middle,.x-date-left,.x-date-right{
 134.561 +	background:url(../images/indigo/shared_hd-sprite.gif) repeat-x 0 -83px;
 134.562 +}
 134.563 +.x-date-bottom {
 134.564 +	background:#DFECFB url(../images/indigo/shared_glass-bg.gif) repeat-x scroll left top;
 134.565 +	border-top:1px solid #abc;
 134.566 +}
 134.567 +.x-date-right a{
 134.568 +	background-image:url(../images/indigo/shared_right-btn.gif);
 134.569 +}
 134.570 +.x-date-left a{
 134.571 +	background-image:url(../images/indigo/shared_left-btn.gif);
 134.572 +}
 134.573 +.x-date-inner th{
 134.574 +	background:#dfecfb url(../images/indigo/shared_glass-bg.gif) repeat-x left top;
 134.575 +	border-bottom:1px solid #abc;
 134.576 +	color:#345;
 134.577 +}
 134.578 +.x-date-inner .x-date-selected a {
 134.579 +	background:#dfecfb url(../images/indigo/shared_glass-bg.gif) repeat-x scroll left top;
 134.580 +	border:1px solid #89a;
 134.581 +}
 134.582 +.x-date-inner a:hover,.x-date-inner .x-date-disabled a:hover{
 134.583 +	background:#cfdce1;
 134.584 +}
 134.585 +td.x-date-mp-month a:hover,td.x-date-mp-year a:hover{
 134.586 +	color:#123;
 134.587 +	background:#cfdce1;
 134.588 +}
 134.589 +.x-date-mp-ybtn a{
 134.590 +	background:transparent url(../images/indigo/panel_tool-sprites.gif) no-repeat;
 134.591 +}
 134.592 +.x-date-mp-btns {
 134.593 +	background:#dfecfb url(../images/indigo/shared_glass-bg.gif) repeat-x scroll left top;
 134.594 +}
 134.595 +td.x-date-mp-sel a{
 134.596 +	background:#dfecfb url(../images/indigo/shared_glass-bg.gif) repeat-x left top;
 134.597 +	border:1px solid #abc;
 134.598 +}
 134.599 +.x-date-mp-btns button{
 134.600 +	background:#405574;
 134.601 +	border:1px solid;
 134.602 +	border-color:#abc #055 #055 #abc;
 134.603 +}
 134.604 +
 134.605 +/* Resizable Handle */
 134.606 +.x-resizable-over .x-resizable-handle-east,.x-resizable-pinned .x-resizable-handle-east{
 134.607 +	background:url(../images/indigo/sizer_e-handle.gif);background-position:left;
 134.608 +}
 134.609 +.x-resizable-over .x-resizable-handle-west,.x-resizable-pinned .x-resizable-handle-west{
 134.610 +	background:url(../images/indigo/sizer_e-handle.gif);background-position:left;
 134.611 +}
 134.612 +.x-resizable-over .x-resizable-handle-south,.x-resizable-pinned .x-resizable-handle-south{
 134.613 +	background:url(../images/indigo/sizer_s-handle.gif);background-position:top;
 134.614 +}
 134.615 +.x-resizable-over .x-resizable-handle-north,.x-resizable-pinned .x-resizable-handle-north{
 134.616 +	background:url(../images/indigo/sizer_s-handle.gif);background-position:top;
 134.617 +}
 134.618 +.x-resizable-over .x-resizable-handle-southeast,.x-resizable-pinned .x-resizable-handle-southeast{
 134.619 +	background:url(../images/indigo/sizer_se-handle.gif);background-position:top left;
 134.620 +}
 134.621 +.x-resizable-over .x-resizable-handle-northwest,.x-resizable-pinned .x-resizable-handle-northwest{
 134.622 +	background:url(../images/indigo/sizer_nw-handle.gif);background-position:bottom right;
 134.623 +}
 134.624 +.x-resizable-over .x-resizable-handle-northeast,.x-resizable-pinned .x-resizable-handle-northeast{
 134.625 +	background:url(../images/indigo/sizer_ne-handle.gif);background-position:bottom left;
 134.626 +}
 134.627 +.x-resizable-over .x-resizable-handle-southwest,.x-resizable-pinned .x-resizable-handle-southwest{
 134.628 +	background:url(../images/indigo/sizer_sw-handle.gif);background-position:top right;
 134.629 +}
 134.630 +
 134.631 +/* Tips */
 134.632 +.x-tip .x-tip-close{
 134.633 +	background-image:url(../images/indigo/qtip_close.gif);
 134.634 +}
 134.635 +.x-tip .x-tip-tc{
 134.636 +	background:transparent url(../images/indigo/qtip_tip-sprite.gif) no-repeat 0 -62px;
 134.637 +}
 134.638 +.x-tip .x-tip-tl{
 134.639 +	background:transparent url(../images/indigo/qtip_tip-sprite.gif) no-repeat 0 0;
 134.640 +}
 134.641 +.x-tip .x-tip-tr{
 134.642 +	background:transparent url(../images/indigo/qtip_tip-sprite.gif) no-repeat right 0;
 134.643 +}
 134.644 +.x-tip .x-tip-bc{
 134.645 +	background:transparent url(../images/indigo/qtip_tip-sprite.gif) no-repeat 0 -121px;
 134.646 +}
 134.647 +.x-tip .x-tip-bl{
 134.648 +	background:transparent url(../images/indigo/qtip_tip-sprite.gif) no-repeat 0 -59px;
 134.649 +}
 134.650 +.x-tip .x-tip-br{
 134.651 +	background:transparent url(../images/indigo/qtip_tip-sprite.gif) no-repeat right -59px;
 134.652 +}
 134.653 +.x-tip .x-tip-ml{
 134.654 +	background:#fff url(../images/indigo/qtip_tip-sprite.gif) no-repeat 0 -124px;
 134.655 +}
 134.656 +.x-tip .x-tip-mr{
 134.657 +	background:transparent url(../images/indigo/qtip_tip-sprite.gif) no-repeat right -124px;
 134.658 +}
 134.659 +.x-form-invalid-tip .x-tip-tc{background:url(../images/default/form/error-tip-corners.gif) repeat-x 0 -12px;padding-top:6px;}
 134.660 +.x-form-invalid-tip .x-tip-tl{background-image:url(../images/default/form/error-tip-corners.gif);}
 134.661 +.x-form-invalid-tip .x-tip-tr{background-image:url(../images/default/form/error-tip-corners.gif);}
 134.662 +.x-form-invalid-tip .x-tip-bc{background:url(../images/default/form/error-tip-corners.gif) repeat-x 0 -18px;height:6px;}
 134.663 +.x-form-invalid-tip .x-tip-bl{background:url(../images/default/form/error-tip-corners.gif) no-repeat 0 -6px;}
 134.664 +.x-form-invalid-tip .x-tip-br{background:url(../images/default/form/error-tip-corners.gif) no-repeat right -6px;}
 134.665 +.x-form-invalid-tip .x-tip-ml{background-image:url(../images/default/form/error-tip-corners.gif);}
 134.666 +.x-form-invalid-tip .x-tip-mr{background-image:url(../images/default/form/error-tip-corners.gif);}
 134.667 +
 134.668 +
 134.669 +
 134.670 +
 134.671 +/* Miscellaneous */
 134.672 +
 134.673 +.x-item-disabled * {
 134.674 +	color:#333 !important;
 134.675 +}
   135.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   135.2 +++ b/onlypaths/theme/css/xtheme-midnight.css	Sun Jan 31 12:33:33 2010 -0500
   135.3 @@ -0,0 +1,674 @@
   135.4 +.x-panel {
   135.5 +    border-style: solid;
   135.6 +    border-color: #cccccc;
   135.7 +}
   135.8 +.x-panel-header {
   135.9 +    color:#fafafa;
  135.10 +	border:1px solid #cccccc;
  135.11 +    background-image:url(../images/midnight/panel_white-top-bottom.gif);
  135.12 +}
  135.13 +
  135.14 +.x-panel-body {
  135.15 +    border-color:#cccccc;
  135.16 +}
  135.17 +
  135.18 +.x-panel-bbar .x-toolbar {
  135.19 +    border-color:#cccccc;
  135.20 +}
  135.21 +
  135.22 +.x-panel-tbar .x-toolbar {
  135.23 +    border-color:#cccccc;
  135.24 +}
  135.25 +
  135.26 +.x-panel-tbar-noheader .x-toolbar, .x-panel-mc .x-panel-tbar .x-toolbar {
  135.27 +    border-color:#cccccc;
  135.28 +}
  135.29 +.x-panel-body-noheader, .x-panel-mc .x-panel-body {
  135.30 +    border-color:#cccccc;
  135.31 +}
  135.32 +.x-panel-tl .x-panel-header {
  135.33 +    color:#f4f4f4;
  135.34 +}
  135.35 +.x-panel-tc {
  135.36 +	background-image:url(../images/midnight/panel_top-bottom.gif);
  135.37 +}
  135.38 +.x-panel-tl {
  135.39 +	background-image:url(../images/midnight/panel_corners-sprite.gif);
  135.40 +    border-color:#cccccc;
  135.41 +}
  135.42 +.x-panel-tr {
  135.43 +	background-image:url(../images/midnight/panel_corners-sprite.gif);
  135.44 +}
  135.45 +.x-panel-bc {
  135.46 +	background-image:url(../images/midnight/panel_top-bottom.gif);
  135.47 +}
  135.48 +.x-panel-bl {
  135.49 +	background-image:url(../images/midnight/panel_corners-sprite.gif);
  135.50 +}
  135.51 +.x-panel-br {
  135.52 +	background-image:url(../images/midnight/panel_corners-sprite.gif);
  135.53 +}
  135.54 +.x-panel-mc {
  135.55 +    background:#e4e6ef;
  135.56 +}
  135.57 +.x-panel-mc .x-panel-body {
  135.58 +    background:transparent;
  135.59 +    border: 0 none;
  135.60 +}
  135.61 +.x-panel-ml {
  135.62 +	background-image:url(../images/midnight/panel_left-right.gif);
  135.63 +}
  135.64 +.x-panel-mr {
  135.65 +	background-image:url(../images/midnight/panel_left-right.gif);
  135.66 +}
  135.67 +
  135.68 +.x-panel-dd-spacer{
  135.69 +	border:2px dashed #89a;
  135.70 +}
  135.71 +
  135.72 +
  135.73 +/* Tools */
  135.74 +.x-tool {
  135.75 +    background-image:url(../images/midnight/panel_tool-sprites.gif);
  135.76 +}
  135.77 +
  135.78 +/* Ghosting */
  135.79 +.x-panel-ghost {
  135.80 +    background:#e0e0e0;
  135.81 +}
  135.82 +
  135.83 +.x-panel-ghost ul {
  135.84 +    border-color:#b0b0b0;
  135.85 +}
  135.86 +
  135.87 +.x-grid-panel .x-panel-mc .x-panel-body {
  135.88 +    border:1px solid #cccccc;
  135.89 +}
  135.90 +
  135.91 +/* Buttons */
  135.92 +
  135.93 +.x-btn-left{
  135.94 +	background-image:url(../images/midnight/button_btn-sprite.gif);
  135.95 +}
  135.96 +.x-btn-right{
  135.97 +	background-image:url(../images/midnight/button_btn-sprite.gif);
  135.98 +}
  135.99 +.x-btn-center{
 135.100 +	background-image:url(../images/midnight/button_btn-sprite.gif);
 135.101 +}
 135.102 +.x-btn-over button{
 135.103 +	color:#fff;
 135.104 +}
 135.105 +.x-btn-focus button{
 135.106 +	color:#fff;
 135.107 +}
 135.108 +.x-btn-text-icon .x-btn-with-menu .x-btn-center em {
 135.109 +	background:transparent url(../images/midnight/toolbar_btn-arrow.gif) no-repeat scroll right 3px;
 135.110 +}
 135.111 +.x-btn-with-menu .x-btn-center em {
 135.112 +	background:transparent url(../images/midnight/toolbar_btn-arrow.gif) no-repeat scroll right 0pt;
 135.113 +}
 135.114 +.x-btn-menu-arrow-wrap .x-btn-center button{
 135.115 +	background:transparent url(../images/midnight/button_btn-arrow.gif) no-repeat left 3px;
 135.116 +}
 135.117 +.x-btn-text,.x-btn-text-icon{color:#fff;font-weight:bold !important;}
 135.118 +.x-item-disabled{color:#999;}
 135.119 +
 135.120 +
 135.121 +/* Layout classes */
 135.122 +
 135.123 +.x-border-layout-ct {
 135.124 +    background:#f0f0f0;
 135.125 +}
 135.126 +
 135.127 +.x-accordion-hd {
 135.128 +	background-image:url(../images/midnight/panel_light-hd.gif);
 135.129 +}
 135.130 +
 135.131 +.x-layout-collapsed{
 135.132 +    background-color:#141847;
 135.133 +    border-color:#e0e0e0;
 135.134 +}
 135.135 +.x-layout-collapsed-over{
 135.136 +	 background-color:#171763;
 135.137 +}
 135.138 +
 135.139 +
 135.140 +
 135.141 +/* Toolbars */
 135.142 +
 135.143 +.x-toolbar{
 135.144 +	border-color:#cccccc;
 135.145 +    background:#f0f4f5 url(../images/midnight/toolbar_bg.gif) repeat-x top left;
 135.146 +}
 135.147 +.x-toolbar button {
 135.148 +    color:#f4f4f4;
 135.149 +}
 135.150 +.x-toolbar .ytb-text {
 135.151 +	color:white;
 135.152 +}
 135.153 +.x-toolbar .x-btn-menu-arrow-wrap .x-btn-center button {
 135.154 +    background-image:url(../images/midnight/toolbar_btn-arrow.gif);
 135.155 +}
 135.156 +.x-toolbar .x-btn-text-icon .x-btn-menu-arrow-wrap .x-btn-center button {
 135.157 +    background-image:url(../images/midnight/toolbar_btn-arrow.gif);
 135.158 +}
 135.159 +.x-toolbar .x-btn-over .x-btn-left{
 135.160 +	background-image:url(../images/midnight/toolbar_tb-btn-sprite.gif);
 135.161 +}
 135.162 +.x-toolbar .x-btn-over .x-btn-right{
 135.163 +	background-image:url(../images/midnight/toolbar_tb-btn-sprite.gif);
 135.164 +}
 135.165 +.x-toolbar .x-btn-over .x-btn-center{
 135.166 +	background-image:url(../images/midnight/toolbar_tb-btn-sprite.gif);
 135.167 +}
 135.168 +.x-toolbar .x-btn-over button {
 135.169 +    color:#fff;
 135.170 +}
 135.171 +.x-toolbar .x-btn-click .x-btn-left, .x-toolbar .x-btn-pressed .x-btn-left, .x-toolbar .x-btn-menu-active .x-btn-left{
 135.172 +	background-image:url(../images/midnight/toolbar_tb-btn-sprite.gif);
 135.173 +}
 135.174 +.x-toolbar .x-btn-click .x-btn-right, .x-toolbar .x-btn-pressed .x-btn-right, .x-toolbar .x-btn-menu-active .x-btn-right{
 135.175 +	background-image:url(../images/midnight/toolbar_tb-btn-sprite.gif);
 135.176 +}
 135.177 +
 135.178 +.x-toolbar .x-btn-click .x-btn-center, .x-toolbar .x-btn-pressed .x-btn-center, .x-toolbar .x-btn-menu-active .x-btn-center{
 135.179 +	background-image:url(../images/midnight/toolbar_tb-btn-sprite.gif);
 135.180 +}
 135.181 +.x-toolbar .ytb-sep {
 135.182 +	background-image: url(../images/midnight/grid_grid-split.gif);
 135.183 +}
 135.184 +
 135.185 +/* Menus */
 135.186 +
 135.187 +.x-menu{
 135.188 +	border:1px solid #aaa;
 135.189 +	background:#f0f0f0 url(../images/midnight/menu_menu.gif) repeat-y;
 135.190 +}
 135.191 +.x-menu-item-active{
 135.192 +	background:#ebf3fd url(../images/midnight/menu_item-over.gif) repeat-x left bottom;
 135.193 +	border:1px solid #c2cbd2;
 135.194 +}
 135.195 +.x-menu-item-arrow{
 135.196 +	background:transparent url(../images/midnight/menu_menu-parent.gif) no-repeat right;
 135.197 +}
 135.198 +
 135.199 +
 135.200 +/* Tabs */
 135.201 +
 135.202 +.x-tab-panel-header, .x-tab-panel-footer {
 135.203 +	
 135.204 +	background: #444a7d;
 135.205 +	border-color:#4f657b;
 135.206 +}
 135.207 +
 135.208 +
 135.209 +.x-tab-panel-header {
 135.210 +	border-color:#cccccc;
 135.211 +}
 135.212 +
 135.213 +.x-tab-panel-footer {
 135.214 +	border-color:#cccccc;
 135.215 +}
 135.216 +
 135.217 +ul.x-tab-strip-top{
 135.218 +	background:#dbdbdb url(../images/midnight/tabs_tab-strip-bg.gif) repeat-x left top;
 135.219 +	border-color:#4c647e;
 135.220 +    padding-top: 2px;
 135.221 +}
 135.222 +
 135.223 +ul.x-tab-strip-bottom{
 135.224 +	background-image:url(../images/midnight/tabs_tab-strip-btm-bg.gif);
 135.225 +	border-color:#566c82;
 135.226 +}
 135.227 +
 135.228 +.x-tab-strip span.x-tab-strip-text {
 135.229 +	color:#333;
 135.230 +}
 135.231 +.x-tab-strip-over span.x-tab-strip-text {
 135.232 +	color:#111;
 135.233 +}
 135.234 +
 135.235 +.x-tab-strip-active span.x-tab-strip-text {
 135.236 +	color:#fff;
 135.237 +}
 135.238 +
 135.239 +.x-tab-strip-disabled .x-tabs-text {
 135.240 +	color:#aaaaaa;
 135.241 +}
 135.242 +
 135.243 +.x-tab-strip-top .x-tab-right {
 135.244 +	background-image:url(../images/midnight/tabs_tabs-sprite.gif);
 135.245 +}
 135.246 +
 135.247 +.x-tab-strip-top .x-tab-left {
 135.248 +	background-image:url(../images/midnight/tabs_tabs-sprite.gif);
 135.249 +}
 135.250 +.x-tab-strip-top .x-tab-strip-inner {
 135.251 +	background-image:url(../images/midnight/tabs_tabs-sprite.gif);
 135.252 +}
 135.253 +
 135.254 +.x-tab-strip-bottom .x-tab-right {
 135.255 +	background-image:url(../images/midnight/tabs_tab-btm-inactive-right-bg.gif);
 135.256 +}
 135.257 +
 135.258 +.x-tab-strip-bottom .x-tab-left {
 135.259 +	background-image:url(../images/midnight/tabs_tab-btm-inactive-left-bg.gif);
 135.260 +}
 135.261 +
 135.262 +.x-tab-strip-bottom .x-tab-strip-active .x-tab-right {
 135.263 +	background-image:url(../images/midnight/tabs_tab-btm-right-bg.gif);
 135.264 +}
 135.265 +
 135.266 +.x-tab-strip-bottom .x-tab-strip-active .x-tab-left {
 135.267 +	background-image:url(../images/midnight/tabs_tab-btm-left-bg.gif);
 135.268 +}
 135.269 +
 135.270 +.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close {
 135.271 +	background-image:url(../images/midnight/tabs_tab-close.gif);
 135.272 +}
 135.273 +.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close:hover{
 135.274 +	background-image:url(../images/midnight/tabs_tab-close.gif);
 135.275 +}
 135.276 +
 135.277 +.x-tab-panel-body {
 135.278 +    border-color:#cccccc;
 135.279 +    background:#fff;
 135.280 +}
 135.281 +.x-tab-panel-bbar .x-toolbar {
 135.282 +    border-color: #cccccc;
 135.283 +}
 135.284 +
 135.285 +.x-tab-panel-tbar .x-toolbar {
 135.286 +    border-color: #cccccc;
 135.287 +}
 135.288 +
 135.289 +.x-tab-panel-header-plain .x-tab-strip-spacer {
 135.290 +    border-color:#cccccc;
 135.291 +	background: #444a7d;
 135.292 +}
 135.293 +
 135.294 +.x-tab-scroller-left {
 135.295 +    background-image: url(../images/midnight/tabs_scroll-left.gif);
 135.296 +    border-color:#aeaeae;
 135.297 +}
 135.298 +.x-tab-scroller-right {
 135.299 +    background-image: url(../images/midnight/tabs_scroll-right.gif);
 135.300 +    border-color:#aeaeae;
 135.301 +}
 135.302 +
 135.303 +/* Window */
 135.304 +
 135.305 +.x-window-proxy {
 135.306 +    background:#e4e8ec;
 135.307 +    border-color:#cccccc;
 135.308 +}
 135.309 +
 135.310 +.x-window-tl .x-window-header {
 135.311 +    color:#fafafa;
 135.312 +}
 135.313 +.x-window-tc {
 135.314 +	background-image:url(../images/midnight/window_top-bottom.png);
 135.315 +}
 135.316 +.x-window-tl {
 135.317 +	background-image:url(../images/midnight/window_left-corners.png);
 135.318 +}
 135.319 +.x-window-tr {
 135.320 +	background-image:url(../images/midnight/window_right-corners.png);
 135.321 +}
 135.322 +.x-window-bc {
 135.323 +	background-image:url(../images/midnight/window_top-bottom.png);
 135.324 +}
 135.325 +.x-window-bl {
 135.326 +	background-image:url(../images/midnight/window_left-corners.png);
 135.327 +}
 135.328 +.x-window-br {
 135.329 +	background-image:url(../images/midnight/window_right-corners.png);
 135.330 +}
 135.331 +.x-window-mc {
 135.332 +    border:1px solid #cccccc;
 135.333 +    background:#e8e8e8;
 135.334 +}
 135.335 +
 135.336 +.x-window-ml {
 135.337 +	background-image:url(../images/midnight/window_left-right.png);
 135.338 +}
 135.339 +.x-window-mr {
 135.340 +	background-image:url(../images/midnight/window_left-right.png);
 135.341 +}
 135.342 +.x-panel-ghost .x-window-tl {
 135.343 +    border-color:#cccccc;
 135.344 +}
 135.345 +.x-panel-collapsed .x-window-tl {
 135.346 +    border-color:#cccccc;
 135.347 +}
 135.348 +
 135.349 +.x-window-plain .x-window-mc {
 135.350 +    background: #e8e8e8;
 135.351 +    border-right:1px solid #eee;
 135.352 +    border-bottom:1px solid #eee;
 135.353 +    border-top:1px solid #cccccc;
 135.354 +    border-left:1px solid #cccccc;
 135.355 +}
 135.356 +
 135.357 +.x-window-plain .x-window-body {
 135.358 +    border-left:1px solid #ddd;
 135.359 +    border-top:1px solid #ddd;
 135.360 +    border-bottom:1px solid #cccccc;
 135.361 +    border-right:1px solid #cccccc;
 135.362 +    background:transparent !important;
 135.363 +}
 135.364 +
 135.365 +body.x-body-masked .x-window-mc, body.x-body-masked .x-window-plain .x-window-mc {
 135.366 +    background-color: #eceef0;
 135.367 +}
 135.368 +
 135.369 +
 135.370 +/* HTML Editor */
 135.371 +.x-html-editor-wrap {
 135.372 +    border-color:#cccccc;
 135.373 +}
 135.374 +.x-html-editor-tb .x-btn-text {
 135.375 +	background:transparent url(../images/midnight/editor_tb-sprite.gif) no-repeat scroll 0%;
 135.376 +}
 135.377 +
 135.378 +
 135.379 +/* Borders go last for specificity */
 135.380 +.x-panel-noborder .x-panel-body-noborder {
 135.381 +    border-width:0;
 135.382 +}
 135.383 +
 135.384 +.x-panel-noborder .x-panel-header-noborder {
 135.385 +    border-width:0;
 135.386 +    border-bottom:1px solid #cccccc;
 135.387 +}
 135.388 +
 135.389 +.x-panel-noborder .x-panel-tbar-noborder .x-toolbar {
 135.390 +    border-width:0;
 135.391 +    border-bottom:1px solid #cccccc;
 135.392 +}
 135.393 +
 135.394 +.x-panel-noborder .x-panel-bbar-noborder .x-toolbar {
 135.395 +    border-width:0;
 135.396 +    border-top:1px solid #cccccc;
 135.397 +}
 135.398 +
 135.399 +.x-window-noborder .x-window-mc {
 135.400 +    border-width:0;
 135.401 +}
 135.402 +.x-window-plain .x-window-body-noborder {
 135.403 +    border-width:0;
 135.404 +}
 135.405 +
 135.406 +.x-tab-panel-noborder .x-tab-panel-body-noborder {
 135.407 +	border-width:0;
 135.408 +}
 135.409 +
 135.410 +.x-tab-panel-noborder .x-tab-panel-header-noborder {
 135.411 +	border-top-width:0;
 135.412 +	border-left-width:0;
 135.413 +	border-right-width:0;
 135.414 +}
 135.415 +
 135.416 +.x-tab-panel-noborder .x-tab-panel-footer-noborder {
 135.417 +	border-bottom-width:0;
 135.418 +	border-left-width:0;
 135.419 +	border-right-width:0;
 135.420 +}
 135.421 +
 135.422 +
 135.423 +.x-tab-panel-bbar-noborder .x-toolbar {
 135.424 +    border-width:0;
 135.425 +    border-top:1px solid #cccccc;
 135.426 +}
 135.427 +
 135.428 +.x-tab-panel-tbar-noborder .x-toolbar {
 135.429 +    border-width:0;
 135.430 +    border-bottom:1px solid #cccccc;
 135.431 +}
 135.432 +
 135.433 +/* Forms */
 135.434 +.x-form-text, textarea.x-form-field {
 135.435 +	border:1px solid #9ab; 
 135.436 +}
 135.437 +.x-trigger-wrap-focus .x-form-trigger {
 135.438 +	border-bottom:1px solid #4a7192;
 135.439 +}
 135.440 +.x-form-focus,textarea.x-form-focus {
 135.441 +	border:1px solid #4a7192;
 135.442 +}
 135.443 +
 135.444 +.x-form-field-wrap .x-form-trigger {
 135.445 +	background:transparent url(../images/midnight/form_trigger.gif) no-repeat 0 0;
 135.446 +}
 135.447 +.x-form-field-wrap .x-form-date-trigger {
 135.448 +	background-image:url(../images/midnight/form_date-trigger.gif);
 135.449 +}
 135.450 +.x-form-field-wrap .x-form-clear-trigger {
 135.451 +	background-image:url(../images/midnight/form_clear-trigger.gif);
 135.452 +}
 135.453 +.x-form-field-wrap .x-form-search-trigger {
 135.454 +	background-image:url(../images/midnight/form_search-trigger.gif);
 135.455 +}
 135.456 +
 135.457 +.x-form-field-wrap .x-form-trigger {
 135.458 +	border-bottom:1px solid #778899;
 135.459 +}
 135.460 +
 135.461 +.x-form fieldset legend {
 135.462 +	color:#333;
 135.463 +}
 135.464 +
 135.465 +/* 	the following need to be duplicated from ext-all.js,
 135.466 +	otherwise hover effects are broken */
 135.467 +.x-form-field-wrap .x-form-trigger-over{background-position:-17px 0;}
 135.468 +.x-form-field-wrap .x-form-trigger-click{background-position:-34px 0;}
 135.469 +.x-trigger-wrap-focus .x-form-trigger{background-position:-51px 0;}
 135.470 +.x-trigger-wrap-focus .x-form-trigger-over{background-position:-68px 0;}
 135.471 +.x-trigger-wrap-focus .x-form-trigger-click{background-position:-85px 0;}
 135.472 +
 135.473 +
 135.474 +/* Grid */
 135.475 +
 135.476 +.x-grid3-row-selected {
 135.477 +	background:#fbf0d2;
 135.478 +	border:1px dotted #ccc;
 135.479 +}
 135.480 +.x-grid3-hd-btn{
 135.481 +	background:#f2daa9 url(../images/midnight/grid_grid3-hd-btn.gif) no-repeat left center;
 135.482 +}
 135.483 +.x-grid3-header{
 135.484 +	background:#f9f9f9 url(../images/midnight/grid_grid3-hrow.gif) repeat-x 0 bottom;
 135.485 +}
 135.486 +td.x-grid3-hd-over .x-grid3-hd-inner,td.sort-desc .x-grid3-hd-inner,td.sort-asc .x-grid3-hd-inner,td.x-grid3-hd-menu-open .x-grid3-hd-inner{
 135.487 +	background:#ebf3fd url(../images/midnight/grid_grid3-hrow-over.gif) repeat-x left bottom;
 135.488 +}
 135.489 +.sort-asc .x-grid3-sort-icon{
 135.490 +	background-image:url(../images/midnight/grid_sort_asc.gif);
 135.491 +}
 135.492 +.sort-desc .x-grid3-sort-icon{
 135.493 +	background-image:url(../images/midnight/grid_sort_desc.gif);
 135.494 +}
 135.495 +td.x-grid3-hd-over, td.sort-desc, td.sort-asc, td.x-grid3-hd-menu-open {
 135.496 +	border-left:1px solid #fff;
 135.497 +	border-right:1px solid #ccc;
 135.498 +}
 135.499 +.x-grid3-cell-selected{
 135.500 +	background-color:#e0eaee!important;
 135.501 +}
 135.502 +.x-grid3-body .x-grid3-td-expander{
 135.503 +	background:transparent url(../images/midnight/grid_grid3-special-col-bg.gif) repeat-y right;
 135.504 +}
 135.505 +.x-grid3-body .x-grid3-td-checker{
 135.506 +	background:transparent url(../images/midnight/grid_grid3-special-col-bg.gif) repeat-y right;
 135.507 +}
 135.508 +.x-grid3-body .x-grid3-td-numberer{
 135.509 +	background:transparent url(../images/midnight/grid_grid3-special-col-bg.gif) repeat-y right;
 135.510 +}
 135.511 +.x-grid3-body .x-grid3-row-selected .x-grid3-td-numberer,.x-grid3-body .x-grid3-row-selected .x-grid3-td-checker,.x-grid3-body .x-grid3-row-selected .x-grid3-td-expander{
 135.512 +	background:transparent url(../images/midnight/grid_grid3-special-col-sel-bg.gif) repeat-y right;
 135.513 +}
 135.514 +.x-grid-group-hd {
 135.515 +	border-bottom:2px solid #abb;
 135.516 +}
 135.517 +.x-grid-group-hd div {
 135.518 +	color: #456;
 135.519 +}
 135.520 +.x-dd-drag-proxy .x-grid3-hd-inner{
 135.521 +	background:#ebf3fd url(../images/midnight/grid_grid3-hrow-over.gif) repeat-x left bottom;
 135.522 +	border:1px solid #cccccc;
 135.523 +}
 135.524 +.x-tbar-page-first{
 135.525 +	background-image:url(../images/midnight/grid_page-first.gif)!important;
 135.526 +}
 135.527 +.x-tbar-page-last{
 135.528 +	background-image:url(../images/midnight/grid_page-last.gif)!important;
 135.529 +}
 135.530 +.x-tbar-page-next{
 135.531 +	background-image:url(../images/midnight/grid_page-next.gif)!important;
 135.532 +}
 135.533 +.x-tbar-page-prev{
 135.534 +	background-image:url(../images/midnight/grid_page-prev.gif)!important;
 135.535 +}
 135.536 +.x-paging-info {
 135.537 +	color:#FFFFFF;
 135.538 +}
 135.539 +
 135.540 +
 135.541 +/* Progress Bar */
 135.542 +
 135.543 +.x-progress-bar{
 135.544 +	background:#9CBFEE url( ../../resources/images/midnight/progress_progress-bg.gif ) repeat-x left center;
 135.545 +	border-top:1px solid #ddd;
 135.546 +	border-bottom:1px solid #ddd;
 135.547 +}
 135.548 +
 135.549 +
 135.550 +/* Combos */
 135.551 +.x-combo-list{
 135.552 +	border:1px solid #89a;
 135.553 +}
 135.554 +.x-combo-list .x-combo-selected{
 135.555 +	border:1px dotted #ccc!important;
 135.556 +	background:#fbf0d2;
 135.557 +}
 135.558 +
 135.559 +
 135.560 +/* Calendars */
 135.561 +
 135.562 +.x-date-middle,.x-date-left,.x-date-right{
 135.563 +	background:url(../images/midnight/shared_hd-sprite.gif) repeat-x 0 -83px;
 135.564 +}
 135.565 +.x-date-bottom {
 135.566 +	background:#DFECFB url(../images/midnight/shared_glass-bg.gif) repeat-x scroll left top;
 135.567 +	border-top:1px solid #cccccc;
 135.568 +}
 135.569 +.x-date-right a{
 135.570 +	background-image:url(../images/midnight/shared_right-btn.gif);
 135.571 +}
 135.572 +.x-date-left a{
 135.573 +	background-image:url(../images/midnight/shared_left-btn.gif);
 135.574 +}
 135.575 +.x-date-inner th{
 135.576 +	background:#dfecfb url(../images/midnight/shared_glass-bg.gif) repeat-x left top;
 135.577 +	border-bottom:1px solid #cccccc;
 135.578 +	color:#345;
 135.579 +}
 135.580 +.x-date-inner .x-date-selected a {
 135.581 +	background:#dfecfb url(../images/midnight/shared_glass-bg.gif) repeat-x scroll left top;
 135.582 +	border:1px solid #89a;
 135.583 +}
 135.584 +.x-date-inner a:hover,.x-date-inner .x-date-disabled a:hover{
 135.585 +	background:#cfdce1;
 135.586 +}
 135.587 +td.x-date-mp-month a:hover,td.x-date-mp-year a:hover{
 135.588 +	color:#123;
 135.589 +	background:#cfdce1;
 135.590 +}
 135.591 +.x-date-mp-ybtn a{
 135.592 +	background:transparent url(../images/midnight/panel_tool-sprites.gif) no-repeat;
 135.593 +}
 135.594 +.x-date-mp-btns {
 135.595 +	background:#dfecfb url(../images/midnight/shared_glass-bg.gif) repeat-x scroll left top;
 135.596 +}
 135.597 +td.x-date-mp-sel a{
 135.598 +	background:#dfecfb url(../images/midnight/shared_glass-bg.gif) repeat-x left top;
 135.599 +	border:1px solid #cccccc;
 135.600 +}
 135.601 +.x-date-mp-btns button{
 135.602 +	background:#405574;
 135.603 +	border:1px solid;
 135.604 +	border-color:#cccccc #055 #055 #cccccc;
 135.605 +}
 135.606 +
 135.607 +/* Resizable Handle */
 135.608 +.x-resizable-over .x-resizable-handle-east,.x-resizable-pinned .x-resizable-handle-east{
 135.609 +	background:url(../images/midnight/sizer_e-handle.gif);background-position:left;
 135.610 +}
 135.611 +.x-resizable-over .x-resizable-handle-west,.x-resizable-pinned .x-resizable-handle-west{
 135.612 +	background:url(../images/midnight/sizer_e-handle.gif);background-position:left;
 135.613 +}
 135.614 +.x-resizable-over .x-resizable-handle-south,.x-resizable-pinned .x-resizable-handle-south{
 135.615 +	background:url(../images/midnight/sizer_s-handle.gif);background-position:top;
 135.616 +}
 135.617 +.x-resizable-over .x-resizable-handle-north,.x-resizable-pinned .x-resizable-handle-north{
 135.618 +	background:url(../images/midnight/sizer_s-handle.gif);background-position:top;
 135.619 +}
 135.620 +.x-resizable-over .x-resizable-handle-southeast,.x-resizable-pinned .x-resizable-handle-southeast{
 135.621 +	background:url(../images/midnight/sizer_se-handle.gif);background-position:top left;
 135.622 +}
 135.623 +.x-resizable-over .x-resizable-handle-northwest,.x-resizable-pinned .x-resizable-handle-northwest{
 135.624 +	background:url(../images/midnight/sizer_nw-handle.gif);background-position:bottom right;
 135.625 +}
 135.626 +.x-resizable-over .x-resizable-handle-northeast,.x-resizable-pinned .x-resizable-handle-northeast{
 135.627 +	background:url(../images/midnight/sizer_ne-handle.gif);background-position:bottom left;
 135.628 +}
 135.629 +.x-resizable-over .x-resizable-handle-southwest,.x-resizable-pinned .x-resizable-handle-southwest{
 135.630 +	background:url(../images/midnight/sizer_sw-handle.gif);background-position:top right;
 135.631 +}
 135.632 +
 135.633 +/* Tips */
 135.634 +.x-tip .x-tip-close{
 135.635 +	background-image:url(../images/midnight/qtip_close.gif);
 135.636 +}
 135.637 +.x-tip .x-tip-tc{
 135.638 +	background:transparent url(../images/midnight/qtip_tip-sprite.gif) no-repeat 0 -62px;
 135.639 +}
 135.640 +.x-tip .x-tip-tl{
 135.641 +	background:transparent url(../images/midnight/qtip_tip-sprite.gif) no-repeat 0 0;
 135.642 +}
 135.643 +.x-tip .x-tip-tr{
 135.644 +	background:transparent url(../images/midnight/qtip_tip-sprite.gif) no-repeat right 0;
 135.645 +}
 135.646 +.x-tip .x-tip-bc{
 135.647 +	background:transparent url(../images/midnight/qtip_tip-sprite.gif) no-repeat 0 -121px;
 135.648 +}
 135.649 +.x-tip .x-tip-bl{
 135.650 +	background:transparent url(../images/midnight/qtip_tip-sprite.gif) no-repeat 0 -59px;
 135.651 +}
 135.652 +.x-tip .x-tip-br{
 135.653 +	background:transparent url(../images/midnight/qtip_tip-sprite.gif) no-repeat right -59px;
 135.654 +}
 135.655 +.x-tip .x-tip-ml{
 135.656 +	background:#fff url(../images/midnight/qtip_tip-sprite.gif) no-repeat 0 -124px;
 135.657 +}
 135.658 +.x-tip .x-tip-mr{
 135.659 +	background:transparent url(../images/midnight/qtip_tip-sprite.gif) no-repeat right -124px;
 135.660 +}
 135.661 +.x-form-invalid-tip .x-tip-tc{background:url(../images/default/form/error-tip-corners.gif) repeat-x 0 -12px;padding-top:6px;}
 135.662 +.x-form-invalid-tip .x-tip-tl{background-image:url(../images/default/form/error-tip-corners.gif);}
 135.663 +.x-form-invalid-tip .x-tip-tr{background-image:url(../images/default/form/error-tip-corners.gif);}
 135.664 +.x-form-invalid-tip .x-tip-bc{background:url(../images/default/form/error-tip-corners.gif) repeat-x 0 -18px;height:6px;}
 135.665 +.x-form-invalid-tip .x-tip-bl{background:url(../images/default/form/error-tip-corners.gif) no-repeat 0 -6px;}
 135.666 +.x-form-invalid-tip .x-tip-br{background:url(../images/default/form/error-tip-corners.gif) no-repeat right -6px;}
 135.667 +.x-form-invalid-tip .x-tip-ml{background-image:url(../images/default/form/error-tip-corners.gif);}
 135.668 +.x-form-invalid-tip .x-tip-mr{background-image:url(../images/default/form/error-tip-corners.gif);}
 135.669 +
 135.670 +
 135.671 +
 135.672 +
 135.673 +/* Miscellaneous */
 135.674 +
 135.675 +.x-item-disabled * {
 135.676 +	color:#333 !important;
 135.677 +}
   136.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   136.2 +++ b/onlypaths/theme/css/xtheme-olive.css	Sun Jan 31 12:33:33 2010 -0500
   136.3 @@ -0,0 +1,624 @@
   136.4 +/*
   136.5 + * Ext JS Library 2.0 Alpha 1
   136.6 + * Copyright(c) 2006-2007, Ext JS, LLC.
   136.7 + *
   136.8 + * @license LGPL
   136.9 + * @author Kemal Tunador <tunador@madrabaz.com>
  136.10 + */
  136.11 +
  136.12 +.x-panel {
  136.13 +    border-style: solid;
  136.14 +    border-color: #68cccd;
  136.15 +}
  136.16 +.x-panel-header {
  136.17 +    color:#000000;
  136.18 +	border:1px solid #68cccd;
  136.19 +    background-image:url(../images/olive/panel/white-top-bottom.gif);
  136.20 +}
  136.21 +.x-panel-tl .x-panel-header {
  136.22 +    color:#000000;
  136.23 +}
  136.24 +.x-panel-body {
  136.25 +    border-color:#68cccd;
  136.26 +}
  136.27 +
  136.28 +.x-panel-bbar .x-toolbar {
  136.29 +    border-color:#68cccd;
  136.30 +}
  136.31 +
  136.32 +.x-panel-tbar .x-toolbar {
  136.33 +    border-color:#68cccd;
  136.34 +}
  136.35 +
  136.36 +.x-panel-tbar-noheader .x-toolbar, .x-panel-mc .x-panel-tbar .x-toolbar {
  136.37 +    border-color:#68cccd;
  136.38 +}
  136.39 +.x-panel-body-noheader, .x-panel-mc .x-panel-body {
  136.40 +    border-color:#68cccd;
  136.41 +}
  136.42 +.x-panel-tc {
  136.43 +	background-image:url(../images/olive/panel/top-bottom.gif);
  136.44 +}
  136.45 +.x-panel-tl {
  136.46 +	background-image:url(../images/olive/panel/corners-sprite.gif);
  136.47 +    border-color:#68cccd;
  136.48 +}
  136.49 +.x-panel-tr {
  136.50 +	background-image:url(../images/olive/panel/corners-sprite.gif);
  136.51 +}
  136.52 +.x-panel-bc {
  136.53 +	background-image:url(../images/olive/panel/top-bottom.gif);
  136.54 +}
  136.55 +.x-panel-bl {
  136.56 +	background-image:url(../images/olive/panel/corners-sprite.gif);
  136.57 +}
  136.58 +.x-panel-br {
  136.59 +	background-image:url(../images/olive/panel/corners-sprite.gif);
  136.60 +}
  136.61 +.x-panel-mc {
  136.62 +    background:#99dddd;
  136.63 +    color:#000000;
  136.64 +}
  136.65 +.x-panel-mc .x-panel-body {
  136.66 +    background:transparent;
  136.67 +    border: 0 none;
  136.68 +}
  136.69 +.x-panel-ml {
  136.70 +	background-image:url(../images/olive/panel/left-right.gif);
  136.71 +}
  136.72 +.x-panel-mr {
  136.73 +	background-image:url(../images/olive/panel/left-right.gif);
  136.74 +}
  136.75 +
  136.76 +/* Ghosting */
  136.77 +.x-panel-ghost {
  136.78 +    background:#99dddd;
  136.79 +}
  136.80 +
  136.81 +.x-panel-ghost ul {
  136.82 +    border-color:#68cccd;
  136.83 +}
  136.84 +
  136.85 +.x-grid-panel .x-panel-mc .x-panel-body {
  136.86 +    border:1px solid #68cccd;
  136.87 +}
  136.88 +
  136.89 +/* Grid */
  136.90 +.x-grid3-row {
  136.91 +    color:#000000;
  136.92 +}
  136.93 +.x-grid3-row-over {
  136.94 +	border:1px solid #68cccd;
  136.95 +    background-image:url(../images/olive/grid/row-over.gif);
  136.96 +}
  136.97 +.x-grid3-header{
  136.98 +	background-image:url(../images/olive/grid/grid3-hrow.gif);
  136.99 +}
 136.100 +.x-grid3-header-pop-inner {
 136.101 +    border-left:1px solid #2a8e8f;
 136.102 +    background-image:url(../images/olive/grid/hd-pop.gif);
 136.103 +}
 136.104 +td.x-grid3-hd-over, td.sort-desc, td.sort-asc, td.x-grid3-hd-menu-open {
 136.105 +    border-left:1px solid #2a8e8f;
 136.106 +    border-right:1px solid #2a8e8f;
 136.107 +}
 136.108 +td.x-grid3-hd-over .x-grid3-hd-inner, td.sort-desc .x-grid3-hd-inner, td.sort-asc .x-grid3-hd-inner, td.x-grid3-hd-menu-open .x-grid3-hd-inner {
 136.109 +    background-image:url(../images/olive/grid/grid3-hrow-over.gif);
 136.110 +   	background-color:#a5e1e1;
 136.111 +}
 136.112 +.x-dd-drag-proxy .x-grid3-hd-inner{
 136.113 +	background-image:url(../images/olive/grid/grid3-hrow-over.gif);
 136.114 +}
 136.115 +.x-grid3-locked td.x-grid3-row-marker, .x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker{
 136.116 +    background-image:url(../images/olive/grid/grid-hrow.gif);
 136.117 +    color:#666666;
 136.118 +    border-top:1px solid #188889;
 136.119 +    border-right:1px solid #2a8e8f !important;
 136.120 +}
 136.121 +.x-props-grid .x-grid3-td-name .x-grid3-cell-inner{
 136.122 +	background-image:url(../images/olive/grid/grid3-special-col-bg.gif);
 136.123 +    color:#eeeeee !important;
 136.124 +}
 136.125 +.x-grid3-hd-btn {
 136.126 +    background-image:url(../images/olive/grid/grid3-hd-btn.gif);
 136.127 +}
 136.128 +.x-grid3-body .x-grid3-td-expander {
 136.129 +    background-image:url(../images/olive/grid/grid3-special-col-bg.gif);
 136.130 +}
 136.131 +.x-grid3-body .x-grid3-td-checker {
 136.132 +    background-image:url(../images/olive/grid/grid3-special-col-bg.gif);
 136.133 +}
 136.134 +.x-grid3-body .x-grid3-td-numberer {
 136.135 +    background-image:url(../images/olive/grid/grid3-special-col-bg.gif);
 136.136 +}
 136.137 +.x-grid3-body .x-grid3-row-selected .x-grid3-td-numberer,
 136.138 +.x-grid3-body .x-grid3-row-selected .x-grid3-td-checker,
 136.139 +.x-grid3-body .x-grid3-row-selected .x-grid3-td-expander {
 136.140 +	background-image:url(../images/olive/grid/grid3-special-col-sel-bg.gif);
 136.141 +}
 136.142 +.x-grid3-hd-row td {
 136.143 +    border-left:1px solid #77e7e9;
 136.144 +    border-right:1px solid #188889;
 136.145 +}
 136.146 +.x-grid3-row-selected {
 136.147 +	background: #a5e1e1;
 136.148 +	border:1px dotted #68cccd;
 136.149 +}
 136.150 +
 136.151 +/* Menu */
 136.152 +
 136.153 +.x-menu {
 136.154 +	border: 1px solid #5da9a9;
 136.155 +	background-color:#afdadb;
 136.156 +	background-image:url(../images/olive/menu/menu.gif);
 136.157 +}
 136.158 +.x-menu-sep {
 136.159 +    background-color:#c6edee;
 136.160 +	border-bottom:1px solid #41807f;
 136.161 +}
 136.162 +.x-menu-plain {
 136.163 +	background:#afdadb !important;
 136.164 +}
 136.165 +.x-menu-item-active {
 136.166 +	background-image:url(../images/olive/menu/item-over.gif);
 136.167 +	background-color:#a4efee;
 136.168 +	border:1px solid #59b6b5;
 136.169 +}
 136.170 +.x-menu a.x-menu-item {
 136.171 +	color:#222222;
 136.172 +}
 136.173 +.x-menu-item-active a.x-menu-item {
 136.174 +    color: #000000;
 136.175 +}
 136.176 +
 136.177 +/* Tools */
 136.178 +.x-tool {
 136.179 +    background-image:url(../images/olive/panel/tool-sprites.gif);
 136.180 +}
 136.181 +
 136.182 +/* Buttons */
 136.183 +
 136.184 +.x-btn-text{
 136.185 +    color: #000000;
 136.186 +    font-weight:bold !important;
 136.187 +}
 136.188 +.x-btn-left{
 136.189 +	background-image:url(../images/olive/button/btn-sprite.gif);
 136.190 +}
 136.191 +.x-btn-right{
 136.192 +	background-image:url(../images/olive/button/btn-sprite.gif);
 136.193 +}
 136.194 +.x-btn-center{
 136.195 +	background-image:url(../images/olive/button/btn-sprite.gif);
 136.196 +}
 136.197 +.x-btn-menu-arrow-wrap .x-btn-center button {
 136.198 +    background-image:url(../images/olive/button/btn-arrow.gif);
 136.199 +}
 136.200 +.x-btn-with-menu  .x-btn-center em {
 136.201 +    background-image:url(../images/olive/toolbar/btn-arrow.gif);
 136.202 +}
 136.203 +
 136.204 +.x-btn-text-icon .x-btn-with-menu .x-btn-center em {
 136.205 +    background-image:url(../images/olive/toolbar/btn-arrow.gif);
 136.206 +}
 136.207 +
 136.208 +/* Layout classes */
 136.209 +
 136.210 +.x-border-layout-ct {
 136.211 +    background:#f3f9ff; /* f1f2f4 */
 136.212 +}
 136.213 +
 136.214 +.x-accordion-hd {
 136.215 +	background-image:url(../images/olive/panel/light-hd.gif);
 136.216 +}
 136.217 +
 136.218 +.x-layout-collapsed{
 136.219 +    background-color:#6acfcb;
 136.220 +    border-color:#5dc8c9;
 136.221 +}
 136.222 +.x-layout-collapsed-over{
 136.223 +	 background-color:#78d5ca;
 136.224 +}
 136.225 +
 136.226 +
 136.227 +/* qtips */
 136.228 +.x-tip .x-tip-close{
 136.229 +	background-image: url(../images/olive/qtip/close.gif);
 136.230 +}
 136.231 +.x-tip .x-tip-tc {
 136.232 +	background-image:url(../images/olive/qtip/tip-sprite.gif);
 136.233 +}
 136.234 +.x-tip .x-tip-tl {
 136.235 +	background-image:url(../images/olive/qtip/tip-sprite.gif);
 136.236 +}
 136.237 +.x-tip .x-tip-tr {
 136.238 +	background-image:url(../images/olive/qtip/tip-sprite.gif);
 136.239 +}
 136.240 +.x-tip .x-tip-bc {
 136.241 +	background-image:url(../images/olive/qtip/tip-sprite.gif);
 136.242 +}
 136.243 +.x-tip .x-tip-bl {
 136.244 +	background-image:url(../images/olive/qtip/tip-sprite.gif);
 136.245 +}
 136.246 +.x-tip .x-tip-br {
 136.247 +	background-image:url(../images/olive/qtip/tip-sprite.gif);
 136.248 +}
 136.249 +.x-tip .x-tip-ml {
 136.250 +	background-image:url(../images/olive/qtip/tip-sprite.gif);
 136.251 +}
 136.252 +.x-tip .x-tip-mr {
 136.253 +	background-image:url(../images/olive/qtip/tip-sprite.gif);
 136.254 +}
 136.255 +.x-tip .x-tip-header-text {
 136.256 +    color:#000000;
 136.257 +}
 136.258 +.x-tip .x-tip-body {
 136.259 +    color:#111111;
 136.260 +}
 136.261 +/* Toolbars */
 136.262 +
 136.263 +.x-toolbar{
 136.264 +	border-color:#68cccd;
 136.265 +    background:#8fd9da url(../images/olive/toolbar/bg.gif) repeat-x top left;
 136.266 +}
 136.267 +.x-toolbar button {
 136.268 +    color:#222222;
 136.269 +}
 136.270 +.x-toolbar .x-btn-menu-arrow-wrap .x-btn-center button {
 136.271 +    background-image:url(../images/olive/toolbar/btn-arrow.gif);
 136.272 +}
 136.273 +.x-toolbar .x-btn-text-icon .x-btn-menu-arrow-wrap .x-btn-center button {
 136.274 +    background-image:url(../images/olive/toolbar/btn-arrow.gif);
 136.275 +}
 136.276 +.x-toolbar .x-btn-over .x-btn-left{
 136.277 +	background-image:url(../images/olive/toolbar/tb-btn-sprite.gif);
 136.278 +}
 136.279 +.x-toolbar .x-btn-over .x-btn-right{
 136.280 +	background-image:url(../images/olive/toolbar/tb-btn-sprite.gif);
 136.281 +}
 136.282 +.x-toolbar .x-btn-over .x-btn-center{
 136.283 +	background-image:url(../images/olive/toolbar/tb-btn-sprite.gif);
 136.284 +}
 136.285 +.x-toolbar .x-btn-over button {
 136.286 +    color:#000000;
 136.287 +}
 136.288 +.x-toolbar .x-btn-click .x-btn-left, .x-toolbar .x-btn-pressed .x-btn-left, .x-toolbar .x-btn-menu-active .x-btn-left{
 136.289 +	background-image:url(../images/olive/toolbar/tb-btn-sprite.gif);
 136.290 +}
 136.291 +.x-toolbar .x-btn-click .x-btn-right, .x-toolbar .x-btn-pressed .x-btn-right, .x-toolbar .x-btn-menu-active .x-btn-right{
 136.292 +	background-image:url(../images/olive/toolbar/tb-btn-sprite.gif);
 136.293 +}
 136.294 +
 136.295 +.x-toolbar .x-btn-click .x-btn-center, .x-toolbar .x-btn-pressed .x-btn-center, .x-toolbar .x-btn-menu-active .x-btn-center{
 136.296 +	background-image:url(../images/olive/toolbar/tb-btn-sprite.gif);
 136.297 +}
 136.298 +.x-toolbar .ytb-sep {
 136.299 +	background-image: url(../images/olive/grid/grid-split.gif);
 136.300 +}
 136.301 +.x-paging-info {
 136.302 +    color:#000000;
 136.303 +}
 136.304 +
 136.305 +/* Form */
 136.306 +
 136.307 +.x-form-field-wrap .x-form-trigger{
 136.308 +    background-image:url(../images/olive/form/trigger.gif);
 136.309 +    border-bottom: 1px solid #55d4d6;
 136.310 +}
 136.311 +.x-form-field-wrap .x-form-date-trigger{
 136.312 +    background-image: url(../images/olive/form/date-trigger.gif);
 136.313 +}
 136.314 +.x-form-field-wrap .x-form-clear-trigger{
 136.315 +    background-image: url(../images/olive/form/clear-trigger.gif);
 136.316 +}
 136.317 +.x-form-field-wrap .x-form-search-trigger{
 136.318 +    background-image: url(../images/olive/form/search-trigger.gif);
 136.319 +}
 136.320 +
 136.321 +.x-form-text, textarea.x-form-field{
 136.322 +    border: 1px solid #55d4d6;
 136.323 +}
 136.324 +.x-form-select-one {
 136.325 +    border: 1px solid #55d4d6;
 136.326 +}
 136.327 +.x-item-disabled .x-form-trigger-over{
 136.328 +    border-bottom: 1px solid #55d4d6;
 136.329 +}
 136.330 +.x-item-disabled .x-form-trigger-click{
 136.331 +    border-bottom: 1px solid #55d4d6;
 136.332 +}
 136.333 +.x-form fieldset {
 136.334 +    border:1px solid #55d4d6;
 136.335 +}
 136.336 +.x-trigger-wrap-focus .x-form-trigger{
 136.337 +    border-bottom: 1px solid #2fb6b8;
 136.338 +}
 136.339 +.x-form-focus, textarea.x-form-focus{
 136.340 +	border: 1px solid #2fb6b8;
 136.341 +}
 136.342 +
 136.343 +
 136.344 +/* Tabs */
 136.345 +
 136.346 +.x-tab-panel-header, .x-tab-panel-footer {
 136.347 +	background: #9ededf;
 136.348 +	border-color:#5dc8c9;
 136.349 +}
 136.350 +
 136.351 +
 136.352 +.x-tab-panel-header {
 136.353 +	border-color:#5dc8c9;
 136.354 +}
 136.355 +
 136.356 +.x-tab-panel-footer {
 136.357 +	border-color:#5dc8c9;
 136.358 +}
 136.359 +
 136.360 +ul.x-tab-strip-top{
 136.361 +	background:#9ededf url(../images/olive/tabs/tab-strip-bg.gif) repeat-x left top;
 136.362 +	border-color:#5dc8c9;
 136.363 +}
 136.364 +
 136.365 +ul.x-tab-strip-bottom{
 136.366 +	background-image:url(../images/olive/tabs/tab-strip-btm-bg.gif);
 136.367 +	border-color:#5dc8c9;
 136.368 +}
 136.369 +
 136.370 +.x-tab-strip span.x-tab-strip-text {
 136.371 +	color:#333333;
 136.372 +}
 136.373 +.x-tab-strip-over span.x-tab-strip-text {
 136.374 +	color:#000000;
 136.375 +}
 136.376 +
 136.377 +.x-tab-strip-active span.x-tab-strip-text {
 136.378 +	color:#111111;
 136.379 +}
 136.380 +
 136.381 +.x-tab-strip-top .x-tab-right {
 136.382 +	background-image:url(../images/olive/tabs/tabs-sprite.gif);
 136.383 +}
 136.384 +
 136.385 +.x-tab-strip-top .x-tab-left {
 136.386 +	background-image:url(../images/olive/tabs/tabs-sprite.gif);
 136.387 +}
 136.388 +.x-tab-strip-top .x-tab-strip-inner {
 136.389 +	background-image:url(../images/olive/tabs/tabs-sprite.gif);
 136.390 +}
 136.391 +
 136.392 +.x-tab-strip-bottom .x-tab-right {
 136.393 +	background-image:url(../images/olive/tabs/tab-btm-inactive-right-bg.gif);
 136.394 +}
 136.395 +
 136.396 +.x-tab-strip-bottom .x-tab-left {
 136.397 +	background-image:url(../images/olive/tabs/tab-btm-inactive-left-bg.gif);
 136.398 +}
 136.399 +
 136.400 +.x-tab-strip-bottom .x-tab-strip-active .x-tab-right {
 136.401 +	background-image:url(../images/olive/tabs/tab-btm-right-bg.gif);
 136.402 +}
 136.403 +
 136.404 +.x-tab-strip-bottom .x-tab-strip-active .x-tab-left {
 136.405 +	background-image:url(../images/olive/tabs/tab-btm-left-bg.gif);
 136.406 +}
 136.407 +
 136.408 +.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close {
 136.409 +	background-image:url(../images/olive/tabs/tab-close.gif);
 136.410 +}
 136.411 +.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close:hover{
 136.412 +	background-image:url(../images/olive/tabs/tab-close.gif);
 136.413 +}
 136.414 +
 136.415 +.x-tab-panel-body {
 136.416 +    border-color:#5dc8c9;
 136.417 +    background:#eeeeee;
 136.418 +}
 136.419 +.x-tab-panel-bbar .x-toolbar {
 136.420 +    border-color: #5dc8c9;
 136.421 +}
 136.422 +
 136.423 +.x-tab-panel-tbar .x-toolbar {
 136.424 +    border-color: #5dc8c9;
 136.425 +}
 136.426 +
 136.427 +.x-tab-panel-header-plain .x-tab-strip-spacer {
 136.428 +    border-color:#5dc8c9;
 136.429 +    background: #9ededf;
 136.430 +}
 136.431 +
 136.432 +.x-tab-scroller-left {
 136.433 +    background-image: url(../images/olive/tabs/scroll-left.gif);
 136.434 +    border-color:#5dc8c9;
 136.435 +}
 136.436 +.x-tab-scroller-right {
 136.437 +    background-image: url(../images/olive/tabs/scroll-right.gif);
 136.438 +    border-color:#5dc8c9;
 136.439 +}
 136.440 +
 136.441 +/* Window */
 136.442 +
 136.443 +.x-window-proxy {
 136.444 +    background:#363636;
 136.445 +    border-color:#5dc8c9;
 136.446 +}
 136.447 +
 136.448 +.x-window-tl .x-window-header {
 136.449 +    color:#000000;
 136.450 +}
 136.451 +.x-window-tc {
 136.452 +	background-image:url(../images/olive/window/top-bottom.png);
 136.453 +}
 136.454 +.x-window-tl {
 136.455 +	background-image:url(../images/olive/window/left-corners.png);
 136.456 +}
 136.457 +.x-window-tr {
 136.458 +	background-image:url(../images/olive/window/right-corners.png);
 136.459 +}
 136.460 +.x-window-bc {
 136.461 +	background-image:url(../images/olive/window/top-bottom.png);
 136.462 +}
 136.463 +.x-window-bl {
 136.464 +	background-image:url(../images/olive/window/left-corners.png);
 136.465 +}
 136.466 +.x-window-br {
 136.467 +	background-image:url(../images/olive/window/right-corners.png);
 136.468 +}
 136.469 +.x-window-mc {
 136.470 +    border:1px solid #3db0b2;
 136.471 +    background:#92dedf;
 136.472 +}
 136.473 +
 136.474 +.x-window-ml {
 136.475 +	background-image:url(../images/olive/window/left-right.png);
 136.476 +}
 136.477 +.x-window-mr {
 136.478 +	background-image:url(../images/olive/window/left-right.png);
 136.479 +}
 136.480 +.x-panel-ghost .x-window-tl {
 136.481 +    border-color:#5dc8c9;
 136.482 +}
 136.483 +.x-panel-collapsed .x-window-tl {
 136.484 +    border-color:#5dc8c9;
 136.485 +}
 136.486 +
 136.487 +.x-window-plain .x-window-mc {
 136.488 +    color: #eeeeee;
 136.489 +    background: #5dc6c6;
 136.490 +    border-left:1px solid #34a4a6;
 136.491 +    border-top:1px solid #34a4a6;
 136.492 +    border-bottom:1px solid #47c3c4;
 136.493 +    border-right:1px solid #47c3c4;
 136.494 +}
 136.495 +
 136.496 +.x-window-plain .x-window-body {
 136.497 +    border-left:1px solid #5ec8c9;
 136.498 +    border-top:1px solid #5ec8c9;
 136.499 +    border-bottom:1px solid #3db0b2;
 136.500 +    border-right:1px solid #3db0b2;
 136.501 +    background:transparent !important;
 136.502 +}
 136.503 +
 136.504 +body.x-body-masked .x-window-mc, body.x-body-masked .x-window-plain .x-window-mc {
 136.505 +    background-color: #5dc6c6;
 136.506 +}
 136.507 +
 136.508 +/* Date Picker */
 136.509 +.x-date-picker {
 136.510 +    border: 1px solid #5dc8c9;
 136.511 +    background:#ffffff;
 136.512 +}
 136.513 +.x-date-middle,.x-date-left,.x-date-right {
 136.514 +	background-image: url(../images/olive/shared/hd-sprite.gif);
 136.515 +}
 136.516 +.x-date-middle .x-btn-with-menu  .x-btn-center em {
 136.517 +    background-image:url(../images/olive/toolbar/btn-arrow-light.gif);
 136.518 +}
 136.519 +.x-date-right a {
 136.520 +    background-image: url(../images/olive/shared/right-btn.gif);
 136.521 +}
 136.522 +.x-date-left a{
 136.523 +	background-image: url(../images/olive/shared/left-btn.gif);
 136.524 +}
 136.525 +.x-date-inner th {
 136.526 +    background-image:url(../images/olive/shared/glass-bg.gif);
 136.527 +	border-bottom: 1px solid #5dc8c9;
 136.528 +	color:#000000;
 136.529 +}
 136.530 +.x-date-inner .x-date-selected a{
 136.531 +	background-image:url(../images/olive/shared/glass-bg.gif);
 136.532 +	border:1px solid #5dc8c9;
 136.533 +    color:#000000;
 136.534 +}
 136.535 +.x-date-bottom {
 136.536 +    border-top: 1px solid #5dc8c9;
 136.537 +    background-image:url(../images/olive/shared/glass-bg.gif);
 136.538 +}
 136.539 +.x-date-mp-btns {
 136.540 +	background-image:url(../images/olive/shared/glass-bg.gif);
 136.541 +}
 136.542 +td.x-date-mp-sel a {
 136.543 +	background-image:url(../images/olive/shared/glass-bg.gif);
 136.544 +	border:1px solid #5dc8c9;
 136.545 +	color: #000000 !important;
 136.546 +}
 136.547 +.x-date-mp-ybtn a {
 136.548 +    background-image:url(../images/olive/panel/tool-sprites.gif);
 136.549 +}
 136.550 +.x-date-mp-btns button {
 136.551 +	background-image:url(../images/olive/shared/glass-bg.gif);
 136.552 +	border-color: #34a4a6 #5dc8c9 #5dc8c9 #34a4a6;
 136.553 +	color: #000000;
 136.554 +}
 136.555 +.x-date-inner a{
 136.556 +    color:#000000;
 136.557 +}
 136.558 +.x-date-inner a:hover, .x-date-inner .x-date-disabled a:hover{
 136.559 +    color:#f0eeef;
 136.560 +    background: #5dc8c9;
 136.561 +}
 136.562 +td.x-date-mp-month a,td.x-date-mp-year a {
 136.563 +	color:#000000;
 136.564 +}
 136.565 +td.x-date-mp-month a:hover,td.x-date-mp-year a:hover {
 136.566 +	color:#f0eeef;
 136.567 +	background: #5dc8c9;
 136.568 +}
 136.569 +
 136.570 +/* misc */
 136.571 +.x-html-editor-wrap {
 136.572 +    border-color:#5dc8c9;
 136.573 +}
 136.574 +
 136.575 +/* Borders go last for specificity */
 136.576 +.x-panel-noborder .x-panel-body-noborder {
 136.577 +    border-width:0;
 136.578 +}
 136.579 +
 136.580 +.x-panel-noborder .x-panel-header-noborder {
 136.581 +    border-width:0;
 136.582 +    border-bottom:1px solid #5dc8c9;
 136.583 +}
 136.584 +
 136.585 +.x-panel-noborder .x-panel-tbar-noborder .x-toolbar {
 136.586 +    border-width:0;
 136.587 +    border-bottom:1px solid #5dc8c9;
 136.588 +}
 136.589 +
 136.590 +.x-panel-noborder .x-panel-bbar-noborder .x-toolbar {
 136.591 +    border-width:0;
 136.592 +    border-top:1px solid #5dc8c9;
 136.593 +}
 136.594 +
 136.595 +.x-window-noborder .x-window-mc {
 136.596 +    border-width:0;
 136.597 +}
 136.598 +.x-window-plain .x-window-body-noborder {
 136.599 +    border-width:0;
 136.600 +}
 136.601 +
 136.602 +.x-tab-panel-noborder .x-tab-panel-body-noborder {
 136.603 +	border-width:0;
 136.604 +}
 136.605 +
 136.606 +.x-tab-panel-noborder .x-tab-panel-header-noborder {
 136.607 +	border-top-width:0;
 136.608 +	border-left-width:0;
 136.609 +	border-right-width:0;
 136.610 +}
 136.611 +
 136.612 +.x-tab-panel-noborder .x-tab-panel-footer-noborder {
 136.613 +	border-bottom-width:0;
 136.614 +	border-left-width:0;
 136.615 +	border-right-width:0;
 136.616 +}
 136.617 +
 136.618 +
 136.619 +.x-tab-panel-bbar-noborder .x-toolbar {
 136.620 +    border-width:0;
 136.621 +    border-top:1px solid #5dc8c9;
 136.622 +}
 136.623 +
 136.624 +.x-tab-panel-tbar-noborder .x-toolbar {
 136.625 +    border-width:0;
 136.626 +    border-bottom:1px solid #5dc8c9;
 136.627 +}
 136.628 \ No newline at end of file
   137.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   137.2 +++ b/onlypaths/theme/css/xtheme-orange.css	Sun Jan 31 12:33:33 2010 -0500
   137.3 @@ -0,0 +1,628 @@
   137.4 +/*
   137.5 + * Ext JS Library 2.0 Alpha 1
   137.6 + * Copyright(c) 2006-2007, Ext JS, LLC.
   137.7 + *
   137.8 + * @license LGPL
   137.9 + * @author Lubos Strapko <lubino@gmail.com>
  137.10 +
  137.11 + */
  137.12 +
  137.13 +.x-panel {
  137.14 +    border-style: solid;
  137.15 +    border-color: #ff8c37;
  137.16 +}
  137.17 +.x-panel-header {
  137.18 +    color:#010101;
  137.19 +	border:1px solid #ff8c37;
  137.20 +    background-image:url(../images/orange/panel/white-top-bottom.gif);
  137.21 +}
  137.22 +.x-panel-tl .x-panel-header {
  137.23 +    color:#010101;
  137.24 +}
  137.25 +.x-panel-body {
  137.26 +    border-color:#ff8c37;
  137.27 +}
  137.28 +
  137.29 +.x-panel-bbar .x-toolbar {
  137.30 +    border-color:#ff8c37;
  137.31 +}
  137.32 +
  137.33 +.x-panel-tbar .x-toolbar {
  137.34 +    border-color:#ff8c37;
  137.35 +}
  137.36 +
  137.37 +.x-panel-tbar-noheader .x-toolbar, .x-panel-mc .x-panel-tbar .x-toolbar {
  137.38 +    border-color:#ff8c37;
  137.39 +}
  137.40 +.x-panel-body-noheader, .x-panel-mc .x-panel-body {
  137.41 +    border-color:#ff8c37;
  137.42 +}
  137.43 +.x-panel-tc {
  137.44 +	background-image:url(../images/orange/panel/top-bottom.gif);
  137.45 +}
  137.46 +.x-panel-tl {
  137.47 +	background-image:url(../images/orange/panel/corners-sprite.gif);
  137.48 +    border-color:#ff8c37;
  137.49 +}
  137.50 +.x-panel-tr {
  137.51 +	background-image:url(../images/orange/panel/corners-sprite.gif);
  137.52 +}
  137.53 +.x-panel-bc {
  137.54 +	background-image:url(../images/orange/panel/top-bottom.gif);
  137.55 +}
  137.56 +.x-panel-bl {
  137.57 +	background-image:url(../images/orange/panel/corners-sprite.gif);
  137.58 +}
  137.59 +.x-panel-br {
  137.60 +	background-image:url(../images/orange/panel/corners-sprite.gif);
  137.61 +}
  137.62 +.x-panel-mc {
  137.63 +    background:#ffb177;
  137.64 +    color:#010101;
  137.65 +}
  137.66 +.x-panel-mc .x-panel-body {
  137.67 +    background:transparent;
  137.68 +    border: 0 none;
  137.69 +}
  137.70 +.x-panel-ml {
  137.71 +	background-image:url(../images/orange/panel/left-right.gif);
  137.72 +}
  137.73 +.x-panel-mr {
  137.74 +	background-image:url(../images/orange/panel/left-right.gif);
  137.75 +}
  137.76 +
  137.77 +/* Ghosting */
  137.78 +.x-panel-ghost {
  137.79 +    background:#ffb177;
  137.80 +}
  137.81 +
  137.82 +.x-panel-ghost ul {
  137.83 +    border-color:#ff8c37;
  137.84 +}
  137.85 +
  137.86 +.x-grid-panel .x-panel-mc .x-panel-body {
  137.87 +    border:1px solid #ff8c37;
  137.88 +}
  137.89 +
  137.90 +/* Grid */
  137.91 +.x-grid3-row {
  137.92 +    color:#010101;
  137.93 +}
  137.94 +.x-grid3-row-over {
  137.95 +	border:1px solid #ff8c37;
  137.96 +    background-image:url(../images/orange/grid/row-over.gif);
  137.97 +}
  137.98 +.x-grid3-header{
  137.99 +	background-image:url(../images/orange/grid/grid3-hrow.gif);
 137.100 +}
 137.101 +.x-grid3-header-pop-inner {
 137.102 +    border-left:1px solid #ba4f00;
 137.103 +    background-image:url(../images/orange/grid/hd-pop.gif);
 137.104 +}
 137.105 +td.x-grid3-hd-over, td.sort-desc, td.sort-asc, td.x-grid3-hd-menu-open {
 137.106 +    border-left:1px solid #ba4f00;
 137.107 +    border-right:1px solid #ba4f00;
 137.108 +}
 137.109 +td.x-grid3-hd-over .x-grid3-hd-inner, td.sort-desc .x-grid3-hd-inner, td.sort-asc .x-grid3-hd-inner, td.x-grid3-hd-menu-open .x-grid3-hd-inner {
 137.110 +    background-image:url(../images/orange/grid/grid3-hrow-over.gif);
 137.111 +   	background-color:#feba88;
 137.112 +}
 137.113 +.x-dd-drag-proxy .x-grid3-hd-inner{
 137.114 +	background-image:url(../images/orange/grid/grid3-hrow-over.gif);
 137.115 +}
 137.116 +.x-grid3-locked td.x-grid3-row-marker, .x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker{
 137.117 +    background-image:url(../images/orange/grid/grid-hrow.gif);
 137.118 +    color:#666666;
 137.119 +    border-top:1px solid #a24500;
 137.120 +    border-right:1px solid #ba4f00 !important;
 137.121 +}
 137.122 +.x-props-grid .x-grid3-td-name .x-grid3-cell-inner{
 137.123 +	background-image:url(../images/orange/grid/grid3-special-col-bg.gif);
 137.124 +    color:#eeeeee !important;
 137.125 +}
 137.126 +.x-grid3-hd-btn {
 137.127 +    background-image:url(../images/orange/grid/grid3-hd-btn.gif);
 137.128 +}
 137.129 +.x-grid3-body .x-grid3-td-expander {
 137.130 +    background-image:url(../images/orange/grid/grid3-special-col-bg.gif);
 137.131 +}
 137.132 +.x-grid3-body .x-grid3-td-checker {
 137.133 +    background-image:url(../images/orange/grid/grid3-special-col-bg.gif);
 137.134 +}
 137.135 +.x-grid3-body .x-grid3-td-numberer {
 137.136 +    background-image:url(../images/orange/grid/grid3-special-col-bg.gif);
 137.137 +}
 137.138 +.x-grid3-body .x-grid3-row-selected .x-grid3-td-numberer,
 137.139 +.x-grid3-body .x-grid3-row-selected .x-grid3-td-checker,
 137.140 +.x-grid3-body .x-grid3-row-selected .x-grid3-td-expander {
 137.141 +	background-image:url(../images/orange/grid/grid3-special-col-sel-bg.gif);
 137.142 +}
 137.143 +.x-grid3-hd-row td {
 137.144 +    border-left:1px solid #ffa461;
 137.145 +    border-right:1px solid #a24500;
 137.146 +}
 137.147 +.x-grid3-row-selected {
 137.148 +	background: #feba88;
 137.149 +	border:1px dotted #ff8c37;
 137.150 +}
 137.151 +
 137.152 +/* Menu */
 137.153 +
 137.154 +.x-menu {
 137.155 +	border: 1px solid #cf7737;
 137.156 +	background-color:#f1c099;
 137.157 +	background-image:url(../images/orange/menu/menu.gif);
 137.158 +}
 137.159 +.x-menu-sep {
 137.160 +    background-color:#ffd4b5;
 137.161 +	border-bottom:1px solid #a05422;
 137.162 +}
 137.163 +.x-menu-plain {
 137.164 +	background:#f1c099 !important;
 137.165 +}
 137.166 +.x-menu-item-active {
 137.167 +	background-image:url(../images/orange/menu/item-over.gif);
 137.168 +	background-color:#ffbf95;
 137.169 +	border:1px solid #e47a2c;
 137.170 +}
 137.171 +.x-menu a.x-menu-item {
 137.172 +	color:#222222;
 137.173 +}
 137.174 +.x-menu-item-active a.x-menu-item {
 137.175 +    color: #010101;
 137.176 +}
 137.177 +
 137.178 +/* Tools */
 137.179 +.x-tool {
 137.180 +    background-image:url(../images/orange/panel/tool-sprites.gif);
 137.181 +}
 137.182 +
 137.183 +/* Buttons */
 137.184 +
 137.185 +.x-btn-text{
 137.186 +    color: #010101;
 137.187 +    font-weight:bold !important;
 137.188 +}
 137.189 +.x-btn-left{
 137.190 +	background-image:url(../images/orange/button/btn-sprite.gif);
 137.191 +}
 137.192 +.x-btn-right{
 137.193 +	background-image:url(../images/orange/button/btn-sprite.gif);
 137.194 +}
 137.195 +.x-btn-center{
 137.196 +	background-image:url(../images/orange/button/btn-sprite.gif);
 137.197 +}
 137.198 +.x-btn-menu-arrow-wrap .x-btn-center button {
 137.199 +    background-image:url(../images/orange/button/btn-arrow.gif);
 137.200 +}
 137.201 +.x-btn-with-menu  .x-btn-center em {
 137.202 +    background-image:url(../images/orange/toolbar/btn-arrow.gif);
 137.203 +}
 137.204 +
 137.205 +.x-btn-text-icon .x-btn-with-menu .x-btn-center em {
 137.206 +    background-image:url(../images/orange/toolbar/btn-arrow.gif);
 137.207 +}
 137.208 +
 137.209 +/* Layout classes */
 137.210 +
 137.211 +.x-border-layout-ct {
 137.212 +    background:#ffd9b1; /* f1f2f4 */
 137.213 +}
 137.214 +
 137.215 +.x-accordion-hd {
 137.216 +	background-image:url(../images/orange/panel/light-hd.gif);
 137.217 +}
 137.218 +
 137.219 +.x-layout-collapsed{
 137.220 +    background-color:#ff853b;
 137.221 +    border-color:#ff8327;
 137.222 +}
 137.223 +.x-layout-collapsed-over{
 137.224 +	 background-color:#ff854f;
 137.225 +}
 137.226 +
 137.227 +
 137.228 +/* qtips */
 137.229 +.x-tip .x-tip-close{
 137.230 +	background-image: url(../images/orange/qtip/close.gif);
 137.231 +}
 137.232 +.x-tip .x-tip-tc {
 137.233 +	background-image:url(../images/orange/qtip/tip-sprite.gif);
 137.234 +}
 137.235 +.x-tip .x-tip-tl {
 137.236 +	background-image:url(../images/orange/qtip/tip-sprite.gif);
 137.237 +}
 137.238 +.x-tip .x-tip-tr {
 137.239 +	background-image:url(../images/orange/qtip/tip-sprite.gif);
 137.240 +}
 137.241 +.x-tip .x-tip-bc {
 137.242 +	background-image:url(../images/orange/qtip/tip-sprite.gif);
 137.243 +}
 137.244 +.x-tip .x-tip-bl {
 137.245 +	background-image:url(../images/orange/qtip/tip-sprite.gif);
 137.246 +}
 137.247 +.x-tip .x-tip-br {
 137.248 +	background-image:url(../images/orange/qtip/tip-sprite.gif);
 137.249 +}
 137.250 +.x-tip .x-tip-ml {
 137.251 +	background-image:url(../images/orange/qtip/tip-sprite.gif);
 137.252 +}
 137.253 +.x-tip .x-tip-mr {
 137.254 +	background-image:url(../images/orange/qtip/tip-sprite.gif);
 137.255 +}
 137.256 +.x-tip .x-tip-header-text {
 137.257 +    color:#010101;
 137.258 +}
 137.259 +.x-tip .x-tip-body {
 137.260 +    color:#111111;
 137.261 +}
 137.262 +/* Toolbars */
 137.263 +
 137.264 +.x-toolbar{
 137.265 +	border-color:#ff8c37;
 137.266 +    background:#ffaa6b url(../images/orange/toolbar/bg.gif) repeat-x top left;
 137.267 +}
 137.268 +.x-toolbar button {
 137.269 +    color:#222222;
 137.270 +}
 137.271 +.x-toolbar .x-btn-menu-arrow-wrap .x-btn-center button {
 137.272 +    background-image:url(../images/orange/toolbar/btn-arrow.gif);
 137.273 +}
 137.274 +.x-toolbar .x-btn-text-icon .x-btn-menu-arrow-wrap .x-btn-center button {
 137.275 +    background-image:url(../images/orange/toolbar/btn-arrow.gif);
 137.276 +}
 137.277 +.x-toolbar .x-btn-over .x-btn-left{
 137.278 +	background-image:url(../images/orange/toolbar/tb-btn-sprite.gif);
 137.279 +}
 137.280 +.x-toolbar .x-btn-over .x-btn-right{
 137.281 +	background-image:url(../images/orange/toolbar/tb-btn-sprite.gif);
 137.282 +}
 137.283 +.x-toolbar .x-btn-over .x-btn-center{
 137.284 +	background-image:url(../images/orange/toolbar/tb-btn-sprite.gif);
 137.285 +}
 137.286 +.x-toolbar .x-btn-over button {
 137.287 +    color:#010101;
 137.288 +}
 137.289 +.x-toolbar .x-btn-click .x-btn-left, .x-toolbar .x-btn-pressed .x-btn-left, .x-toolbar .x-btn-menu-active .x-btn-left{
 137.290 +	background-image:url(../images/orange/toolbar/tb-btn-sprite.gif);
 137.291 +}
 137.292 +.x-toolbar .x-btn-click .x-btn-right, .x-toolbar .x-btn-pressed .x-btn-right, .x-toolbar .x-btn-menu-active .x-btn-right{
 137.293 +	background-image:url(../images/orange/toolbar/tb-btn-sprite.gif);
 137.294 +}
 137.295 +
 137.296 +.x-toolbar .x-btn-click .x-btn-center, .x-toolbar .x-btn-pressed .x-btn-center, .x-toolbar .x-btn-menu-active .x-btn-center{
 137.297 +	background-image:url(../images/orange/toolbar/tb-btn-sprite.gif);
 137.298 +}
 137.299 +.x-toolbar .ytb-sep {
 137.300 +	background-image: url(../images/orange/grid/grid-split.gif);
 137.301 +}
 137.302 +.x-paging-info {
 137.303 +    color:#010101;
 137.304 +}
 137.305 +
 137.306 +/* Form */
 137.307 +
 137.308 +.x-form-field-wrap .x-form-trigger{
 137.309 +    background-image:url(../images/orange/form/trigger.gif);
 137.310 +    border-bottom: 1px solid #ff862d;
 137.311 +}
 137.312 +.x-form-field-wrap .x-form-date-trigger{
 137.313 +    background-image: url(../images/orange/form/date-trigger.gif);
 137.314 +}
 137.315 +.x-form-field-wrap .x-form-clear-trigger{
 137.316 +    background-image: url(../images/orange/form/clear-trigger.gif);
 137.317 +}
 137.318 +.x-form-field-wrap .x-form-search-trigger{
 137.319 +    background-image: url(../images/orange/form/search-trigger.gif);
 137.320 +}
 137.321 +
 137.322 +.x-form-text, textarea.x-form-field{
 137.323 +    border: 1px solid #ff862d;
 137.324 +}
 137.325 +.x-form-select-one {
 137.326 +    border: 1px solid #ff862d;
 137.327 +}
 137.328 +.x-item-disabled .x-form-trigger-over{
 137.329 +    border-bottom: 1px solid #ff862d;
 137.330 +}
 137.331 +.x-item-disabled .x-form-trigger-click{
 137.332 +    border-bottom: 1px solid #ff862d;
 137.333 +}
 137.334 +.x-form fieldset {
 137.335 +    border:1px solid #ff862d;
 137.336 +}
 137.337 +.x-trigger-wrap-focus .x-form-trigger{
 137.338 +    border-bottom: 1px solid #e86200;
 137.339 +}
 137.340 +.x-form-focus, textarea.x-form-focus{
 137.341 +	border: 1px solid #e86200;
 137.342 +}
 137.343 +
 137.344 +
 137.345 +/* Tabs */
 137.346 +
 137.347 +.x-tab-panel-header, .x-tab-panel-footer {
 137.348 +	background: #ffb57f;
 137.349 +	border-color:#ff8327;
 137.350 +}
 137.351 +
 137.352 +
 137.353 +.x-tab-panel-header {
 137.354 +	border-color:#ff8327;
 137.355 +}
 137.356 +
 137.357 +.x-tab-panel-footer {
 137.358 +	border-color:#ff8327;
 137.359 +}
 137.360 +
 137.361 +ul.x-tab-strip-top{
 137.362 +	background:#ffb57f url(../images/orange/tabs/tab-strip-bg.gif) repeat-x left top;
 137.363 +	border-color:#ff8327;
 137.364 +}
 137.365 +
 137.366 +ul.x-tab-strip-bottom{
 137.367 +	background-image:url(../images/orange/tabs/tab-strip-btm-bg.gif);
 137.368 +	border-color:#ff8327;
 137.369 +}
 137.370 +
 137.371 +.x-tab-strip span.x-tab-strip-text {
 137.372 +	color:#333333;
 137.373 +}
 137.374 +.x-tab-strip-over span.x-tab-strip-text {
 137.375 +	color:#010101;
 137.376 +}
 137.377 +
 137.378 +.x-tab-strip-active span.x-tab-strip-text {
 137.379 +	color:#111111;
 137.380 +}
 137.381 +
 137.382 +.x-tab-strip-top .x-tab-right {
 137.383 +	background-image:url(../images/orange/tabs/tabs-sprite.gif);
 137.384 +}
 137.385 +
 137.386 +.x-tab-strip-top .x-tab-left {
 137.387 +	background-image:url(../images/orange/tabs/tabs-sprite.gif);
 137.388 +}
 137.389 +.x-tab-strip-top .x-tab-strip-inner {
 137.390 +	background-image:url(../images/orange/tabs/tabs-sprite.gif);
 137.391 +}
 137.392 +
 137.393 +.x-tab-strip-bottom .x-tab-right {
 137.394 +	background-image:url(../images/orange/tabs/tab-btm-inactive-right-bg.gif);
 137.395 +}
 137.396 +
 137.397 +.x-tab-strip-bottom .x-tab-left {
 137.398 +	background-image:url(../images/orange/tabs/tab-btm-inactive-left-bg.gif);
 137.399 +}
 137.400 +
 137.401 +.x-tab-strip-bottom .x-tab-strip-active .x-tab-right {
 137.402 +	background-image:url(../images/orange/tabs/tab-btm-right-bg.gif);
 137.403 +}
 137.404 +
 137.405 +.x-tab-strip-bottom .x-tab-strip-active .x-tab-left {
 137.406 +	background-image:url(../images/orange/tabs/tab-btm-left-bg.gif);
 137.407 +}
 137.408 +
 137.409 +.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close {
 137.410 +	background-image:url(../images/orange/tabs/tab-close.gif);
 137.411 +}
 137.412 +.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close:hover{
 137.413 +	background-image:url(../images/orange/tabs/tab-close.gif);
 137.414 +}
 137.415 +
 137.416 +.x-tab-panel-body {
 137.417 +    border-color:#ff8327;
 137.418 +    background:#eeeeee;
 137.419 +}
 137.420 +.x-tab-panel-bbar .x-toolbar {
 137.421 +    border-color: #ff8327;
 137.422 +}
 137.423 +
 137.424 +.x-tab-panel-tbar .x-toolbar {
 137.425 +    border-color: #ff8327;
 137.426 +}
 137.427 +
 137.428 +.x-tab-panel-header-plain .x-tab-strip-spacer {
 137.429 +    border-color:#ff8327;
 137.430 +    background: #ffb57f;
 137.431 +}
 137.432 +
 137.433 +.x-tab-scroller-left {
 137.434 +    background-image: url(../images/orange/tabs/scroll-left.gif);
 137.435 +    border-color:#ff8327;
 137.436 +}
 137.437 +.x-tab-scroller-right {
 137.438 +    background-image: url(../images/orange/tabs/scroll-right.gif);
 137.439 +    border-color:#ff8327;
 137.440 +}
 137.441 +
 137.442 +/* Window */
 137.443 +
 137.444 +.x-window-proxy {
 137.445 +    background:#363636;
 137.446 +    border-color:#ff8327;
 137.447 +}
 137.448 +
 137.449 +.x-window-tl .x-window-header {
 137.450 +    color:#010101;
 137.451 +}
 137.452 +.x-window-tc {
 137.453 +	background-image:url(../images/orange/window/top-bottom.png);
 137.454 +}
 137.455 +.x-window-tl {
 137.456 +	background-image:url(../images/orange/window/left-corners.png);
 137.457 +}
 137.458 +.x-window-tr {
 137.459 +	background-image:url(../images/orange/window/right-corners.png);
 137.460 +}
 137.461 +.x-window-bc {
 137.462 +	background-image:url(../images/orange/window/top-bottom.png);
 137.463 +}
 137.464 +.x-window-bl {
 137.465 +	background-image:url(../images/orange/window/left-corners.png);
 137.466 +}
 137.467 +.x-window-br {
 137.468 +	background-image:url(../images/orange/window/right-corners.png);
 137.469 +}
 137.470 +.x-window-mc {
 137.471 +    border:1px solid #ee6602;
 137.472 +    background:#ffae73;
 137.473 +}
 137.474 +
 137.475 +.x-window-ml {
 137.476 +	background-image:url(../images/orange/window/left-right.png);
 137.477 +}
 137.478 +.x-window-mr {
 137.479 +	background-image:url(../images/orange/window/left-right.png);
 137.480 +}
 137.481 +.x-panel-ghost .x-window-tl {
 137.482 +    border-color:#ff8327;
 137.483 +}
 137.484 +.x-panel-collapsed .x-window-tl {
 137.485 +    border-color:#ff8327;
 137.486 +}
 137.487 +
 137.488 +.x-window-plain .x-window-mc {
 137.489 +    color: #eeeeee;
 137.490 +    background: #f9822b;
 137.491 +    border-left:1px solid #da5c00;
 137.492 +    border-top:1px solid #da5c00;
 137.493 +    border-bottom:1px solid #ff730d;
 137.494 +    border-right:1px solid #ff730d;
 137.495 +}
 137.496 +
 137.497 +.x-window-plain .x-window-body {
 137.498 +    border-left:1px solid #fe842a;
 137.499 +    border-top:1px solid #fe842a;
 137.500 +    border-bottom:1px solid #ee6602;
 137.501 +    border-right:1px solid #ee6602;
 137.502 +    background:transparent !important;
 137.503 +}
 137.504 +
 137.505 +body.x-body-masked .x-window-mc, body.x-body-masked .x-window-plain .x-window-mc {
 137.506 +    background-color: #f9822b;
 137.507 +
 137.508 +}
 137.509 +
 137.510 +/* Date Picker */
 137.511 +.x-date-picker {
 137.512 +    border: 1px solid #ff8327;
 137.513 +    background:#ffffff;
 137.514 +}
 137.515 +.x-date-middle,.x-date-left,.x-date-right {
 137.516 +	background-image: url(../images/orange/shared/hd-sprite.gif);
 137.517 +}
 137.518 +.x-date-middle .x-btn-with-menu  .x-btn-center em {
 137.519 +    background-image:url(../images/orange/toolbar/btn-arrow-light.gif);
 137.520 +}
 137.521 +.x-date-right a {
 137.522 +    background-image: url(../images/orange/shared/right-btn.gif);
 137.523 +}
 137.524 +.x-date-left a{
 137.525 +	background-image: url(../images/orange/shared/left-btn.gif);
 137.526 +}
 137.527 +.x-date-inner th {
 137.528 +    background-image:url(../images/orange/shared/glass-bg.gif);
 137.529 +	border-bottom: 1px solid #ff8327;
 137.530 +	color:#010101;
 137.531 +}
 137.532 +.x-date-inner .x-date-selected a{
 137.533 +	background-image:url(../images/orange/shared/glass-bg.gif);
 137.534 +	border:1px solid #ff8327;
 137.535 +    color:#010101;
 137.536 +}
 137.537 +.x-date-bottom {
 137.538 +    border-top: 1px solid #ff8327;
 137.539 +    background-image:url(../images/orange/shared/glass-bg.gif);
 137.540 +}
 137.541 +.x-date-mp-btns {
 137.542 +	background-image:url(../images/orange/shared/glass-bg.gif);
 137.543 +}
 137.544 +td.x-date-mp-sel a {
 137.545 +	background-image:url(../images/orange/shared/glass-bg.gif);
 137.546 +	border:1px solid #ff8327;
 137.547 +	color: #010101 !important;
 137.548 +}
 137.549 +.x-date-mp-ybtn a {
 137.550 +    background-image:url(../images/orange/panel/tool-sprites.gif);
 137.551 +}
 137.552 +.x-date-mp-btns button {
 137.553 +	background-image:url(../images/orange/shared/glass-bg.gif);
 137.554 +	border-color: #da5c00 #ff8327 #ff8327 #da5c00;
 137.555 +	color: #010101;
 137.556 +}
 137.557 +.x-date-inner a{
 137.558 +    color:#010101;
 137.559 +}
 137.560 +.x-date-inner a:hover, .x-date-inner .x-date-disabled a:hover{
 137.561 +    color:#edf1f1;
 137.562 +    background: #ff8327;
 137.563 +}
 137.564 +td.x-date-mp-month a,td.x-date-mp-year a {
 137.565 +	color:#010101;
 137.566 +}
 137.567 +td.x-date-mp-month a:hover,td.x-date-mp-year a:hover {
 137.568 +	color:#edf1f1;
 137.569 +	background: #ff8327;
 137.570 +}
 137.571 +
 137.572 +/* misc */
 137.573 +.x-html-editor-wrap {
 137.574 +    border-color:#ff8327;
 137.575 +}
 137.576 +
 137.577 +/* Borders go last for specificity */
 137.578 +.x-panel-noborder .x-panel-body-noborder {
 137.579 +    border-width:0;
 137.580 +}
 137.581 +
 137.582 +.x-panel-noborder .x-panel-header-noborder {
 137.583 +    border-width:0;
 137.584 +    border-bottom:1px solid #ff8327;
 137.585 +}
 137.586 +
 137.587 +.x-panel-noborder .x-panel-tbar-noborder .x-toolbar {
 137.588 +    border-width:0;
 137.589 +    border-bottom:1px solid #ff8327;
 137.590 +}
 137.591 +
 137.592 +.x-panel-noborder .x-panel-bbar-noborder .x-toolbar {
 137.593 +    border-width:0;
 137.594 +    border-top:1px solid #ff8327;
 137.595 +}
 137.596 +
 137.597 +.x-window-noborder .x-window-mc {
 137.598 +    border-width:0;
 137.599 +}
 137.600 +.x-window-plain .x-window-body-noborder {
 137.601 +    border-width:0;
 137.602 +}
 137.603 +
 137.604 +.x-tab-panel-noborder .x-tab-panel-body-noborder {
 137.605 +	border-width:0;
 137.606 +}
 137.607 +
 137.608 +.x-tab-panel-noborder .x-tab-panel-header-noborder {
 137.609 +	border-top-width:0;
 137.610 +	border-left-width:0;
 137.611 +	border-right-width:0;
 137.612 +}
 137.613 +
 137.614 +.x-tab-panel-noborder .x-tab-panel-footer-noborder {
 137.615 +	border-bottom-width:0;
 137.616 +	border-left-width:0;
 137.617 +	border-right-width:0;
 137.618 +}
 137.619 +
 137.620 +
 137.621 +.x-tab-panel-bbar-noborder .x-toolbar {
 137.622 +    border-width:0;
 137.623 +    border-top:1px solid #ff8327;
 137.624 +}
 137.625 +
 137.626 +.x-tab-panel-tbar-noborder .x-toolbar {
 137.627 +    border-width:0;
 137.628 +    border-bottom:1px solid #ff8327;
 137.629 +}
 137.630 +.sort-asc .x-grid3-sort-icon{background-image:url(../images/orange/grid/sort_asc.gif);display:inline;}
 137.631 +.sort-desc .x-grid3-sort-icon{background-image:url(../images/orange/grid/sort_desc.gif);display:inline;}
   138.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   138.2 +++ b/onlypaths/theme/css/xtheme-peppermint.css	Sun Jan 31 12:33:33 2010 -0500
   138.3 @@ -0,0 +1,626 @@
   138.4 +/*
   138.5 + * Ext JS Library 2.0
   138.6 + * Copyright(c) 2006-2007, Ext JS, LLC.
   138.7 + *
   138.8 + * @Theme: Peppermint
   138.9 + * @Created by Paul Baugher <digitalskyline@gmail.com>
  138.10 + */
  138.11 +//border-color: #ff0f0f;
  138.12 +//background:#ffe3e3;
  138.13 +
  138.14 +.x-panel {
  138.15 +    border-style: solid;
  138.16 +    border-color: #ff0f0f;
  138.17 +}
  138.18 +.x-panel-header {
  138.19 +    color:#000000;
  138.20 +	border:1px solid #ff0f0f;
  138.21 +    background-image:url(../images/peppermint/panel/white-top-bottom.gif);
  138.22 +}
  138.23 +.x-panel-tl .x-panel-header {
  138.24 +    color:#000000;
  138.25 +}
  138.26 +.x-panel-body {
  138.27 +    border-color:#ff0f0f;
  138.28 +}
  138.29 +
  138.30 +.x-panel-bbar .x-toolbar {
  138.31 +    border-color:#ff0f0f;
  138.32 +}
  138.33 +
  138.34 +.x-panel-tbar .x-toolbar {
  138.35 +    border-color:#ff0f0f;
  138.36 +}
  138.37 +
  138.38 +.x-panel-tbar-noheader .x-toolbar, .x-panel-mc .x-panel-tbar .x-toolbar {
  138.39 +    border-color:#ff0f0f;
  138.40 +}
  138.41 +.x-panel-body-noheader, .x-panel-mc .x-panel-body {
  138.42 +    border-color:#ff0f0f;
  138.43 +}
  138.44 +.x-panel-tc {
  138.45 +	background-image:url(../images/peppermint/panel/top-bottom.gif);
  138.46 +}
  138.47 +.x-panel-tl {
  138.48 +	background-image:url(../images/peppermint/panel/corners-sprite.gif);
  138.49 +    border-color:#ff0f0f;
  138.50 +}
  138.51 +.x-panel-tr {
  138.52 +	background-image:url(../images/peppermint/panel/corners-sprite.gif);
  138.53 +}
  138.54 +.x-panel-bc {
  138.55 +	background-image:url(../images/peppermint/panel/top-bottom.gif);
  138.56 +}
  138.57 +.x-panel-bl {
  138.58 +	background-image:url(../images/peppermint/panel/corners-sprite.gif);
  138.59 +}
  138.60 +.x-panel-br {
  138.61 +	background-image:url(../images/peppermint/panel/corners-sprite.gif);
  138.62 +}
  138.63 +.x-panel-mc {
  138.64 +    background-color:#ffe3e3;
  138.65 +    color:#000000;
  138.66 +}
  138.67 +.x-panel-mc .x-panel-body {
  138.68 +    background:transparent;
  138.69 +    border: 0 none;
  138.70 +}
  138.71 +.x-panel-ml {
  138.72 +	background-image:url(../images/peppermint/panel/left-right.gif);
  138.73 +}
  138.74 +.x-panel-mr {
  138.75 +	background-image:url(../images/peppermint/panel/left-right.gif);
  138.76 +}
  138.77 +
  138.78 +/* Ghosting */
  138.79 +.x-panel-ghost {
  138.80 +    background:#ffe3e3;
  138.81 +}
  138.82 +
  138.83 +.x-panel-ghost ul {
  138.84 +    border-color:#ff0f0f;
  138.85 +}
  138.86 +
  138.87 +.x-grid-panel .x-panel-mc .x-panel-body {
  138.88 +    border:1px solid #ff0f0f;
  138.89 +}
  138.90 +
  138.91 +/* Grid */
  138.92 +.x-grid3-row {
  138.93 +    color:#000000;
  138.94 +}
  138.95 +.x-grid3-row-over {
  138.96 +	border:1px solid #ff0f0f;
  138.97 +    background-image:url(../images/peppermint/grid/row-over.gif);
  138.98 +}
  138.99 +.x-grid3-header{
 138.100 +	background-image:url(../images/peppermint/grid/grid3-hrow.gif);
 138.101 +}
 138.102 +.x-grid3-header-pop-inner {
 138.103 +    border-left:1px solid #ffe3e3;
 138.104 +    background-image:url(../images/peppermint/grid/hd-pop.gif);
 138.105 +}
 138.106 +td.x-grid3-hd-over, td.sort-desc, td.sort-asc, td.x-grid3-hd-menu-open {
 138.107 +    border-left:1px solid #ffe3e3;
 138.108 +    border-right:1px solid #ffe3e3;
 138.109 +}
 138.110 +td.x-grid3-hd-over .x-grid3-hd-inner, td.sort-desc .x-grid3-hd-inner, td.sort-asc .x-grid3-hd-inner, td.x-grid3-hd-menu-open .x-grid3-hd-inner {
 138.111 +    background-image:url(../images/peppermint/grid/grid3-hrow-over.gif);
 138.112 +   	background-color:#ffe3e3;
 138.113 +}
 138.114 +.x-dd-drag-proxy .x-grid3-hd-inner{
 138.115 +	background-image:url(../images/peppermint/grid/grid3-hrow-over.gif);
 138.116 +}
 138.117 +.x-grid3-locked td.x-grid3-row-marker, .x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker{
 138.118 +    background-image:url(../images/peppermint/grid/grid-hrow.gif);
 138.119 +    color:#666666;
 138.120 +    border-top:1px solid #ffe3e3;
 138.121 +    border-right:1px solid #ffe3e3 !important;
 138.122 +}
 138.123 +.x-props-grid .x-grid3-td-name .x-grid3-cell-inner{
 138.124 +	background-image:url(../images/peppermint/grid/grid3-special-col-bg.gif);
 138.125 +    color:#eeeeee !important;
 138.126 +}
 138.127 +.x-grid3-hd-btn {
 138.128 +    background-image:url(../images/peppermint/grid/grid3-hd-btn.gif);
 138.129 +}
 138.130 +.x-grid3-body .x-grid3-td-expander {
 138.131 +    background-image:url(../images/peppermint/grid/grid3-special-col-bg.gif);
 138.132 +}
 138.133 +.x-grid3-body .x-grid3-td-checker {
 138.134 +    background-image:url(../images/peppermint/grid/grid3-special-col-bg.gif);
 138.135 +}
 138.136 +.x-grid3-body .x-grid3-td-numberer {
 138.137 +    background-image:url(../images/peppermint/grid/grid3-special-col-bg.gif);
 138.138 +}
 138.139 +.x-grid3-body .x-grid3-row-selected .x-grid3-td-numberer,
 138.140 +.x-grid3-body .x-grid3-row-selected .x-grid3-td-checker,
 138.141 +.x-grid3-body .x-grid3-row-selected .x-grid3-td-expander {
 138.142 +	background-image:url(../images/peppermint/grid/grid3-special-col-sel-bg.gif);
 138.143 +}
 138.144 +.x-grid3-hd-row td {
 138.145 +    border-left:1px solid #ffe3e3;
 138.146 +    border-right:1px solid #ffe3e3;
 138.147 +}
 138.148 +.x-grid3-row-selected {
 138.149 +	background: #ffe3e3;
 138.150 +	border:1px dotted #ff0f0f;
 138.151 +}
 138.152 +
 138.153 +/* Menu */
 138.154 +
 138.155 +.x-menu {
 138.156 +	border: 1px solid #ffe3e3;
 138.157 +	background-color:#ff0f0f;
 138.158 +	background-image:url(../images/peppermint/menu/menu.gif);
 138.159 +}
 138.160 +.x-menu-sep {
 138.161 +    background-color:#ff0f0f;
 138.162 +	border-bottom:1px solid #ffe3e3;
 138.163 +}
 138.164 +.x-menu-plain {
 138.165 +	background:#ff0f0f !important;
 138.166 +}
 138.167 +.x-menu-item-active {
 138.168 +	background-image:url(../images/peppermint/menu/item-over.gif);
 138.169 +	background-color:#ffe3e3;
 138.170 +	border:1px solid #ff0f0f;
 138.171 +}
 138.172 +.x-menu a.x-menu-item {
 138.173 +	color:#222222;
 138.174 +}
 138.175 +.x-menu-item-active a.x-menu-item {
 138.176 +    color: #000000;
 138.177 +}
 138.178 +
 138.179 +/* Tools */
 138.180 +.x-tool {
 138.181 +    background-image:url(../images/peppermint/panel/tool-sprites.gif);
 138.182 +}
 138.183 +
 138.184 +/* Buttons */
 138.185 +
 138.186 +.x-btn-text{
 138.187 +    color: #000000;
 138.188 +    font-weight:bold !important;
 138.189 +}
 138.190 +.x-btn-left{
 138.191 +	background-image:url(../images/peppermint/button/btn-sprite.gif);
 138.192 +}
 138.193 +.x-btn-right{
 138.194 +	background-image:url(../images/peppermint/button/btn-sprite.gif);
 138.195 +}
 138.196 +.x-btn-center{
 138.197 +	background-image:url(../images/peppermint/button/btn-sprite.gif);
 138.198 +}
 138.199 +.x-btn-menu-arrow-wrap .x-btn-center button {
 138.200 +    background-image:url(../images/peppermint/button/btn-arrow.gif);
 138.201 +}
 138.202 +.x-btn-with-menu  .x-btn-center em {
 138.203 +    background-image:url(../images/peppermint/toolbar/btn-arrow.gif);
 138.204 +}
 138.205 +
 138.206 +.x-btn-text-icon .x-btn-with-menu .x-btn-center em {
 138.207 +    background-image:url(../images/peppermint/toolbar/btn-arrow.gif);
 138.208 +}
 138.209 +
 138.210 +/* Layout classes */
 138.211 +
 138.212 +.x-border-layout-ct {
 138.213 +    background:#ffe3e3; /* f1f2f4 */
 138.214 +}
 138.215 +
 138.216 +.x-accordion-hd {
 138.217 +	background-image:url(../images/peppermint/panel/light-hd.gif);
 138.218 +}
 138.219 +
 138.220 +.x-layout-collapsed{
 138.221 +    background-color:#ffe3e3;
 138.222 +    border-color:#ff0f0f;
 138.223 +}
 138.224 +.x-layout-collapsed-over{
 138.225 +	 background-color:#ffe3e3;
 138.226 +}
 138.227 +
 138.228 +
 138.229 +/* qtips */
 138.230 +.x-tip .x-tip-close{
 138.231 +	background-image: url(../images/peppermint/qtip/close.gif);
 138.232 +}
 138.233 +.x-tip .x-tip-tc {
 138.234 +	background-image:url(../images/peppermint/qtip/tip-sprite.gif);
 138.235 +}
 138.236 +.x-tip .x-tip-tl {
 138.237 +	background-image:url(../images/peppermint/qtip/tip-sprite.gif);
 138.238 +}
 138.239 +.x-tip .x-tip-tr {
 138.240 +	background-image:url(../images/peppermint/qtip/tip-sprite.gif);
 138.241 +}
 138.242 +.x-tip .x-tip-bc {
 138.243 +	background-image:url(../images/peppermint/qtip/tip-sprite.gif);
 138.244 +}
 138.245 +.x-tip .x-tip-bl {
 138.246 +	background-image:url(../images/peppermint/qtip/tip-sprite.gif);
 138.247 +}
 138.248 +.x-tip .x-tip-br {
 138.249 +	background-image:url(../images/peppermint/qtip/tip-sprite.gif);
 138.250 +}
 138.251 +.x-tip .x-tip-ml {
 138.252 +	background-image:url(../images/peppermint/qtip/tip-sprite.gif);
 138.253 +}
 138.254 +.x-tip .x-tip-mr {
 138.255 +	background-image:url(../images/peppermint/qtip/tip-sprite.gif);
 138.256 +}
 138.257 +.x-tip .x-tip-header-text {
 138.258 +    color:#000000;
 138.259 +}
 138.260 +.x-tip .x-tip-body {
 138.261 +    color:#111111;
 138.262 +}
 138.263 +/* Toolbars */
 138.264 +
 138.265 +.x-toolbar{
 138.266 +	border-color:#ff0f0f;
 138.267 +    background:#ffe3e3 url(../images/peppermint/toolbar/bg.gif) repeat-x top left;
 138.268 +}
 138.269 +.x-toolbar button {
 138.270 +    color:#222222;
 138.271 +}
 138.272 +.x-toolbar .x-btn-menu-arrow-wrap .x-btn-center button {
 138.273 +    background-image:url(../images/peppermint/toolbar/btn-arrow.gif);
 138.274 +}
 138.275 +.x-toolbar .x-btn-text-icon .x-btn-menu-arrow-wrap .x-btn-center button {
 138.276 +    background-image:url(../images/peppermint/toolbar/btn-arrow.gif);
 138.277 +}
 138.278 +.x-toolbar .x-btn-over .x-btn-left{
 138.279 +	background-image:url(../images/peppermint/toolbar/tb-btn-sprite.gif);
 138.280 +}
 138.281 +.x-toolbar .x-btn-over .x-btn-right{
 138.282 +	background-image:url(../images/peppermint/toolbar/tb-btn-sprite.gif);
 138.283 +}
 138.284 +.x-toolbar .x-btn-over .x-btn-center{
 138.285 +	background-image:url(../images/peppermint/toolbar/tb-btn-sprite.gif);
 138.286 +}
 138.287 +.x-toolbar .x-btn-over button {
 138.288 +    color:#000000;
 138.289 +}
 138.290 +.x-toolbar .x-btn-click .x-btn-left, .x-toolbar .x-btn-pressed .x-btn-left, .x-toolbar .x-btn-menu-active .x-btn-left{
 138.291 +	background-image:url(../images/peppermint/toolbar/tb-btn-sprite.gif);
 138.292 +}
 138.293 +.x-toolbar .x-btn-click .x-btn-right, .x-toolbar .x-btn-pressed .x-btn-right, .x-toolbar .x-btn-menu-active .x-btn-right{
 138.294 +	background-image:url(../images/peppermint/toolbar/tb-btn-sprite.gif);
 138.295 +}
 138.296 +
 138.297 +.x-toolbar .x-btn-click .x-btn-center, .x-toolbar .x-btn-pressed .x-btn-center, .x-toolbar .x-btn-menu-active .x-btn-center{
 138.298 +	background-image:url(../images/peppermint/toolbar/tb-btn-sprite.gif);
 138.299 +}
 138.300 +.x-toolbar .ytb-sep {
 138.301 +	background-image: url(../images/peppermint/grid/grid-split.gif);
 138.302 +}
 138.303 +.x-paging-info {
 138.304 +    color:#000000;
 138.305 +}
 138.306 +
 138.307 +/* Form */
 138.308 +
 138.309 +.x-form-field-wrap .x-form-trigger{
 138.310 +    background-image:url(../images/peppermint/form/trigger.gif);
 138.311 +    border-bottom: 1px solid #ff0f0f;
 138.312 +}
 138.313 +.x-form-field-wrap .x-form-date-trigger{
 138.314 +    background-image: url(../images/peppermint/form/date-trigger.gif);
 138.315 +}
 138.316 +.x-form-field-wrap .x-form-clear-trigger{
 138.317 +    background-image: url(../images/peppermint/form/clear-trigger.gif);
 138.318 +}
 138.319 +.x-form-field-wrap .x-form-search-trigger{
 138.320 +    background-image: url(../images/peppermint/form/search-trigger.gif);
 138.321 +}
 138.322 +
 138.323 +.x-form-text, textarea.x-form-field{
 138.324 +    border: 1px solid #ff0f0f;
 138.325 +}
 138.326 +.x-form-select-one {
 138.327 +    border: 1px solid #ff0f0f;
 138.328 +}
 138.329 +.x-item-disabled .x-form-trigger-over{
 138.330 +    border-bottom: 1px solid #ff0f0f;
 138.331 +}
 138.332 +.x-item-disabled .x-form-trigger-click{
 138.333 +    border-bottom: 1px solid #ff0f0f;
 138.334 +}
 138.335 +.x-form fieldset {
 138.336 +    border:1px solid #ff0f0f;
 138.337 +}
 138.338 +.x-trigger-wrap-focus .x-form-trigger{
 138.339 +    border-bottom: 1px solid #ff0f0f;
 138.340 +}
 138.341 +.x-form-focus, textarea.x-form-focus{
 138.342 +	border: 1px solid #ff0f0f;
 138.343 +}
 138.344 +
 138.345 +
 138.346 +/* Tabs */
 138.347 +
 138.348 +.x-tab-panel-header, .x-tab-panel-footer {
 138.349 +	background: #ffe3e3;
 138.350 +	border-color:#ff0f0f;
 138.351 +}
 138.352 +
 138.353 +
 138.354 +.x-tab-panel-header {
 138.355 +	border-color:#ff0f0f;
 138.356 +}
 138.357 +
 138.358 +.x-tab-panel-footer {
 138.359 +	border-color:#ff0f0f;
 138.360 +}
 138.361 +
 138.362 +ul.x-tab-strip-top{
 138.363 +	background:#ffe3e3 url(../images/peppermint/tabs/tab-strip-bg.gif) repeat-x left top;
 138.364 +	border-color:#ff0f0f;
 138.365 +}
 138.366 +
 138.367 +ul.x-tab-strip-bottom{
 138.368 +	background-image:url(../images/peppermint/tabs/tab-strip-btm-bg.gif);
 138.369 +	border-color:#ff0f0f;
 138.370 +}
 138.371 +
 138.372 +.x-tab-strip span.x-tab-strip-text {
 138.373 +	color:#333333;
 138.374 +}
 138.375 +.x-tab-strip-over span.x-tab-strip-text {
 138.376 +	color:#000000;
 138.377 +}
 138.378 +
 138.379 +.x-tab-strip-active span.x-tab-strip-text {
 138.380 +	color:#111111;
 138.381 +}
 138.382 +
 138.383 +.x-tab-strip-top .x-tab-right {
 138.384 +	background-image:url(../images/peppermint/tabs/tabs-sprite.gif);
 138.385 +}
 138.386 +
 138.387 +.x-tab-strip-top .x-tab-left {
 138.388 +	background-image:url(../images/peppermint/tabs/tabs-sprite.gif);
 138.389 +}
 138.390 +.x-tab-strip-top .x-tab-strip-inner {
 138.391 +	background-image:url(../images/peppermint/tabs/tabs-sprite.gif);
 138.392 +}
 138.393 +
 138.394 +.x-tab-strip-bottom .x-tab-right {
 138.395 +	background-image:url(../images/peppermint/tabs/tab-btm-inactive-right-bg.gif);
 138.396 +}
 138.397 +
 138.398 +.x-tab-strip-bottom .x-tab-left {
 138.399 +	background-image:url(../images/peppermint/tabs/tab-btm-inactive-left-bg.gif);
 138.400 +}
 138.401 +
 138.402 +.x-tab-strip-bottom .x-tab-strip-active .x-tab-right {
 138.403 +	background-image:url(../images/peppermint/tabs/tab-btm-right-bg.gif);
 138.404 +}
 138.405 +
 138.406 +.x-tab-strip-bottom .x-tab-strip-active .x-tab-left {
 138.407 +	background-image:url(../images/peppermint/tabs/tab-btm-left-bg.gif);
 138.408 +}
 138.409 +
 138.410 +.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close {
 138.411 +	background-image:url(../images/peppermint/tabs/tab-close.gif);
 138.412 +}
 138.413 +.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close:hover{
 138.414 +	background-image:url(../images/peppermint/tabs/tab-close.gif);
 138.415 +}
 138.416 +
 138.417 +.x-tab-panel-body {
 138.418 +    border-color:#ff0f0f;
 138.419 +    background:#ffe3e3;
 138.420 +}
 138.421 +.x-tab-panel-bbar .x-toolbar {
 138.422 +    border-color: #ff0f0f;
 138.423 +}
 138.424 +
 138.425 +.x-tab-panel-tbar .x-toolbar {
 138.426 +    border-color: #ff0f0f;
 138.427 +}
 138.428 +
 138.429 +.x-tab-panel-header-plain .x-tab-strip-spacer {
 138.430 +    border-color:#ff0f0f;
 138.431 +    background: #ffe3e3;
 138.432 +}
 138.433 +
 138.434 +.x-tab-scroller-left {
 138.435 +    background-image: url(../images/peppermint/tabs/scroll-left.gif);
 138.436 +    border-color:#ff0f0f;
 138.437 +}
 138.438 +.x-tab-scroller-right {
 138.439 +    background-image: url(../images/peppermint/tabs/scroll-right.gif);
 138.440 +    border-color:#ff0f0f;
 138.441 +}
 138.442 +
 138.443 +/* Window */
 138.444 +
 138.445 +.x-window-proxy {
 138.446 +    background:#ffe3e3;
 138.447 +    border-color:#ff0f0f;
 138.448 +}
 138.449 +
 138.450 +.x-window-tl .x-window-header {
 138.451 +    color:#000000;
 138.452 +}
 138.453 +.x-window-tc {
 138.454 +	background-image:url(../images/peppermint/window/top-bottom.png);
 138.455 +}
 138.456 +.x-window-tl {
 138.457 +	background-image:url(../images/peppermint/window/left-corners.png);
 138.458 +}
 138.459 +.x-window-tr {
 138.460 +	background-image:url(../images/peppermint/window/right-corners.png);
 138.461 +}
 138.462 +.x-window-bc {
 138.463 +	background-image:url(../images/peppermint/window/top-bottom.png);
 138.464 +}
 138.465 +.x-window-bl {
 138.466 +	background-image:url(../images/peppermint/window/left-corners.png);
 138.467 +}
 138.468 +.x-window-br {
 138.469 +	background-image:url(../images/peppermint/window/right-corners.png);
 138.470 +}
 138.471 +.x-window-mc {
 138.472 +    border:1px solid #ff0f0f;
 138.473 +    background:#ffe3e3;
 138.474 +}
 138.475 +
 138.476 +.x-window-ml {
 138.477 +	background-image:url(../images/peppermint/window/left-right.png);
 138.478 +}
 138.479 +.x-window-mr {
 138.480 +	background-image:url(../images/peppermint/window/left-right.png);
 138.481 +}
 138.482 +.x-panel-ghost .x-window-tl {
 138.483 +    border-color:#ff0f0f;
 138.484 +}
 138.485 +.x-panel-collapsed .x-window-tl {
 138.486 +    border-color:#ff0f0f;
 138.487 +}
 138.488 +
 138.489 +.x-window-plain .x-window-mc {
 138.490 +    color: #eeeeee;
 138.491 +    background: #ffe3e3;
 138.492 +    border-left:1px solid #ff0f0f;
 138.493 +    border-top:1px solid #ff0f0f;
 138.494 +    border-bottom:1px solid #ff0f0f;
 138.495 +    border-right:1px solid #ff0f0f;
 138.496 +}
 138.497 +
 138.498 +.x-window-plain .x-window-body {
 138.499 +    border-left:1px solid #ff0f0f;
 138.500 +    border-top:1px solid #ff0f0f;
 138.501 +    border-bottom:1px solid #ff0f0f;
 138.502 +    border-right:1px solid #ff0f0f;
 138.503 +    background:transparent !important;
 138.504 +}
 138.505 +
 138.506 +body.x-body-masked .x-window-mc, body.x-body-masked .x-window-plain .x-window-mc {
 138.507 +    background-color: #ffe3e3;
 138.508 +}
 138.509 +
 138.510 +/* Date Picker */
 138.511 +.x-date-picker {
 138.512 +    border: 1px solid #ff0f0f;
 138.513 +    background:#ffffff;
 138.514 +}
 138.515 +.x-date-middle,.x-date-left,.x-date-right {
 138.516 +	background-image: url(../images/peppermint/shared/hd-sprite.gif);
 138.517 +}
 138.518 +.x-date-middle .x-btn-with-menu  .x-btn-center em {
 138.519 +    background-image:url(../images/peppermint/toolbar/btn-arrow-light.gif);
 138.520 +}
 138.521 +.x-date-right a {
 138.522 +    background-image: url(../images/peppermint/shared/right-btn.gif);
 138.523 +}
 138.524 +.x-date-left a{
 138.525 +	background-image: url(../images/peppermint/shared/left-btn.gif);
 138.526 +}
 138.527 +.x-date-inner th {
 138.528 +    background-image:url(../images/peppermint/shared/glass-bg.gif);
 138.529 +	border-bottom: 1px solid #ff0f0f;
 138.530 +	color:#000000;
 138.531 +}
 138.532 +.x-date-inner .x-date-selected a{
 138.533 +	background-image:url(../images/peppermint/shared/glass-bg.gif);
 138.534 +	border:1px solid #ff0f0f;
 138.535 +    color:#000000;
 138.536 +}
 138.537 +.x-date-bottom {
 138.538 +    border-top: 1px solid #ff0f0f;
 138.539 +    background-image:url(../images/peppermint/shared/glass-bg.gif);
 138.540 +}
 138.541 +.x-date-mp-btns {
 138.542 +	background-image:url(../images/peppermint/shared/glass-bg.gif);
 138.543 +}
 138.544 +td.x-date-mp-sel a {
 138.545 +	background-image:url(../images/peppermint/shared/glass-bg.gif);
 138.546 +	border:1px solid #ff0f0f;
 138.547 +	color: #000000 !important;
 138.548 +}
 138.549 +.x-date-mp-ybtn a {
 138.550 +    background-image:url(../images/peppermint/panel/tool-sprites.gif);
 138.551 +}
 138.552 +.x-date-mp-btns button {
 138.553 +	background-image:url(../images/peppermint/shared/glass-bg.gif);
 138.554 +	border-color: #ff0f0f #ff0f0f #ff0f0f #ff0f0f;
 138.555 +	color: #000000;
 138.556 +}
 138.557 +.x-date-inner a{
 138.558 +    color:#000000;
 138.559 +}
 138.560 +.x-date-inner a:hover, .x-date-inner .x-date-disabled a:hover{
 138.561 +    color:#eeeef0;
 138.562 +    background: #ff0f0f;
 138.563 +}
 138.564 +td.x-date-mp-month a,td.x-date-mp-year a {
 138.565 +	color:#000000;
 138.566 +}
 138.567 +td.x-date-mp-month a:hover,td.x-date-mp-year a:hover {
 138.568 +	color:#eeeef0;
 138.569 +	background: #ff0f0f;
 138.570 +}
 138.571 +
 138.572 +/* misc */
 138.573 +.x-html-editor-wrap {
 138.574 +    border-color:#ff0f0f;
 138.575 +}
 138.576 +
 138.577 +/* Borders go last for specificity */
 138.578 +.x-panel-noborder .x-panel-body-noborder {
 138.579 +    border-width:0;
 138.580 +}
 138.581 +
 138.582 +.x-panel-noborder .x-panel-header-noborder {
 138.583 +    border-width:0;
 138.584 +    border-bottom:1px solid #ff0f0f;
 138.585 +}
 138.586 +
 138.587 +.x-panel-noborder .x-panel-tbar-noborder .x-toolbar {
 138.588 +    border-width:0;
 138.589 +    border-bottom:1px solid #ff0f0f;
 138.590 +}
 138.591 +
 138.592 +.x-panel-noborder .x-panel-bbar-noborder .x-toolbar {
 138.593 +    border-width:0;
 138.594 +    border-top:1px solid #ff0f0f;
 138.595 +}
 138.596 +
 138.597 +.x-window-noborder .x-window-mc {
 138.598 +    border-width:0;
 138.599 +}
 138.600 +.x-window-plain .x-window-body-noborder {
 138.601 +    border-width:0;
 138.602 +}
 138.603 +
 138.604 +.x-tab-panel-noborder .x-tab-panel-body-noborder {
 138.605 +	border-width:0;
 138.606 +}
 138.607 +
 138.608 +.x-tab-panel-noborder .x-tab-panel-header-noborder {
 138.609 +	border-top-width:0;
 138.610 +	border-left-width:0;
 138.611 +	border-right-width:0;
 138.612 +}
 138.613 +
 138.614 +.x-tab-panel-noborder .x-tab-panel-footer-noborder {
 138.615 +	border-bottom-width:0;
 138.616 +	border-left-width:0;
 138.617 +	border-right-width:0;
 138.618 +}
 138.619 +
 138.620 +
 138.621 +.x-tab-panel-bbar-noborder .x-toolbar {
 138.622 +    border-width:0;
 138.623 +    border-top:1px solid #ff0f0f;
 138.624 +}
 138.625 +
 138.626 +.x-tab-panel-tbar-noborder .x-toolbar {
 138.627 +    border-width:0;
 138.628 +    border-bottom:1px solid #ff0f0f;
 138.629 +}
 138.630 \ No newline at end of file
   139.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   139.2 +++ b/onlypaths/theme/css/xtheme-pink.css	Sun Jan 31 12:33:33 2010 -0500
   139.3 @@ -0,0 +1,624 @@
   139.4 +/*
   139.5 + * Ext JS Library 2.0 Alpha 1
   139.6 + * Copyright(c) 2006-2007, Ext JS, LLC.
   139.7 + *
   139.8 + * @license GPL
   139.9 + * @author Kemal Tunador <tunador@madrabaz.com>
  139.10 + */
  139.11 +
  139.12 +.x-panel {
  139.13 +    border-style: solid;
  139.14 +    border-color: #b381a7;
  139.15 +}
  139.16 +.x-panel-header {
  139.17 +    color:#000000;
  139.18 +	border:1px solid #b381a7;
  139.19 +    background-image:url(../images/pink/panel/white-top-bottom.gif);
  139.20 +}
  139.21 +.x-panel-tl .x-panel-header {
  139.22 +    color:#000000;
  139.23 +}
  139.24 +.x-panel-body {
  139.25 +    border-color:#b381a7;
  139.26 +}
  139.27 +
  139.28 +.x-panel-bbar .x-toolbar {
  139.29 +    border-color:#b381a7;
  139.30 +}
  139.31 +
  139.32 +.x-panel-tbar .x-toolbar {
  139.33 +    border-color:#b381a7;
  139.34 +}
  139.35 +
  139.36 +.x-panel-tbar-noheader .x-toolbar, .x-panel-mc .x-panel-tbar .x-toolbar {
  139.37 +    border-color:#b381a7;
  139.38 +}
  139.39 +.x-panel-body-noheader, .x-panel-mc .x-panel-body {
  139.40 +    border-color:#b381a7;
  139.41 +}
  139.42 +.x-panel-tc {
  139.43 +	background-image:url(../images/pink/panel/top-bottom.gif);
  139.44 +}
  139.45 +.x-panel-tl {
  139.46 +	background-image:url(../images/pink/panel/corners-sprite.gif);
  139.47 +    border-color:#b381a7;
  139.48 +}
  139.49 +.x-panel-tr {
  139.50 +	background-image:url(../images/pink/panel/corners-sprite.gif);
  139.51 +}
  139.52 +.x-panel-bc {
  139.53 +	background-image:url(../images/pink/panel/top-bottom.gif);
  139.54 +}
  139.55 +.x-panel-bl {
  139.56 +	background-image:url(../images/pink/panel/corners-sprite.gif);
  139.57 +}
  139.58 +.x-panel-br {
  139.59 +	background-image:url(../images/pink/panel/corners-sprite.gif);
  139.60 +}
  139.61 +.x-panel-mc {
  139.62 +    background:#cbaac3;
  139.63 +    color:#000000;
  139.64 +}
  139.65 +.x-panel-mc .x-panel-body {
  139.66 +    background:transparent;
  139.67 +    border: 0 none;
  139.68 +}
  139.69 +.x-panel-ml {
  139.70 +	background-image:url(../images/pink/panel/left-right.gif);
  139.71 +}
  139.72 +.x-panel-mr {
  139.73 +	background-image:url(../images/pink/panel/left-right.gif);
  139.74 +}
  139.75 +
  139.76 +/* Ghosting */
  139.77 +.x-panel-ghost {
  139.78 +    background:#cbaac3;
  139.79 +}
  139.80 +
  139.81 +.x-panel-ghost ul {
  139.82 +    border-color:#b381a7;
  139.83 +}
  139.84 +
  139.85 +.x-grid-panel .x-panel-mc .x-panel-body {
  139.86 +    border:1px solid #b381a7;
  139.87 +}
  139.88 +
  139.89 +/* Grid */
  139.90 +.x-grid3-row {
  139.91 +    color:#000000;
  139.92 +}
  139.93 +.x-grid3-row-over {
  139.94 +	border:1px solid #b381a7;
  139.95 +    background-image:url(../images/pink/grid/row-over.gif);
  139.96 +}
  139.97 +.x-grid3-header{
  139.98 +	background-image:url(../images/pink/grid/grid3-hrow.gif);
  139.99 +}
 139.100 +.x-grid3-header-pop-inner {
 139.101 +    border-left:1px solid #a36a95;
 139.102 +    background-image:url(../images/pink/grid/hd-pop.gif);
 139.103 +}
 139.104 +td.x-grid3-hd-over, td.sort-desc, td.sort-asc, td.x-grid3-hd-menu-open {
 139.105 +    border-left:1px solid #a36a95;
 139.106 +    border-right:1px solid #a36a95;
 139.107 +}
 139.108 +td.x-grid3-hd-over .x-grid3-hd-inner, td.sort-desc .x-grid3-hd-inner, td.sort-asc .x-grid3-hd-inner, td.x-grid3-hd-menu-open .x-grid3-hd-inner {
 139.109 +    background-image:url(../images/pink/grid/grid3-hrow-over.gif);
 139.110 +   	background-color:#c785b7;
 139.111 +}
 139.112 +.x-dd-drag-proxy .x-grid3-hd-inner{
 139.113 +	background-image:url(../images/pink/grid/grid3-hrow-over.gif);
 139.114 +}
 139.115 +.x-grid3-locked td.x-grid3-row-marker, .x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker{
 139.116 +    background-image:url(../images/pink/grid/grid-hrow.gif);
 139.117 +    color:#666666;
 139.118 +    border-top:1px solid #af73a1;
 139.119 +    border-right:1px solid #a36a95 !important;
 139.120 +}
 139.121 +.x-props-grid .x-grid3-td-name .x-grid3-cell-inner{
 139.122 +	background-image:url(../images/pink/grid/grid3-special-col-bg.gif);
 139.123 +    color:#eeeeee !important;
 139.124 +}
 139.125 +.x-grid3-hd-btn {
 139.126 +    background-image:url(../images/pink/grid/grid3-hd-btn.gif);
 139.127 +}
 139.128 +.x-grid3-body .x-grid3-td-expander {
 139.129 +    background-image:url(../images/pink/grid/grid3-special-col-bg.gif);
 139.130 +}
 139.131 +.x-grid3-body .x-grid3-td-checker {
 139.132 +    background-image:url(../images/pink/grid/grid3-special-col-bg.gif);
 139.133 +}
 139.134 +.x-grid3-body .x-grid3-td-numberer {
 139.135 +    background-image:url(../images/pink/grid/grid3-special-col-bg.gif);
 139.136 +}
 139.137 +.x-grid3-body .x-grid3-row-selected .x-grid3-td-numberer,
 139.138 +.x-grid3-body .x-grid3-row-selected .x-grid3-td-checker,
 139.139 +.x-grid3-body .x-grid3-row-selected .x-grid3-td-expander {
 139.140 +	background-image:url(../images/pink/grid/grid3-special-col-sel-bg.gif);
 139.141 +}
 139.142 +.x-grid3-hd-row td {
 139.143 +    border-left:1px solid #d99ac8;
 139.144 +    border-right:1px solid #af73a1;
 139.145 +}
 139.146 +.x-grid3-row-selected {
 139.147 +	background: #c785b7;
 139.148 +	border:1px dotted #b381a7;
 139.149 +}
 139.150 +
 139.151 +/* Menu */
 139.152 +
 139.153 +.x-menu {
 139.154 +	border: 1px solid #9f6696;
 139.155 +	background-color:#d5b4cf;
 139.156 +	background-image:url(../images/pink/menu/menu.gif);
 139.157 +}
 139.158 +.x-menu-sep {
 139.159 +    background-color:#e9cbe4;
 139.160 +	border-bottom:1px solid #784971;
 139.161 +}
 139.162 +.x-menu-plain {
 139.163 +	background:#d5b4cf !important;
 139.164 +}
 139.165 +.x-menu-item-active {
 139.166 +	background-image:url(../images/pink/menu/item-over.gif);
 139.167 +	background-color:#e5addd;
 139.168 +	border:1px solid #aa64a0;
 139.169 +}
 139.170 +.x-menu a.x-menu-item {
 139.171 +	color:#222222;
 139.172 +}
 139.173 +.x-menu-item-active a.x-menu-item {
 139.174 +    color: #000000;
 139.175 +}
 139.176 +
 139.177 +/* Tools */
 139.178 +.x-tool {
 139.179 +    background-image:url(../images/pink/panel/tool-sprites.gif);
 139.180 +}
 139.181 +
 139.182 +/* Buttons */
 139.183 +
 139.184 +.x-btn-text{
 139.185 +    color: #000000;
 139.186 +    font-weight:bold !important;
 139.187 +}
 139.188 +.x-btn-left{
 139.189 +	background-image:url(../images/pink/button/btn-sprite.gif);
 139.190 +}
 139.191 +.x-btn-right{
 139.192 +	background-image:url(../images/pink/button/btn-sprite.gif);
 139.193 +}
 139.194 +.x-btn-center{
 139.195 +	background-image:url(../images/pink/button/btn-sprite.gif);
 139.196 +}
 139.197 +.x-btn-menu-arrow-wrap .x-btn-center button {
 139.198 +    background-image:url(../images/pink/button/btn-arrow.gif);
 139.199 +}
 139.200 +.x-btn-with-menu  .x-btn-center em {
 139.201 +    background-image:url(../images/pink/toolbar/btn-arrow.gif);
 139.202 +}
 139.203 +
 139.204 +.x-btn-text-icon .x-btn-with-menu .x-btn-center em {
 139.205 +    background-image:url(../images/pink/toolbar/btn-arrow.gif);
 139.206 +}
 139.207 +
 139.208 +/* Layout classes */
 139.209 +
 139.210 +.x-border-layout-ct {
 139.211 +    background:#e2b4d5; /* f1f2f4 */
 139.212 +}
 139.213 +
 139.214 +.x-accordion-hd {
 139.215 +	background-image:url(../images/pink/panel/light-hd.gif);
 139.216 +}
 139.217 +
 139.218 +.x-layout-collapsed{
 139.219 +    background-color:#e2b4d5;
 139.220 +    border-color:#aa679a;
 139.221 +}
 139.222 +.x-layout-collapsed-over{
 139.223 +	 background-color:#d578aa;
 139.224 +}
 139.225 +
 139.226 +
 139.227 +/* qtips */
 139.228 +.x-tip .x-tip-close{
 139.229 +	background-image: url(../images/pink/qtip/close.gif);
 139.230 +}
 139.231 +.x-tip .x-tip-tc {
 139.232 +	background-image:url(../images/pink/qtip/tip-sprite.gif);
 139.233 +}
 139.234 +.x-tip .x-tip-tl {
 139.235 +	background-image:url(../images/pink/qtip/tip-sprite.gif);
 139.236 +}
 139.237 +.x-tip .x-tip-tr {
 139.238 +	background-image:url(../images/pink/qtip/tip-sprite.gif);
 139.239 +}
 139.240 +.x-tip .x-tip-bc {
 139.241 +	background-image:url(../images/pink/qtip/tip-sprite.gif);
 139.242 +}
 139.243 +.x-tip .x-tip-bl {
 139.244 +	background-image:url(../images/pink/qtip/tip-sprite.gif);
 139.245 +}
 139.246 +.x-tip .x-tip-br {
 139.247 +	background-image:url(../images/pink/qtip/tip-sprite.gif);
 139.248 +}
 139.249 +.x-tip .x-tip-ml {
 139.250 +	background-image:url(../images/pink/qtip/tip-sprite.gif);
 139.251 +}
 139.252 +.x-tip .x-tip-mr {
 139.253 +	background-image:url(../images/pink/qtip/tip-sprite.gif);
 139.254 +}
 139.255 +.x-tip .x-tip-header-text {
 139.256 +    color:#000000;
 139.257 +}
 139.258 +.x-tip .x-tip-body {
 139.259 +    color:#111111;
 139.260 +}
 139.261 +/* Toolbars */
 139.262 +
 139.263 +.x-toolbar{
 139.264 +	border-color:#b381a7;
 139.265 +    background:#b4da8f url(../images/pink/toolbar/bg.gif) repeat-x top left;
 139.266 +}
 139.267 +.x-toolbar button {
 139.268 +    color:#222222;
 139.269 +}
 139.270 +.x-toolbar .x-btn-menu-arrow-wrap .x-btn-center button {
 139.271 +    background-image:url(../images/pink/toolbar/btn-arrow.gif);
 139.272 +}
 139.273 +.x-toolbar .x-btn-text-icon .x-btn-menu-arrow-wrap .x-btn-center button {
 139.274 +    background-image:url(../images/pink/toolbar/btn-arrow.gif);
 139.275 +}
 139.276 +.x-toolbar .x-btn-over .x-btn-left{
 139.277 +	background-image:url(../images/pink/toolbar/tb-btn-sprite.gif);
 139.278 +}
 139.279 +.x-toolbar .x-btn-over .x-btn-right{
 139.280 +	background-image:url(../images/pink/toolbar/tb-btn-sprite.gif);
 139.281 +}
 139.282 +.x-toolbar .x-btn-over .x-btn-center{
 139.283 +	background-image:url(../images/pink/toolbar/tb-btn-sprite.gif);
 139.284 +}
 139.285 +.x-toolbar .x-btn-over button {
 139.286 +    color:#000000;
 139.287 +}
 139.288 +.x-toolbar .x-btn-click .x-btn-left, .x-toolbar .x-btn-pressed .x-btn-left, .x-toolbar .x-btn-menu-active .x-btn-left{
 139.289 +	background-image:url(../images/pink/toolbar/tb-btn-sprite.gif);
 139.290 +}
 139.291 +.x-toolbar .x-btn-click .x-btn-right, .x-toolbar .x-btn-pressed .x-btn-right, .x-toolbar .x-btn-menu-active .x-btn-right{
 139.292 +	background-image:url(../images/pink/toolbar/tb-btn-sprite.gif);
 139.293 +}
 139.294 +
 139.295 +.x-toolbar .x-btn-click .x-btn-center, .x-toolbar .x-btn-pressed .x-btn-center, .x-toolbar .x-btn-menu-active .x-btn-center{
 139.296 +	background-image:url(../images/pink/toolbar/tb-btn-sprite.gif);
 139.297 +}
 139.298 +.x-toolbar .ytb-sep {
 139.299 +	background-image: url(../images/pink/grid/grid-split.gif);
 139.300 +}
 139.301 +.x-paging-info {
 139.302 +    color:#000000;
 139.303 +}
 139.304 +
 139.305 +/* Form */
 139.306 +
 139.307 +.x-form-field-wrap .x-form-trigger{
 139.308 +    background-image:url(../images/pink/form/trigger.gif);
 139.309 +    border-bottom: 1px solid #aa679a;
 139.310 +}
 139.311 +.x-form-field-wrap .x-form-date-trigger{
 139.312 +    background-image: url(../images/pink/form/date-trigger.gif);
 139.313 +}
 139.314 +.x-form-field-wrap .x-form-clear-trigger{
 139.315 +    background-image: url(../images/pink/form/clear-trigger.gif);
 139.316 +}
 139.317 +.x-form-field-wrap .x-form-search-trigger{
 139.318 +    background-image: url(../images/pink/form/search-trigger.gif);
 139.319 +}
 139.320 +
 139.321 +.x-form-text, textarea.x-form-field{
 139.322 +    border: 1px solid #aa679a;
 139.323 +}
 139.324 +.x-form-select-one {
 139.325 +    border: 1px solid #aa679a;
 139.326 +}
 139.327 +.x-item-disabled .x-form-trigger-over{
 139.328 +    border-bottom: 1px solid #aa679a;
 139.329 +}
 139.330 +.x-item-disabled .x-form-trigger-click{
 139.331 +    border-bottom: 1px solid #aa679a;
 139.332 +}
 139.333 +.x-form fieldset {
 139.334 +    border:1px solid #aa679a;
 139.335 +}
 139.336 +.x-trigger-wrap-focus .x-form-trigger{
 139.337 +    border-bottom: 1px solid #aa679a;
 139.338 +}
 139.339 +.x-form-focus, textarea.x-form-focus{
 139.340 +	border: 1px solid #aa679a;
 139.341 +}
 139.342 +
 139.343 +
 139.344 +/* Tabs */
 139.345 +
 139.346 +.x-tab-panel-header, .x-tab-panel-footer {
 139.347 +	background: #f8e2f2;
 139.348 +	border-color:#aa679a;
 139.349 +}
 139.350 +
 139.351 +
 139.352 +.x-tab-panel-header {
 139.353 +	border-color:#aa679a;
 139.354 +}
 139.355 +
 139.356 +.x-tab-panel-footer {
 139.357 +	border-color:#aa679a;
 139.358 +}
 139.359 +
 139.360 +ul.x-tab-strip-top{
 139.361 +	background: #f8e2f2 url(../images/pink/tabs/tab-strip-bg.gif) repeat-x left top;
 139.362 +	border-color:#aa679a;
 139.363 +}
 139.364 +
 139.365 +ul.x-tab-strip-bottom{
 139.366 +	background-image:url(../images/pink/tabs/tab-strip-btm-bg.gif);
 139.367 +	border-color:#aa679a;
 139.368 +}
 139.369 +
 139.370 +.x-tab-strip span.x-tab-strip-text {
 139.371 +	color:#333333;
 139.372 +}
 139.373 +.x-tab-strip-over span.x-tab-strip-text {
 139.374 +	color:#000000;
 139.375 +}
 139.376 +
 139.377 +.x-tab-strip-active span.x-tab-strip-text {
 139.378 +	color:#111111;
 139.379 +}
 139.380 +
 139.381 +.x-tab-strip-top .x-tab-right {
 139.382 +	background-image:url(../images/pink/tabs/tabs-sprite.gif);
 139.383 +}
 139.384 +
 139.385 +.x-tab-strip-top .x-tab-left {
 139.386 +	background-image:url(../images/pink/tabs/tabs-sprite.gif);
 139.387 +}
 139.388 +.x-tab-strip-top .x-tab-strip-inner {
 139.389 +	background-image:url(../images/pink/tabs/tabs-sprite.gif);
 139.390 +}
 139.391 +
 139.392 +.x-tab-strip-bottom .x-tab-right {
 139.393 +	background-image:url(../images/pink/tabs/tab-btm-inactive-right-bg.gif);
 139.394 +}
 139.395 +
 139.396 +.x-tab-strip-bottom .x-tab-left {
 139.397 +	background-image:url(../images/pink/tabs/tab-btm-inactive-left-bg.gif);
 139.398 +}
 139.399 +
 139.400 +.x-tab-strip-bottom .x-tab-strip-active .x-tab-right {
 139.401 +	background-image:url(../images/pink/tabs/tab-btm-right-bg.gif);
 139.402 +}
 139.403 +
 139.404 +.x-tab-strip-bottom .x-tab-strip-active .x-tab-left {
 139.405 +	background-image:url(../images/pink/tabs/tab-btm-left-bg.gif);
 139.406 +}
 139.407 +
 139.408 +.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close {
 139.409 +	background-image:url(../images/pink/tabs/tab-close.gif);
 139.410 +}
 139.411 +.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close:hover{
 139.412 +	background-image:url(../images/pink/tabs/tab-close.gif);
 139.413 +}
 139.414 +
 139.415 +.x-tab-panel-body {
 139.416 +    border-color:#aa679a;
 139.417 +    background:#eeeeee;
 139.418 +}
 139.419 +.x-tab-panel-bbar .x-toolbar {
 139.420 +    border-color: #aa679a;
 139.421 +}
 139.422 +
 139.423 +.x-tab-panel-tbar .x-toolbar {
 139.424 +    border-color: #aa679a;
 139.425 +}
 139.426 +
 139.427 +.x-tab-panel-header-plain .x-tab-strip-spacer {
 139.428 +    border-color:#aa679a;
 139.429 +    background: #f8e2f2;
 139.430 +}
 139.431 +
 139.432 +.x-tab-scroller-left {
 139.433 +    background-image: url(../images/pink/tabs/scroll-left.gif);
 139.434 +    border-color:#aa679a;
 139.435 +}
 139.436 +.x-tab-scroller-right {
 139.437 +    background-image: url(../images/pink/tabs/scroll-right.gif);
 139.438 +    border-color:#aa679a;
 139.439 +}
 139.440 +
 139.441 +/* Window */
 139.442 +
 139.443 +.x-window-proxy {
 139.444 +    background:#363636;
 139.445 +    border-color:#aa679a;
 139.446 +}
 139.447 +
 139.448 +.x-window-tl .x-window-header {
 139.449 +    color:#000000;
 139.450 +}
 139.451 +.x-window-tc {
 139.452 +	background-image:url(../images/pink/window/top-bottom.png);
 139.453 +}
 139.454 +.x-window-tl {
 139.455 +	background-image:url(../images/pink/window/left-corners.png);
 139.456 +}
 139.457 +.x-window-tr {
 139.458 +	background-image:url(../images/pink/window/right-corners.png);
 139.459 +}
 139.460 +.x-window-bc {
 139.461 +	background-image:url(../images/pink/window/top-bottom.png);
 139.462 +}
 139.463 +.x-window-bl {
 139.464 +	background-image:url(../images/pink/window/left-corners.png);
 139.465 +}
 139.466 +.x-window-br {
 139.467 +	background-image:url(../images/pink/window/right-corners.png);
 139.468 +}
 139.469 +.x-window-mc {
 139.470 +    border:1px solid #a34b94;
 139.471 +    background:#d59bcc;
 139.472 +}
 139.473 +
 139.474 +.x-window-ml {
 139.475 +	background-image:url(../images/pink/window/left-right.png);
 139.476 +}
 139.477 +.x-window-mr {
 139.478 +	background-image:url(../images/pink/window/left-right.png);
 139.479 +}
 139.480 +.x-panel-ghost .x-window-tl {
 139.481 +    border-color:#aa679a;
 139.482 +}
 139.483 +.x-panel-collapsed .x-window-tl {
 139.484 +    border-color:#aa679a;
 139.485 +}
 139.486 +
 139.487 +.x-window-plain .x-window-mc {
 139.488 +    color: #eeeeee;
 139.489 +    background: #b456a5;
 139.490 +    border-left:1px solid #aa679a;
 139.491 +    border-top:1px solid #aa679a;
 139.492 +    border-bottom:1px solid #a34b94;
 139.493 +    border-right:1px solid #a34b94;
 139.494 +}
 139.495 +
 139.496 +.x-window-plain .x-window-body {
 139.497 +    border-left:1px solid #a34b94;
 139.498 +    border-top:1px solid #a34b94;
 139.499 +    border-bottom:1px solid #a34b94;
 139.500 +    border-right:1px solid #a34b94;
 139.501 +    background:transparent !important;
 139.502 +}
 139.503 +
 139.504 +body.x-body-masked .x-window-mc, body.x-body-masked .x-window-plain .x-window-mc {
 139.505 +    background-color: #b456a5;
 139.506 +}
 139.507 +
 139.508 +/* Date Picker */
 139.509 +.x-date-picker {
 139.510 +    border: 1px solid #aa679a;
 139.511 +    background:#ffffff;
 139.512 +}
 139.513 +.x-date-middle,.x-date-left,.x-date-right {
 139.514 +	background-image: url(../images/pink/shared/hd-sprite.gif);
 139.515 +}
 139.516 +.x-date-middle .x-btn-with-menu  .x-btn-center em {
 139.517 +    background-image:url(../images/pink/toolbar/btn-arrow-light.gif);
 139.518 +}
 139.519 +.x-date-right a {
 139.520 +    background-image: url(../images/pink/shared/right-btn.gif);
 139.521 +}
 139.522 +.x-date-left a{
 139.523 +	background-image: url(../images/pink/shared/left-btn.gif);
 139.524 +}
 139.525 +.x-date-inner th {
 139.526 +    background-image:url(../images/pink/shared/glass-bg.gif);
 139.527 +	border-bottom: 1px solid #aa679a;
 139.528 +	color:#000000;
 139.529 +}
 139.530 +.x-date-inner .x-date-selected a{
 139.531 +	background-image:url(../images/pink/shared/glass-bg.gif);
 139.532 +	border:1px solid #aa679a;
 139.533 +    color:#000000;
 139.534 +}
 139.535 +.x-date-bottom {
 139.536 +    border-top: 1px solid #aa679a;
 139.537 +    background-image:url(../images/pink/shared/glass-bg.gif);
 139.538 +}
 139.539 +.x-date-mp-btns {
 139.540 +	background-image:url(../images/pink/shared/glass-bg.gif);
 139.541 +}
 139.542 +td.x-date-mp-sel a {
 139.543 +	background-image:url(../images/pink/shared/glass-bg.gif);
 139.544 +	border:1px solid #aa679a;
 139.545 +	color: #000000 !important;
 139.546 +}
 139.547 +.x-date-mp-ybtn a {
 139.548 +    background-image:url(../images/pink/panel/tool-sprites.gif);
 139.549 +}
 139.550 +.x-date-mp-btns button {
 139.551 +	background-image:url(../images/pink/shared/glass-bg.gif);
 139.552 +	border-color: #aa679a #aa679a #aa679a #aa679a;
 139.553 +	color: #000000;
 139.554 +}
 139.555 +.x-date-inner a{
 139.556 +    color:#000000;
 139.557 +}
 139.558 +.x-date-inner a:hover, .x-date-inner .x-date-disabled a:hover{
 139.559 +    color:#eeeef0;
 139.560 +    background: #aa679a;
 139.561 +}
 139.562 +td.x-date-mp-month a,td.x-date-mp-year a {
 139.563 +	color:#000000;
 139.564 +}
 139.565 +td.x-date-mp-month a:hover,td.x-date-mp-year a:hover {
 139.566 +	color:#eeeef0;
 139.567 +	background: #aa679a;
 139.568 +}
 139.569 +
 139.570 +/* misc */
 139.571 +.x-html-editor-wrap {
 139.572 +    border-color:#aa679a;
 139.573 +}
 139.574 +
 139.575 +/* Borders go last for specificity */
 139.576 +.x-panel-noborder .x-panel-body-noborder {
 139.577 +    border-width:0;
 139.578 +}
 139.579 +
 139.580 +.x-panel-noborder .x-panel-header-noborder {
 139.581 +    border-width:0;
 139.582 +    border-bottom:1px solid #aa679a;
 139.583 +}
 139.584 +
 139.585 +.x-panel-noborder .x-panel-tbar-noborder .x-toolbar {
 139.586 +    border-width:0;
 139.587 +    border-bottom:1px solid #aa679a;
 139.588 +}
 139.589 +
 139.590 +.x-panel-noborder .x-panel-bbar-noborder .x-toolbar {
 139.591 +    border-width:0;
 139.592 +    border-top:1px solid #aa679a;
 139.593 +}
 139.594 +
 139.595 +.x-window-noborder .x-window-mc {
 139.596 +    border-width:0;
 139.597 +}
 139.598 +.x-window-plain .x-window-body-noborder {
 139.599 +    border-width:0;
 139.600 +}
 139.601 +
 139.602 +.x-tab-panel-noborder .x-tab-panel-body-noborder {
 139.603 +	border-width:0;
 139.604 +}
 139.605 +
 139.606 +.x-tab-panel-noborder .x-tab-panel-header-noborder {
 139.607 +	border-top-width:0;
 139.608 +	border-left-width:0;
 139.609 +	border-right-width:0;
 139.610 +}
 139.611 +
 139.612 +.x-tab-panel-noborder .x-tab-panel-footer-noborder {
 139.613 +	border-bottom-width:0;
 139.614 +	border-left-width:0;
 139.615 +	border-right-width:0;
 139.616 +}
 139.617 +
 139.618 +
 139.619 +.x-tab-panel-bbar-noborder .x-toolbar {
 139.620 +    border-width:0;
 139.621 +    border-top:1px solid #aa679a;
 139.622 +}
 139.623 +
 139.624 +.x-tab-panel-tbar-noborder .x-toolbar {
 139.625 +    border-width:0;
 139.626 +    border-bottom:1px solid #aa679a;
 139.627 +}
 139.628 \ No newline at end of file
   140.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   140.2 +++ b/onlypaths/theme/css/xtheme-purple.css	Sun Jan 31 12:33:33 2010 -0500
   140.3 @@ -0,0 +1,606 @@
   140.4 +/*
   140.5 + * Ext JS Library 2.0 Alpha 1
   140.6 + * Copyright(c) 2006-2007, Ext JS, LLC.
   140.7 + *
   140.8 + * @license LGPL
   140.9 + * @author Kemal Tunador <tunador@madrabaz.com>
  140.10 + */
  140.11 +
  140.12 +.x-panel {
  140.13 +    border-style: solid;
  140.14 +    border-color: #ff82a3;
  140.15 +}
  140.16 +.x-panel-header {
  140.17 +    color:#331033;
  140.18 +	border:1px solid #ff82a3;
  140.19 +    background-image:url(../images/purple/panel/white-top-bottom.gif);
  140.20 +}
  140.21 +
  140.22 +.x-panel-body {
  140.23 +    border-color:#ff82a3;
  140.24 +}
  140.25 +
  140.26 +.x-panel-bbar .x-toolbar {
  140.27 +    border-color:#ff82a3;
  140.28 +}
  140.29 +
  140.30 +.x-panel-tbar .x-toolbar {
  140.31 +    border-color:#ff82a3;
  140.32 +}
  140.33 +
  140.34 +.x-panel-tbar-noheader .x-toolbar, .x-panel-mc .x-panel-tbar .x-toolbar {
  140.35 +    border-color:#ff82a3;
  140.36 +}
  140.37 +.x-panel-body-noheader, .x-panel-mc .x-panel-body {
  140.38 +    border-color:#ff82a3;
  140.39 +}
  140.40 +.x-panel-tl .x-panel-header {
  140.41 +    color:#331033;
  140.42 +}
  140.43 +.x-panel-tc {
  140.44 +	background-image:url(../images/purple/panel/top-bottom.gif);
  140.45 +}
  140.46 +.x-panel-tl {
  140.47 +	background-image:url(../images/purple/panel/corners-sprite.gif);
  140.48 +    border-color:#ff82a3;
  140.49 +}
  140.50 +.x-panel-tr {
  140.51 +	background-image:url(../images/purple/panel/corners-sprite.gif);
  140.52 +}
  140.53 +.x-panel-bc {
  140.54 +	background-image:url(../images/purple/panel/top-bottom.gif);
  140.55 +}
  140.56 +.x-panel-bl {
  140.57 +	background-image:url(../images/purple/panel/corners-sprite.gif);
  140.58 +}
  140.59 +.x-panel-br {
  140.60 +	background-image:url(../images/purple/panel/corners-sprite.gif);
  140.61 +}
  140.62 +.x-panel-mc {
  140.63 +    background:#ffd6df;
  140.64 +}
  140.65 +.x-panel-mc .x-panel-body {
  140.66 +    background:transparent;
  140.67 +    border: 0 none;
  140.68 +}
  140.69 +.x-panel-ml {
  140.70 +	background-image:url(../images/purple/panel/left-right.gif);
  140.71 +}
  140.72 +.x-panel-mr {
  140.73 +	background-image:url(../images/purple/panel/left-right.gif);
  140.74 +}
  140.75 +
  140.76 +/* Grid */
  140.77 +.x-grid3-row {
  140.78 +    color:#000000;
  140.79 +}
  140.80 +.x-grid3-row-over {
  140.81 +	border:1px solid #ffd6df;
  140.82 +    background-image:url(../images/purple/grid/row-over.gif);
  140.83 +}
  140.84 +.x-grid3-header{
  140.85 +	background-image:url(../images/purple/grid/grid3-hrow.gif);
  140.86 +}
  140.87 +.x-grid3-header-pop-inner {
  140.88 +    border-left:1px solid #ffd6df;
  140.89 +    background-image:url(../images/purple/grid/hd-pop.gif);
  140.90 +}
  140.91 +td.x-grid3-hd-over, td.sort-desc, td.sort-asc, td.x-grid3-hd-menu-open {
  140.92 +    border-left:1px solid #ff82a3;
  140.93 +    border-right:1px solid #ff82a3;
  140.94 +}
  140.95 +td.x-grid3-hd-over .x-grid3-hd-inner, td.sort-desc .x-grid3-hd-inner, td.sort-asc .x-grid3-hd-inner, td.x-grid3-hd-menu-open .x-grid3-hd-inner {
  140.96 +    background-image:url(../images/purple/grid/grid3-hrow-over.gif);
  140.97 +}
  140.98 +.x-dd-drag-proxy .x-grid3-hd-inner{
  140.99 +	background-image:url(../images/purple/grid/grid3-hrow-over.gif);
 140.100 +}
 140.101 +.x-grid3-locked td.x-grid3-row-marker, .x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker{
 140.102 +    background-image:url(../images/purple/grid/grid-hrow.gif);
 140.103 +    color:black;
 140.104 +    border-top:1px solid white;
 140.105 +    border-right:1px solid #ff82a3 !important;
 140.106 +}
 140.107 +.x-props-grid .x-grid3-td-name .x-grid3-cell-inner{
 140.108 +	background-image:url(../images/purple/grid/grid3-special-col-bg.gif);
 140.109 +    color:black !important;
 140.110 +}
 140.111 +.x-grid3-hd-btn {
 140.112 +    background-image:url(../images/purple/grid/grid3-hd-btn.gif);
 140.113 +}
 140.114 +.x-grid3-body .x-grid3-td-expander {
 140.115 +    background-image:url(../images/purple/grid/grid3-special-col-bg.gif);
 140.116 +}
 140.117 +.x-grid3-body .x-grid3-td-checker {
 140.118 +    background-image:url(../images/purple/grid/grid3-special-col-bg.gif);
 140.119 +}
 140.120 +.x-grid3-body .x-grid3-td-numberer {
 140.121 +    background-image:url(../images/purple/grid/grid3-special-col-bg.gif);
 140.122 +}
 140.123 +.x-grid3-body .x-grid3-row-selected .x-grid3-td-numberer,
 140.124 +.x-grid3-body .x-grid3-row-selected .x-grid3-td-checker,
 140.125 +.x-grid3-body .x-grid3-row-selected .x-grid3-td-expander {
 140.126 +	background-image:url(../images/purple/grid/grid3-special-col-sel-bg.gif);
 140.127 +}
 140.128 +.x-grid3-row-selected {
 140.129 +	background: #ffd6df;
 140.130 +	border:1px dotted #ff82a3;
 140.131 +}
 140.132 +
 140.133 +/* Menu */
 140.134 +.x-menu {
 140.135 +	border: 1px solid #ffc6cf;
 140.136 +	background-image:url(../images/purple/menu/menu.gif);
 140.137 +}
 140.138 +.x-menu-sep {
 140.139 +    background-color:#ffffff;
 140.140 +	border-bottom:1px solid #ffc6cf;
 140.141 +}
 140.142 +.x-menu-item-active {
 140.143 +	background-image:url(../images/purple/menu/item-over.gif);
 140.144 +	border:1px solid #ff82a3;
 140.145 +}
 140.146 +
 140.147 +/* Tools */
 140.148 +.x-tool {
 140.149 +    background-image:url(../images/purple/panel/tool-sprites.gif);
 140.150 +}
 140.151 +
 140.152 +/* Ghosting */
 140.153 +.x-panel-ghost {
 140.154 +    background:#ffa7be;
 140.155 +}
 140.156 +
 140.157 +.x-panel-ghost ul {
 140.158 +    border-color:#ff82a3;
 140.159 +}
 140.160 +
 140.161 +.x-grid-panel .x-panel-mc .x-panel-body {
 140.162 +    border:1px solid #ffd6df;
 140.163 +}
 140.164 +
 140.165 +/* Buttons */
 140.166 +
 140.167 +.x-btn-text{
 140.168 +color: #331033;
 140.169 +}
 140.170 +.x-btn-left{
 140.171 +	background-image:url(../images/purple/button/btn-sprite.gif);
 140.172 +}
 140.173 +.x-btn-right{
 140.174 +	background-image:url(../images/purple/button/btn-sprite.gif);
 140.175 +}
 140.176 +.x-btn-center{
 140.177 +	background-image:url(../images/purple/button/btn-sprite.gif);
 140.178 +}
 140.179 +
 140.180 +/* Layout classes */
 140.181 +
 140.182 +.x-border-layout-ct {
 140.183 +    background:#f2f1f0; /* f1f2f4 */
 140.184 +}
 140.185 +
 140.186 +.x-accordion-hd {
 140.187 +	background-image:url(../images/purple/panel/light-hd.gif);
 140.188 +}
 140.189 +
 140.190 +.x-layout-collapsed{
 140.191 +    background-color:#ffd6df;
 140.192 +    border-color:#ffa7be;
 140.193 +}
 140.194 +.x-layout-collapsed-over{
 140.195 +	 background-color:#ffb6ca;
 140.196 +}
 140.197 +
 140.198 +
 140.199 +/* qtips */
 140.200 +.x-tip .x-tip-close{
 140.201 +	background-image: url(../images/purple/qtip/close.gif);
 140.202 +}
 140.203 +.x-tip .x-tip-tc {
 140.204 +	background-image:url(../images/purple/qtip/tip-sprite.gif);
 140.205 +}
 140.206 +.x-tip .x-tip-tl {
 140.207 +	background-image:url(../images/purple/qtip/tip-sprite.gif);
 140.208 +}
 140.209 +.x-tip .x-tip-tr {
 140.210 +	background-image:url(../images/purple/qtip/tip-sprite.gif);
 140.211 +}
 140.212 +.x-tip .x-tip-bc {
 140.213 +	background-image:url(../images/purple/qtip/tip-sprite.gif);
 140.214 +}
 140.215 +.x-tip .x-tip-bl {
 140.216 +	background-image:url(../images/purple/qtip/tip-sprite.gif);
 140.217 +}
 140.218 +.x-tip .x-tip-br {
 140.219 +	background-image:url(../images/purple/qtip/tip-sprite.gif);
 140.220 +}
 140.221 +.x-tip .x-tip-ml {
 140.222 +	background-image:url(../images/purple/qtip/tip-sprite.gif);
 140.223 +}
 140.224 +.x-tip .x-tip-mr {
 140.225 +	background-image:url(../images/purple/qtip/tip-sprite.gif);
 140.226 +}
 140.227 +.x-tip .x-tip-header-text {
 140.228 +    color:#331033;
 140.229 +}
 140.230 +.x-tip .x-tip-body {
 140.231 +    color:#331033;
 140.232 +}
 140.233 +/* Toolbars */
 140.234 +
 140.235 +.x-toolbar{
 140.236 +	border-color:#ff82a3;
 140.237 +    background:#ffc3d6 url(../images/purple/toolbar/bg.gif) repeat-x top left;
 140.238 +}
 140.239 +.x-toolbar button {
 140.240 +    color:#331033;
 140.241 +}
 140.242 +.x-toolbar .x-btn-menu-arrow-wrap .x-btn-center button {
 140.243 +    background-image:url(../images/purple/toolbar/btn-arrow.gif);
 140.244 +}
 140.245 +.x-toolbar .x-btn-text-icon .x-btn-menu-arrow-wrap .x-btn-center button {
 140.246 +    background-image:url(../images/purple/toolbar/btn-arrow.gif);
 140.247 +}
 140.248 +.x-toolbar .x-btn-over .x-btn-left{
 140.249 +	background-image:url(../images/purple/toolbar/tb-btn-sprite.gif);
 140.250 +}
 140.251 +.x-toolbar .x-btn-over .x-btn-right{
 140.252 +	background-image:url(../images/purple/toolbar/tb-btn-sprite.gif);
 140.253 +}
 140.254 +.x-toolbar .x-btn-over .x-btn-center{
 140.255 +	background-image:url(../images/purple/toolbar/tb-btn-sprite.gif);
 140.256 +}
 140.257 +.x-toolbar .x-btn-over button {
 140.258 +    color:#000000;
 140.259 +}
 140.260 +.x-toolbar .x-btn-click .x-btn-left, .x-toolbar .x-btn-pressed .x-btn-left, .x-toolbar .x-btn-menu-active .x-btn-left{
 140.261 +	background-image:url(../images/purple/toolbar/tb-btn-sprite.gif);
 140.262 +}
 140.263 +.x-toolbar .x-btn-click .x-btn-right, .x-toolbar .x-btn-pressed .x-btn-right, .x-toolbar .x-btn-menu-active .x-btn-right{
 140.264 +	background-image:url(../images/purple/toolbar/tb-btn-sprite.gif);
 140.265 +}
 140.266 +
 140.267 +.x-toolbar .x-btn-click .x-btn-center, .x-toolbar .x-btn-pressed .x-btn-center, .x-toolbar .x-btn-menu-active .x-btn-center{
 140.268 +	background-image:url(../images/purple/toolbar/tb-btn-sprite.gif);
 140.269 +}
 140.270 +.x-toolbar .ytb-sep {
 140.271 +	background-image: url(../images/purple/grid/grid-split.gif);
 140.272 +}
 140.273 +.x-paging-info {
 140.274 +    color:#331033;
 140.275 +}
 140.276 +
 140.277 +/* Form */
 140.278 +
 140.279 +.x-form-field-wrap .x-form-trigger{
 140.280 +    background-image:url(../images/purple/form/trigger.gif);
 140.281 +    border-bottom: 1px solid #ff7f7e;
 140.282 +}
 140.283 +.x-form-field-wrap .x-form-date-trigger{
 140.284 +    background-image: url(../images/purple/form/date-trigger.gif);
 140.285 +}
 140.286 +.x-form-field-wrap .x-form-clear-trigger{
 140.287 +    background-image: url(../images/purple/form/clear-trigger.gif);
 140.288 +}
 140.289 +.x-form-field-wrap .x-form-search-trigger{
 140.290 +    background-image: url(../images/purple/form/search-trigger.gif);
 140.291 +}
 140.292 +
 140.293 +.x-form-text, textarea.x-form-field{
 140.294 +    border: 1px solid #ff7f7e;
 140.295 +}
 140.296 +.x-form-select-one {
 140.297 +    border: 1px solid #ff7f7e;
 140.298 +}
 140.299 +.x-item-disabled .x-form-trigger-over{
 140.300 +    border-bottom: 1px solid #ff7f7e;
 140.301 +}
 140.302 +.x-item-disabled .x-form-trigger-click{
 140.303 +    border-bottom: 1px solid #ff7f7e;
 140.304 +}
 140.305 +.x-form fieldset {
 140.306 +    border:1px solid #ff7f7e;
 140.307 +}
 140.308 +.x-trigger-wrap-focus .x-form-trigger{
 140.309 +    border-bottom: 1px solid #ff5892;
 140.310 +}
 140.311 +.x-form-focus, textarea.x-form-focus{
 140.312 +	border: 1px solid #ff5892;
 140.313 +}
 140.314 +
 140.315 +
 140.316 +/* Tabs */
 140.317 +
 140.318 +.x-tab-panel-header, .x-tab-panel-footer {
 140.319 +	background: #ffdce5;
 140.320 +	border-color:#ff7197;
 140.321 +}
 140.322 +
 140.323 +
 140.324 +.x-tab-panel-header {
 140.325 +	border-color:#ff7197;
 140.326 +}
 140.327 +
 140.328 +.x-tab-panel-footer {
 140.329 +	border-color:#ff7197;
 140.330 +}
 140.331 +
 140.332 +ul.x-tab-strip-top{
 140.333 +	background:#ffbbcb url(../images/purple/tabs/tab-strip-bg.gif) repeat-x left top;
 140.334 +	border-color:#ff7197;
 140.335 +}
 140.336 +
 140.337 +ul.x-tab-strip-bottom{
 140.338 +	background-image:url(../images/purple/tabs/tab-strip-btm-bg.gif);
 140.339 +	border-color:#ff7197;
 140.340 +}
 140.341 +
 140.342 +.x-tab-strip span.x-tab-strip-text {
 140.343 +	color:#553355;
 140.344 +}
 140.345 +.x-tab-strip-over span.x-tab-strip-text {
 140.346 +	color:#000000;
 140.347 +}
 140.348 +
 140.349 +.x-tab-strip-active span.x-tab-strip-text {
 140.350 +	color:#331033;
 140.351 +}
 140.352 +
 140.353 +.x-tab-strip-disabled .x-tabs-text {
 140.354 +	color:#775577;
 140.355 +}
 140.356 +
 140.357 +.x-tab-strip-top .x-tab-right {
 140.358 +	background-image:url(../images/purple/tabs/tabs-sprite.gif);
 140.359 +}
 140.360 +
 140.361 +.x-tab-strip-top .x-tab-left {
 140.362 +	background-image:url(../images/purple/tabs/tabs-sprite.gif);
 140.363 +}
 140.364 +.x-tab-strip-top .x-tab-strip-inner {
 140.365 +	background-image:url(../images/purple/tabs/tabs-sprite.gif);
 140.366 +}
 140.367 +
 140.368 +.x-tab-strip-bottom .x-tab-right {
 140.369 +	background-image:url(../images/purple/tabs/tab-btm-inactive-right-bg.gif);
 140.370 +}
 140.371 +
 140.372 +.x-tab-strip-bottom .x-tab-left {
 140.373 +	background-image:url(../images/purple/tabs/tab-btm-inactive-left-bg.gif);
 140.374 +}
 140.375 +
 140.376 +.x-tab-strip-bottom .x-tab-strip-active .x-tab-right {
 140.377 +	background-image:url(../images/purple/tabs/tab-btm-right-bg.gif);
 140.378 +}
 140.379 +
 140.380 +.x-tab-strip-bottom .x-tab-strip-active .x-tab-left {
 140.381 +	background-image:url(../images/purple/tabs/tab-btm-left-bg.gif);
 140.382 +}
 140.383 +
 140.384 +.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close {
 140.385 +	background-image:url(../images/purple/tabs/tab-close.gif);
 140.386 +}
 140.387 +.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close:hover{
 140.388 +	background-image:url(../images/purple/tabs/tab-close.gif);
 140.389 +}
 140.390 +
 140.391 +.x-tab-panel-body {
 140.392 +    border-color:#ff7197;
 140.393 +    background:#eeeeee;
 140.394 +}
 140.395 +.x-tab-panel-bbar .x-toolbar {
 140.396 +    border-color: #ff7197;
 140.397 +}
 140.398 +
 140.399 +.x-tab-panel-tbar .x-toolbar {
 140.400 +    border-color: #ff7197;
 140.401 +}
 140.402 +
 140.403 +.x-tab-panel-header-plain .x-tab-strip-spacer {
 140.404 +    border-color:#ff7197;
 140.405 +    background: #ffdce5;
 140.406 +}
 140.407 +
 140.408 +.x-tab-scroller-left {
 140.409 +    background-image: url(../images/purple/tabs/scroll-left.gif);
 140.410 +    border-color:#ff7197;
 140.411 +}
 140.412 +.x-tab-scroller-right {
 140.413 +    background-image: url(../images/purple/tabs/scroll-right.gif);
 140.414 +    border-color:#ff7197;
 140.415 +}
 140.416 +
 140.417 +/* Buttons */
 140.418 +
 140.419 +.x-btn-menu-arrow-wrap .x-btn-center button {
 140.420 +    background-image:url(../images/purple/button/btn-arrow.gif);
 140.421 +}
 140.422 +.x-btn-with-menu  .x-btn-center em {
 140.423 +    background-image:url(../images/purple/toolbar/btn-arrow.gif);
 140.424 +}
 140.425 +
 140.426 +.x-btn-text-icon .x-btn-with-menu .x-btn-center em {
 140.427 +    background-image:url(../images/purple/toolbar/btn-arrow.gif);
 140.428 +}
 140.429 +
 140.430 +/* Window */
 140.431 +
 140.432 +.x-window-proxy {
 140.433 +    background:#ffd6df;
 140.434 +    border-color:#ffa7be;
 140.435 +}
 140.436 +
 140.437 +.x-window-tl .x-window-header {
 140.438 +    color:#331033;
 140.439 +}
 140.440 +.x-window-tc {
 140.441 +	background-image:url(../images/purple/window/top-bottom.png);
 140.442 +}
 140.443 +.x-window-tl {
 140.444 +	background-image:url(../images/purple/window/left-corners.png);
 140.445 +}
 140.446 +.x-window-tr {
 140.447 +	background-image:url(../images/purple/window/right-corners.png);
 140.448 +}
 140.449 +.x-window-bc {
 140.450 +	background-image:url(../images/purple/window/top-bottom.png);
 140.451 +}
 140.452 +.x-window-bl {
 140.453 +	background-image:url(../images/purple/window/left-corners.png);
 140.454 +}
 140.455 +.x-window-br {
 140.456 +	background-image:url(../images/purple/window/right-corners.png);
 140.457 +}
 140.458 +.x-window-mc {
 140.459 +    border:1px solid #ff82a3;
 140.460 +    background:#ffd6df;
 140.461 +}
 140.462 +
 140.463 +.x-window-ml {
 140.464 +	background-image:url(../images/purple/window/left-right.png);
 140.465 +}
 140.466 +.x-window-mr {
 140.467 +	background-image:url(../images/purple/window/left-right.png);
 140.468 +}
 140.469 +.x-panel-ghost .x-window-tl {
 140.470 +    border-color:#ff82a3;
 140.471 +}
 140.472 +.x-panel-collapsed .x-window-tl {
 140.473 +    border-color:#ff82a3;
 140.474 +}
 140.475 +
 140.476 +.x-window-plain .x-window-mc {
 140.477 +    background: #f5bdcd;
 140.478 +    border-right:1px solid #ffa7be;
 140.479 +    border-bottom:1px solid #ffa7be;
 140.480 +    border-top:1px solid #ff82a3;
 140.481 +    border-left:1px solid #ff82a3;
 140.482 +}
 140.483 +
 140.484 +.x-window-plain .x-window-body {
 140.485 +    border-left:1px solid #ff82a3;
 140.486 +    border-top:1px solid #ff82a3;
 140.487 +    border-bottom:1px solid #ffa7be;
 140.488 +    border-right:1px solid #ffa7be;
 140.489 +    background:transparent !important;
 140.490 +}
 140.491 +
 140.492 +body.x-body-masked .x-window-mc, body.x-body-masked .x-window-plain .x-window-mc {
 140.493 +    background-color: #f5bdcd;
 140.494 +}
 140.495 +
 140.496 +/* Date Picker */
 140.497 +.x-date-picker {
 140.498 +    border: 1px solid #ff82a3;
 140.499 +    background:#ffd6df;
 140.500 +}
 140.501 +.x-date-middle,.x-date-left,.x-date-right {
 140.502 +	background-image: url(../images/purple/shared/hd-sprite.gif);
 140.503 +}
 140.504 +.x-date-middle .x-btn-with-menu  .x-btn-center em {
 140.505 +    background-image:url(../images/purple/toolbar/btn-arrow-light.gif);
 140.506 +}
 140.507 +.x-date-right a {
 140.508 +    background-image: url(../images/purple/shared/right-btn.gif);
 140.509 +}
 140.510 +.x-date-left a{
 140.511 +	background-image: url(../images/purple/shared/left-btn.gif);
 140.512 +}
 140.513 +.x-date-inner th {
 140.514 +    background-image:url(../images/purple/shared/glass-bg.gif);
 140.515 +	border-bottom: 1px solid #ff82a3;
 140.516 +	color:#331033;
 140.517 +}
 140.518 +.x-date-inner .x-date-selected a{
 140.519 +	background-image:url(../images/purple/shared/glass-bg.gif);
 140.520 +	border:1px solid #ff82a3;
 140.521 +    color:#331033;
 140.522 +}
 140.523 +.x-date-bottom {
 140.524 +    border-top: 1px solid #ff82a3;
 140.525 +    background-image:url(../images/purple/shared/glass-bg.gif);
 140.526 +}
 140.527 +.x-date-mp-btns {
 140.528 +	background-image:url(../images/purple/shared/glass-bg.gif);
 140.529 +}
 140.530 +td.x-date-mp-sel a {
 140.531 +	background-image:url(../images/purple/shared/glass-bg.gif);
 140.532 +	border:1px solid #ff82a3;
 140.533 +	color: #331033;
 140.534 +}
 140.535 +.x-date-mp-ybtn a {
 140.536 +    background-image:url(../images/purple/panel/tool-sprites.gif);
 140.537 +}
 140.538 +.x-date-mp-btns button {
 140.539 +	background-image:url(../images/purple/shared/glass-bg.gif);
 140.540 +	border-color: #ffa7be #ff82a3 #ff82a3 #ffa7be;
 140.541 +	color: #331033
 140.542 +}
 140.543 +.x-date-inner a:hover, .x-date-inner .x-date-disabled a:hover{
 140.544 +    color:#331033;
 140.545 +    background: #ff82a3;
 140.546 +}
 140.547 +td.x-date-mp-month a:hover,td.x-date-mp-year a:hover {
 140.548 +	color:#331033;
 140.549 +	background: #ff82a3;
 140.550 +}
 140.551 +
 140.552 +/* misc */
 140.553 +.x-html-editor-wrap {
 140.554 +    border-color:#ffd6df;
 140.555 +}
 140.556 +
 140.557 +/* Borders go last for specificity */
 140.558 +.x-panel-noborder .x-panel-body-noborder {
 140.559 +    border-width:0;
 140.560 +}
 140.561 +
 140.562 +.x-panel-noborder .x-panel-header-noborder {
 140.563 +    border-width:0;
 140.564 +    border-bottom:1px solid #ffd6df;
 140.565 +}
 140.566 +
 140.567 +.x-panel-noborder .x-panel-tbar-noborder .x-toolbar {
 140.568 +    border-width:0;
 140.569 +    border-bottom:1px solid #ffd6df;
 140.570 +}
 140.571 +
 140.572 +.x-panel-noborder .x-panel-bbar-noborder .x-toolbar {
 140.573 +    border-width:0;
 140.574 +    border-top:1px solid #ffd6df;
 140.575 +}
 140.576 +
 140.577 +.x-window-noborder .x-window-mc {
 140.578 +    border-width:0;
 140.579 +}
 140.580 +.x-window-plain .x-window-body-noborder {
 140.581 +    border-width:0;
 140.582 +}
 140.583 +
 140.584 +.x-tab-panel-noborder .x-tab-panel-body-noborder {
 140.585 +	border-width:0;
 140.586 +}
 140.587 +
 140.588 +.x-tab-panel-noborder .x-tab-panel-header-noborder {
 140.589 +	border-top-width:0;
 140.590 +	border-left-width:0;
 140.591 +	border-right-width:0;
 140.592 +}
 140.593 +
 140.594 +.x-tab-panel-noborder .x-tab-panel-footer-noborder {
 140.595 +	border-bottom-width:0;
 140.596 +	border-left-width:0;
 140.597 +	border-right-width:0;
 140.598 +}
 140.599 +
 140.600 +
 140.601 +.x-tab-panel-bbar-noborder .x-toolbar {
 140.602 +    border-width:0;
 140.603 +    border-top:1px solid #ffd6df;
 140.604 +}
 140.605 +
 140.606 +.x-tab-panel-tbar-noborder .x-toolbar {
 140.607 +    border-width:0;
 140.608 +    border-bottom:1px solid #ffd6df;
 140.609 +}
 140.610 \ No newline at end of file
   141.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   141.2 +++ b/onlypaths/theme/css/xtheme-silverCherry.css	Sun Jan 31 12:33:33 2010 -0500
   141.3 @@ -0,0 +1,1546 @@
   141.4 +/*
   141.5 + * Ext JS Library 2.0.1
   141.6 + * Copyright(c) 2006-2008, Ext JS, LLC.
   141.7 + * licensing@extjs.com
   141.8 + * 
   141.9 + * http://extjs.com/license
  141.10 + */
  141.11 +
  141.12 +html,body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,p,blockquote,th,td{margin:0;padding:0;}
  141.13 +img,body,html{border:0;}
  141.14 +address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}
  141.15 +ol,ul{list-style:none;}
  141.16 +caption,th{text-align:left;}
  141.17 +h1,h2,h3,h4,h5,h6{font-size:100%;}
  141.18 +q:before,q:after{content:'';}
  141.19 +
  141.20 +.ext-el-mask{z-index:20000;position:absolute;top:0;left:0;-moz-opacity:0.5;opacity:.50;filter:alpha(opacity=50);background-color:#CCC;width:100%;height:100%;zoom:1;}
  141.21 +.ext-el-mask-msg{z-index:20001;position:absolute;top:0;left:0;border:1px solid #cfcfcf;background:#fafafa url(../images/silverCherry/box_tb-blue.gif) repeat-x 0 -16px;padding:2px;}
  141.22 +.ext-el-mask-msg div{padding:5px 10px 5px 10px;background:#eee;border:1px solid #d9d9d9;color:#222;font:normal 11px tahoma,arial,helvetica,sans-serif;cursor:wait;}
  141.23 +.ext-shim{position:absolute;visibility:hidden;left:0;top:0;overflow:hidden;}
  141.24 +.ext-ie .ext-shim{filter:alpha(opacity=0);}
  141.25 +.ext-ie6 .ext-shim{margin-left:5px;margin-top:3px;}
  141.26 +.x-mask-loading div{padding:5px 10px 5px 25px;background:#fbfbfb url( '../images/silverCherry/grid_loading.gif' ) no-repeat 5px 5px;line-height:16px;}
  141.27 +.x-hidden,.x-hide-offsets{position:absolute;left:-10000px;top:-10000px;visibility:hidden;}
  141.28 +.x-hide-display{display:none!important;}
  141.29 +.x-hide-visibility{visibility:hidden!important;}
  141.30 +.x-masked{overflow:hidden!important;}
  141.31 +.x-masked select,.x-masked object,.x-masked embed{visibility:hidden;}
  141.32 +.x-layer{visibility:hidden;}
  141.33 +.x-unselectable,.x-unselectable *{-moz-user-select:none;-khtml-user-select:none;}
  141.34 +.x-repaint{zoom:1;background-color:transparent;-moz-outline:none;}
  141.35 +.x-item-disabled{color:gray;cursor:default;opacity:.6;-moz-opacity:.6;filter:alpha(opacity=60);}
  141.36 +.x-item-disabled *{color:gray!important;cursor:default!important;}
  141.37 +.x-splitbar-proxy{position:absolute;visibility:hidden;z-index:20001;background:#aaa;zoom:1;line-height:1px;font-size:1px;overflow:hidden;}
  141.38 +.x-splitbar-h,.x-splitbar-proxy-h{cursor:e-resize;cursor:col-resize;}
  141.39 +.x-splitbar-v,.x-splitbar-proxy-v{cursor:s-resize;cursor:row-resize;}
  141.40 +.x-color-palette{width:150px;height:92px;cursor:pointer;}
  141.41 +.x-color-palette a{border:1px solid #fff;float:left;padding:2px;text-decoration:none;-moz-outline:0 none;outline:0 none;cursor:pointer;}
  141.42 +.x-color-palette a:hover,.x-color-palette a.x-color-palette-sel{border:1px solid #f2f2f2;background:#fcfcfc;}
  141.43 +.x-color-palette em{display:block;border:1px solid #ababab;}
  141.44 +.x-color-palette em span{cursor:pointer;display:block;height:10px;line-height:10px;width:10px;}
  141.45 +.x-ie-shadow{display:none;position:absolute;overflow:hidden;left:0;top:0;background:#777;zoom:1;}
  141.46 +.x-shadow{display:none;position:absolute;overflow:hidden;left:0;top:0;}
  141.47 +.x-shadow *{overflow:hidden;}
  141.48 +.x-shadow *{padding:0;border:0;margin:0;clear:none;zoom:1;}
  141.49 +.x-shadow .xstc,.x-shadow .xsbc{height:6px;float:left;}
  141.50 +.x-shadow .xstl,.x-shadow .xstr,.x-shadow .xsbl,.x-shadow .xsbr{width:6px;height:6px;float:left;}
  141.51 +.x-shadow .xsc{width:100%;}
  141.52 +.x-shadow .xsml,.x-shadow .xsmr{width:6px;float:left;height:100%;}
  141.53 +.x-shadow .xsmc{float:left;height:100%;background:transparent url( ../images/silverCherry/shadow-c.png );}
  141.54 +.x-shadow .xst,.x-shadow .xsb{height:6px;overflow:hidden;width:100%;}
  141.55 +.x-shadow .xsml{background:transparent url( ../images/silverCherry/shadow-lr.png ) repeat-y 0 0;}
  141.56 +.x-shadow .xsmr{background:transparent url( ../images/silverCherry/shadow-lr.png ) repeat-y -6px 0;}
  141.57 +.x-shadow .xstl{background:transparent url( ../images/silverCherry/shadow.png ) no-repeat 0 0;}
  141.58 +.x-shadow .xstc{background:transparent url( ../images/silverCherry/shadow.png ) repeat-x 0 -30px;}
  141.59 +.x-shadow .xstr{background:transparent url( ../images/silverCherry/shadow.png ) repeat-x 0 -18px;}
  141.60 +.x-shadow .xsbl{background:transparent url( ../images/silverCherry/shadow.png ) no-repeat 0 -12px;}
  141.61 +.x-shadow .xsbc{background:transparent url( ../images/silverCherry/shadow.png ) repeat-x 0 -36px;}
  141.62 +.x-shadow .xsbr{background:transparent url( ../images/silverCherry/shadow.png ) repeat-x 0 -6px;}
  141.63 +.loading-indicator{font-size:11px;background-image:url(../images/silverCherry/grid_loading.gif);background-repeat:no-repeat;background-position:left;padding-left:20px;line-height:16px;margin:3px;}
  141.64 +.x-text-resize{position:absolute;left:-1000px;top:-1000px;visibility:hidden;zoom:1;}
  141.65 +.x-drag-overlay{width:100%;height:100%;display:none;position:absolute;left:0;top:0;background-image:url(../images/silverCherry/s.gif);z-index:20000;}
  141.66 +.x-clear{clear:both;height:0;overflow:hidden;line-height:0;font-size:0;}
  141.67 +.x-spotlight{z-index:8999;position:absolute;top:0;left:0;-moz-opacity:0.5;opacity:.50;filter:alpha(opacity=50);background-color:#CCC;width:0;height:0;zoom:1;}
  141.68 +
  141.69 +.x-tab-panel{overflow:hidden;}
  141.70 +.x-tab-panel-header,.x-tab-panel-footer{background:#fcfcfc;border:1px solid #e3e3e3;overflow:hidden;zoom:1;}
  141.71 +.x-tab-panel-header{border:1px solid #e3e3e3;padding-bottom:2px;}
  141.72 +.x-tab-panel-footer{border:1px solid #e3e3e3;padding-top:2px;}
  141.73 +.x-tab-strip-wrap{width:100%;overflow:hidden;position:relative;zoom:1;}
  141.74 +ul.x-tab-strip{display:block;width:5000px;zoom:1;}
  141.75 +ul.x-tab-strip-top{padding-top:1px;background:url(../images/silverCherry/tabs_tab-strip-bg.gif) #f5f5f5 repeat-x bottom;border-bottom:1px solid #e3e3e3;}
  141.76 +ul.x-tab-strip-bottom{padding-bottom:1px;background:url(../images/silverCherry/tabs_tab-strip-btm-bg.gif) #f5f5f5 repeat-x top;border-top:1px solid #e3e3e3;border-bottom:0 none;}
  141.77 +.x-tab-panel-header-plain .x-tab-strip-top{background:transparent!important;padding-top:0!important;}
  141.78 +.x-tab-panel-header-plain{background:transparent!important;border-width:0!important;padding-bottom:0!important;}
  141.79 +.x-tab-panel-header-plain .x-tab-strip-spacer{border:1px solid #e3e3e3;border-top:0 none;height:2px;background:#fcfcfc;font-size:1px;line-height:1px;}
  141.80 +.ext-border-box .x-tab-panel-header-plain .x-tab-strip-spacer{height:3px;}
  141.81 +ul.x-tab-strip li{float:left;margin-left:2px;}
  141.82 +ul.x-tab-strip li.x-tab-edge{float:left;margin:0!important;padding:0!important;border:0 none!important;font-size:1px!important;line-height:1px!important;overflow:hidden;zoom:1;background:transparent!important;width:1px;}
  141.83 +.x-tab-strip a,.x-tab-strip span,.x-tab-strip em{display:block;}
  141.84 +.x-tab-strip a{text-decoration:none!important;-moz-outline:none;outline:none;cursor:pointer;}
  141.85 +.x-tab-strip-inner{overflow:hidden;text-overflow:ellipsis;}
  141.86 +.x-tab-strip span.x-tab-strip-text{font:normal 11px tahoma,arial,helvetica;color:#a3a3a3;white-space:nowrap;cursor:pointer;padding:4px 0;}
  141.87 +.x-tab-strip .x-tab-with-icon .x-tab-right{padding-left:6px;}
  141.88 +.x-tab-strip .x-tab-with-icon span.x-tab-strip-text{padding-left:20px;background-position:0 3px;background-repeat:no-repeat;}
  141.89 +.x-tab-strip-over span.x-tab-strip-text{color:#8c8c8c;}
  141.90 +.x-tab-strip-active{cursor:default;}
  141.91 +.x-tab-strip-active span.x-tab-strip-text{cursor:default;color:#8c8c8c;font-weight:bold;}
  141.92 +.x-tab-strip-disabled .x-tabs-text{cursor:default;color:#aaa;}
  141.93 +.x-tab-panel-body{overflow:hidden;}
  141.94 +.x-tab-panel-bwrap{overflow:hidden;}
  141.95 +.ext-ie .x-tab-strip .x-tab-right{position:relative;}
  141.96 +.x-tab-strip-top .x-tab-strip-active .x-tab-right{margin-bottom:-1px;}
  141.97 +.x-tab-strip-top .x-tab-strip-active .x-tab-right span.x-tab-strip-text{padding-bottom:5px;}
  141.98 +.x-tab-strip-bottom .x-tab-strip-active .x-tab-right{margin-top:-1px;}
  141.99 +.x-tab-strip-bottom .x-tab-strip-active .x-tab-right span.x-tab-strip-text{padding-top:5px;}
 141.100 +.x-tab-strip-top .x-tab-right{background:transparent url(../images/silverCherry/tabs_tabs-sprite.gif) no-repeat 0 -51px;padding-left:10px;}
 141.101 +.x-tab-strip-top .x-tab-left{background:transparent url(../images/silverCherry/tabs_tabs-sprite.gif) no-repeat right -351px;padding-right:10px;}
 141.102 +.x-tab-strip-top .x-tab-strip-inner{background:transparent url(../images/silverCherry/tabs_tabs-sprite.gif) repeat-x 0 -201px;}
 141.103 +.x-tab-strip-top .x-tab-strip-over .x-tab-right{background-position:0 -101px;}
 141.104 +.x-tab-strip-top .x-tab-strip-over .x-tab-left{background-position:right -401px;}
 141.105 +.x-tab-strip-top .x-tab-strip-over .x-tab-strip-inner{background-position:0 -251px;}
 141.106 +.x-tab-strip-top .x-tab-strip-active .x-tab-right{background-position:0 0;}
 141.107 +.x-tab-strip-top .x-tab-strip-active .x-tab-left{background-position:right -301px;}
 141.108 +.x-tab-strip-top .x-tab-strip-active .x-tab-strip-inner{background-position:0 -151px;}
 141.109 +.x-tab-strip-bottom .x-tab-right{background:url(../images/silverCherry/tabs_tab-btm-inactive-right-bg.gif) no-repeat bottom right;}
 141.110 +.x-tab-strip-bottom .x-tab-left{background:url(../images/silverCherry/tabs_tab-btm-inactive-left-bg.gif) no-repeat bottom left;}
 141.111 +.x-tab-strip-bottom .x-tab-strip-active .x-tab-right{background:url(../images/silverCherry/tabs_tab-btm-right-bg.gif) no-repeat bottom left;}
 141.112 +.x-tab-strip-bottom .x-tab-strip-active .x-tab-left{background:url(../images/silverCherry/tabs_tab-btm-left-bg.gif) no-repeat bottom right;}
 141.113 +.x-tab-strip-bottom .x-tab-left{padding:0 10px;}
 141.114 +.x-tab-strip-bottom .x-tab-right{padding:0;}
 141.115 +.x-tab-strip .x-tab-strip-close{display:none;}
 141.116 +.x-tab-strip-closable{position:relative;}
 141.117 +.x-tab-strip-closable .x-tab-left{padding-right:19px;}
 141.118 +.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close{background-image:url(../images/silverCherry/tabs_tab-close.gif);opacity:.6;-moz-opacity:.6;background-repeat:no-repeat;display:block;width:11px;height:11px;position:absolute;top:3px;right:3px;cursor:pointer;z-index:2;}
 141.119 +.x-tab-strip .x-tab-strip-active a.x-tab-strip-close{opacity:.8;-moz-opacity:.8;}
 141.120 +.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close:hover{background-image:url(../images/silverCherry/tabs_tab-close.gif);opacity:1;-moz-opacity:1;}
 141.121 +.x-tab-panel-body{border:1px solid #e3e3e3;background:#fff;}
 141.122 +.x-tab-panel-body-top{border-top:0 none;}
 141.123 +.x-tab-panel-body-bottom{border-bottom:0 none;}
 141.124 +.x-tab-scroller-left{background:transparent url(../images/silverCherry/tabs_scroll-left.gif) no-repeat -18px 0;border-bottom:1px solid #e3e3e3;width:18px;position:absolute;left:0;top:0;z-index:10;cursor:pointer;}
 141.125 +.x-tab-scroller-left-over{background-position:0 0;}
 141.126 +.x-tab-scroller-left-disabled{background-position:-18px 0;opacity:.5;-moz-opacity:.5;filter:alpha(opacity=50);cursor:default;}
 141.127 +.x-tab-scroller-right{background:transparent url(../images/silverCherry/tabs_scroll-right.gif) no-repeat 0 0;border-bottom:1px solid #e3e3e3;width:18px;position:absolute;right:0;top:0;z-index:10;cursor:pointer;}
 141.128 +.x-tab-scroller-right-over{background-position:-18px 0;}
 141.129 +.x-tab-scroller-right-disabled{background-position:0 0;opacity:.5;-moz-opacity:.5;filter:alpha(opacity=50);cursor:default;}
 141.130 +.x-tab-scrolling .x-tab-strip-wrap{margin-left:18px;margin-right:18px;}
 141.131 +.x-tab-scrolling{position:relative;}
 141.132 +.x-tab-panel-bbar .x-toolbar{border:1px solid #e8e8e8;border-top:0 none;overflow:hidden;padding:2px;}
 141.133 +.x-tab-panel-tbar .x-toolbar{border:1px solid #e8e8e8;border-top:0 none;overflow:hidden;padding:2px;}
 141.134 +.x-border-layout-ct .x-tab-panel{background:white;}
 141.135 +
 141.136 +.x-form-field{margin:0;font:normal 12px tahoma,arial,helvetica,sans-serif;}
 141.137 +.x-form-text,textarea.x-form-field{padding:1px 3px;background:#fff url(../images/silverCherry/form_text-bg.gif) repeat-x 0 0;border:1px solid #c7c7c7;}
 141.138 +textarea.x-form-field{padding:2px 3px;}
 141.139 +.x-form-text{height:22px;line-height:18px;vertical-align:middle;}
 141.140 +.ext-ie .x-form-text{margin:-1px 0;height:22px;line-height:18px;}
 141.141 +.ext-ie textarea.x-form-field{margin:-1px 0;}
 141.142 +.ext-strict .x-form-text{height:18px;}
 141.143 +.ext-safari .x-form-text{height:20px;padding:0 3px;}
 141.144 +.ext-safari.ext-mac textarea.x-form-field{margin-bottom:-2px;}
 141.145 +.ext-gecko .x-form-text{padding-top:2px;padding-bottom:0;}
 141.146 +textarea{resize:none;}
 141.147 +.x-form-select-one{height:20px;line-height:18px;vertical-align:middle;background-color:#fff;border:1px solid #c7c7c7;}
 141.148 +.x-form-field-wrap{position:relative;zoom:1;white-space:nowrap;}
 141.149 +.x-editor .x-form-check-wrap{background:#fff;}
 141.150 +.x-form-field-wrap .x-form-trigger{width:17px;height:21px;border:0;background:transparent url(../images/silverCherry/form_trigger.gif) no-repeat 0 0;cursor:pointer;border-bottom:1px solid #c7c7c7;position:absolute;top:0;}
 141.151 +.ext-safari .x-form-field-wrap .x-form-trigger{height:21px;}
 141.152 +.x-form-field-wrap .x-form-date-trigger{background-image:url(../images/silverCherry/form_date-trigger.gif);cursor:pointer;}
 141.153 +.x-form-field-wrap .x-form-clear-trigger{background-image:url(../images/silverCherry/form_clear-trigger.gif);cursor:pointer;}
 141.154 +.x-form-field-wrap .x-form-search-trigger{background-image:url(../images/silverCherry/form_search-trigger.gif);cursor:pointer;}
 141.155 +.ext-safari .x-form-field-wrap .x-form-trigger{right:0;}
 141.156 +.x-form-field-wrap .x-form-twin-triggers .x-form-trigger{position:static;top:auto;vertical-align:top;}
 141.157 +.x-form-field-wrap .x-form-trigger-over{background-position:-17px 0;}
 141.158 +.x-form-field-wrap .x-form-trigger-click{background-position:-34px 0;}
 141.159 +.x-trigger-wrap-focus .x-form-trigger{background-position:-51px 0;}
 141.160 +.x-trigger-wrap-focus .x-form-trigger-over{background-position:-68px 0;}
 141.161 +.x-trigger-wrap-focus .x-form-trigger-click{background-position:-85px 0;}
 141.162 +.x-trigger-wrap-focus .x-form-trigger{border-bottom:1px solid #d9d9d9;}
 141.163 +.x-item-disabled .x-form-trigger-over{background-position:0 0!important;border-bottom:1px solid #c7c7c7;}
 141.164 +.x-item-disabled .x-form-trigger-click{background-position:0 0!important;border-bottom:1px solid #c7c7c7;}
 141.165 +.x-form-focus,textarea.x-form-focus{border:1px solid #d9d9d9;}
 141.166 +.x-form-invalid,textarea.x-form-invalid{background:#fff url(../images/silverCherry/grid_invalid_line.gif) repeat-x bottom;border:1px solid #ff7870;}
 141.167 +.ext-safari .x-form-invalid{background-color:#fee;border:1px solid #ff7870;}
 141.168 +.x-editor{visibility:hidden;padding:0;margin:0;}
 141.169 +.x-form-check-wrap{line-height:18px;}
 141.170 +.ext-ie .x-form-check-wrap input{width:15px;height:15px;}
 141.171 +.x-editor .x-form-check-wrap{padding:3px;}
 141.172 +.x-editor .x-form-checkbox{height:13px;}
 141.173 +.x-form-grow-sizer{font:normal 12px tahoma,arial,helvetica,sans-serif;left:-10000px;padding:8px 3px;position:absolute;visibility:hidden;top:-10000px;white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word;zoom:1;}
 141.174 +.x-form-grow-sizer p{margin:0!important;border:0 none!important;padding:0!important;}
 141.175 +.x-form-item{font:normal 12px tahoma,arial,helvetica,sans-serif;display:block;margin-bottom:4px;}
 141.176 +.x-form-item label{display:block;float:left;width:100px;padding:3px;padding-left:0;clear:left;z-index:2;position:relative;}
 141.177 +.x-form-element{padding-left:105px;position:relative;}
 141.178 +.x-form-invalid-msg{color:#e00;padding:2px;padding-left:18px;font:normal 11px tahoma,arial,helvetica,sans-serif;background:transparent url(../images/silverCherry/shared_warning.gif) no-repeat 0 2px;line-height:16px;width:200px;}
 141.179 +.x-form-label-right label{text-align:right;}
 141.180 +.x-form-label-top .x-form-item label{width:auto;float:none;clear:none;display:inline;margin-bottom:4px;position:static;}
 141.181 +.x-form-label-top .x-form-element{padding-left:0;padding-top:4px;}
 141.182 +.x-form-label-top .x-form-item{padding-bottom:4px;}
 141.183 +.x-form-empty-field{color:gray;}
 141.184 +.x-small-editor .x-form-field{font:normal 11px arial,tahoma,helvetica,sans-serif;}
 141.185 +.x-small-editor .x-form-text{height:20px;line-height:16px;vertical-align:middle;}
 141.186 +.ext-ie .x-small-editor .x-form-text{margin-top:-1px!important;margin-bottom:-1px!important;height:20px!important;line-height:16px!important;}
 141.187 +.ext-strict .x-small-editor .x-form-text{height:16px!important;}
 141.188 +.ext-safari .x-small-editor .x-form-field{font:normal 12px arial,tahoma,helvetica,sans-serif;}
 141.189 +.ext-ie .x-small-editor .x-form-text{height:20px;line-height:16px;}
 141.190 +.ext-border-box .x-small-editor .x-form-text{height:20px;}
 141.191 +.x-small-editor .x-form-select-one{height:20px;line-height:16px;vertical-align:middle;}
 141.192 +.x-small-editor .x-form-num-field{text-align:right;}
 141.193 +.x-small-editor .x-form-field-wrap .x-form-trigger{height:19px;}
 141.194 +.x-form-clear{clear:both;height:0;overflow:hidden;line-height:0;font-size:0;}
 141.195 +.x-form-clear-left{clear:left;height:0;overflow:hidden;line-height:0;font-size:0;}
 141.196 +.x-form-cb-label{width:'auto'!important;float:none!important;clear:none!important;display:inline!important;margin-left:4px;}
 141.197 +.x-form-column{float:left;padding:0;margin:0;width:48%;overflow:hidden;zoom:1;}
 141.198 +.x-form .x-form-btns-ct .x-btn{float:right;clear:none;}
 141.199 +.x-form .x-form-btns-ct .x-form-btns td{border:0;padding:0;}
 141.200 +.x-form .x-form-btns-ct .x-form-btns-right table{float:right;clear:none;}
 141.201 +.x-form .x-form-btns-ct .x-form-btns-left table{float:left;clear:none;}
 141.202 +.x-form .x-form-btns-ct .x-form-btns-center{text-align:center;}
 141.203 +.x-form .x-form-btns-ct .x-form-btns-center table{margin:0 auto;}
 141.204 +.x-form .x-form-btns-ct table td.x-form-btn-td{padding:3px;}
 141.205 +.x-form .x-form-btns-ct .x-btn-focus .x-btn-left{background-position:0 -147px;}
 141.206 +.x-form .x-form-btns-ct .x-btn-focus .x-btn-right{background-position:0 -168px;}
 141.207 +.x-form .x-form-btns-ct .x-btn-focus .x-btn-center{background-position:0 -189px;}
 141.208 +.x-form .x-form-btns-ct .x-btn-click .x-btn-center{background-position:0 -126px;}
 141.209 +.x-form .x-form-btns-ct .x-btn-click .x-btn-right{background-position:0 -84px;}
 141.210 +.x-form .x-form-btns-ct .x-btn-click .x-btn-left{background-position:0 -63px;}
 141.211 +.x-form-invalid-icon{width:16px;height:18px;visibility:hidden;position:absolute;left:0;top:0;display:block;background:transparent url(../images/silverCherry/form_exclamation.gif) no-repeat 0 2px;}
 141.212 +.x-fieldset{border:1px solid #c7c7c7;padding:10px;margin-bottom:10px;}
 141.213 +.x-fieldset legend{font:bold 11px tahoma,arial,helvetica,sans-serif;color:#8c8c8c;}
 141.214 +.ext-ie .x-fieldset legend{margin-bottom:10px;}
 141.215 +.ext-ie .x-fieldset{padding-top:0;padding-bottom:5px;}
 141.216 +.x-fieldset legend .x-tool-toggle{margin-right:3px;margin-left:0;float:left!important;}
 141.217 +.x-fieldset legend input{margin-right:3px;float:left!important;height:13px;width:13px;}
 141.218 +fieldset.x-panel-collapsed{padding-bottom:0!important;border-width:1px 0 0 0!important;}
 141.219 +fieldset.x-panel-collapsed .x-fieldset-bwrap{visibility:hidden;position:absolute;left:-1000px;top:-1000px;}
 141.220 +.ext-ie .x-fieldset-bwrap{zoom:1;}
 141.221 +.ext-ie td .x-form-text{position:relative;top:-1px;}
 141.222 +.x-fieldset-noborder{border:0 none transparent;}
 141.223 +.x-fieldset-noborder legend{margin-left:-3px;}
 141.224 +.ext-ie .x-fieldset-noborder legend{position:relative;margin-bottom:23px;}
 141.225 +.ext-ie .x-fieldset-noborder legend span{position:absolute;left:-5px;}
 141.226 +.ext-gecko .x-window-body .x-form-item{-moz-outline:none;}
 141.227 +.ext-gecko .x-form-item{-moz-outline:none;}
 141.228 +.x-hide-label label.x-form-item-label{display:none;}
 141.229 +.x-hide-label .x-form-element{padding-left:0!important;}
 141.230 +
 141.231 +.x-btn{font:normal 11px tahoma,verdana,helvetica;cursor:pointer;white-space:nowrap;}
 141.232 +.x-btn button{border:0 none;background:transparent;font:normal 11px tahoma,verdana,helvetica;padding-left:3px;padding-right:3px;cursor:pointer;margin:0;overflow:visible;width:auto;-moz-outline:0 none;outline:0 none;}
 141.233 +* html .ext-ie .x-btn button{width:1px;}
 141.234 +.ext-gecko .x-btn button{padding-left:0;padding-right:0;}
 141.235 +.ext-ie .x-btn button{padding-top:2px;}
 141.236 +.x-btn-icon .x-btn-center .x-btn-text{background-position:center;background-repeat:no-repeat;height:16px;width:16px;cursor:pointer;white-space:nowrap;padding:0;}
 141.237 +.x-btn-icon .x-btn-center{padding:1px;}
 141.238 +.x-btn em{font-style:normal;font-weight:normal;}
 141.239 +.x-btn-text-icon .x-btn-center .x-btn-text{background-position:0 2px;background-repeat:no-repeat;padding-left:18px;padding-top:3px;padding-bottom:2px;padding-right:0;}
 141.240 +.x-btn-left,.x-btn-right{font-size:1px;line-height:1px;}
 141.241 +.x-btn-left{width:3px;height:21px;background:url(../images/silverCherry/button_btn-sprite.gif) no-repeat 0 0;}
 141.242 +.x-btn-right{width:3px;height:21px;background:url(../images/silverCherry/button_btn-sprite.gif) no-repeat 0 -21px;}
 141.243 +.x-btn-left i,.x-btn-right i{display:block;width:3px;overflow:hidden;font-size:1px;line-height:1px;}
 141.244 +.x-btn-center{background:url(../images/silverCherry/button_btn-sprite.gif) repeat-x 0 -42px;vertical-align:middle;text-align:center;padding:0 5px;cursor:pointer;white-space:nowrap;}
 141.245 +.x-btn-over .x-btn-left{background-position:0 -63px;}
 141.246 +.x-btn-over .x-btn-right{background-position:0 -84px;}
 141.247 +.x-btn-over .x-btn-center{background-position:0 -105px;}
 141.248 +.x-btn-click .x-btn-center,.x-btn-menu-active .x-btn-center{background-position:0 -126px;}
 141.249 +.x-btn-disabled *{color:gray!important;cursor:default!important;}
 141.250 +.x-btn-menu-text-wrap .x-btn-center{padding:0 3px;}
 141.251 +.ext-gecko .x-btn-menu-text-wrap .x-btn-center{padding:0 1px;}
 141.252 +.x-btn-menu-arrow-wrap .x-btn-center{padding:0;}
 141.253 +.x-btn-menu-arrow-wrap .x-btn-center button{width:12px!important;height:21px;padding:0!important;display:block;background:transparent url(../images/silverCherry/button_btn-arrow.gif) no-repeat left 3px;}
 141.254 +.x-btn-with-menu .x-btn-center{padding-right:2px!important;}
 141.255 +.x-btn-with-menu .x-btn-center em{display:block;background:transparent url(../images/silverCherry/toolbar_btn-arrow.gif) no-repeat right 0;padding-right:10px;}
 141.256 +.x-btn-text-icon .x-btn-with-menu .x-btn-center em{display:block;background:transparent url(../images/silverCherry/toolbar_btn-arrow.gif) no-repeat right 3px;padding-right:10px;}
 141.257 +.x-btn-pressed .x-btn-left{background:url(../images/silverCherry/button_btn-sprite.gif) no-repeat 0 -63px;}
 141.258 +.x-btn-pressed .x-btn-right{background:url(../images/silverCherry/button_btn-sprite.gif) no-repeat 0 -84px;}
 141.259 +.x-btn-pressed .x-btn-center{background:url(../images/silverCherry/button_btn-sprite.gif) repeat-x 0 -126px;}
 141.260 +
 141.261 +.x-toolbar{border-color:#d4d4d4;border-style:solid;border-width:0 0 1px 0;display:block;padding:2px;background:#f0f0f0 url(../images/silverCherry/toolbar_bg.gif) repeat-x top left;position:relative;zoom:1;}
 141.262 +.x-toolbar .x-item-disabled .x-btn-icon{opacity:.35;-moz-opacity:.35;filter:alpha(opacity=35);}
 141.263 +.x-toolbar td{vertical-align:middle;}
 141.264 +.mso .x-toolbar,.x-grid-mso .x-toolbar{border:0 none;background:url(../images/silverCherry/grid_mso-hd.gif);}
 141.265 +.x-toolbar td,.x-toolbar span,.x-toolbar input,.x-toolbar div,.x-toolbar select,.x-toolbar label{white-space:nowrap;font:normal 11px tahoma,arial,helvetica,sans-serif;}
 141.266 +.x-toolbar .x-item-disabled{color:gray;cursor:default;opacity:.6;-moz-opacity:.6;filter:alpha(opacity=60);}
 141.267 +.x-toolbar .x-item-disabled *{color:gray;cursor:default;}
 141.268 +.x-toolbar .x-btn-left{background:none;}
 141.269 +.x-toolbar .x-btn-right{background:none;}
 141.270 +.x-toolbar .x-btn-center{background:none;padding:0;}
 141.271 +.x-toolbar .x-btn-menu-text-wrap .x-btn-center button{padding-right:2px;}
 141.272 +.ext-gecko .x-toolbar .x-btn-menu-text-wrap .x-btn-center button{padding-right:0;}
 141.273 +.x-toolbar .x-btn-menu-arrow-wrap .x-btn-center button{padding:0 2px;}
 141.274 +.x-toolbar .x-btn-menu-arrow-wrap .x-btn-center button{width:12px;background:transparent url(../images/silverCherry/toolbar_btn-arrow.gif) no-repeat 0 3px;}
 141.275 +.x-toolbar .x-btn-text-icon .x-btn-menu-arrow-wrap .x-btn-center button{width:12px;background:transparent url(../images/silverCherry/toolbar_btn-arrow.gif) no-repeat 0 3px;}
 141.276 +.x-toolbar .x-btn-over .x-btn-menu-arrow-wrap .x-btn-center button{background-position:0 -47px;}
 141.277 +.x-toolbar .x-btn-over .x-btn-left{background:url(../images/silverCherry/toolbar_tb-btn-sprite.gif) no-repeat 0 0;}
 141.278 +.x-toolbar .x-btn-over .x-btn-right{background:url(../images/silverCherry/toolbar_tb-btn-sprite.gif) no-repeat 0 -21px;}
 141.279 +.x-toolbar .x-btn-over .x-btn-center{background:url(../images/silverCherry/toolbar_tb-btn-sprite.gif) repeat-x 0 -42px;}
 141.280 +.x-toolbar .x-btn-click .x-btn-left,.x-toolbar .x-btn-pressed .x-btn-left,.x-toolbar .x-btn-menu-active .x-btn-left{background:url(../images/silverCherry/toolbar_tb-btn-sprite.gif) no-repeat 0 -63px;}
 141.281 +.x-toolbar .x-btn-click .x-btn-right,.x-toolbar .x-btn-pressed .x-btn-right,.x-toolbar .x-btn-menu-active .x-btn-right{background:url(../images/silverCherry/toolbar_tb-btn-sprite.gif) no-repeat 0 -84px;}
 141.282 +.x-toolbar .x-btn-click .x-btn-center,.x-toolbar .x-btn-pressed .x-btn-center,.x-toolbar .x-btn-menu-active .x-btn-center{background:url(../images/silverCherry/toolbar_tb-btn-sprite.gif) repeat-x 0 -105px;}
 141.283 +.x-toolbar .x-btn-with-menu .x-btn-center em{padding-right:8px;}
 141.284 +.x-toolbar .ytb-text{padding:2px;}
 141.285 +.x-toolbar .ytb-sep{background-image:url(../images/silverCherry/grid_grid-blue-split.gif);background-position:center;background-repeat:no-repeat;display:block;font-size:1px;height:16px;width:4px;overflow:hidden;cursor:default;margin:0 2px 0;border:0;}
 141.286 +.x-toolbar .ytb-spacer{width:2px;}
 141.287 +.x-tbar-page-number{width:24px;height:14px;}
 141.288 +.x-tbar-page-first{background-image:url(../images/silverCherry/grid_page-first.gif)!important;}
 141.289 +.x-tbar-loading{background-image:url(../images/silverCherry/grid_done.gif)!important;}
 141.290 +.x-tbar-page-last{background-image:url(../images/silverCherry/grid_page-last.gif)!important;}
 141.291 +.x-tbar-page-next{background-image:url(../images/silverCherry/grid_page-next.gif)!important;}
 141.292 +.x-tbar-page-prev{background-image:url(../images/silverCherry/grid_page-prev.gif)!important;}
 141.293 +.x-item-disabled .x-tbar-loading{background-image:url(../images/silverCherry/grid_loading.gif)!important;}
 141.294 +.x-item-disabled .x-tbar-page-first{background-image:url(../images/silverCherry/grid_page-first-disabled.gif)!important;}
 141.295 +.x-item-disabled .x-tbar-page-last{background-image:url(../images/silverCherry/grid_page-last-disabled.gif)!important;}
 141.296 +.x-item-disabled .x-tbar-page-next{background-image:url(../images/silverCherry/grid_page-next-disabled.gif)!important;}
 141.297 +.x-item-disabled .x-tbar-page-prev{background-image:url(../images/silverCherry/grid_page-prev-disabled.gif)!important;}
 141.298 +.x-paging-info{position:absolute;top:5px;right:8px;color:#444;}
 141.299 +
 141.300 +.x-resizable-handle{position:absolute;z-index:100;font-size:1px;line-height:6px;overflow:hidden;background:white;filter:alpha(opacity=0);opacity:0;zoom:1;}
 141.301 +.x-resizable-handle-east{width:6px;cursor:e-resize;right:0;top:0;height:100%;}
 141.302 +.ext-ie .x-resizable-handle-east{margin-right:-1px;}
 141.303 +.x-resizable-handle-south{width:100%;cursor:s-resize;left:0;bottom:0;height:6px;}
 141.304 +.ext-ie .x-resizable-handle-south{margin-bottom:-1px;}
 141.305 +.x-resizable-handle-west{width:6px;cursor:w-resize;left:0;top:0;height:100%;}
 141.306 +.x-resizable-handle-north{width:100%;cursor:n-resize;left:0;top:0;height:6px;}
 141.307 +.x-resizable-handle-southeast{width:6px;cursor:se-resize;right:0;bottom:0;height:6px;z-index:101;}
 141.308 +.x-resizable-handle-northwest{width:6px;cursor:nw-resize;left:0;top:0;height:6px;z-index:101;}
 141.309 +.x-resizable-handle-northeast{width:6px;cursor:ne-resize;right:0;top:0;height:6px;z-index:101;}
 141.310 +.x-resizable-handle-southwest{width:6px;cursor:sw-resize;left:0;bottom:0;height:6px;z-index:101;}
 141.311 +.x-resizable-over .x-resizable-handle,.x-resizable-pinned .x-resizable-handle{filter:alpha(opacity=100);opacity:1;}
 141.312 +.x-resizable-over .x-resizable-handle-east,.x-resizable-pinned .x-resizable-handle-east{background:url(../images/silverCherry/sizer_e-handle.gif);background-position:left;}
 141.313 +.x-resizable-over .x-resizable-handle-west,.x-resizable-pinned .x-resizable-handle-west{background:url(../images/silverCherry/sizer_e-handle.gif);background-position:left;}
 141.314 +.x-resizable-over .x-resizable-handle-south,.x-resizable-pinned .x-resizable-handle-south{background:url(../images/silverCherry/sizer_s-handle.gif);background-position:top;}
 141.315 +.x-resizable-over .x-resizable-handle-north,.x-resizable-pinned .x-resizable-handle-north{background:url(../images/silverCherry/sizer_s-handle.gif);background-position:top;}
 141.316 +.x-resizable-over .x-resizable-handle-southeast,.x-resizable-pinned .x-resizable-handle-southeast{background:url(../images/silverCherry/sizer_se-handle.gif);background-position:top left;}
 141.317 +.x-resizable-over .x-resizable-handle-northwest,.x-resizable-pinned .x-resizable-handle-northwest{background:url(../images/silverCherry/sizer_nw-handle.gif);background-position:bottom right;}
 141.318 +.x-resizable-over .x-resizable-handle-northeast,.x-resizable-pinned .x-resizable-handle-northeast{background:url(../images/silverCherry/sizer_ne-handle.gif);background-position:bottom left;}
 141.319 +.x-resizable-over .x-resizable-handle-southwest,.x-resizable-pinned .x-resizable-handle-southwest{background:url(../images/silverCherry/sizer_sw-handle.gif);background-position:top right;}
 141.320 +.x-resizable-proxy{border:1px dashed #828282;position:absolute;overflow:hidden;display:none;left:0;top:0;z-index:50000;}
 141.321 +.x-resizable-overlay{width:100%;height:100%;display:none;position:absolute;left:0;top:0;background:white;z-index:200000;-moz-opacity:0;opacity:0;filter:alpha(opacity=0);}
 141.322 +
 141.323 + .x-grid3{position:relative;overflow:hidden;background-color:#fff;}
 141.324 +.x-grid-panel .x-panel-body{overflow:hidden!important;}
 141.325 +.x-grid-panel .x-panel-mc .x-panel-body{border:1px solid #e8e8e8;}
 141.326 +.ext-ie .x-grid3 table,.ext-safari .x-grid3 table{table-layout:fixed;}
 141.327 +.x-grid3-viewport{overflow:hidden;}
 141.328 +.x-grid3-hd-row td,.x-grid3-row td,.x-grid3-summary-row td{font:normal 11px arial,tahoma,helvetica,sans-serif;-moz-outline:none;-moz-user-focus:normal;}
 141.329 +.x-grid3-row td,.x-grid3-summary-row td{line-height:13px;vertical-align:top;padding-left:1px;padding-right:1px;-moz-user-select:none;}
 141.330 +.x-grid3-hd-row td{line-height:15px;vertical-align:middle;border-left:1px solid #eee;border-right:1px solid #d0d0d0;}
 141.331 +.x-grid3-hd-row .x-grid3-marker-hd{padding:3px;}
 141.332 +.x-grid3-row .x-grid3-marker{padding:3px;}
 141.333 +.x-grid3-cell-inner,.x-grid3-hd-inner{overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;padding:3px 3px 3px 5px;white-space:nowrap;}
 141.334 +.x-grid3-hd-inner{position:relative;cursor:inherit;padding:4px 3px 4px 5px;}
 141.335 +.x-grid3-row-body{white-space:normal;}
 141.336 +.x-grid3-body-cell{-moz-outline:0 none;outline:0 none;}
 141.337 +.ext-ie .x-grid3-cell-inner,.ext-ie .x-grid3-hd-inner{width:100%;}
 141.338 +.ext-strict .x-grid3-cell-inner,.ext-strict .x-grid3-hd-inner{width:auto;}
 141.339 +.x-grid-row-loading{background:#fff url(../images/silverCherry/shared_loading-balls.gif) no-repeat center center;}
 141.340 +.x-grid-page{overflow:hidden;}
 141.341 +.x-grid3-row{cursor:default;border:1px solid #ededed;border-top-color:#fff;width:100%;}
 141.342 +.x-grid3-row-alt{background-color:#fafafa;}
 141.343 +.x-grid3-row-over{border:1px solid #ddd;background:#efefef url(../images/silverCherry/grid_row-over.gif) repeat-x left top;}
 141.344 +.x-grid3-resize-proxy{width:1px;left:0;background-color:#777;cursor:e-resize;cursor:col-resize;position:absolute;top:0;height:100px;overflow:hidden;visibility:hidden;border:0 none;z-index:7;}
 141.345 +.x-grid3-resize-marker{width:1px;left:0;background-color:#777;position:absolute;top:0;height:100px;overflow:hidden;visibility:hidden;border:0 none;z-index:7;}
 141.346 +.x-grid3-focus{position:absolute;top:0;-moz-outline:0 none;outline:0 none;-moz-user-select:normal;-khtml-user-select:normal;}
 141.347 +.x-grid3-header{background:#f9f9f9 url(../images/silverCherry/grid_grid3-hrow.gif) repeat-x 0 bottom;cursor:default;zoom:1;padding:1px 0 0 0;}
 141.348 +.x-grid3-header-pop{border-left:1px solid #d0d0d0;float:right;clear:none;}
 141.349 +.x-grid3-header-pop-inner{border-left:1px solid #eee;width:14px;height:19px;background:transparent url(../images/silverCherry/grid_hd-pop.gif) no-repeat center center;}
 141.350 +.ext-ie .x-grid3-header-pop-inner{width:15px;}
 141.351 +.ext-strict .x-grid3-header-pop-inner{width:14px;}
 141.352 +.x-grid3-header-inner{overflow:hidden;zoom:1;float:left;}
 141.353 +.x-grid3-header-offset{padding-left:1px;width:10000px;}
 141.354 +td.x-grid3-hd-over,td.sort-desc,td.sort-asc,td.x-grid3-hd-menu-open{border-left:1px solid #f5f5f5;border-right:1px solid #f5f5f5;}
 141.355 +td.x-grid3-hd-over .x-grid3-hd-inner,td.sort-desc .x-grid3-hd-inner,td.sort-asc .x-grid3-hd-inner,td.x-grid3-hd-menu-open .x-grid3-hd-inner{background:#fcfcfc url(../images/silverCherry/grid_grid3-hrow-over.gif) repeat-x left bottom;}
 141.356 +.x-grid3-sort-icon{background-repeat:no-repeat;display:none;height:4px;width:13px;margin-left:3px;vertical-align:middle;}
 141.357 +.sort-asc .x-grid3-sort-icon{background-image:url(../images/silverCherry/grid_sort_asc.gif);display:inline;}
 141.358 +.sort-desc .x-grid3-sort-icon{background-image:url(../images/silverCherry/grid_sort_desc.gif);display:inline;}
 141.359 +.ext-strict .ext-ie .x-grid3-header-inner{position:relative;}
 141.360 +.ext-strict .ext-ie6 .x-grid3-hd{position:relative;}
 141.361 +.ext-strict .ext-ie6 .x-grid3-hd-inner{position:static;}
 141.362 +.x-grid3-body{zoom:1;}
 141.363 +.x-grid3-scroller{overflow:auto;zoom:1;position:relative;}
 141.364 +.x-grid3-cell-text,.x-grid3-hd-text{display:block;padding:3px 5px 3px 5px;-moz-user-select:none;-khtml-user-select:none;color:black;}
 141.365 +.x-grid3-split{background-image:url(../images/silverCherry/grid_grid-split.gif);background-position:center;background-repeat:no-repeat;cursor:e-resize;cursor:col-resize;display:block;font-size:1px;height:16px;overflow:hidden;position:absolute;top:2px;width:6px;z-index:3;}
 141.366 +.x-grid3-hd-text{color:#8c8c8c;}
 141.367 +.x-dd-drag-proxy .x-grid3-hd-inner{background:#fcfcfc url(../images/silverCherry/grid_grid3-hrow-over.gif) repeat-x left bottom;width:120px;padding:3px;border:1px solid #f5f5f5;overflow:hidden;}
 141.368 +.col-move-top,.col-move-bottom{width:9px;height:9px;position:absolute;top:0;line-height:1px;font-size:1px;overflow:hidden;visibility:hidden;z-index:20000;}
 141.369 +.col-move-top{background:transparent url(../images/silverCherry/grid_col-move-top.gif) no-repeat left top;}
 141.370 +.col-move-bottom{background:transparent url(../images/silverCherry/grid_col-move-bottom.gif) no-repeat left top;}
 141.371 +.x-grid3-row-selected{background:#f5f5f5!important;border:1px dotted #e8e8e8;}
 141.372 +.x-grid3-cell-selected{background-color:#ededed!important;color:black;}
 141.373 +.x-grid3-cell-selected span{color:black!important;}
 141.374 +.x-grid3-cell-selected .x-grid3-cell-text{color:black;}
 141.375 +.x-grid3-locked td.x-grid3-row-marker,.x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker{background:#ebebeb url(../images/silverCherry/grid_grid-hrow.gif) repeat-x 0 bottom!important;vertical-align:middle!important;color:black;padding:0;border-top:1px solid white;border-bottom:none!important;border-right:1px solid #dedede!important;text-align:center;}
 141.376 +.x-grid3-locked td.x-grid3-row-marker div,.x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker div{padding:0 4px;color:#8c8c8c!important;text-align:center;}
 141.377 +.x-grid3-dirty-cell{background:transparent url(../images/silverCherry/grid_dirty.gif) no-repeat 0 0;}
 141.378 +.x-grid3-topbar,.x-grid3-bottombar{font:normal 11px arial,tahoma,helvetica,sans-serif;overflow:hidden;display:none;zoom:1;position:relative;}
 141.379 +.x-grid3-topbar .x-toolbar{border-right:0 none;}
 141.380 +.x-grid3-bottombar .x-toolbar{border-right:0 none;border-bottom:0 none;border-top:1px solid #d4d4d4;}
 141.381 +.x-props-grid .x-grid3-cell{padding:1px;}
 141.382 +.x-props-grid .x-grid3-td-name .x-grid3-cell-inner{background:transparent url(../images/silverCherry/grid_grid3-special-col-bg.gif) repeat-y -16px!important;padding-left:12px;color:black!important;}
 141.383 +.x-props-grid .x-grid3-body .x-grid3-td-name{padding:1px;padding-right:0;background:white!important;border:0 none;border-right:1px solid #eee;}
 141.384 +.xg-hmenu-sort-asc .x-menu-item-icon{background-image:url(../images/silverCherry/grid_hmenu-asc.gif);}
 141.385 +.xg-hmenu-sort-desc .x-menu-item-icon{background-image:url(../images/silverCherry/grid_hmenu-desc.gif);}
 141.386 +.xg-hmenu-lock .x-menu-item-icon{background-image:url(../images/silverCherry/grid_hmenu-lock.gif);}
 141.387 +.xg-hmenu-unlock .x-menu-item-icon{background-image:url(../images/silverCherry/grid_hmenu-unlock.gif);}
 141.388 +.x-grid3-col-dd{border:0 none;padding:0;background:transparent;}
 141.389 +.x-dd-drag-ghost .x-grid3-dd-wrap{padding:1px 3px 3px 1px;}
 141.390 +.x-grid3-hd{-moz-user-select:none;}
 141.391 +.x-grid3-hd-btn{display:none;position:absolute;width:14px;background:#fafafa url(../images/silverCherry/grid_grid3-hd-btn.gif) no-repeat left center;right:0;top:0;z-index:2;cursor:pointer;}
 141.392 +.x-grid3-hd-over .x-grid3-hd-btn,.x-grid3-hd-menu-open .x-grid3-hd-btn{display:block;}
 141.393 +a.x-grid3-hd-btn:hover{background-position:-14px center;}
 141.394 +.x-grid3-body .x-grid3-td-expander{background:transparent url(../images/silverCherry/grid_grid3-special-col-bg.gif) repeat-y right;}
 141.395 +.x-grid3-body .x-grid3-td-expander .x-grid3-cell-inner{padding:0!important;height:100%;}
 141.396 +.x-grid3-row-expander{width:100%;height:18px;background-position:4px 2px;background-repeat:no-repeat;background-color:transparent;background-image:url(../images/silverCherry/grid_row-expand-sprite.gif);}
 141.397 +.x-grid3-row-collapsed .x-grid3-row-expander{background-position:4px 2px;}
 141.398 +.x-grid3-row-expanded .x-grid3-row-expander{background-position:-21px 2px;}
 141.399 +.x-grid3-row-collapsed .x-grid3-row-body{display:none!important;}
 141.400 +.x-grid3-row-expanded .x-grid3-row-body{display:block!important;}
 141.401 +.x-grid3-body .x-grid3-td-checker{background:transparent url(../images/silverCherry/grid_grid3-special-col-bg.gif) repeat-y right;}
 141.402 +.x-grid3-body .x-grid3-td-checker .x-grid3-cell-inner,.x-grid3-header .x-grid3-td-checker .x-grid3-hd-inner{padding:0!important;height:100%;}
 141.403 +.x-grid3-row-checker,.x-grid3-hd-checker{width:100%;height:18px;background-position:2px 2px;background-repeat:no-repeat;background-color:transparent;background-image:url(../images/silverCherry/grid_row-check-sprite.gif);}
 141.404 +.x-grid3-row .x-grid3-row-checker{background-position:2px 2px;}
 141.405 +.x-grid3-row-selected .x-grid3-row-checker,.x-grid3-hd-checker-on .x-grid3-hd-checker{background-position:-23px 2px;}
 141.406 +.x-grid3-hd-checker{background-position:2px 3px;}
 141.407 +.x-grid3-hd-checker-on .x-grid3-hd-checker{background-position:-23px 3px;}
 141.408 +.x-grid3-body .x-grid3-td-numberer{background:transparent url(../images/silverCherry/grid_grid3-special-col-bg.gif) repeat-y right;}
 141.409 +.x-grid3-body .x-grid3-td-numberer .x-grid3-cell-inner{padding:3px 5px 0 0!important;text-align:right;color:#444;}
 141.410 +.x-grid3-body .x-grid3-row-selected .x-grid3-td-numberer,.x-grid3-body .x-grid3-row-selected .x-grid3-td-checker,.x-grid3-body .x-grid3-row-selected .x-grid3-td-expander{background:transparent url(../images/silverCherry/grid_grid3-special-col-sel-bg.gif) repeat-y right;}
 141.411 +.x-grid3-body .x-grid3-check-col-td .x-grid3-cell-inner{padding:1px 0 0 0!important;}
 141.412 +.x-grid3-check-col{width:100%;height:16px;background-position:center center;background-repeat:no-repeat;background-color:transparent;background-image:url(../images/silverCherry/menu_unchecked.gif);}
 141.413 +.x-grid3-check-col-on{width:100%;height:16px;background-position:center center;background-repeat:no-repeat;background-color:transparent;background-image:url(../images/silverCherry/menu_checked.gif);}
 141.414 +.x-grid-group,.x-grid-group-body,.x-grid-group-hd{zoom:1;}
 141.415 +.x-grid-group-hd{border-bottom:2px solid #e8e8e8;cursor:pointer;padding-top:6px;}
 141.416 +.x-grid-group-hd div{background:transparent url(../images/silverCherry/grid_group-expand-sprite.gif) no-repeat 3px -47px;padding:4px 4px 4px 17px;color:#a1a1a1;font:bold 11px tahoma,arial,helvetica,sans-serif;}
 141.417 +.x-grid-group-collapsed .x-grid-group-hd div{background-position:3px 3px;}
 141.418 +.x-grid-group-collapsed .x-grid-group-body{display:none;}
 141.419 +.x-group-by-icon{background-image:url(../images/silverCherry/grid_group-by.gif);}
 141.420 +.x-cols-icon{background-image:url(../images/silverCherry/grid_columns.gif);}
 141.421 +.x-show-groups-icon{background-image:url(../images/silverCherry/grid_group-by.gif);}
 141.422 +.ext-ie .x-grid3 .x-editor .x-form-text{position:relative;top:-1px;}
 141.423 +.x-grid-editor{position:relative!important;float:left;}
 141.424 +.x-grid-empty{padding:10px;color:gray;font:normal 11px tahoma,arial,helvetica,sans-serif;}
 141.425 +
 141.426 +.x-dd-drag-proxy{position:absolute;left:0;top:0;visibility:hidden;z-index:15000;}
 141.427 +.x-dd-drag-ghost{color:black;font:normal 11px arial,helvetica,sans-serif;-moz-opacity:0.85;opacity:.85;filter:alpha(opacity=85);border-top:1px solid #ddd;border-left:1px solid #ddd;border-right:1px solid #bbb;border-bottom:1px solid #bbb;padding:3px;padding-left:20px;background-color:white;white-space:nowrap;}
 141.428 +.x-dd-drag-repair .x-dd-drag-ghost{-moz-opacity:0.4;opacity:.4;filter:alpha(opacity=40);border:0 none;padding:0;background-color:transparent;}
 141.429 +.x-dd-drag-repair .x-dd-drop-icon{visibility:hidden;}
 141.430 +.x-dd-drop-icon{position:absolute;top:3px;left:3px;display:block;width:16px;height:16px;background-color:transparent;background-position:center;background-repeat:no-repeat;z-index:1;}
 141.431 +.x-dd-drop-nodrop .x-dd-drop-icon{background-image:url(../images/silverCherry/dd_drop-no.gif);}
 141.432 +.x-dd-drop-ok .x-dd-drop-icon{background-image:url(../images/silverCherry/dd_drop-yes.gif);}
 141.433 +.x-dd-drop-ok-add .x-dd-drop-icon{background-image:url(../images/silverCherry/dd_drop-add.gif);}
 141.434 +.x-view-selector{position:absolute;left:0;top:0;width:0;background:#fafafa;border:1px dotted #a00;opacity:.5;-moz-opacity:.5;filter:alpha(opacity=50);zoom:1;}
 141.435 +
 141.436 +.x-tree .x-panel-body{background-color:#fff;}
 141.437 +.ext-strict .ext-ie .x-tree .x-panel-bwrap{position:relative;overflow:hidden;}
 141.438 +.x-tree-icon,.x-tree-ec-icon,.x-tree-elbow-line,.x-tree-elbow,.x-tree-elbow-end,.x-tree-elbow-plus,.x-tree-elbow-minus,.x-tree-elbow-end-plus,.x-tree-elbow-end-minus{border:0 none;height:18px;margin:0;padding:0;vertical-align:top;width:16px;background-repeat:no-repeat;}
 141.439 +.x-tree-node-collapsed .x-tree-node-icon,.x-tree-node-expanded .x-tree-node-icon,.x-tree-node-leaf .x-tree-node-icon{border:0 none;height:18px;margin:0;padding:0;vertical-align:top;width:16px;background-position:center;background-repeat:no-repeat;}
 141.440 +.ext-ie .x-tree-node-indent img,.ext-ie .x-tree-node-icon,.ext-ie .x-tree-ec-icon{vertical-align:middle!important;}
 141.441 +.x-tree-node-collapsed .x-tree-node-icon{background-image:url(../images/silverCherry/tree_folder.gif);}
 141.442 +.x-tree-node-expanded .x-tree-node-icon{background-image:url(../images/silverCherry/tree_folder-open.gif);}
 141.443 +.x-tree-node-leaf .x-tree-node-icon{background-image:url(../images/silverCherry/tree_leaf.gif);}
 141.444 +.ext-ie input.x-tree-node-cb{width:15px;height:15px;}
 141.445 +input.x-tree-node-cb{margin-left:1px;}
 141.446 +.ext-ie input.x-tree-node-cb{margin-left:0;}
 141.447 +.x-tree-noicon .x-tree-node-icon{width:0;height:0;}
 141.448 +.x-tree-node-loading .x-tree-node-icon{background-image:url(../images/silverCherry/tree_loading.gif)!important;}
 141.449 +.x-tree-node-loading a span{font-style:italic;color:#444;}
 141.450 +.ext-ie .x-tree-node-el input{width:15px;height:15px;}
 141.451 +.x-tree-lines .x-tree-elbow{background-image:url(../images/silverCherry/tree_elbow.gif);}
 141.452 +.x-tree-lines .x-tree-elbow-plus{background-image:url(../images/silverCherry/tree_elbow-plus.gif);}
 141.453 +.x-tree-lines .x-tree-elbow-minus{background-image:url(../images/silverCherry/tree_elbow-minus.gif);}
 141.454 +.x-tree-lines .x-tree-elbow-end{background-image:url(../images/silverCherry/tree_elbow-end.gif);}
 141.455 +.x-tree-lines .x-tree-elbow-end-plus{background-image:url(../images/silverCherry/tree_elbow-end-plus.gif);}
 141.456 +.x-tree-lines .x-tree-elbow-end-minus{background-image:url(../images/silverCherry/tree_elbow-end-minus.gif);}
 141.457 +.x-tree-lines .x-tree-elbow-line{background-image:url(../images/silverCherry/tree_elbow-line.gif);}
 141.458 +.x-tree-no-lines .x-tree-elbow{background:transparent;}
 141.459 +.x-tree-no-lines .x-tree-elbow-plus{background-image:url(../images/silverCherry/tree_elbow-plus-nl.gif);}
 141.460 +.x-tree-no-lines .x-tree-elbow-minus{background-image:url(../images/silverCherry/tree_elbow-minus-nl.gif);}
 141.461 +.x-tree-no-lines .x-tree-elbow-end{background:transparent;}
 141.462 +.x-tree-no-lines .x-tree-elbow-end-plus{background-image:url(../images/silverCherry/tree_elbow-end-plus-nl.gif);}
 141.463 +.x-tree-no-lines .x-tree-elbow-end-minus{background-image:url(../images/silverCherry/tree_elbow-end-minus-nl.gif);}
 141.464 +.x-tree-no-lines .x-tree-elbow-line{background:transparent;}
 141.465 +.x-tree-elbow-plus,.x-tree-elbow-minus,.x-tree-elbow-end-plus,.x-tree-elbow-end-minus{cursor:pointer;}
 141.466 +.ext-ie ul.x-tree-node-ct{font-size:0;line-height:0;zoom:1;}
 141.467 +.x-tree-node{color:black;font:normal 11px arial,tahoma,helvetica,sans-serif;white-space:nowrap;}
 141.468 +.x-tree-node-el{line-height:18px;cursor:pointer;}
 141.469 +.x-tree-node a,.x-dd-drag-ghost a{text-decoration:none;color:black;-khtml-user-select:none;-moz-user-select:none;-kthml-user-focus:normal;-moz-user-focus:normal;-moz-outline:0 none;outline:0 none;}
 141.470 +.x-tree-node a span,.x-dd-drag-ghost a span{text-decoration:none;color:black;padding:1px 3px 1px 2px;}
 141.471 +.x-tree-node .x-tree-node-disabled a span{color:gray!important;}
 141.472 +.x-tree-node .x-tree-node-disabled .x-tree-node-icon{-moz-opacity:0.5;opacity:.5;filter:alpha(opacity=50);}
 141.473 +.x-tree-node .x-tree-node-inline-icon{background:transparent;}
 141.474 +.x-tree-node a:hover,.x-dd-drag-ghost a:hover{text-decoration:none;}
 141.475 +.x-tree-node div.x-tree-drag-insert-below{border-bottom:1px dotted #900;}
 141.476 +.x-tree-node div.x-tree-drag-insert-above{border-top:1px dotted #900;}
 141.477 +.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-below{border-bottom:0 none;}
 141.478 +.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-above{border-top:0 none;}
 141.479 +.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-below a{border-bottom:2px solid #900;}
 141.480 +.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-above a{border-top:2px solid #900;}
 141.481 +.x-tree-node .x-tree-drag-append a span{background:#ddd;border:1px dotted gray;}
 141.482 +.x-tree-node .x-tree-node-over{background-color:#eee;}
 141.483 +.x-tree-node .x-tree-selected{background-color:#fafafa;}
 141.484 +.x-dd-drag-ghost .x-tree-node-indent,.x-dd-drag-ghost .x-tree-ec-icon{display:none!important;}
 141.485 +.x-tree-drop-ok-append .x-dd-drop-icon{background-image:url(../images/silverCherry/tree_drop-add.gif);}
 141.486 +.x-tree-drop-ok-above .x-dd-drop-icon{background-image:url(../images/silverCherry/tree_drop-over.gif);}
 141.487 +.x-tree-drop-ok-below .x-dd-drop-icon{background-image:url(../images/silverCherry/tree_drop-under.gif);}
 141.488 +.x-tree-drop-ok-between .x-dd-drop-icon{background-image:url(../images/silverCherry/tree_drop-between.gif);}
 141.489 +
 141.490 +.x-date-picker{border:1px solid #6b6b6b;border-top:0 none;background:#fff;position:relative;}
 141.491 +.x-date-picker a{-moz-outline:0 none;outline:0 none;}
 141.492 +.x-date-inner,.x-date-inner td,.x-date-inner th{border-collapse:separate;}
 141.493 +.x-date-middle,.x-date-left,.x-date-right{background:url(../images/silverCherry/shared_hd-sprite.gif) repeat-x 0 -83px;color:#FFF;font:bold 11px "sans serif",tahoma,verdana,helvetica;overflow:hidden;}
 141.494 +.x-date-middle .x-btn-left,.x-date-middle .x-btn-center,.x-date-middle .x-btn-right{background:transparent!important;vertical-align:middle;}
 141.495 +.x-date-middle .x-btn .x-btn-text{color:#fff;}
 141.496 +.x-date-middle .x-btn-with-menu .x-btn-center em{background:transparent url(../images/silverCherry/toolbar_btn-arrow-light.gif) no-repeat right 0;}
 141.497 +.x-date-right,.x-date-left{width:18px;}
 141.498 +.x-date-right{text-align:right;}
 141.499 +.x-date-middle{padding-top:2px;padding-bottom:2px;}
 141.500 +.x-date-right a,.x-date-left a{display:block;width:16px;height:16px;background-position:center;background-repeat:no-repeat;cursor:pointer;-moz-opacity:0.6;opacity:.6;filter:alpha(opacity=60);}
 141.501 +.x-date-right a:hover,.x-date-left a:hover{-moz-opacity:1;opacity:1;filter:alpha(opacity=100);}
 141.502 +.x-date-right a{background-image:url(../images/silverCherry/shared_right-btn.gif);margin-right:2px;text-decoration:none!important;}
 141.503 +.x-date-left a{background-image:url(../images/silverCherry/shared_left-btn.gif);margin-left:2px;text-decoration:none!important;}
 141.504 +table.x-date-inner{width:100%;table-layout:fixed;}
 141.505 +.x-date-inner th{width:25px;}
 141.506 +.x-date-inner th{background:#fafafa url(../images/silverCherry/shared_glass-bg.gif) repeat-x left top;text-align:right!important;border-bottom:1px solid #d9d9d9;font:normal 10px arial,helvetica,tahoma,sans-serif;color:#6e6e6e;cursor:default;padding:0;border-collapse:separate;}
 141.507 +.x-date-inner th span{display:block;padding:2px;padding-right:7px;}
 141.508 +.x-date-inner td{border:1px solid #fff;text-align:right;padding:0;}
 141.509 +.x-date-inner a{padding:2px 5px;display:block;font:normal 11px arial,helvetica,tahoma,sans-serif;text-decoration:none;color:black;text-align:right;zoom:1;}
 141.510 +.x-date-inner .x-date-active{cursor:pointer;color:black;}
 141.511 +.x-date-inner .x-date-selected a{background:#fafafa url(../images/silverCherry/shared_glass-bg.gif) repeat-x left top;border:1px solid #e3e3e3;padding:1px 4px;}
 141.512 +.x-date-inner .x-date-today a{border:1px solid darkred;padding:1px 4px;}
 141.513 +.x-date-inner .x-date-selected span{font-weight:bold;}
 141.514 +.x-date-inner .x-date-prevday a,.x-date-inner .x-date-nextday a{color:#aaa;text-decoration:none!important;}
 141.515 +.x-date-bottom{padding:4px;border-top:1px solid #d9d9d9;background:#fafafa url(../images/silverCherry/shared_glass-bg.gif) repeat-x left top;}
 141.516 +.x-date-inner a:hover,.x-date-inner .x-date-disabled a:hover{text-decoration:none!important;color:black;background:#fcfcfc;}
 141.517 +.x-date-inner .x-date-disabled a{cursor:default;background:#eee;color:#bbb;}
 141.518 +.x-date-mmenu{background:#eee!important;}
 141.519 +.x-date-mmenu .x-menu-item{font-size:10px;padding:1px 24px 1px 4px;white-space:nowrap;color:#000;}
 141.520 +.x-date-mmenu .x-menu-item .x-menu-item-icon{width:10px;height:10px;margin-right:5px;background-position:center -4px!important;}
 141.521 +.x-date-mp{position:absolute;left:0;top:0;background:white;display:none;}
 141.522 +.x-date-mp td{padding:2px;font:normal 11px arial,helvetica,tahoma,sans-serif;}
 141.523 +td.x-date-mp-month,td.x-date-mp-year,td.x-date-mp-ybtn{border:0 none;text-align:center;vertical-align:middle;width:25%;}
 141.524 +.x-date-mp-ok{margin-right:3px;}
 141.525 +.x-date-mp-btns button{text-decoration:none;text-align:center;text-decoration:none!important;background:#737373;color:white;border:1px solid;border-color:#900 #005 #005 #900;padding:1px 3px 1px;font:normal 11px arial,helvetica,tahoma,sans-serif;cursor:pointer;}
 141.526 +.x-date-mp-btns{background:#fafafa url(../images/silverCherry/shared_glass-bg.gif) repeat-x left top;}
 141.527 +.x-date-mp-btns td{border-top:1px solid #dedede;text-align:center;}
 141.528 +td.x-date-mp-month a,td.x-date-mp-year a{display:block;padding:2px 4px;text-decoration:none;text-align:center;color:#8c8c8c;}
 141.529 +td.x-date-mp-month a:hover,td.x-date-mp-year a:hover{color:#8c8c8c;text-decoration:none;cursor:pointer;background:#fcfcfc;}
 141.530 +td.x-date-mp-sel a{padding:1px 3px;background:#fafafa url(../images/silverCherry/shared_glass-bg.gif) repeat-x left top;border:1px solid #e3e3e3;}
 141.531 +.x-date-mp-ybtn a{overflow:hidden;width:15px;height:15px;cursor:pointer;background:transparent url(../images/silverCherry/panel_tool-sprites.gif) no-repeat;display:block;margin:0 auto;}
 141.532 +.x-date-mp-ybtn a.x-date-mp-next{background-position:0 -120px;}
 141.533 +.x-date-mp-ybtn a.x-date-mp-next:hover{background-position:-15px -120px;}
 141.534 +.x-date-mp-ybtn a.x-date-mp-prev{background-position:0 -105px;}
 141.535 +.x-date-mp-ybtn a.x-date-mp-prev:hover{background-position:-15px -105px;}
 141.536 +.x-date-mp-ybtn{text-align:center;}
 141.537 +td.x-date-mp-sep{border-right:1px solid #dedede;}
 141.538 +
 141.539 +.x-tip{position:absolute;top:0;left:0;visibility:hidden;z-index:20000;border:0 none;}
 141.540 +.x-tip .x-tip-close{background-image:url(../images/silverCherry/qtip_close.gif);height:15px;float:right;width:15px;margin:0 0 2px 2px;cursor:pointer;display:none;}
 141.541 +.x-tip .x-tip-tc{background:transparent url(../images/silverCherry/qtip_tip-sprite.gif) no-repeat 0 -62px;padding-top:3px;overflow:hidden;zoom:1;}
 141.542 +.x-tip .x-tip-tl{background:transparent url(../images/silverCherry/qtip_tip-sprite.gif) no-repeat 0 0;padding-left:6px;overflow:hidden;zoom:1;}
 141.543 +.x-tip .x-tip-tr{background:transparent url(../images/silverCherry/qtip_tip-sprite.gif) no-repeat right 0;padding-right:6px;overflow:hidden;zoom:1;}
 141.544 +.x-tip .x-tip-bc{background:transparent url(../images/silverCherry/qtip_tip-sprite.gif) no-repeat 0 -121px;height:3px;overflow:hidden;}
 141.545 +.x-tip .x-tip-bl{background:transparent url(../images/silverCherry/qtip_tip-sprite.gif) no-repeat 0 -59px;padding-left:6px;zoom:1;}
 141.546 +.x-tip .x-tip-br{background:transparent url(../images/silverCherry/qtip_tip-sprite.gif) no-repeat right -59px;padding-right:6px;zoom:1;}
 141.547 +.x-tip .x-tip-mc{border:0 none;font:normal 11px tahoma,arial,helvetica,sans-serif;}
 141.548 +.x-tip .x-tip-ml{background:#fff url(../images/silverCherry/qtip_tip-sprite.gif) no-repeat 0 -124px;padding-left:6px;zoom:1;}
 141.549 +.x-tip .x-tip-mr{background:transparent url(../images/silverCherry/qtip_tip-sprite.gif) no-repeat right -124px;padding-right:6px;zoom:1;}
 141.550 +.ext-ie .x-tip .x-tip-header,.ext-ie .x-tip .x-tip-tc{font-size:0;line-height:0;}
 141.551 +.x-tip .x-tip-header-text{font:bold 11px tahoma,arial,helvetica,sans-serif;padding:0;margin:0 0 2px 0;color:#444;}
 141.552 +.x-tip .x-tip-body{font:normal 11px tahoma,arial,helvetica,sans-serif;margin:0!important;line-height:14px;color:#444;padding:0;}
 141.553 +.x-tip .x-tip-body .loading-indicator{margin:0;}
 141.554 +.x-tip-draggable .x-tip-header,.x-tip-draggable .x-tip-header-text{cursor:move;}
 141.555 +.x-form-invalid-tip .x-tip-tc{background:url(../images/silverCherry/form_error-tip-corners.gif) repeat-x 0 -12px;padding-top:6px;}
 141.556 +.x-form-invalid-tip .x-tip-tl{background-image:url(../images/silverCherry/form_error-tip-corners.gif);}
 141.557 +.x-form-invalid-tip .x-tip-tr{background-image:url(../images/silverCherry/form_error-tip-corners.gif);}
 141.558 +.x-form-invalid-tip .x-tip-bc{background:url(../images/silverCherry/form_error-tip-corners.gif) repeat-x 0 -18px;height:6px;}
 141.559 +.x-form-invalid-tip .x-tip-bl{background:url(../images/silverCherry/form_error-tip-corners.gif) no-repeat 0 -6px;}
 141.560 +.x-form-invalid-tip .x-tip-br{background:url(../images/silverCherry/form_error-tip-corners.gif) no-repeat right -6px;}
 141.561 +.x-form-invalid-tip .x-tip-ml{background-image:url(../images/silverCherry/form_error-tip-corners.gif);}
 141.562 +.x-form-invalid-tip .x-tip-mr{background-image:url(../images/silverCherry/form_error-tip-corners.gif);}
 141.563 +.x-form-invalid-tip .x-tip-body{padding:2px;}
 141.564 +.x-form-invalid-tip .x-tip-body{padding-left:24px;background:transparent url(../images/silverCherry/form_exclamation.gif) no-repeat 2px 2px;}
 141.565 +
 141.566 +.x-menu{border:1px solid #b8b8b8;z-index:15000;zoom:1;background:#f0f0f0 url(../images/silverCherry/menu_menu.gif) repeat-y;padding:2px;}
 141.567 +.x-menu a{text-decoration:none!important;}
 141.568 +.ext-ie .x-menu{zoom:1;overflow:hidden;}
 141.569 +.x-menu-list{background:transparent;border:0 none;}
 141.570 +.x-menu li{line-height:100%;}
 141.571 +.x-menu li.x-menu-sep-li{font-size:1px;line-height:1px;}
 141.572 +.x-menu-list-item{font:normal 11px tahoma,arial,sans-serif;white-space:nowrap;-moz-user-select:none;-khtml-user-select:none;display:block;padding:1px;}
 141.573 +.x-menu-item-arrow{background:transparent url(../images/silverCherry/menu_menu-parent.gif) no-repeat right;}
 141.574 +.x-menu-sep{display:block;font-size:1px;line-height:1px;margin:2px 3px;background-color:#e0e0e0;border-bottom:1px solid #fff;}
 141.575 +.x-menu-focus{position:absolute;left:0;top:-5px;width:0;height:0;line-height:1px;}
 141.576 +.x-menu a.x-menu-item{display:block;line-height:16px;padding:3px 21px 3px 3px;white-space:nowrap;text-decoration:none;color:#222;-moz-outline:0 none;outline:0 none;cursor:pointer;}
 141.577 +.x-menu-item-active{background:#fcfcfc url(../images/silverCherry/menu_item-over.gif) repeat-x left bottom;border:1px solid #f5f5f5;padding:0;}
 141.578 +.x-menu-item-active a.x-menu-item{color:#6e6e6e;}
 141.579 +.x-menu-item-icon{border:0 none;height:16px;padding:0;vertical-align:top;width:16px;margin:0 8px 0 0;background-position:center;}
 141.580 +.x-menu-check-item .x-menu-item-icon{background:transparent url(../images/silverCherry/menu_unchecked.gif) no-repeat center;}
 141.581 +.x-menu-item-checked .x-menu-item-icon{background-image:url(../images/silverCherry/menu_checked.gif);}
 141.582 +.x-menu-group-item .x-menu-item-icon{background:transparent;}
 141.583 +.x-menu-item-checked .x-menu-group-item .x-menu-item-icon{background:transparent url(../images/silverCherry/menu_group-checked.gif) no-repeat center;}
 141.584 +.x-menu-plain{background:#fff!important;}
 141.585 +.x-menu-date-item{padding:0;}
 141.586 +.x-menu .x-color-palette,.x-menu .x-date-picker{margin-left:26px;margin-right:4px;}
 141.587 +.x-menu .x-date-picker{border:1px solid #d9d9d9;margin-top:2px;margin-bottom:2px;}
 141.588 +.x-menu-plain .x-color-palette,.x-menu-plain .x-date-picker{margin:0;border:0 none;}
 141.589 +.x-date-menu{padding:0!important;}
 141.590 +.x-cycle-menu .x-menu-item-checked{border:1px dotted #e8e8e8!important;background:#f5f5f5;padding:0;}
 141.591 +
 141.592 + .x-box-tl{background:transparent url(../images/silverCherry/box_corners.gif) no-repeat 0 0;zoom:1;}
 141.593 +.x-box-tc{height:8px;background:transparent url(../images/silverCherry/box_tb.gif) repeat-x 0 0;overflow:hidden;}
 141.594 +.x-box-tr{background:transparent url(../images/silverCherry/box_corners.gif) no-repeat right -8px;}
 141.595 +.x-box-ml{background:transparent url(../images/silverCherry/box_l.gif) repeat-y 0;padding-left:4px;overflow:hidden;zoom:1;}
 141.596 +.x-box-mc{background:#eee url(../images/silverCherry/box_tb.gif) repeat-x 0 -16px;padding:4px 10px;font-family:"Myriad Pro","Myriad Web","Tahoma","Helvetica","Arial",sans-serif;color:#393939;font-size:12px;}
 141.597 +.x-box-mc h3{font-size:14px;font-weight:bold;margin:0 0 4px 0;zoom:1;}
 141.598 +.x-box-mr{background:transparent url(../images/silverCherry/box_r.gif) repeat-y right;padding-right:4px;overflow:hidden;}
 141.599 +.x-box-bl{background:transparent url(../images/silverCherry/box_corners.gif) no-repeat 0 -16px;zoom:1;}
 141.600 +.x-box-bc{background:transparent url(../images/silverCherry/box_tb.gif) repeat-x 0 -8px;height:8px;overflow:hidden;}
 141.601 +.x-box-br{background:transparent url(../images/silverCherry/box_corners.gif) no-repeat right -24px;}
 141.602 +.x-box-tl,.x-box-bl{padding-left:8px;overflow:hidden;}
 141.603 +.x-box-tr,.x-box-br{padding-right:8px;overflow:hidden;}
 141.604 +.x-box-blue .x-box-bl,.x-box-blue .x-box-br,.x-box-blue .x-box-tl,.x-box-blue .x-box-tr{background-image:url(../images/silverCherry/box_corners-blue.gif);}
 141.605 +.x-box-blue .x-box-bc,.x-box-blue .x-box-mc,.x-box-blue .x-box-tc{background-image:url(../images/silverCherry/box_tb-blue.gif);}
 141.606 +.x-box-blue .x-box-mc{background-color:#fafafa;}
 141.607 +.x-box-blue .x-box-mc h3{color:#aa0000;}
 141.608 +.x-box-blue .x-box-ml{background-image:url(../images/silverCherry/box_l-blue.gif);}
 141.609 +.x-box-blue .x-box-mr{background-image:url(../images/silverCherry/box_r-blue.gif);}
 141.610 +
 141.611 +#x-debug-browser .x-tree .x-tree-node a span{color:#990000;font-size:11px;padding-top:2px;font-family:"monotype","courier new",sans-serif;line-height:18px;}
 141.612 +#x-debug-browser .x-tree a i{color:#FF4545;font-style:normal;}
 141.613 +#x-debug-browser .x-tree a em{color:#999;}
 141.614 +#x-debug-browser .x-tree .x-tree-node .x-tree-selected a span{background:#fafafa;}
 141.615 +#x-debug-browser .x-tool-toggle{background-position:0 -75px;}
 141.616 +#x-debug-browser .x-tool-toggle-over{background-position:-15px -75px;}
 141.617 +#x-debug-browser.x-panel-collapsed .x-tool-toggle{background-position:0 -60px;}
 141.618 +#x-debug-browser.x-panel-collapsed .x-tool-toggle-over{background-position:-15px -60px;}
 141.619 +
 141.620 +.x-combo-list{border:1px solid #f5f5f5;background:#fcfcfc;zoom:1;overflow:hidden;}
 141.621 +.x-combo-list-inner{overflow:auto;background:white;position:relative;zoom:1;overflow-x:hidden;}
 141.622 +.x-combo-list-hd{font:bold 11px tahoma,arial,helvetica,sans-serif;color:#8c8c8c;background-image:url(../images/silverCherry/layout_panel-title-light-bg.gif);border-bottom:1px solid #f5f5f5;padding:3px;}
 141.623 +.x-resizable-pinned .x-combo-list-inner{border-bottom:1px solid #f5f5f5;}
 141.624 +.x-combo-list-item{font:normal 12px tahoma,arial,helvetica,sans-serif;padding:2px;border:1px solid #fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
 141.625 +.x-combo-list .x-combo-selected{border:1px dotted #e8e8e8!important;background:#f5f5f5;cursor:pointer;}
 141.626 +.x-combo-noedit{cursor:pointer;}
 141.627 +.x-combo-list .x-toolbar{border-top:1px solid #f5f5f5;border-bottom:0 none;}
 141.628 +.x-combo-list-small .x-combo-list-item{font:normal 11px tahoma,arial,helvetica,sans-serif;}
 141.629 +
 141.630 +.x-panel{border-style:solid;border-color:#e8e8e8;border-width:0;}
 141.631 +.x-panel-header{overflow:hidden;zoom:1;color:#8c8c8c;font:bold 11px tahoma,arial,verdana,sans-serif;padding:5px 3px 4px 5px;border:1px solid #e8e8e8;line-height:15px;background:transparent url(../images/silverCherry/panel_white-top-bottom.gif) repeat-x 0 -1px;}
 141.632 +.x-panel-body{border:1px solid #e8e8e8;border-top:0 none;overflow:hidden;background:white;position:relative;}
 141.633 +.x-panel-bbar .x-toolbar{border:1px solid #e8e8e8;border-top:0 none;overflow:hidden;padding:2px;}
 141.634 +.x-panel-tbar .x-toolbar{border:1px solid #e8e8e8;border-top:0 none;overflow:hidden;padding:2px;}
 141.635 +.x-panel-tbar-noheader .x-toolbar,.x-panel-mc .x-panel-tbar .x-toolbar{border-top:1px solid #e8e8e8;border-bottom:0 none;}
 141.636 +.x-panel-body-noheader,.x-panel-mc .x-panel-body{border-top:1px solid #e8e8e8;}
 141.637 +.x-panel-header{overflow:hidden;zoom:1;}
 141.638 +.x-panel-tl .x-panel-header{color:#8c8c8c;font:bold 11px tahoma,arial,verdana,sans-serif;padding:5px 0 4px 0;border:0 none;background:transparent;}
 141.639 +.x-panel-tl .x-panel-icon,.x-window-tl .x-panel-icon{padding-left:20px!important;background-repeat:no-repeat;background-position:0 4px;zoom:1;}
 141.640 +.x-panel-inline-icon{width:16px;height:16px;background-repeat:no-repeat;background-position:0 0;vertical-align:middle;margin-right:4px;margin-top:-1px;margin-bottom:-1px;}
 141.641 +.x-panel-tc{background:transparent url(../images/silverCherry/panel_top-bottom.gif) repeat-x 0 0;overflow:hidden;}
 141.642 +.ext-ie7 .x-panel-tc{overflow:visible;}
 141.643 +.x-panel-tl{background:transparent url(../images/silverCherry/panel_corners-sprite.gif) no-repeat 0 0;padding-left:6px;zoom:1;border-bottom:1px solid #e8e8e8;}
 141.644 +.x-panel-tr{background:transparent url(../images/silverCherry/panel_corners-sprite.gif) no-repeat right 0;zoom:1;padding-right:6px;}
 141.645 +.x-panel-bc{background:transparent url(../images/silverCherry/panel_top-bottom.gif) repeat-x 0 bottom;zoom:1;}
 141.646 +.x-panel-bc .x-panel-footer{zoom:1;}
 141.647 +.x-panel-bl{background:transparent url(../images/silverCherry/panel_corners-sprite.gif) no-repeat 0 bottom;padding-left:6px;zoom:1;}
 141.648 +.x-panel-br{background:transparent url(../images/silverCherry/panel_corners-sprite.gif) no-repeat right bottom;padding-right:6px;zoom:1;}
 141.649 +.x-panel-mc{border:0 none;padding:0;margin:0;font:normal 11px tahoma,arial,helvetica,sans-serif;padding-top:6px;background:#f5f5f5;}
 141.650 +.x-panel-mc .x-panel-body{background:transparent;border:0 none;}
 141.651 +.x-panel-ml{background:#fff url(../images/silverCherry/panel_left-right.gif) repeat-y 0 0;padding-left:6px;zoom:1;}
 141.652 +.x-panel-mr{background:transparent url(../images/silverCherry/panel_left-right.gif) repeat-y right 0;padding-right:6px;zoom:1;}
 141.653 +.x-panel-bc .x-panel-footer{padding-bottom:6px;}
 141.654 +.x-panel-nofooter .x-panel-bc{height:6px;font-size:0;line-height:0;}
 141.655 +.x-panel-bwrap{overflow:hidden;zoom:1;}
 141.656 +.x-panel-body{overflow:hidden;zoom:1;}
 141.657 +.x-panel-collapsed .x-resizable-handle{display:none;}
 141.658 +.ext-gecko .x-panel-animated div{overflow:hidden!important;}
 141.659 +.x-plain-body{overflow:hidden;}
 141.660 +.x-plain-bbar .x-toolbar{overflow:hidden;padding:2px;}
 141.661 +.x-plain-tbar .x-toolbar{overflow:hidden;padding:2px;}
 141.662 +.x-plain-bwrap{overflow:hidden;zoom:1;}
 141.663 +.x-plain{overflow:hidden;}
 141.664 +.x-tool{overflow:hidden;width:15px;height:15px;float:right;cursor:pointer;background:transparent url(../images/silverCherry/panel_tool-sprites.gif) no-repeat;margin-left:2px;}
 141.665 +.x-tool-toggle{background-position:0 -60px;}
 141.666 +.x-tool-toggle-over{background-position:-15px -60px;}
 141.667 +.x-panel-collapsed .x-tool-toggle{background-position:0 -75px;}
 141.668 +.x-panel-collapsed .x-tool-toggle-over{background-position:-15px -75px;}
 141.669 +.x-tool-close{background-position:0 -0;}
 141.670 +.x-tool-close-over{background-position:-15px 0;}
 141.671 +.x-tool-minimize{background-position:0 -15px;}
 141.672 +.x-tool-minimize-over{background-position:-15px -15px;}
 141.673 +.x-tool-maximize{background-position:0 -30px;}
 141.674 +.x-tool-maximize-over{background-position:-15px -30px;}
 141.675 +.x-tool-restore{background-position:0 -45px;}
 141.676 +.x-tool-restore-over{background-position:-15px -45px;}
 141.677 +.x-tool-gear{background-position:0 -90px;}
 141.678 +.x-tool-gear-over{background-position:-15px -90px;}
 141.679 +.x-tool-pin{background-position:0 -135px;}
 141.680 +.x-tool-pin-over{background-position:-15px -135px;}
 141.681 +.x-tool-unpin{background-position:0 -150px;}
 141.682 +.x-tool-unpin-over{background-position:-15px -150px;}
 141.683 +.x-tool-right{background-position:0 -165px;}
 141.684 +.x-tool-right-over{background-position:-15px -165px;}
 141.685 +.x-tool-left{background-position:0 -180px;}
 141.686 +.x-tool-left-over{background-position:-15px -180px;}
 141.687 +.x-tool-up{background-position:0 -210px;}
 141.688 +.x-tool-up-over{background-position:-15px -210px;}
 141.689 +.x-tool-down{background-position:0 -195px;}
 141.690 +.x-tool-down-over{background-position:-15px -195px;}
 141.691 +.x-tool-refresh{background-position:0 -225px;}
 141.692 +.x-tool-refresh-over{background-position:-15px -225px;}
 141.693 +.x-tool-minus{background-position:0 -255px;}
 141.694 +.x-tool-minus-over{background-position:-15px -255px;}
 141.695 +.x-tool-plus{background-position:0 -240px;}
 141.696 +.x-tool-plus-over{background-position:-15px -240px;}
 141.697 +.x-tool-search{background-position:0 -270px;}
 141.698 +.x-tool-search-over{background-position:-15px -270px;}
 141.699 +.x-tool-save{background-position:0 -285px;}
 141.700 +.x-tool-save-over{background-position:-15px -285px;}
 141.701 +.x-tool-help{background-position:0 -300px;}
 141.702 +.x-tool-help-over{background-position:-15px -300px;}
 141.703 +.x-panel-ghost{background:#f2f2f2;z-index:12000;overflow:hidden;position:absolute;left:0;top:0;opacity:.65;-moz-opacity:.65;filter:alpha(opacity=65);}
 141.704 +.x-panel-ghost ul{margin:0;padding:0;overflow:hidden;font-size:0;line-height:0;border:1px solid #e8e8e8;border-top:0 none;display:block;}
 141.705 +.x-panel-ghost *{cursor:move!important;}
 141.706 +.x-panel-dd-spacer{border:2px dashed #e8e8e8;}
 141.707 +.x-panel-btns-ct{padding:5px;}
 141.708 +.x-panel-btns-ct .x-btn{float:right;clear:none;}
 141.709 +.x-panel-btns-ct .x-panel-btns td{border:0;padding:0;}
 141.710 +.x-panel-btns-ct .x-panel-btns-right table{float:right;clear:none;}
 141.711 +.x-panel-btns-ct .x-panel-btns-left table{float:left;clear:none;}
 141.712 +.x-panel-btns-ct .x-panel-btns-center{text-align:center;}
 141.713 +.x-panel-btns-ct .x-panel-btns-center table{margin:0 auto;}
 141.714 +.x-panel-btns-ct table td.x-panel-btn-td{padding:3px;}
 141.715 +.x-panel-btns-ct .x-btn-focus .x-btn-left{background-position:0 -147px;}
 141.716 +.x-panel-btns-ct .x-btn-focus .x-btn-right{background-position:0 -168px;}
 141.717 +.x-panel-btns-ct .x-btn-focus .x-btn-center{background-position:0 -189px;}
 141.718 +.x-panel-btns-ct .x-btn-over .x-btn-left{background-position:0 -63px;}
 141.719 +.x-panel-btns-ct .x-btn-over .x-btn-right{background-position:0 -84px;}
 141.720 +.x-panel-btns-ct .x-btn-over .x-btn-center{background-position:0 -105px;}
 141.721 +.x-panel-btns-ct .x-btn-click .x-btn-center{background-position:0 -126px;}
 141.722 +.x-panel-btns-ct .x-btn-click .x-btn-right{background-position:0 -84px;}
 141.723 +.x-panel-btns-ct .x-btn-click .x-btn-left{background-position:0 -63px;}
 141.724 +
 141.725 +.x-window{zoom:1;}
 141.726 +.x-window .x-resizable-handle{opacity:0;-moz-opacity:0;filter:alpha(opacity=0);}
 141.727 +.x-window-proxy{background:#fcfcfc;border:1px solid #e8e8e8;z-index:12000;overflow:hidden;position:absolute;left:0;top:0;display:none;opacity:.5;-moz-opacity:.5;filter:alpha(opacity=50);}
 141.728 +.x-window-header{overflow:hidden;zoom:1;}
 141.729 +.x-window-bwrap{z-index:1;position:relative;zoom:1;}
 141.730 +.x-window-tl .x-window-header{color:#8c8c8c;font:bold 11px tahoma,arial,verdana,sans-serif;padding:5px 0 4px 0;}
 141.731 +.x-window-header-text{cursor:pointer;}
 141.732 +.x-window-tc{background:transparent url(../images/silverCherry/window/top-bottom.png) repeat-x 0 0;overflow:hidden;zoom:1;}
 141.733 +.x-window-tl{background:transparent url(../images/silverCherry/window/left-corners.png) no-repeat 0 0;padding-left:6px;zoom:1;z-index:1;position:relative;}
 141.734 +.x-window-tr{background:transparent url(../images/silverCherry/window/right-corners.png) no-repeat right 0;padding-right:6px;}
 141.735 +.x-window-bc{background:transparent url(../images/silverCherry/window/top-bottom.png) repeat-x 0 bottom;zoom:1;}
 141.736 +.x-window-bc .x-window-footer{padding-bottom:6px;zoom:1;font-size:0;line-height:0;}
 141.737 +.x-window-bl{background:transparent url(../images/silverCherry/window/left-corners.png) no-repeat 0 bottom;padding-left:6px;zoom:1;}
 141.738 +.x-window-br{background:transparent url(../images/silverCherry/window/right-corners.png) no-repeat right bottom;padding-right:6px;zoom:1;}
 141.739 +.x-window-mc{border:1px solid #e8e8e8;padding:0;margin:0;font:normal 11px tahoma,arial,helvetica,sans-serif;background:#f5f5f5;}
 141.740 +.x-window-ml{background:transparent url(../images/silverCherry/window/left-right.png) repeat-y 0 0;padding-left:6px;zoom:1;}
 141.741 +.x-window-mr{background:transparent url(../images/silverCherry/window/left-right.png) repeat-y right 0;padding-right:6px;zoom:1;}
 141.742 +.x-panel-nofooter .x-window-bc{height:6px;}
 141.743 +.x-window-body{overflow:hidden;}
 141.744 +.x-window-bwrap{overflow:hidden;}
 141.745 +.x-window-maximized .x-window-bl,.x-window-maximized .x-window-br,.x-window-maximized .x-window-ml,.x-window-maximized .x-window-mr,.x-window-maximized .x-window-tl,.x-window-maximized .x-window-tr{padding:0;}
 141.746 +.x-window-maximized .x-window-footer{padding-bottom:0;}
 141.747 +.x-window-maximized .x-window-tc{padding-left:3px;padding-right:3px;background-color:white;}
 141.748 +.x-window-maximized .x-window-mc{border-left:0 none;border-right:0 none;}
 141.749 +.x-window-tbar .x-toolbar,.x-window-bbar .x-toolbar{border-left:0 none;border-right:0 none;}
 141.750 +.x-window-bbar .x-toolbar{border-top:1px solid #e8e8e8;border-bottom:0 none;}
 141.751 +.x-window-draggable,.x-window-draggable .x-window-header-text{cursor:move;}
 141.752 +.x-window-maximized .x-window-draggable,.x-window-maximized .x-window-draggable .x-window-header-text{cursor:default;}
 141.753 +.x-window-body{background:transparent;}
 141.754 +.x-panel-ghost .x-window-tl{border-bottom:1px solid #e8e8e8;}
 141.755 +.x-panel-collapsed .x-window-tl{border-bottom:1px solid #c4c4c4;}
 141.756 +.x-window-maximized-ct{overflow:hidden;}
 141.757 +.x-window-maximized .x-resizable-handle{display:none;}
 141.758 +.x-window-sizing-ghost ul{border:0 none!important;}
 141.759 +.x-dlg-focus{-moz-outline:0 none;outline:0 none;width:0;height:0;overflow:hidden;position:absolute;top:0;left:0;}
 141.760 +.x-dlg-mask{z-index:10000;display:none;position:absolute;top:0;left:0;-moz-opacity:0.5;opacity:.50;filter:alpha(opacity=50);background-color:#CCC;}
 141.761 +body.ext-ie6.x-body-masked select{visibility:hidden;}
 141.762 +body.ext-ie6.x-body-masked .x-window select{visibility:visible;}
 141.763 +.x-window-plain .x-window-mc{background:#ededed;border-right:1px solid #f5f5f5;border-bottom:1px solid #f5f5f5;border-top:1px solid #e8e8e8;border-left:1px solid #e8e8e8;}
 141.764 +.x-window-plain .x-window-body{border-left:1px solid #f5f5f5;border-top:1px solid #f5f5f5;border-bottom:1px solid #e8e8e8;border-right:1px solid #e8e8e8;background:transparent!important;}
 141.765 +body.x-body-masked .x-window-plain .x-window-mc{background:#e8e8e8;}
 141.766 +
 141.767 +.x-html-editor-wrap{border:1px solid #d4d4d4;background:white;}
 141.768 +.x-html-editor-tb .x-btn-text{background:transparent url(../images/silverCherry/editor_tb-sprite.gif) no-repeat;}
 141.769 +.x-html-editor-tb .x-edit-bold .x-btn-text{background-position:0 0;}
 141.770 +.x-html-editor-tb .x-edit-italic .x-btn-text{background-position:-16px 0;}
 141.771 +.x-html-editor-tb .x-edit-underline .x-btn-text{background-position:-32px 0;}
 141.772 +.x-html-editor-tb .x-edit-forecolor .x-btn-text{background-position:-160px 0;}
 141.773 +.x-html-editor-tb .x-edit-backcolor .x-btn-text{background-position:-176px 0;}
 141.774 +.x-html-editor-tb .x-edit-justifyleft .x-btn-text{background-position:-112px 0;}
 141.775 +.x-html-editor-tb .x-edit-justifycenter .x-btn-text{background-position:-128px 0;}
 141.776 +.x-html-editor-tb .x-edit-justifyright .x-btn-text{background-position:-144px 0;}
 141.777 +.x-html-editor-tb .x-edit-insertorderedlist .x-btn-text{background-position:-80px 0;}
 141.778 +.x-html-editor-tb .x-edit-insertunorderedlist .x-btn-text{background-position:-96px 0;}
 141.779 +.x-html-editor-tb .x-edit-increasefontsize .x-btn-text{background-position:-48px 0;}
 141.780 +.x-html-editor-tb .x-edit-decreasefontsize .x-btn-text{background-position:-64px 0;}
 141.781 +.x-html-editor-tb .x-edit-sourceedit .x-btn-text{background-position:-192px 0;}
 141.782 +.x-html-editor-tb .x-edit-createlink .x-btn-text{background-position:-208px 0;}
 141.783 +.x-html-editor-tip .x-tip-bd .x-tip-bd-inner{padding:5px;padding-bottom:1px;}
 141.784 +.x-html-editor-tb .x-toolbar{position:static!important;}
 141.785 +
 141.786 +.x-panel-noborder .x-panel-body-noborder{border-width:0;}
 141.787 +.x-panel-noborder .x-panel-header-noborder{border-width:0;border-bottom:1px solid #e8e8e8;}
 141.788 +.x-panel-noborder .x-panel-tbar-noborder .x-toolbar{border-width:0;border-bottom:1px solid #e8e8e8;}
 141.789 +.x-panel-noborder .x-panel-bbar-noborder .x-toolbar{border-width:0;border-top:1px solid #e8e8e8;}
 141.790 +.x-window-noborder .x-window-mc{border-width:0;}
 141.791 +.x-window-plain .x-window-body-noborder{border-width:0;}
 141.792 +.x-tab-panel-noborder .x-tab-panel-body-noborder{border-width:0;}
 141.793 +.x-tab-panel-noborder .x-tab-panel-header-noborder{border-top-width:0;border-left-width:0;border-right-width:0;}
 141.794 +.x-tab-panel-noborder .x-tab-panel-footer-noborder{border-bottom-width:0;border-left-width:0;border-right-width:0;}
 141.795 +.x-tab-panel-bbar-noborder .x-toolbar{border-width:0;border-top:1px solid #e8e8e8;}
 141.796 +.x-tab-panel-tbar-noborder .x-toolbar{border-width:0;border-bottom:1px solid #e8e8e8;}
 141.797 +
 141.798 +.x-border-layout-ct{background:#f5f5f5;}
 141.799 +.x-border-panel{position:absolute;left:0;top:0;}
 141.800 +.x-tool-collapse-south{background-position:0 -195px;}
 141.801 +.x-tool-collapse-south-over{background-position:-15px -195px;}
 141.802 +.x-tool-collapse-north{background-position:0 -210px;}
 141.803 +.x-tool-collapse-north-over{background-position:-15px -210px;}
 141.804 +.x-tool-collapse-west{background-position:0 -180px;}
 141.805 +.x-tool-collapse-west-over{background-position:-15px -180px;}
 141.806 +.x-tool-collapse-east{background-position:0 -165px;}
 141.807 +.x-tool-collapse-east-over{background-position:-15px -165px;}
 141.808 +.x-tool-expand-south{background-position:0 -210px;}
 141.809 +.x-tool-expand-south-over{background-position:-15px -210px;}
 141.810 +.x-tool-expand-north{background-position:0 -195px;}
 141.811 +.x-tool-expand-north-over{background-position:-15px -195px;}
 141.812 +.x-tool-expand-west{background-position:0 -165px;}
 141.813 +.x-tool-expand-west-over{background-position:-15px -165px;}
 141.814 +.x-tool-expand-east{background-position:0 -180px;}
 141.815 +.x-tool-expand-east-over{background-position:-15px -180px;}
 141.816 +.x-tool-expand-north,.x-tool-expand-south{float:right;margin:3px;}
 141.817 +.x-tool-expand-east,.x-tool-expand-west{float:none;margin:3px auto;}
 141.818 +.x-accordion-hd .x-tool-toggle{background-position:0 -255px;}
 141.819 +.x-accordion-hd .x-tool-toggle-over{background-position:-15px -255px;}
 141.820 +.x-panel-collapsed .x-accordion-hd .x-tool-toggle{background-position:0 -240px;}
 141.821 +.x-panel-collapsed .x-accordion-hd .x-tool-toggle-over{background-position:-15px -240px;}
 141.822 +.x-accordion-hd{color:#222;padding-top:4px;padding-bottom:3px;border-top:0 none;font-weight:normal;background:transparent url(../images/silverCherry/panel_light-hd.gif) repeat-x 0 -9px;}
 141.823 +.x-layout-collapsed{position:absolute;left:-10000px;top:-10000px;visibility:hidden;background-color:#f2f2f2;width:20px;height:20px;overflow:hidden;border:1px solid #f5f5f5;z-index:20;}
 141.824 +.ext-border-box .x-layout-collapsed{width:22px;height:22px;}
 141.825 +.x-layout-collapsed-over{cursor:pointer;background-color:#fafafa;}
 141.826 +.x-layout-collapsed-west .x-layout-collapsed-tools,.x-layout-collapsed-east .x-layout-collapsed-tools{position:absolute;top:0;left:0;width:20px;height:20px;}
 141.827 +.x-layout-split{position:absolute;height:5px;width:5px;line-height:1px;font-size:1px;z-index:3;background-color:transparent;}
 141.828 +.x-layout-split-h{background-image:url(../images/silverCherry/s.gif);background-position:left;}
 141.829 +.x-layout-split-v{background-image:url(../images/silverCherry/s.gif);background-position:top;}
 141.830 +.x-column-layout-ct{overflow:hidden;zoom:1;}
 141.831 +.x-column{float:left;padding:0;margin:0;overflow:hidden;zoom:1;}
 141.832 +.x-layout-mini{position:absolute;top:0;left:0;display:block;width:5px;height:35px;cursor:pointer;opacity:.5;-moz-opacity:.5;filter:alpha(opacity=50);}
 141.833 +.x-layout-mini-over,.x-layout-collapsed-over .x-layout-mini{opacity:1;-moz-opacity:1;filter:none;}
 141.834 +.x-layout-split-west .x-layout-mini{top:48%;background-image:url(../images/silverCherry/layout_mini-left.gif);}
 141.835 +.x-layout-split-east .x-layout-mini{top:48%;background-image:url(../images/silverCherry/layout_mini-right.gif);}
 141.836 +.x-layout-split-north .x-layout-mini{left:48%;height:5px;width:35px;background-image:url(../images/silverCherry/layout_mini-top.gif);}
 141.837 +.x-layout-split-south .x-layout-mini{left:48%;height:5px;width:35px;background-image:url(../images/silverCherry/layout_mini-bottom.gif);}
 141.838 +.x-layout-cmini-west .x-layout-mini{top:48%;background-image:url(../images/silverCherry/layout_mini-right.gif);}
 141.839 +.x-layout-cmini-east .x-layout-mini{top:48%;background-image:url(../images/silverCherry/layout_mini-left.gif);}
 141.840 +.x-layout-cmini-north .x-layout-mini{left:48%;height:5px;width:35px;background-image:url(../images/silverCherry/layout_mini-bottom.gif);}
 141.841 +.x-layout-cmini-south .x-layout-mini{left:48%;height:5px;width:35px;background-image:url(../images/silverCherry/layout_mini-top.gif);}
 141.842 +.x-layout-cmini-west,.x-layout-cmini-east{border:0 none;width:5px!important;padding:0;background:transparent;}
 141.843 +.x-layout-cmini-north,.x-layout-cmini-south{border:0 none;height:5px!important;padding:0;background:transparent;}
 141.844 +.x-viewport,.x-viewport body{margin:0;padding:0;border:0 none;overflow:hidden;height:100%;}
 141.845 +.x-abs-layout-item{position:absolute;left:0;top:0;}
 141.846 +
 141.847 +.x-progress-wrap{border:1px solid #cfcfcf;overflow:hidden;}
 141.848 +.x-progress-inner{height:18px;background:#f2f2f2 url(../images/silverCherry/qtip_bg.gif) repeat-x;position:relative;}
 141.849 +.x-progress-bar{height:18px;float:left;width:0;background:#ededed url( ../images/silverCherry/progress_progress-bg.gif ) repeat-x left center;border-top:1px solid #fcfcfc;border-bottom:1px solid #e3e3e3;border-right:1px solid #e3e3e3;}
 141.850 +.x-progress-text{font-size:11px;font-weight:bold;color:#fff;padding:1px 5px;overflow:hidden;position:absolute;left:0;text-align:center;}
 141.851 +.x-progress-text-back{color:#949494;line-height:16px;}
 141.852 +.ext-ie .x-progress-text-back{line-height:15px;}
 141.853 +
 141.854 +.x-window-dlg .x-window-body{border:0 none!important;padding:5px 10px;overflow:hidden!important;}
 141.855 +.x-window-dlg .x-window-mc{border:0 none!important;}
 141.856 +.x-window-dlg .ext-mb-text,.x-window-dlg .x-window-header-text{font-size:12px;}
 141.857 +.x-window-dlg .ext-mb-input{margin-top:4px;width:95%;}
 141.858 +.x-window-dlg .ext-mb-textarea{margin-top:4px;font:normal 12px tahoma,arial,helvetica,sans-serif;}
 141.859 +.x-window-dlg .x-progress-wrap{margin-top:4px;}
 141.860 +.ext-ie .x-window-dlg .x-progress-wrap{margin-top:6px;}
 141.861 +.x-window-dlg .x-msg-box-wait{background:transparent url(../images/silverCherry/grid_loading.gif) no-repeat left;display:block;width:300px;padding-left:18px;line-height:18px;}
 141.862 +.x-window-dlg .ext-mb-icon{float:left;width:47px;height:32px;}
 141.863 +.ext-ie .x-window-dlg .ext-mb-icon{width:44px;}
 141.864 +.x-window-dlg .ext-mb-info{background:transparent url(../images/silverCherry/window/icon-info.gif) no-repeat top left;}
 141.865 +.x-window-dlg .ext-mb-warning{background:transparent url(../images/silverCherry/window/icon-warning.gif) no-repeat top left;}
 141.866 +.x-window-dlg .ext-mb-question{background:transparent url(../images/silverCherry/window/icon-question.gif) no-repeat top left;}
 141.867 +.x-window-dlg .ext-mb-error{background:transparent url(../images/silverCherry/window/icon-error.gif) no-repeat top left;}
 141.868 +
 141.869 +
 141.870 +
 141.871 +.x-panel {
 141.872 +    border-style: solid;
 141.873 +    border-color: #d0d0d0;
 141.874 +}
 141.875 +.x-panel-header {
 141.876 +    color:#fff;
 141.877 +	border:1px solid #d0d0d0;
 141.878 +    background-image:url(../images/silverCherry/panel_white-top-bottom.gif);
 141.879 +}
 141.880 +
 141.881 +.x-panel-body {
 141.882 +    border-color:#d0d0d0;
 141.883 +}
 141.884 +
 141.885 +.x-panel-bbar .x-toolbar {
 141.886 +    border-color:#d0d0d0;
 141.887 +}
 141.888 +
 141.889 +.x-panel-tbar .x-toolbar {
 141.890 +    border-color:#d0d0d0;
 141.891 +}
 141.892 +
 141.893 +.x-panel-tbar-noheader .x-toolbar, .x-panel-mc .x-panel-tbar .x-toolbar {
 141.894 +    border-color:#d0d0d0;
 141.895 +}
 141.896 +.x-panel-body-noheader, .x-panel-mc .x-panel-body {
 141.897 +    border-color:#d0d0d0;
 141.898 +}
 141.899 +.x-panel-tl .x-panel-header {
 141.900 +    color:#333;
 141.901 +}
 141.902 +.x-panel-tc {
 141.903 +	background-image:url(../images/silverCherry/panel_top-bottom.gif);
 141.904 +}
 141.905 +.x-panel-tl {
 141.906 +	background-image:url(../images/silverCherry/panel_corners-sprite.gif);
 141.907 +    border-color:#d0d0d0;
 141.908 +}
 141.909 +.x-panel-tr {
 141.910 +	background-image:url(../images/silverCherry/panel_corners-sprite.gif);
 141.911 +}
 141.912 +.x-panel-bc {
 141.913 +	background-image:url(../images/silverCherry/panel_top-bottom.gif);
 141.914 +}
 141.915 +.x-panel-bl {
 141.916 +	background-image:url(../images/silverCherry/panel_corners-sprite.gif);
 141.917 +}
 141.918 +.x-panel-br {
 141.919 +	background-image:url(../images/silverCherry/panel_corners-sprite.gif);
 141.920 +}
 141.921 +.x-panel-mc {
 141.922 +    background:#f1f1f1;
 141.923 +}
 141.924 +.x-panel-mc .x-panel-body {
 141.925 +    background:transparent;
 141.926 +    border: 0 none;
 141.927 +}
 141.928 +.x-panel-ml {
 141.929 +	background-image:url(../images/silverCherry/panel_left-right.gif);
 141.930 +}
 141.931 +.x-panel-mr {
 141.932 +	background-image:url(../images/silverCherry/panel_left-right.gif);
 141.933 +}
 141.934 +
 141.935 +/* Tools */
 141.936 +.x-tool {
 141.937 +    background-image:url(../images/silverCherry/panel_tool-sprites.gif);
 141.938 +}
 141.939 +.x-panel-body .x-tool{ background-image:url(../images/silverCherry/panel_tool-sprites-silver.gif) !important;}
 141.940 +
 141.941 +/* Ghosting */
 141.942 +.x-panel-ghost {
 141.943 +    background:#e0e0e0;
 141.944 +}
 141.945 +
 141.946 +.x-panel-ghost ul {
 141.947 +    border-color:#b0b0b0;
 141.948 +}
 141.949 +
 141.950 +.x-grid-panel .x-panel-mc .x-panel-body {
 141.951 +    border:1px solid #d0d0d0;
 141.952 +}
 141.953 +
 141.954 +/* Buttons */
 141.955 +
 141.956 +.x-btn-left{
 141.957 +	background-image:url(../images/silverCherry/button_btn-sprite.gif);
 141.958 +}
 141.959 +.x-btn-right{
 141.960 +	background-image:url(../images/silverCherry/button_btn-sprite.gif);
 141.961 +}
 141.962 +.x-btn-center{
 141.963 +	background-image:url(../images/silverCherry/button_btn-sprite.gif);
 141.964 +}
 141.965 +
 141.966 +/* Layout classes */
 141.967 +
 141.968 +.x-border-layout-ct {
 141.969 +    background:#f0f0f0;
 141.970 +}
 141.971 +
 141.972 +.x-accordion-hd {
 141.973 +	background-image:url(../images/silverCherry/panel_light-hd.gif);
 141.974 +	color:#333;
 141.975 +}
 141.976 +
 141.977 +.x-layout-collapsed{
 141.978 +    background-color:#eee;
 141.979 +    border-color:#e0e0e0;
 141.980 +}
 141.981 +.x-layout-collapsed-over{
 141.982 +	 background-color:#fbfbfb;
 141.983 +}
 141.984 +
 141.985 +
 141.986 +/* qtips */
 141.987 +.x-tip .x-tip-top {
 141.988 +	background-image:url(../images/silverCherry/qtip_tip-sprite.gif);
 141.989 +}
 141.990 +.x-tip .x-tip-top-left {
 141.991 +	background-image:url(../images/silverCherry/qtip_tip-sprite.gif);
 141.992 +}
 141.993 +.x-tip .x-tip-top-right {
 141.994 +	background-image:url(../images/silverCherry/qtip_tip-sprite.gif);
 141.995 +}
 141.996 +.x-tip .x-tip-ft {
 141.997 +	background-image:url(../images/silverCherry/qtip_tip-sprite.gif);
 141.998 +}
 141.999 +.x-tip .x-tip-ft-left {
141.1000 +	background-image:url(../images/silverCherry/qtip_tip-sprite.gif);
141.1001 +}
141.1002 +.x-tip .x-tip-ft-right {
141.1003 +	background-image:url(../images/silverCherry/qtip_tip-sprite.gif);
141.1004 +}
141.1005 +.x-tip .x-tip-bd-left {
141.1006 +	background-image:url(../images/silverCherry/qtip_tip-sprite.gif);
141.1007 +}
141.1008 +.x-tip .x-tip-bd-right {
141.1009 +	background-image:url(../images/silverCherry/qtip_tip-sprite.gif);
141.1010 +}
141.1011 +
141.1012 +/* Toolbars */
141.1013 +
141.1014 +.x-toolbar{
141.1015 +	border-color:#d0d0d0;
141.1016 +    background:#f0f4f5 url(../images/silverCherry/toolbar_bg.gif) repeat-x top left;
141.1017 +}
141.1018 +.x-toolbar button {
141.1019 +    color:#444;
141.1020 +}
141.1021 +.x-toolbar .x-btn-menu-arrow-wrap .x-btn-center button {
141.1022 +    background-image:url(../images/silverCherry/toolbar_btn-arrow.gif);
141.1023 +}
141.1024 +.x-toolbar .x-btn-text-icon .x-btn-menu-arrow-wrap .x-btn-center button {
141.1025 +    background-image:url(../images/silverCherry/toolbar_btn-arrow.gif);
141.1026 +}
141.1027 +.x-toolbar .x-btn-over .x-btn-left{
141.1028 +	background-image:url(../images/silverCherry/toolbar_tb-btn-sprite.gif);
141.1029 +}
141.1030 +.x-toolbar .x-btn-over .x-btn-right{
141.1031 +	background-image:url(../images/silverCherry/toolbar_tb-btn-sprite.gif);
141.1032 +}
141.1033 +.x-toolbar .x-btn-over .x-btn-center{
141.1034 +	background-image:url(../images/silverCherry/toolbar_tb-btn-sprite.gif);
141.1035 +}
141.1036 +.x-toolbar .x-btn-over button {
141.1037 +    color:#111;
141.1038 +}
141.1039 +.x-toolbar .x-btn-click .x-btn-left, .x-toolbar .x-btn-pressed .x-btn-left, .x-toolbar .x-btn-menu-active .x-btn-left{
141.1040 +	background-image:url(../images/silverCherry/toolbar_tb-btn-sprite.gif);
141.1041 +}
141.1042 +.x-toolbar .x-btn-click .x-btn-right, .x-toolbar .x-btn-pressed .x-btn-right, .x-toolbar .x-btn-menu-active .x-btn-right{
141.1043 +	background-image:url(../images/silverCherry/toolbar_tb-btn-sprite.gif);
141.1044 +}
141.1045 +
141.1046 +.x-toolbar .x-btn-click .x-btn-center, .x-toolbar .x-btn-pressed .x-btn-center, .x-toolbar .x-btn-menu-active .x-btn-center{
141.1047 +	background-image:url(../images/silverCherry/toolbar_tb-btn-sprite.gif);
141.1048 +}
141.1049 +.x-toolbar .ytb-sep {
141.1050 +	background-image: url(../images/default/grid_grid-split.gif);
141.1051 +}
141.1052 +
141.1053 +/* Tabs */
141.1054 +
141.1055 +.x-tab-panel-header, .x-tab-panel-footer {
141.1056 +	background: #EAEAEA;
141.1057 +	border-color:#d0d0d0;
141.1058 +}
141.1059 +
141.1060 +
141.1061 +.x-tab-panel-header {
141.1062 +	border-color:#d0d0d0;
141.1063 +}
141.1064 +
141.1065 +.x-tab-panel-footer {
141.1066 +	border-color:#d0d0d0;
141.1067 +}
141.1068 +
141.1069 +ul.x-tab-strip-top{
141.1070 +	background:#dbdbdb url(../images/silverCherry/tabs_tab-strip-bg.gif) repeat-x left top;
141.1071 +	border-color:#d0d0d0;
141.1072 +    padding-top: 2px;
141.1073 +}
141.1074 +
141.1075 +ul.x-tab-strip-bottom{
141.1076 +	background-image:url(../images/silverCherry/tabs_tab-strip-btm-bg.gif);
141.1077 +	border-color:#d0d0d0;
141.1078 +}
141.1079 +
141.1080 +.x-tab-strip span.x-tab-strip-text {
141.1081 +	color:#333;
141.1082 +}
141.1083 +.x-tab-strip-over span.x-tab-strip-text {
141.1084 +	color:#111;
141.1085 +}
141.1086 +
141.1087 +.x-tab-strip-active span.x-tab-strip-text {
141.1088 +	color:#333;
141.1089 +}
141.1090 +
141.1091 +.x-tab-strip-disabled .x-tabs-text {
141.1092 +	color:#aaaaaa;
141.1093 +}
141.1094 +
141.1095 +.x-tab-strip-top .x-tab-right {
141.1096 +	background-image:url(../images/silverCherry/tabs_tabs-sprite.gif);
141.1097 +}
141.1098 +
141.1099 +.x-tab-strip-top .x-tab-left {
141.1100 +	background-image:url(../images/silverCherry/tabs_tabs-sprite.gif);
141.1101 +}
141.1102 +.x-tab-strip-top .x-tab-strip-inner {
141.1103 +	background-image:url(../images/silverCherry/tabs_tabs-sprite.gif);
141.1104 +}
141.1105 +
141.1106 +.x-tab-strip-bottom .x-tab-right {
141.1107 +	background-image:url(../images/silverCherry/tabs_tab-btm-inactive-right-bg.gif);
141.1108 +}
141.1109 +
141.1110 +.x-tab-strip-bottom .x-tab-left {
141.1111 +	background-image:url(../images/silverCherry/tabs_tab-btm-inactive-left-bg.gif);
141.1112 +}
141.1113 +
141.1114 +.x-tab-strip-bottom .x-tab-strip-active .x-tab-right {
141.1115 +	background-image:url(../images/silverCherry/tabs_tab-btm-right-bg.gif);
141.1116 +}
141.1117 +
141.1118 +.x-tab-strip-bottom .x-tab-strip-active .x-tab-left {
141.1119 +	background-image:url(../images/silverCherry/tabs_tab-btm-left-bg.gif);
141.1120 +}
141.1121 +
141.1122 +.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close {
141.1123 +	background-image:url(../images/silverCherry/tabs_tab-close.gif);
141.1124 +}
141.1125 +.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close:hover{
141.1126 +	background-image:url(../images/silverCherry/tabs_tab-close.gif);
141.1127 +}
141.1128 +
141.1129 +.x-tab-panel-body {
141.1130 +    border-color:#d0d0d0;
141.1131 +    background:#fff;
141.1132 +}
141.1133 +.x-tab-panel-bbar .x-toolbar {
141.1134 +    border-color: #d0d0d0;
141.1135 +}
141.1136 +
141.1137 +.x-tab-panel-tbar .x-toolbar {
141.1138 +    border-color: #d0d0d0;
141.1139 +}
141.1140 +
141.1141 +.x-tab-panel-header-plain .x-tab-strip-spacer {
141.1142 +    border-color:#d0d0d0;
141.1143 +    background: #eaeaea;
141.1144 +}
141.1145 +
141.1146 +.x-tab-scroller-left {
141.1147 +    background-image: url(../images/silverCherry/tabs_scroll-left.gif);
141.1148 +    border-color:#aeaeae;
141.1149 +}
141.1150 +.x-tab-scroller-right {
141.1151 +    background-image: url(../images/silverCherry/tabs_scroll-right.gif);
141.1152 +    border-color:#aeaeae;
141.1153 +}
141.1154 +
141.1155 +/* Window */
141.1156 +
141.1157 +.x-window-proxy {
141.1158 +    background:#e0e0e0;
141.1159 +    border-color:#b0b0b0;
141.1160 +}
141.1161 +
141.1162 +.x-window-tl .x-window-header {
141.1163 +    color:#555;
141.1164 +}
141.1165 +.x-window-tc {
141.1166 +	background-image:url(../images/silverCherry/window_top-bottom.png);
141.1167 +}
141.1168 +.x-window-tl {
141.1169 +	background-image:url(../images/silverCherry/window_left-corners.png);
141.1170 +}
141.1171 +.x-window-tr {
141.1172 +	background-image:url(../images/silverCherry/window_right-corners.png);
141.1173 +}
141.1174 +.x-window-bc {
141.1175 +	background-image:url(../images/silverCherry/window_top-bottom.png);
141.1176 +}
141.1177 +.x-window-bl {
141.1178 +	background-image:url(../images/silverCherry/window_left-corners.png);
141.1179 +}
141.1180 +.x-window-br {
141.1181 +	background-image:url(../images/silverCherry/window_right-corners.png);
141.1182 +}
141.1183 +.x-window-mc {
141.1184 +    border:1px solid #d0d0d0;
141.1185 +    background:#e8e8e8;
141.1186 +}
141.1187 +
141.1188 +.x-window-ml {
141.1189 +	background-image:url(../images/silverCherry/window_left-right.png);
141.1190 +}
141.1191 +.x-window-mr {
141.1192 +	background-image:url(../images/silverCherry/window_left-right.png);
141.1193 +}
141.1194 +.x-panel-ghost .x-window-tl {
141.1195 +    border-color:#d0d0d0;
141.1196 +}
141.1197 +.x-panel-collapsed .x-window-tl {
141.1198 +    border-color:#d0d0d0;
141.1199 +}
141.1200 +
141.1201 +.x-window-plain .x-window-mc {
141.1202 +    background: #e8e8e8;
141.1203 +    border-right:1px solid #eee;
141.1204 +    border-bottom:1px solid #eee;
141.1205 +    border-top:1px solid #d0d0d0;
141.1206 +    border-left:1px solid #d0d0d0;
141.1207 +}
141.1208 +
141.1209 +.x-window-plain .x-window-body {
141.1210 +    border-left:1px solid #eee;
141.1211 +    border-top:1px solid #eee;
141.1212 +    border-bottom:1px solid #d0d0d0;
141.1213 +    border-right:1px solid #d0d0d0;
141.1214 +    background:transparent !important;
141.1215 +}
141.1216 +
141.1217 +body.x-body-masked .x-window-mc, body.x-body-masked .x-window-plain .x-window-mc {
141.1218 +    background-color: #e4e4e4;
141.1219 +}
141.1220 +
141.1221 +
141.1222 +/* misc */
141.1223 +.x-html-editor-wrap {
141.1224 +    border-color:#d0d0d0;
141.1225 +}
141.1226 +
141.1227 +/* Borders go last for specificity */
141.1228 +.x-panel-noborder .x-panel-body-noborder {
141.1229 +    border-width:0;
141.1230 +}
141.1231 +
141.1232 +.x-panel-noborder .x-panel-header-noborder {
141.1233 +    border-width:0;
141.1234 +    border-bottom:1px solid #d0d0d0;
141.1235 +}
141.1236 +
141.1237 +.x-panel-noborder .x-panel-tbar-noborder .x-toolbar {
141.1238 +    border-width:0;
141.1239 +    border-bottom:1px solid #d0d0d0;
141.1240 +}
141.1241 +
141.1242 +.x-panel-noborder .x-panel-bbar-noborder .x-toolbar {
141.1243 +    border-width:0;
141.1244 +    border-top:1px solid #d0d0d0;
141.1245 +}
141.1246 +
141.1247 +.x-window-noborder .x-window-mc {
141.1248 +    border-width:0;
141.1249 +}
141.1250 +.x-window-plain .x-window-body-noborder {
141.1251 +    border-width:0;
141.1252 +}
141.1253 +
141.1254 +.x-tab-panel-noborder .x-tab-panel-body-noborder {
141.1255 +	border-width:0;
141.1256 +}
141.1257 +
141.1258 +.x-tab-panel-noborder .x-tab-panel-header-noborder {
141.1259 +	border-top-width:0;
141.1260 +	border-left-width:0;
141.1261 +	border-right-width:0;
141.1262 +}
141.1263 +
141.1264 +.x-tab-panel-noborder .x-tab-panel-footer-noborder {
141.1265 +	border-bottom-width:0;
141.1266 +	border-left-width:0;
141.1267 +	border-right-width:0;
141.1268 +}
141.1269 +
141.1270 +
141.1271 +.x-tab-panel-bbar-noborder .x-toolbar {
141.1272 +    border-width:0;
141.1273 +    border-top:1px solid #d0d0d0;
141.1274 +}
141.1275 +
141.1276 +.x-tab-panel-tbar-noborder .x-toolbar {
141.1277 +    border-width:0;
141.1278 +    border-bottom:1px solid #d0d0d0;
141.1279 +}
141.1280 +.x-panel-tc .x-panel-header{background-image:url(../images/silverCherry/panel_top-bottom.gif)!important;}
141.1281 +
141.1282 +/*-------------- grid ------------------*/
141.1283 +.mso .x-toolbar,.x-grid-mso .x-toolbar{border:0 none;background:url(../images/silverCherry/grid_mso-hd.gif);}
141.1284 +.x-toolbar .ytb-sep{background-image:url(../images/silverCherry/grid_grid-blue-split.gif);background-position:center;background-repeat:no-repeat;display:block;font-size:1px;height:16px;width:4px;overflow:hidden;cursor:default;margin:0 2px 0;border:0;}
141.1285 +.x-tbar-page-number{width:24px;height:14px;}
141.1286 +.x-tbar-page-first{background-image:url(../images/silverCherry/grid_page-first.gif)!important;}
141.1287 +.x-tbar-loading{background-image:url(../images/silverCherry/grid_done.gif)!important;}
141.1288 +.x-tbar-page-last{background-image:url(../images/silverCherry/grid_page-last.gif)!important;}
141.1289 +.x-tbar-page-next{background-image:url(../images/silverCherry/grid_page-next.gif)!important;}
141.1290 +.x-tbar-page-prev{background-image:url(../images/silverCherry/grid_page-prev.gif)!important;}
141.1291 +.x-item-disabled .x-tbar-loading{background-image:url(../images/silverCherry/grid_loading.gif)!important;}
141.1292 +.x-item-disabled .x-tbar-page-first{background-image:url(../images/silverCherry/grid_page-first-disabled.gif)!important;}
141.1293 +.x-item-disabled .x-tbar-page-last{background-image:url(../images/silverCherry/grid_page-last-disabled.gif)!important;}
141.1294 +.x-item-disabled .x-tbar-page-next{background-image:url(../images/silverCherry/grid_page-next-disabled.gif)!important;}
141.1295 +.x-item-disabled .x-tbar-page-prev{background-image:url(../images/silverCherry/grid_page-prev-disabled.gif)!important;}
141.1296 +.x-grid3-row-over{border:1px solid #ddd;background:#efefef url(../images/silverCherry/grid_row-over.gif) repeat-x left top;}
141.1297 +.x-mask-loading div{padding:5px 10px 5px 25px;background:#fbfbfb url( '../images/silverCherry/grid_loading.gif' ) no-repeat 5px 5px;line-height:16px;}
141.1298 +.loading-indicator{font-size:11px;background-image:url(../images/silverCherry/grid_loading.gif);background-repeat:no-repeat;background-position:left;padding-left:20px;line-height:16px;margin:3px;}
141.1299 +.x-form-invalid,textarea.x-form-invalid{background:#fff url(../images/silverCherry/grid_invalid_line.gif) repeat-x bottom;border:1px solid #dd7870;}
141.1300 + .x-grid3{position:relative;overflow:hidden;background-color:#fff;}
141.1301 +.x-grid-panel .x-panel-body{overflow:hidden!important;}
141.1302 +.x-grid-panel .x-panel-mc .x-panel-body{border:1px solid #e8e8e8;}
141.1303 +.ext-ie .x-grid3 table,.ext-safari .x-grid3 table{table-layout:fixed;}
141.1304 +.x-grid3-viewport{overflow:hidden;}
141.1305 +.x-grid3-hd-row td,.x-grid3-row td,.x-grid3-summary-row td{font:normal 11px arial,tahoma,helvetica,sans-serif;-moz-outline:none;-moz-user-focus:normal;}
141.1306 +.x-grid3-row td,.x-grid3-summary-row td{line-height:13px;vertical-align:top;padding-left:1px;padding-right:1px;-moz-user-select:none;}
141.1307 +.x-grid3-hd-row td{line-height:15px;vertical-align:middle;border-left:1px solid #eee;border-right:1px solid #d0d0d0;}
141.1308 +.x-grid3-hd-row .x-grid3-marker-hd{padding:3px;}
141.1309 +.x-grid3-row .x-grid3-marker{padding:3px;}
141.1310 +.x-grid3-cell-inner,.x-grid3-hd-inner{overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;padding:3px 3px 3px 5px;white-space:nowrap;}
141.1311 +.x-grid3-hd-inner{position:relative;cursor:inherit;padding:4px 3px 4px 5px;}
141.1312 +.x-grid3-row-body{white-space:normal;}
141.1313 +.x-grid3-body-cell{-moz-outline:0 none;outline:0 none;}
141.1314 +.ext-ie .x-grid3-cell-inner,.ext-ie .x-grid3-hd-inner{width:100%;}
141.1315 +.ext-strict .x-grid3-cell-inner,.ext-strict .x-grid3-hd-inner{width:auto;}
141.1316 +.x-grid-row-loading{background:#fff url(../images/images/silverCherryloading-balls.gif) no-repeat center center;}
141.1317 +.x-grid-page{overflow:hidden;}
141.1318 +.x-grid3-row{cursor:default;border:1px solid #ededed;border-top-color:#fff;width:100%;}
141.1319 +.x-grid3-row-alt{background-color:#fafafa;}
141.1320 +.x-grid3-row-over{border:1px solid #ddd;background:#efefef url(../images/silverCherry/grid_row-over.gif) repeat-x left top;}
141.1321 +.x-grid3-resize-proxy{width:1px;left:0;background-color:#777;cursor:e-resize;cursor:col-resize;position:absolute;top:0;height:100px;overflow:hidden;visibility:hidden;border:0 none;z-index:7;}
141.1322 +.x-grid3-resize-marker{width:1px;left:0;background-color:#777;position:absolute;top:0;height:100px;overflow:hidden;visibility:hidden;border:0 none;z-index:7;}
141.1323 +.x-grid3-focus{position:absolute;top:0;-moz-outline:0 none;outline:0 none;-moz-user-select:normal;-khtml-user-select:normal;}
141.1324 +.x-grid3-header{background:#f9f9f9 url(../images/silverCherry/grid_grid3-hrow.gif) repeat-x 0 bottom;cursor:default;zoom:1;padding:1px 0 0 0;}
141.1325 +.x-grid3-header-pop{border-left:1px solid #d0d0d0;float:right;clear:none;}
141.1326 +.x-grid3-header-pop-inner{border-left:1px solid #eee;width:14px;height:19px;background:transparent url(../images/silverCherry/grid_hd-pop.gif) no-repeat center center;}
141.1327 +.ext-ie .x-grid3-header-pop-inner{width:15px;}
141.1328 +.ext-strict .x-grid3-header-pop-inner{width:14px;}
141.1329 +.x-grid3-header-inner{overflow:hidden;zoom:1;float:left;}
141.1330 +.x-grid3-header-offset{padding-left:1px;width:10000px;}
141.1331 +td.x-grid3-hd-over,td.sort-desc,td.sort-asc,td.x-grid3-hd-menu-open{border-left:1px solid #ccc;border-right:1px solid #ccc;}
141.1332 +td.x-grid3-hd-over .x-grid3-hd-inner,td.sort-desc .x-grid3-hd-inner,td.sort-asc .x-grid3-hd-inner,td.x-grid3-hd-menu-open .x-grid3-hd-inner{background:#ebebeb url(../images/silverCherry/grid_grid3-hrow-over.gif) repeat-x left bottom;}
141.1333 +.x-grid3-sort-icon{background-repeat:no-repeat;display:none;height:4px;width:13px;margin-left:3px;vertical-align:middle;}
141.1334 +.sort-asc .x-grid3-sort-icon{background-image:url(../images/silverCherry/grid_sort_asc.gif);display:inline;}
141.1335 +.sort-desc .x-grid3-sort-icon{background-image:url(../images/silverCherry/grid_sort_desc.gif);display:inline;}
141.1336 +.ext-strict .ext-ie .x-grid3-header-inner{position:relative;}
141.1337 +.ext-strict .ext-ie6 .x-grid3-hd{position:relative;}
141.1338 +.ext-strict .ext-ie6 .x-grid3-hd-inner{position:static;}
141.1339 +.x-grid3-body{zoom:1;}
141.1340 +.x-grid3-scroller{overflow:auto;zoom:1;position:relative;}
141.1341 +.x-grid3-cell-text,.x-grid3-hd-text{display:block;padding:3px 5px 3px 5px;-moz-user-select:none;-khtml-user-select:none;color:black;}
141.1342 +.x-grid3-split{background-image:url(../images/silverCherry/grid_grid-split.gif);background-position:center;background-repeat:no-repeat;cursor:e-resize;cursor:col-resize;display:block;font-size:1px;height:16px;overflow:hidden;position:absolute;top:2px;width:6px;z-index:3;}
141.1343 +.x-grid3-hd-text{color:#990000;}
141.1344 +.x-dd-drag-proxy .x-grid3-hd-inner{background:#ebebeb url(../images/silverCherry/grid_grid3-hrow-over.gif) repeat-x left bottom;width:120px;padding:3px;border:1px solid #e8e8e8;overflow:hidden;}
141.1345 +.col-move-top,.col-move-bottom{width:9px;height:9px;position:absolute;top:0;line-height:1px;font-size:1px;overflow:hidden;visibility:hidden;z-index:20000;}
141.1346 +.col-move-top{background:transparent url(../images/silverCherry/grid_col-move-top.gif) no-repeat left top;}
141.1347 +.col-move-bottom{background:transparent url(../images/silverCherry/grid_col-move-bottom.gif) no-repeat left top;}
141.1348 +.x-grid3-row-selected{background:#DFE8F6!important;border:1px dotted #a3bae9;}
141.1349 +.x-grid3-cell-selected{background-color:#B8CFEE!important;color:black;}
141.1350 +.x-grid3-cell-selected span{color:black!important;}
141.1351 +.x-grid3-cell-selected .x-grid3-cell-text{color:black;}
141.1352 +.x-grid3-locked td.x-grid3-row-marker,.x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker{background:#ebeadb url(../images/silverCherry/grid_grid-hrow.gif) repeat-x 0 bottom!important;vertical-align:middle!important;color:black;padding:0;border-top:1px solid white;border-bottom:none!important;border-right:1px solid #6fa0df!important;text-align:center;}
141.1353 +.x-grid3-locked td.x-grid3-row-marker div,.x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker div{padding:0 4px;color:#8c8c8c!important;text-align:center;}
141.1354 +.x-grid3-dirty-cell{background:transparent url(../images/silverCherry/grid_dirty.gif) no-repeat 0 0;}
141.1355 +.x-grid3-topbar,.x-grid3-bottombar{font:normal 11px arial,tahoma,helvetica,sans-serif;overflow:hidden;display:none;zoom:1;position:relative;}
141.1356 +.x-grid3-topbar .x-toolbar{border-right:0 none;}
141.1357 +.x-grid3-bottombar .x-toolbar{border-right:0 none;border-bottom:0 none;border-top:1px solid #a9bfd3;}
141.1358 +.x-props-grid .x-grid3-cell{padding:1px;}
141.1359 +.x-props-grid .x-grid3-td-name .x-grid3-cell-inner{background:transparent url(../images/silverCherry/grid_grid3-special-col-bg.gif) repeat-y -16px!important;padding-left:12px;color:black!important;}
141.1360 +.x-props-grid .x-grid3-body .x-grid3-td-name{padding:1px;padding-right:0;background:white!important;border:0 none;border-right:1px solid #eee;}
141.1361 +.xg-hmenu-sort-asc .x-menu-item-icon{background-image:url(../images/silverCherry/grid_hmenu-asc.gif);}
141.1362 +.xg-hmenu-sort-desc .x-menu-item-icon{background-image:url(../images/silverCherry/grid_hmenu-desc.gif);}
141.1363 +.xg-hmenu-lock .x-menu-item-icon{background-image:url(../images/silverCherry/grid_hmenu-lock.gif);}
141.1364 +.xg-hmenu-unlock .x-menu-item-icon{background-image:url(../images/silverCherry/grid_hmenu-unlock.gif);}
141.1365 +.x-grid3-col-dd{border:0 none;padding:0;background:transparent;}
141.1366 +.x-dd-drag-ghost .x-grid3-dd-wrap{padding:1px 3px 3px 1px;}
141.1367 +.x-grid3-hd{-moz-user-select:none;}
141.1368 +.x-grid3-hd-btn{display:none;position:absolute;width:14px;background:#c3daf9 url(../images/silverCherry/grid_grid3-hd-btn.gif) no-repeat left center;right:0;top:0;z-index:2;cursor:pointer;}
141.1369 +.x-grid3-hd-over .x-grid3-hd-btn,.x-grid3-hd-menu-open .x-grid3-hd-btn{display:block;}
141.1370 +a.x-grid3-hd-btn:hover{background-position:-14px center;}
141.1371 +.x-grid3-body .x-grid3-td-expander{background:transparent url(../images/silverCherry/grid_grid3-special-col-bg.gif) repeat-y right;}
141.1372 +.x-grid3-body .x-grid3-td-expander .x-grid3-cell-inner{padding:0!important;height:100%;}
141.1373 +.x-grid3-row-expander{width:100%;height:18px;background-position:4px 2px;background-repeat:no-repeat;background-color:transparent;background-image:url(../images/silverCherry/grid_row-expand-sprite.gif);}
141.1374 +.x-grid3-row-collapsed .x-grid3-row-expander{background-position:4px 2px;}
141.1375 +.x-grid3-row-expanded .x-grid3-row-expander{background-position:-21px 2px;}
141.1376 +.x-grid3-row-collapsed .x-grid3-row-body{display:none!important;}
141.1377 +.x-grid3-row-expanded .x-grid3-row-body{display:block!important;}
141.1378 +.x-grid3-body .x-grid3-td-checker{background:transparent url(../images/silverCherry/grid_grid3-special-col-bg.gif) repeat-y right;}
141.1379 +.x-grid3-body .x-grid3-td-checker .x-grid3-cell-inner,.x-grid3-header .x-grid3-td-checker .x-grid3-hd-inner{padding:0!important;height:100%;}
141.1380 +.x-grid3-row-checker,.x-grid3-hd-checker{width:100%;height:18px;background-position:2px 2px;background-repeat:no-repeat;background-color:transparent;background-image:url(../images/silverCherry/grid_row-check-sprite.gif);}
141.1381 +.x-grid3-row .x-grid3-row-checker{background-position:2px 2px;}
141.1382 +.x-grid3-row-selected .x-grid3-row-checker,.x-grid3-hd-checker-on .x-grid3-hd-checker{background-position:-23px 2px;}
141.1383 +.x-grid3-hd-checker{background-position:2px 3px;}
141.1384 +.x-grid3-hd-checker-on .x-grid3-hd-checker{background-position:-23px 3px;}
141.1385 +.x-grid3-body .x-grid3-td-numberer{background:transparent url(../images/silverCherry/grid_grid3-special-col-bg.gif) repeat-y right;}
141.1386 +.x-grid3-body .x-grid3-td-numberer .x-grid3-cell-inner{padding:3px 5px 0 0!important;text-align:right;color:#444;}
141.1387 +.x-grid3-body .x-grid3-row-selected .x-grid3-td-numberer,.x-grid3-body .x-grid3-row-selected .x-grid3-td-checker,.x-grid3-body .x-grid3-row-selected .x-grid3-td-expander{background:transparent url(../images/silverCherry/grid_grid3-special-col-sel-bg.gif) repeat-y right;}
141.1388 +.x-grid3-body .x-grid3-check-col-td .x-grid3-cell-inner{padding:1px 0 0 0!important;}
141.1389 +.x-grid3-check-col{width:100%;height:16px;background-position:center center;background-repeat:no-repeat;background-color:transparent;background-image:url(../images/default/menu/unchecked.gif);}
141.1390 +.x-grid3-check-col-on{width:100%;height:16px;background-position:center center;background-repeat:no-repeat;background-color:transparent;background-image:url(../images/default/menu/checked.gif);}
141.1391 +.x-grid-group,.x-grid-group-body,.x-grid-group-hd{zoom:1;}
141.1392 +.x-grid-group-hd{border-bottom:2px solid #d21313;color: #d21313 !important;cursor:pointer;padding-top:6px;}
141.1393 +.x-grid-group-hd div{background:transparent url(../images/silverCherry/grid_group-expand-sprite.gif) no-repeat 3px -47px;padding:4px 4px 4px 17px;color:#990000;font:bold 11px tahoma,arial,helvetica,sans-serif;}
141.1394 +.x-grid-group-collapsed .x-grid-group-hd div{background-position:3px 3px;}
141.1395 +.x-grid-group-collapsed .x-grid-group-body{display:none;}
141.1396 +.x-group-by-icon{background-image:url(../images/silverCherry/grid_group-by.gif);}
141.1397 +.x-cols-icon{background-image:url(../images/silverCherry/grid_columns.gif);}
141.1398 +.x-show-groups-icon{background-image:url(../images/silverCherry/grid_group-by.gif);}
141.1399 +.ext-ie .x-grid3 .x-editor .x-form-text{position:relative;top:-1px;}
141.1400 +.x-grid-editor{position:relative!important;float:left;}
141.1401 +.x-grid-empty{padding:10px;color:gray;font:normal 11px tahoma,arial,helvetica,sans-serif;}
141.1402 +.ytb-text{color:#666 !important;}
141.1403 +
141.1404 +.x-date-picker{border:1px solid #6b6b6b;border-top:0 none;background:#fff;position:relative;}
141.1405 +.x-date-picker a{-moz-outline:0 none;outline:0 none;}
141.1406 +.x-date-inner,.x-date-inner td,.x-date-inner th{border-collapse:separate;}
141.1407 +.x-date-middle,.x-date-left,.x-date-right{background:url(../images/silverCherry/shared_hd-sprite.gif) repeat-x 0 -83px;color:#FFF;font:bold 11px "sans serif",tahoma,verdana,helvetica;overflow:hidden;}
141.1408 +.x-date-middle .x-btn-left,.x-date-middle .x-btn-center,.x-date-middle .x-btn-right{background:transparent!important;vertical-align:middle;}
141.1409 +.x-date-middle .x-btn .x-btn-text{color:#fff;}
141.1410 +.x-date-middle .x-btn-with-menu .x-btn-center em{background:transparent url(../images/default/toolbar/btn-arrow-light.gif) no-repeat right 0;}
141.1411 +.x-date-right,.x-date-left{width:18px;}
141.1412 +.x-date-right{text-align:right;}
141.1413 +.x-date-middle{padding-top:2px;padding-bottom:2px;}
141.1414 +.x-date-right a,.x-date-left a{display:block;width:16px;height:16px;background-position:center;background-repeat:no-repeat;cursor:pointer;-moz-opacity:0.6;opacity:.6;filter:alpha(opacity=60);}
141.1415 +.x-date-right a:hover,.x-date-left a:hover{-moz-opacity:1;opacity:1;filter:alpha(opacity=100);}
141.1416 +.x-date-right a{background-image:url(../images/silverCherry/shared_right-btn.gif);margin-right:2px;text-decoration:none!important;}
141.1417 +.x-date-left a{background-image:url(../images/silverCherry/shared_left-btn.gif);margin-left:2px;text-decoration:none!important;}
141.1418 +table.x-date-inner{width:100%;table-layout:fixed;}
141.1419 +.x-date-inner th{width:25px;}
141.1420 +.x-date-inner th{background:#fafafa url(../images/silverCherry/shared_glass-bg.gif) repeat-x left top;text-align:right!important;border-bottom:1px solid #d9d9d9;font:normal 10px arial,helvetica,tahoma,sans-serif;color:#6e6e6e;cursor:default;padding:0;border-collapse:separate;}
141.1421 +.x-date-inner th span{display:block;padding:2px;padding-right:7px;}
141.1422 +.x-date-inner td{border:1px solid #fff;text-align:right;padding:0;}
141.1423 +.x-date-inner a{padding:2px 5px;display:block;font:normal 11px arial,helvetica,tahoma,sans-serif;text-decoration:none;color:black;text-align:right;zoom:1;}
141.1424 +.x-date-inner .x-date-active{cursor:pointer;color:black;}
141.1425 +.x-date-inner .x-date-selected a{background:#fafafa url(../images/silverCherry/shared_glass-bg.gif) repeat-x left top;border:1px solid #e3e3e3;padding:1px 4px;}
141.1426 +.x-date-inner .x-date-today a{border:1px solid darkred;padding:1px 4px;}
141.1427 +.x-date-inner .x-date-selected span{font-weight:bold;}
141.1428 +.x-date-inner .x-date-prevday a,.x-date-inner .x-date-nextday a{color:#aaa;text-decoration:none!important;}
141.1429 +.x-date-bottom{padding:4px;border-top:1px solid #d9d9d9;background:#fafafa url(../images/silverCherry/shared_glass-bg.gif) repeat-x left top;}
141.1430 +.x-date-inner a:hover,.x-date-inner .x-date-disabled a:hover{text-decoration:none!important;color:black;background:#fcfcfc;}
141.1431 +.x-date-inner .x-date-disabled a{cursor:default;background:#eee;color:#bbb;}
141.1432 +.x-date-mmenu, .x-date-menu{background:#eee!important;border:1px solid #aaa !important}
141.1433 +.x-date-mmenu .x-menu-item{font-size:10px;padding:1px 24px 1px 4px;white-space:nowrap;color:#000;}
141.1434 +.x-date-mmenu .x-menu-item .x-menu-item-icon{width:10px;height:10px;margin-right:5px;background-position:center -4px!important;}
141.1435 +.x-date-mp{position:absolute;left:0;top:0;background:white;display:none;}
141.1436 +.x-date-mp td{padding:2px;font:normal 11px arial,helvetica,tahoma,sans-serif;}
141.1437 +td.x-date-mp-month,td.x-date-mp-year,td.x-date-mp-ybtn{border:0 none;text-align:center;vertical-align:middle;width:25%;}
141.1438 +.x-date-mp-ok{margin-right:3px;}
141.1439 +.x-date-mp-btns button{text-decoration:none;text-align:center;text-decoration:none!important;background:#737373;color:white;border:1px solid;border-color:#cccccc #005 #005 #ccc;padding:1px 3px 1px;font:normal 11px arial,helvetica,tahoma,sans-serif;cursor:pointer;}
141.1440 +.x-date-mp-btns{background:#fafafa url(../images/silverCherry/shared_glass-bg.gif) repeat-x left top;}
141.1441 +.x-date-mp-btns td{border-top:1px solid #dedede;text-align:center;}
141.1442 +td.x-date-mp-month a,td.x-date-mp-year a{display:block;padding:2px 4px;text-decoration:none;text-align:center;color:#8c8c8c;}
141.1443 +td.x-date-mp-month a:hover,td.x-date-mp-year a:hover{color:#8c8c8c;text-decoration:none;cursor:pointer;background:#fcfcfc;}
141.1444 +td.x-date-mp-sel a{padding:1px 3px;background:#fafafa url(../images/silverCherry/shared_glass-bg.gif) repeat-x left top;border:1px solid #e3e3e3;}
141.1445 +.x-date-mp-ybtn a{overflow:hidden;width:15px;height:15px;cursor:pointer;background:transparent url(../images/silverCherry/panel_tool-sprites-silver.gif) no-repeat;display:block;margin:0 auto;}
141.1446 +.x-date-mp-ybtn a.x-date-mp-next{background-position:0 -120px;}
141.1447 +.x-date-mp-ybtn a.x-date-mp-next:hover{background-position:-15px -120px;}
141.1448 +.x-date-mp-ybtn a.x-date-mp-prev{background-position:0 -105px;}
141.1449 +.x-date-mp-ybtn a.x-date-mp-prev:hover{background-position:-15px -105px;}
141.1450 +.x-date-mp-ybtn{text-align:center;}
141.1451 +td.x-date-mp-sep{border-right:1px solid #dedede;}
141.1452 +
141.1453 +.x-form-field{margin:0;font:normal 12px tahoma,arial,helvetica,sans-serif;}
141.1454 +.x-form-text,textarea.x-form-field{padding:1px 3px;background:#fff url(../images/silverCherry/form_text-bg.gif) repeat-x 0 0;border:1px solid #c7c7c7;}
141.1455 +textarea.x-form-field{padding:2px 3px;}
141.1456 +.x-form-text{height:22px;line-height:18px;vertical-align:middle;}
141.1457 +.ext-ie .x-form-text{margin:-1px 0;height:22px;line-height:18px;}
141.1458 +.ext-ie textarea.x-form-field{margin:-1px 0;}
141.1459 +.ext-strict .x-form-text{height:18px;}
141.1460 +.ext-safari .x-form-text{height:20px;padding:0 3px;}
141.1461 +.ext-safari.ext-mac textarea.x-form-field{margin-bottom:-2px;}
141.1462 +.ext-gecko .x-form-text{padding-top:2px;padding-bottom:0;}
141.1463 +textarea{resize:none;}
141.1464 +.x-form-select-one{height:20px;line-height:18px;vertical-align:middle;background-color:#fff;border:1px solid #c7c7c7;}
141.1465 +.x-form-field-wrap{position:relative;zoom:1;white-space:nowrap;}
141.1466 +.x-editor .x-form-check-wrap{background:#fff;}
141.1467 +.x-form-field-wrap .x-form-trigger{width:17px;height:21px;border:0;background:transparent url(../images/silverCherry/form_trigger.gif) no-repeat 0 0;cursor:pointer;border-bottom:1px solid #c7c7c7;position:absolute;top:0;}
141.1468 +.ext-safari .x-form-field-wrap .x-form-trigger{height:21px;}
141.1469 +.x-form-field-wrap .x-form-date-trigger{background-image:url(../images/silverCherry/form_date-trigger.gif);cursor:pointer;}
141.1470 +.x-form-field-wrap .x-form-clear-trigger{background-image:url(../images/silverCherry/form_clear-trigger.gif);cursor:pointer;}
141.1471 +.x-form-field-wrap .x-form-search-trigger{background-image:url(../images/silverCherry/form_search-trigger.gif);cursor:pointer;}
141.1472 +.ext-safari .x-form-field-wrap .x-form-trigger{right:0;}
141.1473 +.x-form-field-wrap .x-form-twin-triggers .x-form-trigger{position:static;top:auto;vertical-align:top;}
141.1474 +.x-form-field-wrap .x-form-trigger-over{background-position:-17px 0;}
141.1475 +.x-form-field-wrap .x-form-trigger-click{background-position:-34px 0;}
141.1476 +.x-trigger-wrap-focus .x-form-trigger{background-position:-51px 0;}
141.1477 +.x-trigger-wrap-focus .x-form-trigger-over{background-position:-68px 0;}
141.1478 +.x-trigger-wrap-focus .x-form-trigger-click{background-position:-85px 0;}
141.1479 +.x-trigger-wrap-focus .x-form-trigger{border-bottom:1px solid #d9d9d9;}
141.1480 +.x-item-disabled .x-form-trigger-over{background-position:0 0!important;border-bottom:1px solid #c7c7c7;}
141.1481 +.x-item-disabled .x-form-trigger-click{background-position:0 0!important;border-bottom:1px solid #c7c7c7;}
141.1482 +.x-form-focus,textarea.x-form-focus{border:1px solid #d9d9d9;}
141.1483 +.x-form-invalid,textarea.x-form-invalid{background:#fff url(../images/default/grid/invalid_line.gif) repeat-x bottom;border:1px solid #dd7870;}
141.1484 +.ext-safari .x-form-invalid{background-color:#fee;border:1px solid #ff7870;}
141.1485 +.x-editor{visibility:hidden;padding:0;margin:0;}
141.1486 +.x-form-check-wrap{line-height:18px;}
141.1487 +.ext-ie .x-form-check-wrap input{width:15px;height:15px;}
141.1488 +.x-editor .x-form-check-wrap{padding:3px;}
141.1489 +.x-editor .x-form-checkbox{height:13px;}
141.1490 +.x-form-grow-sizer{font:normal 12px tahoma,arial,helvetica,sans-serif;left:-10000px;padding:8px 3px;position:absolute;visibility:hidden;top:-10000px;white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word;zoom:1;}
141.1491 +.x-form-grow-sizer p{margin:0!important;border:0 none!important;padding:0!important;}
141.1492 +.x-form-item{font:normal 12px tahoma,arial,helvetica,sans-serif;display:block;margin-bottom:4px;}
141.1493 +.x-form-item label{display:block;float:left;width:100px;padding:3px;padding-left:0;clear:left;z-index:2;position:relative;}
141.1494 +.x-form-element{padding-left:105px;position:relative;}
141.1495 +.x-form-invalid-msg{color:#e00;padding:2px;padding-left:18px;font:normal 11px tahoma,arial,helvetica,sans-serif;background:transparent url(../images/default/shared/warning.gif) no-repeat 0 2px;line-height:16px;width:200px;}
141.1496 +.x-form-label-right label{text-align:right;}
141.1497 +.x-form-label-top .x-form-item label{width:auto;float:none;clear:none;display:inline;margin-bottom:4px;position:static;}
141.1498 +.x-form-label-top .x-form-element{padding-left:0;padding-top:4px;}
141.1499 +.x-form-label-top .x-form-item{padding-bottom:4px;}
141.1500 +.x-form-empty-field{color:gray;}
141.1501 +.x-small-editor .x-form-field{font:normal 11px arial,tahoma,helvetica,sans-serif;}
141.1502 +.x-small-editor .x-form-text{height:20px;line-height:16px;vertical-align:middle;}
141.1503 +.ext-ie .x-small-editor .x-form-text{margin-top:-1px!important;margin-bottom:-1px!important;height:20px!important;line-height:16px!important;}
141.1504 +.ext-strict .x-small-editor .x-form-text{height:16px!important;}
141.1505 +.ext-safari .x-small-editor .x-form-field{font:normal 12px arial,tahoma,helvetica,sans-serif;}
141.1506 +.ext-ie .x-small-editor .x-form-text{height:20px;line-height:16px;}
141.1507 +.ext-border-box .x-small-editor .x-form-text{height:20px;}
141.1508 +.x-small-editor .x-form-select-one{height:20px;line-height:16px;vertical-align:middle;}
141.1509 +.x-small-editor .x-form-num-field{text-align:right;}
141.1510 +.x-small-editor .x-form-field-wrap .x-form-trigger{height:19px;}
141.1511 +.x-form-clear{clear:both;height:0;overflow:hidden;line-height:0;font-size:0;}
141.1512 +.x-form-clear-left{clear:left;height:0;overflow:hidden;line-height:0;font-size:0;}
141.1513 +.x-form-cb-label{width:'auto'!important;float:none!important;clear:none!important;display:inline!important;margin-left:4px;}
141.1514 +.x-form-column{float:left;padding:0;margin:0;width:48%;overflow:hidden;zoom:1;}
141.1515 +.x-form .x-form-btns-ct .x-btn{float:right;clear:none;}
141.1516 +.x-form .x-form-btns-ct .x-form-btns td{border:0;padding:0;}
141.1517 +.x-form .x-form-btns-ct .x-form-btns-right table{float:right;clear:none;}
141.1518 +.x-form .x-form-btns-ct .x-form-btns-left table{float:left;clear:none;}
141.1519 +.x-form .x-form-btns-ct .x-form-btns-center{text-align:center;}
141.1520 +.x-form .x-form-btns-ct .x-form-btns-center table{margin:0 auto;}
141.1521 +.x-form .x-form-btns-ct table td.x-form-btn-td{padding:3px;}
141.1522 +.x-form .x-form-btns-ct .x-btn-focus .x-btn-left{background-position:0 -147px;}
141.1523 +.x-form .x-form-btns-ct .x-btn-focus .x-btn-right{background-position:0 -168px;}
141.1524 +.x-form .x-form-btns-ct .x-btn-focus .x-btn-center{background-position:0 -189px;}
141.1525 +.x-form .x-form-btns-ct .x-btn-click .x-btn-center{background-position:0 -126px;}
141.1526 +.x-form .x-form-btns-ct .x-btn-click .x-btn-right{background-position:0 -84px;}
141.1527 +.x-form .x-form-btns-ct .x-btn-click .x-btn-left{background-position:0 -63px;}
141.1528 +.x-form-invalid-icon{width:16px;height:18px;visibility:hidden;position:absolute;left:0;top:0;display:block;background:transparent url(../images/silverCherry/form_exclamation.gif) no-repeat 0 2px;}
141.1529 +.x-fieldset{border:1px solid #c7c7c7;padding:10px;margin-bottom:10px;}
141.1530 +.x-fieldset legend{font:bold 11px tahoma,arial,helvetica,sans-serif;color:#8c8c8c;}
141.1531 +.ext-ie .x-fieldset legend{margin-bottom:10px;}
141.1532 +.ext-ie .x-fieldset{padding-top:0;padding-bottom:5px;}
141.1533 +.x-fieldset legend .x-tool-toggle{margin-right:3px;margin-left:0;float:left!important;}
141.1534 +.x-fieldset legend input{margin-right:3px;float:left!important;height:13px;width:13px;}
141.1535 +fieldset.x-panel-collapsed{padding-bottom:0!important;border-width:1px 0 0 0!important;}
141.1536 +fieldset.x-panel-collapsed .x-fieldset-bwrap{visibility:hidden;position:absolute;left:-1000px;top:-1000px;}
141.1537 +.ext-ie .x-fieldset-bwrap{zoom:1;}
141.1538 +.ext-ie td .x-form-text{position:relative;top:-1px;}
141.1539 +.x-fieldset-noborder{border:0 none transparent;}
141.1540 +.x-fieldset-noborder legend{margin-left:-3px;}
141.1541 +.ext-ie .x-fieldset-noborder legend{position:relative;margin-bottom:23px;}
141.1542 +.ext-ie .x-fieldset-noborder legend span{position:absolute;left:-5px;}
141.1543 +.ext-gecko .x-window-body .x-form-item{-moz-outline:none;}
141.1544 +.ext-gecko .x-form-item{-moz-outline:none;}
141.1545 +.x-hide-label label.x-form-item-label{display:none;}
141.1546 +.x-hide-label .x-form-element{padding-left:0!important;}
141.1547 +
141.1548 +a{color:#ca000000;}
141.1549 +
   142.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   142.2 +++ b/onlypaths/theme/css/xtheme-slate.css	Sun Jan 31 12:33:33 2010 -0500
   142.3 @@ -0,0 +1,664 @@
   142.4 +.x-panel {
   142.5 +    border-style: solid;
   142.6 +    border-color: #ccaacc;
   142.7 +}
   142.8 +.x-panel-header {
   142.9 +    color:#fafafa;
  142.10 +	border:1px solid #ccaacc;
  142.11 +    background-image:url(../images/slate/panel/white-top-bottom.gif);
  142.12 +}
  142.13 +
  142.14 +.x-panel-body {
  142.15 +    border-color:#ccaacc;
  142.16 +}
  142.17 +
  142.18 +.x-panel-bbar .x-toolbar {
  142.19 +    border-color:#ccaacc;
  142.20 +}
  142.21 +
  142.22 +.x-panel-tbar .x-toolbar {
  142.23 +    border-color:#ccaacc;
  142.24 +}
  142.25 +
  142.26 +.x-panel-tbar-noheader .x-toolbar, .x-panel-mc .x-panel-tbar .x-toolbar {
  142.27 +    border-color:#ccaacc;
  142.28 +}
  142.29 +.x-panel-body-noheader, .x-panel-mc .x-panel-body {
  142.30 +    border-color:#ccaacc;
  142.31 +}
  142.32 +.x-panel-tl .x-panel-header {
  142.33 +    color:#f4f4f4;
  142.34 +}
  142.35 +.x-panel-tc {
  142.36 +	background-image:url(../images/slate/panel/top-bottom.gif);
  142.37 +}
  142.38 +.x-panel-tl {
  142.39 +	background-image:url(../images/slate/panel/corners-sprite.gif);
  142.40 +    border-color:#ccaacc;
  142.41 +}
  142.42 +.x-panel-tr {
  142.43 +	background-image:url(../images/slate/panel/corners-sprite.gif);
  142.44 +}
  142.45 +.x-panel-bc {
  142.46 +	background-image:url(../images/slate/panel/top-bottom.gif);
  142.47 +}
  142.48 +.x-panel-bl {
  142.49 +	background-image:url(../images/slate/panel/corners-sprite.gif);
  142.50 +}
  142.51 +.x-panel-br {
  142.52 +	background-image:url(../images/slate/panel/corners-sprite.gif);
  142.53 +}
  142.54 +.x-panel-mc {
  142.55 +    background:#f7eef8;
  142.56 +}
  142.57 +.x-panel-mc .x-panel-body {
  142.58 +    background:transparent;
  142.59 +    border: 0 none;
  142.60 +}
  142.61 +.x-panel-ml {
  142.62 +	background-image:url(../images/slate/panel/left-right.gif);
  142.63 +}
  142.64 +.x-panel-mr {
  142.65 +	background-image:url(../images/slate/panel/left-right.gif);
  142.66 +}
  142.67 +
  142.68 +.x-panel-dd-spacer{
  142.69 +	border:2px dashed #aa88aa;
  142.70 +}
  142.71 +
  142.72 +
  142.73 +/* Tools */
  142.74 +.x-tool {
  142.75 +    background-image:url(../images/slate/panel/tool-sprites.gif);
  142.76 +}
  142.77 +
  142.78 +/* Ghosting */
  142.79 +.x-panel-ghost {
  142.80 +    background:#e0e0e0;
  142.81 +}
  142.82 +
  142.83 +.x-panel-ghost ul {
  142.84 +    border-color:#b0b0b0;
  142.85 +}
  142.86 +
  142.87 +.x-grid-panel .x-panel-mc .x-panel-body {
  142.88 +    border:1px solid #ccaacc;
  142.89 +}
  142.90 +
  142.91 +/* Buttons */
  142.92 +
  142.93 +.x-btn-left{
  142.94 +	background-image:url(../images/slate/button/btn-sprite.gif);
  142.95 +}
  142.96 +.x-btn-right{
  142.97 +	background-image:url(../images/slate/button/btn-sprite.gif);
  142.98 +}
  142.99 +.x-btn-center{
 142.100 +	background-image:url(../images/slate/button/btn-sprite.gif);
 142.101 +}
 142.102 +.x-btn-over button{
 142.103 +	color:#ffffff;
 142.104 +}
 142.105 +.x-btn-focus button{
 142.106 +	color:#ffffff;
 142.107 +}
 142.108 +.x-btn-text-icon .x-btn-with-menu .x-btn-center em {
 142.109 +	background:transparent url(../images/slate/toolbar/btn-arrow.gif) no-repeat scroll right 3px;
 142.110 +}
 142.111 +.x-btn-with-menu .x-btn-center em {
 142.112 +	background:transparent url(../images/slate/toolbar/btn-arrow.gif) no-repeat scroll right 0pt;
 142.113 +}
 142.114 +.x-btn-menu-arrow-wrap .x-btn-center button{
 142.115 +	background:transparent url(../images/slate/button/btn-arrow.gif) no-repeat left 3px;
 142.116 +}
 142.117 +
 142.118 +
 142.119 +/* Layout classes */
 142.120 +
 142.121 +.x-border-layout-ct {
 142.122 +    background:#f0f0f0;
 142.123 +}
 142.124 +
 142.125 +.x-accordion-hd {
 142.126 +	background-image:url(../images/slate/panel/light-hd.gif);
 142.127 +}
 142.128 +
 142.129 +.x-layout-collapsed{
 142.130 +    background-color:#775577;
 142.131 +    border-color:#e0e0e0;
 142.132 +}
 142.133 +.x-layout-collapsed-over{
 142.134 +	 background-color:#997799;
 142.135 +}
 142.136 +
 142.137 +
 142.138 +
 142.139 +/* Toolbars */
 142.140 +
 142.141 +.x-toolbar{
 142.142 +	border-color:#ccaacc;
 142.143 +    background:#f3f0f5 url(../images/slate/toolbar/bg.gif) repeat-x top left;
 142.144 +}
 142.145 +.x-toolbar button {
 142.146 +    color:#f4f4f4;
 142.147 +}
 142.148 +.x-toolbar .ytb-text {
 142.149 +	color:white;
 142.150 +}
 142.151 +.x-toolbar .x-btn-menu-arrow-wrap .x-btn-center button {
 142.152 +    background-image:url(../images/slate/toolbar/btn-arrow.gif);
 142.153 +}
 142.154 +.x-toolbar .x-btn-text-icon .x-btn-menu-arrow-wrap .x-btn-center button {
 142.155 +    background-image:url(../images/slate/toolbar/btn-arrow.gif);
 142.156 +}
 142.157 +.x-toolbar .x-btn-over .x-btn-left{
 142.158 +	background-image:url(../images/slate/toolbar/tb-btn-sprite.gif);
 142.159 +}
 142.160 +.x-toolbar .x-btn-over .x-btn-right{
 142.161 +	background-image:url(../images/slate/toolbar/tb-btn-sprite.gif);
 142.162 +}
 142.163 +.x-toolbar .x-btn-over .x-btn-center{
 142.164 +	background-image:url(../images/slate/toolbar/tb-btn-sprite.gif);
 142.165 +}
 142.166 +.x-toolbar .x-btn-over button {
 142.167 +    color:#ffffff;
 142.168 +}
 142.169 +.x-toolbar .x-btn-click .x-btn-left, .x-toolbar .x-btn-pressed .x-btn-left, .x-toolbar .x-btn-menu-active .x-btn-left{
 142.170 +	background-image:url(../images/slate/toolbar/tb-btn-sprite.gif);
 142.171 +}
 142.172 +.x-toolbar .x-btn-click .x-btn-right, .x-toolbar .x-btn-pressed .x-btn-right, .x-toolbar .x-btn-menu-active .x-btn-right{
 142.173 +	background-image:url(../images/slate/toolbar/tb-btn-sprite.gif);
 142.174 +}
 142.175 +
 142.176 +.x-toolbar .x-btn-click .x-btn-center, .x-toolbar .x-btn-pressed .x-btn-center, .x-toolbar .x-btn-menu-active .x-btn-center{
 142.177 +	background-image:url(../images/slate/toolbar/tb-btn-sprite.gif);
 142.178 +}
 142.179 +.x-toolbar .ytb-sep {
 142.180 +	background-image: url(../images/slate/grid/grid-split.gif);
 142.181 +}
 142.182 +
 142.183 +/* Menus */
 142.184 +
 142.185 +.x-menu{
 142.186 +	border:1px solid #aaaaaa;
 142.187 +	background:#f0f0f0 url(../images/slate/menu/menu.gif) repeat-y;
 142.188 +}
 142.189 +.x-menu-item-active{
 142.190 +	background:#fdebfb url(../images/slate/menu/item-over.gif) repeat-x left bottom;
 142.191 +	border:1px solid #d1c2d2;
 142.192 +}
 142.193 +.x-menu-item-arrow{
 142.194 +	background:transparent url(../images/slate/menu/menu-parent.gif) no-repeat right;
 142.195 +}
 142.196 +
 142.197 +
 142.198 +/* Tabs */
 142.199 +
 142.200 +.x-tab-panel-header, .x-tab-panel-footer {
 142.201 +	
 142.202 +	background: #9d6a9f;
 142.203 +	border-color:#7b4f7b;
 142.204 +}
 142.205 +
 142.206 +
 142.207 +.x-tab-panel-header {
 142.208 +	border-color:#ccaacc;
 142.209 +}
 142.210 +
 142.211 +.x-tab-panel-footer {
 142.212 +	border-color:#ccaacc;
 142.213 +}
 142.214 +
 142.215 +ul.x-tab-strip-top{
 142.216 +	background:#dbdbdb url(../images/slate/tabs/tab-strip-bg.gif) repeat-x left top;
 142.217 +	border-color:#7e4c7c;
 142.218 +    padding-top: 2px;
 142.219 +}
 142.220 +
 142.221 +ul.x-tab-strip-bottom{
 142.222 +	background-image:url(../images/slate/tabs/tab-strip-btm-bg.gif);
 142.223 +	border-color:#825682;
 142.224 +}
 142.225 +
 142.226 +.x-tab-strip span.x-tab-strip-text {
 142.227 +	color:#333333;
 142.228 +}
 142.229 +.x-tab-strip-over span.x-tab-strip-text {
 142.230 +	color:#111111;
 142.231 +}
 142.232 +
 142.233 +.x-tab-strip-active span.x-tab-strip-text {
 142.234 +	color:#ffffff;
 142.235 +}
 142.236 +
 142.237 +.x-tab-strip-disabled .x-tabs-text {
 142.238 +	color:#aaaaaa;
 142.239 +}
 142.240 +
 142.241 +.x-tab-strip-top .x-tab-right {
 142.242 +	background-image:url(../images/slate/tabs/tabs-sprite.gif);
 142.243 +}
 142.244 +
 142.245 +.x-tab-strip-top .x-tab-left {
 142.246 +	background-image:url(../images/slate/tabs/tabs-sprite.gif);
 142.247 +}
 142.248 +.x-tab-strip-top .x-tab-strip-inner {
 142.249 +	background-image:url(../images/slate/tabs/tabs-sprite.gif);
 142.250 +}
 142.251 +
 142.252 +.x-tab-strip-bottom .x-tab-right {
 142.253 +	background-image:url(../images/slate/tabs/tab-btm-inactive-right-bg.gif);
 142.254 +}
 142.255 +
 142.256 +.x-tab-strip-bottom .x-tab-left {
 142.257 +	background-image:url(../images/slate/tabs/tab-btm-inactive-left-bg.gif);
 142.258 +}
 142.259 +
 142.260 +.x-tab-strip-bottom .x-tab-strip-active .x-tab-right {
 142.261 +	background-image:url(../images/slate/tabs/tab-btm-right-bg.gif);
 142.262 +}
 142.263 +
 142.264 +.x-tab-strip-bottom .x-tab-strip-active .x-tab-left {
 142.265 +	background-image:url(../images/slate/tabs/tab-btm-left-bg.gif);
 142.266 +}
 142.267 +
 142.268 +.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close {
 142.269 +	background-image:url(../images/slate/tabs/tab-close.gif);
 142.270 +}
 142.271 +.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close:hover{
 142.272 +	background-image:url(../images/slate/tabs/tab-close.gif);
 142.273 +}
 142.274 +
 142.275 +.x-tab-panel-body {
 142.276 +    border-color:#ccaacc;
 142.277 +    background:#ffffff;
 142.278 +}
 142.279 +.x-tab-panel-bbar .x-toolbar {
 142.280 +    border-color: #ccaacc;
 142.281 +}
 142.282 +
 142.283 +.x-tab-panel-tbar .x-toolbar {
 142.284 +    border-color: #ccaacc;
 142.285 +}
 142.286 +
 142.287 +.x-tab-panel-header-plain .x-tab-strip-spacer {
 142.288 +    border-color:#ccaacc;
 142.289 +	background: #9d6a9f;
 142.290 +}
 142.291 +
 142.292 +.x-tab-scroller-left {
 142.293 +    background-image: url(../images/slate/tabs/scroll-left.gif);
 142.294 +    border-color:#aeaeae;
 142.295 +}
 142.296 +.x-tab-scroller-right {
 142.297 +    background-image: url(../images/slate/tabs/scroll-right.gif);
 142.298 +    border-color:#aeaeae;
 142.299 +}
 142.300 +
 142.301 +/* Window */
 142.302 +
 142.303 +.x-window-proxy {
 142.304 +    background:#ece4eb;
 142.305 +    border-color:#ccaacc;
 142.306 +}
 142.307 +
 142.308 +.x-window-tl .x-window-header {
 142.309 +    color:#fafafa;
 142.310 +}
 142.311 +.x-window-tc {
 142.312 +	background-image:url(../images/slate/window/top-bottom.png);
 142.313 +}
 142.314 +.x-window-tl {
 142.315 +	background-image:url(../images/slate/window/left-corners.png);
 142.316 +}
 142.317 +.x-window-tr {
 142.318 +	background-image:url(../images/slate/window/right-corners.png);
 142.319 +}
 142.320 +.x-window-bc {
 142.321 +	background-image:url(../images/slate/window/top-bottom.png);
 142.322 +}
 142.323 +.x-window-bl {
 142.324 +	background-image:url(../images/slate/window/left-corners.png);
 142.325 +}
 142.326 +.x-window-br {
 142.327 +	background-image:url(../images/slate/window/right-corners.png);
 142.328 +}
 142.329 +.x-window-mc {
 142.330 +    border:1px solid #ccaacc;
 142.331 +    background:#e8e8e8;
 142.332 +}
 142.333 +
 142.334 +.x-window-ml {
 142.335 +	background-image:url(../images/slate/window/left-right.png);
 142.336 +}
 142.337 +.x-window-mr {
 142.338 +	background-image:url(../images/slate/window/left-right.png);
 142.339 +}
 142.340 +.x-panel-ghost .x-window-tl {
 142.341 +    border-color:#ccaacc;
 142.342 +}
 142.343 +.x-panel-collapsed .x-window-tl {
 142.344 +    border-color:#ccaacc;
 142.345 +}
 142.346 +
 142.347 +.x-window-plain .x-window-mc {
 142.348 +    background: #e8e8e8;
 142.349 +    border-right:1px solid #eeeeee;
 142.350 +    border-bottom:1px solid #eeeeee;
 142.351 +    border-top:1px solid #ccaacc;
 142.352 +    border-left:1px solid #ccaacc;
 142.353 +}
 142.354 +
 142.355 +.x-window-plain .x-window-body {
 142.356 +    border-left:1px solid #dddddd;
 142.357 +    border-top:1px solid #dddddd;
 142.358 +    border-bottom:1px solid #ccaacc;
 142.359 +    border-right:1px solid #ccaacc;
 142.360 +    background:transparent !important;
 142.361 +}
 142.362 +
 142.363 +body.x-body-masked .x-window-mc, body.x-body-masked .x-window-plain .x-window-mc {
 142.364 +    background-color: #f0ecf0;
 142.365 +}
 142.366 +
 142.367 +
 142.368 +/* HTML Editor */
 142.369 +.x-html-editor-wrap {
 142.370 +    border-color:#ccaacc;
 142.371 +}
 142.372 +.x-html-editor-tb .x-btn-text {
 142.373 +	background:transparent url(../images/slate/editor/tb-sprite.gif) no-repeat scroll 0%;
 142.374 +}
 142.375 +
 142.376 +
 142.377 +/* Borders go last for specificity */
 142.378 +.x-panel-noborder .x-panel-body-noborder {
 142.379 +    border-width:0;
 142.380 +}
 142.381 +
 142.382 +.x-panel-noborder .x-panel-header-noborder {
 142.383 +    border-width:0;
 142.384 +    border-bottom:1px solid #ccaacc;
 142.385 +}
 142.386 +
 142.387 +.x-panel-noborder .x-panel-tbar-noborder .x-toolbar {
 142.388 +    border-width:0;
 142.389 +    border-bottom:1px solid #ccaacc;
 142.390 +}
 142.391 +
 142.392 +.x-panel-noborder .x-panel-bbar-noborder .x-toolbar {
 142.393 +    border-width:0;
 142.394 +    border-top:1px solid #ccaacc;
 142.395 +}
 142.396 +
 142.397 +.x-window-noborder .x-window-mc {
 142.398 +    border-width:0;
 142.399 +}
 142.400 +.x-window-plain .x-window-body-noborder {
 142.401 +    border-width:0;
 142.402 +}
 142.403 +
 142.404 +.x-tab-panel-noborder .x-tab-panel-body-noborder {
 142.405 +	border-width:0;
 142.406 +}
 142.407 +
 142.408 +.x-tab-panel-noborder .x-tab-panel-header-noborder {
 142.409 +	border-top-width:0;
 142.410 +	border-left-width:0;
 142.411 +	border-right-width:0;
 142.412 +}
 142.413 +
 142.414 +.x-tab-panel-noborder .x-tab-panel-footer-noborder {
 142.415 +	border-bottom-width:0;
 142.416 +	border-left-width:0;
 142.417 +	border-right-width:0;
 142.418 +}
 142.419 +
 142.420 +
 142.421 +.x-tab-panel-bbar-noborder .x-toolbar {
 142.422 +    border-width:0;
 142.423 +    border-top:1px solid #ccaacc;
 142.424 +}
 142.425 +
 142.426 +.x-tab-panel-tbar-noborder .x-toolbar {
 142.427 +    border-width:0;
 142.428 +    border-bottom:1px solid #ccaacc;
 142.429 +}
 142.430 +
 142.431 +/* Forms */
 142.432 +.x-form-text, textarea.x-form-field {
 142.433 +	border:1px solid #bb99bb; 
 142.434 +}
 142.435 +.x-trigger-wrap-focus .x-form-trigger {
 142.436 +	border-bottom:1px solid #8e4a92;
 142.437 +}
 142.438 +.x-form-focus,textarea.x-form-focus {
 142.439 +	border:1px solid #8e4a92;
 142.440 +}
 142.441 +
 142.442 +.x-form-field-wrap .x-form-trigger {
 142.443 +	background:transparent url(../images/slate/form/trigger.gif) no-repeat 0 0;
 142.444 +}
 142.445 +.x-form-field-wrap .x-form-date-trigger {
 142.446 +	background-image:url(../images/slate/form/date-trigger.gif);
 142.447 +}
 142.448 +.x-form-field-wrap .x-form-clear-trigger {
 142.449 +	background-image:url(../images/slate/form/clear-trigger.gif);
 142.450 +}
 142.451 +.x-form-field-wrap .x-form-search-trigger {
 142.452 +	background-image:url(../images/slate/form/search-trigger.gif);
 142.453 +}
 142.454 +
 142.455 +.x-form-field-wrap .x-form-trigger {
 142.456 +	border-bottom:1px solid #997799;
 142.457 +}
 142.458 +
 142.459 +.x-form fieldset legend {
 142.460 +	color:#333333;
 142.461 +}
 142.462 +
 142.463 +/* 	the following need to be duplicated from ext-all.js,
 142.464 +	otherwise hover effects are broken */
 142.465 +.x-form-field-wrap .x-form-trigger-over{background-position:-17px 0;}
 142.466 +.x-form-field-wrap .x-form-trigger-click{background-position:-34px 0;}
 142.467 +.x-trigger-wrap-focus .x-form-trigger{background-position:-51px 0;}
 142.468 +.x-trigger-wrap-focus .x-form-trigger-over{background-position:-68px 0;}
 142.469 +.x-trigger-wrap-focus .x-form-trigger-click{background-position:-85px 0;}
 142.470 +
 142.471 +
 142.472 +/* Grid */
 142.473 +
 142.474 +.x-grid3-row-selected {
 142.475 +	background:#d2fbdb;
 142.476 +	border:1px dotted #cccccc;
 142.477 +}
 142.478 +.x-grid3-hd-btn{
 142.479 +	background:#a9f2b5 url(../images/slate/grid/grid3-hd-btn.gif) no-repeat left center;
 142.480 +}
 142.481 +.x-grid3-header{
 142.482 +	background:#f9f9f9 url(../images/slate/grid/grid3-hrow.gif) repeat-x 0 bottom;
 142.483 +}
 142.484 +td.x-grid3-hd-over .x-grid3-hd-inner,td.sort-desc .x-grid3-hd-inner,td.sort-asc .x-grid3-hd-inner,td.x-grid3-hd-menu-open .x-grid3-hd-inner{
 142.485 +	background:#fdebfb url(../images/slate/grid/grid3-hrow-over.gif) repeat-x left bottom;
 142.486 +}
 142.487 +.sort-asc .x-grid3-sort-icon{
 142.488 +	background-image:url(../images/slate/grid/sort_asc.gif);
 142.489 +}
 142.490 +.sort-desc .x-grid3-sort-icon{
 142.491 +	background-image:url(../images/slate/grid/sort_desc.gif);
 142.492 +}
 142.493 +td.x-grid3-hd-over, td.sort-desc, td.sort-asc, td.x-grid3-hd-menu-open {
 142.494 +	border-left:1px solid #ffffff;
 142.495 +	border-right:1px solid #cccccc;
 142.496 +}
 142.497 +.x-grid3-cell-selected{
 142.498 +	background-color:#ebe0ee!important;
 142.499 +}
 142.500 +.x-grid3-body .x-grid3-td-expander{
 142.501 +	background:transparent url(../images/slate/grid/grid3-special-col-bg.gif) repeat-y right;
 142.502 +}
 142.503 +.x-grid3-body .x-grid3-td-checker{
 142.504 +	background:transparent url(../images/slate/grid/grid3-special-col-bg.gif) repeat-y right;
 142.505 +}
 142.506 +.x-grid3-body .x-grid3-td-numberer{
 142.507 +	background:transparent url(../images/slate/grid/grid3-special-col-bg.gif) repeat-y right;
 142.508 +}
 142.509 +.x-grid3-body .x-grid3-row-selected .x-grid3-td-numberer,.x-grid3-body .x-grid3-row-selected .x-grid3-td-checker,.x-grid3-body .x-grid3-row-selected .x-grid3-td-expander{
 142.510 +	background:transparent url(../images/slate/grid/grid3-special-col-sel-bg.gif) repeat-y right;
 142.511 +}
 142.512 +.x-grid-group-hd {
 142.513 +	border-bottom:2px solid #b2aabb;
 142.514 +}
 142.515 +.x-grid-group-hd div {
 142.516 +	color: #664466;
 142.517 +}
 142.518 +.x-dd-drag-proxy .x-grid3-hd-inner{
 142.519 +	background:#fdebfb url(../images/slate/grid/grid3-hrow-over.gif) repeat-x left bottom;
 142.520 +	border:1px solid #ccaacc;
 142.521 +}
 142.522 +.x-tbar-page-first{
 142.523 +	background-image:url(../images/slate/grid/page-first.gif)!important;
 142.524 +}
 142.525 +.x-tbar-page-last{
 142.526 +	background-image:url(../images/slate/grid/page-last.gif)!important;
 142.527 +}
 142.528 +.x-tbar-page-next{
 142.529 +	background-image:url(../images/slate/grid/page-next.gif)!important;
 142.530 +}
 142.531 +.x-tbar-page-prev{
 142.532 +	background-image:url(../images/slate/grid/page-prev.gif)!important;
 142.533 +}
 142.534 +.x-paging-info {
 142.535 +	color:#ffffff;
 142.536 +}
 142.537 +
 142.538 +
 142.539 +/* Progress Bar */
 142.540 +
 142.541 +.x-progress-bar{
 142.542 +	background:#ee9ce8 url( ../../resources/images/slate/progress/progress-bg.gif ) repeat-x left center;
 142.543 +	border-top:1px solid #dddddd;
 142.544 +	border-bottom:1px solid #dddddd;
 142.545 +}
 142.546 +
 142.547 +
 142.548 +/* Combos */
 142.549 +.x-combo-list{
 142.550 +	border:1px solid #aa88aa;
 142.551 +}
 142.552 +.x-combo-list .x-combo-selected{
 142.553 +	border:1px dotted #cccccc!important;
 142.554 +	background:#d2fbdb;
 142.555 +}
 142.556 +
 142.557 +
 142.558 +/* Calendars */
 142.559 +
 142.560 +.x-date-middle,.x-date-left,.x-date-right{
 142.561 +	background:url(../images/slate/shared/hd-sprite.gif) repeat-x 0 -83px;
 142.562 +}
 142.563 +.x-date-bottom {
 142.564 +	background:#fbdffa url(../images/slate/shared/glass-bg.gif) repeat-x scroll left top;
 142.565 +	border-top:1px solid #ccaacc;
 142.566 +}
 142.567 +.x-date-right a{
 142.568 +	background-image:url(../images/slate/shared/right-btn.gif);
 142.569 +}
 142.570 +.x-date-left a{
 142.571 +	background-image:url(../images/slate/shared/left-btn.gif);
 142.572 +}
 142.573 +.x-date-inner th{
 142.574 +	background:#fbdffa url(../images/slate/shared/glass-bg.gif) repeat-x left top;
 142.575 +	border-bottom:1px solid #ccaacc;
 142.576 +	color:#553355;
 142.577 +}
 142.578 +.x-date-inner .x-date-selected a {
 142.579 +	background:#fbdffa url(../images/slate/shared/glass-bg.gif) repeat-x scroll left top;
 142.580 +	border:1px solid #aa88aa;
 142.581 +}
 142.582 +.x-date-inner a:hover,.x-date-inner .x-date-disabled a:hover{
 142.583 +	background:#dccfe1;
 142.584 +}
 142.585 +td.x-date-mp-month a:hover,td.x-date-mp-year a:hover{
 142.586 +	color:#331033;
 142.587 +	background:#dccfe1;
 142.588 +}
 142.589 +.x-date-mp-ybtn a{
 142.590 +	background:transparent url(../images/slate/panel/tool-sprites.gif) no-repeat;
 142.591 +}
 142.592 +.x-date-mp-btns {
 142.593 +	background:#fbdffa url(../images/slate/shared/glass-bg.gif) repeat-x scroll left top;
 142.594 +}
 142.595 +td.x-date-mp-sel a{
 142.596 +	background:#fbdffa url(../images/slate/shared/glass-bg.gif) repeat-x left top;
 142.597 +	border:1px solid #ccaacc;
 142.598 +}
 142.599 +.x-date-mp-btns button{
 142.600 +	background:#74406f;
 142.601 +	border:1px solid;
 142.602 +	border-color:#ccaacc #2a0055 #2a0055 #ccaacc;
 142.603 +}
 142.604 +
 142.605 +/* Resizable Handle */
 142.606 +.x-resizable-over .x-resizable-handle-east,.x-resizable-pinned .x-resizable-handle-east{
 142.607 +	background:url(../images/slate/sizer/e-handle.gif);background-position:left;
 142.608 +}
 142.609 +.x-resizable-over .x-resizable-handle-west,.x-resizable-pinned .x-resizable-handle-west{
 142.610 +	background:url(../images/slate/sizer/e-handle.gif);background-position:left;
 142.611 +}
 142.612 +.x-resizable-over .x-resizable-handle-south,.x-resizable-pinned .x-resizable-handle-south{
 142.613 +	background:url(../images/slate/sizer/s-handle.gif);background-position:top;
 142.614 +}
 142.615 +.x-resizable-over .x-resizable-handle-north,.x-resizable-pinned .x-resizable-handle-north{
 142.616 +	background:url(../images/slate/sizer/s-handle.gif);background-position:top;
 142.617 +}
 142.618 +.x-resizable-over .x-resizable-handle-southeast,.x-resizable-pinned .x-resizable-handle-southeast{
 142.619 +	background:url(../images/slate/sizer/se-handle.gif);background-position:top left;
 142.620 +}
 142.621 +.x-resizable-over .x-resizable-handle-northwest,.x-resizable-pinned .x-resizable-handle-northwest{
 142.622 +	background:url(../images/slate/sizer/nw-handle.gif);background-position:bottom right;
 142.623 +}
 142.624 +.x-resizable-over .x-resizable-handle-northeast,.x-resizable-pinned .x-resizable-handle-northeast{
 142.625 +	background:url(../images/slate/sizer/ne-handle.gif);background-position:bottom left;
 142.626 +}
 142.627 +.x-resizable-over .x-resizable-handle-southwest,.x-resizable-pinned .x-resizable-handle-southwest{
 142.628 +	background:url(../images/slate/sizer/sw-handle.gif);background-position:top right;
 142.629 +}
 142.630 +
 142.631 +/* Tips */
 142.632 +.x-tip .x-tip-close{
 142.633 +	background-image:url(../images/slate/qtip/close.gif);
 142.634 +}
 142.635 +.x-tip .x-tip-tc{
 142.636 +	background:transparent url(../images/slate/qtip/tip-sprite.gif) no-repeat 0 -62px;
 142.637 +}
 142.638 +.x-tip .x-tip-tl{
 142.639 +	background:transparent url(../images/slate/qtip/tip-sprite.gif) no-repeat 0 0;
 142.640 +}
 142.641 +.x-tip .x-tip-tr{
 142.642 +	background:transparent url(../images/slate/qtip/tip-sprite.gif) no-repeat right 0;
 142.643 +}
 142.644 +.x-tip .x-tip-bc{
 142.645 +	background:transparent url(../images/slate/qtip/tip-sprite.gif) no-repeat 0 -121px;
 142.646 +}
 142.647 +.x-tip .x-tip-bl{
 142.648 +	background:transparent url(../images/slate/qtip/tip-sprite.gif) no-repeat 0 -59px;
 142.649 +}
 142.650 +.x-tip .x-tip-br{
 142.651 +	background:transparent url(../images/slate/qtip/tip-sprite.gif) no-repeat right -59px;
 142.652 +}
 142.653 +.x-tip .x-tip-ml{
 142.654 +	background:#ffffff url(../images/slate/qtip/tip-sprite.gif) no-repeat 0 -124px;
 142.655 +}
 142.656 +.x-tip .x-tip-mr{
 142.657 +	background:transparent url(../images/slate/qtip/tip-sprite.gif) no-repeat right -124px;
 142.658 +}
 142.659 +
 142.660 +
 142.661 +
 142.662 +
 142.663 +/* Miscellaneous */
 142.664 +
 142.665 +.x-item-disabled * {
 142.666 +	color:#333333 !important;
 142.667 +}
   143.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   143.2 +++ b/onlypaths/theme/css/xtheme-slickness.css	Sun Jan 31 12:33:33 2010 -0500
   143.3 @@ -0,0 +1,1170 @@
   143.4 +/*
   143.5 + * Ext JS Library 2.0 Alpha 1
   143.6 + * Copyright(c) 2006-2007, Ext JS, LLC.
   143.7 + *
   143.8 + * @license GPL
   143.9 + * @author Kemal Tunador <tunador@madrabaz.com>
  143.10 + */
  143.11 +.ext-el-mask {
  143.12 +    background-color: #000000;
  143.13 +}
  143.14 +
  143.15 +.ext-el-mask-msg {
  143.16 +    border: 1px solid #444444;
  143.17 +    background: #666666;
  143.18 +}
  143.19 +
  143.20 +.ext-el-mask-msg div {
  143.21 +    border: 1px solid #888888;
  143.22 +}
  143.23 +
  143.24 +.x-panel {
  143.25 +    border-style: solid;
  143.26 +    border-color: #000000;
  143.27 +}
  143.28 +
  143.29 +.x-panel-header {
  143.30 +    color: #eeeef0;
  143.31 +    border: 1px solid #000000;
  143.32 +    background-image: url(../images/slickness/panel/white-top-bottom.gif);
  143.33 +}
  143.34 +
  143.35 +.x-panel-body {
  143.36 +    border-color: #000000;
  143.37 +    color: #111;
  143.38 +}
  143.39 +
  143.40 +.x-panel-bbar .x-toolbar {
  143.41 +    border-color: #000000;
  143.42 +}
  143.43 +
  143.44 +.x-panel-tbar .x-toolbar {
  143.45 +    border-color: #000000;
  143.46 +}
  143.47 +
  143.48 +.x-panel-tbar-noheader .x-toolbar, .x-panel-mc .x-panel-tbar .x-toolbar {
  143.49 +    border-color: #000000;
  143.50 +}
  143.51 +
  143.52 +.x-panel-body-noheader, .x-panel-mc .x-panel-body {
  143.53 +    border-color: #000000;
  143.54 +}
  143.55 +
  143.56 +.x-panel-tl .x-panel-header {
  143.57 +    color: #eeeef0;
  143.58 +}
  143.59 +
  143.60 +.x-panel-tc {
  143.61 +    background-image: url(../images/slickness/panel/top-bottom.gif);
  143.62 +}
  143.63 +
  143.64 +.x-panel-tl {
  143.65 +    background-image: url(../images/slickness/panel/corners-sprite.gif);
  143.66 +    border-color: #000000;
  143.67 +}
  143.68 +
  143.69 +.x-panel-tr {
  143.70 +    background-image: url(../images/slickness/panel/corners-sprite.gif);
  143.71 +}
  143.72 +
  143.73 +.x-panel-bc {
  143.74 +    background-image: url(../images/slickness/panel/top-bottom.gif);
  143.75 +}
  143.76 +
  143.77 +.x-panel-bl {
  143.78 +    background-image: url(../images/slickness/panel/corners-sprite.gif);
  143.79 +}
  143.80 +
  143.81 +.x-panel-br {
  143.82 +    background-image: url(../images/slickness/panel/corners-sprite.gif);
  143.83 +}
  143.84 +
  143.85 +.x-panel-mc {
  143.86 +    background: #171717;
  143.87 +}
  143.88 +
  143.89 +.x-panel-mc .x-panel-body {
  143.90 +    background: transparent;
  143.91 +    border: 0 none;
  143.92 +    color: #eee !important;
  143.93 +}
  143.94 +
  143.95 +.x-panel-ml {
  143.96 +    background-image: url(../images/slickness/panel/left-right.gif);
  143.97 +}
  143.98 +
  143.99 +.x-panel-mr {
 143.100 +    background-image: url(../images/slickness/panel/left-right.gif);
 143.101 +}
 143.102 +/* Ghosting */
 143.103 +.x-panel-ghost {
 143.104 +    background: #161616;
 143.105 +}
 143.106 +
 143.107 +.x-panel-ghost ul {
 143.108 +    border-color: #000000;
 143.109 +}
 143.110 +
 143.111 +.x-grid-panel .x-panel-mc .x-panel-body {
 143.112 +    border: 1px solid #000000;
 143.113 +}
 143.114 +/* Grid */
 143.115 +.x-grid3-row {
 143.116 +    color: #000000;
 143.117 +    border: 1px solid #666;
 143.118 +    border-bottom: 1px solid #000;
 143.119 +}
 143.120 +
 143.121 +.x-grid3-row-over {
 143.122 +    border: 1px solid #292929;
 143.123 +    border-left: 1px solid #666;
 143.124 +    background-image: url(../images/slickness/grid/row-over.gif);
 143.125 +}
 143.126 +
 143.127 +.x-grid3-header {
 143.128 +    background-image: url(../images/slickness/grid/grid3-hrow.gif);
 143.129 +    background-color: #747474;
 143.130 +}
 143.131 +
 143.132 +.x-grid3-hd-inner {
 143.133 +    color: #EEEEEE;
 143.134 +}
 143.135 +
 143.136 +.x-grid3-header-pop-inner {
 143.137 +    border-left: 1px solid #000000;
 143.138 +    background-image: url(../images/slickness/grid/hd-pop.gif);
 143.139 +}
 143.140 +
 143.141 +td.x-grid3-hd-over, td.sort-desc, td.sort-asc, td.x-grid3-hd-menu-open {
 143.142 +    border-left: 1px solid #000000;
 143.143 +    border-right: 1px solid #000000;
 143.144 +}
 143.145 +
 143.146 +.sort-desc .x-grid3-sort-icon {
 143.147 +    background-image: url(../images/slickness/grid/sort_desc.gif);
 143.148 +}
 143.149 +
 143.150 +.sort-asc .x-grid3-sort-icon {
 143.151 +    background-image: url(../images/slickness/grid/sort_asc.gif);
 143.152 +}
 143.153 +
 143.154 +td.x-grid3-hd-over .x-grid3-hd-inner, td.sort-desc .x-grid3-hd-inner, td.sort-asc .x-grid3-hd-inner, td.x-grid3-hd-menu-open .x-grid3-hd-inner {
 143.155 +    background-image: url(../images/slickness/grid/grid3-hrow-over.gif);
 143.156 +    background-color: #333;
 143.157 +}
 143.158 +
 143.159 +.x-dd-drag-proxy .x-grid3-hd-inner {
 143.160 +    background-image: url(../images/slickness/grid/grid3-hrow-over.gif);
 143.161 +}
 143.162 +
 143.163 +.x-grid3-locked td.x-grid3-row-marker, .x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker {
 143.164 +    background-image: url(../images/slickness/grid/grid-hrow.gif);
 143.165 +    color: #666;
 143.166 +    border-top: 1px solid #666 !important;
 143.167 +    border-right: 1px solid #000 !important;
 143.168 +}
 143.169 +
 143.170 +.x-grid3-hd-btn {
 143.171 +    background-image: url(../images/slickness/grid/grid3-hd-btn.gif);
 143.172 +}
 143.173 +
 143.174 +.x-grid3-body .x-grid3-td-expander {
 143.175 +    background-image: url(../images/slickness/grid/grid3-special-col-bg.gif);
 143.176 +}
 143.177 +
 143.178 +.x-grid3-body .x-grid3-td-checker {
 143.179 +    background-image: url(../images/slickness/grid/grid3-special-col-bg.gif);
 143.180 +}
 143.181 +
 143.182 +.x-grid3-body .x-grid3-td-numberer {
 143.183 +    background-image: url(../images/slickness/grid/grid3-special-col-bg.gif);
 143.184 +}
 143.185 +
 143.186 +.x-grid3-body .x-grid3-row-selected .x-grid3-td-numberer, .x-grid3-body .x-grid3-row-selected .x-grid3-td-checker, .x-grid3-body .x-grid3-row-selected .x-grid3-td-expander {
 143.187 +    background-image: url(../images/slickness/grid/grid3-special-col-sel-bg.gif);
 143.188 +}
 143.189 +
 143.190 +.x-grid3-body .x-grid3-td-numberer .x-grid3-cell-inner {
 143.191 +    color: #eee;
 143.192 +}
 143.193 +
 143.194 +.x-grid3-hd-row td {
 143.195 +    border-left: 1px solid #555;
 143.196 +    border-right: 1px solid #333;
 143.197 +}
 143.198 +
 143.199 +.x-grid3-row-selected .x-grid3-cell, .x-grid3-row-selected .x-grid3-body-cell{
 143.200 +    color: #fff !important;
 143.201 +}
 143.202 +
 143.203 +.x-grid3-row-selected {
 143.204 +    background: #333 !important;
 143.205 +    border: 1px solid #fff;
 143.206 +}
 143.207 +
 143.208 +.x-grid-group-hd div {
 143.209 +    color: #223355;
 143.210 +}
 143.211 +
 143.212 +.x-grid-group-hd {
 143.213 +    border: 1px solid #000;
 143.214 +    border-bottom: 2px solid #333;
 143.215 +}
 143.216 +
 143.217 +.x-grid3-row-checker, .x-grid3-hd-checker {
 143.218 +    background-image: url(../images/slickness/grid/row-check-sprite.gif);
 143.219 +}
 143.220 +/* Menu */
 143.221 +.x-menu {
 143.222 +    border: 1px solid #000000;
 143.223 +    background-color: #393939;
 143.224 +    background-image: url(../images/slickness/menu/menu.gif);
 143.225 +}
 143.226 +
 143.227 +.x-menu-sep {
 143.228 +    background-color: #4d4d4d;
 143.229 +    border-bottom: 1px solid #272727;
 143.230 +}
 143.231 +
 143.232 +.x-menu-plain {
 143.233 +    background: #393939 !important;
 143.234 +}
 143.235 +
 143.236 +.x-menu-item-active {
 143.237 +    background-image: url(../images/slickness/menu/item-over.gif);
 143.238 +    background-color: #3f3f3f;
 143.239 +    border: 1px solid #222222;
 143.240 +}
 143.241 +
 143.242 +.x-menu a.x-menu-item {
 143.243 +    color: #eeeeee;
 143.244 +}
 143.245 +
 143.246 +.x-cycle-menu .x-menu-item-checked {
 143.247 +    border: 1px solid #222 !important;
 143.248 +    background: #414140 url(../images/slickness/menu/item-selected.gif) repeat-x left bottom;
 143.249 +    padding: 0;
 143.250 +    /*margin : 1px 0px;*/
 143.251 +}
 143.252 +
 143.253 +.x-menu-item-active a.x-menu-item {
 143.254 +    color: #ffffff;
 143.255 +}
 143.256 +
 143.257 +.xg-hmenu-sort-asc .x-menu-item-icon {
 143.258 +    background-image: url(../images/slickness/grid/hmenu-asc.gif);
 143.259 +}
 143.260 +
 143.261 +.xg-hmenu-sort-desc .x-menu-item-icon {
 143.262 +    background-image: url(../images/slickness/grid/hmenu-desc.gif);
 143.263 +}
 143.264 +
 143.265 +.x-menu-item-icon {
 143.266 +    height: 14px;
 143.267 +    width: 14px;
 143.268 +}
 143.269 +
 143.270 +.x-menu-check-item .x-menu-item-icon {
 143.271 +    background-image: url(../images/slickness/menu/unchecked.gif);
 143.272 +}
 143.273 +
 143.274 +.x-menu-item-checked .x-menu-item-icon {
 143.275 +    background-image: url(../images/slickness/menu/checked.gif);
 143.276 +}
 143.277 +
 143.278 +.x-menu-list-item .x-menu-group-item .x-menu-item-icon {
 143.279 +    background-image: url(../images/slickness/menu/group-unchecked.gif);
 143.280 +}
 143.281 +
 143.282 +.x-menu-item-checked .x-menu-group-item .x-menu-item-icon {
 143.283 +    background-image: url(../images/slickness/menu/group-checked.gif);
 143.284 +}
 143.285 +/* Panel Tools */
 143.286 +.x-tool {
 143.287 +    background-image: url(../images/slickness/panel/header-sprites.gif);
 143.288 +    width: 27px;
 143.289 +    height: 15px;
 143.290 +    margin-top: -4px;
 143.291 +    margin-left: 0px;
 143.292 +}
 143.293 +
 143.294 +legend .x-tool {
 143.295 +    margin-top: 0px;
 143.296 +}
 143.297 +
 143.298 +.x-tool-close {
 143.299 +    background-position: 0 -0;
 143.300 +}
 143.301 +
 143.302 +.x-tool-close-over {
 143.303 +    background-position: -27px 0;
 143.304 +}
 143.305 +
 143.306 +.x-tool-minimize {
 143.307 +    background-position: 0 -15px;
 143.308 +}
 143.309 +
 143.310 +.x-tool-minimize-over {
 143.311 +    background-position: -27px -15px;
 143.312 +}
 143.313 +
 143.314 +.x-tool-maximize {
 143.315 +    background-position: 0 -30px;
 143.316 +}
 143.317 +
 143.318 +.x-tool-maximize-over {
 143.319 +    background-position: -27px -30px;
 143.320 +}
 143.321 +
 143.322 +.x-tool-restore {
 143.323 +    background-position: 0 -45px;
 143.324 +}
 143.325 +
 143.326 +.x-tool-restore-over {
 143.327 +    background-position: -27px -45px;
 143.328 +}
 143.329 +
 143.330 +.x-tool-toggle {
 143.331 +    background-position: 0 -60px;
 143.332 +}
 143.333 +
 143.334 +.x-tool-toggle-over {
 143.335 +    background-position: -27px -60px;
 143.336 +}
 143.337 +
 143.338 +.x-panel-collapsed .x-tool-toggle {
 143.339 +    background-position: 0 -75px;
 143.340 +}
 143.341 +
 143.342 +.x-panel-collapsed .x-tool-toggle-over {
 143.343 +    background-position: -27px -75px;
 143.344 +}
 143.345 +
 143.346 +.x-tool-gear {
 143.347 +    background-position: 0 -90px;
 143.348 +}
 143.349 +
 143.350 +.x-tool-gear-over {
 143.351 +    background-position: -27px -90px;
 143.352 +}
 143.353 +
 143.354 +.x-tool-pin {
 143.355 +    background-position: 0 -135px;
 143.356 +}
 143.357 +
 143.358 +.x-tool-pin-over {
 143.359 +    background-position: -27px -135px;
 143.360 +}
 143.361 +
 143.362 +.x-tool-unpin {
 143.363 +    background-position: 0 -150px;
 143.364 +}
 143.365 +
 143.366 +.x-tool-unpin-over {
 143.367 +    background-position: -27px -150px;
 143.368 +}
 143.369 +
 143.370 +.x-tool-right {
 143.371 +    background-position: 0 -165px;
 143.372 +}
 143.373 +
 143.374 +.x-tool-right-over {
 143.375 +    background-position: -27px -165px;
 143.376 +}
 143.377 +
 143.378 +.x-tool-left {
 143.379 +    background-position: 0 -180px;
 143.380 +}
 143.381 +
 143.382 +.x-tool-left-over {
 143.383 +    background-position: -27px -180px;
 143.384 +}
 143.385 +
 143.386 +.x-tool-up {
 143.387 +    background-position: 0 -210px;
 143.388 +}
 143.389 +
 143.390 +.x-tool-up-over {
 143.391 +    background-position: -27px -210px;
 143.392 +}
 143.393 +
 143.394 +.x-tool-down {
 143.395 +    background-position: 0 -195px;
 143.396 +}
 143.397 +
 143.398 +.x-tool-down-over {
 143.399 +    background-position: -27px -195px;
 143.400 +}
 143.401 +
 143.402 +.x-tool-refresh {
 143.403 +    background-position: 0 -225px;
 143.404 +}
 143.405 +
 143.406 +.x-tool-refresh-over {
 143.407 +    background-position: -27px -225px;
 143.408 +}
 143.409 +
 143.410 +.x-tool-minus {
 143.411 +    background-position: 0 -255px;
 143.412 +}
 143.413 +
 143.414 +.x-tool-minus-over {
 143.415 +    background-position: -27px -255px;
 143.416 +}
 143.417 +
 143.418 +.x-tool-plus {
 143.419 +    background-position: 0 -240px;
 143.420 +}
 143.421 +
 143.422 +.x-tool-plus-over {
 143.423 +    background-position: -27px -240px;
 143.424 +}
 143.425 +
 143.426 +.x-tool-search {
 143.427 +    background-position: 0 -270px;
 143.428 +}
 143.429 +
 143.430 +.x-tool-search-over {
 143.431 +    background-position: -27px -270px;
 143.432 +}
 143.433 +
 143.434 +.x-tool-save {
 143.435 +    background-position: 0 -285px;
 143.436 +}
 143.437 +
 143.438 +.x-tool-save-over {
 143.439 +    background-position: -27px -285px;
 143.440 +}
 143.441 +
 143.442 +.x-tool-help {
 143.443 +    background-position: 0 -300px;
 143.444 +}
 143.445 +
 143.446 +.x-tool-help-over {
 143.447 +    background-position: -27px -300px;
 143.448 +}
 143.449 +
 143.450 +.x-tool-print {
 143.451 +    background-position: 0 -315px;
 143.452 +}
 143.453 +
 143.454 +.x-tool-print-over {
 143.455 +    background-position: -27px -315px;
 143.456 +}
 143.457 +
 143.458 +.x-tool-wrench {
 143.459 +    background-position: 0 -330px;
 143.460 +}
 143.461 +
 143.462 +.x-tool-wrench-over {
 143.463 +    background-position: -27px -330px;
 143.464 +}
 143.465 +/* Layout Tools */
 143.466 +.x-tool-collapse-south {
 143.467 +    background-position: 0 -195px;
 143.468 +}
 143.469 +
 143.470 +.x-tool-collapse-south-over {
 143.471 +    background-position: -27px -195px;
 143.472 +}
 143.473 +
 143.474 +.x-tool-collapse-north {
 143.475 +    background-position: 0 -210px;
 143.476 +}
 143.477 +
 143.478 +.x-tool-collapse-north-over {
 143.479 +    background-position: -27px -210px;
 143.480 +}
 143.481 +
 143.482 +.x-tool-collapse-west {
 143.483 +    background-position: 0 -180px;
 143.484 +}
 143.485 +
 143.486 +.x-tool-collapse-west-over {
 143.487 +    background-position: -27px -180px;
 143.488 +}
 143.489 +
 143.490 +.x-tool-collapse-east {
 143.491 +    background-position: 0 -165px;
 143.492 +}
 143.493 +
 143.494 +.x-tool-collapse-east-over {
 143.495 +    background-position: -27px -165px;
 143.496 +}
 143.497 +
 143.498 +.x-tool-expand-south {
 143.499 +    background-position: 0 -210px;
 143.500 +}
 143.501 +
 143.502 +.x-tool-expand-south-over {
 143.503 +    background-position: -27px -210px;
 143.504 +}
 143.505 +
 143.506 +.x-tool-expand-north {
 143.507 +    background-position: 0 -195px;
 143.508 +}
 143.509 +
 143.510 +.x-tool-expand-north-over {
 143.511 +    background-position: -27px -195px;
 143.512 +}
 143.513 +
 143.514 +.x-tool-expand-west {
 143.515 +    background-position: 0 -165px;
 143.516 +}
 143.517 +
 143.518 +.x-tool-expand-west-over {
 143.519 +    background-position: -27px -165px;
 143.520 +}
 143.521 +
 143.522 +.x-tool-expand-east {
 143.523 +    background-position: 0 -180px;
 143.524 +}
 143.525 +
 143.526 +.x-tool-expand-east-over {
 143.527 +    background-position: -27px -180px;
 143.528 +}
 143.529 +
 143.530 +.x-tool-expand-north, .x-tool-expand-south {
 143.531 +    float: right;
 143.532 +    margin: 0px 3px;
 143.533 +}
 143.534 +
 143.535 +.x-tool-expand-east, .x-tool-expand-west {
 143.536 +    float: none;
 143.537 +    margin: 0px -4px;
 143.538 +}
 143.539 +
 143.540 +.x-accordion-hd .x-tool-toggle-over {
 143.541 +    background-position: -27px -255px;
 143.542 +}
 143.543 +
 143.544 +.x-panel-collapsed .x-accordion-hd .x-tool-toggle-over {
 143.545 +    background-position: -27px -240px;
 143.546 +}
 143.547 +/* Buttons */
 143.548 +.x-btn-text {
 143.549 +    color: #eeeef0;
 143.550 +    font-weight: bold !important;
 143.551 +}
 143.552 +
 143.553 +.x-btn-left {
 143.554 +    background-image: url(../images/slickness/button/btn-sprite.gif);
 143.555 +}
 143.556 +
 143.557 +.x-btn-right {
 143.558 +    background-image: url(../images/slickness/button/btn-sprite.gif);
 143.559 +}
 143.560 +
 143.561 +.x-btn-center {
 143.562 +    background-image: url(../images/slickness/button/btn-sprite.gif);
 143.563 +}
 143.564 +
 143.565 +.x-btn-menu-arrow-wrap .x-btn-center button {
 143.566 +    background-image: url(../images/slickness/button/btn-arrow-light.gif);
 143.567 +}
 143.568 +
 143.569 +.x-btn-with-menu .x-btn-center em {
 143.570 +    background-image: url(../images/slickness/toolbar/btn-arrow-light.gif);
 143.571 +}
 143.572 +
 143.573 +.x-btn-text-icon .x-btn-with-menu .x-btn-center em {
 143.574 +    background-image: url(../images/slickness/toolbar/btn-arrow-light.gif);
 143.575 +}
 143.576 +/* Layout classes */
 143.577 +.x-border-layout-ct {
 143.578 +    background: #ddd; /* f1f2f4 */
 143.579 +}
 143.580 +
 143.581 +.x-accordion-hd {
 143.582 +    background-image: url(../images/slickness/panel/light-hd.gif);
 143.583 +}
 143.584 +
 143.585 +.x-layout-collapsed {
 143.586 +    background-color: #222222;
 143.587 +    border-color: #000000;
 143.588 +}
 143.589 +
 143.590 +.x-layout-collapsed-over {
 143.591 +    background-color: #444444;
 143.592 +}
 143.593 +/* qtips */
 143.594 +.x-tip .x-tip-close {
 143.595 +    background-image: url(../images/slickness/qtip/close.gif);
 143.596 +}
 143.597 +
 143.598 +.x-tip .x-tip-tc {
 143.599 +    background-image: url(../images/slickness/qtip/tip-sprite.gif);
 143.600 +}
 143.601 +
 143.602 +.x-tip .x-tip-tl {
 143.603 +    background-image: url(../images/slickness/qtip/tip-sprite.gif);
 143.604 +}
 143.605 +
 143.606 +.x-tip .x-tip-tr {
 143.607 +    background-image: url(../images/slickness/qtip/tip-sprite.gif);
 143.608 +}
 143.609 +
 143.610 +.x-tip .x-tip-bc {
 143.611 +    background-image: url(../images/slickness/qtip/tip-sprite.gif);
 143.612 +}
 143.613 +
 143.614 +.x-tip .x-tip-bl {
 143.615 +    background-image: url(../images/slickness/qtip/tip-sprite.gif);
 143.616 +}
 143.617 +
 143.618 +.x-tip .x-tip-br {
 143.619 +    background-image: url(../images/slickness/qtip/tip-sprite.gif);
 143.620 +}
 143.621 +
 143.622 +.x-tip .x-tip-ml {
 143.623 +    background-image: url(../images/slickness/qtip/tip-sprite.gif);
 143.624 +}
 143.625 +
 143.626 +.x-tip .x-tip-mr {
 143.627 +    background-image: url(../images/slickness/qtip/tip-sprite.gif);
 143.628 +}
 143.629 +
 143.630 +.x-tip .x-tip-header-text {
 143.631 +    color: #ffffff;
 143.632 +}
 143.633 +
 143.634 +.x-tip .x-tip-body {
 143.635 +    color: #eeeeee;
 143.636 +}
 143.637 +
 143.638 +.x-form-invalid-icon {
 143.639 +    background-image: url(../images/slickness/form/exclamation.gif);
 143.640 +}
 143.641 +
 143.642 +.x-form-invalid-tip .x-tip-tc {
 143.643 +    background-image: url(../images/slickness/form/error-tip-corners.gif);
 143.644 +}
 143.645 +
 143.646 +.x-form-invalid-tip .x-tip-tl {
 143.647 +    background-image: url(../images/slickness/form/error-tip-corners.gif);
 143.648 +}
 143.649 +
 143.650 +.x-form-invalid-tip .x-tip-tr {
 143.651 +    background-image: url(../images/slickness/form/error-tip-corners.gif);
 143.652 +}
 143.653 +
 143.654 +.x-form-invalid-tip .x-tip-bc {
 143.655 +    background-image: url(../images/slickness/form/error-tip-corners.gif);
 143.656 +}
 143.657 +
 143.658 +.x-form-invalid-tip .x-tip-bl {
 143.659 +    background-image: url(../images/slickness/form/error-tip-corners.gif);
 143.660 +}
 143.661 +
 143.662 +.x-form-invalid-tip .x-tip-br {
 143.663 +    background-image: url(../images/slickness/form/error-tip-corners.gif);
 143.664 +}
 143.665 +
 143.666 +.x-form-invalid-tip .x-tip-ml {
 143.667 +    background-image: url(../images/slickness/form/error-tip-corners.gif);
 143.668 +}
 143.669 +
 143.670 +.x-form-invalid-tip .x-tip-mr {
 143.671 +    background-image: url(../images/slickness/form/error-tip-corners.gif);
 143.672 +}
 143.673 +
 143.674 +.x-form-invalid-tip .x-tip-body {
 143.675 +    background-image: url(../images/slickness/form/exclamation.gif);
 143.676 +}
 143.677 +/* Toolbars */
 143.678 +.x-toolbar {
 143.679 +    border-color: #444444;
 143.680 +    background: #282828 url(../images/slickness/toolbar/bg.gif) repeat-x top left;
 143.681 +}
 143.682 +
 143.683 +.x-toolbar button {
 143.684 +    color: #eeeef0;
 143.685 +}
 143.686 +
 143.687 +.x-toolbar .x-btn-menu-arrow-wrap .x-btn-center button {
 143.688 +    background-image: url(../images/slickness/toolbar/btn-arrow-light.gif);
 143.689 +}
 143.690 +
 143.691 +.x-toolbar .x-btn-text-icon .x-btn-menu-arrow-wrap .x-btn-center button {
 143.692 +    background-image: url(../images/slickness/toolbar/btn-arrow-light.gif);
 143.693 +}
 143.694 +
 143.695 +.x-toolbar .x-btn-over .x-btn-left {
 143.696 +    background-image: url(../images/slickness/toolbar/tb-btn-sprite.gif);
 143.697 +}
 143.698 +
 143.699 +.x-toolbar .x-btn-over .x-btn-right {
 143.700 +    background-image: url(../images/slickness/toolbar/tb-btn-sprite.gif);
 143.701 +}
 143.702 +
 143.703 +.x-toolbar .x-btn-over .x-btn-center {
 143.704 +    background-image: url(../images/slickness/toolbar/tb-btn-sprite.gif);
 143.705 +}
 143.706 +
 143.707 +.x-toolbar .x-btn-over button {
 143.708 +    color: #ffffff;
 143.709 +}
 143.710 +
 143.711 +.x-toolbar .x-btn-click .x-btn-left, .x-toolbar .x-btn-pressed .x-btn-left, .x-toolbar .x-btn-menu-active .x-btn-left {
 143.712 +    background-image: url(../images/slickness/toolbar/tb-btn-sprite.gif);
 143.713 +}
 143.714 +
 143.715 +.x-toolbar .x-btn-click .x-btn-right, .x-toolbar .x-btn-pressed .x-btn-right, .x-toolbar .x-btn-menu-active .x-btn-right {
 143.716 +    background-image: url(../images/slickness/toolbar/tb-btn-sprite.gif);
 143.717 +}
 143.718 +
 143.719 +.x-toolbar .x-btn-click .x-btn-center, .x-toolbar .x-btn-pressed .x-btn-center, .x-toolbar .x-btn-menu-active .x-btn-center {
 143.720 +    background-image: url(../images/slickness/toolbar/tb-btn-sprite.gif);
 143.721 +}
 143.722 +
 143.723 +.x-toolbar .ytb-sep {
 143.724 +    background-image: url(../images/slickness/grid/grid-split.gif);
 143.725 +}
 143.726 +
 143.727 +.x-paging-info, .ytb-text {
 143.728 +    color: #eeeef0;
 143.729 +}
 143.730 +/* Form */
 143.731 +.x-form-field-wrap .x-form-trigger {
 143.732 +    background-image: url(../images/slickness/form/trigger.gif);
 143.733 +    border-bottom: 1px solid #a3a3a3;
 143.734 +}
 143.735 +
 143.736 +.x-form-field-wrap .x-form-date-trigger {
 143.737 +    background-image: url(../images/slickness/form/date-trigger.gif);
 143.738 +}
 143.739 +
 143.740 +.x-form-field-wrap .x-form-clear-trigger {
 143.741 +    background-image: url(../images/slickness/form/clear-trigger.gif);
 143.742 +}
 143.743 +
 143.744 +.x-form-field-wrap .x-form-search-trigger {
 143.745 +    background-image: url(../images/slickness/form/search-trigger.gif);
 143.746 +}
 143.747 +
 143.748 +.x-form-text, textarea.x-form-field {
 143.749 +    border: 1px solid #a3a3a3;
 143.750 +}
 143.751 +
 143.752 +.x-form-select-one {
 143.753 +    border: 1px solid #a3a3a3;
 143.754 +}
 143.755 +
 143.756 +.x-item-disabled .x-form-trigger-over {
 143.757 +    border-bottom: 1px solid #a3a3a3;
 143.758 +}
 143.759 +
 143.760 +.x-item-disabled .x-form-trigger-click {
 143.761 +    border-bottom: 1px solid #a3a3a3;
 143.762 +}
 143.763 +
 143.764 +.x-form fieldset {
 143.765 +    border: 1px solid #a3a3a3;
 143.766 +}
 143.767 +
 143.768 +.x-form-item-label {
 143.769 +    color: #eee;
 143.770 +}
 143.771 +
 143.772 +.x-panel-noborder .x-form-item-label {
 143.773 +    color: #111;
 143.774 +}
 143.775 +
 143.776 +.x-trigger-wrap-focus .x-form-trigger {
 143.777 +    border-bottom: 1px solid #eee !important;
 143.778 +}
 143.779 +
 143.780 +.x-form-focus, textarea.x-form-focus {
 143.781 +    border: 1px solid #eee !important;
 143.782 +}
 143.783 +
 143.784 +.x-panel-noborder .x-form-focus, textarea.x-form-focus {
 143.785 +    border: 1px solid #000;
 143.786 +}
 143.787 +/* Tabs */
 143.788 +.x-tab-panel-header, .x-tab-panel-footer {
 143.789 +    background: #000000;
 143.790 +    border-color: #4a4a4a;
 143.791 +}
 143.792 +
 143.793 +.x-tab-panel-header {
 143.794 +    border-color: transparent;
 143.795 +}
 143.796 +
 143.797 +.x-tab-panel-footer {
 143.798 +    border-color: #4a4a4a;
 143.799 +}
 143.800 +
 143.801 +ul.x-tab-strip-top {
 143.802 +    background: #000000 url(../images/slickness/tabs/tab-strip-bg.gif) repeat-x left top;
 143.803 +    border-color: #4a4a4a;
 143.804 +}
 143.805 +
 143.806 +ul.x-tab-strip-bottom {
 143.807 +    background-image: url(../images/slickness/tabs/tab-strip-btm-bg.gif);
 143.808 +    border-color: #4a4a4a;
 143.809 +}
 143.810 +
 143.811 +.x-tab-strip span.x-tab-strip-text {
 143.812 +    color: #cccccc;
 143.813 +}
 143.814 +
 143.815 +.x-tab-strip-over span.x-tab-strip-text {
 143.816 +    color: #ffffff;
 143.817 +}
 143.818 +
 143.819 +.x-tab-strip-active span.x-tab-strip-text {
 143.820 +    color: #eeeef0;
 143.821 +}
 143.822 +
 143.823 +.x-tab-strip-top .x-tab-right {
 143.824 +    background-image: url(../images/slickness/tabs/tabs-sprite.gif);
 143.825 +}
 143.826 +
 143.827 +.x-tab-strip-top .x-tab-left {
 143.828 +    background-image: url(../images/slickness/tabs/tabs-sprite.gif);
 143.829 +}
 143.830 +
 143.831 +.x-tab-strip-top .x-tab-strip-inner {
 143.832 +    background-image: url(../images/slickness/tabs/tabs-sprite.gif);
 143.833 +}
 143.834 +
 143.835 +.x-tab-strip-bottom .x-tab-right {
 143.836 +    background-image: url(../images/slickness/tabs/tab-btm-inactive-right-bg.gif);
 143.837 +}
 143.838 +
 143.839 +.x-tab-strip-bottom .x-tab-left {
 143.840 +    background-image: url(../images/slickness/tabs/tab-btm-inactive-left-bg.gif);
 143.841 +}
 143.842 +
 143.843 +.x-tab-strip-bottom .x-tab-strip-active .x-tab-right {
 143.844 +    background-image: url(../images/slickness/tabs/tab-btm-right-bg.gif);
 143.845 +}
 143.846 +
 143.847 +.x-tab-strip-bottom .x-tab-strip-active .x-tab-left {
 143.848 +    background-image: url(../images/slickness/tabs/tab-btm-left-bg.gif);
 143.849 +}
 143.850 +
 143.851 +.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close {
 143.852 +    background-image: url(../images/slickness/tabs/tab-close.gif);
 143.853 +}
 143.854 +
 143.855 +.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close:hover {
 143.856 +    background-image: url(../images/slickness/tabs/tab-close.gif);
 143.857 +}
 143.858 +
 143.859 +.x-tab-panel-body {
 143.860 +    border-color: #4a4a4a;
 143.861 +    background: #eeeeee;
 143.862 +}
 143.863 +
 143.864 +.x-tab-panel-bbar .x-toolbar {
 143.865 +    border-color: #000000;
 143.866 +}
 143.867 +
 143.868 +.x-tab-panel-tbar .x-toolbar {
 143.869 +    border-color: #000000;
 143.870 +}
 143.871 +
 143.872 +.x-tab-panel-header-plain .x-tab-strip-spacer {
 143.873 +    border-color: #000000;
 143.874 +    background: #353535;
 143.875 +}
 143.876 +
 143.877 +.x-tab-scroller-left {
 143.878 +    background-image: url(../images/slickness/tabs/scroll-left.gif);
 143.879 +    border-color: #000000;
 143.880 +}
 143.881 +
 143.882 +.x-tab-scroller-right {
 143.883 +    background-image: url(../images/slickness/tabs/scroll-right.gif);
 143.884 +    border-color: #000000;
 143.885 +}
 143.886 +/* Window */
 143.887 +.x-window-proxy {
 143.888 +    background: #161616;
 143.889 +    border-color: #000000;
 143.890 +}
 143.891 +
 143.892 +.x-window-tl .x-window-header {
 143.893 +    color: #eeeef0;
 143.894 +}
 143.895 +
 143.896 +.x-window-tc {
 143.897 +    background-image: url(../images/slickness/window/top-bottom.png);
 143.898 +}
 143.899 +
 143.900 +.x-window-tl {
 143.901 +    background-image: url(../images/slickness/window/left-corners.png);
 143.902 +}
 143.903 +
 143.904 +.x-window-tr {
 143.905 +    background-image: url(../images/slickness/window/right-corners.png);
 143.906 +}
 143.907 +
 143.908 +.x-window-bc {
 143.909 +    background-image: url(../images/slickness/window/top-bottom.png);
 143.910 +}
 143.911 +
 143.912 +.x-window-bl {
 143.913 +    background-image: url(../images/slickness/window/left-corners.png);
 143.914 +}
 143.915 +
 143.916 +.x-window-br {
 143.917 +    background-image: url(../images/slickness/window/right-corners.png);
 143.918 +}
 143.919 +
 143.920 +.x-window-mc {
 143.921 +    border: 1px solid #333333;
 143.922 +    background: #222;
 143.923 +    color: #eeeeee;
 143.924 +}
 143.925 +
 143.926 +.x-window-ml {
 143.927 +    background-image: url(../images/slickness/window/left-right.png);
 143.928 +}
 143.929 +
 143.930 +.x-window-mr {
 143.931 +    background-image: url(../images/slickness/window/left-right.png);
 143.932 +}
 143.933 +
 143.934 +.x-panel-ghost .x-window-tl {
 143.935 +    border-color: #000000;
 143.936 +}
 143.937 +
 143.938 +.x-panel-collapsed .x-window-tl {
 143.939 +    border-color: #000000;
 143.940 +}
 143.941 +
 143.942 +.x-window-plain .x-window-mc {
 143.943 +    color: #eeeeee;
 143.944 +    background: #161616;
 143.945 +    border-left: 1px solid #111111;
 143.946 +    border-top: 1px solid #111111;
 143.947 +    border-bottom: 1px solid #222222;
 143.948 +    border-right: 1px solid #222222;
 143.949 +}
 143.950 +
 143.951 +.x-window-plain .x-window-body {
 143.952 +    border-left: 1px solid #555555;
 143.953 +    border-top: 1px solid #555555;
 143.954 +    border-bottom: 1px solid #333333;
 143.955 +    border-right: 1px solid #333333;
 143.956 +    background: transparent !important;
 143.957 +}
 143.958 +
 143.959 +body.x-body-masked .x-window-mc, body.x-body-masked .x-window-plain .x-window-mc {
 143.960 +    color: #eeeeee;
 143.961 +    background-color: #0e0e0e;
 143.962 +}
 143.963 +/* Date Picker */
 143.964 +.x-date-picker {
 143.965 +    border: 1px solid #000000;
 143.966 +    background: #ffffff;
 143.967 +}
 143.968 +
 143.969 +.x-date-middle, .x-date-left, .x-date-right {
 143.970 +    background-image: url(../images/slickness/shared/hd-sprite.gif);
 143.971 +}
 143.972 +
 143.973 +.x-date-middle .x-btn-with-menu .x-btn-center em {
 143.974 +    background-image: url(../images/slickness/toolbar/btn-arrow-light.gif);
 143.975 +}
 143.976 +
 143.977 +.x-date-right a {
 143.978 +    background-image: url(../images/slickness/shared/right-btn.gif);
 143.979 +}
 143.980 +
 143.981 +.x-date-left a {
 143.982 +    background-image: url(../images/slickness/shared/left-btn.gif);
 143.983 +}
 143.984 +
 143.985 +.x-date-inner th {
 143.986 +    background-image: url(../images/slickness/shared/glass-bg.gif);
 143.987 +    border-bottom: 1px solid #000000;
 143.988 +    color: #eeeef0;
 143.989 +}
 143.990 +
 143.991 +.x-date-inner .x-date-selected a {
 143.992 +    background-image: url(../images/slickness/shared/glass-bg.gif);
 143.993 +    border: 1px solid #000000;
 143.994 +    color: #eeeef0;
 143.995 +}
 143.996 +
 143.997 +.x-date-bottom {
 143.998 +    border-top: 1px solid #000000;
 143.999 +    background-image: url(../images/slickness/shared/glass-bg.gif);
143.1000 +}
143.1001 +
143.1002 +.x-date-mp-btns {
143.1003 +    background-image: url(../images/slickness/shared/glass-bg.gif);
143.1004 +}
143.1005 +
143.1006 +td.x-date-mp-sel a {
143.1007 +    background-image: url(../images/slickness/shared/glass-bg.gif);
143.1008 +    border: 1px solid #000000;
143.1009 +    color: #eeeef0 !important;
143.1010 +}
143.1011 +
143.1012 +.x-date-mp-ybtn a {
143.1013 +    background-image: url(../images/slickness/panel/tool-sprites.gif);
143.1014 +}
143.1015 +
143.1016 +.x-date-mp-btns button {
143.1017 +    background-image: url(../images/slickness/shared/glass-bg.gif);
143.1018 +    border-color: #eeeeee #bbbbbb #bbbbbb #eeeeee;
143.1019 +    color: #eeeef0;
143.1020 +}
143.1021 +
143.1022 +.x-date-inner a {
143.1023 +    color: #000000;
143.1024 +}
143.1025 +
143.1026 +.x-date-inner a:hover, .x-date-inner .x-date-disabled a:hover {
143.1027 +    color: #eeeef0;
143.1028 +    background: #353535;
143.1029 +}
143.1030 +
143.1031 +td.x-date-mp-month a, td.x-date-mp-year a {
143.1032 +    color: #000000;
143.1033 +}
143.1034 +
143.1035 +td.x-date-mp-month a:hover, td.x-date-mp-year a:hover {
143.1036 +    color: #eeeef0;
143.1037 +    background: #353535;
143.1038 +}
143.1039 +/* misc */
143.1040 +.x-html-editor-wrap {
143.1041 +    border-color: #000000;
143.1042 +}
143.1043 +/* Editor */
143.1044 +.x-html-editor-tb .x-btn-text {
143.1045 +    background: transparent url(../images/slickness/editor/tb-sprite.gif) no-repeat;
143.1046 +}
143.1047 +/* FieldSet*/
143.1048 +.x-fieldset-header-text {
143.1049 +    color: #eeeeee;
143.1050 +}
143.1051 +/* Borders go last for specificity */
143.1052 +.x-panel-noborder .x-panel-body-noborder {
143.1053 +    border-width: 0;
143.1054 +}
143.1055 +
143.1056 +.x-panel-noborder .x-panel-header-noborder {
143.1057 +    border-width: 0;
143.1058 +    border-bottom: 1px solid #000000;
143.1059 +}
143.1060 +
143.1061 +.x-panel-noborder .x-panel-tbar-noborder .x-toolbar {
143.1062 +    border-width: 0;
143.1063 +    border-bottom: 1px solid #000000;
143.1064 +}
143.1065 +
143.1066 +.x-panel-noborder .x-panel-bbar-noborder .x-toolbar {
143.1067 +    border-width: 0;
143.1068 +    border-top: 1px solid #000000;
143.1069 +}
143.1070 +
143.1071 +.x-window-noborder .x-window-mc {
143.1072 +    border-width: 0;
143.1073 +}
143.1074 +
143.1075 +.x-window-plain .x-window-body-noborder {
143.1076 +    border-width: 0;
143.1077 +}
143.1078 +
143.1079 +.x-tab-panel-noborder .x-tab-panel-body-noborder {
143.1080 +    border-width: 0;
143.1081 +}
143.1082 +
143.1083 +.x-tab-panel-noborder .x-tab-panel-header-noborder {
143.1084 +    border-top-width: 0;
143.1085 +    border-left-width: 0;
143.1086 +    border-right-width: 0;
143.1087 +}
143.1088 +
143.1089 +.x-tab-panel-noborder .x-tab-panel-footer-noborder {
143.1090 +    border-bottom-width: 0;
143.1091 +    border-left-width: 0;
143.1092 +    border-right-width: 0;
143.1093 +}
143.1094 +
143.1095 +.x-tab-panel-bbar-noborder .x-toolbar {
143.1096 +    border-width: 0;
143.1097 +    border-top: 1px solid #000000;
143.1098 +}
143.1099 +
143.1100 +.x-tab-panel-tbar-noborder .x-toolbar {
143.1101 +    border-width: 0;
143.1102 +    border-bottom: 1px solid #000000;
143.1103 +}
143.1104 +/* Progress Bar*/
143.1105 +.x-progress-wrap {
143.1106 +    border: 1px solid #4c4c4c;
143.1107 +}
143.1108 +
143.1109 +.x-progress-inner {
143.1110 +    background: #2d2d2d url(../images/slickness/progress/progress-bg.gif) repeat-x;
143.1111 +}
143.1112 +
143.1113 +.x-progress-bar {
143.1114 +    height: 18px;
143.1115 +    background: transparent url( ../images/slickness/progress/progress-ind.gif ) repeat-x left center;
143.1116 +    border: none;
143.1117 +}
143.1118 +
143.1119 +.x-progress-text {
143.1120 +    color: #000;
143.1121 +}
143.1122 +
143.1123 +.x-progress-text-back {
143.1124 +    color: #eee;
143.1125 +}
143.1126 +/* Dialog */
143.1127 +.x-window-dlg .ext-mb-icon {
143.1128 +    float: left;
143.1129 +    width: 58px;
143.1130 +    height: 48px;
143.1131 +}
143.1132 +
143.1133 +.ext-ie .x-window-dlg .ext-mb-icon {
143.1134 +    width: 55px; /* 3px IE margin issue */
143.1135 +}
143.1136 +
143.1137 +.x-window-dlg .ext-mb-info {
143.1138 +    background: transparent url(../images/slickness/window/icon-info.gif) no-repeat top left;
143.1139 +}
143.1140 +
143.1141 +.x-window-dlg .ext-mb-warning {
143.1142 +    background: transparent url(../images/slickness/window/icon-warning.gif) no-repeat top left;
143.1143 +}
143.1144 +
143.1145 +.x-window-dlg .ext-mb-question {
143.1146 +    background: transparent url(../images/slickness/window/icon-question.gif) no-repeat top left;
143.1147 +}
143.1148 +
143.1149 +.x-window-dlg .ext-mb-error {
143.1150 +    background: transparent url(../images/slickness/window/icon-error.gif) no-repeat top left;
143.1151 +}
143.1152 +/* Combo */
143.1153 +.x-combo-list {
143.1154 +    border: 1px solid #333;
143.1155 +    background: #ddd;
143.1156 +}
143.1157 +
143.1158 +.x-resizable-pinned .x-combo-list-inner {
143.1159 +    /*border-bottom:1px solid #333;*/
143.1160 +}
143.1161 +
143.1162 +.x-combo-list .x-combo-selected {
143.1163 +    border: 1px dotted #888 !important;
143.1164 +    background: #ccc;
143.1165 +}
143.1166 +
143.1167 +.x-combo-noedit {
143.1168 +    cursor: pointer;
143.1169 +}
143.1170 +
143.1171 +.x-combo-list .x-toolbar {
143.1172 +    border-top: 1px solid #333;
143.1173 +}
   144.1 Binary file onlypaths/theme/images/default/Thumbs.db has changed
   145.1 Binary file onlypaths/theme/images/default/box/Thumbs.db has changed
   146.1 Binary file onlypaths/theme/images/default/box/corners-blue.gif has changed
   147.1 Binary file onlypaths/theme/images/default/box/corners.gif has changed
   148.1 Binary file onlypaths/theme/images/default/box/l-blue.gif has changed
   149.1 Binary file onlypaths/theme/images/default/box/l.gif has changed
   150.1 Binary file onlypaths/theme/images/default/box/r-blue.gif has changed
   151.1 Binary file onlypaths/theme/images/default/box/r.gif has changed
   152.1 Binary file onlypaths/theme/images/default/box/tb-blue.gif has changed
   153.1 Binary file onlypaths/theme/images/default/box/tb.gif has changed
   154.1 Binary file onlypaths/theme/images/default/button/Thumbs.db has changed
   155.1 Binary file onlypaths/theme/images/default/button/btn-arrow.gif has changed
   156.1 Binary file onlypaths/theme/images/default/button/btn-sprite.gif has changed
   157.1 Binary file onlypaths/theme/images/default/dd/Thumbs.db has changed
   158.1 Binary file onlypaths/theme/images/default/dd/drop-add.gif has changed
   159.1 Binary file onlypaths/theme/images/default/dd/drop-no.gif has changed
   160.1 Binary file onlypaths/theme/images/default/dd/drop-yes.gif has changed
   161.1 Binary file onlypaths/theme/images/default/editor/Thumbs.db has changed
   162.1 Binary file onlypaths/theme/images/default/editor/tb-sprite.gif has changed
   163.1 Binary file onlypaths/theme/images/default/form/Thumbs.db has changed
   164.1 Binary file onlypaths/theme/images/default/form/clear-trigger.gif has changed
   165.1 Binary file onlypaths/theme/images/default/form/clear-trigger.psd has changed
   166.1 Binary file onlypaths/theme/images/default/form/date-trigger.gif has changed
   167.1 Binary file onlypaths/theme/images/default/form/date-trigger.psd has changed
   168.1 Binary file onlypaths/theme/images/default/form/error-tip-corners.gif has changed
   169.1 Binary file onlypaths/theme/images/default/form/exclamation.gif has changed
   170.1 Binary file onlypaths/theme/images/default/form/search-trigger.gif has changed
   171.1 Binary file onlypaths/theme/images/default/form/search-trigger.psd has changed
   172.1 Binary file onlypaths/theme/images/default/form/text-bg.gif has changed
   173.1 Binary file onlypaths/theme/images/default/form/trigger-tpl.gif has changed
   174.1 Binary file onlypaths/theme/images/default/form/trigger.gif has changed
   175.1 Binary file onlypaths/theme/images/default/form/trigger.psd has changed
   176.1 Binary file onlypaths/theme/images/default/gradient-bg.gif has changed
   177.1 Binary file onlypaths/theme/images/default/grid/Thumbs.db has changed
   178.1 Binary file onlypaths/theme/images/default/grid/arrow-left-white.gif has changed
   179.1 Binary file onlypaths/theme/images/default/grid/arrow-right-white.gif has changed
   180.1 Binary file onlypaths/theme/images/default/grid/col-move-bottom.gif has changed
   181.1 Binary file onlypaths/theme/images/default/grid/col-move-top.gif has changed
   182.1 Binary file onlypaths/theme/images/default/grid/columns.gif has changed
   183.1 Binary file onlypaths/theme/images/default/grid/dirty.gif has changed
   184.1 Binary file onlypaths/theme/images/default/grid/done.gif has changed
   185.1 Binary file onlypaths/theme/images/default/grid/drop-no.gif has changed
   186.1 Binary file onlypaths/theme/images/default/grid/drop-yes.gif has changed
   187.1 Binary file onlypaths/theme/images/default/grid/footer-bg.gif has changed
   188.1 Binary file onlypaths/theme/images/default/grid/grid-blue-hd.gif has changed
   189.1 Binary file onlypaths/theme/images/default/grid/grid-blue-split.gif has changed
   190.1 Binary file onlypaths/theme/images/default/grid/grid-hrow.gif has changed
   191.1 Binary file onlypaths/theme/images/default/grid/grid-loading.gif has changed
   192.1 Binary file onlypaths/theme/images/default/grid/grid-split.gif has changed
   193.1 Binary file onlypaths/theme/images/default/grid/grid-vista-hd.gif has changed
   194.1 Binary file onlypaths/theme/images/default/grid/grid3-hd-btn.gif has changed
   195.1 Binary file onlypaths/theme/images/default/grid/grid3-hrow-over.gif has changed
   196.1 Binary file onlypaths/theme/images/default/grid/grid3-hrow.gif has changed
   197.1 Binary file onlypaths/theme/images/default/grid/grid3-special-col-bg.gif has changed
   198.1 Binary file onlypaths/theme/images/default/grid/grid3-special-col-sel-bg.gif has changed
   199.1 Binary file onlypaths/theme/images/default/grid/group-by.gif has changed
   200.1 Binary file onlypaths/theme/images/default/grid/group-expand-sprite.gif has changed
   201.1 Binary file onlypaths/theme/images/default/grid/hd-pop.gif has changed
   202.1 Binary file onlypaths/theme/images/default/grid/hmenu-asc.gif has changed
   203.1 Binary file onlypaths/theme/images/default/grid/hmenu-desc.gif has changed
   204.1 Binary file onlypaths/theme/images/default/grid/hmenu-lock.gif has changed
   205.1 Binary file onlypaths/theme/images/default/grid/hmenu-lock.png has changed
   206.1 Binary file onlypaths/theme/images/default/grid/hmenu-unlock.gif has changed
   207.1 Binary file onlypaths/theme/images/default/grid/hmenu-unlock.png has changed
   208.1 Binary file onlypaths/theme/images/default/grid/invalid_line.gif has changed
   209.1 Binary file onlypaths/theme/images/default/grid/loading.gif has changed
   210.1 Binary file onlypaths/theme/images/default/grid/mso-hd.gif has changed
   211.1 Binary file onlypaths/theme/images/default/grid/nowait.gif has changed
   212.1 Binary file onlypaths/theme/images/default/grid/page-first-disabled.gif has changed
   213.1 Binary file onlypaths/theme/images/default/grid/page-first.gif has changed
   214.1 Binary file onlypaths/theme/images/default/grid/page-last-disabled.gif has changed
   215.1 Binary file onlypaths/theme/images/default/grid/page-last.gif has changed
   216.1 Binary file onlypaths/theme/images/default/grid/page-next-disabled.gif has changed
   217.1 Binary file onlypaths/theme/images/default/grid/page-next.gif has changed
   218.1 Binary file onlypaths/theme/images/default/grid/page-prev-disabled.gif has changed
   219.1 Binary file onlypaths/theme/images/default/grid/page-prev.gif has changed
   220.1 Binary file onlypaths/theme/images/default/grid/pick-button.gif has changed
   221.1 Binary file onlypaths/theme/images/default/grid/refresh.gif has changed
   222.1 Binary file onlypaths/theme/images/default/grid/row-check-sprite.gif has changed
   223.1 Binary file onlypaths/theme/images/default/grid/row-expand-sprite.gif has changed
   224.1 Binary file onlypaths/theme/images/default/grid/row-over.gif has changed
   225.1 Binary file onlypaths/theme/images/default/grid/row-sel.gif has changed
   226.1 Binary file onlypaths/theme/images/default/grid/sort_asc.gif has changed
   227.1 Binary file onlypaths/theme/images/default/grid/sort_desc.gif has changed
   228.1 Binary file onlypaths/theme/images/default/grid/wait.gif has changed
   229.1 Binary file onlypaths/theme/images/default/layout/Thumbs.db has changed
   230.1 Binary file onlypaths/theme/images/default/layout/collapse.gif has changed
   231.1 Binary file onlypaths/theme/images/default/layout/expand.gif has changed
   232.1 Binary file onlypaths/theme/images/default/layout/gradient-bg.gif has changed
   233.1 Binary file onlypaths/theme/images/default/layout/mini-bottom.gif has changed
   234.1 Binary file onlypaths/theme/images/default/layout/mini-left.gif has changed
   235.1 Binary file onlypaths/theme/images/default/layout/mini-right.gif has changed
   236.1 Binary file onlypaths/theme/images/default/layout/mini-top.gif has changed
   237.1 Binary file onlypaths/theme/images/default/layout/ns-collapse.gif has changed
   238.1 Binary file onlypaths/theme/images/default/layout/ns-expand.gif has changed
   239.1 Binary file onlypaths/theme/images/default/layout/panel-close.gif has changed
   240.1 Binary file onlypaths/theme/images/default/layout/panel-title-bg.gif has changed
   241.1 Binary file onlypaths/theme/images/default/layout/panel-title-light-bg.gif has changed
   242.1 Binary file onlypaths/theme/images/default/layout/stick.gif has changed
   243.1 Binary file onlypaths/theme/images/default/layout/stuck.gif has changed
   244.1 Binary file onlypaths/theme/images/default/layout/tab-close-on.gif has changed
   245.1 Binary file onlypaths/theme/images/default/layout/tab-close.gif has changed
   246.1 Binary file onlypaths/theme/images/default/menu/Thumbs.db has changed
   247.1 Binary file onlypaths/theme/images/default/menu/checked.gif has changed
   248.1 Binary file onlypaths/theme/images/default/menu/group-checked.gif has changed
   249.1 Binary file onlypaths/theme/images/default/menu/item-over.gif has changed
   250.1 Binary file onlypaths/theme/images/default/menu/menu-parent.gif has changed
   251.1 Binary file onlypaths/theme/images/default/menu/menu.gif has changed
   252.1 Binary file onlypaths/theme/images/default/menu/unchecked.gif has changed
   253.1 Binary file onlypaths/theme/images/default/panel/Thumbs.db has changed
   254.1 Binary file onlypaths/theme/images/default/panel/corners-sprite.gif has changed
   255.1 Binary file onlypaths/theme/images/default/panel/left-right.gif has changed
   256.1 Binary file onlypaths/theme/images/default/panel/light-hd.gif has changed
   257.1 Binary file onlypaths/theme/images/default/panel/tool-sprite-tpl.gif has changed
   258.1 Binary file onlypaths/theme/images/default/panel/tool-sprites.gif has changed
   259.1 Binary file onlypaths/theme/images/default/panel/tools-sprites-trans.gif has changed
   260.1 Binary file onlypaths/theme/images/default/panel/top-bottom.gif has changed
   261.1 Binary file onlypaths/theme/images/default/panel/top-bottom.png has changed
   262.1 Binary file onlypaths/theme/images/default/panel/white-corners-sprite.gif has changed
   263.1 Binary file onlypaths/theme/images/default/panel/white-left-right.gif has changed
   264.1 Binary file onlypaths/theme/images/default/panel/white-top-bottom.gif has changed
   265.1 Binary file onlypaths/theme/images/default/progress/progress-bg.gif has changed
   266.1 Binary file onlypaths/theme/images/default/qtip/Thumbs.db has changed
   267.1 Binary file onlypaths/theme/images/default/qtip/bg.gif has changed
   268.1 Binary file onlypaths/theme/images/default/qtip/close.gif has changed
   269.1 Binary file onlypaths/theme/images/default/qtip/tip-sprite.gif has changed
   270.1 Binary file onlypaths/theme/images/default/s.gif has changed
   271.1 Binary file onlypaths/theme/images/default/shadow-c.png has changed
   272.1 Binary file onlypaths/theme/images/default/shadow-lr.png has changed
   273.1 Binary file onlypaths/theme/images/default/shadow.png has changed
   274.1 Binary file onlypaths/theme/images/default/shared/Thumbs.db has changed
   275.1 Binary file onlypaths/theme/images/default/shared/blue-loading.gif has changed
   276.1 Binary file onlypaths/theme/images/default/shared/calendar.gif has changed
   277.1 Binary file onlypaths/theme/images/default/shared/glass-bg.gif has changed
   278.1 Binary file onlypaths/theme/images/default/shared/hd-sprite.gif has changed
   279.1 Binary file onlypaths/theme/images/default/shared/large-loading.gif has changed
   280.1 Binary file onlypaths/theme/images/default/shared/left-btn.gif has changed
   281.1 Binary file onlypaths/theme/images/default/shared/loading-balls.gif has changed
   282.1 Binary file onlypaths/theme/images/default/shared/right-btn.gif has changed
   283.1 Binary file onlypaths/theme/images/default/shared/warning.gif has changed
   284.1 Binary file onlypaths/theme/images/default/sizer/Thumbs.db has changed
   285.1 Binary file onlypaths/theme/images/default/sizer/e-handle-dark.gif has changed
   286.1 Binary file onlypaths/theme/images/default/sizer/e-handle.gif has changed
   287.1 Binary file onlypaths/theme/images/default/sizer/ne-handle-dark.gif has changed
   288.1 Binary file onlypaths/theme/images/default/sizer/ne-handle.gif has changed
   289.1 Binary file onlypaths/theme/images/default/sizer/nw-handle-dark.gif has changed
   290.1 Binary file onlypaths/theme/images/default/sizer/nw-handle.gif has changed
   291.1 Binary file onlypaths/theme/images/default/sizer/s-handle-dark.gif has changed
   292.1 Binary file onlypaths/theme/images/default/sizer/s-handle.gif has changed
   293.1 Binary file onlypaths/theme/images/default/sizer/se-handle-dark.gif has changed
   294.1 Binary file onlypaths/theme/images/default/sizer/se-handle.gif has changed
   295.1 Binary file onlypaths/theme/images/default/sizer/square.gif has changed
   296.1 Binary file onlypaths/theme/images/default/sizer/sw-handle-dark.gif has changed
   297.1 Binary file onlypaths/theme/images/default/sizer/sw-handle.gif has changed
   298.1 Binary file onlypaths/theme/images/default/slider/Thumbs.db has changed
   299.1 Binary file onlypaths/theme/images/default/slider/slider-bg.png has changed
   300.1 Binary file onlypaths/theme/images/default/slider/slider-thumb.png has changed
   301.1 Binary file onlypaths/theme/images/default/slider/slider-v-bg.png has changed
   302.1 Binary file onlypaths/theme/images/default/slider/slider-v-thumb.png has changed
   303.1 Binary file onlypaths/theme/images/default/tabs/Thumbs.db has changed
   304.1 Binary file onlypaths/theme/images/default/tabs/scroll-left.gif has changed
   305.1 Binary file onlypaths/theme/images/default/tabs/scroll-right.gif has changed
   306.1 Binary file onlypaths/theme/images/default/tabs/scroller-bg.gif has changed
   307.1 Binary file onlypaths/theme/images/default/tabs/tab-btm-inactive-left-bg.gif has changed
   308.1 Binary file onlypaths/theme/images/default/tabs/tab-btm-inactive-right-bg.gif has changed
   309.1 Binary file onlypaths/theme/images/default/tabs/tab-btm-left-bg.gif has changed
   310.1 Binary file onlypaths/theme/images/default/tabs/tab-btm-right-bg.gif has changed
   311.1 Binary file onlypaths/theme/images/default/tabs/tab-close.gif has changed
   312.1 Binary file onlypaths/theme/images/default/tabs/tab-strip-bg.gif has changed
   313.1 Binary file onlypaths/theme/images/default/tabs/tab-strip-bg.png has changed
   314.1 Binary file onlypaths/theme/images/default/tabs/tab-strip-btm-bg.gif has changed
   315.1 Binary file onlypaths/theme/images/default/tabs/tabs-sprite.gif has changed
   316.1 Binary file onlypaths/theme/images/default/toolbar/Thumbs.db has changed
   317.1 Binary file onlypaths/theme/images/default/toolbar/bg.gif has changed
   318.1 Binary file onlypaths/theme/images/default/toolbar/btn-arrow-light.gif has changed
   319.1 Binary file onlypaths/theme/images/default/toolbar/btn-arrow.gif has changed
   320.1 Binary file onlypaths/theme/images/default/toolbar/btn-over-bg.gif has changed
   321.1 Binary file onlypaths/theme/images/default/toolbar/gray-bg.gif has changed
   322.1 Binary file onlypaths/theme/images/default/toolbar/tb-bg.gif has changed
   323.1 Binary file onlypaths/theme/images/default/toolbar/tb-btn-sprite.gif has changed
   324.1 Binary file onlypaths/theme/images/default/tree/Thumbs.db has changed
   325.1 Binary file onlypaths/theme/images/default/tree/arrows.gif has changed
   326.1 Binary file onlypaths/theme/images/default/tree/drop-add.gif has changed
   327.1 Binary file onlypaths/theme/images/default/tree/drop-between.gif has changed
   328.1 Binary file onlypaths/theme/images/default/tree/drop-no.gif has changed
   329.1 Binary file onlypaths/theme/images/default/tree/drop-over.gif has changed
   330.1 Binary file onlypaths/theme/images/default/tree/drop-under.gif has changed
   331.1 Binary file onlypaths/theme/images/default/tree/drop-yes.gif has changed
   332.1 Binary file onlypaths/theme/images/default/tree/elbow-end-minus-nl.gif has changed
   333.1 Binary file onlypaths/theme/images/default/tree/elbow-end-minus.gif has changed
   334.1 Binary file onlypaths/theme/images/default/tree/elbow-end-plus-nl.gif has changed
   335.1 Binary file onlypaths/theme/images/default/tree/elbow-end-plus.gif has changed
   336.1 Binary file onlypaths/theme/images/default/tree/elbow-end.gif has changed
   337.1 Binary file onlypaths/theme/images/default/tree/elbow-line.gif has changed
   338.1 Binary file onlypaths/theme/images/default/tree/elbow-minus-nl.gif has changed
   339.1 Binary file onlypaths/theme/images/default/tree/elbow-minus.gif has changed
   340.1 Binary file onlypaths/theme/images/default/tree/elbow-plus-nl.gif has changed
   341.1 Binary file onlypaths/theme/images/default/tree/elbow-plus.gif has changed
   342.1 Binary file onlypaths/theme/images/default/tree/elbow.gif has changed
   343.1 Binary file onlypaths/theme/images/default/tree/folder-open.gif has changed
   344.1 Binary file onlypaths/theme/images/default/tree/folder.gif has changed
   345.1 Binary file onlypaths/theme/images/default/tree/leaf.gif has changed
   346.1 Binary file onlypaths/theme/images/default/tree/loading.gif has changed
   347.1 Binary file onlypaths/theme/images/default/tree/s.gif has changed
   348.1 Binary file onlypaths/theme/images/default/window/Thumbs.db has changed
   349.1 Binary file onlypaths/theme/images/default/window/icon-error.gif has changed
   350.1 Binary file onlypaths/theme/images/default/window/icon-info.gif has changed
   351.1 Binary file onlypaths/theme/images/default/window/icon-question.gif has changed
   352.1 Binary file onlypaths/theme/images/default/window/icon-warning.gif has changed
   353.1 Binary file onlypaths/theme/images/default/window/left-corners.png has changed
   354.1 Binary file onlypaths/theme/images/default/window/left-corners.psd has changed
   355.1 Binary file onlypaths/theme/images/default/window/left-right.png has changed
   356.1 Binary file onlypaths/theme/images/default/window/left-right.psd has changed
   357.1 Binary file onlypaths/theme/images/default/window/right-corners.png has changed
   358.1 Binary file onlypaths/theme/images/default/window/right-corners.psd has changed
   359.1 Binary file onlypaths/theme/images/default/window/top-bottom.png has changed
   360.1 Binary file onlypaths/theme/images/default/window/top-bottom.psd has changed
   361.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   361.2 +++ b/onlypaths/vmlpaths.htm	Sun Jan 31 12:33:33 2010 -0500
   361.3 @@ -0,0 +1,55 @@
   361.4 +<html xmlns="http://www.w3.org/1999/xhtml" xmlns:svg="http://www.w3.org/2000/svg" xml:lang="en" lang="en">
   361.5 +  <head>
   361.6 +    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
   361.7 +    <meta http-equiv="keywords" content="SVG,scalable vector graphics,tutorial,XML"/>
   361.8 +    
   361.9 +   
  361.10 +    <title>SVG</title> 
  361.11 +     <script type="text/javascript" src="vmlpaths.js"></script>
  361.12 +    <script>
  361.13 +   /* var k = (Math.sqrt(2)-1)*4/3; 
  361.14 +var mult=5;
  361.15 +var forma=new Array(); 
  361.16 +forma[0]="M 0,"+mult+" C "+mult*k+","+mult+" "+mult+","+mult*k+" "+mult+",0 "+mult+",-"+mult*k+"  "+mult*k+",-"+mult+" 0,-"+mult+" -"+mult*k+",-"+mult+" -"+mult+",-"+mult*k+" -"+mult+",0  -"+mult+","+mult*k+"  -"+mult*k+","+mult+"  0,"+mult+"z";
  361.17 +forma[1]="M 150.96825,4.9606428 L 141.38875,4.9606428 L 141.38875,5.5735708 L 141.67566,5.5735708 C 142.96674,5.5735708 143.11020,5.6387828 143.11020,6.1864998 L 143.11020,6.5646939 L 143.11020,12.772216 L 143.11020,13.150409 C 143.11020,13.698134 142.96674,13.763338 141.67566,13.763338 L 141.38875,13.763338 L 141.38875,14.376267 L 151.17546,14.376267 L 151.49425,10.894312 L 150.79292,10.894312 C 150.58571,11.807180 150.21911,12.615728 149.83656,12.993914 C 149.34245,13.515559 148.43391,13.763338 147.09501,13.763338 L 146.04302,13.763338 C 145.56485,13.763338 145.16636,13.685090 145.02291,13.567719 C 144.91133,13.489472 144.89539,13.411232 144.89539,13.137365 L 144.89539,9.8119059 L 145.21418,9.8119059 C 146.18648,9.8119059 146.58495,9.8901539 146.90374,10.164012 C 147.31816,10.503082 147.47755,10.920392 147.50944,11.689817 L 148.25858,11.689817 L 148.25858,7.4123579 L 147.50944,7.4123579 C 147.42973,8.6903759 146.79216,9.1989769 145.27794,9.1989769 L 144.89539,9.1989769 L 144.89539,6.2256238 C 144.89539,5.6648628 145.03885,5.5735708 145.89956,5.5735708 L 146.72841,5.5735708 C 148.13106,5.5735708 148.81645,5.6909428 149.35839,6.0560928 C 149.88438,6.3951548 150.26692,7.1254559 150.50602,8.2991459 L 151.19140,8.2991459 L 150.96825,4.9606428 z M 129.81685,10.190100 L 131.61799,10.190100 C 133.05252,10.190100 133.80166,10.098809 134.43923,9.8510299 C 135.57093,9.4076319 136.20850,8.5730119 136.20850,7.5427659 C 136.20850,6.5516499 135.65062,5.7952698 134.59863,5.3649158 C 133.97699,5.1040938 132.98876,4.9606428 131.88895,4.9606428 L 126.31021,4.9606428 L 126.31021,5.5735708 L 126.59712,5.5735708 C 127.88820,5.5735708 128.03165,5.6387828 128.03165,6.1864998 L 128.03165,6.5646939 L 128.03165,12.772216 L 128.03165,13.150409 C 128.03165,13.698134 127.88820,13.763338 126.59712,13.763338 L 126.31021,13.763338 L 126.31021,14.376267 L 131.66581,14.376267 L 131.66581,13.763338 L 131.25138,13.763338 C 129.96030,13.763338 129.81685,13.698134 129.81685,13.150409 L 129.81685,12.772216 L 129.81685,10.190100 z M 129.81685,9.5771709 L 129.81685,6.2386678 C 129.81685,5.6387828 129.91248,5.5735708 130.78915,5.5735708 L 131.80926,5.5735708 C 133.46694,5.5735708 134.24796,6.2125878 134.24796,7.5949329 C 134.24796,8.9381549 133.43506,9.5771709 131.74550,9.5771709 L 129.81685,9.5771709 z M 115.94969,4.7780748 L 115.28024,4.7780748 L 111.61420,12.380985 C 111.29542,13.059118 111.23167,13.150409 110.99258,13.359064 C 110.73755,13.606843 110.29125,13.763338 109.86089,13.763338 L 109.79713,13.763338 L 109.79713,14.376267 L 114.02103,14.376267 L 114.02103,13.763338 L 113.70225,13.763338 C 112.84153,13.763338 112.41117,13.515559 112.41117,13.020002 C 112.41117,12.863507 112.45899,12.680932 112.55462,12.472277 L 113.08062,11.324666 L 117.30453,11.324666 L 118.16525,13.072162 C 118.26088,13.267780 118.29276,13.359064 118.29276,13.424268 C 118.29276,13.632923 117.89428,13.763338 117.30453,13.763338 L 116.63508,13.763338 L 116.63508,14.376267 L 121.57624,14.376267 L 121.57624,13.763338 L 121.35310,13.763338 C 120.55613,13.763338 120.38080,13.659010 120.01420,12.928710 L 115.94969,4.7780748 z M 115.16866,6.9168009 L 116.96980,10.620453 L 113.39940,10.620453 L 115.16866,6.9168009 z M 104.17057,4.8693588 L 103.56488,4.8693588 L 102.92731,5.6387828 C 101.79562,4.9606428 101.17399,4.7650308 100.10606,4.7650308 C 98.559938,4.7650308 97.284798,5.2736318 96.200928,6.3299508 C 95.180811,7.3210739 94.702641,8.4165169 94.702641,9.7597459 C 94.702641,12.563560 96.950078,14.571878 100.09012,14.571878 C 102.64040,14.571878 104.26621,13.346020 104.63281,11.155135 L 103.88367,11.050800 C 103.72427,11.741976 103.53300,12.211454 103.24610,12.602684 C 102.59258,13.502516 101.57247,13.958949 100.28139,13.958949 C 97.922368,13.958949 96.806618,12.615728 96.806618,9.8119059 C 96.806618,8.3382689 97.045708,7.3471539 97.587648,6.5646939 C 98.081758,5.8343938 99.069985,5.3779598 100.09012,5.3779598 C 101.20587,5.3779598 102.19410,5.8604738 102.79980,6.6951019 C 103.10264,7.1254559 103.34173,7.6340569 103.70834,8.6382159 L 104.40966,8.6382159 L 104.17057,4.8693588 z M 88.215354,4.8824028 L 87.625607,4.8824028 L 86.988037,5.6648628 C 86.238897,5.0780138 85.218777,4.7650308 84.087100,4.7650308 C 81.999060,4.7650308 80.596403,5.8604738 80.596403,7.4906049 C 80.596403,8.9120749 81.457120,9.6162949 83.800200,10.111852 L 85.314417,10.424835 C 86.493927,10.672614 86.605497,10.698694 86.940227,10.907349 C 87.418407,11.207295 87.673427,11.637649 87.673427,12.146250 C 87.673427,12.667888 87.434337,13.098242 86.956167,13.450355 C 86.430167,13.828542 85.904167,13.971993 85.027507,13.971993 C 83.848010,13.971993 83.003230,13.672047 82.254090,12.993914 C 81.584630,12.380985 81.249910,11.768056 81.010823,10.763905 L 80.325433,10.763905 L 80.389193,14.480595 L 81.010823,14.480595 L 81.728080,13.593806 C 82.796020,14.311056 83.688610,14.571878 85.075327,14.571878 C 87.418407,14.571878 88.916694,13.450355 88.916694,11.702853 C 88.916694,10.894312 88.581964,10.203136 87.960337,9.7075779 C 87.529977,9.3685089 86.908347,9.1468169 85.633197,8.8859939 L 83.927700,8.5338879 C 82.509110,8.2339419 81.839660,7.7253399 81.839660,6.9298439 C 81.839660,6.0169688 82.748200,5.3909968 84.103040,5.3909968 C 85.218777,5.3909968 86.127317,5.7822338 86.764897,6.5255699 C 87.227137,7.0602519 87.514037,7.6079769 87.721247,8.2730659 L 88.406634,8.2730659 L 88.215354,4.8824028 z M 66.665476,10.111852 L 66.665476,6.5646939 L 66.665476,6.1864998 C 66.665476,5.6387828 66.808935,5.5735708 68.100014,5.5735708 L 68.402861,5.5735708 L 68.402861,4.9606428 L 63.158832,4.9606428 L 63.158832,5.5735708 L 63.445744,5.5735708 C 64.736818,5.5735708 64.880276,5.6387828 64.880276,6.1864998 L 64.880276,6.5646939 L 64.880276,12.772216 L 64.880276,13.150409 C 64.880276,13.698134 64.736818,13.763338 63.445744,13.763338 L 63.158832,13.763338 L 63.158832,14.376267 L 68.402861,14.376267 L 68.402861,13.763338 L 68.100014,13.763338 C 66.808935,13.763338 66.665476,13.698134 66.665476,13.150409 L 66.665476,12.772216 L 66.665476,11.116011 L 68.514433,9.5902069 L 71.287871,12.915667 C 71.542896,13.228657 71.606653,13.332984 71.606653,13.463392 C 71.606653,13.672047 71.303811,13.763338 70.522783,13.763338 L 70.028662,13.763338 L 70.028662,14.376267 L 75.479896,14.376267 L 75.479896,13.763338 L 75.177056,13.763338 C 74.300396,13.763338 74.077246,13.672047 73.614998,13.111285 L 69.757696,8.5599679 L 72.132644,6.6168539 C 72.897731,5.9517648 73.870028,5.5735708 74.826396,5.5735708 L 74.826396,4.9606428 L 69.917090,4.9606428 L 69.917090,5.5735708 L 70.315574,5.5735708 C 71.048775,5.5735708 71.351627,5.6909428 71.351627,5.9648018 C 71.351627,6.1473768 71.032840,6.5255699 70.570599,6.9037569 L 66.665476,10.111852 z M 48.845329,4.9606428 L 45.561840,4.9606428 L 45.561840,5.5735708 L 45.960319,5.5735708 C 46.773222,5.5735708 47.139831,5.6778988 47.426732,6.0039248 L 47.426732,11.546365 C 47.426732,13.332984 47.107950,13.711171 45.577780,13.763338 L 45.577780,14.376267 L 50.120510,14.376267 L 50.120510,13.763338 C 48.606244,13.711171 48.287451,13.332984 48.287451,11.546365 L 48.287451,6.7081449 L 55.396408,14.558842 L 56.065863,14.558842 L 56.065863,7.7905439 C 56.065863,6.0039248 56.384651,5.6257388 57.914820,5.5735708 L 57.914820,4.9606428 L 53.372123,4.9606428 L 53.372123,5.5735708 C 54.886352,5.6257388 55.205134,6.0039248 55.205134,7.7905439 L 55.205134,11.885427 L 48.845329,4.9606428 z M 38.484798,6.5646939 L 38.484798,6.1864998 C 38.484798,5.6387828 38.628257,5.5735708 39.903394,5.5735708 L 40.222181,5.5735708 L 40.222181,4.9606428 L 34.946282,4.9606428 L 34.946282,5.5735708 L 35.265070,5.5735708 C 36.556146,5.5735708 36.699604,5.6387828 36.699604,6.1864998 L 36.699604,6.5646939 L 36.699604,12.772216 L 36.699604,13.150409 C 36.699604,13.698134 36.556146,13.763338 35.265070,13.763338 L 34.946282,13.763338 L 34.946282,14.376267 L 40.222181,14.376267 L 40.222181,13.763338 L 39.903394,13.763338 C 38.628257,13.763338 38.484798,13.698134 38.484798,13.150409 L 38.484798,12.772216 L 38.484798,6.5646939 z " 
  361.18 +forma[2]="M 139.23126,12.451027 L 140.73051,12.451027 L 139.80954,15.470944 L 141.50155,15.470944 L 141.35162,15.963555 L 139.65961,15.963555 L 139.25267,17.205790 C 138.90999,18.262404 138.54588,19.540336 138.16036,21.039586 C 137.77484,22.524557 137.58208,23.388410 137.58208,23.631146 C 137.58208,23.959553 137.73201,24.123756 138.03186,24.123756 C 138.56016,24.123756 139.19556,23.395549 139.93804,21.939135 C 140.00944,21.782071 140.11653,21.589310 140.25931,21.360853 L 140.68767,21.575032 C 140.13081,22.731596 139.71673,23.474081 139.44543,23.802488 C 138.86001,24.502138 138.23890,24.851963 137.58208,24.851963 C 137.13945,24.851963 136.78248,24.716317 136.51119,24.445024 C 136.23990,24.159453 136.10425,23.795349 136.10425,23.352714 C 136.10425,22.952914 136.16850,22.503139 136.29701,22.003389 C 136.43980,21.446525 136.89671,19.847325 137.66775,17.205790 L 138.03186,15.963555 L 136.31843,15.963555 L 136.48977,15.470944 L 138.20320,15.470944 L 139.23126,12.451027 z M 149.99737,15.299601 L 151.60371,15.299601 C 150.24724,19.626007 149.56901,22.367492 149.56901,23.524056 C 149.56901,23.952413 149.68324,24.166592 149.91170,24.166592 C 150.18299,24.166592 150.50426,23.909578 150.87550,23.395549 C 151.26102,22.867242 151.59657,22.217567 151.88214,21.446525 L 152.35333,21.639285 C 151.59657,23.781071 150.65418,24.851963 149.52618,24.851963 C 148.55523,24.851963 148.06976,24.309378 148.06976,23.224206 C 148.06976,22.938635 148.10546,22.474582 148.17685,21.832046 C 147.61999,22.688760 147.17021,23.309878 146.82753,23.695399 C 146.14215,24.466442 145.36397,24.851963 144.49298,24.851963 C 143.97895,24.851963 143.55059,24.673481 143.20791,24.316517 C 142.86522,23.959553 142.69388,23.516917 142.69388,22.988610 C 142.69388,22.731596 142.90806,21.867743 143.33642,20.397050 L 143.72194,19.069143 C 144.15029,17.598451 144.36447,16.691762 144.36447,16.349076 C 144.36447,16.077783 144.27166,15.942137 144.08604,15.942137 C 143.48634,15.942137 142.69388,16.884522 141.70866,18.769293 L 141.23747,18.533697 C 142.32264,16.306240 143.41495,15.192512 144.51440,15.192512 C 144.91420,15.192512 145.23547,15.342437 145.47820,15.642287 C 145.73522,15.942137 145.86372,16.334798 145.86372,16.820269 C 145.86372,17.419969 145.72094,18.169594 145.43537,19.069143 L 144.85708,20.889661 C 144.38589,22.374632 144.15029,23.238485 144.15029,23.481221 C 144.15029,23.980971 144.40731,24.230846 144.92134,24.230846 C 145.37825,24.230846 145.87800,23.952413 146.42059,23.395549 C 146.97745,22.838685 147.47720,22.103339 147.91984,21.189511 C 148.59093,19.804489 149.28344,17.841187 149.99737,15.299601 z M 156.32999,12.451027 L 157.82924,12.451027 L 156.90827,15.470944 L 158.60028,15.470944 L 158.45035,15.963555 L 156.75834,15.963555 L 156.35140,17.205790 C 156.00872,18.262404 155.64461,19.540336 155.25909,21.039586 C 154.87357,22.524557 154.68081,23.388410 154.68081,23.631146 C 154.68081,23.959553 154.83074,24.123756 155.13059,24.123756 C 155.65889,24.123756 156.29429,23.395549 157.03677,21.939135 C 157.10817,21.782071 157.21526,21.589310 157.35804,21.360853 L 157.78640,21.575032 C 157.22954,22.731596 156.81546,23.474081 156.54416,23.802488 C 155.95874,24.502138 155.33763,24.851963 154.68081,24.851963 C 154.23818,24.851963 153.88121,24.716317 153.60992,24.445024 C 153.33863,24.159453 153.20298,23.795349 153.20298,23.352714 C 153.20298,22.952914 153.26723,22.503139 153.39574,22.003389 C 153.53853,21.446525 153.99544,19.847325 154.76648,17.205790 L 155.13059,15.963555 L 153.41716,15.963555 L 153.58850,15.470944 L 155.30193,15.470944 L 156.32999,12.451027 z M 163.74065,15.685123 C 162.71259,15.628008 161.79876,16.656065 160.99916,18.769293 C 160.44230,20.239986 160.16387,21.560753 160.16387,22.731596 C 160.16387,23.816767 160.64220,24.359353 161.59886,24.359353 C 162.36991,24.359353 163.04100,23.866742 163.61214,22.881521 C 163.98338,22.253264 164.30465,21.425107 164.57595,20.397050 C 164.84724,19.354715 165.00430,18.376633 165.04714,17.462804 C 165.10425,16.334798 164.66876,15.742237 163.74065,15.685123 z M 163.71923,15.192512 C 164.56167,15.192512 165.24704,15.528059 165.77535,16.199151 C 166.30365,16.855965 166.56781,17.712679 166.56781,18.769293 C 166.56781,20.068643 166.10375,21.382271 165.17565,22.710178 C 164.17615,24.138035 162.96247,24.851963 161.53461,24.851963 C 160.66362,24.851963 159.94969,24.552113 159.39283,23.952413 C 158.83596,23.338435 158.55753,22.560253 158.55753,21.617868 C 158.55753,20.018668 159.14295,18.505140 160.31379,17.077283 C 161.34185,15.820769 162.47700,15.192512 163.71923,15.192512 z M 167.89576,18.576533 L 167.44598,18.383772 C 167.81722,17.469944 168.26700,16.713180 168.79531,16.113480 C 169.32361,15.499501 169.79481,15.192512 170.20888,15.192512 C 171.13699,15.192512 171.60104,15.870744 171.60104,17.227208 C 171.60104,17.469944 171.55821,17.955415 171.47254,18.683622 C 172.45776,16.356215 173.50723,15.192512 174.62096,15.192512 C 174.93509,15.192512 175.19924,15.292462 175.41342,15.492362 C 175.64188,15.677983 175.75611,15.906441 175.75611,16.177733 C 175.75611,16.406190 175.67758,16.598951 175.52051,16.756015 C 175.36345,16.913080 175.17069,16.991612 174.94223,16.991612 C 174.45676,16.991612 174.21402,16.713180 174.21402,16.156316 C 174.21402,15.999251 174.16405,15.920719 174.06410,15.920719 C 173.92131,15.920719 173.72141,16.049226 173.46440,16.306240 C 173.20738,16.563255 172.98607,16.863105 172.80044,17.205790 C 172.22930,18.233847 171.30119,20.689761 170.01612,24.573531 L 168.40978,24.573531 C 169.08088,22.560253 169.51637,21.089561 169.71627,20.161454 C 170.03040,18.705040 170.18747,17.648426 170.18747,16.991612 C 170.18747,16.291962 170.07324,15.942137 169.84478,15.942137 C 169.64488,15.942137 169.35217,16.199151 168.96665,16.713180 C 168.59541,17.227208 168.23844,17.848326 167.89576,18.576533 z M 179.99685,10.352078 C 180.26814,10.352078 180.49660,10.452028 180.68222,10.651928 C 180.88212,10.837549 180.98207,11.066006 180.98207,11.337299 C 180.98207,11.608592 180.88212,11.844188 180.68222,12.044088 C 180.49660,12.243988 180.26814,12.343938 179.99685,12.343938 C 179.72556,12.343938 179.48996,12.243988 179.29006,12.044088 C 179.09016,11.844188 178.99021,11.608592 178.99021,11.337299 C 178.99021,11.066006 179.09016,10.837549 179.29006,10.651928 C 179.48996,10.452028 179.72556,10.352078 179.99685,10.352078 z M 180.31812,21.596450 L 180.74647,21.810628 C 179.78981,23.838185 178.74747,24.851963 177.61947,24.851963 C 177.21967,24.851963 176.89126,24.709178 176.63425,24.423606 C 176.37723,24.123756 176.24873,23.745374 176.24873,23.288460 C 176.24873,22.974332 176.29156,22.681621 176.37723,22.410328 C 176.46290,22.139035 176.69850,21.532196 177.08402,20.589811 L 177.89790,18.640786 C 178.38337,17.484222 178.62611,16.706040 178.62611,16.306240 C 178.62611,16.020669 178.50474,15.877883 178.26200,15.877883 C 177.76225,15.877883 177.07688,16.663205 176.20589,18.233847 L 175.77753,17.976833 C 176.79131,16.120619 177.76225,15.192512 178.69036,15.192512 C 179.07588,15.192512 179.39001,15.335298 179.63275,15.620869 C 179.87548,15.906441 179.99685,16.277683 179.99685,16.734598 C 179.99685,17.277183 179.70414,18.283822 179.11872,19.754514 L 178.21917,22.003389 C 177.84792,22.931496 177.66230,23.538335 177.66230,23.823906 C 177.66230,24.080921 177.77653,24.209428 178.00499,24.209428 C 178.27628,24.209428 178.62611,23.966692 179.05446,23.481221 C 179.49710,22.981471 179.91832,22.353214 180.31812,21.596450 z M 187.57881,15.727958 C 187.15046,15.699401 186.65071,15.949276 186.07956,16.477583 C 185.52270,16.991612 185.00153,17.684122 184.51606,18.555115 C 183.54512,20.282821 183.05965,21.732096 183.05965,22.902939 C 183.05965,23.816767 183.41661,24.273681 184.13054,24.273681 C 185.28710,24.273681 186.37941,23.138535 187.40747,20.868243 C 188.10712,19.326157 188.49978,18.048226 188.58545,17.034447 C 188.61401,16.663205 188.53548,16.356215 188.34986,16.113480 C 188.16423,15.870744 187.90722,15.742237 187.57881,15.727958 z M 189.37791,15.470944 L 190.89858,15.470944 C 190.54162,16.427608 190.05614,17.826908 189.44217,19.668843 C 188.78535,21.653564 188.45694,23.002889 188.45694,23.716817 C 188.45694,24.016667 188.57117,24.166592 188.79963,24.166592 C 189.29938,24.166592 189.99903,23.195649 190.89858,21.253764 L 191.36977,21.446525 C 190.77007,22.745874 190.25604,23.638285 189.82769,24.123756 C 189.39933,24.609228 188.91386,24.851963 188.37127,24.851963 C 187.48600,24.851963 187.04337,24.452163 187.04337,23.652564 C 187.04337,23.438385 187.10762,23.002889 187.23613,22.346075 C 186.22235,24.030946 185.13718,24.873381 183.98061,24.873381 C 183.25241,24.873381 182.65985,24.630645 182.20293,24.145174 C 181.74602,23.659703 181.51756,23.024307 181.51756,22.238985 C 181.51756,20.611229 182.16010,19.033447 183.44517,17.505640 C 184.73024,15.963555 186.05101,15.192512 187.40747,15.192512 C 188.12140,15.192512 188.66398,15.585173 189.03523,16.370494 L 189.37791,15.470944 z M 193.77581,10.780435 L 193.90432,10.287824 C 194.97521,10.244988 196.18889,10.173596 197.54535,10.073646 C 197.43113,10.459167 197.34545,10.737599 197.28834,10.908942 C 197.13128,11.351577 196.90996,12.022670 196.62439,12.922220 L 194.88954,18.576533 C 194.06138,21.275182 193.64731,22.931496 193.64731,23.545474 C 193.64731,23.988110 193.77581,24.209428 194.03283,24.209428 C 194.38979,24.209428 194.83243,23.823906 195.36073,23.052864 C 195.63203,22.653064 195.93902,22.124757 196.28170,21.467943 L 196.77431,21.703539 C 196.34595,22.488860 196.02469,23.045724 195.81051,23.374131 C 195.15369,24.359353 194.40407,24.851963 193.56163,24.851963 C 193.13328,24.851963 192.78345,24.694899 192.51216,24.380770 C 192.24087,24.066642 192.10522,23.666842 192.10522,23.181371 C 192.10522,22.581671 192.34796,21.489360 192.83343,19.904439 L 194.71820,13.757516 C 195.13228,12.401052 195.33932,11.637149 195.33932,11.465806 C 195.33932,11.208792 195.23937,11.037449 195.03947,10.951777 C 194.83957,10.851827 194.41835,10.794713 193.77581,10.780435 z ";  
  361.19 +forma[3]="M569.3857422,394.109375c-10.7744141,2.8852539-22.2714844,3.8129883-32.7353516,7.3813477 c17.7226563-15.1958008,16.7109375-38.7084961,28.5351563-56.605957 c3.7666016-5.0673828,6.8798828-10.3789063,11.2705078-15.1875 c-7.1923828,14.4277344-4.0732422,33.1464844-12.3359375,47.1474609 c-3.1806641,5.5615234-7.7294922,10.9570313-12.7597656,15.3251953c1.6435547-0.0615234,3.0820313-1.484375,4.5273438-2.4345703	c13.4208984-13.3925781,30.9541016-17.1376953,45.4716797-28.0185547 c5.8154297-4.6337891,11.1416016-10.7060547,13.6982422-17.2734375 C612.3105469,366.6630859,590.2050781,387.4892578,569.3857422,394.109375L569.3857422,394.109375z"
  361.20 +forma[4]="M508.9130859,166.2070313 c61.0849609,33.6157227,84.2705078,109.9931641,51.7490234,170.4824219 c-32.5175781,60.4916992-108.4897461,82.3041992-169.5742188,48.6889648 c-61.0839844-33.6147461-84.2700195-109.9931641-51.7485352-170.4833984 C371.8588867,154.4038086,447.828125,132.5917969,508.9130859,166.2070313L508.9130859,166.2070313z M506.7753906,170.1870117 c58.8671875,32.3945313,81.2089844,105.9970703,49.8681641,164.2924805 c-31.3369141,58.293457-104.5507813,79.3149414-163.4155273,46.9199219 c-58.8686523-32.3964844-81.2104492-105.9990234-49.8701172-164.293457 C374.6948242,158.8115234,447.9077148,137.7915039,506.7753906,170.1870117L506.7753906,170.1870117z"; 
  361.21 +forma[5]="M 86.45097,687.89459 C 84.557278,686.09284 82.429286,685.97587 82.08013,682.99524 C 82.08013,681.55748 81.19141,680.3989 76.56279,675.80252 C 72.675766,673.35649 71.893177,669.99344 70.49372,666.42305 C 67.741184,660.50993 65.403485,653.82044 62.76945,647.66409 C 62.46599,647.66409 62.21771,647.29168 62.21771,646.8365 C 62.21771,646.38132 62.46599,646.0089 62.76945,646.0089 C 64.205879,642.39829 68.07404,639.55717 68.83852,635.80182 C 67.691467,632.97878 67.805836,629.7789 67.18332,626.69821 C 66.675332,626.14259 66.403699,625.13898 66.07985,624.49129 C 65.146992,623.19519 65.658994,622.40868 63.82694,623.38782 C 62.695492,623.83638 61.530089,624.55924 60.56251,625.04302 C 60.56251,625.8731 58.3878,625.70582 57.48857,624.80655 C 55.390021,621.04382 53.730367,617.45761 52.28651,613.45661 C 52.28651,612.8497 52.03823,612.35314 51.73477,612.35314 C 50.70635,612.35314 51.13555,608.70502 52.28651,607.66341 C 52.89342,607.11415 53.38998,606.37732 53.38998,606.02591 C 57.034533,601.57866 59.917072,595.77772 64.70794,592.49073 C 65.20968,592.49073 65.52812,591.96785 65.52812,591.14395 C 68.536308,586.27989 65.904661,585.12573 65.52812,580.17995 C 65.52812,578.25617 65.84518,577.4966 67.18332,576.21458 C 68.09368,575.3424 68.83852,574.22079 68.83852,573.72207 C 68.83852,572.33816 71.32385,567.73253 73.03375,565.94778 C 74.394278,563.44965 76.630359,555.09327 74.84324,552.7659 C 74.57518,552.7659 74.35586,551.02794 74.35586,548.90377 C 74.51836,547.07342 74.119302,545.53692 73.25239,544.17462 C 73.25239,542.73726 71.79202,541.73123 69.70553,541.73123 C 66.716358,541.14333 63.864577,539.52768 61.11425,537.86909 C 61.11425,537.56564 60.75311,537.31736 60.31172,537.31736 C 59.27203,537.31736 56.70037,534.7457 56.70037,533.70601 C 56.70037,533.26462 56.45209,532.90349 56.14864,532.90349 C 56.070943,528.05714 47.493407,520.42027 49.52784,516.35148 C 52.028742,506.37255 60.474194,498.49066 62.21771,488.21306 C 62.21771,487.3027 62.46599,486.55786 62.76945,486.55786 C 63.0729,486.55786 63.32118,486.08466 63.32118,485.5063 C 63.32118,484.58274 63.15381,484.53237 61.94615,485.09251 C 60.701196,486.36028 59.986229,486.24605 58.90731,486.00612 C 53.754127,483.14494 47.631226,482.39984 42.6386,478.83359 C 39.677049,476.96298 36.810746,473.61988 35.73449,470.22876 C 34.62247,466.2322 33.61028,462.1216 34.0793,457.86771 C 34.38275,457.86771 34.63103,457.37115 34.63103,456.76424 C 39.334751,448.25178 40.521996,437.49703 45.6657,429.41401 C 45.6657,427.46664 47.08016,426.97087 52.66089,426.96217 C 55.64124,426.95752 57.83143,426.77131 57.52798,426.54837 C 56.047568,424.50836 53.738789,420.5178 55.04518,418.14288 C 56.186624,412.94088 58.306626,408.30961 60.56251,403.7978 C 60.86597,403.7978 61.11425,403.40765 61.11425,402.93079 C 61.11425,401.07459 62.56329,400.4874 67.14391,400.4874 C 70.19597,400.77134 76.062276,401.0412 77.31023,404.08361 C 79.441128,407.06272 80.19653,410.95177 82.31499,413.91279 C 82.78249,414.09219 83.08573,414.55872 82.98885,414.94953 C 82.89198,415.34033 82.91686,415.47387 83.04413,415.24628 C 85.119485,414.79053 86.949185,414.24086 88.70093,412.90141 C 88.70093,412.44623 88.45265,412.0738 88.1492,412.0738 C 87.81641,412.0738 87.59746,409.77491 87.59746,406.2806 C 87.59746,402.7863 87.81641,400.4874 88.1492,400.4874 C 88.885296,399.25135 88.745227,397.83307 89.8044,396.62527 C 91.350182,394.29014 92.794667,392.61419 95.32173,391.10792 C 98.661462,389.97104 102.13158,389.08168 105.01648,387.24579 C 106.4009,387.24579 107.45988,385.81104 107.45988,383.93539 C 107.45988,382.05974 108.51886,380.62498 109.90327,380.62498 C 112.93495,379.82412 115.69513,377.71535 118.61636,376.21112 C 119.61617,374.9242 120.53664,371.59847 120.70149,369.59031 C 120.70149,367.38338 120.70149,367.38338 122.90842,367.38338 C 125.23112,367.30994 126.80899,365.54431 128.97749,365.17644 L 139.46043,364.07298 C 139.06694,358.37626 142.99801,354.14406 147.19526,350.83136 C 148.56432,350.83136 150.4951,348.10201 150.4951,346.16671 C 153.05358,341.92859 148.53211,338.83768 150.0813,334.09302 C 150.63303,333.87039 150.63303,333.80603 150.0813,333.77118 C 149.26884,333.71987 149.13344,330.96895 149.94337,330.96895 C 150.88542,329.75415 151.31759,327.87863 151.59857,326.27922 C 151.53861,324.36265 150.6327,323.18983 150.4951,321.2742 C 150.65253,317.98203 148.39887,316.99797 145.76596,316.07215 C 143.95602,316.07215 142.77084,314.88696 142.77084,313.07702 C 141.68168,310.00662 142.82577,309.43605 146.38706,309.62519 C 148.52408,310.09966 148.37298,308.39962 149.39164,306.92913 C 151.53194,303.58546 156.10073,301.9454 159.64861,299.8915 C 160.86723,299.40621 160.40869,298.31819 159.87458,297.3132 C 158.74061,294.61587 160.24564,291.16577 157.3366,289.58892 C 154.46752,288.09309 152.78464,285.8986 152.70204,282.64339 C 152.70204,280.62757 153.00798,279.31302 153.65226,278.56056 C 156.95571,276.4825 160.26227,279.24948 164.16895,278.75626 C 165.86475,277.8868 166.72318,277.56258 167.5639,275.79559 C 167.84812,275.79559 168.15846,274.98867 168.25356,274.00245 C 168.68549,271.60248 172.37357,271.62446 174.56724,270.93646 C 175.65343,271.2205 176.97832,270.25258 176.97832,269.17499 C 178.11196,265.92757 181.96758,266.35319 183.59913,264.6844 C 184.44511,263.16976 184.66076,261.72249 184.70259,259.7953 C 184.70259,257.08205 184.90775,255.92836 185.39226,255.917 C 183.39588,252.62221 180.35791,250.17091 180.28872,245.87555 C 179.88156,240.06211 184.30156,239.75344 188.70267,238.57637 C 189.73965,238.35787 190.21997,237.9107 190.21997,237.16371 C 191.45654,234.84252 192.45436,231.55235 194.94785,230.00169 C 195.28919,230.00169 196.10293,229.53808 196.75631,228.97143 C 197.83951,228.03199 197.94422,227.39986 197.94422,221.7989 L 197.94422,215.65661 C 196.00378,215.55469 194.30301,215.60211 192.70277,216.76007 C 188.1251,220.68438 187.1162,217.99951 184.7092,213.18666 C 182.5609,209.01019 182.37891,207.93234 183.82205,207.93234 C 185.11828,207.47116 185.9419,206.32551 187.16771,205.7254 C 190.95208,201.97531 198.05056,202.62098 199.0477,197.16983 C 199.14068,189.35798 207.82248,186.80087 209.08825,180.06978 C 216.61956,175.80292 219.56117,179.42987 225.45455,172.61434 C 226.2842,172.1144 226.27915,172.02207 225.39293,171.4905 C 224.86194,171.17197 224.42742,170.55004 224.42742,170.10844 C 224.42742,169.66684 223.14852,168.05323 221.58535,166.52265 C 219.44178,164.42376 218.89934,163.58365 219.3784,163.10462 C 222.18628,157.4827 217.11588,156.88958 216.81217,152.56912 C 217.10655,149.66269 217.53202,148.73224 216.70316,146.69457 C 216.70316,146.09023 216.2066,145.28568 215.59969,144.90665 C 214.99277,144.52764 214.49621,143.78069 214.49621,143.24677 C 212.72113,141.1661 214.30964,139.63948 214.49621,137.03456 C 215.06657,134.80589 215.06131,131.28832 216.65215,129.75936 C 217.67373,129.49221 218.16995,128.5848 218.85877,125.72401 C 219.12889,124.60214 219.57663,124.31272 221.2574,124.17344 C 223.97937,123.38431 226.54875,119.19755 227.73785,116.52125 C 227.73785,116.10558 228.33037,115.5402 229.05463,115.26484 C 229.77889,114.98948 231.00906,114.12664 231.78828,113.34743 C 233.66283,111.77885 236.00865,111.08414 237.9843,109.72374 C 242.05834,108.24884 237.77439,101.86446 235.65942,99.77905 C 233.16449,97.47931 233.1639,97.47793 234.2306,96.29059 C 236.10892,94.19971 236.05311,93.43399 233.86619,91.29859 C 232.73325,90.19229 231.65646,89.43702 231.47321,89.62021 C 228.56744,88.182685 227.38976,84.279163 228.77256,81.33834 C 231.44125,78.459252 235.54351,77.205988 239.04839,75.51625 C 239.40951,75.51625 240.13393,75.04217 240.65836,74.46275 C 241.56031,73.46609 241.56048,73.38054 240.6613,72.87733 C 240.03965,72.52945 239.81608,71.94276 240.01508,71.18175 C 239.47633,67.585533 234.49985,65.459004 234.47968,61.69973 C 232.80721,57.364751 230.03601,54.024835 229.94472,48.98537 L 232.49503,42.83739 C 234.84745,40.6639 235.32885,40.45976 238.702,40.20529 C 243.3504,40.154052 242.40886,36.233346 246.95985,35.90175 C 249.92272,35.76152 250.60741,35.90913 251.43841,36.86729 C 251.97798,37.48937 252.8041,37.99836 253.27423,37.99836 C 255.03519,39.366274 255.15962,38.472704 257.33333,37.99836 C 258.9204,37.99836 259.40417,37.21054 258.35296,36.33812 C 255.55971,32.317059 260.09379,28.132221 259.04237,24.73075 C 258.2118,23.40081 259.06897,22.43037 262.65071,20.64549 C 265.881,19.035785 267.46269,18.858593 267.46269,20.10642 C 267.46269,21.48733 269.06323,22.82515 269.81544,22.07296 C 270.58751,21.30088 276.29042,21.23494 276.29042,21.99809 C 278.94084,23.91099 282.88547,24.236317 285.11816,26.96369 C 285.11816,27.57672 285.48592,28.06715 285.9457,28.06715 C 286.40093,28.06715 286.77333,27.81887 286.77333,27.51542 C 286.77333,26.46401 290.35439,26.91164 291.18724,28.06715 C 292.00131,29.19664 294.49758,29.61269 294.49758,28.61889 C 294.49758,28.31543 295.36654,28.06715 296.42869,28.06715 C 298.17342,28.53321 300.37035,29.00962 301.67014,30.0233 C 301.67014,31.36398 304.23468,33.58449 305.78303,33.58449 C 306.67716,33.58449 307.18744,33.89188 307.18744,34.43048 C 307.18744,35.9802 310.86211,39.10183 312.6864,39.10183 C 313.60687,39.10183 314.36,38.85355 314.36,38.5501 C 314.36,38.24664 314.98073,37.99836 315.73933,37.99836 C 317.2371,38.741394 319.02338,38.977117 320.47261,39.79149 C 320.50745,40.34323 320.57185,40.34323 320.7945,39.79149 C 321.18862,38.81474 326.36752,38.89239 327.36519,39.89002 C 327.7987,40.32352 328.15334,41.06836 328.15334,41.54522 C 328.15334,42.14074 328.67162,42.41222 329.80851,42.41222 C 331.98829,43.571694 334.76282,48.609637 335.8776,51.36177 C 337.41239,53.633045 339.18315,50.85827 340.96501,50.1365 C 341.50492,50.1365 341.94668,49.88822 341.94668,49.58477 C 341.94668,48.59096 344.44303,49.00702 345.25711,50.1365 C 346.94737,51.783439 349.42481,52.017066 351.32619,52.89517 C 351.32619,53.21701 353.16529,53.4469 355.74002,53.4469 C 358.40282,53.676789 361.32364,53.959451 363.7402,55.1021 C 363.94812,55.43851 368.15975,55.65384 374.53154,55.65384 C 381.13068,55.65384 384.98195,55.45051 384.98195,55.1021 C 384.98195,54.79865 385.37884,54.55037 385.86404,54.55037 C 390.55663,51.067544 395.3278,48.6675 400.43046,46.8261 C 401.03738,46.8261 401.53394,46.57782 401.53394,46.27436 C 401.53394,45.55461 406.3306,45.55461 406.77539,46.27436 C 407.22035,46.99428 412.56862,46.99428 412.56862,46.27436 C 412.56862,45.97091 413.01039,45.72263 413.5503,45.72263 C 414.09021,45.72263 414.88981,45.22607 415.32727,44.61916 C 418.60977,42.657748 422.58505,40.846039 426.36196,40.20529 C 427.27234,40.20529 428.01714,39.95701 428.01714,39.65356 C 428.01714,39.35011 428.76202,39.10183 429.67231,39.10183 C 430.77579,39.10183 431.32757,38.82596 431.32757,38.27422 C 431.32757,37.81904 431.07924,37.44663 430.77579,37.44663 C 430.05865,35.346313 429.18296,33.168166 429.12061,30.80743 C 429.12061,27.74483 429.27356,27.32568 431.03328,25.56596 C 435.07707,22.900146 439.38793,19.530849 444.33267,19.239418 C 447.4963,19.239418 448.98303,20.02058 448.98303,21.68281 C 453.77063,23.734166 460.59668,21.779144 465.53502,24.20502 C 465.53502,24.9239 468.67701,24.9239 469.1213,24.20502 C 472.11146,23.324774 474.29925,21.143357 475.46623,18.131269 C 475.46623,17.09735 475.84309,17.032483 481.85055,17.032483 C 488.34128,17.032483 489.81135,17.461197 489.81135,19.354076 C 491.27739,21.224148 491.88504,24.416019 494.50102,23.10155 C 495.01787,22.26538 499.16148,22.44171 500.0578,23.33801 C 500.48148,26.717493 502.41862,29.640675 503.0529,32.75689 C 503.0529,33.51552 502.80467,34.13622 502.50121,34.13622 C 502.19464,34.13622 501.94943,35.60751 501.94943,37.44663 C 501.5421,42.156583 499.83727,46.746022 499.74256,51.51583 C 499.74256,53.90668 499.97548,55.65384 500.29425,55.65384 C 501.50685,57.664059 502.59153,60.248525 503.60469,62.27464 C 503.94872,62.27464 504.15638,65.49309 504.15638,70.82651 C 504.15638,76.15994 503.94872,79.37839 503.60469,79.37839 C 502.71273,81.38568 503.30168,86.556781 505.2139,87.65439 C 505.79548,87.65439 506.36544,87.9365 506.48034,88.28129 C 509.24999,88.204397 513.19422,88.890117 516.29455,90.41306 C 517.42473,91.112101 518.06068,90.914699 518.5015,92.34413 C 518.05046,93.834583 517.27299,95.228694 516.32897,96.45226 C 515.60261,97.08221 515.20471,98.25258 515.08761,100.10325 L 514.91522,102.82707 C 511.55045,102.55401 507.15095,104.21025 504.34696,102.04508 C 501.94917,100.47607 499.91938,105.92086 499.74256,108.3444 C 500.08174,115.30997 503.77374,120.62633 508.57029,125.72401 C 509.17721,126.16146 509.67377,126.79848 509.67377,127.13964 C 509.67377,127.4808 509.17721,128.20931 508.57029,128.75855 C 507.72549,129.52303 507.46681,130.45788 507.46681,132.74561 C 507.46681,135.8221 508.26346,137.31042 509.91022,137.31042 C 511.0823,137.31042 511.12422,141.85291 509.96106,142.81826 C 508.76769,143.80869 507.46681,146.64769 507.46681,148.26174 C 506.23297,151.89502 501.72667,154.43799 498.37384,156.06937 C 497.35892,156.06937 495.32865,158.50724 495.32865,159.72591 C 495.32865,161.16061 492.99114,163.24766 489.53542,164.89833 C 485.93508,166.61814 484.29396,168.10601 484.29396,169.65046 C 484.21515,170.82827 483.44357,171.53246 483.19049,172.65395 C 481.31618,175.30569 476.70738,174.53437 473.6656,175.51668 C 471.47034,176.74137 467.74197,180.54756 467.74197,181.56399 C 467.74197,182.17474 467.33271,182.55259 466.67107,182.55259 C 457.24796,185.98995 438.04256,190.7866 432.43104,198.82168 C 432.43104,200.12353 429.35395,202.415 427.60576,202.415 C 426.12252,202.48176 425.10366,203.28109 423.66426,203.51847 C 420.77159,203.51847 413.6721,208.02659 413.6721,209.86341 C 410.23702,213.7977 407.79331,218.47997 404.65724,222.69122 C 403.68251,224.40459 405.1775,224.68223 403.83534,226.88164 C 402.26965,227.77641 400.93906,228.73629 399.60283,230.00169 C 398.08893,232.28982 395.64058,231.83059 393.53383,232.76036 C 393.08702,233.48322 386.08543,233.48322 386.08543,232.76036 C 386.08543,232.4569 385.4647,232.20862 384.70602,232.20862 C 383.62198,232.25818 383.24866,232.94553 382.34502,233.31209 C 377.6523,237.78685 369.87261,234.77903 365.11953,238.82942 C 364.48206,239.71385 363.69121,239.93289 361.1356,239.93289 C 354.82991,242.03093 347.73037,241.70389 341.39498,243.79503 C 337.02359,245.13117 333.22391,247.32885 329.25682,249.31236 C 329.25682,249.61888 327.78549,249.8641 325.94639,249.8641 C 320.6403,250.73208 314.14055,250.52459 311.04957,255.38144 C 310.22499,257.54888 308.06015,258.68432 306.3599,259.7953 C 304.41486,258.54935 302.21089,257.76929 299.73904,257.58837 C 296.63819,257.31489 294.17806,259.24353 291.45837,259.7953 C 290.41239,259.7953 288.12185,261.74781 282.07894,267.79077 C 277.68145,272.18827 274.08347,276.10595 274.08347,276.49671 C 272.2727,282.11727 266.43403,284.23252 263.04878,288.73625 C 263.04878,289.2211 262.57276,289.58892 261.9453,289.58892 C 261.07744,289.58892 260.84183,289.95675 260.84183,291.31168 C 260.84183,292.78047 260.96388,292.93319 261.66946,292.34759 C 262.51671,291.95494 262.69087,292.16492 263.55502,291.56117 C 264.91221,290.33296 267.10931,290.62134 267.38457,292.06381 C 269.20181,295.20283 271.27281,299.22605 275.18695,299.81119 C 277.48623,299.74503 277.93639,302.04889 278.49729,303.95239 C 278.49729,305.77668 275.37567,309.45134 273.82597,309.45134 C 273.36072,309.45134 272.97999,309.69962 272.97999,310.00307 C 270.83882,311.84917 265.28884,312.31676 264.15226,314.96868 C 263.99078,315.9164 263.39483,316.20067 263.04878,317.05381 C 262.72262,318.43545 261.44464,319.13696 260.84183,320.37135 C 259.57054,323.08306 255.77346,324.13807 253.11757,325.45162 C 250.9037,326.57728 249.34056,323.22573 248.17958,321.33857 C 247.20354,320.45529 247.01305,320.44268 246.2451,321.21059 C 244.42406,324.30376 242.27812,327.28003 240.42771,330.41722 C 240.01872,334.49211 237.56843,337.19842 235.46211,340.44799 C 233.88764,342.66169 232.52974,345.16224 231.0482,347.52097 C 229.05077,350.48061 229.0284,354.44698 227.487,357.75312 C 224.66868,359.9321 221.13784,361.16047 217.80664,362.41777 C 215.84749,364.03692 217.09235,367.50432 215.34892,369.89126 C 213.6906,371.30245 212.0355,371.5443 211.18578,373.6889 C 210.54532,374.9582 209.72479,376.27501 208.97891,377.62986 C 208.97891,378.74494 207.65059,380.07325 206.5355,380.07325 C 205.14303,380.85661 203.67345,381.66302 202.0428,382.28019 C 200.50522,382.28019 199.0477,383.40997 199.0477,384.60178 C 198.57842,385.83495 197.42254,386.49203 196.84074,387.66853 C 196.84074,388.67559 194.32225,391.10792 193.27955,391.10792 C 191.3084,392.20591 189.07067,393.36162 186.90953,394.41833 C 185.8878,394.41833 185.80606,394.78615 185.80606,399.38394 C 185.8504,403.0393 184.97342,406.65347 183.49956,410.00481 C 183.35433,411.02741 182.9829,411.24229 181.39219,411.22399 C 179.31913,411.20016 178.08179,412.01862 178.08179,413.41373 C 177.44552,414.67985 176.6245,415.99246 175.87486,417.33888 L 167.04712,426.92341 C 167.06627,429.72174 167.21536,432.5919 166.49539,435.24662 C 165.55286,436.67888 165.14224,438.17309 163.28505,438.89475 C 162.07236,439.49468 160.57804,440.447 159.20029,441.18289 C 158.24351,440.86396 156.01245,443.25619 156.01245,444.60102 C 157.15581,446.85312 157.47884,448.78421 156.01827,451.36775 C 154.09299,452.51113 152.77669,453.16958 151.59857,455.35983 C 150.03747,457.6152 149.45084,459.55423 149.39164,462.28157 C 149.39164,464.48851 149.15518,466.14371 148.8399,466.14371 C 148.04685,467.39475 147.39639,469.10569 146.66244,470.55758 C 146.3752,470.55758 146.87176,471.94833 147.76591,473.64815 C 148.90467,475.31714 149.07114,477.41239 149.94337,479.10945 C 152.5296,482.42276 148.17525,487.55004 150.18367,490.38069 C 151.72628,492.08526 153.80551,496.52658 153.80551,498.1171 C 154.90816,501.66788 158.5103,503.68749 160.42631,506.80002 C 158.07794,511.40255 158.81295,512.9428 157.5406,515.79974 C 157.16728,515.79974 159.15352,518.101 161.95448,520.91365 C 164.75543,523.72629 167.04712,526.30283 167.04712,526.63929 C 168.57278,528.98868 170.03537,531.48577 171.31259,534.05318 C 173.44689,538.47055 174.17207,539.50138 175.15263,539.51164 C 176.34274,539.66445 177.0887,540.39779 178.25229,540.66809 C 180.30744,540.73664 182.72183,542.52515 183.84278,544.80936 C 184.72347,546.60399 185.60682,547.3259 188.8084,548.86744 C 193.46211,551.60668 197.08271,553.77011 202.62649,553.86937 L 207.87543,553.86937 C 207.78477,555.50583 207.85493,557.05775 208.42713,558.55911 C 208.96714,559.63224 209.03169,560.6939 209.70325,561.59364 C 210.10166,561.59364 211.09478,562.28999 211.91021,563.1411 C 213.41874,564.71566 213.8382,566.00751 212.84104,566.00751 C 212.14602,567.73163 211.58706,569.29628 210.0823,570.7629 C 208.86855,571.85948 207.87543,573.11797 207.87543,573.55953 C 207.87543,574.00108 207.50084,574.73688 207.04309,575.19465 C 206.33255,575.90517 205.96916,575.92007 204.56029,575.29644 C 202.06824,573.40997 201.05859,574.68411 198.63388,576.73664 C 196.12911,578.14491 197.71645,581.31947 195.73727,582.55952 C 191.81579,585.12977 187.74199,581.84549 183.84279,582.61161 C 181.07969,584.36187 180.29569,584.73783 181.39219,587.57108 C 182.19515,589.13427 182.10964,589.92215 181.39219,591.68961 C 181.39219,594.10328 178.88863,595.76334 175.21775,595.78369 C 173.18222,596.13982 171.65951,594.89468 169.77322,594.69767 C 167.23339,594.75661 168.63701,597.7048 167.33977,599.11153 C 164.5866,599.91776 162.08025,601.97098 159.32284,600.76673 C 159.32284,599.71618 157.30266,600.22096 156.01297,601.59378 C 154.15059,603.57616 147.26712,606.8358 144.94318,606.8358 C 140.60573,607.40489 138.45032,612.05652 138.35696,615.89278 L 138.35696,619.43244 L 135.1845,622.50245 C 132.75134,624.91274 129.16836,626.40119 125.77246,626.71659 L 123.73602,626.73491 C 126.75598,629.29976 127.67816,633.78463 128.42576,637.45703 C 128.42576,638.695 128.20289,638.83636 126.25138,638.83636 L 111.87375,643.25023 L 111.87375,652.07797 C 111.87375,657.5953 111.66685,660.90571 111.32202,660.90571 C 109.06288,665.53727 107.36325,670.94621 104.43464,675.44676 C 103.31017,677.70144 100.37617,678.02871 97.80454,678.56118 C 95.804384,678.7215 96.83373,684.70397 96.30598,688.48191 L 93.86709,690.06494 C 90.945835,690.14517 88.696128,689.75806 86.45097,687.89459 z";
  361.22 + 
  361.23 +   var xmlDoc=document.implementation.createDocument("","",null);
  361.24 +   xmlDoc.async="false";
  361.25 +   xmlDoc.load("note.xml"); 
  361.26 +   var parser=new DOMParser();
  361.27 +var doc=parser.parseFromString(txt,"text/xml");   
  361.28 +
  361.29 +
  361.30 +var text="<note>"
  361.31 +text=text+"<to>Tove</to><from>Jani</from>"
  361.32 +text=text+"<heading>Reminder</heading>"
  361.33 +text=text+"<body>Don't forget me this weekend!</body>"
  361.34 +text=text+"</note>"
  361.35 +
  361.36 +var xmlDoc = new ActiveXObject("Microsoft.XMLDOM")
  361.37 +xmlDoc.async="false"
  361.38 +xmlDoc.loadXML(text)
  361.39 +var htmloutput = newxml.transformNode(htmlout);
  361.40 +
  361.41 +document.write(htmloutput);
  361.42 +
  361.43 +   */
  361.44 +    </script>
  361.45 +  </head>
  361.46 +  <body onload="">  
  361.47 + <script>   
  361.48 +        var cadena='';  var a=1;
  361.49 +      for(var a=0;a<forma.length;a++){
  361.50 +        cadena+='<a onclick="parent.document.forms[0].codebase.value='+"'"+forma[a]+"'"+';parent.setShape()">'+a+' </a>';
  361.51 +         
  361.52 +       }           
  361.53 +       var h=cadena;
  361.54 +      document.write(h);
  361.55 + </script>      
  361.56 +                        
  361.57 +          </body>
  361.58 +</html> 
  361.59 \ No newline at end of file
   362.1 --- a/paypal/basic_acrylic_clear.paylist	Thu Jan 28 15:06:52 2010 -0500
   362.2 +++ b/paypal/basic_acrylic_clear.paylist	Sun Jan 31 12:33:33 2010 -0500
   362.3 @@ -104,7 +104,7 @@
   362.4  
   362.5  <!-- Start of Text Input Fields -->
   362.6  <br>
   362.7 -Name:&nbsp;&nbsp;
   362.8 +Name:&nbsp;&nbsp;<br>
   362.9  <input type="text"  name="line_1b" size="20" id="Name" 
  362.10  ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Name');smallRedraw('arrow', 'Name');"
  362.11  
  362.12 @@ -112,7 +112,7 @@
  362.13  <!--   -->
  362.14  <br>
  362.15  <br>
  362.16 -Company:&nbsp;&nbsp;
  362.17 +Company:&nbsp;&nbsp;<br>
  362.18  <input type="text"  name="line_2b" size="20" id="Company" 
  362.19  ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Company');smallRedraw('arrow', 'Company');"
  362.20  
  362.21 @@ -120,7 +120,7 @@
  362.22  <!--   -->
  362.23  <br>
  362.24  <br>
  362.25 -Occupation:&nbsp;&nbsp;
  362.26 +Occupation:&nbsp;&nbsp;<br>
  362.27  <input type="text"  name="line_3b" size="20" id="Occupation" 
  362.28  ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Occupation');smallRedraw('arrow', 'Occupation');"
  362.29  
  362.30 @@ -128,7 +128,7 @@
  362.31  <!--   -->
  362.32  <br>
  362.33  <br>
  362.34 -Email:&nbsp;&nbsp;
  362.35 +Email:&nbsp;&nbsp;<br>
  362.36  <input type="text"  name="line_4b" size="20" id="Email" 
  362.37  ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Email');smallRedraw('arrow', 'Email');"
  362.38  
   363.1 --- a/paypal/basic_acrylic_green.paylist	Thu Jan 28 15:06:52 2010 -0500
   363.2 +++ b/paypal/basic_acrylic_green.paylist	Sun Jan 31 12:33:33 2010 -0500
   363.3 @@ -104,7 +104,7 @@
   363.4  
   363.5  <!-- Start of Text Input Fields -->
   363.6  <br>
   363.7 -Line 1:&nbsp;&nbsp;
   363.8 +Line 1:&nbsp;&nbsp;<br>
   363.9  <input type="text"  name="line_1b" size="20" id="Line 1" 
  363.10  ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Line 1');smallRedraw('', 'Line 1');"
  363.11  
  363.12 @@ -112,7 +112,7 @@
  363.13  <!--   -->
  363.14  <br>
  363.15  <br>
  363.16 -Line 2:&nbsp;&nbsp;
  363.17 +Line 2:&nbsp;&nbsp;<br>
  363.18  <input type="text"  name="line_2b" size="20" id="Line 2" 
  363.19  ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Line 2');smallRedraw('', 'Line 2');"
  363.20  
  363.21 @@ -120,7 +120,7 @@
  363.22  <!--   -->
  363.23  <br>
  363.24  <br>
  363.25 -Line 3:&nbsp;&nbsp;
  363.26 +Line 3:&nbsp;&nbsp;<br>
  363.27  <input type="text"  name="line_3b" size="20" id="Line 3" 
  363.28  ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Line 3');smallRedraw('', 'Line 3');"
  363.29  
  363.30 @@ -128,7 +128,7 @@
  363.31  <!--   -->
  363.32  <br>
  363.33  <br>
  363.34 -Line 4:&nbsp;&nbsp;
  363.35 +Line 4:&nbsp;&nbsp;<br>
  363.36  <input type="text"  name="line_4b" size="20" id="Line 4" 
  363.37  ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Line 4');smallRedraw('', 'Line 4');"
  363.38  
   364.1 --- a/paypal/big_acrylic_clear.paylist	Thu Jan 28 15:06:52 2010 -0500
   364.2 +++ b/paypal/big_acrylic_clear.paylist	Sun Jan 31 12:33:33 2010 -0500
   364.3 @@ -104,7 +104,7 @@
   364.4  
   364.5  <!-- Start of Text Input Fields -->
   364.6  <br>
   364.7 -Name:&nbsp;&nbsp;
   364.8 +Name:&nbsp;&nbsp;<br>
   364.9  <input type="text"  name="line_1b" size="20" id="Name" 
  364.10  ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Name');smallRedraw('bold', 'Name');"
  364.11  
  364.12 @@ -112,7 +112,7 @@
  364.13  <!--   -->
  364.14  <br>
  364.15  <br>
  364.16 -Email:&nbsp;&nbsp;
  364.17 +Email:&nbsp;&nbsp;<br>
  364.18  <input type="text"  name="line_2b" size="20" id="Email" 
  364.19  ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Email');smallRedraw('bold', 'Email');"
  364.20  
   365.1 --- a/paypal/big_acrylic_green.paylist	Thu Jan 28 15:06:52 2010 -0500
   365.2 +++ b/paypal/big_acrylic_green.paylist	Sun Jan 31 12:33:33 2010 -0500
   365.3 @@ -104,7 +104,7 @@
   365.4  
   365.5  <!-- Start of Text Input Fields -->
   365.6  <br>
   365.7 -Line 1:&nbsp;&nbsp;
   365.8 +Line 1:&nbsp;&nbsp;<br>
   365.9  <input type="text"  name="line_1b" size="20" id="Line 1" 
  365.10  ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Line 1');smallRedraw('', 'Line 1');"
  365.11  
  365.12 @@ -112,7 +112,7 @@
  365.13  <!--   -->
  365.14  <br>
  365.15  <br>
  365.16 -Line 2:&nbsp;&nbsp;
  365.17 +Line 2:&nbsp;&nbsp;<br>
  365.18  <input type="text"  name="line_2b" size="20" id="Line 2" 
  365.19  ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Line 2');smallRedraw('', 'Line 2');"
  365.20  
   366.1 --- a/paypal/classic_acrylic_clear.paylist	Thu Jan 28 15:06:52 2010 -0500
   366.2 +++ b/paypal/classic_acrylic_clear.paylist	Sun Jan 31 12:33:33 2010 -0500
   366.3 @@ -104,7 +104,7 @@
   366.4  
   366.5  <!-- Start of Text Input Fields -->
   366.6  <br>
   366.7 -Email:&nbsp;&nbsp;
   366.8 +Email:&nbsp;&nbsp;<br>
   366.9  <input type="text"  name="line_1b" size="20" id="Email" 
  366.10  ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Email');smallRedraw('classic', 'Email');"
  366.11  
  366.12 @@ -112,7 +112,7 @@
  366.13  <!--   -->
  366.14  <br>
  366.15  <br>
  366.16 -Phone:&nbsp;&nbsp;
  366.17 +Phone:&nbsp;&nbsp;<br>
  366.18  <input type="text"  name="line_2b" size="20" id="Phone" 
  366.19  ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Phone');smallRedraw('classic', 'Phone');"
  366.20  
  366.21 @@ -120,7 +120,7 @@
  366.22  <!--   -->
  366.23  <br>
  366.24  <br>
  366.25 -Name:&nbsp;&nbsp;
  366.26 +Name:&nbsp;&nbsp;<br>
  366.27  <input type="text"  name="line_3b" size="20" id="Name" 
  366.28  ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Name');smallRedraw('classic', 'Name');"
  366.29  
  366.30 @@ -128,7 +128,7 @@
  366.31  <!--   -->
  366.32  <br>
  366.33  <br>
  366.34 -Company:&nbsp;&nbsp;
  366.35 +Company:&nbsp;&nbsp;<br>
  366.36  <input type="text"  name="line_4b" size="20" id="Company" 
  366.37  ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Company');smallRedraw('classic', 'Company');"
  366.38  
  366.39 @@ -136,7 +136,7 @@
  366.40  <!--   -->
  366.41  <br>
  366.42  <br>
  366.43 -Occupation:&nbsp;&nbsp;
  366.44 +Occupation:&nbsp;&nbsp;<br>
  366.45  <input type="text"  name="line_5b" size="20" id="Occupation" 
  366.46  ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Occupation');smallRedraw('classic', 'Occupation');"
  366.47  
  366.48 @@ -144,7 +144,7 @@
  366.49  <!--   -->
  366.50  <br>
  366.51  <br>
  366.52 -Website:&nbsp;&nbsp;
  366.53 +Website:&nbsp;&nbsp;<br>
  366.54  <input type="text"  name="line_6b" size="20" id="Website" 
  366.55  ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Website');smallRedraw('classic', 'Website');"
  366.56  
   367.1 --- a/paypal/classic_acrylic_green.paylist	Thu Jan 28 15:06:52 2010 -0500
   367.2 +++ b/paypal/classic_acrylic_green.paylist	Sun Jan 31 12:33:33 2010 -0500
   367.3 @@ -104,7 +104,7 @@
   367.4  
   367.5  <!-- Start of Text Input Fields -->
   367.6  <br>
   367.7 -Line 1:&nbsp;&nbsp;
   367.8 +Line 1:&nbsp;&nbsp;<br>
   367.9  <input type="text"  name="line_1b" size="20" id="Line 1" 
  367.10  ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Line 1');smallRedraw('', 'Line 1');"
  367.11  
  367.12 @@ -112,7 +112,7 @@
  367.13  <!--   -->
  367.14  <br>
  367.15  <br>
  367.16 -Line 2:&nbsp;&nbsp;
  367.17 +Line 2:&nbsp;&nbsp;<br>
  367.18  <input type="text"  name="line_2b" size="20" id="Line 2" 
  367.19  ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Line 2');smallRedraw('', 'Line 2');"
  367.20  
  367.21 @@ -120,7 +120,7 @@
  367.22  <!--   -->
  367.23  <br>
  367.24  <br>
  367.25 -Line 3:&nbsp;&nbsp;
  367.26 +Line 3:&nbsp;&nbsp;<br>
  367.27  <input type="text"  name="line_3b" size="20" id="Line 3" 
  367.28  ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Line 3');smallRedraw('', 'Line 3');"
  367.29  
  367.30 @@ -128,7 +128,7 @@
  367.31  <!--   -->
  367.32  <br>
  367.33  <br>
  367.34 -Line 4:&nbsp;&nbsp;
  367.35 +Line 4:&nbsp;&nbsp;<br>
  367.36  <input type="text"  name="line_4b" size="20" id="Line 4" 
  367.37  ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Line 4');smallRedraw('', 'Line 4');"
  367.38  
  367.39 @@ -136,7 +136,7 @@
  367.40  <!--   -->
  367.41  <br>
  367.42  <br>
  367.43 -Line 5:&nbsp;&nbsp;
  367.44 +Line 5:&nbsp;&nbsp;<br>
  367.45  <input type="text"  name="line_5b" size="20" id="Line 5" 
  367.46  ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Line 5');smallRedraw('', 'Line 5');"
  367.47  
  367.48 @@ -144,7 +144,7 @@
  367.49  <!--   -->
  367.50  <br>
  367.51  <br>
  367.52 -Side:&nbsp;&nbsp;
  367.53 +Side:&nbsp;&nbsp;<br>
  367.54  <input type="text"  name="line_6b" size="20" id="Side" 
  367.55  ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Side');smallRedraw('', 'Side');"
  367.56  
   368.1 --- a/paypal/generate_paylists.pm	Thu Jan 28 15:06:52 2010 -0500
   368.2 +++ b/paypal/generate_paylists.pm	Sun Jan 31 12:33:33 2010 -0500
   368.3 @@ -135,7 +135,7 @@
   368.4  
   368.5  $start = <<OHYEAH;
   368.6  <br>
   368.7 -PERL::OPT:&nbsp;&nbsp;
   368.8 +PERL::OPT:&nbsp;&nbsp;<br>
   368.9  <input type="text"  name="line_PERL::NUMb" size="20" id="PERL::OPT" 
  368.10  ONFOCUS="clearDefault(this);" onKeyUp="stabForm('PERL::OPT');smallRedraw('PERL::SHORT', 'PERL::OPT');"
  368.11  
   369.1 --- a/paypal/lines_acrylic_clear.paylist	Thu Jan 28 15:06:52 2010 -0500
   369.2 +++ b/paypal/lines_acrylic_clear.paylist	Sun Jan 31 12:33:33 2010 -0500
   369.3 @@ -104,7 +104,7 @@
   369.4  
   369.5  <!-- Start of Text Input Fields -->
   369.6  <br>
   369.7 -Name:&nbsp;&nbsp;
   369.8 +Name:&nbsp;&nbsp;<br>
   369.9  <input type="text"  name="line_1b" size="20" id="Name" 
  369.10  ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Name');smallRedraw('direct', 'Name');"
  369.11  
  369.12 @@ -112,7 +112,7 @@
  369.13  <!--   -->
  369.14  <br>
  369.15  <br>
  369.16 -Occupation:&nbsp;&nbsp;
  369.17 +Occupation:&nbsp;&nbsp;<br>
  369.18  <input type="text"  name="line_2b" size="20" id="Occupation" 
  369.19  ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Occupation');smallRedraw('direct', 'Occupation');"
  369.20  
  369.21 @@ -120,7 +120,7 @@
  369.22  <!--   -->
  369.23  <br>
  369.24  <br>
  369.25 -Company:&nbsp;&nbsp;
  369.26 +Company:&nbsp;&nbsp;<br>
  369.27  <input type="text"  name="line_3b" size="20" id="Company" 
  369.28  ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Company');smallRedraw('direct', 'Company');"
  369.29  
  369.30 @@ -128,7 +128,7 @@
  369.31  <!--   -->
  369.32  <br>
  369.33  <br>
  369.34 -Phone:&nbsp;&nbsp;
  369.35 +Phone:&nbsp;&nbsp;<br>
  369.36  <input type="text"  name="line_4b" size="20" id="Phone" 
  369.37  ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Phone');smallRedraw('direct', 'Phone');"
  369.38  
  369.39 @@ -136,7 +136,7 @@
  369.40  <!--   -->
  369.41  <br>
  369.42  <br>
  369.43 -Email:&nbsp;&nbsp;
  369.44 +Email:&nbsp;&nbsp;<br>
  369.45  <input type="text"  name="line_5b" size="20" id="Email" 
  369.46  ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Email');smallRedraw('direct', 'Email');"
  369.47  
  369.48 @@ -144,7 +144,7 @@
  369.49  <!--   -->
  369.50  <br>
  369.51  <br>
  369.52 -Website:&nbsp;&nbsp;
  369.53 +Website:&nbsp;&nbsp;<br>
  369.54  <input type="text"  name="line_6b" size="20" id="Website" 
  369.55  ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Website');smallRedraw('direct', 'Website');"
  369.56  
   370.1 --- a/paypal/lines_acrylic_green.paylist	Thu Jan 28 15:06:52 2010 -0500
   370.2 +++ b/paypal/lines_acrylic_green.paylist	Sun Jan 31 12:33:33 2010 -0500
   370.3 @@ -104,7 +104,7 @@
   370.4  
   370.5  <!-- Start of Text Input Fields -->
   370.6  <br>
   370.7 -Line 1:&nbsp;&nbsp;
   370.8 +Line 1:&nbsp;&nbsp;<br>
   370.9  <input type="text"  name="line_1b" size="20" id="Line 1" 
  370.10  ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Line 1');smallRedraw('', 'Line 1');"
  370.11  
  370.12 @@ -112,7 +112,7 @@
  370.13  <!--   -->
  370.14  <br>
  370.15  <br>
  370.16 -Line 2:&nbsp;&nbsp;
  370.17 +Line 2:&nbsp;&nbsp;<br>
  370.18  <input type="text"  name="line_2b" size="20" id="Line 2" 
  370.19  ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Line 2');smallRedraw('', 'Line 2');"
  370.20  
  370.21 @@ -120,7 +120,7 @@
  370.22  <!--   -->
  370.23  <br>
  370.24  <br>
  370.25 -Line 3:&nbsp;&nbsp;
  370.26 +Line 3:&nbsp;&nbsp;<br>
  370.27  <input type="text"  name="line_3b" size="20" id="Line 3" 
  370.28  ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Line 3');smallRedraw('', 'Line 3');"
  370.29  
  370.30 @@ -128,7 +128,7 @@
  370.31  <!--   -->
  370.32  <br>
  370.33  <br>
  370.34 -Line 4:&nbsp;&nbsp;
  370.35 +Line 4:&nbsp;&nbsp;<br>
  370.36  <input type="text"  name="line_4b" size="20" id="Line 4" 
  370.37  ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Line 4');smallRedraw('', 'Line 4');"
  370.38  
  370.39 @@ -136,7 +136,7 @@
  370.40  <!--   -->
  370.41  <br>
  370.42  <br>
  370.43 -Line 5:&nbsp;&nbsp;
  370.44 +Line 5:&nbsp;&nbsp;<br>
  370.45  <input type="text"  name="line_5b" size="20" id="Line 5" 
  370.46  ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Line 5');smallRedraw('', 'Line 5');"
  370.47  
  370.48 @@ -144,7 +144,7 @@
  370.49  <!--   -->
  370.50  <br>
  370.51  <br>
  370.52 -Line 6:&nbsp;&nbsp;
  370.53 +Line 6:&nbsp;&nbsp;<br>
  370.54  <input type="text"  name="line_6b" size="20" id="Line 6" 
  370.55  ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Line 6');smallRedraw('', 'Line 6');"
  370.56  
   371.1 --- a/sexy.css	Thu Jan 28 15:06:52 2010 -0500
   371.2 +++ b/sexy.css	Sun Jan 31 12:33:33 2010 -0500
   371.3 @@ -260,7 +260,7 @@
   371.4  position: absolute;
   371.5  top:45px;
   371.6  left: 15px;
   371.7 -display:none;
   371.8 +
   371.9  }
  371.10  
  371.11  div#cardDefs
  371.12 @@ -270,6 +270,6 @@
  371.13  width: 200px;
  371.14  top: 70px;
  371.15  left: 10px;
  371.16 -display:none;
  371.17 +
  371.18  }
  371.19