⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 multirates.js

📁 能够实现宾馆管理的基本功能。 例如删除
💻 JS
📖 第 1 页 / 共 3 页
字号:
      }    }    return null;  },  /**   * Vérifie si le clic sur une option de tri nécessite un rechargement de l'iframe   *    * @param  input  Element input cliqué par le visiteur    */  dealSorter: function(input)  {    if(input.value == MultiRates.getTarifsIframeParam('sort'))    {      return;    }    else    {      $('multirates_tabs').getElementsBySelector('li a').each(        function(elem)         {          elem.href = elem.href.replace("sort="+MultiRates.getTarifsIframeParam('sort'), "sort="+input.value);        }      );      MultiRates.loadTarifsIframe({sort: input.value});    }  },  /**   * Sélection d'une chambre : mise en avant sur la page, rafraichissement des iframes   */  selectRoom: function(reload)  {    for (var i = 0, j = $("liste-chambres").getElementsByTagName("LI").length; i < j; i++)    {      // On raffiche la  chambre précédemment sélectionée       $("liste-chambres").getElementsByTagName("LI")[i].style.height="auto";//réaffichage de la chambre cachée dans la liste      $("liste-chambres").getElementsByTagName("LI")[i].style.overflow="auto";//réaffichage de la chambre cachée dans la liste      if($("liste-chambres").getElementsByTagName("LI")[i].getAttribute("code") == MultiRates.beanRoomsListe[MultiRates.tab_type].selectedRoomCode)      {        liSelected = $("liste-chambres").getElementsByTagName("LI")[i];      	 $("liste-chambres").getElementsByTagName("LI")[i].style.height="0px";// On cache de la liste la chambre sélectionnée ok pour IE         $("liste-chambres").getElementsByTagName("LI")[i].style.overflow="hidden";// On cache de la liste la chambre sélectionnée ok pour IE        // On garde le code de la chambre sélectionnée        selectedRoom = MultiRates.beanRoomsListe[MultiRates.tab_type][i];        MultiRates.roomsSelectedIndex = i;              // On renseigne l'entête avec les infos de la chambre sélectionnée        if($$("#chambre-entete h2").size())        {          $$("#chambre-entete h2")[0].innerHTML = selectedRoom.label;        }        if($$("#chambre-entete img").size() && selectedRoom.pictureUrl != null && selectedRoom.pictureUrl.length)        {          $$("#chambre-entete img")[0].src = selectedRoom.pictureUrl;          $$("#chambre-entete img")[0].removeClassName("hide");        }        else if($$("#chambre-entete img").size())        {          //$$("#chambre-entete img")[0].src = "";          $$("#chambre-entete img")[0].addClassName("hide");          }        if($$("#chambre-entete p").size() && selectedRoom.description != null && selectedRoom.description.length)        {          $$("#chambre-entete p")[0].innerHTML = selectedRoom.description;          $$("#chambre-entete p")[0].removeClassName("hide");        }        else if($$("#chambre-entete p").size())        {          $$("#chambre-entete p")[0].innerHTML = "";          $$("#chambre-entete p")[0].addClassName("hide");          }      }    }          // On modifie les urls des onglets    var maReg = new RegExp("packCode=.*&", "") ;    if(typeof(MultiRates.beanRoomsListe.packages) != "undefined"        && MultiRates.beanRoomsListe.packages != null    )    {        if(            typeof(MultiRates.beanRoomsListe.packages.selectedRoomCode) == "undefined"            || MultiRates.beanRoomsListe.packages.selectedRoomCode == null        )        {          var packCodePackage = MultiRates.beanRoomsListe.packages[0].code;        }        else        {          var packCodePackage = MultiRates.beanRoomsListe.packages[0].code;        }        document.getElementById("packages").getElementsByTagName("a")[0].href = document.getElementById("packages").getElementsByTagName("a")[0].href.replace(maReg, "packCode="+packCodePackage+"&");    }    if(        (typeof(MultiRates.beanRoomsListe.nopackages.selectedRoomCode) != "undefined"        && MultiRates.beanRoomsListe.nopackages.selectedRoomCode != null)            )    {      var packCodeRooms = MultiRates.beanRoomsListe.nopackages.selectedRoomCode;    }    else if(MultiRates.beanRoomsListe.nopackages.size() != 0) {        var packCodeRooms = MultiRates.beanRoomsListe.nopackages[0].code;    }        document.getElementById("no-packages").getElementsByTagName("a")[0].href = document.getElementById("no-packages").getElementsByTagName("a")[0].href.replace(maReg, "packCode="+packCodeRooms+"&");    if(reload === true)    {      // On modifie la source de l'iframe     MultiRates.loadTarifsIframe({packCode: MultiRates.beanRoomsListe[MultiRates.tab_type].selectedRoomCode});    }  },  /**   * Charge l'iframe "tarifs" avec les paramètres passés   *    * @param   objet  Paire de paramètre / valeur à ajouter à l'url   * @example MultiRates.loadTarifsIframe({param1: "value1", param2: "value2"... });   */  loadTarifsIframe: function()  {    var iframeParams = {      type: MultiRates.tab_type,      packCode: "",      sort: roomsListViewBean.sort    };    if(MultiRates.isTarifsIframeLoaded() === true)    {      var loadedParams = MultiRates.getTarifsIframeParams();      for (var i in loadedParams)      {        iframeParams[i] = loadedParams[i];      };    }    if(arguments.length > 0 && typeof(arguments[0]) === "object")    {      for(var i in arguments[0])      {        iframeParams[i] = arguments[0][i];      }    }    var href_iframe = document.location.protocol;    href_iframe += "//";    href_iframe += document.location.hostname+"/";    href_iframe += "reservation/iframe-multirates.jsp?";    var tabParams = [];    for(var i in iframeParams)    {      tabParams.push(i+"="+iframeParams[i]);    }    href_iframe += tabParams.join("&");    $("tarifs").contentWindow.location.href = href_iframe;  },  /**   * Chargement des chambres correspondnat au lien "Autres chambres disponibles"   * La première à mettre en avant est sélectionnée   */  loadRooms: function()  {    if(typeof(MultiRates.beanRoomsListe) == "undefined")    {      MultiRates.beanRoomsListe = {        nopackages: roomsListViewBean.rooms,        packages: roomsListViewBean.packages      };            //Par défaut, on choisit le premier onglet      if(MultiRates.beanRoomsListe.nopackages.size() != 0)      {        MultiRates.tab_type = "nopackages";      }      else      {        document.getElementById("no-packages").style.display = "none";        MultiRates.tab_type = "packages";      }      if(roomsListViewBean.packages == null)      {        document.getElementById("packages").style.display = "none";      }    }    // On prépare le contenu de la popup Descriptif    var multi = MultiRates.beanRoomsListe[MultiRates.tab_type];    if(typeof(multi.selectedRoomCode) == "undefined" || multi.selectedRoomCode == null)    {      multi.selectedRoomCode = multi[0].code;    }    /* On charge le contenu de la popup "Descriptif des chambres" */      if (             typeof(multi) != "undefined"             && multi != null             && multi.size()     )    {      var html = '';         var len =  multi.size();      for(i=0; i < len ; i++)      {        /** Dans les lignes suivantes, on teste la présence des variables à afficher         *  puis on modifie la structure en conséquence (ajout classe no-detail si aucune précision)         */        var isThumb = false;        var tarifCrt = multi[i] ; // MultiRates.beanRoomsListe[MultiRates.tab_type][i];        if ( tarifCrt.pictureUrl!=null && tarifCrt.pictureUrl.length )        {          isThumb = true;        }        var isDescription = false;        if ( tarifCrt.description!=null && tarifCrt.description.length )        {          isDescription = true;        }        var isZoom = false;        if(tarifCrt.zoom!=null && tarifCrt.zoom.length)        {          isZoom = true;        }        var isVisite = false;        if(tarifCrt.virtualVisitUrl!=null && tarifCrt.virtualVisitUrl.length)        {          var isVisite = true;        }        var isDetails = false;        if(          isThumb === true          || isDescription === true          || isZoom === true          || isVisite === true        )        {          var isDetails = true;        }        var htmlChambre = "";        var classeLigne = '';        if(tarifCrt.code == multi.selectedRoomCode){            classeLigne = 'chambre chambre-selected';        }        else        {            classeLigne = 'autre-chambre';        }        if(isDetails === false)        {          classeLigne += ' no-detail';        }                htmlChambre+= '<li class="'+classeLigne+'">';        htmlChambre+= '<span class="extra-top"></span><h3>' + tarifCrt.label + '</h3>';        classPrix = 'prix-total' ;        if(tarifCrt.famillyOffer)        {          classPrix  += ' prix-famillyOffer';        }                htmlChambre+= '<p class="tarifs"><span class="'+classPrix +'">';        if(tarifCrt.free)        	htmlChambre+= I18N._('multirates','Complimentary');        else if(tarifCrt.onRequest)        	htmlChambre+= I18N._('multirates','OnRequest');        else {	        htmlChambre+= '<span class="' + class_technique + ' mtarif tarif">' + tarifCrt.price + '</span>&nbsp;';	        htmlChambre+= '<span class="mdevise devise">' + tarifCrt.currency + '</span>'	      }				htmlChambre+= '</span>';        if(tarifCrt.famillyOffer) htmlChambre+= '<span class="roomQuantity prix-famillyOffer">'+ I18N._('multirates','For 2 rooms') +'</span>' ;				                        htmlChambre+= '</p>';        htmlChambre+= '<div class="detail">';                /** Print thumb image **/        if ( isThumb === true )        {          htmlChambre+= '<img width="108" src="'+ tarifCrt.pictureUrl +'" alt="Room ' + tarifCrt.code + '">';        }        htmlChambre+= '<div>';                /** Print description **/        if (isDescription === true)        {          htmlChambre+= '<p>' + tarifCrt.description + '</p>';        }        if(          isZoom === true || isVisite === true        )        {          htmlChambre+= '<ul>';        }        /** Print "ZOOM" link to picture **/        if(isZoom === true)        {          htmlChambre+= '<li><a id="pictureUrl_'+ i +'" href="#" onclick="window.open(\'' + tarifCrt.zoom + '\'); return false;" class="pictureUrl">Zoom</a></li>';        }        /** Print link to virtual visit **/        if(isVisite === true)        {          htmlChambre+= '<li><a id="virtualVisitUrl_'+ i +'" href="#" onclick="window.open(\'' + tarifCrt.virtualVisitUrl + '\', \'_blank\',\'width=500, height=400, top=200, left=200 \'); return false;" class="virtualVisitUrl">Visite virtuelle</a></li>';        }        if(          isZoom === true || isVisite === true        )        {          htmlChambre+= '</ul>';        }        htmlChambre+= '</div></div><p class="submit"><span>';        htmlChambre+= '<a class="select-room" href="#" onclick="top.MultiRates.refreshFromListDetails(\''+ tarifCrt.code +'\'); top.Windows.close(\'POPUP_ID\'); return false">';        if(tarifCrt.code == multi.selectedRoomCode){            htmlChambre+= I18N._('multirates','Back to prices');        }        else        {            htmlChambre+= I18N._('multirates','See prices for this room');        }        htmlChambre+= '</a></span></p>';        htmlChambre+= '<span class="extra-bottom"></span></li>';                if(tarifCrt.code == multi.selectedRoomCode){            html = htmlChambre + html;        }        else        {            html = html + htmlChambre;        }      }      if($("old-desc-rooms")) $("old-desc-rooms").update(html);    }    if(multi != null && multi.size())    {      //On affiche dans la liste "autres chambres disponibles" TOUTES les chambres de l'hôtel      var ulRooms = $("liste-chambres");           if(ulRooms) {        ulRooms.innerHTML = "";        var li = "";        var len = multi.size() ;        for(i = 0; i < len; i++)        {              var tarifCrt = multi[i];              offer = multi[i] ; // MultiRates.beanRoomsListe[MultiRates.tab_type][i];              li += "<li code='"+ offer.code+"'";              if (offer.famillyOffer) {              	li += " class=\"family\"" ; $('family_legend').style.display ='block';              }              li +="><a href='#'><span class='desc'>";                  li += offer.label + "</span> <span class='prix'>";                  if(offer.free)                  	li += I18N._('multirates','Complimentary');                  else if(offer.onRequest)                  	li += I18N._('multirates','OnRequest');                  else                  	li += "<span class='"+class_technique+" mtarif'>"+ offer.price + "</span>*";                  if (offer.famillyOffer)              			li += "*" ;              li += "</span></a></li>";          }        ulRooms.innerHTML = li;        MultiRates.selectRoom(!MultiRates.isTarifsIframeLoaded());    }              }  },  /**   * Gère le clic sur une chambre de la liste "Autres chambres disponibles"   */  setRoomClick: function()  {    if($("chambre-et-tarif"))    {      Event.observe(        $("liste-chambres"),        "click",        function(e)        {         if(!e.target && e.srcElement) //Débuggage IE           {            e.target = e.srcElement;          }          var liSelected = e.target;         while(liSelected.nodeName != "LI" && liSelected.nodeName != "UL")         {           liSelected = liSelected.parentNode;         }          if(liSelected.nodeName == "LI")          {            MultiRates.beanRoomsListe[MultiRates.tab_type].selectedRoomCode = liSelected.getAttribute("code");            MultiRates.selectRoom(true);            Event.stop(e);          }        }.bind(this)      );

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -