Bordenave = {
  _lang : {"1" : "fr" ,"2" : "en", "3":"es"},
  _MAX_WIDTH: 1024,
  _MAX_HEIGHT: 681,
  index: null,
  arrImg: null,
  'swapImage': function (index) {
    if (index < 1) {
      $('swap_down').hide();
    } else {
      $('swap_down').show();
    }
    if (index >= Bordenave.arrImg.length - 1) {
      $('swap_up').hide();
    } else {
      $('swap_up').show();
    }
    if (index >= 0 && index <= Bordenave.arrImg.length - 1) {
      $('image_shown').setAttribute('src', Bordenave.arrImg[index].src)
      $('image_shown').setAttribute('height', Bordenave.arrImg[index].height)
      if (parseInt($('image_shown').readAttribute('height')) > Bordenave._MAX_HEIGHT) {
        $('image_shown').height = Bordenave._MAX_HEIGHT;
        $('image_shown').width = parseInt(Bordenave._MAX_HEIGHT * Bordenave.arrImg[index].width / Bordenave.arrImg[index].height);
      } else {
        $('image_shown').setAttribute('width', Bordenave.arrImg[index].width)
        if (parseInt($('image_shown').readAttribute('width')) > Bordenave._MAX_WIDTH) {
          $('image_shown').width = Bordenave._MAX_WIDTH;
          $('image_shown').height = parseInt(Bordenave._MAX_WIDTH * Bordenave.arrImg[index].height / Bordenave.arrImg[index].width);
        }
      }
      $('image_shown').setAttribute('title', Bordenave.arrImg[index].title)
      Bordenave.index = index;
      //var shadow = $$('div.dialog-shadow')[0];
      //var support = $$('div.dialog-image_box')[0];
    }
  },
  'zoomHandler': function (element) {
    $$('#left_detail_box a').each(function(elm) {
      if (elm.hasAttribute('data-selected')) {
        elm.removeAttribute('data-selected');
      }
    });
    element.writeAttribute({'data-selected':'selected'});
    new Bordenave.Diaporama();
  }
};

Bordenave.init = function() {
	$$('#menuH_home>li>ul').invoke("hide");
	$$('#menuH_home').invoke('observe', 'mouseover', Bordenave.menuH.over);
	$$('#menuH_home').invoke('observe', 'mouseout', Bordenave.menuH.out);
	//$('site').descendants().invoke('observe', 'mouseout', Bordenave.menuH.out);
	$$('#relatif').invoke('observe', 'mouseover', Bordenave.menuH.newsOpen);
	$$('#input_news_box').invoke('observe', 'mouseout', Bordenave.menuH.newsClose);

  if (Prototype.Browser.IE) {
    var rslt = navigator.appVersion.match(/MSIE (\d+\.\d+)/, "");
    if (rslt != null && Number(rslt[1]) >= 5.5 && Number(rslt[1]) < 7) {
//.kwo-tooltip .top, .kwo-tooltip .middle, .help, .kwo-tooltip .bottom, .offre_img_box, .submit, .offre_button
      $$(".trans").each(Bordenave.display.alphaBackgrounds);
    }
  }

};
/*
Bordenave.calendar = {
  "printDate" : function(type,args,obj) {
    obj.hide();

    var dates = args[0];
    var date = dates[0];

    var year = date[0];
    var month = date[1];
    var day = date[2];

    $('input_date_hidden').value = month+"/"+day+"/"+year;

    if (parseInt(day)<10) day = "0"+day;
    if (parseInt(month)<10) month = "0"+month;

    if (_locale == 1) date = day+"/"+month+"/"+year;
    else if (_locale == 2) date = year+"/"+month+"/"+day;
    else if (_locale == 3) date = day+"/"+month+"/"+year;
    $('selected_date').update(date);
    
    var infos = {"date" : date = year+"-"+month+"-"+day, "id" : $('input_logementId_hidden').value};
    Kwo.exec("/bordenave/weeksList", infos, {container: $('weeks_list_box')});
  },
  "print": function (el, container){
    var date, page_date;
    var today = new Date();
    if (el.value.empty()) {
      date = (today.getMonth()+1)+'/'+today.getDate()+'/'+today.getFullYear();
    } else {
      date = el.value;
      var tmp = date.split('/')
      page_date = tmp[0]+'/'+tmp[2];
    }
    var opts = {"title":"", "close":true, "mindate":today, "selected":date};
    if (_locale == 1) opts.START_WEEKDAY = 1;
    else if (_locale == 2) opts.START_WEEKDAY = 0;
    else if (_locale == 3) opts.START_WEEKDAY = 1;
    if (page_date) opts.pageDate = page_date;
    var cal = new YAHOO.widget.Calendar(container, opts);
    cal.cfg.setProperty("DATE_FIELD_DELIMITER", "/"); 
    if (_locale == 1) {
      cal.cfg.setProperty("MDY_DAY_POSITION", 1); 
      cal.cfg.setProperty("MDY_MONTH_POSITION", 2);
      cal.cfg.setProperty("MONTHS_LONG", ["Janvier", "Fevrier", "Mars", "Avril", "Mai", "Juin", "Juillet", "Aout", "Septembre", "Octobre", "Novembre", "Decembre"]); 
      cal.cfg.setProperty("WEEKDAYS_SHORT", ["Di", "Lu", "Ma", "Me", "Je", "Ve", "Sa"]); 
      cal.cfg.setProperty("WEEKDAYS_MEDIUM",["Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam"]); 
    } else if (_locale == 2) {
      cal.cfg.setProperty("MDY_DAY_POSITION", 2); 
      cal.cfg.setProperty("MDY_MONTH_POSITION", 1); 
      cal.cfg.setProperty("MONTHS_LONG", ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]); 
      cal.cfg.setProperty("WEEKDAYS_SHORT", ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"]); 
      cal.cfg.setProperty("WEEKDAYS_MEDIUM",["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]);
    } else if (_locale == 3) {
      cal.cfg.setProperty("MDY_DAY_POSITION", 1); 
      cal.cfg.setProperty("MDY_MONTH_POSITION", 2);
      cal.cfg.setProperty("MONTHS_LONG", ["Janvier", "Fevrier", "Mars", "Avril", "Mai", "Juin", "Juillet", "Aout", "Septembre", "Octobre", "Novembre", "Decembre"]); 
      cal.cfg.setProperty("WEEKDAYS_SHORT", ["Di", "Lu", "Ma", "Me", "Je", "Ve", "Sa"]); 
      cal.cfg.setProperty("WEEKDAYS_MEDIUM",["Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam"]);
    }
    cal.cfg.setProperty("MDY_YEAR_POSITION", 3);
    var myCustomRenderer = function(workingDate, cell) { 
      cell.innerHTML = workingDate.getDate();
      cell.onclick = null;
      return YAHOO.widget.Calendar.STOP_RENDER; 
    }
    var excluded = [1,2,3,4,5,6];
    for (var key in excluded) {
      cal.addWeekdayRenderer(excluded[key], myCustomRenderer);
    }
    cal.selectEvent.subscribe(Bordenave.calendar.printDate, cal, true);
    cal.render();
    cal.show();
  }

};
*/
Bordenave.menuH = {
  current: null,
  "over" : function(e) {
	  var zone = Event.element(e);
  	zone = zone.match('li.menuH_zone') ? zone : zone.up('li.menuH_zone');
  	if (Bordenave.menuH.current == null || (zone != Bordenave.menuH.current && !zone.descendantOf(Bordenave.menuH.current))) {
  	  if (Bordenave.menuH.current != null) {
  	    Bordenave.menuH.out(null, Bordenave.menuH.current);
  	  }
  	  Bordenave.menuH.current = zone;
      var ul = zone.select('ul')[0];
      if (ul) {
  	    if (!ul.visible()) {
  	      ul.show();
  	    }
        zone.select('a')[0].addClassName('selected');
      } else {
        zone.select('a')[0].addClassName('selected-simple');
      }
  	}
  	document.observe('mousemove', function(evt) {
  	  var tar = Event.element(evt);
  	  if (!tar.descendantOf($('menuH_home'))) {
  	    $$('#menuH_home>li>ul').invoke("hide");
  	    $$('#menuH_home>li>a.selected').invoke('removeClassName','selected');
  	    Bordenave.menuH.current = null;
  	    document.stopObserving('mousemove');
  	  }
  	});
  },
  "out" : function(e, elm) {
	  var zone = (e != null) ? Event.element(e) : elm;
	  var zone_keep = zone;
	  zone = zone.match('li.menuH_zone') ? zone : zone.up('li.menuH_zone');
	  if (e == null || (Bordenave.menuH.current != null && zone != Bordenave.menuH.current)) {
  	  Bordenave.menuH.current = null;
  	  zone.select('a.selected').invoke('removeClassName','selected');
  	  zone.select('a.selected-simple').invoke('removeClassName','selected-simple');
  	  var ul = zone.select('ul')[0];
  	  if (!ul) return;
  	  ul.hide();
	  }
  },
  "newsOpen" : function() {
	  $('input_news_box').show();
	  $('lien_news').addClassName('lien_newsletter_over');
  },
  "newsToggle" : function() {
	  $('input_news_box').toggle();
	  $('lien_news').toggleClassName('lien_newsletter_over');
  },
  "newsClose" : function() {
	  $('input_news_box').hide();
	  $('lien_news').removeClassName('lien_newsletter_over');
  }
};

Bordenave.Form = {};
Bordenave.Form.selectPeriode = {
	"onChange" : function (arg) {
    form = $('consecutive_date');
    date_depart = form['date_depart'];
		Kwo.exec("/bordenave/plage_periode", arg, {"container": "select_container"} );
  }
};
Bordenave.Form.sell = {
	"onChange" : function (pos) {
    form = $('sell_form_'+pos);
		form.action = "/"+Bordenave._lang[_locale]+"/ventes";
    form.submit();
  }
};
Bordenave.Form.order_search = {
	"onChange" : function () {
    input = $('tri_result');
		if(input.value == 'ASC'){
			input.value = 'DESC';
		}
		else{
			input.value = 'ASC';
		}
		Bordenave.Form.location_search.onSubmit($('location_search_form'));
  }	
};

Bordenave.Form.location_search = {
  "id" : "location_search_form",
  "onSubmit" : function (args) {
    args.action = "/"+Bordenave._lang[_locale]+"/locations.result";
    args.submit();
  },
  "setOffset" : function (offset) {
    args = $(Bordenave.Form.location_search.id);
    args.offset.value = offset;
    Bordenave.Form.location_search.onSubmit(args);
  },
  "toogleNbWeek" : function(el) {
    el = $(el);
    if (el.value == 0) {
      el.form.nb_week.setAttribute("disabled", "true");
//      el.setAttribute("disabled", "true");
    } else {
      el.form.nb_week.removeAttribute("disabled", "true");
//      el.removeAttribute("disabled");
    }
  },
  "submitPromo" : function() {
    $('location_search_form').reset();
    $('checkbox').checked=true;
    Bordenave.Form.location_search.onSubmit($('location_search_form'));
  }
};

Bordenave.display = {
  "alphaBackgrounds" : function (e) {
    var bg = e.currentStyle.backgroundImage;
    if (bg.match(/\.png/i) != null) { 
      var mypng = bg.substring(5,bg.length-2);
      e.setStyle({  
        filter : "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + mypng + "', sizingMethod='" + (e.currentStyle.backgroundRepeat == "no-repeat" ? "crop" : "scale") + "')",
        backgroundImage : "none"}); 
    }
  }
};

Bordenave.Zoom = {
  "TOPRIGHT"    : 1,
  "BOTTOMRIGHT" : 2,
  "BOTTOMLEFT"  : 3,
  "TOPLEFT"     : 4,
  "load" : function (elm, position, list) {
    $$('select').invoke('hide');
    if (this !== Bordenave.Zoom) {
      elm = {'offsetTop' : $('zoom-contener').offsetTop + 5,
             'offsetLeft' : $('zoom-contener').offsetLeft + 5,
             'getDimensions' : function () { return this.dimensions; },
             'dimensions' : $('zoom-contener').down('img').getDimensions(),
             'href' : this.elm.action};     
      position = Bordenave.Zoom.position.align;
      list = Bordenave.Zoom.list;
    } else elm = $(elm);
    Bordenave.Zoom.position = {'top'        : elm.offsetTop,
			  'left'       : elm.offsetLeft,
			  'dimensions' : elm.getDimensions(),
			  'align'      : position};
    Bordenave.Zoom.list = list;
    if (!$('zoom-layout')) {
      var contener, layout;
      document.body.appendChild(layout = new Element('div',{'id' : 'zoom-layout'}));
      document.body.appendChild(contener = new Element('div',{'id' : 'zoom-contener'}));
      Bordenave.Zoom.imgs_cached = [new Image()];
      Bordenave.Zoom.imgs_cached[0].src = '/pub/pix/no-photo.gif';
      Bordenave.Zoom.imgs_cached[0].loadedEvent = Bordenave.Zoom.imageLoaded.bindAsEventListener({"index" : 0});
      $(Bordenave.Zoom.imgs_cached[0]).observe('click',Bordenave.Zoom.close.bindAsEventListener({"index" : 0}));
      Bordenave.Zoom.imgs_error = [];
      Bordenave.Zoom.imgs_width = [32];
      $('zoom-contener').setStyle({'height' : '40px', 'width'  : '90%', 'left'   : '5%'});
    } else {
      while ($('zoom-contener').lastChild) $('zoom-contener').removeChild($('zoom-contener').lastChild);
      ['zoom-contener','zoom-layout'].each(Element.show);
    }
    if (!position) self.scrollTo(0, 0);
    var id = Bordenave.Zoom.isCached(elm);
    if (id === false) {
      id = Bordenave.Zoom.imgs_cached.push(new Image()) - 1;
      Bordenave.Zoom.imgs_cached[id].src = elm.readAttribute('path');
      $(Bordenave.Zoom.imgs_cached[id]).observe('click',Bordenave.Zoom.close.bindAsEventListener({"index" : id}));
    }
    if (typeof Bordenave.Zoom.imgs_cached[id].loadedEvent !== 'function'
        && Bordenave.Zoom.imgs_cached[id].width < 1) {
      Bordenave.Zoom.imgs_cached[id].loadedEvent = Bordenave.Zoom.imageLoaded.bindAsEventListener({"index" : id});
      Bordenave.Zoom.imgs_cached[id].observe('load',Bordenave.Zoom.imgs_cached[id].loadedEvent);
      Bordenave.Zoom.imgs_cached[id].errorLoadedEvent = Bordenave.Zoom.imageLoaded.bindAsEventListener({"index" : 0, "error" : id});
      Bordenave.Zoom.imgs_cached[id].observe('error',Bordenave.Zoom.imgs_cached[id].errorLoadedEvent);
    } else if (!Prototype.Browser.IE) Bordenave.Zoom.imageLoaded(null, {'index' : id});
    if (Prototype.Browser.IE) {
      Bordenave.Zoom.imageLoaded(null,{"index" : id});
    }
    return false;
  },
  "imageLoaded" : function (e, obj) {
    if (e !== null) obj = this;
    if (!obj.error) {
      for (var k in Bordenave.Zoom.imgs_error)
        if (Bordenave.Zoom.imgs_error[k] == obj.index) { obj.index = 0; break; }
    } else Bordenave.Zoom.imgs_error.push(obj.error);
    while ($('zoom-contener').lastChild) $('zoom-contener').removeChild($('zoom-contener').lastChild);
    $('zoom-contener').appendChild(Bordenave.Zoom.imgs_cached[obj.index]);
    Bordenave.Effect.show(Bordenave.Zoom.imgs_cached[obj.index]);
    if (!Bordenave.Zoom.imgs_width[obj.index])
      Bordenave.Zoom.imgs_width[obj.index] = Bordenave.Zoom.imgs_cached[obj.index].getDimensions().width;
    if (!Bordenave.Zoom.imgs_width[obj.index])
      Bordenave.Zoom.imgs_width[obj.index] = Bordenave.Zoom.imgs_cached[obj.index].getDimensions().width;
    var viewport_dimensions = document.viewport.getDimensions();
    var img_dimensions = $($('zoom-contener').firstChild).getDimensions();
    var left_position = ((viewport_dimensions.width - img_dimensions.width + 10) / 2) + 'px';
    var top_position = '30px';
    switch (Bordenave.Zoom.position.align) {
    case Bordenave.Zoom.TOPRIGHT:
      left_position = (Bordenave.Zoom.position.left + Bordenave.Zoom.position.dimensions.width - img_dimensions.width - 5) + 'px';
      top_position = (Bordenave.Zoom.position.top - 5) + 'px';
      break;
    case Bordenave.Zoom.BOTTOMRIGHT:
      left_position = (Bordenave.Zoom.position.left + Bordenave.Zoom.position.dimensions.width - img_dimensions.width - 5) + 'px';
      top_position = (Bordenave.Zoom.position.top + Bordenave.Zoom.position.dimensions.height - img_dimensions.height - 5) + 'px';
      break;
    case Bordenave.Zoom.BOTTOMLEFT:
      left_position = (Bordenave.Zoom.position.left - 5) + 'px';
      top_position = (Bordenave.Zoom.position.top + Bordenave.Zoom.position.dimensions.height - img_dimensions.height - 5) + 'px';
      break;
    case Bordenave.Zoom.TOPLEFT:
      left_position = (Bordenave.Zoom.position.left - 5) + 'px';
      top_position = (Bordenave.Zoom.position.top - 5) + 'px';
      break;
    default:
      if (img_dimensions.width > viewport_dimensions.width * 0.9
          || img_dimensions.width < Bordenave.Zoom.imgs_width[obj.index]) {
        left_position = '5%';
        Bordenave.Zoom.imgs_cached[obj.index].setStyle({'width'  : (viewport_dimensions.width * 0.9) + 'px'});
        if (Prototype.Browser.IE) {
          var height = img_dimensions.height * viewport_dimensions.width * 0.9 / img_dimensions.width;
          Bordenave.Zoom.imgs_cached[obj.index].setStyle({'height' : height + 'px'});
        }
        img_dimensions.width = viewport_dimensions.width * 0.9;
      }
    }
    $('zoom-contener').setStyle({'height' : 'auto',
                                 'width'  : (img_dimensions.width + 10) + 'px',
                                 'left'   : left_position,
                                 'top'    : top_position});
    var layout_height = viewport_dimensions.height-2;
	if (img_dimensions.height > layout_height) { 
	  layout_height = img_dimensions.height;
	}
    $('zoom-layout').setStyle({'width' : (viewport_dimensions.width - 2) + 'px',
                               'height' : layout_height + 'px'});
    $('zoom-layout').observe('click', Bordenave.Zoom.close.bindAsEventListener({"index" : obj.index}));
    if (Bordenave.Zoom.observing !== obj.index) {
      if (Bordenave.Zoom.observing && typeof Bordenave.Zoom.imgs_cached[Bordenave.Zoom.observing].loadedEvent == 'function')
        Event.stopObserving(window, 'resize', Bordenave.Zoom.imgs_cached[Bordenave.Zoom.observing].loadedEvent);
    
      Event.observe(window, 'resize', Bordenave.Zoom.imgs_cached[obj.index].loadedEvent);
    }
    Bordenave.Zoom.observing = obj.index;
    if (!Bordenave.Zoom.list) return;
    $('zoom-contener').appendChild(new Element('p', {'id' : 'previous'}));
    $('zoom-contener').appendChild(new Element('p', {'id' : 'next'}));
  	$('zoom-contener').appendChild(new Element('p', {'id' : 'fermer'}));
  	$('zoom-contener').appendChild(new Element('p', {'id' : 'titre'}));
    var ap = new Element('a', {'href' : 'javascript:void(0);'}).observe('click', Bordenave.Zoom.rotate);
    ap.innerHTML = 'Pr�c�dent';
	  var ax = new Element('a', {'href' : 'javascript:void(0);'}).observe('click', Bordenave.Zoom.close.bindAsEventListener({"index" : obj.index}));
    ax.innerHTML = 'Fermer';
    var an = new Element('a', {'href' : 'javascript:void(0);'}).observe('click', Bordenave.Zoom.rotate);
    an.innerHTML = 'Suivant';
    $('previous').appendChild(ap);
    $('next').appendChild(an);
  	$('fermer').appendChild(ax);

    var position = Bordenave.Zoom.getPositionInList(Bordenave.Zoom.imgs_cached[obj.index].src);
    if (Bordenave.Zoom.hasPrevious(position)) {
      $('zoom-contener').down('#previous').show();
      $('zoom-contener').down('#previous a').action = Bordenave.Zoom.list[position - 1].readAttribute('path');
      var id =Bordenave.Zoom.isCached({'href' : Bordenave.Zoom.list[position - 1].readAttribute('path')});
      if (id === false) {
        id = Bordenave.Zoom.imgs_cached.push(new Image()) - 1;
        Bordenave.Zoom.imgs_cached[id].src = Bordenave.Zoom.list[position - 1].readAttribute('path');
      }
    } else $('zoom-contener').down('#previous').hide();
    if (Bordenave.Zoom.hasNext(position)) {
      $('zoom-contener').down('#next').show();
      $('zoom-contener').down('#next a').action = Bordenave.Zoom.list[position + 1].readAttribute('path');
      var id =Bordenave.Zoom.isCached({'href' : Bordenave.Zoom.list[position + 1].readAttribute('path')});
      if (id === false) {
        id = Bordenave.Zoom.imgs_cached.push(new Image()) - 1;
        Bordenave.Zoom.imgs_cached[id].src = Bordenave.Zoom.list[position + 1].readAttribute('path');
      }
    } else $('zoom-contener').down('#next').hide();
  },
  "isCached" : function (elm) {
    console.log(Bordenave.Zoom.imgs_cached);
    for (var k in Bordenave.Zoom.imgs_cached)
      if (typeof Bordenave.Zoom.imgs_cached[k] == 'object' && Bordenave.Zoom.imgs_cached[k].src === elm.href) return k;
    return false;
  },
  "close" : function (e) {
    if (Bordenave.Zoom.imgs_cached[this.index].loadedEvent)
      Event.stopObserving(window,'resize',Bordenave.Zoom.imgs_cached[this.index].loadedEvent);
    ['zoom-contener','zoom-layout'].each(Element.hide);
    $$('select').invoke('show');
  },
  "rotate" : function () {
    Bordenave.Effect.hide($('zoom-contener').down('img'), Bordenave.Zoom.load.bindAsEventListener({"elm":this}));
  },
  "rotateThumb" : function (elm) {
    if ($('zoom-thumb').src == $(elm).up('ul').down('li').down('img').readAttribute('path')){
      return false;
    }
    
    $('zoom-thumb').src = $(elm).id;
    $('zoom-link').writeAttribute({'data-grid':$(elm).readAttribute('data-grid')});
    //$('zoom-thumb').up('a').href = elm.readAttribute('path');
    
    Bordenave.Effect.show($('zoom-thumb'));
    return false;
  },
  "getPositionInList" : function (href) {
    for (var i = 0; i !=  Bordenave.Zoom.list.length; ++i) if (Bordenave.Zoom.list[i].href == href) return i;
    return Bordenave.Zoom.list.length - 1;
  },
  "hasNext" : function (position) {
    return Bordenave.Zoom.list.length - 1 != position;
  },
  "hasPrevious" : function (position) {
    return position != 0;
  }
};

Bordenave.Diaporama = Class.create(Kwo.Dialog, {

  initialize: function($super, opts) {
    this.name = "image_box";
    opts = opts || {}; 
    opts["width"] = 1024;
    opts["height"] = 705;
    if ("callback" in opts) {
      this.onCallback = function () {
        if (Object.isString()) {
          Kwo.go(opts["callback"]);
        }
        else {
          opts["callback"].call();
          this.close();
        }
      }
    }
    else {
      this.onCallback = function () {
        if ("onAuth" in Kwo) {
          Kwo.onAuth.call();
        }
        this.close();
      }
    }
    $super("/bordenave/modal.pictures/", {'logement': $('logement-id').readAttribute('data-id')}, opts);
  }
});


Bordenave.Effect = {
  "resize" : function (elm, new_dimensions, speed, callback, onComplete) {
    if (((elm.getWidth() + (speed * 2)) < new_dimensions.width && speed > 0)
        || ((elm.getWidth() + (speed * 2)) > new_dimensions.width && speed < 0)) elm.setStyle({top: (elm.offsetTop - speed) + 'px',
                                                                                               left: (elm.offsetLeft - speed) + 'px',
                                                                                               width: (elm.getWidth() + (speed * 2)) + 'px',
                                                                                               height: (elm.getHeight() + (speed * 2)) + 'px'});
    else {
      var style = {top: Math.round(elm.offsetTop - ((new_dimensions.height - elm.getHeight()) / 2)) + 'px',
        left: Math.round(elm.offsetLeft - ((new_dimensions.width - elm.getWidth()) / 2)) + 'px',
        width: new_dimensions.width + 'px',
        height: new_dimensions.height + 'px'};
      if (typeof onComplete == 'function') return onComplete(elm.setStyle(style));
      return elm.setStyle(style);
    }
    new PeriodicalExecuter(function(pe) { pe.stop(); Bordenave.Effect.resize(elm, new_dimensions, callback(speed), callback, onComplete); }, 0.06);
  },
  "toggle" : function (elm, onComplete) {
    elm = $(elm);
    if (elm.visible()) this.hide(elm, function (node) { node.hide(); });
    else this.show(elm, onComplete);
  },
  "show" : function (elm, onComplete) {
    elm = $(elm).setOpacity(0);
    elm.show();
    Bordenave.Effect.appear(elm, 1, 0.2, function(speed){ return speed * 1.4; }, onComplete);
  },
  "hide" : function (elm, onComplete) {
    elm = $(elm).setOpacity(1);
    Bordenave.Effect.appear(elm, 0, -0.2, function(speed){ return speed * 1.4; }, onComplete);
  },
  "appear" : function (elm, max, speed, callback, onComplete) {
    if (((elm.getStyle('opacity') + speed) <= max && speed > 0)
        || ((elm.getStyle('opacity') + speed) > max && speed < 0) ) elm.setOpacity(elm.getStyle('opacity') + speed);
    else {
      if (typeof onComplete == 'function') return onComplete(elm.setOpacity(max));
      return elm.setOpacity(max);
    }
    new PeriodicalExecuter(function(pe) { pe.stop(); Bordenave.Effect.appear(elm, max, callback(speed), callback, onComplete); }, 0.06);
  }
};

Bordenave.Tooltip = {

  "elt": null,

  "hide": function(anchor, id) {
    document.stopObserving("mousemove", Bordenave.Tooltip.onMouseMove);
    Bordenave.Tooltip.elt.hide();
  },

  "show": function(anchor, id) {
    anchor = $(anchor);
    Bordenave.Tooltip.elt = id === undefined
                    ? anchor.previous(".kwo-tooltip")
                    : $(id);
    document.observe("mousemove", Bordenave.Tooltip.onMouseMove);
    Bordenave.Tooltip.elt.show();
    if (window.event) Bordenave.Tooltip.onMouseMove(window.event, anchor);
  },

  "onMouseMove": function(e) {
	var dim = document.viewport.getDimensions();
    var pos = document.viewport.getScrollOffsets();
    var size = Bordenave.Tooltip.elt.getDimensions();
    var top = (Event.pointerY(e) + 10);
    var left = (Event.pointerX(e) + 10);
	if($('boite_contact_box')){
		var box = $('boite_contact_box');
		var leftbox = box.cumulativeOffset().left;
		var topbox = box.cumulativeOffset().top;
		var decalageleft = left - leftbox;
		var decalagetop = top - topbox;
	}
	
	if (left + size["width"] > dim["width"] + pos["left"]) {
      left -= (left + size["width"]) - (dim["width"] + pos["left"]) + 5;
    }
    if (top + size["height"] > dim["height"] + pos["top"]) {
      top -= size["height"] + 20;
    }
	if($('abso_boite_contact')){
    	Bordenave.Tooltip.elt.setStyle({"top": + decalagetop + "px", "left": decalageleft + "px"});
	}
	else{
		Bordenave.Tooltip.elt.setStyle({"top": top + "px", "left": left + "px"});
	}
  }
};
/*
Bordenave.Cart = {
  'getItem' : function (items) {
		var records = [];
		items.each(function (elm) { records.push($F(elm)); });
		Bordenave.Cart.addPurchase(15902, records);
  },
  'addPurchaseWeeks' : function (model_id, record) {
    var ids = record.value;
    var records = ids.split('-');
    var args = {"model_id": model_id, "records[]": records, 'quantity':1};
    Kwo.exec("/bordenave/cart.purchase.add", args, {"callback": Bordenave.Cart.onPurchaseCallback});
  },
	'onPurchaseWeeksCallback' : function (model_id, records) {
    
  },
	'addPurchase' : function (model_id, records) {
    var args = {"model_id": model_id, "records[]": records, 'quantity':1};
    Kwo.exec("/bordenave/cart.purchase.add", args, {"callback": Bordenave.Cart.onPurchaseCallback});
  },
  "onPurchaseCallback" : function(h) {
    if (h["error"] >= 1) {
      Kwo.error(h["result"]["msg"]);
      return ;
    }
    if ($("cart-widget")) {
      Kwo.exec("/widget.cart", null, {"container": "cart-widget"});
    }
    Kwo.warn(h["result"]["callback_msg"]);
  },
  "update" : function (elm) {
    var inputs = $(elm).up('form').select('input');
    var flag  = false;
    var msg='';
    inputs.each(function (node) {
      quantity = parseInt($F(node));
     if(node.hasClassName('bouteilles')) {
       if (quantity%6 > 0) {
         node.value = Math.ceil(quantity / 6) * 6;
         flag = true;
       }
     }
    });
    if (flag) {
      msg+='Les bouteilles sont vendues par 6, nous avons donc arrondis votre s�lection au multiple de 6 sup�rieur.';
    }
    if(msg!=''){
      alert(msg);
    }
    Kwo.Cart.update(inputs);
    if ($("cart-widget")) {
     // Kwo.exec("/widget.cart", null, {"container": "cart-widget"});
    }
  }
}
*/
document.observe('dom:loaded', Bordenave.init);

