( function( $ )
{
    $.fn.wresize = function( f )
    {
        version = '1.1';
        wresize = {fired: false, width: 0};

        function resizeOnce()
        {
            if ( $.browser.msie )
            {
                if ( ! wresize.fired )
                {
                    wresize.fired = true;
                }
                else
                {
                    var version = parseInt( $.browser.version, 10 );
                    wresize.fired = false;
                    if ( version < 7 )
                    {
                        return false;
                    }
                    else if ( version == 7 )
                    {
                        //a vertical resize is fired once, an horizontal resize twice
                        var width = $( window ).width();
                        if ( width != wresize.width )
                        {
                            wresize.width = width;
                            return false;
                        }
                    }
                }
            }

            return true;
        }

        function handleWResize( e )
        {
            if ( resizeOnce() )
            {
                return f.apply(this, [e]);
            }
        }

        this.each( function()
        {
            if ( this == window )
            {
                $( this ).resize( handleWResize );
            }
            else
            {
                $( this ).resize( f );
            }
        } );

        return this;
    };

} ) ( jQuery );



(function($) {
  $.fn.gambling = function(params) {
    if (!params) { params = {}; }
    params = $.extend({}, $.fn.gambling.params, params);
    this.each(function() {
      var $this = $(this);
      if (params.autowidth) {
          function ctnrResize(_el,$this){
            var ctnr = $this.parent();
            var float = ctnr.parent();
            var outerctnr = ctnr.parent().parent();

            if ($.browser.msie && $.browser.version < 7) {
//              alert($(_el).width());
//              params.width = $(_el).width()-68;
            } else {
              //params.width = $(_el).width()-64;
            }

            //params.width = $(_el).width()-64;
            params.width = $(_el).width()-24-24-4;

            var autowidth1 = $("#main").width() - $("#img_cnt").outerWidth() - 20;
//            var autowidth1 = $("#main").width() - $("#img_cnt").width();
            params.width = autowidth1-24-24-4;
            //alert(params.width);
            ctnr.width(params.width);
            float.width(params.width);

            //var totalwidth = params.width+30+30+4+20;
            var totalwidth = params.width+24+24+4;
            outerctnr.width(totalwidth);

            calczone(ctnr.outerWidth());
            setArrowOpacity();

            //ctnr
            outerctnr.unbind()
            // Bind checkMouse to the mousemove
            .mousemove(function(e) { checkMouse(e.pageX, e.pageY); })
            // Bind stopMoving to the mouseleave
            // jQuery 1.2.x backward compatibility, thanks to Andy Mull!
            // replaced .mouseleave(...) with .bind('mouseleave', ...)
            .bind('mouseleave', function() { stopMoving(); });
          };
          var autowidth = $(params.autowidthelement);
          if (autowidth.width()) {
            params.width = autowidth.width()-24-24-4;
          }

          var autowidth1 = $("#main").width() - $("#img_cnt").outerWidth() - 20;
          params.width = autowidth1-24-24-4;

          if ($.browser.msie && $.browser.version < 7) {

          } else {
            $(window).wresize( function(){
              ctnrResize(params.autowidthelement,$this);
            } );
          }


      }


      if (params.collapse) {
        $this.wrap('<div class="gamblingcnt"></div>');

        $this.before('<div class="thumb"><div class="text"></div><img width="'+params.thumbwidth+'" height="'+params.thumbheight+'" src="" /></div>');
        var $gamblbox = $this.parent();
        var img = $this.find('li img').get(0);
        var gmb = $gamblbox.find('div.thumb img').get(0);
        gmb.src = img.src;
        gmb.alt = img.alt;
        gmb.title = img.title;
        var thumb = $gamblbox.find('div.thumb');
        thumb.width(params.thumbwidth).height(params.thumbheight);
        thumb.find('div.text').html(img.title).width(params.thumbwidth-6);

        $this.find('li').click(function(){
          var img = $(this).find('img').get(0);
          var gmb = $gamblbox.find('div.thumb img').get(0);
          gmb.src = img.src;
          gmb.alt = img.alt;
          gmb.title = img.title;
          thumb.find('div.text').html(img.title);
          //$gamblbox.find('div.thumb div.text').html(img.title);
        });
      }

      if (params.handler) {
        $this.find('li').click(params.handler);
      }

      if (params.imgwidth) {
        //$this.find('li').css('width',params.imgwidth);
        $this.find('li img').css('width',params.imgwidth);
        $this.find('li').css('width',params.imgwidth);
      }
      if (params.imgheight) {
        //$this.find('li').css('height',params.imgheight+4);
        $this.find('li img').css('height',params.imgheight);
        $this.find('li').css('height',params.imgheight);
      }
      if (params.vertical) {
        $this.find('li').css('margin-left','1px');
      }

      if (params.zoom) {
        $this.find('li').addClass('list').hover(function() {
            $(this).css({'z-index' : '10'});
            var img = $(this).find('img').get(0);
              if (img.src) {
                  var tmp = img.src;
                  img.src = tmp.replace('lr_','hr_');
              }
              $(this).stop();
              if (!params.vertical) {
              $(this).find('img').addClass("hover").stop()
              .animate({
                  marginTop: '-32px',
                  marginLeft: '-75px',
                  top: '50%',
                  left: '50%',
                  width: '140px',
                  height: '140px'
              }, 200);
                //$(this).animate({width: '60px',height: '60px',padding: '3px'},300);//.height('140px');
              $().add('<div class="hor_title">' + img.title + '</div>').appendTo(this);
              } else {
              $(this).find('img').addClass("hover").stop()
              .animate({
                  marginTop: '-74px',
                  marginLeft: '-74px',
                  top: '50%',
                  left: '50%',
                  width: '140px',
                  height: '140px'
              }, 200);
                $(this).animate({width: '140px', height: '140px'},300);//.height('140px');
              $().add('<div class="title">' + img.title + '</div>').appendTo(this);
              }

          } , function() {
            $(this).css({'z-index' : '0'});
              var img = $(this).find('img').get(0);
              $(this).find('div').remove();
              $(this).stop();
            $(this).find('img').removeClass("hover").stop()
            .animate({
                marginTop: '0',
                marginLeft: '0',
                top: '0',
                left: '0',
                width: '60px',
                height: '60px',
                padding: '0px'
            }, 400);
            if (params.vertical) {
              $(this).animate({width: '60px',height: '60px',padding: '3px'},300);//.height('140px');
            }
              if (img.src) {
                  var tmp = img.src;
                  img.src = tmp.replace('hr_','lr_');
              }
        });
      } else {
        $this.find('li img').hover(function() {
          $(this).css({'border' : '2px solid #452B10'});
          } , function() {
            if (!$(this).hasClass('selected')) {
              $(this).css({'border' : '2px solid #EFD7BD'});
            } else {
            $(this).css({'border' : '2px solid #452B10'});
            }
        }).click(function(){
          $this.find('li img').each(function(){
            $(this).removeClass('selected').css({'border' : '2px solid #EFD7BD'});
          });
          $(this).addClass('selected').css({'border' : '2px solid #452B10'});
        });
      }
      $this.wrap('<div class="pophovercontainer"></div>');

      if (!params.vertical) {
        //$this.wrap('<div class="bla" style="boreder:1px solid red;"></div>');
        //$this.before('<div class="left arrow"></div>');
        $this.before('<div class="newarrow left" style="height: '+params.height+'px;"><div class="top"></div><div class="middle" style="height: '+(parseInt(params.height)-11)+ 'px;"><img style="margin-top: '+(((parseInt(params.height)-11)/2)-13)+'px;" src="i/arrow_left.gif" /></div><div class="bottom"></div></div>');

        //$this.after('<div class="right arrow"></div>');
        $this.after('<div class="newarrow right" style="height: '+params.height+'px;"><div class="top"></div><div class="middle" style="height: '+(parseInt(params.height)-11)+ 'px;"><img style="margin-top: '+(((parseInt(params.height)-11)/2)-13)+'px;" src="i/arrow_right.gif" /></div><div class="bottom"></div></div>');
        $this.wrap('<div class="scroll"></div>');
        $this.parent().wrap('<div style="float:left;"></div>');
      } else {
        $this.before('<div class="top arrow"></div>');
        $this.after('<div class="bottom arrow"></div>');
        $this.wrap('<div class="scroll"></div>');
      }

      $this.addClass('list');

      if (!params.vertical) {
        var ctnr = $this.parent();
        ctnr.width(params.width).height(params.height);
        var float = ctnr.parent();
        float.width(params.width).height(params.height);

        var outerctnr = ctnr.parent().parent();
        var totalwidth = params.width+24+24+4;
        outerctnr.width(totalwidth).height(params.height);
        outerctnr.find('.arrow').height(params.listheight);
      } else {
        var ctnr = $this.parent();
        ctnr.width(params.width).height(params.height);
        var outerctnr = ctnr.parent();
        var totalheight = params.height+24+24+4;
        outerctnr.width(params.width).height(totalheight);
        outerctnr.find('.arrow').width(params.listwidth);
      }


      if (params.collapse) {
        if (!params.vertical) {
          var gmbwidth = totalwidth;
          var gmbheight = params.thumbheight+2+params.height;
        } else {
          var gmbwidth = params.width+2;
          var gmbheight = totalheight+params.thumbheight+2;
        }

        $gamblbox.height(params.thumbheight+2).width(params.thumbwidth+2).hover(function(){
          $gamblbox.stop().animate({
            width: gmbwidth,
            height: gmbheight
          },300); //width(params.width).height(totalheight+72);
        },function(){
          $gamblbox.stop().animate({
            width: params.thumbwidth + 2 + 'px',
            height: params.thumbheight + 2 +'px'
          },300); //.height(72).width(72);
        });
      }
      var size = 0;

      if (!params.vertical) {
        ctnr.addClass('horizontal');
        $this.children().each(function() {
          $(this).addClass('item');
          if ($(this).outerWidth) {
            size += $(this).outerWidth(true);
          }

        });
        // Apply computed width to listcontainer
        $this.width(size);

        if (ctnr.outerWidth) {
          size = ctnr.outerWidth();
        }
        else {
          // jQuery < 1.2.x backward compatibility patch
          size = ctnr.width() + parseInt(ctnr.css('padding-left')) + parseInt(ctnr.css('padding-right'))
            + parseInt(ctnr.css('margin-left')) + parseInt(ctnr.css('margin-right'));
        }

      } else {
        ctnr.addClass('vertical');
        $this.children().each(function() {
          $(this).addClass('item');

          if ($(this).outerHeight) {
            size += $(this).outerHeight(true);
          }

        });
        // Apply computed height to listcontainer
        $this.height(size);

        // Retrieve container height instead of using the given params.height to include padding
        if (ctnr.outerHeight) {
          size = ctnr.outerHeight();
        }
        else {
          // jQuery < 1.2.x backward compatibility patch
          size = ctnr.height() + parseInt(ctnr.css('padding-top')) + parseInt(ctnr.css('padding-bottom'))
            + parseInt(ctnr.css('margin-top')) + parseInt(ctnr.css('margin-bottom'));
        }

      }
      var zone = null;
      calczone(size);

      function calczone(size) {
      // Define hover zones on container
        zone = {
          1: { action: 'move', from: -30, to: 0, direction: -1 , speed: 16 },
          2: { action: 'move', from: 0, to: 0.06 * size, direction: -1 , speed: 16 },
          3: { action: 'move', from: 0.06 * size, to: 0.15 * size, direction: -1 , speed: 8 },
          4: { action: 'stop', from: 0.15 * size, to: 0.25 * size},
          //4: { action: 'move', from: 0.15 * size, to: 0.25 * size, direction: -1 , speed: 4 },
          //5: { action: 'move', from: 0.25 * size, to: 0.4 * size, direction: -1 , speed: 2 },
          5: { action: 'stop', from: 0.25 * size, to: 0.4 * size},
          6: { action: 'stop', from: 0.4 * size, to: 0.6 * size },
          7: { action: 'stop', from: 0.6 * size, to: 0.75 * size},
          //7: { action: 'move', from: 0.6 * size, to: 0.75 * size, direction: 1 , speed: 2 },
//          8: { action: 'move', from: 0.75 * size, to: 0.85 * size, direction: 1 , speed: 4 },
          8: { action: 'stop', from: 0.75 * size, to: 0.85 * size },
          9: { action: 'move', from: 0.85 * size, to: 0.94 * size, direction: 1 , speed: 8 },
          10: { action: 'move', from: 0.94 * size, to: size, direction: 1 , speed: 16 },
          11: { action: 'move', from: size, to: size+30, direction: 1 , speed: 16 }
        };
      }
      // Store default state values in container
      ctnr[0].isChanging = false;
      ctnr[0].direction  = 0;
      ctnr[0].speed      = 1;


      /**
       * Check mouse position relative to hoverscroll container
       * and trigger actions according to the zone table
       *
       * @param x {Integer} Mouse X event position
       * @param y {Integer} Mouse Y event position
       */
      function checkMouse(x, y) {
        x = x - ctnr.offset().left;
        y = y - ctnr.offset().top;

        var pos;
        if (!params.vertical) { pos = x; }
        else { pos = y; }

        for (i in zone) {
          if (pos >= zone[i].from && pos < zone[i].to) {
            if (zone[i].action == 'move') { startMoving(zone[i].direction, zone[i].speed); }
            else { stopMoving(); }
          }
        }
      }


      /**
       * Sets the opacity of the left|top and right|bottom
       * arrows according to the scroll position.
       */
      function setArrowOpacity() {
        if (!params.arrows) { return; }

        var maxScroll;
        var scroll;

        if (!params.vertical) {
//          var count = 0;
  //        ctnr.find('ul li').each(function(){
    //        count ++;//= $(this).outerWidth();
      //    });
          //maxScroll = (count * (params.imgwidth+8)) - ctnr.width();
          //alert(ctnr[0].scrollWidth + ' - '+count+' - '+(count * (params.imgwidth+8)));
          //alert(ctnr.width() + ' - ' +ctnr[0].scrollWidth);
          //fuckin opera && chrome!!!!!
          maxScroll = ctnr[0].scrollWidth - ctnr.width();
          scroll = ctnr[0].scrollLeft;
        }
        else {
          maxScroll = ctnr[0].scrollHeight - ctnr.height();
          scroll = ctnr[0].scrollTop;
        }

        var opacity = (scroll / maxScroll);
        var limit = params.arrowsOpacity;

        if (isNaN(opacity)) { opacity = 0; }

        var done = false;

        if (opacity <= 0) { $('div.arrow.left, div.arrow.top', outerctnr).css('opacity',0); done = true; }
        if (opacity >= limit || maxScroll <= 0) { $('div.arrow.right, div.arrow.bottom', outerctnr).hide(); done = true; }

        if (!done) {
          $('div.arrow.left, div.arrow.top', outerctnr).show().css('opacity', (opacity > limit ? limit : opacity));
          $('div.arrow.right, div.arrow.bottom', outerctnr).show().css('opacity', (1 - opacity > limit ? limit : 1 - opacity));
        }
      }

      /**
       * Start scrolling the list with a given speed and direction
       *
       * @param direction {Integer}  Direction of the displacement, either -1|1
       * @param speed {Integer}    Speed of the displacement (20 being very fast)
       */
      function startMoving(direction, speed) {

        if (ctnr[0].direction != direction) {
          stopMoving();
          ctnr[0].direction  = direction;
          ctnr[0].isChanging = true;
          move();
        }
        if (ctnr[0].speed != speed) {
          ctnr[0].speed = speed;
        }
      }

      /**
       * Stop scrolling the list
       */
      function stopMoving() {
        if (ctnr[0].isChanging) {
          ctnr[0].isChanging = false;
          ctnr[0].direction  = 0;
          ctnr[0].speed      = 1;
          clearTimeout(ctnr[0].timer);
        }
      }

      /**
       * Move the list one step in the given direction and speed
       */
      function move() {
        if (ctnr[0].isChanging == false) { return; }

        setArrowOpacity();

        var scrollSide;
        if (!params.vertical) { scrollSide = 'scrollLeft'; }
        else { scrollSide = 'scrollTop'; }
        ctnr[0][scrollSide] += ctnr[0].direction * ctnr[0].speed;
        ctnr[0].timer = setTimeout(function() { move(); }, 50);
      }

      // Bind actions to the hoverscroll container

      //ctnr
      outerctnr
      // Bind checkMouse to the mousemove
      .mousemove(function(e) { checkMouse(e.pageX, e.pageY); })
      // Bind stopMoving to the mouseleave
      // jQuery 1.2.x backward compatibility, thanks to Andy Mull!
      // replaced .mouseleave(...) with .bind('mouseleave', ...)
      .bind('mouseleave', function() { stopMoving(); });

      if (params.arrows) {
        // Initialise arrow opacity
        setArrowOpacity();
      }
      else {
        // Hide arrows
        $('.arrowleft, .arrowright, .arrowtop, .arrowbottom', ctnr).hide();
      }
      var cnt = 0;
      $this.find('li img').each(function(){
        cnt += $(this).outerWidth();
        if ($(this).hasClass('selected')) {
          if (cnt > ctnr.width()) {
            ctnr[0]['scrollLeft'] = cnt - ctnr.width() + $(this).outerWidth();
          }
        }
      });


    });


    return this;


  };
})(jQuery);

jQuery.log = function(msg) {
  if (console && console.log) {
    console.log(msg);
  }
};

jQuery.fn.gambling.params = {
    vertical:  true,
    zoom:    true,
    width:    145,
    height:    400,
    arrows:    true,
    arrowsOpacity:  1,
    listwidth:   '100%',
    listheight:   '100%',
    collapse:   false,
    thumbwidth:   70,
    thumbheight:    70
    ,imgwidth: 60
    ,autowidth: false
  };



/*!
 * jQuery blockUI plugin
 * Version 2.31 (06-JAN-2010)
 * @requires jQuery v1.2.3 or later
 *
 * Examples at: http://malsup.com/jquery/block/
 * Copyright (c) 2007-2008 M. Alsup
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 *
 * Thanks to Amir-Hossein Sobhi for some excellent contributions!
 */

;(function($) {

if (/1\.(0|1|2)\.(0|1|2)/.test($.fn.jquery) || /^1.1/.test($.fn.jquery)) {
  alert('blockUI requires jQuery v1.2.3 or later!  You are using v' + $.fn.jquery);
  return;
}

$.fn._fadeIn = $.fn.fadeIn;

var noOp = function() {};

// this bit is to ensure we don't call setExpression when we shouldn't (with extra muscle to handle
// retarded userAgent strings on Vista)
var mode = document.documentMode || 0;
var setExpr = $.browser.msie && (($.browser.version < 8 && !mode) || mode < 8);
var ie6 = $.browser.msie && /MSIE 6.0/.test(navigator.userAgent) && !mode;

// global $ methods for blocking/unblocking the entire page
$.blockUI   = function(opts) { install(window, opts); };
$.unblockUI = function(opts) { remove(window, opts); };

// convenience method for quick growl-like notifications  (http://www.google.com/search?q=growl)
$.growlUI = function(title, message, timeout, onClose) {
  var $m = $('<div class="growlUI"></div>');
  if (title) $m.append('<h1>'+title+'</h1>');
  if (message) $m.append('<h2>'+message+'</h2>');
  if (timeout == undefined) timeout = 3000;
  $.blockUI({
    message: $m, fadeIn: 700, fadeOut: 1000, centerY: false,
    timeout: timeout, showOverlay: false,
    onUnblock: onClose,
    css: $.blockUI.defaults.growlCSS
  });
};

// plugin method for blocking element content
$.fn.block = function(opts) {
  return this.unblock({ fadeOut: 0 }).each(function() {
    if ($.css(this,'position') == 'static')
      this.style.position = 'relative';
    if ($.browser.msie)
      this.style.zoom = 1; // force 'hasLayout'
    install(this, opts);
  });
};

// plugin method for unblocking element content
$.fn.unblock = function(opts) {
  return this.each(function() {
    remove(this, opts);
  });
};

$.blockUI.version = 2.31; // 2nd generation blocking at no extra cost!

// override these in your code to change the default behavior and style
$.blockUI.defaults = {
  // message displayed when blocking (use null for no message)
  message:  '<h1>Please wait...</h1>',

  title: null,    // title string; only used when theme == true
  draggable: true,  // only used when theme == true (requires jquery-ui.js to be loaded)

  theme: false, // set to true to use with jQuery UI themes

  // styles for the message when blocking; if you wish to disable
  // these and use an external stylesheet then do this in your code:
  // $.blockUI.defaults.css = {};
  css: {
    padding:  0,
    margin:    0,
    width:    '30%',
    top:    '40%',
    left:    '35%',
    textAlign:  'center',
    color:    '#000',
    border:    '3px solid #aaa',
    backgroundColor:'#fff',
    cursor:    'wait'
  },

  // minimal style set used when themes are used
  themedCSS: {
    width:  '30%',
    top:  '40%',
    left:  '35%'
  },

  // styles for the overlay
  overlayCSS:  {
    backgroundColor: '#000',
    opacity:       0.6,
    cursor:         'wait'
  },

  // styles applied when using $.growlUI
  growlCSS: {
    width:    '350px',
    top:    '10px',
    left:     '',
    right:    '10px',
    border:   'none',
    padding:  '5px',
    opacity:  0.6,
    cursor:   'default',
    color:    '#fff',
    backgroundColor: '#000',
    '-webkit-border-radius': '10px',
    '-moz-border-radius':   '10px'
  },

  // IE issues: 'about:blank' fails on HTTPS and javascript:false is s-l-o-w
  // (hat tip to Jorge H. N. de Vasconcelos)
  iframeSrc: /^https/i.test(window.location.href || '') ? 'javascript:false' : 'about:blank',

  // force usage of iframe in non-IE browsers (handy for blocking applets)
  forceIframe: false,

  // z-index for the blocking overlay
  baseZ: 1000,

  // set these to true to have the message automatically centered
  centerX: true, // <-- only effects element blocking (page block controlled via css above)
  centerY: true,

  // allow body element to be stetched in ie6; this makes blocking look better
  // on "short" pages.  disable if you wish to prevent changes to the body height
  allowBodyStretch: true,

  // enable if you want key and mouse events to be disabled for content that is blocked
  bindEvents: true,

  // be default blockUI will supress tab navigation from leaving blocking content
  // (if bindEvents is true)
  constrainTabKey: true,

  // fadeIn time in millis; set to 0 to disable fadeIn on block
  fadeIn:  200,

  // fadeOut time in millis; set to 0 to disable fadeOut on unblock
  fadeOut:  400,

  // time in millis to wait before auto-unblocking; set to 0 to disable auto-unblock
  timeout: 0,

  // disable if you don't want to show the overlay
  showOverlay: true,

  // if true, focus will be placed in the first available input field when
  // page blocking
  focusInput: true,

  // suppresses the use of overlay styles on FF/Linux (due to performance issues with opacity)
  applyPlatformOpacityRules: true,

  // callback method invoked when fadeIn has completed and blocking message is visible
  onBlock: null,

  // callback method invoked when unblocking has completed; the callback is
  // passed the element that has been unblocked (which is the window object for page
  // blocks) and the options that were passed to the unblock call:
  //   onUnblock(element, options)
  onUnblock: null,

  // don't ask; if you really must know: http://groups.google.com/group/jquery-en/browse_thread/thread/36640a8730503595/2f6a79a77a78e493#2f6a79a77a78e493
  quirksmodeOffsetHack: 4
};

// private data and functions follow...

var pageBlock = null;
var pageBlockEls = [];

function install(el, opts) {
  var full = (el == window);
  var msg = opts && opts.message !== undefined ? opts.message : undefined;
  opts = $.extend({}, $.blockUI.defaults, opts || {});
  opts.overlayCSS = $.extend({}, $.blockUI.defaults.overlayCSS, opts.overlayCSS || {});
  var css = $.extend({}, $.blockUI.defaults.css, opts.css || {});
  var themedCSS = $.extend({}, $.blockUI.defaults.themedCSS, opts.themedCSS || {});
  msg = msg === undefined ? opts.message : msg;

  // remove the current block (if there is one)
  if (full && pageBlock)
    remove(window, {fadeOut:0});

  // if an existing element is being used as the blocking content then we capture
  // its current place in the DOM (and current display style) so we can restore
  // it when we unblock
  if (msg && typeof msg != 'string' && (msg.parentNode || msg.jquery)) {
    var node = msg.jquery ? msg[0] : msg;
    var data = {};
    $(el).data('blockUI.history', data);
    data.el = node;
    data.parent = node.parentNode;
    data.display = node.style.display;
    data.position = node.style.position;
    if (data.parent)
      data.parent.removeChild(node);
  }

  var z = opts.baseZ;

  // blockUI uses 3 layers for blocking, for simplicity they are all used on every platform;
  // layer1 is the iframe layer which is used to supress bleed through of underlying content
  // layer2 is the overlay layer which has opacity and a wait cursor (by default)
  // layer3 is the message content that is displayed while blocking

  var lyr1 = ($.browser.msie || opts.forceIframe)
    ? $('<iframe class="blockUI" style="z-index:'+ (z++) +';display:none;border:none;margin:0;padding:0;position:absolute;width:100%;height:100%;top:0;left:0" src="'+opts.iframeSrc+'"></iframe>')
    : $('<div class="blockUI" style="display:none"></div>');
  var lyr2 = $('<div class="blockUI blockOverlay" style="z-index:'+ (z++) +';display:none;border:none;margin:0;padding:0;width:100%;height:100%;top:0;left:0"></div>');

  var lyr3;
  if (opts.theme && full) {
    var s = '<div class="blockUI blockMsg blockPage ui-dialog ui-widget ui-corner-all" style="z-index:'+z+';display:none;position:fixed">' +
          '<div class="ui-widget-header ui-dialog-titlebar blockTitle">'+(opts.title || '&nbsp;')+'</div>' +
          '<div class="ui-widget-content ui-dialog-content"></div>' +
        '</div>';
    lyr3 = $(s);
  }
  else {
    lyr3 = full ? $('<div class="blockUI blockMsg blockPage" style="z-index:'+z+';display:none;position:fixed"></div>')
          : $('<div class="blockUI blockMsg blockElement" style="z-index:'+z+';display:none;position:absolute"></div>');
  }

  // if we have a message, style it
  if (msg) {
    if (opts.theme) {
      lyr3.css(themedCSS);
      lyr3.addClass('ui-widget-content');
    }
    else
      lyr3.css(css);
  }

  // style the overlay
  if (!opts.applyPlatformOpacityRules || !($.browser.mozilla && /Linux/.test(navigator.platform)))
    lyr2.css(opts.overlayCSS);
  lyr2.css('position', full ? 'fixed' : 'absolute');

  // make iframe layer transparent in IE
  if ($.browser.msie || opts.forceIframe)
    lyr1.css('opacity',0.0);

  //$([lyr1[0],lyr2[0],lyr3[0]]).appendTo(full ? 'body' : el);
  var layers = [lyr1,lyr2,lyr3], $par = full ? $('body') : $(el);
  $.each(layers, function() {
    this.appendTo($par);
  });

  if (opts.theme && opts.draggable && $.fn.draggable) {
    lyr3.draggable({
      handle: '.ui-dialog-titlebar',
      cancel: 'li'
    });
  }

  // ie7 must use absolute positioning in quirks mode and to account for activex issues (when scrolling)
  var expr = setExpr && (!$.boxModel || $('object,embed', full ? null : el).length > 0);
  if (ie6 || expr) {
    // give body 100% height
    if (full && opts.allowBodyStretch && $.boxModel)
      $('html,body').css('height','100%');

    // fix ie6 issue when blocked element has a border width
    if ((ie6 || !$.boxModel) && !full) {
      var t = sz(el,'borderTopWidth'), l = sz(el,'borderLeftWidth');
      var fixT = t ? '(0 - '+t+')' : 0;
      var fixL = l ? '(0 - '+l+')' : 0;
    }

    // simulate fixed position
    $.each([lyr1,lyr2,lyr3], function(i,o) {
      var s = o[0].style;
      s.position = 'absolute';
      if (i < 2) {
        full ? s.setExpression('height','Math.max(document.body.scrollHeight, document.body.offsetHeight) - (jQuery.boxModel?0:'+opts.quirksmodeOffsetHack+') + "px"')
           : s.setExpression('height','this.parentNode.offsetHeight + "px"');
        full ? s.setExpression('width','jQuery.boxModel && document.documentElement.clientWidth || document.body.clientWidth + "px"')
           : s.setExpression('width','this.parentNode.offsetWidth + "px"');
        if (fixL) s.setExpression('left', fixL);
        if (fixT) s.setExpression('top', fixT);
      }
      else if (opts.centerY) {
        if (full) s.setExpression('top','(document.documentElement.clientHeight || document.body.clientHeight) / 2 - (this.offsetHeight / 2) + (blah = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "px"');
        s.marginTop = 0;
      }
      else if (!opts.centerY && full) {
        var top = (opts.css && opts.css.top) ? parseInt(opts.css.top) : 0;
        var expression = '((document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + '+top+') + "px"';
        s.setExpression('top',expression);
      }
    });
  }

  // show the message
  if (msg) {
    if (opts.theme)
      lyr3.find('.ui-widget-content').append(msg);
    else
      lyr3.append(msg);
    if (msg.jquery || msg.nodeType)
      $(msg).show();
  }

  if (($.browser.msie || opts.forceIframe) && opts.showOverlay)
    lyr1.show(); // opacity is zero
  if (opts.fadeIn) {
    var cb = opts.onBlock ? opts.onBlock : noOp;
    var cb1 = (opts.showOverlay && !msg) ? cb : noOp;
    var cb2 = msg ? cb : noOp;
    if (opts.showOverlay)
      lyr2._fadeIn(opts.fadeIn, cb1);
    if (msg)
      lyr3._fadeIn(opts.fadeIn, cb2);
  }
  else {
    if (opts.showOverlay)
      lyr2.show();
    if (msg)
      lyr3.show();
    if (opts.onBlock)
      opts.onBlock();
  }

  // bind key and mouse events
  bind(1, el, opts);

  if (full) {
    pageBlock = lyr3[0];
    pageBlockEls = $(':input:enabled:visible',pageBlock);
    if (opts.focusInput)
      setTimeout(focus, 20);
  }
  else
    center(lyr3[0], opts.centerX, opts.centerY);

  if (opts.timeout) {
    // auto-unblock
    var to = setTimeout(function() {
      full ? $.unblockUI(opts) : $(el).unblock(opts);
    }, opts.timeout);
    $(el).data('blockUI.timeout', to);
  }
};

// remove the block
function remove(el, opts) {
  var full = (el == window);
  var $el = $(el);
  var data = $el.data('blockUI.history');
  var to = $el.data('blockUI.timeout');
  if (to) {
    clearTimeout(to);
    $el.removeData('blockUI.timeout');
  }
  opts = $.extend({}, $.blockUI.defaults, opts || {});
  bind(0, el, opts); // unbind events

  var els;
  if (full) // crazy selector to handle odd field errors in ie6/7
    els = $('body').children().filter('.blockUI').add('body > .blockUI');
  else
    els = $('.blockUI', el);

  if (full)
    pageBlock = pageBlockEls = null;

  if (opts.fadeOut) {
    els.fadeOut(opts.fadeOut);
    setTimeout(function() { reset(els,data,opts,el); }, opts.fadeOut);
  }
  else
    reset(els, data, opts, el);
};

// move blocking element back into the DOM where it started
function reset(els,data,opts,el) {
  els.each(function(i,o) {
    // remove via DOM calls so we don't lose event handlers
    if (this.parentNode)
      this.parentNode.removeChild(this);
  });

  if (data && data.el) {
    data.el.style.display = data.display;
    data.el.style.position = data.position;
    if (data.parent)
      data.parent.appendChild(data.el);
    $(el).removeData('blockUI.history');
  }

  if (typeof opts.onUnblock == 'function')
    opts.onUnblock(el,opts);
};

// bind/unbind the handler
function bind(b, el, opts) {
  var full = el == window, $el = $(el);

  // don't bother unbinding if there is nothing to unbind
  if (!b && (full && !pageBlock || !full && !$el.data('blockUI.isBlocked')))
    return;
  if (!full)
    $el.data('blockUI.isBlocked', b);

  // don't bind events when overlay is not in use or if bindEvents is false
  if (!opts.bindEvents || (b && !opts.showOverlay))
    return;

  // bind anchors and inputs for mouse and key events
  var events = 'mousedown mouseup keydown keypress';
  b ? $(document).bind(events, opts, handler) : $(document).unbind(events, handler);

// former impl...
//     var $e = $('a,:input');
//     b ? $e.bind(events, opts, handler) : $e.unbind(events, handler);
};

// event handler to suppress keyboard/mouse events when blocking
function handler(e) {
  // allow tab navigation (conditionally)
  if (e.keyCode && e.keyCode == 9) {
    if (pageBlock && e.data.constrainTabKey) {
      var els = pageBlockEls;
      var fwd = !e.shiftKey && e.target == els[els.length-1];
      var back = e.shiftKey && e.target == els[0];
      if (fwd || back) {
        setTimeout(function(){focus(back)},10);
        return false;
      }
    }
  }
  // allow events within the message content
  if ($(e.target).parents('div.blockMsg').length > 0)
    return true;

  // allow events for content that is not being blocked
  return $(e.target).parents().children().filter('div.blockUI').length == 0;
};

function focus(back) {
  if (!pageBlockEls)
    return;
  var e = pageBlockEls[back===true ? pageBlockEls.length-1 : 0];
  if (e)
    e.focus();
};

function center(el, x, y) {
  var p = el.parentNode, s = el.style;
  var l = ((p.offsetWidth - el.offsetWidth)/2) - sz(p,'borderLeftWidth');
  var t = ((p.offsetHeight - el.offsetHeight)/2) - sz(p,'borderTopWidth');
  if (x) s.left = l > 0 ? (l+'px') : '0';
  if (y) s.top  = t > 0 ? (t+'px') : '0';
};

function sz(el, p) {
  return parseInt($.css(el,p))||0;
};
})(jQuery);



/*
 * jQuery Tooltip plugin 1.3
 *
 * http://bassistance.de/jquery-plugins/jquery-plugin-tooltip/
 * http://docs.jquery.com/Plugins/Tooltip
 *
 * Copyright (c) 2006 - 2008 Jorn Zaefferer
 *
 * $Id: jquery.tooltip.js 5741 2008-06-21 15:22:16Z joern.zaefferer $
 *
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 */

;(function($) {

    // the tooltip element
  var helper = {},
    // the current tooltipped element
    current,
    // the title of the current element, used for restoring
    title,
    // timeout id for delayed tooltips
    tID,
    // IE 5.5 or 6
    IE = $.browser.msie && /MSIE\s(5\.5|6\.)/.test(navigator.userAgent),
    // flag for mouse tracking
    track = false;

  $.tooltip = {
    blocked: false,
    defaults: {
      delay: 200,
      fade: false,
      showURL: true,
      extraClass: "",
      top: 15,
      left: 15,
      id: "tooltip",
      pos: {
        left: true,
        right: false,
        middle: false,
        bottom: true,
        top: false
      }
    },
    block: function() {
      $.tooltip.blocked = !$.tooltip.blocked;
    }
  };

  $.fn.extend({
    tooltip: function(settings) {
      settings = $.extend({}, $.tooltip.defaults, settings);
      createHelper(settings);
      return this.each(function() {
          $.data(this, "tooltip", settings);
          this.tOpacity = helper.parent.css("opacity");
          // copy tooltip into its own expando and remove the title
          this.tooltipText = this.title;
          $(this).removeAttr("title");
          // also remove alt attribute to prevent default tooltip in IE
          this.alt = "";
        })
        .mouseover(save)
        .mouseout(hide)
        .click(hide);
    },
    fixPNG: IE ? function() {
      return this.each(function () {
        var image = $(this).css('backgroundImage');
        if (image.match(/^url\(["']?(.*\.png)["']?\)$/i)) {
          image = RegExp.$1;
          $(this).css({
            'backgroundImage': 'none',
            'filter': "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=crop, src='" + image + "')"
          }).each(function () {
            var position = $(this).css('position');
            if (position != 'absolute' && position != 'relative')
              $(this).css('position', 'relative');
          });
        }
      });
    } : function() { return this; },
    unfixPNG: IE ? function() {
      return this.each(function () {
        $(this).css({'filter': '', backgroundImage: ''});
      });
    } : function() { return this; },
    hideWhenEmpty: function() {
      return this.each(function() {
        $(this)[ $(this).html() ? "show" : "hide" ]();
      });
    },
    url: function() {
      return this.attr('href') || this.attr('src');
    }
  });

  function createHelper(settings) {
    // there can be only one tooltip helper
    if( helper.parent )
      return;
    // create the helper, h3 for title, div for url
    helper.parent = $('<div id="' + settings.id + '"><h3></h3><div class="body"></div><div class="url"></div></div>')
      // add to document
      .appendTo(document.body)
      // hide it at first
      .hide();

    // apply bgiframe if available
    if ( $.fn.bgiframe )
      helper.parent.bgiframe();

    // save references to title and url elements
    helper.title = $('h3', helper.parent);
    helper.body = $('div.body', helper.parent);
    helper.url = $('div.url', helper.parent);
  }

  function settings(element) {
    return $.data(element, "tooltip");
  }

  // main event handler to start showing tooltips
  function handle(event) {
    // show helper, either with timeout or on instant
    if( settings(this).delay )
      tID = setTimeout(show, settings(this).delay);
    else
      show();

    // if selected, update the helper position when the mouse moves
    track = !!settings(this).track;
    $(document.body).bind('mousemove', update);

    // update at least once
    update(event);
  }

  // save elements title before the tooltip is displayed
  function save() {
    // if this is the current source, or it has no title (occurs with click event), stop
    if ( $.tooltip.blocked || this == current || (!this.tooltipText && !settings(this).bodyHandler) )
      return;

    // save current
    current = this;
    title = this.tooltipText;

    if ( settings(this).bodyHandler ) {
      helper.title.hide();
      var bodyContent = settings(this).bodyHandler.call(this);
      if (bodyContent.nodeType || bodyContent.jquery) {
        helper.body.empty().append(bodyContent);
      } else {
        helper.body.html( bodyContent );
      }
      helper.body.show();
    } else if ( settings(this).showBody ) {
      var parts = title.split(settings(this).showBody);
      helper.title.html(parts.shift()).show();
      helper.body.empty();
      for(var i = 0, part; (part = parts[i]); i++) {
        if(i > 0)
          helper.body.append("<br/>");
        helper.body.append(part);
      }
      helper.body.hideWhenEmpty();
    } else {
      helper.title.html(title).show();
      helper.body.hide();
    }

    // if element has href or src, add and show it, otherwise hide it
    if( settings(this).showURL && $(this).url() )
      helper.url.html( $(this).url().replace('http://', '') ).show();
    else
      helper.url.hide();

    // add an optional class for this tip
    helper.parent.addClass(settings(this).extraClass);

    // fix PNG background for IE
    if (settings(this).fixPNG )
      helper.parent.fixPNG();

    var pageoff = $(this).offset();
    if (settings(this).pos.left && settings(this).pos.middle) {
      helper.offleft = pageoff.left - $(helper.parent).outerWidth();
      helper.offtop = pageoff.top + ($(this).outerHeight()/2 - $(helper.parent).outerHeight()/2);
    } else if (settings(this).pos.left && settings(this).pos.bottom){
      helper.offleft = pageoff.left;// - $(this).width();
      helper.offtop = pageoff.top + $(this).outerHeight();
    } else if (settings(this).pos.right && settings(this).pos.middle){
      helper.offleft = pageoff.left + $(this).outerWidth();
      helper.offtop = pageoff.top + ($(this).outerHeight()/2 - $(helper.parent).outerHeight()/2);
    }
    handle.apply(this, arguments);
  }

  // delete timeout and show helper
  function show() {
    tID = null;
    if ((!IE || !$.fn.bgiframe) && settings(current).fade) {
      if (helper.parent.is(":animated"))
        helper.parent.stop().show().fadeTo(settings(current).fade, current.tOpacity);
      else
        helper.parent.is(':visible') ? helper.parent.fadeTo(settings(current).fade, current.tOpacity) : helper.parent.fadeIn(settings(current).fade);
    } else {
      helper.parent.show();
    }
    update();
  }


  /**
   * callback for mousemove
   * updates the helper position
   * removes itself when no current element
   */
  function update(event)  {
    if($.tooltip.blocked)
      return;

    if (event && event.target.tagName == "OPTION") {
      return;
    }

    // stop updating when tracking is disabled and the tooltip is visible
    if ( !track && helper.parent.is(":visible")) {
      $(document.body).unbind('mousemove', update);
    }

    // if no current element is available, remove this listener
    if( current == null ) {
      $(document.body).unbind('mousemove', update);
      return;
    }

    // remove position helper classes
    helper.parent.removeClass("viewport-right").removeClass("viewport-bottom");
/*
    var left = helper.parent[0].offsetLeft;
    var top = helper.parent[0].offsetTop;
    if (event) {
      // position the helper 15 pixel to bottom right, starting from mouse position
      left = event.pageX + settings(current).left;
      top = event.pageY + settings(current).top;
      var right='auto';
      if (settings(current).positionLeft) {
        right = $(window).width() - left;
        left = 'auto';
      }
      helper.parent.css({
        left: left,
        right: right,
        top: top
      });
    }
    var v = viewport(),
      h = helper.parent[0];
    // check horizontal position
    if (v.x + v.cx < h.offsetLeft + h.offsetWidth) {
      left -= h.offsetWidth + 20 + settings(current).left;
      helper.parent.css({left: left + 'px'}).addClass("viewport-right");
    }
    // check vertical position
    if (v.y + v.cy < h.offsetTop + h.offsetHeight) {
      top -= h.offsetHeight + 20 + settings(current).top;
      helper.parent.css({top: top + 'px'}).addClass("viewport-bottom");
    }*/
    var v = viewport(),
    h = helper.parent[0];
    if (v.x + v.cx < helper.offleft + h.offsetWidth) {
      helper.offleft -= h.offsetWidth + 20 + settings(current).left;
      helper.parent.addClass("viewport-right");
    }
    // check vertical position
    if (v.y + v.cy < helper.offtop + h.offsetHeight) {
      helper.offtop -= h.offsetHeight + 20 + settings(current).top;
      helper.parent.addClass("viewport-bottom");
    }
    if (helper.offleft < 0) {
      helper.offleft = 10;
    }

    helper.parent.css({left: helper.offleft + 'px'}).css({top: helper.offtop + 'px'});
  }

  function viewport() {
    return {
      x: $(window).scrollLeft(),
      y: $(window).scrollTop(),
      cx: $(window).width(),
      cy: $(window).height()
    };
  }

  // hide helper and restore added classes and the title
  function hide(event) {
    if($.tooltip.blocked)
      return;
    // clear timeout if possible
    if(tID)
      clearTimeout(tID);
    // no more current element
    current = null;

    var tsettings = settings(this);
    function complete() {
      helper.parent.removeClass( tsettings.extraClass ).hide().css("opacity", "");
    }
    if ((!IE || !$.fn.bgiframe) && tsettings.fade) {
      if (helper.parent.is(':animated'))
        helper.parent.stop().fadeTo(tsettings.fade, 0, complete);
      else
        helper.parent.stop().fadeOut(tsettings.fade, complete);
    } else
      complete();

    if( settings(this).fixPNG )
      helper.parent.unfixPNG();
  }
})(jQuery);


var mirror = function() {
  setParam({mirror: 'swap'});
};

var kit_submit = function(kit) {
  if (kit) {
    block();
    var sel = jQuery('#kitsubmit_'+kit+'.selected'). get(0);
    if (sel) {
      subm = 0;
      jQuery('#kitsubmit_'+kit+'.selected').removeClass('selected');
    } else {
      subm = 1;
      jQuery('#kitsubmit_'+kit).addClass('selected');
    }

    jQuery.ajax({
      url:    "/index/kitsubmit/"
      ,async: true
      ,data: {
        kit: kit,
        submited: subm
      }
      ,cache: false
      ,type: 'GET'
      ,error: function(result) {
        jQuery.unblockUI();
      }
      ,success: function(result){
        jQuery.unblockUI();
        if (result.discount) {
          jQuery("span#disc").empty().html(result.discount);
          if (result.price) {
            jQuery("span.sum_acc_disc").empty().html(result.price);
          }
          jQuery("div#disc_div").show();
          if (result.discount == 0) {
            jQuery("div#disc_div").hide();
          }
        } else {
          jQuery("div#disc_div").hide();
        }
        if (result.price_or) {
          jQuery('span.sum_acc').empty().html(result.price_or);
        }
      }
    });

  }
};

var setVrez = function()
{
  var vrez = jQuery("#INSAcc").get(0);
  if (vrez) {
    vrez = vrez.checked;
    var val = '01';
    if (vrez) {
      val = '01';
    } else {
      val = '02';
    }
    setFurnParamsWithResult(
        "/index/setfurn/",
        {vrez: val},
        function(){},
        function(){}
    );
  }
};

var wallcheck;

function testKey(e)
{
  var key = (typeof e.charCode == 'undefined' ? e.keyCode : e.charCode);
  if (e.ctrlKey || e.altKey || key < 32)
    return true;
  key = String.fromCharCode(key);
  return /[\d]/.test(key);
}

var setWall = function()
{
  var wall = jQuery("#wall").get(0);
  if (wall) {
    wall = wall.value;
  } else {
    wall = 0;
  }
  if (parseInt(wall) > 0) {
    setParam({wall: wall});
  }
  clearTimeout(wallcheck);
};
var rashcalc = function()
{
  clearTimeout(wallcheck);
  var wall = jQuery("#wall").get(0);
  if (wall) {
    wall = wall.value;
  } else {
    wall = 0;
  }

  if (parseInt(wall) > 0) {
    var box = 80;
    var min = 0;
    var cnt = 0;
    if (emp) {
      box = 100;
      min = 0;
    }
    var diff = parseInt(wall) - box;
    if (diff > 70) {
      if (diff <= 140) {
        cnt = 1;
      } else {
        cnt = parseInt(diff/140);
        if ((diff - cnt*140) > min) {
          cnt += 1;
        }
      }

    } else {
      if (diff > min) {
        cnt = 1;
      }
    }
    jQuery("#rashcnt").empty().html(cnt);
    wallcheck = setTimeout(setWall, 1000);
  }

};
var help = function(url)
{

  return false;
};

var cartDelete = function(flag)
{
  if (flag) {
    block();
    var room = jQuery('#glass_sel #roomname').get(0).value;
    var clear = jQuery('#glass_sel #sclear').get(0).checked;
    var qty = jQuery('#glass_sel #qty').get(0).value;
    jQuery('#mask_page').remove();
    jQuery('#glass_sel').remove();
    jQuery.ajax({
      url:    "/index/addtocart/"
      ,async: true
      ,cache: false
      ,data: {
        label: room,
        clear: clear,
        qty: qty
      }
      ,type: 'POST'
      ,error: function(result) {
        jQuery.unblockUI();
      }
      ,success: function(result){
        if (!clear) {
          jQuery.unblockUI();
        }
        if (clear) {
          top.location.href='/';
        }
      }
    });
  } else {
    jQuery('#mask_page').remove();
    jQuery('#glass_sel').remove();
  }

};

var addToCart = function()
{
  var block = document.createElement('div');
  block.className = "block";
  block.id="mask_page";
  block.style.top="0px";
  block.style.left="0px";
  block.style.opacity = 0.5;
  block.style.filter = 'alpha(opacity=50)';
  block.style.height = jQuery(document).height() +'px';
  block.style.width = jQuery(document).width()+'px';
  document.body.appendChild(block);

  var select = document.createElement('div');
  var w = jQuery(window).width();
  var h = jQuery(window).height();
  select.className = "glass";
  select.id = "glass_sel";
  select.style.width = (80 * w/100) +'px';
  select.style.height = (80 * h/100) +'px';
  select.style.left = jQuery(document).scrollLeft() + (10 * w/100) + "px";
  select.style.top = jQuery(document).scrollTop() + (10 * h/100) + "px";

  document.body.appendChild(select);

  select.innerHTML = 'Подождите!';

  jQuery.ajax({
    url:    "/index/addtocart/"
    ,async: true
    ,cache: false
    ,type: 'GET'
    ,error: function(result) {

    }
    ,success: function(result){
      jQuery('#glass_sel').empty().html(result);
      /*cuSel({
        changedEl: "#glass_sel select",
        visRows: 7
      });*/
      jQuery('.spin').spin({
        max: 100,
        min: 1,
        imageBasePath: '/img/spin/',
        lock: true
      });

    }
  });
};

var setFurnParamsWithResult = function(url, params, callbacksuccess, callbackerror)
{
  block();
  jQuery.ajax({
    url:    url
    ,async: true
    ,data: params
    ,cache: false
    ,error: function(result) {
      jQuery.unblockUI();
      callbackerror();
    }
    ,success: function(result) {
            if (result.handletype) {
              jQuery("div.handletype").empty().html(result.handletype);
            }
            if (result.handlebrands) {
              jQuery("div.handlebrands").empty().html(result.handlebrands);
            }
            if (result.handlecolors) {
               jQuery("div.handlecolors").empty().html(result.handlecolors);
            }
            if (result.handlecoat) {
               jQuery("div.handlecoat").empty().html(result.handlecoat);
               //cuSel({changedEl: "div.handlecoat select"});
            }
            if (result.handlemodif) {
               jQuery("div.handlemodif").empty().html(result.handlemodif);
               //cuSel({changedEl: "div.handlemodif select"});
            }
            if (result.handles) {
               jQuery("div.handles").empty().html(result.handles);
               handlesprocess();
            }
            if (result.catches) {
               jQuery("div.catches").empty().html(result.catches);
               gmbProcess('catches', 124);
            }
            if (result.hinges) {
               jQuery("div.hinges").empty().html(result.hinges);
               gmbProcess('hinges', 124);
            }
            if (result.stoppers) {
               jQuery("div.stoppers").empty().html(result.stoppers);
               gmbProcess('stoppers', 124);
            }
            if (result.fixators) {
               jQuery("div.fixators").empty().html(result.fixators);
               gmbProcess('fixators', 124);
            }
            if (result.euronakls) {
               jQuery("div.euronakls").empty().html(result.euronakls);
               gmbProcess('euronakls', 124);
            }
            if (result.eurocyls) {
               jQuery("div.eurocyls").empty().html(result.eurocyls);
               gmbProcess('eurocyls', 124);
            }


      /*if (result.image) {
        updateimage(result.image);
      }
      if (result.content) {
        callbacksuccess(result.content);
      }*/
      jQuery.unblockUI({timeout: 4000});
    }
  });

};

var handleMisc = function()
{
  var doortype = jQuery('#doortype').val();
  var handletype = jQuery('#handletype li.selected').get(0);
  if (handletype) {
    handletype = handletype.id;
  } else {
    handletype = null;
  }
  switch (handletype) {
    case 'roz':
      switch (doortype) {
        case '01':
          jQuery("tr#handlefix").hide();
          jQuery("tr#handleeuronakl").hide();
          jQuery("tr#handleeurocyltype").hide();
          jQuery("tr#handleeurocyl").hide();
          //non
          break;
        case '02':
          jQuery("tr#handlefix").show();
          jQuery("tr#handleeuronakl").hide();
          jQuery("tr#handleeurocyltype").hide();
          jQuery("tr#handleeurocyl").hide();
          //+ficsator
          break;
        case '03':
          jQuery("tr#handlefix").hide();
          jQuery("tr#handleeurocyltype").show();
          jQuery("tr#handleeurocyl").show();
          jQuery("tr#handleeuronakl").show();
          //+euronakl +eurocil
          break;
      }
      break;
    case 'plank':
      jQuery("tr#handlefix").hide();
      jQuery("tr#handleeuronakl").hide();
      jQuery("tr#handleeurocyltype").hide();
      jQuery("tr#handleeurocyl").hide();
      break;
  }
};

var setFurnDoorType = function(el)
{
  handleMisc();
  setFurnParamsWithResult(
      "/index/setfurn/",
      {doortype: el.value},
      function(){},
      function(){}
  );
};

var setFurnHandleType = function(val)
{
  handleMisc();
  setFurnParamsWithResult(
      "/index/setfurn/",
      {handletype: val},
      function(){},
      function(){}
  );
};


var setFurnHandleBrand = function(val)
{
  setFurnParamsWithResult(
      "/index/setfurn/",
      {handlebrand: val},
      function(){},
      function(){}
  );
};

var setFurnHandleColor = function(val)
{
  setFurnParamsWithResult(
      "/index/setfurn/",
      {handlecolor: val},
      function(){},
      function(){}
  );
};

var setFurnHandleCoat = function(el)
{
  setFurnParamsWithResult(
      "/index/setfurn/",
      {handlecoat: el.value},
      function(){},
      function(){}
  );
};

var setFurnHandleModif = function(el)
{
  setFurnParamsWithResult(
      "/index/setfurn/",
      {handlemodif: el.value},
      function(){},
      function(){}
  );
};

var setFurnEuroCylType = function(el)
{
  setFurnParamsWithResult(
      "/index/setfurn/",
      {eurocyltype: el.value},
      function(){},
      function(){}
  );
};


var handlesprocess = function()
{
  jQuery('ul.handles').gambling({
        collapse:   false,
        vertical:   false,
        zoom:       false,
        width:      350,
        height:     78
        ,autowidth: true
        ,autowidthelement: '#content'
        ,imgheight: 74
        ,imgwidth: 70

        ,handler: function() {
        var id = jQuery(this).children('img').get(0).src.match(/^.+(.{24})\..{3}$/);
        if (id[1]) {
          setFurnParamsWithResult(
            "/index/setfurn/",
            {handles: id[1]},
            function(){},
            function(){}
          );
          //setParam({pog_back: id[1]});
        }
    }
    });
  jQuery('ul.handles img').tooltip({
      delay: 0,
        showURL: false,
        extraClass: "tltip"
    });
};


var setFurnCatchType = function(el)
{
  if (typeof(pageTracker)=='undefined' || pageTracker===null) {
  } else {
    pageTracker._trackEvent('Выбор фурнитуры', 'Тип защелки', el.value);
  }

  setFurnParamsWithResult(
      "/index/setfurn/",
      {catchtype: el.value},
      function(){},
      function(){}
  );
};

var gmbProcess = function(name, height)
{
  jQuery('ul.'+name).gambling({
        collapse:   false,
        vertical:   false,
        zoom:       false,
        width:      350,
        height:     height
        ,autowidth: true
        ,autowidthelement: '#content'
        ,imgheight: 74
        ,imgwidth: 70

        ,handler: function() {
        var id = jQuery(this).children('img').get(0).src.match(/^.+(.{24})\..{3}$/);
        if (id[1]) {
          var jsObject = jQuery.parseJSON('{"'+name+'" : "'+id[1]+'" }');
          setFurnParamsWithResult(
            "/index/setfurn/",
            jsObject,
            function(){},
            function(){}
          );
        }
    }
    });
  jQuery('ul.'+name+' img').tooltip({
      delay: 0,
        showURL: false,
        extraClass: "tltip"
    });
};


var frontpaint = null;
var backpaint = null;
var emp = false;

var block = function() {
  jQuery.blockUI({
        message: 'Пожалуйста, подождите!',
        css: {
        top:             '30%',
        backgroundColor: '#FFFFFF',
        border:          '2px solid #EFD7BD',
        color:           '#452B10',
        padding:         '25px',
        timeout:         10000,
        fadeIn:          0,
        fadeOut:         0
        }
    });
};

var updateimage = function(html)
{
  jQuery.unblockUI();
  jQuery("#img_cnt").empty().html(html);


  jQuery('div#summary').tooltip({
      delay: 0,
      //track: true,
        extraClass: "tltip",
        pos: {
          left : true,
          middle: true
      }
    });

};

var setParamsWithResult = function(url, params, callbacksuccess, callbackerror)
{
  block();
  jQuery.ajax({
    url:    url
    ,async: true
    ,data: params
    ,cache: false
    ,error: function(result) {
      jQuery.unblockUI();
      callbackerror();
    }
    ,success: function(result) {
      if (result.image) {
        updateimage(result.image);
      }
      if (result.content) {
        callbacksuccess(result.content);
      }
      jQuery.unblockUI({timeout: 4000});
    }
  });

};

var heightonchange = function()
{
  setParamsWithResult(
    "/index/widths",
    {height: this.value},
    function(result) {
      if (result.left) {
        jQuery('#width_left').parent("DIV").parent("DD").empty().html(result.left);
        //cuSel({changedEl: "#width_left"});
        jQuery("#width_left").bind("change", widthonchange);
      }
      if (result.right) {
        jQuery('#width_right').parent("DIV").parent("DD").empty().html(result.right);
        //cuSel({changedEl: "#width_right"});
        jQuery("#width_right").bind("change", widthonchange);
      }
    },
    function(){}
  );
};

var widthonchange = function()
{
  if (this.id == 'width_left') {
    arr = {width_left: this.value};
  } else {
    arr = {width_right: this.value};
  }
  setParamsWithResult(
      "/index/heights",
      arr,
      function(result) {
        jQuery('#height').parent("DIV").parent("DD").empty().html(result);
        //cuSel({changedEl: "#height"});
        jQuery("#height").bind("change", heightonchange);
      },
      function(){}
    );
};

var porog = function()
{
  setParam({boxporog: $("#sporog").val()});
};
var pritvor = function()
{
  setParam({pritvor: $("#spritvor").val()});
};

var setpritvorcaption = function(val)
{
  jQuery("#pritvor").unbind('click');
  jQuery("#pritvor").removeAttr('onclick');
  if (val) {
    jQuery("#pritvor").empty().html('Убрать притвор').bind('click', function(){setpritvor(0);});
  } else {
    jQuery("#pritvor").empty().html('Добавить притвор').bind('click', function(){setpritvor(1);});
  }
};

var setpritvor = function(val)
{
  setpritvorcaption(val);
  setParam({pritvor: val});
};

var setboxporog = function(val)
{
  jQuery("#boxporog").unbind('click');
  jQuery("#boxporog").removeAttr('onclick');
  if (val) {
    jQuery("#boxporog").empty().html('Убрать порог').bind('click', function(){setboxporog(0);});
  } else {
    jQuery("#boxporog").empty().html('Добавить порог').bind('click', function(){setboxporog(1);});
  }
  setParam({boxporog: val});
};

var boxtypecaption = function(type)
{
  if (emp) {
    if (type == 1) {
      jQuery("#pog_back_info").empty().html("Для полукруглой коробки декор на оборотную сторону не ставится!");
      jQuery("#pog_back_select").hide();
    }
    if (type == 2) {
      jQuery("#pog_back_info").empty();
      jQuery("#pog_back_select").show();
      var img = jQuery("ul.br_pog_fr").find("img.selected").get(0);
      jQuery("ul.br_pog_bk").find('li img').each(function(){
        if (img.src == jQuery(this).get(0).src) {
          jQuery(this).addClass("selected").css({'border' : '2px solid #452B10'});
          var id = jQuery(this).get(0).src.match(/^.+(\d{5})\..{3}$/);
            if (id[1]) {
              setParam({pog_back: id[1]});
            }
        } else {
          jQuery(this).removeClass("selected").css({'border' : '2px solid #EFD7BD'});
        }
      });

    }
  }
};

var setdirection = function(type)
{
  if (type == 1) {
    jQuery("tr#door_open").find("TD").css({'border' : '2px solid #EFD7BD'});
    jQuery("td#door_ol").css({'border' : '2px solid #452B10'});
  }
  if (type == 2) {
    jQuery("tr#door_open").find("TD").css({'border' : '2px solid #EFD7BD'});
    jQuery("td#door_or").css({'border' : '2px solid #452B10'});
  }
  setParam({direction: type});
};


var setboxtype = function(type)
{
  if (type == 1) {
    jQuery("tr#box td#box_square").css({'border' : '2px solid #EFD7BD'}).removeClass('selected');
    jQuery("tr#box td#box_round").addClass("selected").css({'border' : '2px solid #452B10'});
    if (emp) {
      jQuery("tr#tr_pritvor").show();
    }
  }
  if (type == 2) {
    jQuery("tr#box td#box_round").css({'border' : '2px solid #EFD7BD'}).removeClass('selected');
    jQuery("td#box_square").addClass("selected").css({'border' : '2px solid #452B10'});
    if (emp) {
      jQuery("tr#tr_pritvor").hide();
    }
  }
  setParam({boxtype: type});
  boxtypecaption(type);
};

var setpaintpos = function(side, val)
{
  if (side == 1) {
    frontpaint = val;
    jQuery("#pn_front").find("TD").css({'border' : '2px solid #EFD7BD'});
    jQuery("#pn_front").find("TD#frp_" + val).css({'border' : '2px solid #452B10'});
  }
  if (side == 2) {
    backpaint = val;
    jQuery("#pn_back").find("TD").css({'border' : '2px solid #EFD7BD'});
    jQuery("#pn_back").find("TD#frb_" + val).css({'border' : '2px solid #452B10'});
  }
};

var PnDelete = function(paint)
{
  if (frontpaint == null || backpaint == null) {
    alert("Выберите расположение рисунка на обоих сторонах полотна!");
  } else {
    jQuery('#mask_page').remove();
    jQuery('#glass_sel').remove();
    setParam({
      left_front_paintpos: frontpaint,
      left_back_paintpos: backpaint,
      left_paint: paint
    });
  }
};

var PnSelect = function(refid, brand) {
  frontpaint = null;
  backpaint = null;

  var block = document.createElement('div');
  block.className = "block";
  block.id="mask_page";
  block.style.top="0px";
  block.style.left="0px";
  block.style.opacity = 0.5;
  block.style.filter = 'alpha(opacity=50)';
  block.style.height = jQuery(document).height() +'px';
  block.style.width = jQuery(document).width()+'px';
  document.body.appendChild(block);

  var select = document.createElement('div');
  var w = jQuery(window).width();
  var h = jQuery(window).height();
  select.className = "glass";
  select.id = "glass_sel";
  select.style.width = (80 * w/100) +'px';
  select.style.height = (80 * h/100) +'px';
  select.style.left = jQuery(document).scrollLeft() + (10 * w/100) + "px";
  select.style.top = jQuery(document).scrollTop() + (10 * h/100) + "px";

  document.body.appendChild(select);

  select.innerHTML = 'Подождите!';

  jQuery.ajax({
    url:    "/"
    ,async: true
    ,data: {
      paint: refid,
      brand: brand
    }
    ,cache: false
    ,error: function(result) {

    }
    ,success: function(result){
      jQuery('#glass_sel').empty().html(result);
    }
  });
};

var GlDelete = function(pos)
{
  jQuery('#mask_page').remove();
  jQuery('#glass_sel').remove();
  setParam({left_glasspos: pos});
};

var GlSelect = function(refid, brand, fil) {
  if (typeof(pageTracker)=='undefined' || pageTracker===null) {
  } else {
    pageTracker._trackEvent('Выбор дверей', 'Остекление', 'Все варианты');
  }
  if (refid == '001') {
    setParam({left_glass: '001', brand: brand});
    return;
  }
  if (fil == 1) {
    setParam({left_glass: refid, brand: brand});
    return;
  }

  var block = document.createElement('div');
  block.className = "block";
  block.id="mask_page";
  block.style.top="0px";
  block.style.left="0px";
  block.style.opacity = 0.5;
  block.style.filter = 'alpha(opacity=50)';
  block.style.height = jQuery(document).height() +'px';
  block.style.width = jQuery(document).width()+'px';
  document.body.appendChild(block);

  var select = document.createElement('div');
  var w = jQuery(window).width();
  var h = jQuery(window).height();
  select.className = "glass";
  select.id = "glass_sel";
  select.style.width = (80 * w/100) +'px';
  select.style.height = (80 * h/100) +'px';
  select.style.left = jQuery(document).scrollLeft() + (10 * w/100) + "px";
  select.style.top = jQuery(document).scrollTop() + (10 * h/100) + "px";

  document.body.appendChild(select);

  select.innerHTML = 'Подождите!';

  jQuery.ajax({
    url:    "/"
    ,async: true
    ,data: {
      glass: refid,
      brand: brand
    }
    ,cache: false
    ,error: function(result) {

    }
    ,success: function(result){
      jQuery('#glass_sel').empty().html(result);
    }
  });
};

var setParam = function (data) {
  block();
  jQuery.ajax({
    url:    "podbor.htm"
    ,async: true
    ,data:  data
    ,cache: false
    ,error: function(result) {
      jQuery.unblockUI();
    }
    ,success: function(result){
      if (result) {
        if (result.image) {
          updateimage(result.image);
        }
      } else {
        jQuery.unblockUI({timeout: 4000});
      }
    }
    ,dataType: 'json'
  });
};

jQuery(document).ready(function(){

      jQuery('#menu a').tooltip({
        delay: 0,
          showURL: false,
          extraClass: "tltip"
      });
      jQuery('#mainnav a').tooltip({
        delay: 0,
          showURL: false,
          extraClass: "tltip"
      });
      jQuery('.models img').tooltip({
        delay: 0,
          showURL: false,
          extraClass: "tltip"
      });
      jQuery('.brendglasses img').tooltip({
        delay: 0,
          showURL: false,
          extraClass: "tltip"
      });
      jQuery('.brendcolors img').tooltip({
        delay: 0,
          showURL: false,
        track: true,
          extraClass: "tltip"
      });
      jQuery('.brand_paints img').tooltip({
        delay: 0,
          showURL: false,
          extraClass: "tltip"
      });
      jQuery('#leftmenu a').tooltip({
        delay: 0,
          showURL: false,
          extraClass: "tltip"
      });

      jQuery('div#summary').tooltip({
        delay: 0,
        //track: true,
          extraClass: "tltip",
          pos: {
            left : true,
            middle: true
        }
      });


  jQuery('ul#mainnav li').click(function(){wait(); return true;});

  var wait = function() {
    jQuery.blockUI({
            message: 'Пожалуйста, подождите!',
            css: {
            top:             '30%',
            backgroundColor: '#FFFFFF',
            border:          '2px solid #EFD7BD',
            color:           '#452B10',
            padding:         '25px',
            timeout:         10000,
            fadeIn:          0,
            fadeOut:         0
            }
        });
  };

  var addask = function() {
    jQuery('td#kitcount').load('/cart/status');
    jQuery.blockUI({
            message: 'Ваш заказ отправлен в корзину. <br/>Вы можете продолжить подбор дверей нажав кнопку "продолжить подбор", либо перейти для уточнения Вашего заказа в корзину нажав кнопку "Ваш заказ".<br /><br /><div style="text-align: center; width: 100%;"><div style="width:245px;margin-left: 60px;"><span class="button"><a href="#" class="continue" style="padding-right:15px;" onclick="$.unblockUI();"></a></span> <span class="button"><a class="detail" href="/buy/index/"></a></span></div></div>',
            css: {
            top:             '30%',
            backgroundColor: '#000',
            border:          '2px solid #f7d85d',
            color:           '#fff',
            padding:         '25px',
            timeout:         10000,
            fadeIn:          0,
            fadeOut:         0
            }
        });
  };

    jQuery("a.cartadd").click(function() {
        wait();
      jQuery.getJSON('/cart/add',
            function(data){
                if (data.message) {
                  jQuery.unblockUI({
                        onUnblock: function(){ addask(); }
                    });
                }
            });
        return false;
    });

    var brand = 0;
    var color = 0;
    var glass = 0;
    var paint = 0;

    var img_update = function() {

        wait();

      jQuery.getJSON('/image/getSimple',
        { params: { brand: brand, color: color, glass: glass, paint: paint} },
           function(data){
          if (data.img) {
            updateimage(data.img);
          }
          if (data.msg) {
            alert(data.msg);
          }
          if (data.glass_av) {
            alert(data.glass_av);
          }

          if (data.paint) {
            paint = 0;
            jQuery('ul.brandpaints').find('img').each(function (index){
                  jQuery(this).removeClass('selected').css({'border' : '2px solid #EFD7BD'});
                });
          }

              jQuery('div#summary').tooltip({
                delay: 0,
                //track: true,
                  extraClass: "tltip",
                  pos: {
                    left : true,
                    middle: true
                }
              });

          jQuery.unblockUI();
        });
    };

    var initDoor = function() {
        var cntr = jQuery('div#door_imgs');
        var tmp = cntr.children('#fst_door').children('img').get(0);
        if (tmp) {
            tmp = tmp.id.match(/^.+_(\d.+)$/);
            brand = tmp[1];
        }
        var tmp = cntr.children('#fst_door').children('img').get(0);
        if (tmp) {
            tmp = tmp.src.match(/^.+(\d{2})(\d{5}).{4}$/);
            color = tmp[1];
        }
        var tmp = cntr.children('#fst_pog').children('img').get(0);
        if (tmp) {
            tmp = tmp.id.match(/^.+_(\d.+)$/);
            pog = tmp[1];
        }
        var tmp = cntr.children('#fst_paint').children('img').get(0);
        if (tmp) {
            tmp = tmp.id.match(/^.+_(\d.+)$/);
            if (tmp) {
              paint = tmp[1];
            } else {
              paint = "000";
            }
        }
        var tmp = cntr.children('#fst_glass').children('img').get(0);
        if (tmp) {
            tmp = tmp.id.match(/^.+_(\d.+)$/);
            glass = tmp[1];
        } else {
          glass = "001";
        }
        jQuery('ul.models').find('img').each(function (index){
          var tmp = jQuery(this).get(0);
          if (tmp.id) {
            if(tmp.id.length==6)
              tmp = tmp.id.match(/^.+_(\d{2})$/);
            else tmp = tmp.id.match(/^.+_(\d{3})$/);
            if (tmp[1]) {
              if (tmp[1] == brand) {
                jQuery(this).addClass('selected').css({'border' : '2px solid #452B10'});
              }
            }
          }
        });
        jQuery('ul.brendcolors').find('img').each(function (index){
          var tmp = jQuery(this).get(0);
          if (tmp.id) {
            tmp = tmp.id.match(/^.+_(\d{2})$/);
            if (tmp[1]) {
              if (tmp[1] == color) {
                jQuery(this).addClass('selected').css({'border' : '2px solid #452B10'});
              }
            }
          }
        });
        jQuery('ul.brendglasses').find('img').each(function (index){
          var tmp = jQuery(this).get(0);
          if (tmp.id) {
            tmp = tmp.id.match(/^.+_(\d{3})$/);
            if (tmp[1]) {
              if (tmp[1] == glass) {
                jQuery(this).addClass('selected').css({'border' : '2px solid #452B10'});
              }
            }
          }
        });

        jQuery('ul.brand_paints').find('img').each(function (index){
          var tmp = jQuery(this).get(0);
          if (tmp.id) {
            tmp = tmp.id.match(/^.+_(\d{3})$/);
            if (tmp[1]) {
              if (tmp[1] == paint) {
                jQuery(this).addClass('selected').css({'border' : '2px solid #452B10'});
              }
            }
          }
        });

        jQuery('ul').find('img.selected').each(function (index){
          jQuery(this).css({'border' : '2px solid #452B10'});
        });
    };

  var colors = function() {
    jQuery('ul.brendcolors').gambling({
          collapse:   false,
          vertical:   false,
          zoom:       false,
          width:      350,
          height:     78
          ,autowidth: true
          ,autowidthelement: '#content'
          ,imgheight: 74
          ,imgwidth: 70

          ,handler: function() {
          id = jQuery(this).children('img').get(0).src.match(/^.+(\d{2})\..{3}$/);
          if (id[1]) {
              color = id[1];
              setParam({color: color, brand: brand});
            if (typeof(pageTracker)=='undefined' || pageTracker===null) {
            } else {
              pageTracker._trackEvent('Выбор дверей', 'Покрытие', 'Все варианты');
            }
              //img_update();
          }
      }
      });
  };

  var glasses = function() {
        jQuery('ul.brendglasses').gambling({
            collapse:   false,
            vertical:   false,
            zoom:       false,
            width:      350,
            height:     78
          ,autowidth: true
          ,autowidthelement: '#content'
                ,imgheight: 74
                ,imgwidth: 70
            /*,handler: function() {
              id = jQuery(this).children('img').get(0).src.match(/^.+(\d{3})\..{3}$/);
              if (id[1]) {
                  glass = id[1];
                  setParam({left_glass: glass});
                    //img_update();
              }
          }*/
        });

  };

  jQuery('ul.brand_paints li').bind('click',
      function() {
              id = jQuery(this).children('img').get(0).src.match(/^.+(\d{3})\..{3}$/);
              if (id[1]) {
                  paint = id[1];
                  if (paint == '000') {
                    setParam({left_paint: paint});
                    //img_update();
                  }
              }
      }
  );
  var ul = jQuery('ul.brand_paints');
  ul.find('li img').css({'border' : '2px solid #EFD7BD'});
  ul.find('li img').hover(function() {
    jQuery(this).css({'border' : '2px solid #452B10'});
    } , function() {
      if (!jQuery(this).hasClass('selected')) {
        jQuery(this).css({'border' : '2px solid #EFD7BD'});
      } else {
      jQuery(this).css({'border' : '2px solid #452B10'});
      }
  }).click(function(){
    jQuery('ul.brand_paints').find('li img').each(function(){
      jQuery(this).removeClass('selected').css({'border' : '2px solid #EFD7BD'});
    });
    jQuery(this).addClass('selected').css({'border' : '2px solid #452B10'});
  });




  jQuery('ul.models').gambling({
        collapse:   false,
        vertical:   false,
        zoom:       false,
        width:      350,
        height:     157
        ,imgheight: 151
        ,imgwidth:  84
        ,autowidth: true
        ,autowidthelement: '#content'
        ,handler: function() {
      wait();
      return true;
    }
    });

  jQuery('ul.br_pog_fr').gambling({
        collapse:   false,
        vertical:   false,
        zoom:       false,
        width:      350,
        height:     78
        ,autowidth: true
        ,autowidthelement: '#content'
        ,imgheight: 74
        ,imgwidth: 70

        ,handler: function() {
        var id = jQuery(this).children('img').get(0).src.match(/^.+(\d{5})\..{3}$/);
        if (id[1]) {
          setParam({pog_front: id[1]});
        }
    }
    });

  jQuery('ul.br_pog_bk').gambling({
        collapse:   false,
        vertical:   false,
        zoom:       false,
        width:      350,
        height:     78
        ,autowidth: true
        ,autowidthelement: '#content'
        ,imgheight: 74
        ,imgwidth: 70

        ,handler: function() {
        var id = jQuery(this).children('img').get(0).src.match(/^.+(\d{5})\..{3}$/);
        if (id[1]) {
          setParam({pog_back: id[1]});
        }
    }
    });

  jQuery('#wall').spin({
    max: 1000,
    min: 80,
    imageBasePath: '/img/spin/',
    interval: 10,
    changed: rashcalc
  });
  rashcalc();

    var tmp = jQuery("DIV#emp").get(0);
    if (tmp) {
      emp = true;
    }

  tmp = jQuery('SELECT').get(0);
  if (tmp) {
    //cuSel({changedEl: "select"});
  }
  tmp = jQuery('.roomname').get(0);
  if (tmp) {
    jQuery('.roomname').change(function(){
      var id = this.id.match(/^.+roomname_(\d+)$/);
      if (id[1]) {
        tmp = jQuery(this).find('input').get(0);
        if (tmp) {
          $.ajax({
            url:    "/index/kitlabel/"
            ,async: true
            ,data: {
              kit: id[1],
              label: tmp.value
            }
            ,cache: false
            ,type: 'GET'
            ,error: function(result) {

            }
            ,success: function(result){

            }
          });

        }
      }
    });
  }

  jQuery("#width_left").bind("change", widthonchange);
  jQuery("#width_right").bind("change", widthonchange);
  jQuery("#height").bind("change", heightonchange);
  var box = jQuery("tr#box").find(".selected").get(0);
  if (box && box.id == "box_square") {
    boxtypecaption(2);
  } else {
    boxtypecaption(1);
  }

    initDoor();
    colors();
    glasses();
    //paints();

    handlesprocess();

    gmbProcess('catches', 98);
    gmbProcess('hinges', 98);
    gmbProcess('stoppers', 98);
    gmbProcess('fixators', 98);
    gmbProcess('euronakls', 98);
    gmbProcess('eurocyls', 98);
    handleMisc();

});

String.prototype.trim = function(){return this.replace(/(^\s+)|(\s+$)|(^&nbsp;)|(&nbsp;$)/g, "");}

Array.prototype.delIndex = function(indx){
  var tmpi = indx;
  for(var i=indx+1;i<this.length;this[tmpi++] = this[i++]);
  this.pop();
  return this;
}

Array.prototype.delValue = function(val){
  var a = new Array();
  for(var i=0;i<this.length;i++)if(val!=this[i]) a.push(this[i]);
  return a;
}

Array.prototype.isset =function(e){
  for(var i=0;i<this.length;i++) if(this[i]==e) return true;
  return false;
}

var bincount = function(num){for(var count=num&1;num>0;count += num&1)num = num>>>1; return count;}

var getElementsByClass = function(cls,parent,tag,fnc){
  var obj = parent||document;
  var elms = obj.getElementsByTagName(tag||"*");
  var ret = new Array();
  var srch = new RegExp("^.*"+cls+".*$","i");//new RegExp("(^"+cls+"$)|(\ "+cls+"\ )","i");
  for(var i=0;i<elms.length;i++)
    if(srch.test(elms[i].className)){ ret.push(elms[i]);
      if(fnc) fnc(elms[i]);
    }
  return ret.length?ret:null;
}

var noselect = function(obj){
   if (typeof obj.onselectstart!="undefined")obj.onselectstart=function(){return false;}
   else if (typeof obj.style.MozUserSelect!="undefined")obj.style.MozUserSelect="none";
   }

var isset = function(vr){ if((vr == null)||(typeof(vr)+''=='undefined')) return false; return true;};

var newid = function(){
  var date = new Date();
  var ret = String.fromCharCode(date.getMilliseconds()*Math.random())+''+date.getMilliseconds();
  if(/.*(\^)|(\$)|(\*)|(\+)|(\?)|(\.)|(\|)|(\{)|(\})|(\()|(\))|(\\)|(:)|(\ )|(\[)|(\]).*/g.test(ret)) return newid();
  return ret;
  }

var getFirstChild = function(obj){
  for(var i=0; i<obj.childNodes.length;i++)
    if(obj.childNodes[i].nodeType==1)
      return obj.childNodes[i];
  return null;
}

var getTypePosition = function(obj){
  var value = obj.style.position;
  if(!value){
    if (document.defaultView && typeof (document.defaultView.getComputedStyle) == "function") { // Gecko, W3C
        value = document.defaultView.getComputedStyle(obj, "").getPropertyValue("position");
      } else if (obj.currentStyle) { // IE
        value = obj.currentStyle.position;
      } else
        value = '';
  }
  return value;
}

var getXY = function(el) {
  if(!el) return {x:0,y:0};
  if(getTypePosition(el)=='absolute') return {x:0,y:0};
  var SL = 0, ST = 0;
  var is_div = /^div$/i.test(el.tagName);
  if (is_div && el.scrollLeft)
    SL = el.scrollLeft;
  if (is_div && el.scrollTop)
    ST = el.scrollTop;
  var r = { x: el.offsetLeft - SL, y: el.offsetTop - ST };
  if (el.offsetParent) {
    var tmp = getXY(el.offsetParent);
    r.x += tmp.x;
    r.y += tmp.y;
  }
  return r;
};

var setAttr = function(prop){
  var attr = document.createAttribute(prop.attr);
  attr.nodeValue=prop.val;
  prop.obj.setAttributeNode(attr);
}

var getStyle = function(obj,name){
  try{ return document.defaultView.getComputedStyle(obj, "").getPropertyValue(name);}catch(e){ return obj.currentStyle[name]; }
}

window.onresize = function(){;}



turn_id = {};
var delNode = function(obj){
  var parent = obj.parentNode;
  while (obj.firstChild) delNode(obj.firstChild);
  if(parent.id && turn_id[parent.id]){ clearTimeout(turn_id[parent.id]); delete turn_id[parent.id]; }
  parent.removeChild(obj);
}
var grid = function(parent,size)
  {
    var winsize = size || {width:200,height:200};
    var parent = typeof(parent)=="string"?document.getElementById(parent):parent;

    this.body = document.createElement('table'); this.body.className ='grid';
    this.body.style.opacity = 0.1;
    this.body.style.filter = 'alpha(opacity=10)';
    this.body.border='0';
      (function(block){
        var attr = document.createAttribute("cellpadding"); attr.nodeValue="0"; block.setAttributeNode(attr);
        var attr = document.createAttribute("cellspacing"); attr.nodeValue="5"; block.setAttributeNode(attr);
      })(this.body);
    this.body.appendChild(document.createElement('tbody'));
    this.body.firstChild.appendChild(document.createElement('tr'));
    parent.appendChild(this.body); noselect(this.body); this.body=this.body.firstChild;
    this.body.id = newid();
    this.cols = parseInt(parent.offsetWidth/winsize.width,10);

    for(var i=0;i<this.cols;i++){ var td = document.createElement('td'); td.innerHTML = "<img width='"+winsize.width+"px' src='"+imgpath+"/nbsp.png' height='"+winsize.height+"px'>"; this.body.firstChild.appendChild(td); }

    this.turn = {};
    var self = this;

    this.setInCell = function(obj,top,left,func)
      {
        if(this.turn[obj.id]===false) return false;
        var tdelta = left - obj.offsetLeft; delta = 10;
        obj.style.left = (obj.offsetLeft+(Math.abs(tdelta)<delta?tdelta:(tdelta/Math.abs(tdelta))*delta))+'px';
        var tdelta = top - obj.offsetTop;
        obj.style.top = (obj.offsetTop+(Math.abs(tdelta)<delta?tdelta:(tdelta/Math.abs(tdelta))*delta))+'px';
        if(obj.offsetLeft==left && obj.offsetTop==top){ this.turn[obj.id] = false; delete turn_id[obj.id]; return func?func():true; }
        turn_id[obj.id] = setTimeout(function(){self.setInCell(obj,top,left,func);},10);
      }
    this.getCell = function(name){
      var cell = null;
      for(var row =0;row<this.body.childNodes.length;row++)
          for(var col=0; col<this.body.childNodes[row].childNodes.length;col++)
            if(this.body.childNodes[row].childNodes[col].className==name)
                return this.body.childNodes[row].childNodes[col];
      return cell;
    }

    this.refreshOnly = function(obj)
    {
       var flag =false; var newflag = false;
       if(this.body.lastChild.lastChild.className){
        var n = this.body.firstChild.childNodes.length;
        this.body.appendChild(document.createElement('tr'));
        for(var i=0;i<n;i++){ var td = document.createElement('td'); td.innerHTML = "<img width='"+winsize.width+"px' src='"+imgpath+"/nbsp.png' height='"+winsize.height+"px'>"; this.body.lastChild.appendChild(td); }
      }
      for(var row =0;row<this.body.childNodes.length;row++){
        for(var col=0; col<this.body.childNodes[row].childNodes.length;col++)
            if((flag = !this.body.childNodes[row].childNodes[col].className)){
              this.body.childNodes[row].childNodes[col].className = obj.id;
              obj.name=row+':'+col; obj.style.width = winsize.width+'px'; obj.style.height = winsize.height+'px';
              this.turn[obj.id] = false;
              var position = getXY(this.body.childNodes[row].childNodes[col]);
              this.setInCellTimeout(obj,position.y,position.x);
              break;
            }else if(flag = (this.body.childNodes[row].childNodes[col].className==obj.id))
            {
              obj.style.width = winsize.width+'px'; obj.style.height = winsize.height+'px';
              obj.name=row+':'+col;
              this.turn[obj.id] = false;
              var position = getXY(this.body.childNodes[row].childNodes[col]);
              this.setInCellTimeout(obj,position.y,position.x);
              break;
            }
        if(flag) break;
      }
    }

    this.magnetic = function(){
      for(var row=0;row<this.body.childNodes.length;row++)
        for(var col=0;col<this.body.childNodes[row].childNodes.length;col++)
          if(this.body.childNodes[row].childNodes[col].className){
            this.turn[document.getElementById(this.body.childNodes[row].childNodes[col].className).id] = false;
            var position = getXY(this.body.childNodes[row].childNodes[col]);
            this.setInCellTimeout(document.getElementById(this.body.childNodes[row].childNodes[col].className),position.y,position.x);
          }
    }

    this.setInCellTimeout = function(obj,y,x){
      if(this.turn[obj.id]==true){ turn_id[obj.id] = setTimeout(function(){ self.setInCellTimeout(obj,y,x);},10);
      }
      else {
        if(turn_id[obj.id]) delete turn_id[obj.id];
        this.turn[obj.id] = true;
        this.setInCell(obj,y,x);
      }
    }

    getElementsByClass('miniwin',parent,"span",function(elm){noselect(elm);self.refreshOnly(elm);
      elm.className = elm.className.replace(new RegExp("grid"),self.body.id);
    });

  }

var getVariants = function(length,exep){
    var max=1; for(var i=0; i<length;i++) max*= 2;
    var variants = new Array();

    for(var i=0;i<max;variants.push(i++));
    //if(exep){ for(var i=0;i<exep.length;variants = variants.delValue(exep[i++])); }
    return variants;
  }

var Tag = function(variant,double){
  varcount = variant.length;
  document.body.parentNode.scrollTop = 0;
  var size = 30;

  var fond = document.createElement('div');
  var info = document.createElement('div');

  this.stack = new Array();
  this.val;

  this.close = function(num){
    if(this.onclick && num){
      if(typeof(num)=="number") this.onclick(num);
      else{
        if(isFinite(num[1]) || isFinite(num[0]))this.onclick(num[0],num[1]); else return;
      }
    }
    var tmp = getElementsByClass("Tag",null,"div"); for(var i=0;i<tmp.length;delNode(tmp[i++]));
    delNode(info); delNode(fond);
    /*
    if(/msie 6\.0/i.test(navigator.userAgent)){
      var tmp = document.getElementById('EditForm').getElementsByTagName("select");
      for(var i=0;i<tmp.length;i++)tmp[i].className = tmp[i].className.replace(/ byMSIEhide/,"");
    }
    */
   }
  /*/-------------------------------->>
  if(/msie 6\.0/i.test(navigator.userAgent)){
    var tmp = document.getElementById('EditForm').getElementsByTagName("select");
    for(var i=0;i<tmp.length;tmp[i++].className += " byMSIEhide");
  }
  *///-------------------------------->>
  fond.className = "fond";
  fond.style.top="0px"; fond.style.left="0px";
  fond.style.opacity = 0.5;
  fond.style.filter = 'alpha(opacity=50)';
  document.body.appendChild(fond);
  fond.style.height = document.body.offsetHeight +'px';
  fond.style.width = document.body.offsetWidth+'px';
  //-------------------------------->>
  var blockSize = (size*varcount)+size/2;
  var countCol = Math.round(Math.sqrt(variant.length));
  var width = countCol*blockSize+countCol*5;
  if(width<175) width = 175;
  var countRow = Math.round(variant.length/countCol);
  if(variant.length>countRow*countCol)
    countRow += variant.length-(countRow*countCol);


  var height = countRow*blockSize+countRow*7;
  //var width = variant.length*blockSize+variant.length*5;//Math.round(variant.length/Math.round(variant.length/4))*blockSize;
  //-------------------------------->>
  info.className = "info";
  //info.style.height = varcount*blockSize+'px';
  info.appendChild(document.createElement("p")); info.firstChild.innerHTML = "Выберите схему исполнения";

  info.appendChild(document.createElement("table"));
  info.lastChild.appendChild(document.createElement("tbody"));

  info.lastChild.firstChild.appendChild(document.createElement("tr"));
  info.lastChild.firstChild.lastChild.appendChild(document.createElement("td"));

  var quad = document.createElement("span");
  quad.className = 'quad'; quad.appendChild(document.createElement("p"));
  quad.firstChild.className = 'black';

  info.lastChild.firstChild.lastChild.firstChild.appendChild(quad);

  quad.firstChild.style.width = quad.firstChild.style.height = quad.style.height = quad.style.width = size+'px';
  quad.firstChild.style.display='block';
  info.lastChild.firstChild.lastChild.firstChild.appendChild(document.createElement("label"));
  info.lastChild.firstChild.lastChild.firstChild.lastChild.innerHTML = "&nbsp;-&nbsp;"+(double?"Расположения рисунка на филенке":"Остекление");

  info.lastChild.firstChild.appendChild(document.createElement("tr"));
  info.lastChild.firstChild.lastChild.appendChild(document.createElement("td"));

  var quad = document.createElement("span");
  quad.className = 'quad'; quad.appendChild(document.createElement("p"));
  quad.firstChild.className = 'white';

  info.lastChild.firstChild.lastChild.firstChild.appendChild(quad);

  quad.firstChild.style.width = quad.firstChild.style.height = quad.style.height = quad.style.width = size+'px';
  quad.firstChild.style.display='block';
  info.lastChild.firstChild.lastChild.firstChild.appendChild(document.createElement("label"));
  info.lastChild.firstChild.lastChild.firstChild.lastChild.innerHTML = "&nbsp;-&nbsp;"+(double?"Без рисунка на филенке":"Глухое исполнение");


  var bttn = document.createElement("span");
  bttn.className = 'button'; bttn.appendChild(document.createElement("p"));
  bttn.firstChild.className = "cancel";
  info.appendChild(bttn);

  (function(tag,btton){ btton.onclick = function(){ tag.close(); } })(this,bttn);

  var bttn = document.createElement("span");
  bttn.className = 'button'; bttn.appendChild(document.createElement("p"));
  bttn.firstChild.className = "apply";
  info.appendChild(bttn);

  (function(tag,btton){ btton.onclick = function(){ tag.close(tag.val || tag.stack); } })(this,bttn);

  document.body.appendChild(info);
  info.style.left = (parseInt(fond.offsetWidth/2,10)-info.offsetWidth/2)+"px";
  info.style.top = (parseInt(fond.offsetHeight/2,10))+"px";
  //-------------------------------->>
  double = double?2:1;

  for(var loop=0;loop<double;loop++){
    var obj = document.createElement('div');
    var delta = 0;
    if(double==2){
      var Text = document.createElement('div'); Text.style.color='#e4b766'; Text.style.fontWeight='bold';
      if(!loop) Text.innerHTML = "Для лицевой стороны"; else Text.innerHTML = "Для оборотной стороны";
      delta = 35;
    }
    obj.style.width = width+'px';

    obj.style.left = (parseInt(fond.offsetWidth/2,10)+(double>1?(loop?10:-width):(width/-2)))+"px";//(parseInt(fond.offsetWidth/2,10)-width-25)+"px";
    obj.style.top = (parseInt(fond.offsetHeight/2,10)-height-delta)+"px";//((parseInt(fond.offsetHeight/2,10)-(varcount*blockSize)-delta)+blockSize*Math.round(variant.length/4)*loop+delta*loop)+"px";
    obj.className = "Tag";

    for(var i=variant.length-1;i>=0;i--)
      {
        var block = document.createElement("span");
        block.id=newid()+":"+variant[i];
        block.className='miniwin grid -event-';

        if(double==2)
          (function(tag,num,indx){block.onclick = function(){
            getElementsByClass(this.className.replace(new RegExp("onmouse"),'onselect'),this.parentNode,"span",function(elm){ elm.className = elm.className.replace(new RegExp("onselect"),'-event-'); })
            this.className = this.className.replace(new RegExp("onmouse"),'onselect');
            tag.stack[indx]=num;
          }})(this,variant[i],loop);
        else
          (function(tag,num){block.onclick = function(){
            getElementsByClass(this.className.replace(new RegExp("onmouse"),'onselect'),this.parentNode,"span",function(elm){ elm.className = elm.className.replace(new RegExp("onselect"),'-event-'); })
            this.className = this.className.replace(new RegExp("onmouse"),'onselect');
            tag.val = num;
          }})(this,variant[i]);
        block.onmouseover = function(){this.className = this.className.replace(new RegExp("-event-"),'onmouse');}
        block.onmouseout = function(){this.className = this.className.replace(new RegExp("onmouse"),'-event-');}

        block.appendChild(document.createElement("table"));
        block.firstChild.appendChild(document.createElement("tbody"));
        for(var j=varcount-1;j>=0;j--)
          {
            //var quad = document.createElement("img");
            //quad.src = (variant[i]>>>j)&1?black:white;
            var quad = document.createElement("span");
            quad.className = 'quad'; quad.appendChild(document.createElement("p"));

            quad.firstChild.className = (variant[i]>>>j)&1?'black':'white';
            quad.firstChild.style.width = quad.firstChild.style.height = quad.style.height = quad.style.width = size+'px';
            quad.firstChild.style.display='block';
            //var attr = document.createAttribute("height"); attr.nodeValue=size; quad.setAttributeNode(attr);
            //var attr = document.createAttribute("width"); attr.nodeValue=size; quad.setAttributeNode(attr);

            block.firstChild.firstChild.appendChild(document.createElement("tr"));
            block.firstChild.firstChild.lastChild.appendChild(document.createElement("td"));
            block.firstChild.firstChild.lastChild.firstChild.appendChild(quad);
          }
        obj.appendChild(block);
      }
    document.body.appendChild(obj);
    new grid(obj,{width:blockSize,height:blockSize}).magnetic();
    if(Text)obj.appendChild(Text);
  }
}


/*
  if(!level || !(new RegExp("^.*"+this.id+"$").test(level.id))){
            if(level) delNode(level);
            var bin_count = bincount(this.id.replace(new RegExp("^.*:([0-9]+$)"),"$1"));
            if(!bin_count){ level=null; return false; }
            level = nextlvl({
            invest:bin_count,
            parent:this,
            top:this.offsetTop+this.offsetHeight+1,
            left:this.offsetLeft-2,
            size:this.offsetWidth-2//((size*varcount)+size)*2
            });
          }
*/

/*
  cusel version 2.3
  autor: Evgeniy Rizkov
  site: xiper.net
  includes:
    - jScrollPane.js
    - jquery.mousewheel.js

*/
function cuSel(params){jQuery(document).ready(function(){jQuery(params.changedEl).each(function(num)
{var chEl=jQuery(this),chElWid=chEl.outerWidth(),chElClass=chEl.attr("class"),chElId=chEl.attr("id"),chElName=chEl.attr("name"),defaultVal=chEl.val(),activeOpt=chEl.find("option[value="+defaultVal+"]").eq(0),defaultText=activeOpt.text(),disabledSel=chEl.attr("disabled"),scrollArrows=params.scrollArrows,chElOnChange=chEl.attr("onchange"),chElTab=chEl.attr("tabindex");if(!chElId)return false;if(!disabledSel)
{classDisCuselText="",classDisCusel="";}
else
{classDisCuselText="classDisCuselLabel";classDisCusel="classDisCusel";}
if(scrollArrows)
{classDisCusel+=" cuselScrollArrows";}
activeOpt.addClass("cuselActive");var optionStr=chEl.html(),spanStr=optionStr.replace(/option/ig,"span");if(params.checkZIndex)
{num=jQuery(".cusel").length;}
var cuselFrame='<div class="cusel '+chElClass+' '+classDisCusel+'"'+' id=cuselFrame-'+chElId+' style="width:'+chElWid+'px"'+' tabindex="'+chElTab+'"'+'>'+'<div class="cuselFrameRight"></div>'+'<div class="cuselText">'+defaultText+'</div>'+'<div class="cusel-scroll-wrap"><div class="cusel-scroll-pane" id="cusel-scroll-'+chElId+'">'+
spanStr+'</div></div>'+'<input type="hidden" id="'+chElId+'" name="'+chElName+'" value="'+defaultVal+'" />'+'</div>';chEl.replaceWith(cuselFrame);if(chElOnChange)jQuery("#"+chElId).bind('change',chElOnChange);var newSel=jQuery("#cuselFrame-"+chElId),arrSpan=newSel.find("span"),defaultHeight=arrSpan.eq(0).outerHeight();if(arrSpan.length>params.visRows)
{newSel.find(".cusel-scroll-wrap").eq(0).css({height:defaultHeight*params.visRows+"px",display:"none",visibility:"visible"}).children(".cusel-scroll-pane").css("height",defaultHeight*params.visRows+"px");}
else
{newSel.find(".cusel-scroll-wrap").eq(0).css({display:"none",visibility:"visible"});}
var arrAddTags=jQuery("#cusel-scroll-"+chElId).find("span[addTags]"),lenAddTags=arrAddTags.length;for(i=0;i<lenAddTags;i++)arrAddTags.eq(i).append(arrAddTags.eq(i).attr("addTags")).removeAttr("addTags");});jQuery("html").unbind("click");jQuery("html").click(function(e)
{var clicked=jQuery(e.target),clickedId=clicked.attr("id"),clickedClass=clicked.attr("class");if((clickedClass.indexOf("cuselText")!=-1||clickedClass.indexOf("cuselFrameRight")!=-1)&&clicked.parent().attr("class").indexOf("classDisCusel")==-1)
{var cuselWrap=clicked.parent().find(".cusel-scroll-wrap").eq(0);if(cuselWrap.css("display")=="none")
{jQuery(".cusel-scroll-wrap").css("display","none");cuselWrap.css("display","block");var cuselArrows=false;if(clicked.parents(".cusel").attr("class").indexOf("cuselScrollArrows")!=-1)cuselArrows=true;if(!cuselWrap.find(".jScrollPaneContainer").eq(0).is("div"))
{cuselWrap.find("div").eq(0).jScrollPaneCusel({showArrows:cuselArrows});}}
else
{cuselWrap.css("display","none");}}
else if(clickedClass.indexOf("cusel")!=-1&&clickedClass.indexOf("classDisCusel")==-1&&clickedClass.indexOf("cuselActive")==-1)
{var cuselWrap=clicked.find(".cusel-scroll-wrap").eq(0);if(cuselWrap.css("display")=="none")
{jQuery(".cusel-scroll-wrap").css("display","none");cuselWrap.css("display","block");var cuselArrows=false;if(clicked.attr("class").indexOf("cuselScrollArrows")!=-1)cuselArrows=true;if(!cuselWrap.find(".jScrollPaneContainer").eq(0).is("div"))
{cuselWrap.find("div").eq(0).jScrollPaneCusel({showArrows:cuselArrows});}}
else
{cuselWrap.css("display","none");}}
else if(clicked.is("span")&&clicked.parents(".cusel-scroll-wrap").is("div"))
{var clickedVal;(clicked.attr("value")==undefined)?clickedVal=clicked.text():clickedVal=clicked.attr("value");clicked.parents(".cusel-scroll-wrap").find(".cuselActive").eq(0).removeClass("cuselActive").end().parents(".cusel-scroll-wrap").next().val(clickedVal).end().prev().text(clicked.text()).end().css("display","none");clicked.addClass("cuselActive");if(clickedClass.indexOf("cuselActive")==-1)clicked.parents(".cusel").find(".cusel-scroll-wrap").eq(0).next("input").change();}
else if(clicked.parents(".cusel-scroll-wrap").is("div"))
{return;}
else
{jQuery(".cusel-scroll-wrap").css("display","none");}});jQuery(".cusel").focus(function()
{jQuery(this).addClass("cuselFocus");});jQuery(".cusel").blur(function()
{jQuery(this).removeClass("cuselFocus");});jQuery(".cusel").hover(function()
{jQuery(this).addClass("cuselFocus");},function()
{jQuery(this).removeClass("cuselFocus");});jQuery(".cusel").unbind("keydown");jQuery(".cusel").keydown(function(event)
{var key,keyChar;if(window.event)key=window.event.keyCode;else if(event)key=event.which;if(key==null||key==0||key==9)return true;if(jQuery(this).attr("class").indexOf("classDisCusel")!=-1)return false;if(key==40)
{var cuselOptHover=jQuery(this).find(".cuselOptHover").eq(0);if(!cuselOptHover.is("span"))var cuselActive=jQuery(this).find(".cuselActive").eq(0);else var cuselActive=cuselOptHover;var cuselActiveNext=cuselActive.next();if(cuselActiveNext.is("span"))
{jQuery(this).find(".cuselText").eq(0).text(cuselActiveNext.text());cuselActive.removeClass("cuselOptHover");cuselActiveNext.addClass("cuselOptHover");var scrollWrap=jQuery(this).find(".cusel-scroll-pane").eq(0);if(scrollWrap.parent().find(".jScrollPaneTrack").eq(0).is("div"))
{var idScrollWrap=scrollWrap.attr("id"),hOption=scrollWrap.find("span").eq(0).outerHeight();jQuery("#"+idScrollWrap)[0].scrollBy(hOption);}
return false;}
else return false;}
if(key==38)
{var cuselOptHover=jQuery(this).find(".cuselOptHover").eq(0);if(!cuselOptHover.is("span"))var cuselActive=jQuery(this).find(".cuselActive").eq(0);else var cuselActive=cuselOptHover;cuselActivePrev=cuselActive.prev();if(cuselActivePrev.is("span"))
{jQuery(this).find(".cuselText").eq(0).text(cuselActivePrev.text());cuselActive.removeClass("cuselOptHover");cuselActivePrev.addClass("cuselOptHover");var scrollWrap=jQuery(this).find(".cusel-scroll-pane").eq(0);if(scrollWrap.parent().find(".jScrollPaneTrack").eq(0).is("div"))
{var idScrollWrap=scrollWrap.attr("id"),hOption=-parseInt(scrollWrap.find("span").eq(0).outerHeight());jQuery("#"+idScrollWrap)[0].scrollBy(hOption);}
return false;}
else return false;}
if(key==27)
{var cuselActiveText=jQuery(this).find(".cuselActive").eq(0).text();jQuery(this).find(".cusel-scroll-wrap").eq(0).css("display","none").end().find(".cuselOptHover").eq(0).removeClass("cuselOptHover");jQuery(this).find(".cuselText").eq(0).text(cuselActiveText);}
if(key==13)
{var cuselHover=jQuery(this).find(".cuselOptHover").eq(0);if(cuselHover.is("span"))
{jQuery(this).find(".cuselActive").removeClass("cuselActive");var cuselHoverVal=cuselHover.attr("value");cuselHover.addClass("cuselActive");}
else var cuselHoverVal=jQuery(this).find(".cuselActive").attr("value");jQuery(this).find(".cusel-scroll-wrap").eq(0).css("display","none").end().find(".cuselOptHover").eq(0).removeClass("cuselOptHover");jQuery(this).find("input").eq(0).val(cuselHoverVal).change();}
if(jQuery.browser.opera)return false;});var arr=[];jQuery(".cusel").keypress(function(event)
{var key,keyChar;if(window.event)key=window.event.keyCode;else if(event)key=event.which;if(key==null||key==0||key==9)return true;if(jQuery(this).attr("class").indexOf("classDisCusel")!=-1)return false;var o=this;arr.push(event);clearTimeout(jQuery.data(this,'timer'));var wait=setTimeout(function(){handlingEvent()},500);jQuery(this).data('timer',wait);function handlingEvent()
{var charKey=[];for(var iK in arr)
{if(window.event)charKey[iK]=arr[iK].keyCode;else if(arr[iK])charKey[iK]=arr[iK].which;charKey[iK]=String.fromCharCode(charKey[iK]).toUpperCase();}
var arrOption=jQuery(o).find("span"),colArrOption=arrOption.length,i,letter;for(i=0;i<colArrOption;i++)
{var match=true;for(var iter in arr)
{letter=arrOption.eq(i).text().charAt(iter).toUpperCase();if(letter!=charKey[iter])
{match=false;}}
if(match)
{jQuery(o).find(".cuselOptHover").removeClass("cuselOptHover").end().find("span").eq(i).addClass("cuselOptHover").end().end().find(".cuselText").eq(0).text(arrOption.eq(i).text());var scrollWrap=jQuery(o).find(".cusel-scroll-pane").eq(0);if(scrollWrap.parent().find(".jScrollPaneTrack").eq(0).is("div"))
{var idScrollWrap=scrollWrap.attr("id"),hOption=scrollWrap.find("span").eq(0).outerHeight()-0.2;jQuery("#"+idScrollWrap)[0].scrollTo(hOption*i);}
arr=arr.splice;arr=[];break;return true;}}
arr=arr.splice;arr=[];}
if(jQuery.browser.opera&&window.event.keyCode!=9)return false;});jQuery(".cusel span").mouseover(function()
{jQuery(this).parent().find(".cuselOptHover").eq(0).removeClass("cuselOptHover");});var arrCusel=jQuery(".cusel"),colCusel=arrCusel.length-1,i;for(i=0;i<=colCusel;i++)
{arrCusel.eq(i).css("z-index",colCusel-i+100);}});}
function cuSelRefresh(params)
{var arrRefreshEl=params.refreshEl.split(","),lenArr=arrRefreshEl.length,i;for(i=0;i<lenArr;i++)
{var refreshScroll=jQuery(arrRefreshEl[i]).parents(".cusel").find(".cusel-scroll-wrap").eq(0);refreshScroll.find(".cusel-scroll-pane").jScrollPaneRemoveCusel();refreshScroll.css({visibility:"hidden",display:"block"});var arrSpan=refreshScroll.find("span"),defaultHeight=arrSpan.eq(0).outerHeight();if(arrSpan.length>params.visRows)
{refreshScroll.css({height:defaultHeight*params.visRows+"px",display:"none",visibility:"visible"}).children(".cusel-scroll-pane").css("height",defaultHeight*params.visRows+"px");}
else
{refreshScroll.css({display:"none",visibility:"visible"});}}}
(function($){$.jScrollPaneCusel={active:[]};$.fn.jScrollPaneCusel=function(settings)
{settings=$.extend({},$.fn.jScrollPaneCusel.defaults,settings);var rf=function(){return false;};return this.each(function()
{var $this=$(this);var cuselWid=this.parentNode.offsetWidth;$this.css('overflow','hidden');var paneEle=this;if($(this).parent().is('.jScrollPaneContainer')){var currentScrollPosition=settings.maintainPosition?$this.position().top:0;var $c=$(this).parent();var paneWidth=cuselWid;var paneHeight=$c.outerHeight();var trackHeight=paneHeight;$('>.jScrollPaneTrack, >.jScrollArrowUp, >.jScrollArrowDown',$c).remove();$this.css({'top':0});}else{var currentScrollPosition=0;this.originalPadding=$this.css('paddingTop')+' '+$this.css('paddingRight')+' '+$this.css('paddingBottom')+' '+$this.css('paddingLeft');this.originalSidePaddingTotal=(parseInt($this.css('paddingLeft'))||0)+(parseInt($this.css('paddingRight'))||0);var paneWidth=cuselWid;var paneHeight=$this.innerHeight();var trackHeight=paneHeight;$this.wrap($('<div></div>').attr({'className':'jScrollPaneContainer'}).css({'height':paneHeight+'px','width':paneWidth+'px'}));if(!window.navigator.userProfile)
{var borderWid=parseInt($(this).parent().css("border-left-width"))+parseInt($(this).parent().css("border-right-width"));paneWidth-=borderWid;$(this).css("width",paneWidth+"px").parent().css("width",paneWidth+"px");}
$(document).bind('emchange',function(e,cur,prev)
{$this.jScrollPaneCusel(settings);});}
if(settings.reinitialiseOnImageLoad){var $imagesToLoad=$.data(paneEle,'jScrollPaneImagesToLoad')||$('img',$this);var loadedImages=[];if($imagesToLoad.length){$imagesToLoad.each(function(i,val){$(this).bind('load',function(){if($.inArray(i,loadedImages)==-1){loadedImages.push(val);$imagesToLoad=$.grep($imagesToLoad,function(n,i){return n!=val;});$.data(paneEle,'jScrollPaneImagesToLoad',$imagesToLoad);settings.reinitialiseOnImageLoad=false;$this.jScrollPaneCusel(settings);}}).each(function(i,val){if(this.complete||this.complete===undefined){this.src=this.src;}});});};}
var p=this.originalSidePaddingTotal;var cssToApply={'height':'auto','width':paneWidth-settings.scrollbarWidth-settings.scrollbarMargin-p+'px'}
if(settings.scrollbarOnLeft){cssToApply.paddingLeft=settings.scrollbarMargin+settings.scrollbarWidth+'px';}else{cssToApply.paddingRight=settings.scrollbarMargin+'px';}
$this.css(cssToApply);var contentHeight=$this.outerHeight();var percentInView=paneHeight/contentHeight;if(percentInView<.99){var $container=$this.parent();$container.append($('<div></div>').attr({'className':'jScrollPaneTrack'}).css({'width':settings.scrollbarWidth+'px'}).append($('<div></div>').attr({'className':'jScrollPaneDrag'}).css({'width':settings.scrollbarWidth+'px'}).append($('<div></div>').attr({'className':'jScrollPaneDragTop'}).css({'width':settings.scrollbarWidth+'px'}),$('<div></div>').attr({'className':'jScrollPaneDragBottom'}).css({'width':settings.scrollbarWidth+'px'}))));var $track=$('>.jScrollPaneTrack',$container);var $drag=$('>.jScrollPaneTrack .jScrollPaneDrag',$container);if(settings.showArrows){var currentArrowButton;var currentArrowDirection;var currentArrowInterval;var currentArrowInc;var whileArrowButtonDown=function()
{if(currentArrowInc>4||currentArrowInc%4==0){positionDrag(dragPosition+currentArrowDirection*mouseWheelMultiplier);}
currentArrowInc++;};var onArrowMouseUp=function(event)
{$('html').unbind('mouseup',onArrowMouseUp);currentArrowButton.removeClass('jScrollActiveArrowButton');clearInterval(currentArrowInterval);};var onArrowMouseDown=function(){$('html').bind('mouseup',onArrowMouseUp);currentArrowButton.addClass('jScrollActiveArrowButton');currentArrowInc=0;whileArrowButtonDown();currentArrowInterval=setInterval(whileArrowButtonDown,100);};$container.append($('<div></div>').attr({'className':'jScrollArrowUp'}).css({'width':settings.scrollbarWidth+'px'}).bind('mousedown',function()
{currentArrowButton=$(this);currentArrowDirection=-1;onArrowMouseDown();this.blur();return false;}).bind('click',rf),$('<div></div>').attr({'className':'jScrollArrowDown'}).css({'width':settings.scrollbarWidth+'px'}).bind('mousedown',function()
{currentArrowButton=$(this);currentArrowDirection=1;onArrowMouseDown();this.blur();return false;}).bind('click',rf));var $upArrow=$('>.jScrollArrowUp',$container);var $downArrow=$('>.jScrollArrowDown',$container);if(settings.arrowSize){trackHeight=paneHeight-settings.arrowSize-settings.arrowSize;$track.css({'height':trackHeight+'px',top:settings.arrowSize+'px'})}else{var topArrowHeight=$upArrow.height();settings.arrowSize=topArrowHeight;trackHeight=paneHeight-topArrowHeight-$downArrow.height();$track.css({'height':trackHeight+'px',top:topArrowHeight+'px'})}}
var $pane=$(this).css({'position':'absolute','overflow':'visible'});var currentOffset;var maxY;var mouseWheelMultiplier;var dragPosition=0;var dragMiddle=percentInView*paneHeight/2;var getPos=function(event,c){var p=c=='X'?'Left':'Top';return event['page'+c]||(event['client'+c]+(document.documentElement['scroll'+p]||document.body['scroll'+p]))||0;};var ignoreNativeDrag=function(){return false;};var initDrag=function()
{ceaseAnimation();currentOffset=$drag.offset(false);currentOffset.top-=dragPosition;maxY=trackHeight-$drag[0].offsetHeight;mouseWheelMultiplier=2*settings.wheelSpeed*maxY/contentHeight;};var onStartDrag=function(event)
{initDrag();dragMiddle=getPos(event,'Y')-dragPosition-currentOffset.top;$('html').bind('mouseup',onStopDrag).bind('mousemove',updateScroll);if($.browser.msie){$('html').bind('dragstart',ignoreNativeDrag).bind('selectstart',ignoreNativeDrag);}
return false;};var onStopDrag=function()
{$('html').unbind('mouseup',onStopDrag).unbind('mousemove',updateScroll);dragMiddle=percentInView*paneHeight/2;if($.browser.msie){$('html').unbind('dragstart',ignoreNativeDrag).unbind('selectstart',ignoreNativeDrag);}};var positionDrag=function(destY)
{destY=destY<0?0:(destY>maxY?maxY:destY);dragPosition=destY;$drag.css({'top':destY+'px'});var p=destY/maxY;$pane.css({'top':((paneHeight-contentHeight)*p)+'px'});$this.trigger('scroll');if(settings.showArrows){$upArrow[destY==0?'addClass':'removeClass']('disabled');$downArrow[destY==maxY?'addClass':'removeClass']('disabled');}};var updateScroll=function(e)
{positionDrag(getPos(e,'Y')-currentOffset.top-dragMiddle);};var dragH=Math.max(Math.min(percentInView*(paneHeight-settings.arrowSize*2),settings.dragMaxHeight),settings.dragMinHeight);$drag.css({'height':dragH+'px'}).bind('mousedown',onStartDrag);var trackScrollInterval;var trackScrollInc;var trackScrollMousePos;var doTrackScroll=function()
{if(trackScrollInc>8||trackScrollInc%4==0){positionDrag((dragPosition-((dragPosition-trackScrollMousePos)/2)));}
trackScrollInc++;};var onStopTrackClick=function()
{clearInterval(trackScrollInterval);$('html').unbind('mouseup',onStopTrackClick).unbind('mousemove',onTrackMouseMove);};var onTrackMouseMove=function(event)
{trackScrollMousePos=getPos(event,'Y')-currentOffset.top-dragMiddle;};var onTrackClick=function(event)
{initDrag();onTrackMouseMove(event);trackScrollInc=0;$('html').bind('mouseup',onStopTrackClick).bind('mousemove',onTrackMouseMove);trackScrollInterval=setInterval(doTrackScroll,100);doTrackScroll();};$track.bind('mousedown',onTrackClick);$container.bind('mousewheel',function(event,delta){initDrag();ceaseAnimation();var d=dragPosition;positionDrag(dragPosition-delta*mouseWheelMultiplier);var dragOccured=d!=dragPosition;return false;});var _animateToPosition;var _animateToInterval;function animateToPosition()
{var diff=(_animateToPosition-dragPosition)/settings.animateStep;if(diff>1||diff<-1){positionDrag(dragPosition+diff);}else{positionDrag(_animateToPosition);ceaseAnimation();}}
var ceaseAnimation=function()
{if(_animateToInterval){clearInterval(_animateToInterval);delete _animateToPosition;}};var scrollTo=function(pos,preventAni)
{if(typeof pos=="string"){$e=$(pos,$this);if(!$e.length)return;pos=$e.offset().top-$this.offset().top;}
$container.scrollTop(0);ceaseAnimation();var destDragPosition=-pos/(paneHeight-contentHeight)*maxY;if(preventAni||!settings.animateTo){positionDrag(destDragPosition);}else{_animateToPosition=destDragPosition;_animateToInterval=setInterval(animateToPosition,settings.animateInterval);}};$this[0].scrollTo=scrollTo;$this[0].scrollBy=function(delta)
{var currentPos=-parseInt($pane.css('top'))||0;scrollTo(currentPos+delta);};initDrag();scrollTo(-currentScrollPosition,true);$('*',this).bind('focus',function(event)
{var $e=$(this);var eleTop=0;while($e[0]!=$this[0]){eleTop+=$e.position().top;$e=$e.offsetParent();}
var viewportTop=-parseInt($pane.css('top'))||0;var maxVisibleEleTop=viewportTop+paneHeight;var eleInView=eleTop>viewportTop&&eleTop<maxVisibleEleTop;if(!eleInView){var destPos=eleTop-settings.scrollbarMargin;if(eleTop>viewportTop){destPos+=$(this).height()+15+settings.scrollbarMargin-paneHeight;}
scrollTo(destPos);}})
if(location.hash){scrollTo(location.hash);}
$(document).bind('click',function(e)
{$target=$(e.target);if($target.is('a')){var h=$target.attr('href');if(h.substr(0,1)=='#'){scrollTo(h);}}});$.jScrollPaneCusel.active.push($this[0]);}else{$this.css({'height':paneHeight+'px','width':paneWidth-this.originalSidePaddingTotal+'px','padding':this.originalPadding});$this.parent().unbind('mousewheel');}})};$.fn.jScrollPaneRemoveCusel=function()
{$(this).each(function()
{$this=$(this);var $c=$this.parent();if($c.is('.jScrollPaneContainer')){$this.css({'top':'','height':'','width':'','padding':'','overflow':'','position':''});$this.attr('style',$this.data('originalStyleTag'));$c.after($this).remove();}});}
$.fn.jScrollPaneCusel.defaults={scrollbarWidth:10,scrollbarMargin:5,wheelSpeed:18,showArrows:false,arrowSize:0,animateTo:false,dragMinHeight:1,dragMaxHeight:99999,animateInterval:100,animateStep:3,maintainPosition:true,scrollbarOnLeft:false,reinitialiseOnImageLoad:false};$(window).bind('unload',function(){var els=$.jScrollPaneCusel.active;for(var i=0;i<els.length;i++){els[i].scrollTo=els[i].scrollBy=null;}});})(jQuery);(function($){$.event.special.mousewheel={setup:function(){var handler=$.event.special.mousewheel.handler;if($.browser.mozilla)
$(this).bind('mousemove.mousewheel',function(event){$.data(this,'mwcursorposdata',{pageX:event.pageX,pageY:event.pageY,clientX:event.clientX,clientY:event.clientY});});if(this.addEventListener)
this.addEventListener(($.browser.mozilla?'DOMMouseScroll':'mousewheel'),handler,false);else
this.onmousewheel=handler;},teardown:function(){var handler=$.event.special.mousewheel.handler;$(this).unbind('mousemove.mousewheel');if(this.removeEventListener)
this.removeEventListener(($.browser.mozilla?'DOMMouseScroll':'mousewheel'),handler,false);else
this.onmousewheel=function(){};$.removeData(this,'mwcursorposdata');},handler:function(event){var args=Array.prototype.slice.call(arguments,1);event=$.event.fix(event||window.event);$.extend(event,$.data(this,'mwcursorposdata')||{});var delta=0,returnValue=true;if(event.wheelDelta)delta=event.wheelDelta/120;if(event.detail)delta=-event.detail/3;event.data=event.data||{};event.type="mousewheel";args.unshift(delta);args.unshift(event);return $.event.handle.apply(this,args);}};$.fn.extend({mousewheel:function(fn){return fn?this.bind("mousewheel",fn):this.trigger("mousewheel");},unmousewheel:function(fn){return this.unbind("mousewheel",fn);}});})(jQuery);

/**
 * jQuery Spin 1.1.1
 *
 * Copyright (c) 2009 Naohiko MORI
 * Dual licensed under the MIT and GPL licenses.
 *
 **/
(function($){
  var calcFloat = {
    get: function(num){
      var num = num.toString();
      if(num.indexOf('.')==-1) return[0, eval(num)];
      var nn = num.split('.');
      var po = nn[1].length;
      var st = nn.join('');
      var sign = '';
      if(st.charAt(0)=='-'){
        st = st.substr(1);
        sign = '-';
      }
      for(var i=0; i<st.length; ++i) if(st.charAt(0)=='0') st=st.substr(1, st.length);
      st = sign + st;
      return [po, eval(st)];
    },
    getInt: function(num, figure){
      var d = Math.pow(10, figure);
      var n = this.get(num);
      var v1 = eval('num * d');
      var v2 = eval('n[1] * d');
      if(this.get(v1)[1]==v2) return v1;
      return(n[0]==0 ? v1 : eval(v2 + '/Math.pow(10, n[0])'));
    },
    sum: function(v1, v2){
      var n1 = this.get(v1);
      var n2 = this.get(v2);
      var figure = (n1[0] > n2[0] ? n1[0] : n2[0]);
      v1 = this.getInt(v1, figure);
      v2 = this.getInt(v2, figure);
      return eval('v1 + v2')/Math.pow(10, figure);
    }
  };
  $.extend({
    spin: {
      imageBasePath: '/img/spin/',
      spinBtnImage: 'spin-button.png',
      spinUpImage: 'spin-up.png',
      spinDownImage: 'spin-down.png',
      interval: 1,
      max: null,
      min: null,
      timeInterval: 500,
      timeBlink: 200,
      btnClass: null,
      btnCss: {cursor: 'pointer', padding: 0, margin: 0, verticalAlign: 'middle'},
      txtCss: {marginRight: 0, paddingRight: 0},
      lock: false,
      decimal: null,
      beforeChange: null,
      changed: null,
      buttonUp: null,
      buttonDown: null
    }
  });
  $.fn.extend({
    spin: function(o){
      return this.each(function(){
        o = o || {};
        var opt = {};
        $.each($.spin, function(k,v){
          opt[k] = (typeof o[k]!='undefined' ? o[k] : v);
        });

        var txt = $(this);

        var spinBtnImage = opt.imageBasePath+opt.spinBtnImage;
        var btnSpin = new Image();
        btnSpin.src = spinBtnImage;
        var spinUpImage = opt.imageBasePath+opt.spinUpImage;
        var btnSpinUp = new Image();
        btnSpinUp.src = spinUpImage;
        var spinDownImage = opt.imageBasePath+opt.spinDownImage;
        var btnSpinDown = new Image();
        btnSpinDown.src = spinDownImage;

        var btn = $(document.createElement('img'));
        btn.attr('src', spinBtnImage);
        if(opt.btnClass) btn.addClass(opt.btnClass);
        if(opt.btnCss) btn.css(opt.btnCss);
        if(opt.txtCss) txt.css(opt.txtCss);
        txt.after(btn);
        if(opt.lock){
          txt.focus(function(){txt.blur();});
        }

        function spin(vector){
          var val = txt.val();
          var org_val = val;
          if(opt.decimal) val=val.replace(opt.decimal, '.');
          if(!isNaN(val)){
            val = calcFloat.sum(val, vector * opt.interval);
            if(opt.min!==null && val<opt.min) val=opt.min;
            if(opt.max!==null && val>opt.max) val=opt.max;
            if(val != txt.val()){
              if(opt.decimal) val=val.toString().replace('.', opt.decimal);
              var ret = ($.isFunction(opt.beforeChange) ? opt.beforeChange.apply(txt, [val, org_val]) : true);
              if(ret!==false){
                txt.val(val);
                if($.isFunction(opt.changed)) opt.changed.apply(txt, [val]);
                txt.change();
                src = (vector > 0 ? spinUpImage : spinDownImage);
                btn.attr('src', src);
                if(opt.timeBlink<opt.timeInterval)
                  setTimeout(function(){btn.attr('src', spinBtnImage);}, opt.timeBlink);
              }
            }
          }
          if(vector > 0){
            if($.isFunction(opt.buttonUp)) opt.buttonUp.apply(txt, [val]);
          }else{
            if($.isFunction(opt.buttonDown)) opt.buttonDown.apply(txt, [val]);
          }
        }

        btn.mousedown(function(e){
          var pos = e.pageY - btn.offset().top;
          var vector = (btn.height()/2 > pos ? 1 : -1);
          (function(){
            spin(vector);
            var tk = setTimeout(arguments.callee, opt.timeInterval);
            $(document).one('mouseup', function(){
              clearTimeout(tk); btn.attr('src', spinBtnImage);
            });
          })();
          return false;
        });
      });
    }
  });
})(jQuery);
