
var homepage={init:function(){var brandSelected=false;var findTab=document.getElementById("find-hotel");var keywordTab=document.getElementById("keyword-search");var lookupTab=document.getElementById("lookup");var moreOptionsLink=document.getElementById("more-options");if(findTab){findTab.onclick=homepage.toggleSearchType;}
if(keywordTab){keywordTab.onclick=homepage.toggleSearchType;}
if(lookupTab){lookupTab.onclick=homepage.toggleSearchType;}
moreOptionsLink.onclick=homepage.moreOptions;if(document.getElementsByTagName){var buttons=document.getElementsByTagName('button');for(i=0;i<buttons.length;i++){buttons[i].onmouseover=homepage.changeButtonClass;buttons[i].onmouseout=homepage.changeButtonClass;}}
var sliderControl=document.getElementById("toggle-slider");sliderControl.onclick=homepage.toggleSlider;if(document.all){if(document.getElementById("brandsDirectory")){var sfEls=document.getElementById("brandsDirectory").getElementsByTagName("LI");for(var i=0;i<sfEls.length;i++){sfEls[i].onmouseover=function(){this.className+=" sfhover";}
sfEls[i].onmouseout=function(){this.className=this.className.replace(new RegExp(" sfhover\\b"),"");}}}}
for(i=0;i<document.forms.length;i++){for(j=0;j<document.forms[i].elements.length;j++){if(document.forms[i].elements[j].name=="destinationAddress.country"){document.forms[i].elements[j].onchange=homepage.countryChanged;}
else if(document.forms[i].elements[j].name=="destinationAddress.stateProvince"){document.forms[i].elements[j].onchange=homepage.stateChanged;}
else if(document.forms[i].elements[j].name=="marriottBrands"){document.forms[i].elements[j].onclick=homepage.brandsSelectionChanged;if(document.forms[i].elements[j].value!="all"&&document.forms[i].elements[j].checked){brandSelected=true;}}
else if(document.forms[i].elements[j].name=="clusterCode"||document.forms[i].elements[j].name=="useRewardsPoints"||document.forms[i].elements[j].name=="corporateCode"){document.forms[i].elements[j].onclick=homepage.clusterCodeChanged;}}}
for(var k=0;k<document.forms.length;k++){if(document.forms[k].id=="city-search-form"||document.forms[k].id=="keyword-form"){document.forms[k].onsubmit=homepage.validateSearchForm;if(document.getElementById("travel-agent-search-form")){document.forms[k].target="TravelAgentsPropSearchPopup";}}}
if(document.getElementById("quick-tools-trigger")){var quickToolsTrigger=document.getElementById("quick-tools-trigger");quickToolsTrigger.onclick=homepage.toggleQuickTools;YAHOO.util.Dom.addClass(quickToolsTrigger,"collapsed");controllersChildren=YAHOO.util.Dom.getChildrenBy(quickToolsTrigger,function(el){return el.tagName=='A';});for(j=0;j<controllersChildren.length;j++){controllersChildren[j].onclick=function(){return false;};}}
if(document.getElementById("homepage")&&brandSelected){homepage.toggleSlider.call(document.getElementById("toggle-slider"));}},toggleSlider:function(){var attributes={height:{to:160}};if(this.className=="close-slider"){var attributes={height:{to:0}};this.className="open-slider";}
else{this.className="close-slider";}
var anim=new YAHOO.util.Anim('brand-selection',attributes,.3);anim.animate();},toggleQuickTools:function(){var quickTools=document.getElementById("quick-tools");if(YAHOO.util.Dom.hasClass(quickTools,"active")){YAHOO.util.Dom.removeClass(quickTools,"active");}
else{YAHOO.util.Dom.addClass(quickTools,"active");}},toggleSearchType:function(){var hiddenForms=homepage.getElementsByClass("toggling-forms");var searchTabs=homepage.getElementsByClass("search-tab");var formToShow=this.id+"-form";for(var i=0;i<hiddenForms.length;i++){if(hiddenForms[i].id==formToShow){hiddenForms[i].style.display="block";}
else{hiddenForms[i].style.display="none";}}
for(var j=0;j<searchTabs.length;j++){if(searchTabs[j]==this){searchTabs[j].className="active-tab search-tab";}
else{searchTabs[j].className="inactive-tab search-tab";}}},changeButtonClass:function()
{var newButtonClass;var buttonClass=this.className;var buttonPattern=/-hover/;if(buttonPattern.test(buttonClass)){newButtonClass=buttonClass.replace('-hover','');}
else{newButtonClass=buttonClass.replace(buttonClass,buttonClass+'-hover');}
this.className=newButtonClass;},stateChanged:function(){if(this.name.match("destination")){if(this.selectedIndex==0){this.form.elements["destinationAddress.country"].selectedIndex=0;}
else{this.form.elements["destinationAddress.country"].value="US";}}
else if(this.name.match("origin")){if(this.selectedIndex==0){this.form.elements["originAddress.country"].selectedIndex=0;}
else{this.form.elements["originAddress.country"].value="US";}}},countryChanged:function(){if(this.name.match("destination")){if(this.value!="US"){this.form.elements["destinationAddress.stateProvince"].selectedIndex=0;}}
else if(this.name.match("origin")){if(this.value!="US"){this.form.elements["originAddress.stateProvince"].selectedIndex=0;}}},clusterCodeChanged:function(){var clusterCode=this.form.clusterCode;var corporateCodeButton=null;var corporateCodeBox=this.form.corporateCode;var incentivesButton=null;var incentivesBox=this.form.displayableIncentiveType_Number;for(var i=0;i<clusterCode.length;i++){if(clusterCode[i].value=="other"){corporateCodeButton=clusterCode[i];}}
if(this.name=="useRewardsPoints"){for(var i=0;i<clusterCode.length;i++){clusterCode[i].checked=false;}
corporateCodeBox.value="";}
else{if(this.form.useRewardsPoints){this.form.useRewardsPoints.checked=false;}
for(var i=0;i<clusterCode.length;i++){if(clusterCode[i]!=this){clusterCode[i].checked=false;}}
if(this==corporateCodeBox){corporateCodeButton.checked=true;}
else{if(this==corporateCodeButton){if(corporateCodeButton.checked==true){corporateCodeBox.focus();}
else{corporateCodeBox.value="";}}
else{corporateCodeBox.value="";}}}},brandsSelectionChanged:function(){var checkboxGroup=this.form.elements["marriottBrands"];var allCheckbox=checkboxGroup[checkboxGroup.length-1];if(this==allCheckbox){allCheckbox.checked=true;for(i=0;i<checkboxGroup.length;i++){if(checkboxGroup[i].value!="all"){checkboxGroup[i].checked=false;}}}
else{var isAnySelected=false;for(j=0;j<checkboxGroup.length-1;j++){if(checkboxGroup[j].checked){isAnySelected=true;allCheckbox.checked=false;}}
if(!isAnySelected){allCheckbox.checked=true;}}},moreOptions:function(){var form=document.getElementById("city-search-form");var queryString="?destinationAddress.city="+form.elements["destinationAddress.city"].value+"&destinationAddress.stateProvince="+form.elements["destinationAddress.stateProvince"].value+"&destinationAddress.country="+form.elements["destinationAddress.country"].value+"&fromDate="+form.elements["fromDate"].value+"&toDate="+form.elements["toDate"].value+"&roomCount="+form.elements["roomCount"].value+"&guestCount="+form.elements["guestCount"].value+"&marriottRewardsNumber="+form.elements["marriottRewardsNumber"].value+"&corporateCode="+form.elements["corporateCode"].value;var clusterGroup=form.elements["clusterCode"];for(i=0;i<clusterGroup.length;i++){if(clusterGroup[i].checked==true){queryString=queryString+"&clusterCode="+clusterGroup[i].value;}}
var brandsGroup=form.elements["marriottBrands"];for(i=0;i<brandsGroup.length;i++){if(brandsGroup[i].checked==true){queryString=queryString+"&marriottBrands="+brandsGroup[i].value;}}
if(form.elements["useRewardsPoints"]!=null&&form.elements["useRewardsPoints"].checked==true){queryString=queryString+"&useRewardsPoints=true";}
var URL=document.getElementById("more-options");URL.href=URL.href+queryString;window.location.href=URL.href;},validateSearchForm:function(){var form=this;var selectedRate=false;var selectedUseRewards=false;var groupRatesMessage=document.getElementById("groupMessage");var useRewardsPtsMessage=document.getElementById("useRewardsPtsMessage");if(this.id!='keyword-form'){var clusterCodeGroup=form.elements["clusterCode"];var useRewardsPoints=form.elements["useRewardsPoints"];if((useRewardsPoints)&&(useRewardsPoints.checked==true))
{selectedUseRewards=true;}
if(form.elements["clusterCode"]){for(i=0;i<form.elements["clusterCode"].length;i++){if((clusterCodeGroup[i].checked==true)&&(clusterCodeGroup[i].value!="")&&(clusterCodeGroup[i].value!="none")&&(clusterCodeGroup[i].value!="INT")){selectedRate=true;}}}
if(form.elements["roomCount"].value>=4)
{if(selectedRate)
{return confirm(groupRatesMessage.value);}
else if(selectedUseRewards)
{return confirm(useRewardsPtsMessage.value);}}}
if(selectedRate==true){if((form.elements["corporateCode"].value.toUpperCase()!="REW")&&(form.elements["corporateCode"].value.toUpperCase()!="P17")&&(form.elements["corporateCode"].value.toUpperCase()!="MRW")&&(form.elements["corporateCode"].value.toUpperCase()!="MXR")&&(form.elements["corporateCode"].value.toUpperCase()!="MW1")){if((form.elements["fromDate"].value==""||form.elements["fromDate"].value==null)&&(form.elements["toDate"].value==""||form.elements["toDate"].value==null)){var choice=confirm("You have requested a special rate without specifying dates. We can store this information for your convenience, but cannot check rates and availability unless dates are specified.\n"+"Click 'OK' to continue without dates, or 'Cancel' to go back and change your search options.");return choice;}}}
if(form.elements["searchType"]=='InCity'){form.elements["vsMarriottBrands"].value=homepage.buildMarriottBrandsVSParam(form);}},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;},getElementsByClass:function(searchClass,node,tag){var classElements=new Array();if(node==null)
node=document;if(tag==null)
tag='*';var els=node.getElementsByTagName(tag);var elsLen=els.length;var pattern=new RegExp("(^|\\s)"+searchClass+"(\\s|$)");for(i=0,j=0;i<elsLen;i++){if(pattern.test(els[i].className)){classElements[j]=els[i];j++;}}
return classElements;},translateParams:function(formID,clusterCode){var clusterCodeGroup=document.getElementById(formID).elements["clusterCode"];for(i=0;i<document.getElementById(formID).elements["clusterCode"].length;i++)
{if((clusterCodeGroup[i].value==clusterCode))
{clusterCodeGroup[i].checked=true;}else
{clusterCodeGroup[i].checked=false;}}
homepage.moreOptionsForm(formID,'/specials/translatePromotion.mi');},moreOptionsForm:function(formID,actionPath){var form=document.getElementById(formID);var currentActionPath=form.action;form.action=actionPath;form.submit();form.action=currentActionPath;},checkAndSendto:function(formID,elementName,country,brand,URL,type){var clusterCodeGroup=document.getElementById(formID).elements["clusterCode"];var corporateCode=document.getElementById(formID).elements["corporateCode"];for(i=0;i<document.getElementById(formID).elements["clusterCode"].length;i++){clusterCodeGroup[i].checked=false;}
if(corporateCode){corporateCode.value="";}
document.getElementById(formID).elements[elementName].checked=true;sendto(country,brand,URL,type);},useMRPoints:function(url){var url=new String(url);var protocol=window.location.protocol;var forwardUrl=new String("");var form=document.forms[0];var parentWinAction=form.action;url=url.toLowerCase();forwardUrl=protocol+"//"+url;form.action=forwardUrl;var win=window.open(form.action,"useMRPoints");if(win.focus){form.useRewardsPoints.value="true";form.target="useMRPoints";form.submit();}
if(win==null||win.opener.focus){form.useRewardsPoints.value="false";form.action=parentWinAction;form.target="_parent";}}}
addLoadEvent=function(func){var oldonload=window.onload;if(typeof window.onload!='function'){window.onload=func;}
else{window.onload=function(){oldonload();func();}}}
addLoadEvent(homepage.init);
