(function(lr)
{window.asiarooms=window.hotelslondon=window.laterooms=lr;lr.debug=false;if(!lr.banner)
{var banner=lr.banner=function(defaults)
{var self=this;return function(params)
{var d=mergeParams(defaults,self.defaults),p=mergeParams(params,d),searchForm,banner,bannerStyle,language=p.language||lr.i18n.lang(),imageServer=stringFormat(defaults.imageServer||(d.isTestServer?d.imageTestServer:d.imageServer),{lang:language}),remoteServer=stringFormat(defaults.remoteServer||(d.isTestServer?d.remoteTestServer:d.remoteServer),{lang:language}),styleServer=stringFormat(defaults.styleServer||(d.isTestServer?d.styleTestServer:d.styleServer),{lang:language}),uniqueId=(new Date).getTime(),bannerId="lr_banner_"+uniqueId,bannerButtonId="lr_banner_submit_"+uniqueId,bannerKeywordsId="lr_banner_keywords_"+uniqueId,bannerArrivalId="lr_banner_arrival_"+uniqueId,bannerNightsId="lr_banner_nights_"+uniqueId,bannerOccupantsId="lr_banner_occupants_"+uniqueId,bannerSpecialOffersId="lr_banner_specialoffers_"+uniqueId,aspect=d.width>d.height?"horizontal":"vertical",postUrl=stringFormat(d.searchServer,{lang:language,partnerid:p.partnerId,partnervalue:p.partnerValue?"pv"+p.partnerValue+"/":"",script:d.searchScript});if(""+(p.partnerValue||"")!=="")
postUrl+=(postUrl.indexOf("?")>=0?"&":"?")+"pv="+p.partnerValue;switch(d.basetype)
{case"remote":document.writeln(stringFormat(d.iframeTemplate,{source:"javascript:void(0);",title:laterooms.i18n.translate("Banner Title",language),bannerid:bannerId}));banner=document.getElementById(bannerId);bannerStyle=stringFormat("width:{width};height:{height};margin:0;padding:0;border:0",{width:d.width+"px",height:d.height+"px"});banner.style.cssText=bannerStyle;banner.setAttribute("class",stringFormat("lr-banner lr-banner-{0} lr-banner-{1} {2}",d.id,aspect,"lr-banner-"+d.basetype));var bannerdoc=(banner.contentWindow?banner.contentWindow:banner.contentDocument.document?banner.contentDocument.document:banner.contentDocument).document;bannerdoc.open();bannerdoc.write(stringFormat(d.iframeSrcTemplate,{source:remoteServer+d.url,partnerid:p.partnerId}));bannerdoc.close();bannerdoc=null;break;case"image":document.writeln(stringFormat(d.imageTemplate,{linkUrl:postUrl,title:laterooms.i18n.translate("Banner Title",language),image:imageServer+(params||d.image),alt:laterooms.i18n.translate("Banner Alt",language),bannerid:bannerId}));break;default:var layout=aspect==="vertical"?d.verticalTemplate:d.horizontalTemplate,template=d.layout||layout;if(!p.hideKeywordsLabel)
p.keywordsLabel=stringFormat(d.labelTemplate,{name:bannerKeywordsId,label:laterooms.i18n.translate("Enter your destination",language)});if(!p.hideDateLabel)
p.dateLabel=stringFormat(d.labelTemplate,{name:bannerArrivalId,label:laterooms.i18n.translate("Arrival Date",language)});if(!p.hideNightsLabel)
p.nightsLabel=stringFormat(d.labelTemplate,{name:bannerNightsId,label:laterooms.i18n.translate("No of Nights",language)});if(!p.hideOccupantsLabel)
p.occupantsLabel=stringFormat(d.labelTemplate,{name:bannerOccupantsId,label:laterooms.i18n.translate("Room Sleeps",language)});p.keywords=stringFormat(d.inputTemplate,{fieldId:bannerKeywordsId,name:d.keywordId,size:17,classname:"lr-banner-keywords",keywordPlaceholder:laterooms.i18n.translate(d.keywordPlaceholder,language),defaultvalue:p.defaultKeyword});p.date=self.dateChooser(bannerArrivalId,d.dateId,p.defaultDate,d.dateSeparator,language);p.nights=self.nightsChooser(bannerNightsId,d.nightsId,p.maxNights,p.defaultNights,language);p.occupants=self.occupantChooser(bannerOccupantsId,d.occupantsId,[1,2,"2-1","2-2","2-3",3,4,5,6,7],p.defaultOccupants,language);p.submitButton=stringFormat(p.buttonImage?d.buttonImageTemplate:d.buttonTemplate,{bannerButtonId:bannerButtonId,server:imageServer,image:p.buttonImage,label:laterooms.i18n.translate("Search",language)});p.innertop=d.innerTop;self.loadStyle(styleServer,d.styleSheet);document.writeln(stringFormat(d.inlineTemplate,{bannerid:bannerId}));banner=document.getElementById(bannerId);bannerStyle=stringFormat("width:{width};height:{height};color:{color};background-color:{background};{image}background-repeat:no-repeat;",{width:d.width+"px",height:d.height+"px",color:d.color||"#fff",background:d.background||"#565656",image:d.image?"background-image:url("+imageServer+d.image+");":""});banner.style.cssText=bannerStyle;banner.className=stringFormat("lr-banner lr-banner-{0} lr-banner-{1} {2}",d.id,aspect,d.specialType?"lr-banner-"+d.specialType:"");var formHtml=stringFormat('<form action="{action}" method="{method}">{innerHtml}</form>',{action:postUrl,method:d.postMethod,innerHtml:stringFormat(template,p)}),helperDiv=document.createElement("div");helperDiv.innerHTML=formHtml;banner.appendChild(helperDiv.childNodes[0]);var banner_submit=document.getElementById(bannerButtonId);if(banner_submit)
banner_submit.onclick=function()
{var getEnteredValue=function(id)
{var el=document.getElementById(id);if(el&&el.tagName=="INPUT")
return el.value;return""},getSelectedValue=function(id)
{var el=document.getElementById(id);if(el&&el.tagName=="SELECT")
{var selectedOpt=el.options[el.selectedIndex];if(selectedOpt)
return selectedOpt.value||selectedOpt.text}
return""},formAction=postUrl,actionUrl={action:formAction,seperator:formAction.indexOf("?")>=0?"&":"?",k:getEnteredValue(bannerKeywordsId),d:getSelectedValue(bannerArrivalId),n:getSelectedValue(bannerNightsId),rt:getSelectedValue(bannerOccupantsId)};formAction=stringFormat("{action}{seperator}k={k}&d={d}&n={n}&rt={rt}",actionUrl);var isForm=this.form&&this.form.parentNode&&this.form.parentNode.id===bannerId;if(isForm)
this.form.action=formAction;var go=true;if(p.isTestServer)
go=confirm("This banner would search on the following Url:\r\n\r\n"+formAction+"\r\n\r\nWould you like to go there?",true)||false;if(!isForm&&go)
{location.href=formAction;return false}
return go}}
searchForm=null;banner=null;helperDiv=null;delete searchForm;delete banner;delete helperDiv}};banner.prototype.loadStyle=function(styleServer,styleSheet)
{if(!document.getElementById("lr_banner_base"))
{var cssNode=document.createElement("link");cssNode.type="text/css";cssNode.rel="stylesheet";cssNode.href=stringFormat("{server}{style}",{server:styleServer,style:styleSheet});cssNode.id="lr_banner_base";var docHead=document.getElementsByTagName("head")[0];docHead.appendChild(cssNode)}};banner.prototype.baseChooser=function(fieldId,name,values,selectedIndex,classname,choiceType)
{var wrapper,noValue,withValue,selectedText;switch(choiceType)
{default:wrapper='<select id="{fieldId}" name="{name}" class="lr-banner-select {classname}">{choices}</select>';noValue="<option{selected}>{text}</option>";withValue='<option value="{value}"{selected}>{text}</option>';selectedText="selected"}
for(var choices=[],choicesLen=values.length,i=0;i<choicesLen;i++)
{var isSelected=i===selectedIndex?stringFormat(' {0}="{0}"',selectedText):"",item=values[i];choices.push(stringFormat(i.length===1?noValue:withValue,{name:name,text:item[0],value:item[1],selected:isSelected}))}
return stringFormat(wrapper,{fieldId:fieldId,name:name,classname:classname,choices:choices.join("")})};banner.prototype.occupantChooser=function(fieldId,name,values,defaultOccupants,language)
{var opts=[],selectedIndex,txt,optsLen=values.length;opts.push([stringFormat("-- {0} --",laterooms.i18n.translate("Room Sleeps",language)),"0-0"]);for(var i=0;i<optsLen;i++)
{var persons=values[i].toString().split("-");if(persons.length>1)
{txt=stringFormat("{0} + {1} {2}",persons[0],persons[1],parseInt(persons[1],10)!=1?laterooms.i18n.translate("children",language):laterooms.i18n.translate("child",language));opts.push([txt,values[i]])}
else
{txt=stringFormat("{0} {1}",values[i],parseInt(values[i],10)!==1?laterooms.i18n.translate("people",language):laterooms.i18n.translate("person",language));opts.push([txt,values[i]+"-0"])}
if(values[i]==defaultOccupants)
selectedIndex=i+1}
return this.baseChooser(fieldId,name,opts,selectedIndex,"lr-banner-occupantchooser",null,language)};banner.prototype.nightsChooser=function(fieldId,name,maxNights,defaultNights,language)
{var opts=[],selectedIndex;opts.push([stringFormat("-- {0} --",laterooms.i18n.translate("No of Nights",language)),"1"]);for(var i=1;i<(maxNights||8);i++)
{opts.push([stringFormat("{0} {1}",i,i!==1?laterooms.i18n.translate("Nights",language):laterooms.i18n.translate("Night",language)),i]);if(i==defaultNights)
selectedIndex=i}
return this.baseChooser(fieldId,name,opts,selectedIndex,"lr-banner-nightschooser",null,language)};banner.prototype.dateChooser=function(fieldId,name,defaultDate,separator,language)
{var opts=[],selectedIndex,dateValue=function(d)
{var doubleup=function(val)
{var s="00"+val,l=s.length;return s.substr(l-2,l)};return d.getUTCFullYear()+separator+doubleup(d.getUTCMonth()+1)+separator+doubleup(d.getUTCDate())};if(defaultDate)
{var defaultValues=defaultDate.split("/"),t=new Date(defaultValues[2]*1,defaultValues[1]*1-1,defaultValues[0]*1+1),dateCode=dateValue(t);defaultDate=dateCode}
var date=new Date;opts.push([stringFormat("-- {0} --",laterooms.i18n.translate("Arrival Date",language)),dateValue(date)]);for(var d=1;d<366;d++)
{var ds=stringFormat("{day} {date} {month} {year}",{day:laterooms.i18n.translate("day",language)[date.getUTCDay()],date:date.getUTCDate(),month:laterooms.i18n.translate("month",language)[date.getUTCMonth()],year:date.getUTCFullYear()});opts.push([ds,dateValue(date)]);if(defaultDate===dateValue(date))
selectedIndex=d;date.setUTCDate(date.getUTCDate()+1)}
return this.baseChooser(fieldId,name,opts,selectedIndex,"lr-banner-datechooser",null,language)};banner.prototype.locationChooser=function(fieldId,name,locations,defaultLocation,choiceType,language)
{var opts=[],selectedIndex,optsLen=locations.length;opts.push([stringFormat("-- {0} --",laterooms.i18n.translate("Choose a location",language)),""]);for(var i=0;i<optsLen;i++)
{var location=locations[i];opts.push([location[0],location[1]]);if(location[0]==defaultLocation)
selectedIndex=i}
return this.baseChooser(fieldId,name,opts,selectedIndex,"lr-banner-locationchooser",choiceType,language)};banner.prototype.specialOfferChooser=function(fieldId,name,offers,language)
{for(var opts=[],optsLen=offers.length,i=0;i<optsLen;i++)
{var offer=laterooms.i18n.translate(offers[i],language);opts.push([offer[0],offer[1]])}
return this.baseChooser(fieldId,name,opts,null,"lr-banner-specialofferchooser","checkbox",language)};banner.prototype.defaults={partnerId:9092,width:160,height:270,innerTop:90,hideNightsLabel:false,hideOccupantsLabel:false,isTestServer:false,imageTestServer:"http://www.h0t3ls.com/code",remoteTestServer:"http://localhost/LateRooms.Affiliates/Script/SearchBanners/{lang}",styleTestServer:"http://www.h0t3ls.com/code",imageServer:"http://www.h0t3ls.com/code",remoteServer:"http://affiliates.laterooms.com/Script/SearchBanners/{lang}",styleServer:"http://www.h0t3ls.com/code",styleSheet:"/laterooms.banner.base.css",searchServer:"http://www.laterooms.com/{lang}/p{partnerid}/{partnervalue}{script}",searchScript:"Hotels.aspx",postMethod:"GET",inlineTemplate:'<div id="{bannerid}"></div>',iframeTemplate:'<iframe id="{bannerid}" src="{source}" title="{title}" style="{style}"></iframe>',iframeSrcTemplate:'<html><head><script language="javascript" src="{source}"></sc'+('ript><style>html,body{{border:0;padding:0;margin:0;}}</style></head><body><script language="javascript">buildLRSearchBanner({partnerid});</sc'+"ript></body></html>"),imageTemplate:'<a id="{bannerid}" href="{linkUrl}" title="{title}"><img src="{image}" border="0" alt="{alt}" /></a>',verticalTemplate:'<div class="lr-banner-inner" style="margin-top:{innertop}px">{keywordsLabel}{keywords}{dateLabel}{date}{nightsLabel}{nights}{occupantsLabel}{occupants}</div>{submitButton}',horizontalTemplate:'<table class="lr-banner-inner" style="margin-top:{innertop}px" cellpadding="0" cellpading="0" border="0"><tr><td valign="top">{keywordsLabel}{keywords}</td><td width="10"></td><td valign="top">{dateLabel}{date}</td></tr><tr><td valign="top">{nightsLabel}{nights}</td><td width="10"></td><td valign="top">{occupantsLabel}{occupants}</td></tr></table>{submitButton}',labelTemplate:'<label class="lr-banner-label" for="{name}">{label}</label>',inputTemplate:'<input name="{name}" size="{size}" id="{fieldId}" class="lr-banner-text {classname}" value="{defaultvalue}" onFocus="if (this.value==\'{keywordPlaceholder}\') this.value=\'\';" onBlur="if ((1) && (this.value==\'\')) this.value=\'{keywordPlaceholder}\';" />',buttonImageTemplate:'<input type="image" id="{bannerButtonId}" class="lr-banner-submit" src="{server}{image}" alt="{label}" />',buttonTemplate:'<button type="submit" id="{bannerButtonId}" class="lr-banner-submit">{label}</button>',dateSeparator:"",keywordPlaceholder:"Hotel, Attraction, Postcode",keywordId:"k",dateId:"d",nightsId:"n",occupantsId:"rt"};var mergeParams=function(model,base)
{var merge=function(a,b)
{for(var property in a)
{var baseProperty=property.substring(0,1).toLowerCase()+property.substring(1,property.length);b[baseProperty]=a[property]}
return b};return merge(model,merge(base,{}))},stringFormat=function(source,params)
{var _toString=function(obj,format)
{var ctor=function(o)
{if(typeof o=="number")
return Number;else
if(typeof o=="boolean")
return Boolean;else
if(typeof o=="string")
return String;else
return o.constructor}(obj),proto=ctor.prototype,formatter=typeof obj!="string"?proto?proto.format||proto.toString:obj.format||obj.toString:obj.toString;if(formatter)
if(typeof format==="undefined"||format==="")
return formatter.call(obj);else
return formatter.call(obj,format);else
return""};if(arguments.length==1)
return function()
{return stringFormat.apply(null,[source].concat(Array.prototype.slice.call(arguments,0)))};if(arguments.length==2&&typeof params!="object"&&typeof params!="array")
params=[params];if(arguments.length>2)
params=Array.prototype.slice.call(arguments,1);source=source.replace(/\{\{|\}\}|\{([^}: ]+?)(?::([^}]*?))?\}/g,function(match,num,format)
{if(match=="{{")
return"{";if(match=="}}")
return"}";return typeof params[num]!="undefined"&&params[num]!==null?_toString(params[num],format):""});return source}}})(window.laterooms||{_lang:"en"});laterooms.banners={};(function(lr)
{window.laterooms=lr;lr.i18n=function(lang)
{return({en:{day:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],month:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]}})[lang||lr._lang]};lr.i18n.translate=function(txt,lang)
{var camelcase=function(s)
{s=s.replace(/^\s\s*/,"").replace(/\s\s*$/,"");s=/\S[A-Z]/.test(s)?s.replace(/(.)([A-Z])/g,function(t,a,b)
{return a+" "+b.toLowerCase()}):s.replace(/( )([a-z])/g,function(t,a,b)
{return b.toUpperCase()});return s.replace(/\s/g,"")},t=lr.i18n(lang)[camelcase(txt)];lr.debug&&!t&&lr.i18n.lang()!=="en"&&window.console&&window.console.log&&console.log("No translation for ["+txt+" / "+camelcase(txt)+"] in ["+lr.i18n.lang()+"]");return t?t:txt}})(window.laterooms||{_lang:"en"});laterooms.banners.yellowAlt=new laterooms.banner({id:"yellowAlt",background:"transparent",color:"#fff",image:"/yellow-background.png",buttonImage:"/search.png",width:180,height:321,innerTop:100});
