
$(function(){endecaSearch.init();});var endecaSearch={fetchedQuickViews:Array,carousel_tab:Array,init:function(){endecaSearch.closeMenus();lis=document.getElementsByTagName('LI');for(var i=0;i<lis.length;i++){if(lis[i].className.match("more-link")){var moreLink=utils.findChildNode(lis[i]);moreLink.onclick=endecaSearch.openMenu;}}
var advanceSearchTabs;if($('#search-forms').length>0){advanceSearchTabs=$('#search-forms').tabs();$('input:radio[name=searchType]:checked').parents('li').find('a').click();$('input:radio[name=searchType]').click(function(e){$(e.target).parents('li').find('a').click();});$('#search-forms ul#search-tabs a').click(function(e){$(e.target).parents('li').find(':radio').attr('checked',true);});}
if(document.getElementById("comparison-form")){var compareForm=document.getElementById("comparison-form");compareForm.onsubmit=endecaSearch.validateCompareForm;}
if($('form.eincentive-award-form').length>0)
{$('form.eincentive-award-form').submit(endecaSearch.validate_eIncentive);}
if(document.getElementById("availability-filter")){document.getElementById("availability-filter").onchange=endecaSearch.searchRefiner;}
if(document.getElementById("currency")){document.getElementById("currency").value=document.getElementById("current-currency").value;document.getElementById("currency").onchange=endecaSearch.searchRefiner;}
if($('#recordsPerPage').length>0)
{$('#recordsPerPage').change(endecaSearch.searchRefiner);}
if(document.getElementById("guided-nav")){if(document.getElementById("guided-nav")){effects.initializeExpandableContent("ul","h4");effects.initializeExpandableContent("div","h2");}
YAHOO.util.Event.on(document.getElementById("guided-nav-items"),"click",endecaSearch.guidedNavFilter);var navCheckBoxes=YAHOO.util.Dom.getElementsByClassName("guided-nav-control");for(var p=0;p<navCheckBoxes.length;p++){if(YAHOO.util.Dom.hasClass(navCheckBoxes[p],"selected-refinement")){navCheckBoxes[p].checked=true;}
else{navCheckBoxes[p].checked=false;}}}
if(document.getElementById("gs_edit-search-form")){effects.initializeExpandableContent("div","h2");}
var propertyResults=$("#property-results");if(propertyResults.length>0){endecaSearch.quickViewTabs();}
if(document.getElementById("switch-to-redemption")){$('#switch-to-redemption').click(endecaSearch.switchToRedemption);}
if(document.getElementById("switch-to-cash")){$('#switch-to-cash').click(endecaSearch.switchToCash);}
if(document.getElementById("edit-search-form")){effects.initializeExpandableContent("div","h3");effects.initializeExpandableContent("form","h2");var rewardsSection=document.getElementById("hidden-rewards-container");var rewardsTrigger=document.getElementById("hidden-rewards-trigger");var specialRatesSection=document.getElementById("hidden-special-rates-container");var specialRatesTrigger=document.getElementById("hidden-special-rates-trigger");if(document.getElementById("useRewardsPoints")){if(document.getElementById("useRewardsPoints").checked){rewardsSection.style.display="block";rewardsTrigger.onclick=effects.hideContent;rewardsTrigger.className="expanded";}}
if(document.getElementById("marriottRewardsNumber")){if(document.getElementById("marriottRewardsNumber").value!=""){rewardsSection.style.display="block";rewardsTrigger.onclick=effects.hideContent;rewardsTrigger.className="expanded";}}
if(document.getElementById("none")){if(!document.getElementById("none").checked){specialRatesSection.style.display="block";specialRatesTrigger.onclick=effects.hideContent;specialRatesTrigger.className="expanded";}}}
if(document.getElementById("compare-page-container")){effects.matchHeight('hotel-info');effects.matchHeight('org');effects.matchHeight('rate-info');effects.alignBottom('rate-info');effects.matchHeight('compare-column');}
if(document.getElementById("results-header"))
{var resultsHeaderHeight=document.getElementById("results-header").offsetHeight;var resultsHeaderPosition=YAHOO.util.Dom.getStyle("results-header","position");if(resultsHeaderHeight>32&&resultsHeaderPosition=="absolute")
{document.getElementById("page-container").style.paddingTop="52px";document.getElementById("page-container").style.background="url(/Images/CSS_Backgrounds/cccccc_1x1.gif) 0 52px repeat-x";}}},openMenu:function(){endecaSearch.closeMenus();var listItem=utils.findParentNode(this);listItem.style.display="none";while(listItem.tagName=='LI'){listItem=utils.findPreviousNode(listItem);if(!listItem){return false;}
listItem.style.display="block";}},closeMenus:function(){uls=document.getElementsByTagName('UL');for(var i=0;i<uls.length;i++){if(uls[i].className.match("collapsable-menu")){var listItem=utils.findChildNode(uls[i]);var count=1;var menuSize=6;var listParent=utils.findParentNode(uls[i]);if(utils.findParentNode(uls[i]).id=="guided-nav"){var menuSize=3;}
while(listItem!=null){if(count>menuSize){listItem.style.display="none";}
listItem=utils.findNextNode(listItem);count++;}}}
lis=document.getElementsByTagName('LI');for(var i=0;i<lis.length;i++){if(lis[i].className.match("more-link")){lis[i].style.display="block";}}},quickViewTabs:function(){$('.property-record-tabs a').each(function(index){var elementId=$(this).attr("id");$(this).attr("href","#"+elementId.replace('link','tab'));});$('.property-record-tabs li:first-child').each(function(index){$(this).removeClass("active-tab");});$('.property-record-tabs li a').attr("tabindex",-1);var tabs=$('.property-record-view').tabs();$(tabs).find('.ui-tabs-selected a').attr("tabindex",0);$(tabs).bind('tabsselect',function(event,ui){if(ui.index!=0){var elementId=$(ui.tab).attr("id");var start=elementId.lastIndexOf("-");var marshaCode=elementId.substring(start+1);endecaSearch.loadTabContent(marshaCode);$(this).focus();}});$(".property-record-tabs li").bind('keydown',function(event){if($(event.target).is("a"))
{var selection=null;var liobj=$(event.target).parent();switch(event.keyCode){case 37:case 38:selection=$(liobj).prev('li').find('a');if(!selection.length)
selection=$(liobj).siblings('li:last').find('a');break;case 39:case 40:selection=$(liobj).next('li').find('a');if(!selection.length)
selection=$(liobj).siblings('li:first').find('a');break;}
if(selection!=null){event.stopPropagation();event.preventDefault();$(liobj).find('a').attr("tabindex",-1);$(selection).attr("tabindex",0);$(selection).focus();}}});$(".property-record-tabs li a").bind('click',function(event){var parentId=$(event.target).parents('div').attr('id');var start=parentId.lastIndexOf("-");var marshaCode=parentId.substring(start+1);if($(event.target).hasClass(".photos-link")&&typeof(endecaSearch.carousel_tab[marshaCode])=="object"){endecaSearch.carousel_tab[marshaCode].show();}
if($(event.target).is("a"))
{var listaobj=$(event.target);if($(listaobj).attr("tabindex")!=0){$(listaobj).parent().siblings().find('a').attr("tabindex",-1);$(listaobj).attr("tabindex",0);}
$(listaobj).focus();event.stopPropagation();event.preventDefault();}});$(".property-record-tabs").bind('keypress',function(event){if($(event.target).is("a"))
{var liaobj=$(event.target);event.preventDefault();if(event.which==32||event.which==13){$(liaobj).click();}}});},loadTabContent:function(quickViewMarsha){var quickViewToShow=$("#property-record-info-"+quickViewMarsha);var siteLocale=$("#site-locale").val();var loadingText=$("#loading-text").val();var logId=$("#property-record-view-"+quickViewMarsha+"-live-region");var loadedText=logId.html();if(!endecaSearch.fetchedQuickViews[quickViewMarsha]){var vData="vData=expandQuickView="+quickViewMarsha+"; path=/";document.cookie=vData;quickViewToShow.addClass("loading");endecaSearch.fetchedQuickViews[quickViewMarsha]=true;logId.html(loadingText);HotelQuickViewRemoteService.retrievePropertyDetail(quickViewMarsha,siteLocale,function(data){if(data=={}){endecaSearch.fetchedQuickViews[quickViewMarsha]=false;return true;}
$("#"+quickViewMarsha+"-address-line-1").html(data.address.addressLine1);$("#"+quickViewMarsha+"-address-line-2").html(data.address.addressLine2);$("#"+quickViewMarsha+"-address-city").html(data.address.city);$("#"+quickViewMarsha+"-address-state").html(data.address.stateCode);$("#"+quickViewMarsha+"-address-country").html(data.address.country);$("#"+quickViewMarsha+"-address-postal-code").html(data.address.postalCode);$("#"+quickViewMarsha+"-phone-number").html(data.address.phoneNumber);$("#"+quickViewMarsha+"-description").html(data.propertyPromoShortDesc);if(typeof data.businessMeetingsVO.highlightsInfoList[0]!='undefined'){$("#"+quickViewMarsha+"-business-meetings").html(data.businessMeetingsVO.highlightsInfoList[0]);}else{$("#"+quickViewMarsha+"-business-meetings").css("display","none");}
if(typeof data.socialEventsVO.highlightsInfoList[0]!='undefined'){$("#"+quickViewMarsha+"-social-events-weddings").html(data.socialEventsVO.highlightsInfoList[0]);}else{$("#"+quickViewMarsha+"-social-events-weddings").css("display","none");}
$("#"+quickViewMarsha+"-social-events-weddings").html(data.socialEventsVO.highlightsInfoList[0]);$("#"+quickViewMarsha+"-is-driving-direc-support").html(data.drivingDirectionsSupportedCountry);if(data.airportVOlist.length>0){$("#"+quickViewMarsha+"-airport-name").html(data.airportVOlist[0].airportFullName);$("#"+quickViewMarsha+"-airport-code").html(data.airportVOlist[0].airportCode);$("#"+quickViewMarsha+"-airport-directions").html(data.airportVOlist[0].hotelDrivingDirections);$("#"+quickViewMarsha+"-airport-alternate").html(data.airportVOlist[0].airAlternateTransport);$("#"+quickViewMarsha+"-airport-bus").html(data.airportVOlist[0].busServiceDescription);$("#"+quickViewMarsha+"-airport-subway").html(data.airportVOlist[0].subwayServiceDescription);$("#"+quickViewMarsha+"-airport-taxi").html(data.airportVOlist[0].taxiServiceDescription);}else{$(".airport-name").css("display","none");}
if(!(data.airportVOlist.length>1)){$("#"+quickViewMarsha+"-more-airports").css("display","none");}
var parkingInfo="";if(data.parkingVO.onsiteParkingDesc!=null){parkingInfo=parkingInfo+data.parkingVO.onsiteParkingDesc;}
if(data.parkingVO.valetParkingDesc!=null){if(parkingInfo!=""){parkingInfo=parkingInfo+"; ";}
parkingInfo=parkingInfo+data.parkingVO.valetParkingDesc;}
if(data.parkingVO.offsiteParkingDesc!=null){if(parkingInfo!=""){parkingInfo=parkingInfo+"; ";}
parkingInfo=parkingInfo+data.parkingVO.offsiteParkingDesc;}
if(data.parkingVO.additionalParkingInfo!=null){if(parkingInfo!=""){parkingInfo=parkingInfo+"; ";}
parkingInfo=parkingInfo+data.parkingVO.additionalParkingInfo;}
if(parkingInfo==""){$("#"+quickViewMarsha+"-parking-container").css("display","none");}
else{$("#"+quickViewMarsha+"-parking-info").html(parkingInfo);}
var drivingDirectionLink=$("#"+quickViewMarsha+"-driving-directions-link")
if(drivingDirectionLink.length>0&&!data.drivingDirectionsSupportedCountry){document.getElementById(quickViewMarsha+"-driving-directions-link").style.display="none";}
if(data.photoVO!=""&&data.photoVO.length>1){var imagePath=imgPath;var photoList=quickViewMarsha+"-carousel-list";var imageList=[];var urlList=[];var altList=[];for(var i=0;i<data.photoVO.length;i++){imageList.push(imagePath+data.photoVO[i].thumbnailImageFile);urlList.push(data.photoVO[i].photoTourPopupPgURL);altList.push(data.photoVO[i].imageAltTag);};var carouselObj={imgPathList:imageList,urlList:urlList,altTextList:altList};var carouselId=quickViewMarsha+"-carousel";var previousButton=quickViewMarsha+'-prev-arrow';var nextButton=quickViewMarsha+'-next-arrow';var carousel=new Carousel(carouselId,{prevElement:previousButton,nextElement:nextButton},carouselObj);endecaSearch.carousel_tab[quickViewMarsha]=carousel.getCarouselObject();};var businessMeetings=$("#"+quickViewMarsha+"-business-meetings");if(businessMeetings.length>0){businessMeetings.html(businessMeetings.text());}
var socialEventsWeddings=$("#"+quickViewMarsha+"-social-events-weddings");if(socialEventsWeddings.length>0){socialEventsWeddings.html(socialEventsWeddings.text());}
var overviewAmenitiesLists=$("#"+quickViewMarsha+"-overview-amenities");overviewAmenitiesLists.each(function(){var totalHotelAmenities=0;var overviewHotelAmenities="";for(i=0;i<data.featureList.length;i++){var newAmenity="";var availableClass="";if($(this).attr('class').indexOf(data.featureList[i].groupKey)!=-1){if(totalHotelAmenities==0){newAmenity+="<ul class=\"amenities-list\">";}
if(data.featureList[i].available){availableClass=" class=\"available\"";}
newAmenity+="<li"+availableClass+">"+data.featureList[i].details[0]+"</li>";overviewHotelAmenities+=newAmenity;totalHotelAmenities++;}}
if(totalHotelAmenities>6){$(this).append(overviewHotelAmenities+"</ul>");}});var amenitiesLists=$("."+quickViewMarsha+'-amenities');for(i=0;i<data.featureList.length;i++){amenitiesLists.each(function(){if($(this).attr('class').indexOf(data.featureList[i].groupKey)!=-1){var newAmenity=$("<li></li>");if(data.featureList[i].available){newAmenity.addClass("available");}
newAmenity.append(data.featureList[i].details[0]);$(this).append(newAmenity);}});}
quickViewToShow.removeClass("loading");logId.html(loadedText);var vData="vData=; path=/";document.cookie=vData;});}
return false;},searchRefiner:function(){var attribute=this.name;var attributesValue=this.value;if(attributesValue!=""){window.location="/search/refineSearch.mi?"+attribute+"="+attributesValue;}},guidedNavFilter:function(e){var guidedNavTarget=YAHOO.util.Event.getTarget(e);if(guidedNavTarget.className.match("guided-nav-control")){var guidedNavLinkId="nav-link-"+guidedNavTarget.id.substring(10,guidedNavTarget.id.length);var guidedNavLink=document.getElementById(guidedNavLinkId);window.location=guidedNavLink.href;}
else if(guidedNavTarget.tagName=="A"){var guidedNavCheckboxId="nav-check-"+guidedNavTarget.id.substring(9,guidedNavTarget.id.length);if(document.getElementById(guidedNavCheckboxId)){var guidedNavCheckbox=document.getElementById(guidedNavCheckboxId);guidedNavCheckbox.checked=true;}
return true;}},validateCompareForm:function()
{var checkboxGroup=this.elements["compareHotels"];var numberOfSelected=0;var vsCompareHotels=new String();if(checkboxGroup.length!=null){var checkboxGroupSize=checkboxGroup.length;for(counter=0;counter<checkboxGroupSize;counter++){if(checkboxGroup[counter].checked){numberOfSelected++;if(numberOfSelected>1){vsCompareHotels+="_";}
vsCompareHotels+=checkboxGroup[counter].value.substring(0,5);}}}
else{var checkboxGroupSize=1;for(counter=0;counter<checkboxGroupSize;counter++){if(checkboxGroup.checked){numberOfSelected++;vsCompareHotels+=checkboxGroup.value.substring(0,5);}}}
var groupSalesSearch=document.getElementById("group-sales-search").value;if(numberOfSelected==0){var minimumErrorMsg=document.getElementById("minimum-message").value;alert(minimumErrorMsg);return false;}
else if(groupSalesSearch=="true"){if(numberOfSelected>3){var maximumErrorMsg=document.getElementById("group-sales-maximum-message").value;alert(maximumErrorMsg);return false;}}
else if(numberOfSelected>4){var maximumErrorMsg=document.getElementById("maximum-message").value;alert(maximumErrorMsg);return false;}
else{this.vsCompareHotels.value=vsCompareHotels;this.submit();return true;}},getDate:function(daySelectBox,monthAndYearSelectBox,extraDays){var date=null;if(daySelectBox.selectedIndex!=0&&monthAndYearSelectBox.selectedIndex!=0)
{var dateArray=monthAndYearSelectBox.value.split("/");var day=Math.min(daySelectBox.value,endecaSearch.daysInMonth(dateArray[0]-1,dateArray[1]));date=new Date(dateArray[1],dateArray[0]-1,day+extraDays);}
return date;},setDate:function(daySelectBox,monthAndYearSelectBox,dateField,date){var x=0;while(x<daySelectBox.length){if(daySelectBox.options[x].value==date.getDate()){daySelectBox.selectedIndex=x;x=daySelectBox.length;}
else{x++;}}
x=0;var monthYear=(date.getMonth()+1)+"/"+date.getFullYear();while(x<monthAndYearSelectBox.length){if(monthAndYearSelectBox.options[x].value==monthYear){monthAndYearSelectBox.selectedIndex=x;x=monthAndYearSelectBox.length;}
else{x++;}}
dateField.value=(date.getMonth()+1)+"/"+date.getDate()+"/"+date.getFullYear();},daysInMonth:function(month,year){return 32-new Date(year,month,32).getDate();},buildMarriottBrandsVSParam:function(form){var checkboxGroup=form.elements["marriottBrands"];var checkboxGroupSize=checkboxGroup.length;var allCheckboxIndex=checkboxGroup.length-1;var allCheckbox=checkboxGroup[allCheckboxIndex];var vsParam=new String();if(allCheckbox.checked)
{vsParam+="All";}
else
{var numberOfSelected=0;for(counter=0;counter<checkboxGroupSize;counter++)
{if(checkboxGroup[counter].checked)
{numberOfSelected++;if(numberOfSelected>1)
{vsParam+="_";}
vsParam+=checkboxGroup[counter].value;}}}
return vsParam;},validate_eIncentive:function(){var objForm=this;var URI="/search/submitSearch.mi?"
var queryStringParams;var incentiveType_Number=$(objForm).find(":input[name=displayableIncentiveType_Number]").val();if((incentiveType_Number!='')&&(($(objForm).find(":input[name=fromDate]").val()==null||$(objForm).find(":input[name=fromDate]").val()=='')||($(objForm).find(":input[name=toDate]").val()==null||$(objForm).find(":input[name=toDate]").val()==''))){alert('Please enter check-in and check-out dates when searching by award number or type');return false;}
var city=$(objForm).find(":input[name=destinationAddress.city]").val();var state=$(objForm).find(":input[name=destinationAddress.stateProvince]").val();var country=$(objForm).find(":input[name=destinationAddress.country]").val();var fromDate=$(objForm).find(":input[name=fromDate]").val();var toDate=$(objForm).find(":input[name=toDate]").val();var roomCount=$(objForm).find(":input[name=roomCount]").val();var numGuests=$(objForm).find(":input[name=guestCount]").val();var brand=$(objForm).find(":input[name=marriottBrands]").val();var marriottRewardsNumber=$(objForm).find(":input[name=marriottRewardsNumber]").val();queryStringParams="searchType=InCity&incentiveType_Number="+incentiveType_Number+"&destinationAddress.city="+city+"&destinationAddress.stateProvince="+state+"&destinationAddress.country="+country+"&fromDate="
+fromDate+"&toDate="+toDate+"&roomCount="+roomCount+"&guestCount="+numGuests+"&marriottRewardsNumber="
+marriottRewardsNumber+"&marriottBrands="+brand;URI=URI+queryStringParams;window.open(URI,"_self");return(false);},switchToCash:function(e){e.preventDefault();var formObj=$('#edit-search-form');$(formObj).find('#useRewardsPoints').attr('checked',false).end().submit();},switchToRedemption:function(e){e.preventDefault();var formObj=$('#edit-search-form');$(formObj).find(':input[name=corporateCode]').val("").end().find(':input[name=displayableIncentiveType_Number]').val('').end().find('#none').attr('checked','true').end().find('#useRewardsPoints').attr('checked',true).end().submit();}}