NewMind.registerNameSpace("NewMind.ETWP.env");NewMind.registerNameSpace("NewMind.ETWP.ControlData");if(NewMind.env.page.gatrackexitlinks){$(function(){if(typeof pageTracker==="object"||typeof _gaq==="object"){$("a[href*='://'],a[href*='%3A%2F%2F']").live("click",function(){var href=unescape($(this).attr("href"));if(href.indexOf(window.location.hostname.replace("www.",""))!==-1){return true;}var linkStartIndex=href.indexOf("://")+3;var fakePageName=href.substr(linkStartIndex);var utmVarsStartIndex=fakePageName.indexOf("utm_source");if(utmVarsStartIndex!==-1){fakePageName=fakePageName.substr(0,utmVarsStartIndex-1);}fakePageName='/external-link/'+fakePageName.replace('www.','');if(typeof _gaq==="object"){_gaq.push(['_trackPageview',fakePageName]);}else{pageTracker._trackPageview(fakePageName);}});}});}$(function(){var objQueryData=NewMind.GetQuerystringData();if(objQueryData["widget_marketsource"]!==undefined){$("a:not([href*='widget_marketsource'])").attr("target","_blank");}});function AddEventListener(obj,type,action){NewMind.dom.addEventListener(obj,type,action);}function GetEventSource(pthis){if(!document.all){var x=pthis;}else{var x=window.event.srcElement;}return x;}function returnFalse(e){var ev=e||window.event;if(ev.preventDefault){ev.preventDefault();}else{ev.returnValue=false;}}function findAncestorNode(el,strAncestorNode,strAncestorClassName){var ancestorNode=el;do{ancestorNode=ancestorNode.parentNode;}while(ancestorNode.nodeName.toLowerCase()!=strAncestorNode.toLowerCase()&&ancestorNode.className!=strAncestorClassName);return ancestorNode;}function iefix(){try{objects=document.getElementsByTagName("object");for(var i=0;i<objects.length;i++){if(objects[i].className=='iefix'){objects[i].outerHTML=objects[i].outerHTML;}}}catch(e){}}AddEventListener(window,'load',iefix);function getAnchorPosition(anchorname){var useWindow=false;var coordinates=new Object();var x=0,y=0;var use_gebi=false,use_css=false,use_layers=false;if(document.getElementById){use_gebi=true;}else if(document.all){use_css=true;}else if(document.layers){use_layers=true;}if(use_gebi&&document.all){x=AnchorPosition_getPageOffsetLeft(document.all[anchorname]);y=AnchorPosition_getPageOffsetTop(document.all[anchorname]);}else if(use_gebi){var o=document.getElementById(anchorname);x=AnchorPosition_getPageOffsetLeft(o);y=AnchorPosition_getPageOffsetTop(o);}else if(use_css){x=AnchorPosition_getPageOffsetLeft(document.all[anchorname]);y=AnchorPosition_getPageOffsetTop(document.all[anchorname]);}else if(use_layers){var found=0;for(var i=0;i<document.anchors.length;i++){if(document.anchors[i].name==anchorname){found=1;break;}}if(found==0){coordinates.x=0;coordinates.y=0;return coordinates;}x=document.anchors[i].x;y=document.anchors[i].y;}else{coordinates.x=0;coordinates.y=0;return coordinates;}coordinates.x=x;coordinates.y=y;return coordinates;}function getAnchorWindowPosition(anchorname){var coordinates=getAnchorPosition(anchorname);var x=0;var y=0;if(document.getElementById){if(isNaN(window.screenX)){x=coordinates.x-document.body.scrollLeft+window.screenLeft;y=coordinates.y-document.body.scrollTop+window.screenTop;}else{x=coordinates.x+window.screenX+(window.outerWidth-window.innerWidth)-window.pageXOffset;y=coordinates.y+window.screenY+(window.outerHeight-24-window.innerHeight)-window.pageYOffset;}}else if(document.all){x=coordinates.x-document.body.scrollLeft+window.screenLeft;y=coordinates.y-document.body.scrollTop+window.screenTop;}else if(document.layers){x=coordinates.x+window.screenX+(window.outerWidth-window.innerWidth)-window.pageXOffset;y=coordinates.y+window.screenY+(window.outerHeight-24-window.innerHeight)-window.pageYOffset;}coordinates.x=x;coordinates.y=y;return coordinates;}function AnchorPosition_getPageOffsetLeft(el){var ol=el.offsetLeft;while((el=el.offsetParent)!=null){ol+=el.offsetLeft;}return ol;}function AnchorPosition_getWindowOffsetLeft(el){return AnchorPosition_getPageOffsetLeft(el)-document.body.scrollLeft;}function AnchorPosition_getPageOffsetTop(el){var ot=el.offsetTop;while((el=el.offsetParent)!=null){ot+=el.offsetTop;}return ot;}function AnchorPosition_getWindowOffsetTop(el){return AnchorPosition_getPageOffsetTop(el)-document.body.scrollTop;}function ElementScrollTo(objEleSrc){if((!window.scroll)||(!objEleSrc))return false;var intImageStart=AnchorPosition_getWindowOffsetTop(objEleSrc);if(isNaN(parseInt(intImageStart)))return false;var OFFSET_TOP=16;var intImageHeight=parseInt(objEleSrc.height);if(isNaN(intImageHeight)||(intImageHeight<=0)&&!isNaN(objEleSrc.offsetHeight))intImageHeight=parseInt(objEleSrc.offsetHeight);var intScrollPosY=GetScrollPosY();var intViewHeight=GetViewHeight();if(isNaN(intImageHeight)||(intImageHeight<=0)||(intScrollPosY==null)||(intViewHeight==null)){var intScrollToY=intImageStart-OFFSET_TOP;if(intScrollToY<0)intScrollToY=0;scroll(0,intScrollToY);return true;}var intImageEnd=intImageStart+intImageHeight;if((intScrollPosY>intImageStart)||(intScrollPosY+intViewHeight<intImageEnd)){var intScrollToY=intImageStart-OFFSET_TOP;if(intScrollToY<0)intScrollToY=0;scroll(0,intScrollToY);}return true;function GetScrollPosY(){var intScrollY=null;if(document.all){if(!document.documentElement.scrollTop)intScrollY=document.body.scrollTop;else intScrollY=document.documentElement.scrollTop;}else intScrollY=window.pageYOffset;if(isNaN(parseInt(intScrollY)))intScrollY=null;return intScrollY;}function GetViewHeight(){if(document.documentElement&&document.documentElement.clientWidth){return document.documentElement.clientHeight;}else if(document.body){return document.body.clientHeight;}return null;}}NewMind.ETWP.GetRelativeSizeFromPixels=function(strPixels){if(!strPixels)return strPixels;strPixels=String(strPixels);if(strPixels.length<3)return strPixels;if(strPixels.substring(strPixels.length-2).toUpperCase()!="PX")return strPixels;var intPixels=parseInt(strPixels,10);if(isNaN(intPixels))return strPixels;return(intPixels/16)+"em";};function ControlScriptEnablerInit(bPrevCtrl){var strId="ElScriptEnabler"+parseInt(Math.random()*1000000000);document.write("<div id=\""+strId+"\"><!-- --></div>");var fncEnable=function(){Enable(bPrevCtrl);};setTimeout(fncEnable,1);return;function Enable(bPrevCtrl){if((typeof(bPrevCtrl)==="undefined")||(bPrevCtrl!==true))bPrevCtrl=false;var objEle=document.getElementById(strId);if(!objEle)return;var objEleCtrl=findAncestorNode(objEle,"div","sys_control");if(!objEleCtrl)return;if(bPrevCtrl){objEleCtrl=PreviousSibling(objEleCtrl);if(!objEleCtrl)return;}if(!objEleCtrl.hasChildNodes())return;for(var intIndex=0;intIndex<objEleCtrl.childNodes.length;intIndex++)ApplyScriptClass(objEleCtrl.childNodes[intIndex]);return;function ApplyScriptClass(objEle){if(IsTextNode(objEle))return;var strScriptEnabled="ScriptEnabled";var strClass=objEle.className;if((" "+strClass+" ").indexOf(" "+strScriptEnabled+" ")===-1)strClass=strClass+" "+strScriptEnabled;objEle.className=strClass;}function PreviousSibling(objEle){while(1){objEle=objEle.previousSibling;if(!objEle)return null;if(!IsTextNode(objEle))return objEle;}}function IsTextNode(objEle){return((!objEle)||(typeof(objEle.tagName)==="undefined")||(objEle.tagName==="!"));}}}function externalLinks(){if(!document.getElementsByTagName)return;var arrLinks=document.getElementsByTagName("a");for(var i=0;i<arrLinks.length;i++){var objLink=arrLinks[i];if((objLink.getAttribute("href"))&&((" "+objLink.getAttribute("rel")+" ").indexOf(" external ")!==-1)){objLink.onclick=GenNewFunc(TargetAttribCheat,(typeof(objLink.onclick)==="undefined")?null:objLink.onclick);}}function GenNewFunc(fncNew,fncOld){var objLink=null;return function(){fncNew.apply(this,arguments);if(fncOld!=null)return fncOld.apply(this,arguments);};}function TargetAttribCheat(e,bEnable,bAutoDisable,intAutoDisTimeout){e=e||window.event;if(!e)return;var objSrc=e.srcElement||e.target;if(!objSrc)return;while(String(objSrc.tagName).toUpperCase()!=="A"){if((!objSrc)||(objSrc.parentNode===objSrc))return;objSrc=objSrc.parentNode;}if((typeof(bEnable)==="undefined")||(bEnable!==false))bEnable=true;if((typeof(bAutoDisable)==="undefined")||(bAutoDisable!==false))bAutoDisable=true;if((typeof(intAutoDisTimeout)==="undefined")||isNaN(intAutoDisTimeout))intAutoDisTimeout=100;Work(objSrc,bEnable,bAutoDisable,intAutoDisTimeout);function Work(objSrc,bEnable,bAutoDisable,intAutoDisTimeout){if(bEnable){if((typeof(objSrc.targetOldNM)==="undefined")||(objSrc.targetOldNM===null)){if(typeof(objSrc.target)==="undefined")objSrc.targetOldNM="";else objSrc.targetOldNM=objSrc.target;}objSrc.target="_blank";if(bAutoDisable)setTimeout(function(){Work(objSrc,false);},intAutoDisTimeout);}else{if(typeof(objSrc.targetOldNM)!=="undefined"){objSrc.target=objSrc.targetOldNM;try{deleteobjSrc["targetOldNM"];}catch(e){objSrc.targetOldNM=null;}}}}}}AddEventListener(window,'load',externalLinks);NewMind.ETWP.GetQuerystringData=NewMind.GetQuerystringData;NewMind.ETWP.GetControlKey=function(node){var nodeClass=String($(node).attr('class'));var arrSegments=nodeClass.split(" ");var iControlKey=0;for(iIndex=0;iIndex<arrSegments.length;iIndex++){var strSegment=arrSegments[iIndex];if(strSegment.substring(0,1)==="c"){strSegment=strSegment.substring(1,strSegment.length);var iKey=parseInt(strSegment,10);if(!isNaN(iKey)){iControlKey=iKey;break;}}}return iControlKey;};NewMind.ETWP.MouseOver=function(){return{init:function(sSelector){$(sSelector).mouseover(function(){$(this).addClass('ie-hover');}).mouseout(function(){$(this).removeClass('ie-hover');});}};}();NewMind.ETWP.TabSwitcherHelpers=function(){return{IsInTabControl:function($control){if(typeof($control.jquery)==="undefined"){return;}var bIsInTabControl=false;if(typeof(NewMind.ETWP.TabSwitcher)!=="undefined"){bIsInTabControl=$control.parents("div.ctl_Tabs").length>0;}return bIsInTabControl;},CheckForTabReSize:function($control){if(typeof($control.jquery)==="undefined"){return;}if(typeof(NewMind.ETWP.TabSwitcher)!=="undefined"){var $tabContainer=$control.parents("div.ctl_Tabs");if($tabContainer.length>0){var tabVariableName='tabs'+NewMind.ETWP.GetControlKey($tabContainer[0]);var tabToResize=NewMind.ETWP.ActiveTabSwitchers[tabVariableName];if(typeof(tabToResize)!=="undefined"){tabToResize.ResizeContainerFromJQueryObject($control);}}}}};}();NewMind.ETWP.AjaxForms=function(){var doPostBack=function(node){var $node=$(node);var postbackURL=$node.attr('action');var $parentSysContainer;$parentSysContainer=$node.parents('div.sys_control');var iControlKey=NewMind.ETWP.GetControlKey($parentSysContainer);if($node.parents('div.blockMsg').length>0){$parentSysContainer=$node.parents('div.blockMsg').find('div.sys_control');iControlKey=NewMind.ETWP.GetControlKey($parentSysContainer);}var strUrl=String(postbackURL);if(strUrl.indexOf("?")===-1){strUrl=postbackURL+"?PartialRenderControlList="+iControlKey;}else{strUrl=postbackURL+"&PartialRenderControlList="+iControlKey;}$.ajax({type:'post',url:strUrl,data:$node.serialize(),success:function(data,iControlKey){var rawdata=eval(data);if(NewMind.ETWP.FormPostBack[0].redirectURL){window.location=NewMind.ETWP.FormPostBack[0].redirectURL;}if(NewMind.ETWP.FormPostBack[0].formHTML){$html=$(NewMind.ETWP.FormPostBack[0].formHTML);$parentSysContainer.html($html);NewMind.ETWP.TabSwitcherHelpers.CheckForTabReSize($node);}return false;},error:function(){$.unblockUI();$node.unbind('submit').submit();}});};return{postback:function(node){doPostBack(node);return false;}};}();NewMind.ETWP.ColumnResizer=function(){var resizeCols=function(sSelectors){var iHeight=0;$(sSelectors).each(function(){if($(this).height()>iHeight){iHeight=$(this).height();}}).height(iHeight);};return{init:function(){},resize:function(sSelectors){resizeCols(sSelectors);}};}();NewMind.ETWP.TwoColumnMaker=function(){var makeCols=function(sContainer,bKeepHeader){var $items=$(sContainer);var $parent=$items.parent();if(bKeepHeader){$items.before($items.find("h2"));}$items.before('<div class="oddColumn"></div><div class="evenColumn"></div>');$items.find("h3:odd").each(function(i){var $this=$(this);var $objChild=$this.next();$parent.find('.oddColumn').append($this).append($objChild);});$items.find("h3").each(function(i){var $this=$(this);var $objChild=$this.next();$parent.find('.evenColumn').append($this).append($objChild);});$items.remove();};var makeCols2=function(sSelector,sParent,breakPosition,offset){var $items=$(sSelector);var $parent=$(sParent);$parent.empty();if(offset>0){$parent.append($items.slice(0,offset));}$parent.append('<div class="oddColumn"></div><div class="evenColumn"></div>');$parent.find('.oddColumn').append($items.slice(offset,breakPosition));$parent.find('.evenColumn').append($items.slice(breakPosition,$items.length));};return{init:function(){},makeCols:function(sContainer,bKeepHeader){makeCols(sContainer,bKeepHeader);},makeCols2:function(sSelector,sParent,breakPosition,offset){makeCols2(sSelector,sParent,breakPosition,offset);}};}();NewMind.ETWP.GetResource=function(sResource,sDefault){try{return eval(sResource)||sDefault;}catch(e){return sDefault;}};NewMind.ETWP.GetScrollDistanceFromTopOfBody=function(){var scrOfY=0;if(typeof(window.pageYOffset)=='number'){scrOfY=window.pageYOffset;}else if(document.body&&(document.body.scrollTop)){scrOfY=document.body.scrollTop;}else if(document.documentElement&&(document.documentElement.scrollTop)){scrOfY=document.documentElement.scrollTop;}return scrOfY;};NewMind.ETWP.NoCache=(function(){var objQuerystring=NewMind.ETWP.GetQuerystringData();var strNoCache=objQuerystring.get("nocache");if(strNoCache===null)return false;strNoCache=String(strNoCache).toLowerCase();return((strNoCache==="1")||(strNoCache==="true"));})();NewMind.ETWP.GetFirstHashItem=function(){var hash=window.location.hash;var aryHashItems=hash.split('=&');var strfirstHashItem;strfirstHashItem=aryHashItems[0];return strfirstHashItem;};
(function(){window.NewMind=window.NewMind||{};var NewMind=window.NewMind;NewMind.ajax={ajaxEnableItineraryLinks:function(oLink,bRetry){$("p.ex_AddButton a, td.delete a").click(NewMind.ajax.itinButtonClickHandler);},urlencode:function(strValue){return encodeURIComponent((strValue+'').toString()).replace(/!/g,'%21').replace(/'/g,'%27').replace(/\(/g,'%28').replace(/\)/g,'%29').replace(/\*/g,'%2A').replace(/%20/g,'+');},itinButtonClickHandler:function(e){var objEleLink=this;if(objEleLink.tagName.toLowerCase()!=="a")return;var strAction=null;var aryActionMatches=objEleLink.href.match(/epaction=([a-z]+)/);if(aryActionMatches.length>=2){strAction=aryActionMatches[1];}var intKey;var aryKeyMatches=objEleLink.href.match(/epkey=([0-9]+)/);if(aryKeyMatches.length>0){intKey=parseInt(aryKeyMatches[1]);if(isNaN(intKey))intKey=null;}if(strAction!=="ctrlremove"){if(intKey===null){strAction=null;}else{strAction=IsProductInItinData(intKey)?"remove":"add";}}if((strAction==="remove")&&(!IsItinButtonInItinControl(objEleLink))){e.preventDefault();JumpToItinBasket();return;}if((NewMind.ETWP)&&(NewMind.ETWP.env)&&(NewMind.ETWP.env.Disable_Ajax_Itinerary===true)){return;}if((!strAction)||(!intKey)){return;}e.preventDefault();if(strAction=="add"){$("a.ep_"+intKey).removeClass("ep_Add").addClass("ep_Adding").children("img").attr("alt",function(){return $(this).attr("alt").replace("Add","Adding");});}else if(strAction=="remove"||strAction=="ctrlremove"){$("a.ep_"+intKey).removeClass("ep_Added").addClass("ep_Removing").children("img").attr("alt",function(){return $(this).attr("alt").replace("Remove","Removing");});}NewMind.ajax.doItinAjaxAction(strAction,intKey,objEleLink);function IsProductInItinData(intKey){var arrExcursion=NewMind.env.excursion;for(var intIndex=0;intIndex<arrExcursion.length;intIndex++){if(arrExcursion[intIndex].product_key==intKey){return true;}}return false;}function IsItinButtonInItinControl(objEle){while(objEle){if((objEle.parentNode===objEle)||(!objEle.parentNode))break;objEle=objEle.parentNode;if($(objEle).hasClass("sys_control")){if(($(objEle).hasClass("ctl_ItineraryBasket"))||($(objEle).hasClass("ctl_ItineraryDetail")))return true;else return false;}}return false;}function JumpToItinBasket(){var arrEles=$("div.ctl_ItineraryBasket");if(arrEles.length>0){var objEleBasket=arrEles[0];ElementScrollTo(objEleBasket);}}},doItinAjaxAction:function(action,key,btn){var intItinLibCtrlKey=NewMind.env.page.itinlibkey;var strPostUrl=NewMind.ajax.CleanCurrentUrlForAjax();var objPostData={PartialRenderControlList:intItinLibCtrlKey,AsyncAction:"get-itin-data",epaction:action,epkey:key};$.get(strPostUrl,objPostData,function(data){if(arguments[1]=='success'){NewMind.ajax.itinAjaxCallback(action,key,btn,data);}});},itinAjaxCallback:function(action,key,btn,data){var rawData=eval(data);var strBasketTable=rawData[0].baskettable||"";var strBasketLinks=rawData[0].basketlinks||"";NewMind.env.excursion=rawData[0].products;if(action=="add"){var objEleItinBasket=$("div.ctl_ItineraryBasket");$("a.ep_"+key).removeClass("ep_Adding").addClass("ep_Added").attr("href",function(){return $(this).attr("href").replace("add","remove");}).children("img").attr("alt",function(){return $(this).attr("alt").replace("Adding","Remove").replace(" to "," from ");}).end().flyTo(objEleItinBasket);UpdateItinBasket(strBasketTable,strBasketLinks);}if(action=="remove"||action=="ctrlremove"){$('a.ep_'+key).removeClass("ep_Added").removeClass("ep_Removing").addClass("ep_Add").attr("href",function(){return $(this).attr("href").replace("remove","add");}).children("img").attr("alt",function(){return $(this).attr("alt").replace("Removing","Add").replace(" from "," to ");});UpdateItinBasket(strBasketTable,strBasketLinks);}if(NewMind.env.excursion.length==0){$("div.ctl_ItineraryBasket > div.EmptyMsg").show();}else{$("div.ctl_ItineraryBasket > div.EmptyMsg").hide();}setTimeout(function(){NewMind.ajax.itinUpdated.fire(action,key);},50);function UpdateItinBasket(strBasketTable,strBasketLinks){if($("table.ItineraryTbl").length>0){$("table.ItineraryTbl").replaceWith(strBasketTable);}else{$(".ctl_ItineraryBasket p.link").before(strBasketTable);}$("table.ItineraryTbl td.delete a").click(NewMind.ajax.itinButtonClickHandler);$(".ctl_ItineraryBasket p.link").replaceWith(strBasketLinks);}function addProduct(key){var arrExcursion=NewMind.env.excursion;for(var intIndex=0;intIndex<arrExcursion.length;intIndex++){if(arrExcursion[intIndex].product_key===key){return;}}arrExcursion.push({product_key:key});}function removeProduct(key){var arrExcursion=NewMind.env.excursion;for(var intIndex=0;intIndex<arrExcursion.length;intIndex++){if(arrExcursion[intIndex].product_key==key){arrExcursion.splice(intIndex,1);}}}},itinUpdated:new NewMind.CustomEvent("itinUpdated",this),CleanCurrentUrlForAjax:function(){var arrRemove=["Action","AsyncAction","PartialRender","PartialRenderControlList","PartialRenderType","epaction","epkey"];return CleanCurrentUrlQuerystring(arrRemove,true);function CleanCurrentUrlQuerystring(arrRemove,bDropHash){if(!arrRemove)arrRemove=[];arrRemove.push("");var strQuery=String(document.location.search);var strHash=String(document.location.hash);var strUrl=String(document.location.href);if(strUrl.indexOf("?")!=-1)strUrl=strUrl.substring(0,strUrl.indexOf("?"));if(strUrl.indexOf("#")!=-1)strUrl=strUrl.substring(0,strUrl.indexOf("#"));if(strQuery.substring(0,1)==="?")strQuery=strQuery.substring(1);arrQuery=strQuery.split("&");for(var iQ=arrQuery.length-1;iQ>=0;iQ--){var strName=arrQuery[iQ].toLowerCase();if(strName.indexOf("=")!=-1)strName=strName.substring(0,strName.indexOf("="));var bRemoved=false;for(var iR=0;iR<arrRemove.length;iR++){if(String(arrRemove[iR]).toLowerCase()===strName){bRemoved=true;break;}}if(bRemoved){arrQuery.splice(iQ,1);}}var strOut=strUrl;if(arrQuery.length>0)strOut+="?"+arrQuery.join("&");if(!bDropHash)strOut+=strHash;return strOut;}}};$(document).ready(NewMind.ajax.ajaxEnableItineraryLinks);})();
function ProductDetailImageScrollTo(){return ElementScrollTo(document.getElementById("productImage"));}function KeyPressWasActivate(e){if(!e){e=window.event;}var intKeyCode=e.keyCode;var intCharCode=e.charCode;return((intKeyCode==13)||(intKeyCode==32)||(intCharCode==32));}$(document).ready(function(){if(NewMind.ETWP!==undefined&&NewMind.ETWP.PhotoSynths!==undefined){$('div.ctl_ProductDetail div.photosynths a').live('click',NewMind.ETWP.PhotoSynths.RenderPhotoSynth);}var objmap=$('img.mapimage').parent('div#mapimage');var $showlink=$('p.showHideLink a');$showlink.live('click',function(e){e.preventDefault();if($('a.showMap').length>0){objmap.hide();}else{objmap.show();}$showlink.toggleClass('showMap');});$showlink.one('click',function(){$('img.mapimage').attr('src',NewMind.env.staticmapurl);});if(NewMind.ETWP!==undefined&&NewMind.ETWP.TabSwitcher!==undefined){setTimeout(function(){if(typeof NewMind.mapping!=="undefined"){if($("div.dynMapContainer").is(':empty')){NewMind.mapping.MapInit.DisplaySearchResultsMap();}}NewMind.ETWP.ProductDetails.Mapping.SetupAutoShowMapping();},500);}$('div.tfa a.tfabutton[href=#tfainfo]').live('click',function(e){var tfaTabContainerName=$('.ctl_TFA').parents('.ctl_Tabs')[0];var tabControlKey=NewMind.ETWP.GetControlKey(tfaTabContainerName);var tabControlId='tabs'+tabControlKey;if(typeof(NewMind.ETWP.ActiveTabSwitchers[tabControlId])!=="undefined"){NewMind.ETWP.ActiveTabSwitchers[tabControlId].SelectTabByAnchorName(tfaTabContainerName,'tfainfo');}});});NewMind.registerNameSpace("NewMind.ETWP.ProductDetails.Mapping").SetupAutoShowMapping=function(){var $tabWithMapLink;if(typeof(NewMind.env.staticmapurl)!=="undefined"){$tabWithMapLink=$("div.mapimage").parents("div.ctl_Tabs");}else{$tabWithMapLink=$("div.dynMapContainer").parents("div.ctl_Tabs");}if($tabWithMapLink.length>0){var tabVariableName='tabs'+NewMind.ETWP.GetControlKey($tabWithMapLink[0]);if(typeof(NewMind.ETWP.ActiveTabSwitchers[tabVariableName])!=="undefined"){NewMind.ETWP.ActiveTabSwitchers[tabVariableName].TabChange.subscribe(function(){setTimeout(function(){var $showlink=$('#mapShowHideLink:visible');if($showlink.height()>0&&$showlink.parents("div.tab").hasClass("selected")){$showlink.click(NewMind.ETWP.ActiveTabSwitchers[tabVariableName].ResizeContainer);$showlink.click();$showlink.hide();}},50);});}}};NewMind.ETWP.ProductDetails.ImageGallery=(function(){var setupSlideShowDivs=function(iPageControlKey){var $container=$("div.c"+iPageControlKey+" div.image");$container.html($('<div id="gallery_'+iPageControlKey+'" class="content"><div id="controls_'+iPageControlKey+'" class="controls"></div><div class="slideshow-container">'+'<div id="loading_'+iPageControlKey+'" class="loader"></div><div id="slideshow_'+iPageControlKey+'" class="slideshow"></div></div>'+'<div id="caption_'+iPageControlKey+'" class="caption-container"></div></div>'));};var setupGallery=function(iPageControlKey){var onMouseOutOpacity=0.67;var $container=$('div.c'+iPageControlKey+' div.additionalImages');$container.find('ul li').opacityrollover({mouseOutOpacity:onMouseOutOpacity,mouseOverOpacity:1.0,fadeSpeed:'fast',exemptionSelector:'.selected'});var gallery=$container.galleriffic({delay:2500,numThumbs:15,preloadAhead:10,enableTopPager:true,enableBottomPager:false,maxPagesToShow:7,imageContainerSel:'#slideshow_'+iPageControlKey,controlsContainerSel:'#controls_'+iPageControlKey,captionContainerSel:'#caption_'+iPageControlKey,loadingContainerSel:'#loading_'+iPageControlKey,renderSSControls:true,renderNavControls:true,playLinkText:NewMind.ETWP.GetResource('NewMind.env.lang.resources.galleriffic["playLinkText"]','Play'),pauseLinkText:NewMind.ETWP.GetResource('NewMind.env.lang.resources.galleriffic["pauseLinkText"]','Pause'),prevLinkText:NewMind.ETWP.GetResource('NewMind.env.lang.resources.galleriffic["prevLinkText"]','Previous'),nextLinkText:NewMind.ETWP.GetResource('NewMind.env.lang.resources.galleriffic["nextLinkText"]','Next'),nextPageLinkText:NewMind.ETWP.GetResource('NewMind.env.lang.resources.galleriffic["nextPageLinkText"]','Next &rsaquo;'),prevPageLinkText:NewMind.ETWP.GetResource('NewMind.env.lang.resources.galleriffic["prevPageLinkText"]','lsaquo; Prev'),enableHistory:false,enableKeyboardNavigation:false,autoStart:false,syncTransitions:true,defaultTransitionDuration:900,enableSlideShowTrigger:false,onSlideChange:function(prevIndex,nextIndex){this.find('ul.thumbs').children().eq(prevIndex).fadeTo('fast',onMouseOutOpacity).end().eq(nextIndex).fadeTo('fast',1.0);},onPageTransitionOut:function(callback){this.fadeTo('fast',0.0,callback);},onPageTransitionIn:function(){this.fadeTo('fast',1.0);}});};var setupLightBoxImages=function(iPageControlKey){var data=NewMind.ETWP.ControlData[iPageControlKey].AdditionalImages;var $container=$("div.c"+iPageControlKey);var aryLightboxImageLinks=[];for(var i=0;i<data.length;i++){aryLightboxImageLinks.push('<a href="'+data[i]+'" class="fullsizeImage"> &nbsp; </a>');}$container.append($('<div class="fullSizeLinksWrapper" style="left: -9999px;">'+aryLightboxImageLinks.join('')+'</div>'));};var setupLightbox=function(iPageControlKey){var $container=$("div.c"+iPageControlKey);$container.find("a.fullsizeImage").lightBox({imageLoading:NewMind.ETWP.GetResource('NewMind.env.imgs.resources.lightbox["loading"]',NewMind.env.platform.sharedJSHost+'/jquery/plugins/lightbox/images/lightbox-ico-loading.gif'),imageBtnClose:NewMind.ETWP.GetResource('NewMind.env.imgs.resources.lightbox["close"]',NewMind.env.platform.sharedJSHost+'/jquery/plugins/lightbox/images/lightbox-btn-close.gif'),imageBtnPrev:NewMind.ETWP.GetResource('NewMind.env.imgs.resources.lightbox["previmage"]',NewMind.env.platform.sharedJSHost+'/jquery/plugins/lightbox/images/lightbox-btn-prev.gif'),imageBtnNext:NewMind.ETWP.GetResource('NewMind.env.imgs.resources.lightbox["nextimage"]',NewMind.env.platform.sharedJSHost+'/jquery/plugins/lightbox/images/lightbox-btn-next.gif'),imageBlank:NewMind.ETWP.GetResource('NewMind.env.imgs.resources.lightbox["imageBlank"]',NewMind.env.platform.sharedJSHost+'/jquery/plugins/lightbox/images/lightbox-blank.gif'),txtImage:NewMind.ETWP.GetResource('NewMind.env.lang.resources.lightbox["image"]','Image'),txtOf:NewMind.ETWP.GetResource('NewMind.env.lang.resources.lightbox["of"]','of')});$container.find("#slideshow_"+iPageControlKey).click(function(e){e.stopImmediatePropagation();var $target=$(e.target).parent("a");var fullsizeImageIndex=Number(String($target.attr('href').split('#')[1]).replace('#',''));fullsizeImageIndex=fullsizeImageIndex-2;if(fullsizeImageIndex<0){fullsizeImageIndex=(NewMind.ETWP.ControlData[iPageControlKey].AdditionalImages.length-1);}if(isNaN(fullsizeImageIndex)){fullsizeImageIndex=0;}$('div.c'+iPageControlKey+' div.fullSizeLinksWrapper a').eq(fullsizeImageIndex).click();});};return{Init:function(iPageControlKey){setupSlideShowDivs(iPageControlKey);setupGallery(iPageControlKey);setupLightBoxImages(iPageControlKey);setupLightbox(iPageControlKey);}};})();NewMind.registerNameSpace("NewMind.ETWP.ProductDetails.RelatedProductsPaging").SetupPaging=function(wrapperSelector,pageSize){var $objWrapper=$(wrapperSelector);var intPageSize=parseInt(pageSize,10);if(($objWrapper.length>0)&&!isNaN(intPageSize)&&(intPageSize>0)){$(document).ready(function(){var pageNum=1;var $relatedProductItems=$objWrapper.find('.relatedproductitem');if($relatedProductItems.length>intPageSize){$relatedProductItems.each(function(index){if(index>=(intPageSize*pageNum)){pageNum++;}if(pageNum>1){$(this).hide();}$(this).addClass('page'+pageNum);});$objWrapper.append('<a href="#" class="pagingNextBtn">'+NewMind.ETWP.GetResource('NewMind.env.lang.resources.productdetail.relatedproducts["pagingbutton"]','More')+'</a>');var $pagingBtn=$objWrapper.find('.pagingNextBtn');$pagingBtn.data('pageNum',1);var pagingHandler=function(event){event.preventDefault();var $currentPage=$pagingBtn.data('pageNum');if($currentPage<pageNum){$objWrapper.find('.page'+($currentPage+1)).slideDown('fast',function(){$pagingBtn.data('pageNum',$currentPage+1);if($pagingBtn.data('pageNum')>=pageNum){$pagingBtn.hide().unbind('click',pagingHandler);}NewMind.ETWP.TabSwitcherHelpers.CheckForTabReSize($pagingBtn);});}};$pagingBtn.click(pagingHandler);}});}};
NewMind.registerNameSpace("NewMind.ETWP");NewMind.ETWP.GroupedFacilities=function(){var elementTitle="h3";var elementSubTitle="h4";var prodFacilities=function(sContainer){$(sContainer+" "+elementTitle).wrapInner('<a href="#" title="'+NewMind.ETWP.GetResource('NewMind.env.lang.resources.productdetail["showhidefacilities"]','Show / Hide')+'"></a>').parent().find("ul, "+elementSubTitle).hide().end().find('a').toggle(showFacilities,hideFacilities);};var showFacilities=function(){var $this=$(this);var callback=function(){};NewMind.ETWP.TabSwitcherHelpers.CheckForTabReSize($this);var className=$this.parent()[0].className;var $parent=$this.parent().parent();$parent.find("ul."+className+", ul."+className+" + "+elementSubTitle).show('normal',callback);};var hideFacilities=function(){var className=$(this).parent()[0].className;var $parent=$(this).parent().parent();$parent.find("ul."+className+", ul."+className+" + "+elementSubTitle).hide();};var setOptions=function(objOptions){if(typeof(objOptions.TitleTag)!=="undefined"){elementTitle=objOptions.TitleTag;}if(typeof(objOptions.SubTitleTag)!=="undefined"){elementSubTitle=objOptions.SubTitleTag;}};return{init:function(objOptions){setOptions(objOptions);prodFacilities("div.facilities");},unbind:function(){$("div.facilities a").unbind('click');},rebind:function(){$("div.facilities "+elementTitle+" a[href='#']").toggle(showFacilities,hideFacilities);}};}();
NewMind.registerNameSpace("NewMind.ETWP.ProviderStats");$(document).ready(function(){$('.ProvClick').live('click',function(e){var strChanId=null;var intProdKey=null;if(NewMind.Vars){strChanId=NewMind.Vars.Page.ChannelID;if(NewMind.Vars.Page.ProductKey){intProdKey=NewMind.Vars.Page.ProductKey;}}var strProvStatId=$(this).attr('name');NewMind.ETWP.ProviderStats.UpdateProviderStats(strProvStatId,strChanId,intProdKey);});$('.ProvClickCustom').live('click',function(e){var arrData=$(this).attr('name').split("|");if(arrData.length!==3){return;}NewMind.ETWP.ProviderStats.UpdateProviderStats(arrData[0],arrData[1],arrData[2]);});});NewMind.ETWP.ProviderStats.UpdateProviderStats=function(strProvStatId,strChanId,intProdKey){if((!strProvStatId)||(!strChanId)||(!intProdKey)){return;}var strUrl='/engine/updateProviderStats.asp?channel_id='+strChanId+'&product_key='+intProdKey+'&provider_id='+strProvStatId;$.get(strUrl);};
NewMind.registerNameSpace("NewMind.ETWP");NewMind.ETWP.ActiveTabSwitchers={};NewMind.ETWP.TabSwitcher=function(){var $panels,$container,$parentContainer,horizontal,$scroll,bAnimation,containerSelector,iCtrlKey,tabNamedInURL,arySubControls;var eventTabChange=new NewMind.CustomEvent();var eventTabChangePreResize=new NewMind.CustomEvent();var eventTabChangePostResize=new NewMind.CustomEvent();var eventContainerResized=new NewMind.CustomEvent();var eventTabControlLoaded=new NewMind.CustomEvent();var eventTabPostScroll=new NewMind.CustomEvent();var setup=function(container,scrollHorizontal,scrollButtons,scrollAnimation){containerSelector=container;$parentContainer=$(container);$container=$parentContainer.find('div.tabContainer');$panels=$container.find('div.tab');horizontal=scrollHorizontal;bAnimation=scrollAnimation;if(scrollAnimation){$panels.css("display","block");}var containerWidth=$parentContainer.parent().width();if($panels.length>0){containerWidth=$panels.eq(0).outerWidth();}$parentContainer.width(containerWidth);if(horizontal){$panels.css({'float':'left','position':'relative'});if($panels.length>0&&$panels[0].offsetWidth!==0&&tabNamedInURL===undefined){$container.css('width',$panels[0].offsetWidth*$panels.length+$panels.length);}}$scroll=$container.parent().css('overflow','hidden');if(scrollButtons){$scroll.before('<span class="scrollButtons left">&lt;<span class="buttonImg">&nbsp;</span></span>').after('<span class="scrollButtons right">&gt;<span class="buttonImg">&nbsp;</span></span>');}};var bindNav=function(){$parentContainer.find('div.tabNavigation ul.tabNav a').click(selectNav);};var selectNav=function(e){eventTabChange.fire();var $navItem=$(e.target);e.preventDefault();$navItem.parents('ul:first').find('li, a').removeClass('selected').end().end().addClass('selected').parent().addClass('selected');var sID=String($navItem.attr("id")).replace("tabnav_","");var tabLoaded=$("#tabContainer"+iCtrlKey+" #"+sID).length===1;if(!tabLoaded){var tabLoadingTitle=NewMind.ETWP.GetResource('NewMind.env.lang.resources.tabs["tabLoadingTitle"]',"<p>Tab Loading</p>");var tabLoadingText=NewMind.ETWP.GetResource('NewMind.env.lang.resources.tabs["tabLoadingText"]',"<p>Please wait a moment, and try again.</p>");$.growlUI(tabLoadingTitle,tabLoadingText);if($(".c"+iCtrlKey+" .productTabs .tabContainer").children().length>0){if(tabNamedInURL===undefined){$(".c"+iCtrlKey).find('ul.tabNav a:first').trigger('click');}else{$(".c"+iCtrlKey).find('ul.tabNav a#tabnav_'+tabNamedInURL).trigger('click');}}}else{finaliseTabSelection(sID);}};var finaliseTabSelection=function(sID){if(bAnimation){scroll();}else{$panels.hide().filter('[id="'+sID+'"]').show();}$panels.removeClass('selected').filter('[id="'+sID+'"]').addClass('selected');eventTabChangePreResize.fire();resizeContainer(sID);eventTabChangePostResize.fire();};var trigger=function(data){$parentContainer.find('div.tabNavigation ul.tabNav li').removeClass('selected').find('a[href$="'+data.id+'"]').parent().addClass('selected').end().find('div.tab').removeClass('selected');$(data.id).addClass('selected');resizeContainer(data.id);eventTabPostScroll.fire();};var scroll=function(){var offset=parseInt((horizontal?$container.css('paddingTop'):$container.css('paddingLeft'))||0,10)*-1;var scrollOptions={items:$panels,navigation:containerSelector+' .tabNav a',prev:containerSelector+' span.left',next:containerSelector+' span.right',axis:'xy',onAfter:trigger,offset:offset,duration:500,easing:'swing'};$scroll.serialScroll(scrollOptions);};var resizeContainer=function(sID){var tabHeight=$("#"+sID).outerHeight();if(tabHeight<100){tabHeight=100;}$container.height(tabHeight);$container.parent().height(tabHeight);var navHeight=$parentContainer.find("div.tabNavigation").height();$parentContainer.height(tabHeight+navHeight);eventContainerResized.fire();};var trimTabs=function(sContainer){$(function(){var iNoChildren=0;$(sContainer+' > div.tab').each(function(){var tab=$(this);iNoChildren=tab.children().length;if(iNoChildren===0||(iNoChildren===tab.children(':empty').length)||(iNoChildren===1&&($(tab.children()[0]).children().length===0||String(tab.children()[0].tagName).toLowerCase()==="script"))){tab.parents('div.ctl_Tabs').find('ul.tabNav a[href$="'+tab[0].id+'"]').parent().remove();tab.remove();}});var navLinks=$(sContainer).parents('div.ctl_Tabs').find('div.tabNavigation ul.tabNav a');if(navLinks.length>0){if(navLinks.filter(".selected").length===0){$(navLinks[0]).trigger('click');}}});};var selectFirstTab=function(sContainer){var $tabContainer=$(sContainer);$tabContainer.css("position","relative");if(window.location.hash){selectTabByAnchorName(sContainer,NewMind.ETWP.GetFirstHashItem().replace('#',''));}else{if($(".c"+iCtrlKey+" .productTabs .tabContainer").children().length>0){if(tabNamedInURL===undefined){$tabContainer.find('ul.tabNav a:first').trigger('click');}else{$tabContainer.find('ul.tabNav a#tabnav_'+tabNamedInURL).trigger('click');}}}};var selectTabByAnchorName=function(sContainer,sAnchorName){var el=getTabNavItemFromTabContentAnchorName(sContainer,sAnchorName);if(el!==undefined){$(el).trigger('click');}};var getTabNavItemFromTabContentAnchorName=function(sContainer,sAnchorName){var el;if(sAnchorName!==''){var $tabContainer=$(sContainer);var anchorEl=$tabContainer.find('a[name="'+sAnchorName+'"]');var actualTab=anchorEl.parents('div.tab');if(actualTab.length>0){var id=actualTab.get(0).id;el=$tabContainer.find('ul.tabNav a#tabnav_'+id).get(0);}else{el=$tabContainer.find('ul.tabNav a:first').get(0);}}return el;};this.Init=function(params){iCtrlKey=params.tabControlKey;tabNamedInURL=params.tabNamedInURL;arySubControls=params.tabSubControls;var sContainer=params.container?params.container:"div.ctl_Tabs";var bHorizontal=params.scrollHorizontal?params.scrollHorizontal:true;var bScrollButtons=params.scrollButtons?params.scrollButtons:false;var bScrollAnimation=params.scrollAnimation?params.scrollAnimation:false;setup(sContainer,bHorizontal,bScrollButtons,bScrollAnimation);bindNav();var fireSelectFirstTab=function(){selectFirstTab(sContainer);};fireSelectFirstTab();if(!$.browser.msie&&bScrollAnimation){setTimeout(fireSelectFirstTab,500);}eventTabControlLoaded.fire();trimTabs($container.selector);};this.SelectNav=function(d){selectNav(d);};this.ResizeContainer=function(e){var $parentTab=$(this).parents('div.tab.selected');if($parentTab.length>0){resizeContainer($parentTab[0].id);}};this.ResizeContainerFromJQueryObject=function($element){var $parentTab=$element.parents('div.tab.selected');if($parentTab.length>0){resizeContainer($parentTab[0].id);}};this.AutoResize=function(){var $selectedTab=$container.find('div.tab.selected');if($selectedTab.length>0){resizeContainer($selectedTab[0].id);}};this.TrimTabs=function(sContainer){trimTabs(sContainer);};this.SelectTabByAnchorName=function(sContainer,sAnchorName){selectTabByAnchorName(sContainer,sAnchorName);};this.TabChange=eventTabChange;this.TabChangePreResize=eventTabChangePreResize;this.TabChangePostResize=eventTabChangePostResize;this.ContainerResized=eventContainerResized;this.TabControlLoaded=eventTabControlLoaded;this.TabPostScroll=eventTabPostScroll;};
(function(){var objMap;var ptStart=null;var objEleWidgetContainer;var strContainerId;var objProdOverlay=null;var objItinOverlay=null;var objProxOverlay=null;var objInfoBoxOpenHandler=null;var objItinOverlayDisplayHandler=null;var bMapInited=false;NewMind.registerNameSpace("NewMind.tourism.settings");NewMind.tourism.settings.mappingDefaultPolyOn=true;NewMind.tourism.loadGenericSearchResultsMap=function(strContainerIdToInit){if(!bMapInited){strContainerId=strContainerIdToInit;searchResultsLoadMain();if(NewMind.Vars){if(typeof(NewMind.Vars.Page)!=="undefined"){if(parseInt(NewMind.Vars.Page.ProductKey,10)>0){$.get('/engine/updateProviderStats.asp?channel_id='+NewMind.Vars.Page.ChannelID+'&product_key='+NewMind.Vars.Page.ProductKey+'&provider_id=MAPVIEW');}}}}else{objMap.toggleVisibility();}bMapInited=true;};NewMind.tourism.resetSearchResultsMap=function(){if(!objProdOverlay){return;}arrRequestHistory=[];NewMind.ajax.AJAX_MAPPING_DATA_REQUIRED=true;objProdOverlay.DataSource.LoadedProducts={};objProdOverlay.reset();objMap.updateView(true);};function searchResultsLoadMain(){var objMapConfig=NewMind.env.install.mapping.configurations[strContainerId];if(!objMapConfig){return;}var bShowSearchResults=objMapConfig.showsearchresults;var bShowExcursion=objMapConfig.showexcursion;var bShowWidgets=objMapConfig.showwidgets;var bShowMapFilters=objMapConfig.showfilters;var bShowListMapLink=objMapConfig.showlistmaplink;var objEleCheckbox;objMap=NewMind.mapping.addMap(strContainerId,objMapConfig.api);objMap.mapstractionMap.addLargeControls();objMap.mapstractionMap.addMapTypeControls();objEleWidgetContainer=document.getElementById("mapWidgetContainer");if(typeof(NewMind.env.singleproductdetail)!=="undefined"){NewMind.mapping.DebugOutput("Handling NewMind.env.singleproductdetail");NewMind.mapping.DebugOutput("- Items: "+NewMind.env.singleproductdetail.length);var objMyDataSource=function(){this.isDynamic=false;};NewMind.extend(objMyDataSource,NewMind.mapping.MapDataSource);objMyDataSource.prototype.getData=function(){var arrMarkerData=[];var prodDataItem=NewMind.env.singleproductdetail[0];arrMarkerData.push(NewMind.tourism.ProductMapDataSource.prototype.getProdMarkerData(prodDataItem));return{complete:true,error:0,data:arrMarkerData};};var objOverlaySingleProduct=new NewMind.mapping.MarkerOverlay(new objMyDataSource);objMap.addOverlay('singleproduct',objOverlaySingleProduct,true);objMap.infoBoxOpened.subscribe(function(type,args){var mkr=args[0];objMap.mapstractionMap.removeMarker(mkr);objMap.mapstractionMap.addMarker(mkr);});if(typeof(NewMind.env.singleproductdetail)!=="undefined"){for(var intIndex=0;intIndex<NewMind.env.singleproductdetail.length;intIndex++){var objProductItem=NewMind.env.singleproductdetail[intIndex];ProductCache.AddEntry(objProductItem,{InSearchResults:true});ProductCache.GetEntry(objProductItem.product_key).Detail=".";}}}else if(bShowSearchResults){objProdOverlay=new NewMind.mapping.MarkerOverlay(new NewMind.tourism.ProductMapDataSource());objProdOverlay.Decluttering=true;var objGroupMarker=new mxn.Marker(new mxn.LatLonPoint(0.0,0.0));objGroupMarker.addData({"icon":"/images/DynamicMapping/shared_gfx/mkr-grp.png","iconSize":[27,30],"iconAnchor":[12,0]});objProdOverlay.DeclutteringOptions.marker=objGroupMarker;objMap.addOverlay('dynamicProds',objProdOverlay);if(objEleWidgetContainer){var objEleCheckbox=objProdOverlay.getShowHideCheckbox();var showHideResultsText=NewMind.ETWP.GetResource('NewMind.env.lang.resources.searchresults["dynamicmapping"]["showhidesearchresults"]','show / hide Search Results');objEleWidgetContainer.appendChild(objEleCheckbox);objEleCheckbox.checked=true;wrapShowHideCheck(objEleCheckbox,showHideResultsText);}var pmdFilterWgt=null;if(bShowMapFilters){new NewMind.tourism.ProductMarkerFilterWidget(objProdOverlay,document.getElementById('mapFilters'));}if(bShowListMapLink){if($('div.googleView').length>0){$container=$('div.googleView');}else{$container=$('div.dynMapContainer');}var strProductsOnMap=NewMind.ETWP.GetResource('NewMind.env.lang.resources.searchresults["dynamicmapping"]["productsonmap"]','Products on Map');$container.after('<div id="mapProductList"><h3>'+strProductsOnMap+'</h3><ul></ul></div>');new NewMind.tourism.ProductSearchResultsWidget(objProdOverlay,document.getElementById('mapProductList'));}}if(bShowExcursion){objItinOverlay=new NewMind.mapping.MarkerOverlay(new NewMind.tourism.ItineraryMapDataSource());objItinOverlay.Decluttering=true;var objGroupMarker=new mxn.Marker(new mxn.LatLonPoint(0.0,0.0));objGroupMarker.addData({"icon":"/images/DynamicMapping/shared_gfx/mkr-grp-itn.png","iconSize":[27,30],"iconAnchor":[12,0]});objItinOverlay.DeclutteringOptions.marker=objGroupMarker;objMap.addOverlay('itinProds',objItinOverlay);if(objEleWidgetContainer){var objEleCheckbox=objItinOverlay.getShowHideCheckbox();var showHideText=NewMind.ETWP.GetResource('NewMind.env.lang.resources.searchresults["dynamicmapping"]["showhideitineraryitems"]','show / hide Itinerary Items');objEleWidgetContainer.appendChild(objEleCheckbox);objEleCheckbox.checked=true;wrapShowHideCheck(objEleCheckbox,showHideText);$(objEleCheckbox).click(function(e){if(this.checked){objItinOverlayDisplayHandler.ShowItinOverlay();}else{objItinOverlayDisplayHandler.HideItinOverlay();}});}function PopProductCacheWithExcursionData(){for(var intIndex=0;intIndex<NewMind.env.excursion.length;intIndex++){var objExcursionItem=NewMind.env.excursion[intIndex];ProductCache.AddEntry(objExcursionItem);var intProductKey=objExcursionItem.product_key;ProductCache.GetEntry(intProductKey).Detail=objExcursionItem.info;}}PopProductCacheWithExcursionData();}objItinOverlayDisplayHandler=new CItinOverlayDisplayHandler();if(typeof(NewMind.env.wayfinderkey)!=="undefined"){var intCtrlKey=NewMind.env.install.mapping.configurations[strContainerId].controlkey;var intWayFinderKey=parseInt(NewMind.env.wayfinderkey,10);var objPolyOverlay;$.get('?PartialRenderControlList='+intCtrlKey,{wf_key:intWayFinderKey,wfact:'wfmap'},function(data){objPolyOverlay=new NewMind.mapping.PolylineOverlay(data);objMap.addOverlay('wayfinder'+intWayFinderKey,objPolyOverlay);var nlRoutePoints=data.documentElement.getElementsByTagName('rtept');var intMinLon=null;var intMinLat=null;var intMaxLon=null;var intMaxLat=null;for(var iRP=0;iRP<nlRoutePoints.length;iRP++){var intLon=nlRoutePoints[iRP].getAttribute('lon');var intLat=nlRoutePoints[iRP].getAttribute('lat');if((intMinLon===null)||(intLon<intMinLon)){intMinLon=intLon;}if((intMaxLon===null)||(intLon>intMaxLon)){intMaxLon=intLon;}if((intMinLat===null)||(intLat<intMinLat)){intMinLat=intLat;}if((intMaxLat===null)||(intLat>intMaxLat)){intMaxLat=intLat;}}objMap.mapstractionMap.setBounds(new mxn.BoundingBox(intMinLat,intMinLon,intMaxLat,intMaxLon));$('#'+strContainerId).find('div.MMnoprint').css('display','block');$('#'+strContainerId).find('div.MMnoprint').css('background-color','#C499A0');},'xml');}if((!bShowWidgets)&&(objEleWidgetContainer)){$(objEleWidgetContainer).hide();}if(!bShowMapFilters){$("#mapFilters").hide();}objInfoBoxOpenHandler=new CInfoBoxOpenHandler(objMap);InterceptProductDetailLinks();objMap.mapstractionMap.addEventListener('moveend',MapMoved,false);CenterMapUsingAvailableData();function MapMoved(){if(NewMind.mapping.DISABLE_DATA_REQUESTS===true){if(ptStart===null){return;}var ptCurrent=objMap.mapstractionMap.getCenter();var Dist=DistComparison(ptStart,ptCurrent);var bMatch=(Dist<DistIsCloseEnough());if(!bMatch){NewMind.mapping.DebugOutput("MapMoved - waiting for Map to Init fully [current distance from init point: "+Dist+" km]");}else{NewMind.mapping.DebugOutput("MapMoved - arrived at init point [distance: "+Dist+" km]");NewMind.mapping.DISABLE_DATA_REQUESTS=false;objMap.updateView(true,true);}}function DistComparison(pt1,pt2){var ptLL1=new LatLng(pt1.lat,pt1.lng||pt1.lon);var ptLL2=new LatLng(pt2.lat,pt2.lng||pt2.lon);var Dist=ptLL1.distance(ptLL2);NewMind.mapping.DebugOutput("DistComparison: LatLngDist: "+Dist);return Dist;}function DistIsCloseEnough(){var intZoom=objMap.mapstractionMap.getZoom();var dist=Math.pow(4,7-(intZoom/2));NewMind.mapping.DebugOutput("DistIsCloseEnough - Zoom:"+intZoom+" Dist: "+dist);return dist;}}}function wrapShowHideCheck(oInp,sText){var checkedState=oInp.checked;$(oInp).wrap('<div class=\"chk-overlayshowhide '+oInp.id+'\"></div>').after('<label for=\"'+oInp.id+'\">'+sText+'</label>');oInp.checked=checkedState;}function CInfoBoxOpenHandler(objMap){var bIgnoreOpenEvent=false;var intLastProdKey=null;var intRetryCountLimit=30;var intRetryTimeout=500;this.ReOpenInfoBox=function(objMkr){if((!objMkr)||(!objMkr.getAttribute("product"))){return;}var intProdKey=objMkr.getAttribute("product").product_key;if(!intProdKey){return;}if(intProdKey!==intLastProdKey){return;}objMkr.openBubble();};objMap.infoBoxOpened.subscribe(function(type,args){if(bIgnoreOpenEvent){return;}var objMkr=args[0];if(!objMkr){return;}intLastProdKey=objMkr.getAttribute("product").product_key;InfoBoxOpenWorker(objMkr);});function InfoBoxOpenWorker(objMkr,intRetryCount){var objProdData=objMkr.getAttribute("product");if(!objProdData){return;}var intProdKey=objProdData.product_key;if(intProdKey!==intLastProdKey){return;}if((typeof(intRetryCount)==="undefined")||isNaN(intRetryCount)){intRetryCount=0;}if(intRetryCount<2){NewMind.mapping.DebugOutput("InfoBoxOpenWorker [RetryCount: "+intRetryCount+"]");}else if(intRetryCount==2){NewMind.mapping.DebugOutput("InfoBoxOpenWorker [RetryCount: ..]");}if(objMkr.getAttribute("IsInfoBoxReady")!==true){intRetryCount++;if(intRetryCount<=intRetryCountLimit){setTimeout(function(){InfoBoxOpenWorker(objMkr,intRetryCount);},intRetryTimeout);return;}}else if(intRetryCount!==0){bIgnoreOpenEvent=true;objMkr.openBubble();bIgnoreOpenEvent=false;}setTimeout(InfoBoxBindings,100);}function InfoBoxBindings(){setTimeout(UpdateInfoBoxItinButtons,500);InterceptProductDetailLinks();BindPhotoSynthLinks();externalLinks();}function UpdateInfoBoxItinButtons(){var arrItinBtns=$("div.dynMapContainer div.InfoBoxContent p.ex_AddButton > a");arrItinBtns.each(function(i){var objEle=this;if(!objEle.AttachedItinButtonHandler){var objNode=$(this);var intProdKey=GetProdKeyFromContainer(objEle);if((intProdKey)&&(ProductCache.IsProductInItin(intProdKey))){objNode.addClass("ep_Added");}objNode.click(NewMind.ajax.itinButtonClickHandler);objEle.AttachedItinButtonHandler=true;}});function GetProdKeyFromContainer(objEle){var objEleCont=GetContainer(objEle);if(!objEleCont){return null;}var arrClass=String(objEleCont.className).split(" ");var strClass=null;for(var iC=0;iC<arrClass.length;iC++){strClass=arrClass[iC];if((strClass.length<2)||(strClass.substring(0,1)!=="p")){strClass=null;}else{break;}}if(strClass===null){return null;}var intProdKey=parseInt(strClass.substring(1,strClass.length));if(isNaN(intProdKey)){return null;}return intProdKey;function GetContainer(objEle){while(objEle){if((objEle.parentNode===objEle)||(!objEle.parentNode)){break;}objEle=objEle.parentNode;if($(objEle).hasClass("InfoBoxContent")){return objEle;}}return null;}}}function BindPhotoSynthLinks(){if(jQuery!==undefined){$("ul.photosynths a").click(NewMind.ETWP.PhotoSynths.RenderPhotoSynth);return false;}}}function CenterMapUsingAvailableData(){NewMind.mapping.DebugOutput("CenterMapUsingAvailableData");if(isMapInitialised()){CenterMapUsingAvailableData_Inner();}else{kickMap();executeWhenReady(function(){if(isMapInitialised()){NewMind.mapping.DebugOutput("CenterMapUsingAvailableData: Initialised!");return true;}return false;},CenterMapUsingAvailableData_Inner,function(intAttempts,intMaxAttempts){kickMap();});}function kickMap(){var $map=$(objMap.mapstractionMap.currentElement);objMap.mapstractionMap.resizeTo($map.width(),$map.height());}function executeWhenReady(fncCondition,fncSuccess,fncProgress,intInterval,intMaxAttempts,intAttempts){if(!fncCondition||!fncSuccess){return;}intInterval=parseInt(intInterval,10);if(isNaN(intInterval)||(intInterval<=0)){intInterval=100;}intMaxAttempts=parseInt(intMaxAttempts,10);if(isNaN(intMaxAttempts)||(intMaxAttempts<=0)){intMaxAttempts=50;}intAttempts=parseInt(intAttempts,10);if(isNaN(intAttempts)||(intAttempts<0)){intAttempts=0;}if(intAttempts>=intMaxAttempts){NewMind.mapping.DebugOutput("- Give up");fncSuccess();return;}var bSuccess=false;try{bSuccess=fncCondition();}catch(e){}if(bSuccess){try{fncSuccess();}catch(e){}return;}intAttempts++;if(fncProgress){fncProgress(intAttempts,intMaxAttempts);}setTimeout(function(){executeWhenReady(fncCondition,fncSuccess,fncProgress,intInterval,intMaxAttempts,intAttempts);},100);}return;function isMapInitialised(){try{var d=objMap.mapstractionMap.getBounds();}catch(err){NewMind.mapping.DebugOutput("isMapInitialised: not Initialised!");return false;}if(!d||!d.ne||!d.sw){return false;}if(isNaN(d.ne.lat)||isNaN(d.sw.lat)||isNaN(d.ne.lon)||isNaN(d.sw.lon)){return;}if((d.sw.lat==d.ne.lat)||(d.sw.lat==d.ne.lat)){return false;}return true;}}function CenterMapUsingAvailableData_Inner(){var bGotPoly=false;var bGotProx=false;var bGotProdLatLon=false;var bGotSingleProduct=false;var llProxPoint=null;if((NewMind.env.search)&&(NewMind.env.search.polygon)){var strPolyOverlayID="polygon";if(!objMap.getOverlay(strPolyOverlayID)){var polygon={color:'#0000FF',width:1,opacity:0.5,closed:true,fillColor:'#CCCCFF',points:[]};var plypts=NewMind.env.search.polygon.points;for(var iPCount=0;iPCount<plypts.length;iPCount++){polygon.points.push({lat:plypts[iPCount].y,lon:plypts[iPCount].x});}var objPolyOverlay=new NewMind.mapping.PolylineOverlay(polygon);objMap.addOverlay(strPolyOverlayID,objPolyOverlay);if(objEleWidgetContainer){var objEleCheckbox=objPolyOverlay.getShowHideCheckbox();var showHideAreaText=NewMind.ETWP.GetResource('NewMind.env.lang.resources.searchresults["dynamicmapping"]["showhideareaoutlines"]','show / hide Area Outlines');objEleWidgetContainer.appendChild(objEleCheckbox);objEleCheckbox.checked=true;wrapShowHideCheck(objEleCheckbox,showHideAreaText);}if(!NewMind.tourism.settings.mappingDefaultPolyOn){objPolyOverlay.hide();}}bGotPoly=true;}if((NewMind.env.search)&&(NewMind.env.search.proximity)){var strProxOverlayID="proxProd";if((NewMind.env.search.proximity.latitude!==null)&&(NewMind.env.search.proximity.longitide!==null)){var llProxPoint=new mxn.LatLonPoint(NewMind.env.search.proximity.latitude,NewMind.env.search.proximity.longitude);}else{var osP=new OSRef(NewMind.env.search.proximity.eastings,NewMind.env.search.proximity.northings);var llProxPoint=osP.toLatLng();}if(!objMap.getOverlay(strProxOverlayID)){var arrProxMkrData=[{lat:llProxPoint.lat,lon:llProxPoint.lng,label:NewMind.env.search.proximity.product_name,infoBubble:NewMind.env.search.proximity.product_name,showProximity:true,icon:"/images/DynamicMapping/shared_gfx/mkr-prox.png",iconSize:[23,26],iconAnchor:[12,0]}];objProxOverlay=new NewMind.mapping.MarkerOverlay(arrProxMkrData);objMap.addOverlay(strProxOverlayID,objProxOverlay);if(objEleWidgetContainer){var objEleCheckbox=objProxOverlay.getShowHideCheckbox();var showHideProxText=NewMind.ETWP.GetResource('NewMind.env.lang.resources.searchresults["dynamicmapping"]["showhideproximityradius"]','show / hide Proximity Radius');objEleWidgetContainer.appendChild(objEleCheckbox);objEleCheckbox.checked=true;wrapShowHideCheck(objEleCheckbox,showHideProxText);}}bGotProx=true;}if((NewMind.env.search)&&(NewMind.env.search.prodsEN)){bGotProdLatLon=true;}if(typeof(NewMind.env.singleproductdetail)!=="undefined"){bGotSingleProduct=true;}var bAwaitingAjaxMapData=false;if((NewMind.ajax)&&(NewMind.ajax.AJAX_MAPPING_DATA_REQUIRED===true))bAwaitingAjaxMapData=true;if((ProductCache.GetCount()>0)&&(!bAwaitingAjaxMapData)){UpdateProdsLatLon();if((NewMind.env.search)&&(NewMind.env.search.prodsEN)){bGotProdLatLon=true;}}var hashMapDetails=(function(){var hashMapDetails={'mapx':String($.bbq.getState('mapx')||''),'mapy':String($.bbq.getState('mapy')||''),'mapz':String($.bbq.getState('mapz')||'')};return hashMapDetails;})();if(hashMapDetails.mapx!==''&&hashMapDetails.mapy!==''&&hashMapDetails.mapz!==''){var ptCentre=new mxn.LatLonPoint(hashMapDetails.mapy,hashMapDetails.mapx);NewMind.mapping.DebugOutput("- Position in url hash");ptStart=ptCentre;NewMind.mapping.DebugOutput("- Set ptStart [Hash] to: "+ptStart.toString());objMap.mapstractionMap.setCenterAndZoom(ptCentre,hashMapDetails.mapz);}else if(bGotProx){var ptCentre=new mxn.LatLonPoint(llProxPoint.lat,llProxPoint.lng);NewMind.mapping.DebugOutput(" - Proximity specified");ptStart=ptCentre;NewMind.mapping.DebugOutput("- Set ptStart [Proximity] to: "+ptStart.toString());objMap.mapstractionMap.setCenterAndZoom(ptCentre,13);}else if(bGotPoly){NewMind.mapping.DebugOutput(" - Polygon specified");var llSW=new mxn.LatLonPoint(NewMind.env.search.polygon.swy,NewMind.env.search.polygon.swx);var llNE=new mxn.LatLonPoint(NewMind.env.search.polygon.ney,NewMind.env.search.polygon.nex);ptStart=GetCentrePointWithinBounds(llSW,llNE);var polyBounds=new mxn.BoundingBox(llSW.lat,llSW.lng,llNE.lat,llNE.lng);NewMind.mapping.DebugOutput("- Set ptStart [Polygon] to: "+ptStart.toString());objMap.mapstractionMap.setBounds(polyBounds);}else if(bGotSingleProduct){NewMind.mapping.DebugOutput("- Centered over single product");var ptCentre=new mxn.LatLonPoint(NewMind.env.singleproductdetail[0].latitude,NewMind.env.singleproductdetail[0].longitude);ptStart=ptCentre;NewMind.mapping.DebugOutput("- Set ptStart [single product] to: "+ptStart.toString());var iZoomLevel=15;if(NewMind.env.install.mapping.configurations[strContainerId].api==='google'){iZoomLevel=17;}objMap.mapstractionMap.setCenterAndZoom(ptCentre,iZoomLevel);}else if(bGotProdLatLon){NewMind.mapping.DebugOutput("- Centered over products (prodsLatLon)");var llSW=new mxn.LatLonPoint(NewMind.env.search.prodsEN.swy,NewMind.env.search.prodsEN.swx);var llNE=new mxn.LatLonPoint(NewMind.env.search.prodsEN.ney,NewMind.env.search.prodsEN.nex);ptStart=GetCentrePointWithinBounds(llSW,llNE);NewMind.mapping.DebugOutput("- Set ptStart [ProdsLatLon] to: "+ptStart.toString());NewMind.mapping.DebugOutput("set bounds "+llSW.lat+","+llSW.lng+","+llNE.lat+","+llNE.lng);setTimeout(function(){objMap.mapstractionMap.setBounds(new mxn.BoundingBox(llSW.lat,llSW.lng,llNE.lat,llNE.lng));},500);NewMind.mapping.DebugOutput("get bounds "+objMap.mapstractionMap.getBounds().toString());}else{var ptCentre=new mxn.LatLonPoint(NewMind.env.install.mapping.home.lat,NewMind.env.install.mapping.home.lon);NewMind.mapping.DebugOutput("- Default / home location");ptStart=ptCentre;NewMind.mapping.DebugOutput("- Set ptStart [Default] to: "+ptStart.toString());objMap.mapstractionMap.setCenterAndZoom(ptCentre,NewMind.env.install.mapping.home.zoom);}function GetCentrePointWithinBounds(pt1,pt2){var sngLat=(pt1.lat+pt2.lat)/2;var sngLng=(pt1.lng+pt2.lng)/2;return new mxn.LatLonPoint(sngLat,sngLng);}}function InterceptMappingPreDataCallback(fncCallback){var fncOld=NewMind.tourism.ProductMapDataSource.prototype.preGetData;NewMind.tourism.ProductMapDataSource.prototype.preGetData=function(){if(fncCallback.apply(this,arguments)===false){return false;}return fncOld.apply(this,arguments);};}InterceptMappingPreDataCallback(ProductDataSource_PreGetData);function InterceptMappingSuccessCallback(fncCallback){var fncOld=NewMind.tourism.ProductMapDataSource.prototype.handleSuccess;NewMind.tourism.ProductMapDataSource.prototype.handleSuccess=function(){var varRet=fncOld.apply(this,arguments);fncCallback.apply(this,arguments);return varRet;};}InterceptMappingSuccessCallback(ProductDataSource_PostGetData);function CProductCache(){var objEntries={};var intCount=0;this.AddEntry=function(objData,objCustomAttribs){var intProdKey=objData.product_key;if(objEntries.hasOwnProperty(intProdKey)){objEntries[intProdKey].Stub=objData;}else{intCount++;objEntries[intProdKey]={ProductKey:objData.product_key,Stub:objData,Detail:null};}if(objCustomAttribs){var objEntry=objEntries[intProdKey];for(i in objCustomAttribs){objEntry.Custom=objEntry.Custom||{};objEntry.Custom[i]=objCustomAttribs[i];}}};this.GetEntry=function(intProdKey){return objEntries[intProdKey]||null;};this.GetKeys=function(){return GetKeyList(true,true);};this.GetKeysWithoutDetail=function(){return GetKeyList(false,true);};function GetKeyList(bWithDetail,bWithoutDetail){var arrKeys=[];for(var intProdKey in objEntries){if(objEntries.hasOwnProperty(intProdKey)){if((bWithDetail)&&(objEntries[intProdKey].Detail!==null))arrKeys.push(intProdKey);else if((bWithoutDetail)&&(objEntries[intProdKey].Detail===null))arrKeys.push(intProdKey);}}return arrKeys;}this.GetMarkerInitData=function(intProdKey,objOverlay){var objEntry=ProductCache.GetEntry(intProdKey);if(!objEntry)return null;if((typeof(objOverlay)!=="object")||(objOverlay===null)){if((objItinOverlay)&&(objItinOverlay.getShowing())&&(IsProductInItin(intProdKey))){objOverlay=objItinOverlay;}else{objOverlay=objProdOverlay;}}var objProduct=objEntry.Stub;var ptLocationOSRef=new OSRef(objProduct.eastings,objProduct.northings);var ptLocationLatLon=ptLocationOSRef.toLatLng();var objIconData=objOverlay.DataSource.getMarkerIcon(objProduct.prodtype_id);return{label:objProduct.product_name,lat:ptLocationLatLon.lat,lon:ptLocationLatLon.lng,icon:objIconData.iconUrl,iconSize:objIconData.iconSize,iconAnchor:objIconData.iconAnchor,product:objProduct};};this.IsProductInItin=IsProductInItin;function IsProductInItin(intProdKey){if((!NewMind.env)||(!NewMind.env.excursion))return false;for(var iEx=0;iEx<NewMind.env.excursion.length;iEx++)if(NewMind.env.excursion[iEx].product_key===intProdKey)return true;return false;};this.IsProductInSearchResults=IsProductInSearchResults;function IsProductInSearchResults(intProdKey){var objEntry=ProductCache.GetEntry(intProdKey);if(!objEntry){return false;}return((objEntry.Custom)&&(objEntry.Custom.InSearchResults));}this.GetCount=function(){return intCount;};}var ProductCache=new CProductCache();var arrRequestHistory=[];function ProductDataSource_PreGetData(strPostUrl,objData){if(NewMind.mapping.DISABLE_DATA_REQUESTS===true)return false;var objEntry=null;for(var intIndex=0;intIndex<arrRequestHistory.length;intIndex++){if(arrRequestHistory[intIndex].DataSource===this){objEntry=arrRequestHistory[intIndex];break;}}if(objEntry===null){objEntry={DataSource:this,RequestHistory:[]};arrRequestHistory.push(objEntry);}return DoWeNeedToProcessThis(objEntry.RequestHistory,strPostUrl,objData);function DoWeNeedToProcessThis(arrRequestHistory,strPostUrl,objData){if(typeof(objData)==="undefined")objData=null;arrId=[];if(objData!=null)for(i in objData)arrId.push(i+"="+objData[i]);var strId=arrId.join("&");bProcess=true;for(var intIndex=0;intIndex<arrRequestHistory.length;intIndex++){if(arrRequestHistory[intIndex]===strId){bProcess=false;break;}}if(bProcess)arrRequestHistory.push(strId);return bProcess;}}function ProductDataSource_PostGetData(){NewMind.mapping.DebugOutput("ProductDataSource Callback: Data = "+String(arguments[1]).substring(0,100));var bTooManyItems=false;var rawData=eval(arguments[1]);if(rawData.length>0){if(rawData[0].count){bTooManyItems=true;}else{for(var intIndex=0;intIndex<rawData.length;intIndex++){var objDataItem=rawData[intIndex];ProductCache.AddEntry(objDataItem,{InSearchResults:true});}UpdateProductCacheDetailData();}}if(NewMind.ajax.AJAX_MAPPING_DATA_REQUIRED===true){NewMind.ajax.AJAX_MAPPING_DATA_REQUIRED=false;NewMind.mapping.DebugOutput("ProductDataSource Callback: AJAX_MAPPING_DATA_REQUIRED");if(bTooManyItems)NewMind.mapping.DebugOutput("- Too many items");else{NewMind.mapping.DebugOutput("- Need to adjust Map Centre");UpdateProdsLatLon();CenterMapUsingAvailableData();}}UpdateMarkerInfoBoxes();objItinOverlayDisplayHandler.AssertZIndexOrdering();}function UpdateProductCacheDetailData(arrProdKeysLimit,fncCallback){if(typeof(arrProdKeysLimit)==="undefined")arrProdKeysLimit=null;else{if(!isNaN(arrProdKeysLimit))arrProdKeysLimit=[arrProdKeysLimit];}if(typeof(fncCallback)==="undefined")fncCallback=null;var arrProdKeysToRetrieve=ProductCache.GetKeysWithoutDetail();if(arrProdKeysToRetrieve.length==0)return;if(arrProdKeysLimit!==null){for(var intIndex=arrProdKeysToRetrieve.length-1;intIndex>=0;intIndex--){var bInLimitList=false;for(var intIndexLimit=0;intIndexLimit<arrProdKeysLimit.length;intIndexLimit++){if(arrProdKeysToRetrieve[intIndex]===arrProdKeysLimit[intIndexLimit]){bInLimitList=true;break;}}if(!bInLimitList)arrProdKeysToRetrieve.splice(intIndex,1);}}if(arrProdKeysToRetrieve.length==0){return;}var objEleLoading=objMap.getLoadingMessageClone(true);var intCtrlKey=NewMind.env.install.mapping.configurations[strContainerId].controlkey;var strProdKeyList=arrProdKeysToRetrieve.join(",");var strQS=NewMind.ajax.CleanCurrentUrlForAjax();strQS=strQS.slice(strQS.indexOf("?")+1);var strDataUrl="?AsyncAction=search-detail&PartialRenderControlList="+intCtrlKey+"&productkeys="+strProdKeyList+"&"+strQS;$.get(strDataUrl,null,Callback);function Callback(data,status){var bSuccess=CallbackInner(data,status);NewMind.mapping.DebugOutput("Callback for UpdateProductCacheDetailData [Success: "+bSuccess+"]");objEleLoading.parentNode.removeChild(objEleLoading);UpdateMarkerInfoBoxes();objItinOverlayDisplayHandler.AssertZIndexOrdering();if(fncCallback){fncCallback(bSuccess);}function CallbackInner(data,status){if(status!=="success"){alert("Product Detail retrieval failed");return false;}objMap.mapstractionMap.callEventListeners('moveend',{});var rawData=eval(data);for(var intIndex=0;intIndex<rawData.length;intIndex++){if(rawData[intIndex].info){var intProdKey=rawData[intIndex].product_key;ProductCache.GetEntry(intProdKey).Detail=rawData[intIndex].info;}}return true;}}}function UpdateProdsLatLon(arrLLs){NewMind.mapping.DebugOutput("&nbsp;> UpdateProdsLatLon");var arrLLs=GetProdLLsFromProductCache();var intMinN=null;var intMinE=null;var intMaxN=null;var intMaxE=null;for(var intIndex=0;intIndex<arrLLs.length;intIndex++){var intN=arrLLs[intIndex].lat;var intE=arrLLs[intIndex].lng;if((intMinN===null)||(intN<intMinN))intMinN=intN;if((intMaxN===null)||(intN>intMaxN))intMaxN=intN;if((intMinE===null)||(intE<intMinE))intMinE=intE;if((intMaxE===null)||(intE>intMaxE))intMaxE=intE;}NewMind.mapping.DebugOutput("Lowest and largest Lat Lon &nbsp;-> "+intMinE+","+intMinN+" - "+intMaxE+","+intMaxN);NewMind.env.search=NewMind.env.search||{};if((intMinN===null)||(intMaxN===null)||(intMinE===null)||(intMaxE===null))NewMind.env.search.prodsEN=null;else{var objBounds=ExpandBoundingBox(intMinE,intMaxE,intMinN,intMaxN);NewMind.env.search.prodsEN={swx:objBounds.MinE,swy:objBounds.MinN,nex:objBounds.MaxE,ney:objBounds.MaxN};NewMind.mapping.DebugOutput("&nbsp;-> "+objBounds.MinE+","+objBounds.MinN+" - "+objBounds.MaxE+","+objBounds.MaxN+" [Expanded]");}function GetProdLLsFromProductCache(){var arrLLs=[];if(ProductCache){var arrKeys=ProductCache.GetKeys();for(var intIndex=0;intIndex<arrKeys.length;intIndex++){var objStub=ProductCache.GetEntry(arrKeys[intIndex]).Stub;arrLLs.push({lat:objStub.latitude,lng:objStub.longitude});}}NewMind.mapping.DebugOutput("&nbsp;&nbsp;- GetProdLLsFromProductCache ["+arrLLs.length+"]");return arrLLs;}function ExpandBoundingBox(intMinE,intMaxE,intMinN,intMaxN){var sngTolerance=0.02;var intSizeE=intMaxE-intMinE;var intSizeN=intMaxN-intMinN;intMinE=intMinE-(intSizeE*sngTolerance);intMaxE=intMaxE+(intSizeE*sngTolerance);intMinN=intMinN-(intSizeN*sngTolerance);intMaxN=intMaxN+(intSizeN*sngTolerance);return{MinE:intMinE,MaxE:intMaxE,MinN:intMinN,MaxN:intMaxN};}}NewMind.tourism.updateMarkerInfoBoxes=UpdateMarkerInfoBoxes;function UpdateMarkerInfoBoxes(){if(!objMap){return;}var arrOverlayIds=objMap.getOverlayList();for(var intIndexOverlay=0;intIndexOverlay<arrOverlayIds.length;intIndexOverlay++){var objOverlay=objMap.getOverlay(arrOverlayIds[intIndexOverlay]);if(objOverlay.LoadedMarkers){var arrMarkers=objOverlay.LoadedMarkers;for(var intIndex=0;intIndex<arrMarkers.length;intIndex++){var objMkr=arrMarkers[intIndex];if(objMkr.getAttribute("IsInfoBoxReady")!==true){UpdateMarkerInfoBox(objMkr);}}}InterceptProductDetailLinks();}function UpdateMarkerInfoBox(objMkr){var objProdData=objMkr.getAttribute("product");if(!objProdData)return;var intProductKey=objProdData.product_key;var objProdData=ProductCache.GetEntry(intProductKey);var bGotData=true;if((!objProdData)||(!objProdData.Detail))bGotData=false;var bReqUpdate;if(objMkr.getAttribute("IsInfoBoxReady")===true){bReqUpdate=false;}else if(bGotData&&(objMkr.getAttribute("IsInfoBoxReady")===false)){bReqUpdate=true;}else{bReqUpdate=true;}if(bReqUpdate){var strContent;if(bGotData){strContent="<div class=\"InfoBoxContent p"+intProductKey+"\">"+objProdData.Detail+"</div>";}else strContent=GetLoadingMessage();objMkr.setAttribute("IsInfoBoxReady",bGotData);objMap.mapstractionMap.removeMarker(objMkr);objMkr.setInfoBubble(strContent);objMap.mapstractionMap.addMarker(objMkr);}function GetLoadingMessage(){var strOut="<h3>Loading..</h3><p>The data is still being loaded, please wait a few seconds and the data should automatically appear.</p>";return strOut;}}}NewMind.mapping.PanToProduct=function(intProdKey){if(isNaN(intProdKey))throw "NewMind.mapping.PanToProduct: Invalid / absent intProdKey";var objProdData=ProductCache.GetEntry(intProdKey);if(!objProdData)throw "NewMind.mapping.PanToProduct: Data not available in ProductCache";var ptLocationOS=new OSRef(objProdData.Stub.eastings,objProdData.Stub.northings);NewMind.mapping.PanToPoint(ptLocationOS,14);};NewMind.mapping.PanToPoint=function(ptCentre,intZoom){var arrMapIds=NewMind.mapping.getMapIDList();if(arrMapIds.length==0)return null;var strMapId=arrMapIds[0];var objMap=NewMind.mapping.getMap(strMapId);if(!objMap)return;if(!ptCentre)return;var ptCentreLatLng;if((!isNaN(parseFloat(ptCentre.lat)))&&(!isNaN(parseFloat(ptCentre.lng))||!isNaN(parseFloat(ptCentre.lon))))ptCentreLatLng=ptCentre;else if(ptCentre.toLatLng)ptCentreLatLng=ptCentre.toLatLng();else ptCentreLatLng=null;if(!ptCentreLatLng)return;objMap.mapstractionMap.setCenterAndZoom(ptCentreLatLng,intZoom);ElementScrollTo(document.getElementById(strMapId));};function InterceptProductDetailLinks(){if(!objMap)return;var arrElePaths=[];arrElePaths.push(".ctl_ProductList a.ProductDetail");arrElePaths.push("div.dynMapContainer a.ProductDetail");$(arrElePaths.join(",")).each(StoreMapPosInUrl);$(".ctl_ProductList ul.paging li a").each(StoreMapPosInUrl);$(".ctl_ProductList ul.paging li a").each(StoreMapPosInLinkDest);function StoreMapPosInUrl(){if(this.proddetailfixed){return;}this.proddetailfixed=true;$(this).click(function(e){var objPos=GetMapPos();var mapState={'mapx':objPos.MapX,'mapy':objPos.MapY,'mapz':objPos.MapZ};$.bbq.pushState(mapState);});}function StoreMapPosInLinkDest(){var objEleSrc=this;if(this.linkdestincmappos){return;}this.linkdestincmappos=true;$(objEleSrc).click(function(){StoreMapPosInLinkDest_Click(objEleSrc);});function StoreMapPosInLinkDest_Click(objEleLink){var objPos=GetMapPos();var mapState={'mapx':objPos.MapX,'mapy':objPos.MapY,'mapz':objPos.MapZ};$.bbq.pushState(mapState);}}function GetMapPos(){var ptCenterLatLon=objMap.mapstractionMap.getCenter();return{MapX:NewMind.correctFloatError(ptCenterLatLon.lon),MapY:NewMind.correctFloatError(ptCenterLatLon.lat),MapZ:objMap.mapstractionMap.getZoom()};}}function CItinOverlayDisplayHandler(){function InterceptProdDataSourceExcursionTest(){var fncOld=NewMind.tourism.ProductMapDataSource.prototype.checkProductMarkerNotInExcursion;NewMind.tourism.ProductMapDataSource.prototype.checkProductMarkerNotInExcursion=function(oMkr){if((objItinOverlay)&&(!objItinOverlay.getShowing())){return true;}return(fncOld.apply(this,arguments));};}InterceptProdDataSourceExcursionTest();NewMind.ajax.itinUpdated.subscribe(ItinUpdated,this,true);objMap.mapstractionMap.addEventListener('moveend',AssertZIndexOrdering,false);this.HideItinOverlay=function(){if(!objItinOverlay)return;objItinOverlay.hide();if((objProdOverlay)&&(objProdOverlay.getShowing())){var arrProdKeys=GetItinProdKeys();for(var iEx=arrProdKeys.length-1;iEx>=0;iEx--){var intProdKey=arrProdKeys[iEx];if(!ProductCache.IsProductInSearchResults(intProdKey)){arrProdKeys.splice(iEx,1);}}AddMarkersToOverlay(objProdOverlay,arrProdKeys);for(var iMkr=0;iMkr<objProdOverlay.LoadedMarkers.length;iMkr++){var objMkr=objProdOverlay.LoadedMarkers[iMkr];objMkr.show();}}AssertZIndexOrdering();};this.ShowItinOverlay=function(){if(!objItinOverlay)return;if(objProdOverlay){for(var iIndex=objProdOverlay.LoadedMarkers.length-1;iIndex>=0;iIndex--){var objMkr=objProdOverlay.LoadedMarkers[iIndex];var intProdKey=objMkr.getAttribute("product").product_key;if(ProductCache.IsProductInItin(intProdKey)){objMkr.hide();}}}objItinOverlay.show();var arrProdKeys=GetItinProdKeys();AddMarkersToOverlay(objItinOverlay,arrProdKeys);AssertZIndexOrdering();};function ItinUpdated(type,args,me){if(!objItinOverlay)return;if(!objItinOverlay.getShowing())return;for(var iEx=objItinOverlay.LoadedMarkers.length-1;iEx>=0;iEx--){var objMkr=objItinOverlay.LoadedMarkers[iEx];var intProdKey=objMkr.getAttribute("product").product_key;if(!ProductCache.IsProductInItin(intProdKey)){objItinOverlay.LoadedMarkers.splice(iEx,1);objMap.mapstractionMap.removeMarker(objMkr);}}this.HideItinOverlay();this.ShowItinOverlay();if(NewMind.env.install.mapping.configurations[strContainerId].api!=='google'){var strItinUpdateAction=args[0];var intProdKey=parseInt(args[1]);if((strItinUpdateAction==="add")&&(!isNaN(intProdKey))){if((objItinOverlay)&&(objItinOverlay.getShowing())){var arrMarkers=objItinOverlay.LoadedMarkers;for(var intIndex=0;intIndex<arrMarkers.length;intIndex++){var objMkr=arrMarkers[intIndex];if(objMkr.getAttribute("product")&&(objMkr.getAttribute("product").product_key===intProdKey)){objInfoBoxOpenHandler.ReOpenInfoBox(objMkr);break;}}}}}setTimeout(AssertZIndexOrdering,100);};this.AssertZIndexOrdering=AssertZIndexOrdering;function AssertZIndexOrdering(){ProcessMarkerZIndexes(objItinOverlay,SetPositive);ProcessMarkerZIndexes(objProdOverlay,SetNegative);ProcessMarkerZIndexes(objProxOverlay,SetZero);function ProcessMarkerZIndexes(objOverlay,fncProcess){if((!objOverlay)||(!fncProcess))return;var arrMkrEles=GetMarkerElesForOverlay(objOverlay);for(var iMkrEle=0;iMkrEle<arrMkrEles.length;iMkrEle++){var objMkrEle=arrMkrEles[iMkrEle];var intZIndex=objMkrEle.style.zIndex;if(!isNaN(intZIndex)){objMkrEle.style.zIndex=fncProcess(intZIndex);}}}function SetPositive(intIn,bForce){var intIn=Math.abs(parseInt(intIn));if((bForce!==false)&&(intIn===0))intIn=1;return intIn;}function SetNegative(intIn,bForce){return -SetPositive(intIn,bForce);}function SetZero(intIn,bForce){return 0;}function GetMarkerElesForOverlay(objOverlay){if(!objOverlay)return null;var arrMkrEles=[];arrMkrEles=arrMkrEles.concat(GetMarkerEles(objOverlay));arrMkrEles=arrMkrEles.concat(GetClusterMarkerEles(objOverlay));return arrMkrEles;function GetMarkerEles(objOverlay){var arrMkrEles=[];if((objOverlay)&&(objOverlay.LoadedMarkers)){for(var iMkr=0;iMkr<objOverlay.LoadedMarkers.length;iMkr++){var objMkr=objOverlay.LoadedMarkers[iMkr];var objMkrEle=GetMultiMapMarkerDivFromProperietaryMarker(objMkr);if(objMkrEle){arrMkrEles.push(objMkrEle);}}}return arrMkrEles;}function GetClusterMarkerEles(objOverlay){var arrMkrEles=[];if((objOverlay.DeclutteringOptions)&&(objOverlay.DeclutteringOptions.marker)&&(objOverlay.DeclutteringOptions.marker.iconUrl)){var strIcon=objOverlay.DeclutteringOptions.marker.iconUrl;var strSelector=".dynMapContainer img[src='"+strIcon.replace("'","\\'")+"']";$(strSelector).each(function(i){var objImg=this;var objMkr=objImg.parentNode.parentNode;arrMkrEles.push(objMkr);});}return arrMkrEles;}function GetMultiMapMarkerDivFromProperietaryMarker(objMkr){var objMkrProp=objMkr.proprietary_marker;for(i in objMkrProp){if(objMkrProp.hasOwnProperty(i)){var objTemp=objMkrProp[i];if((objTemp)&&(objTemp.tagName)){if((String(objTemp.tagName).toLowerCase()==="div")&&(String(objTemp.className)==="MMMarker")){return objTemp;}}}}return null;}}}function AddMarkersToOverlay(objOverlay,arrProdKeys){var arrMkrData=[];for(var iIndex=0;iIndex<arrProdKeys.length;iIndex++){var intProdKey=arrProdKeys[iIndex];var objMkrExisting=GetMarkerFromOverlay(objOverlay,intProdKey);if(!objMkrExisting){var objDataEntry=ProductCache.GetMarkerInitData(intProdKey,objOverlay);if(objDataEntry){arrMkrData.push(objDataEntry);}}else{objMkrExisting.show();}}if(arrMkrData.length>0){objOverlay.addMarkers(arrMkrData);UpdateMarkerInfoBoxes();}function GetMarkerFromOverlay(objOverlay,intProdKey){for(var iMkr=0;iMkr<objOverlay.LoadedMarkers.length;iMkr++){var objMkr=objOverlay.LoadedMarkers[iMkr];var intMkrProdKey=objMkr.getAttribute("product").product_key;if(intMkrProdKey===intProdKey){return objMkr;}}return null;}}function GetItinProdKeys(){var arrOut=[];if(NewMind.env.excursion){for(var iIndex=0;iIndex<NewMind.env.excursion.length;iIndex++){var intProdKey=NewMind.env.excursion[iIndex].product_key;arrOut.push(intProdKey);}}return arrOut;}}})();
(function(){NewMind.registerNameSpace("NewMind.env.lang.dynamicmapping");NewMind.registerNameSpace("NewMind.mapping");NewMind.mapping.DEBUG=(function(){var objQuerystring=NewMind.ETWP.GetQuerystringData();var strDebugFlag=objQuerystring.get("MapDebug");if(strDebugFlag===null)return false;strDebugFlag=String(strDebugFlag).toLowerCase();return((strDebugFlag==="1")||(strDebugFlag==="true"));})();NewMind.mapping.DISABLE_STORE_POS_IN_HASH=true;NewMind.mapping.DISABLE_DATA_REQUESTS=true;NewMind.mapping.MapInit=new(function(){this.InitOnLoad=function(){window.toggleSearchResultsMap=function(strId){if(NewMind.env.install.mapping.configurations[strId].showlistmaplink!==true){$('body').toggleClass('mapShow');}NewMind.tourism.loadGenericSearchResultsMap(strId);};InitializeDynamicMappingControls();InitializeItineraryPanToLinks();DisplaySearchResultsMap();if((NewMind.tourism)&&(NewMind.tourism.updateMarkerInfoBoxes)){NewMind.tourism.updateMarkerInfoBoxes();}};this.InitDynamicMappingControls=function(){InitializeDynamicMappingControls();};this.DisplaySearchResultsMap=function(){DisplaySearchResultsMap();};function InitializeDynamicMappingControls(){if(window.mxn){if(NewMind.tourism&&NewMind.tourism.settings){NewMind.tourism.settings['mappingDefaultPolyOn']=false;}}$("dd.showResultsOnMap, div.showResultsOnMap").each(function(index){var objEle=$(this)[0];var strTagName=objEle.tagName;var strClass=objEle.className;var strTitle=objEle.title;var strInnerContent="<input type=\"checkbox\" name=\"autoshowmap\" id=\"showonmap_"+index+"\" value=\"-1\" class=\"checkbox\" />"+"<label for=\"showonmap_"+index+"\">"+strTitle+"</label>";strOut="<"+strTagName+" class=\""+strClass+"\">"+strInnerContent+"</"+strTagName+">";$(this).replaceWith(strOut);});$('input.checkbox[name=autoshowmap]').each(function(){if(window.location.search.indexOf('autoshowmap')>-1){this.checked=true;}});$('#SearchByMap').hide(0);}function InitializeItineraryPanToLinks(){$("div.ctl_ItineraryDetail td.item a.point").removeClass("hidden");}function DisplaySearchResultsMap(){var jqMapContainer=$('div.dynMapContainer');if(jqMapContainer.length>0){var strMapId=jqMapContainer[0].id;if(NewMind.env.install.mapping.configurations[strMapId].showfilters){var langSearchFilters=NewMind.ETWP.GetResource('NewMind.env.lang.resources.searchresults["dynamicmapping"]["searchfilters"]','SearchFilters');if(NewMind.env.install.mapping.configurations[strMapId].api==='google'){jqMapContainer.addClass('mapView').after('<div class="dynMapContainer mapView googleView"><div id="mapFilters" class="mapFilters"><h3>'+langSearchFilters+'</h3></div><div id="mapWidgetContainer" class="mapWidgetContainer"></div></div>');}else{jqMapContainer.addClass('mapView').html('<div id="mapFilters" class="mapFilters"><h3>'+langSearchFilters+'</h3></div><div id="mapWidgetContainer" class="mapWidgetContainer"></div>');}}if(NewMind.env.install.mapping.configurations[strMapId].showalways!==true||NewMind.env.install.mapping.configurations[strMapId].showlistmaplink===true){if(NewMind.env.install.mapping.configurations[strMapId].showmaplink===true&&NewMind.env.install.mapping.configurations[strMapId].showlistmaplink!==true){if($('#mapShowHideLink').length===0){jqMapContainer.after('<a href="" id="mapShowHideLink">'+NewMind.ETWP.GetResource('NewMind.env.lang.resources.searchresults["dynamicmapping"]["showhidemaplink"]','Show / Hide Map')+'</a>');$('#mapShowHideLink').click(function(e){e.preventDefault();toggleSearchResultsMap(strMapId);});}}}if(window.location.search.indexOf('autoshowmap')>-1||(NewMind.env.install.mapping.configurations[strMapId].showalways&&NewMind.env.install.mapping.configurations[strMapId].showlistmaplink!==true)){toggleSearchResultsMap(strMapId);var objMap=NewMind.mapping.getMap(strMapId);for(var intIndex=0;intIndex<arrSubscribers.length;intIndex++){var fncCallback=arrSubscribers[intIndex];try{fncCallback(objMap);}catch(e){}}}}var jqListMapContainer=$('div.listMapLinkContainer');if(jqListMapContainer.length>0&&jqMapContainer.length>0){var strMapId=jqMapContainer[0].id;if(NewMind.env.install.mapping.configurations[strMapId].showlistmaplink===true){$('div.dynMapContainer').hide();$('div#mapProductList').hide();var mapText=NewMind.ETWP.GetResource('NewMind.env.lang.resources.searchresults["dynamicmapping"]["showasmap"]','Show as Map');var listText=NewMind.ETWP.GetResource('NewMind.env.lang.resources.searchresults["dynamicmapping"]["showaslist"]','Show as List');var mapListHTML='<ul class="listMapLinks"><li class="showListLink showList"><a href="">'+listText+'</a></li><li class="showMapLink"><a href="">'+mapText+'</a></li></ul>';jqListMapContainer.html(mapListHTML);$('.showListLink').click(function(e){e.preventDefault();$('.showListLink').addClass('showList');$('.showMapLink').removeClass('showMap');$('body').removeClass('mapShow');$('div.dynMapContainer').hide();$('div#mapProductList').hide();$('div.ProductListMain').show();$('div.ctl_SearchRefineSummary').show();});$('.showMapLink').click(function(e){e.preventDefault();$('.showListLink').removeClass('showList');$('.showMapLink').addClass('showMap');$('body').addClass('mapShow');$('div.dynMapContainer').show();$('div#mapProductList').show();$('div.ProductListMain').hide();$('div.ctl_SearchRefineSummary').hide();});$('.showMapLink').one('click',function(e){e.preventDefault();toggleSearchResultsMap(strMapId);});if(window.location.search.indexOf('autoshowmap')>-1){$('.showMapLink').trigger('click');}}}}var arrSubscribers=[];this.SubscribeToInitEvent=function(fncCallback){if(!fncCallback)return;arrSubscribers[arrSubscribers.length]=fncCallback;};this.UnsubscribeToInitEvent=function(fncCallback){if(!fncCallback)return;for(var intIndex=arrSubscribers.length-1;intIndex>=0;intIndex--)if(arrSubscribers[intIndex]===fncCallback)arrSubscribers.splice(intIndex,1);};});$(document).ready(NewMind.mapping.MapInit.InitOnLoad);})();
NewMind.registerNameSpace("NewMind.ETWP.PhotoSynths");NewMind.ETWP.PhotoSynths.RenderPhotoSynth=function(){var $this=$(this);if($this.length>0){var sSynthURL=$this[0].href;var objRegEx=new RegExp("cid\=[a-zA-Z0-9\-]+");objRegEx.ignoreCase=true;objRegEx.global=true;var objRegExMatch=""+objRegEx.exec(sSynthURL);var sSynthID="";if(objRegExMatch.length>0){sSynthID=String(objRegExMatch[0]).replace('cid=','');}if(sSynthID.length>0){var html='<div class="photosynthPlayer player-'+sSynthID+'"><span class="close"><a class="close" href="#" title="'+NewMind.ETWP.GetResource('NewMind.env.lang.resources.productdetail["photosynths"]["close"]','Close')+'"><img src="'+NewMind.ETWP.GetResource('NewMind.env.imgs.resources.productdetail["photosynths"]["close"]','/engine/shared_gfx/close-black.gif')+'" alt="'+NewMind.ETWP.GetResource('NewMind.env.lang.resources.productdetail["photosynths"]["close"]','Close')+'" /></a></span> <div class="player"><iframe src="'+sSynthURL+'" height="400" width="500"></iframe> </div></div>';$.blockUI({message:html,css:{width:'500px',backgroundColor:'#000',height:'425px',top:'30%',left:'30%'},baseZ:5000});$('div.blockOverlay').attr('title','Click to Close').click($.unblockUI);$('div.blockMsg div.player-'+sSynthID+' a.close').click($.unblockUI);}return false;}};
var gElem;function AttachLoadEvent(fnEvent){var fnPrevEvent=window.onload;if(typeof window.onload!='function' )window.onload=fnEvent;else window.onload=function(){if(fnPrevEvent)fnPrevEvent();fnEvent();}}function BookingUI_Get(asName){return document.getElementById(asName);}function BookingUI_Show(aObj,abShow){aObj.style.display=abShow?"block":"none";}function BookingUI_ShowN(asName,abShow){var obj=document.getElementById(asName);if(obj==null){}else BookingUI_Show(obj,abShow);}function BookingUI_VwStay(asName){if(asName!=null){gElem=BookingUI_Get(asName);var iStayNum=parseInt(asName.substring("StayCandidateItem".length,asName.length));var frm=BookingUI_Get("FrmUnitOptions");BookingUI_TeleBookPaintUI(frm,iStayNum,true);}else BookingUI_ShowN("pnTeleBook_PromptCall",false);BookingUI_Show(gElem,asName!=null);BookingUI_ShowN("StayCandidateList",asName==null);return false;}function BookingUI_UnitSelect(aRadioBtn){var iUnitKey=aRadioBtn.value;var iStart=aRadioBtn.name.indexOf("_")+1;var iEnd=aRadioBtn.name.indexOf("_",iStart);var iStayNum=parseInt(aRadioBtn.name.substring(iStart,iEnd));BookingUI_TeleBookPaintUI(aRadioBtn.form,iStayNum,true);}function BookingUI_TeleBookPaintUI(aForm,aiStayNum,abShowTeleBookMsg){var iThisReq,radioButtons,iThisElem,bTeleBook,btnBookOnline;bTeleBook=false;if(typeof(iTotalNonBookableUnits)!="undefined")for(iThisReq=1;iThisReq<=iTotalNonBookableUnits&&!bTeleBook;++iThisReq){radioButtons=aForm["unit_"+aiStayNum+"_"+iThisReq];if(typeof(radioButtons.length)=="undefined")bTeleBook=BookingUI_TeleBook(aiStayNum,radioButtons.value);else for(iThisElem=0;iThisElem<radioButtons.length;++iThisElem)if(radioButtons[iThisElem].checked&&BookingUI_TeleBook(aiStayNum,radioButtons[iThisElem].value)){bTeleBook=true;break;}}btnBookOnline=BookingUI_Get("bookstay_"+aiStayNum);if(btnBookOnline){BookingUI_Show(btnBookOnline,!bTeleBook);if(abShowTeleBookMsg)BookingUI_ShowN("pnTeleBook_PromptCall",bTeleBook);}}function BookingUI_TeleBook(aiStayNum,aiUnitKey){if(typeof window["aryNonBookableUnits_"+aiStayNum]!="undefined"){return $.inArray(aiUnitKey,window["aryNonBookableUnits_"+aiStayNum]);}else{return false;}}function HideStayCandidates(iStayNum){if(iStayNum>1){for(iStay=1;iStay<=iStayNum;iStay++){stayCandidate=BookingUI_Get("StayCandidateItem"+iStay);BookingUI_Show(stayCandidate,false);}}return true;}function BookingUI_OnLoad(){var frm=BookingUI_Get("FrmUnitOptions");if(frm!=null){if(frm["_nStays"]){var iNumStays=parseInt(frm["_nStays"].value);var bTeleBookMsg=(iNumStays==1);for(iThisStay=0;iThisStay<iNumStays;++iThisStay){BookingUI_TeleBookPaintUI(frm,iThisStay+1,bTeleBookMsg);}}}}AddEventListener(window,'load',BookingUI_OnLoad);
NewMind.registerNameSpace("NewMind.ETWP");NewMind.ETWP.ProductList=function(){var productListLoadingStartEvent=new NewMind.CustomEvent("ProductListLoadingStart");var productListCallBackEvent=new NewMind.CustomEvent("ProductListLoaded");var loadingAnimation="/engine/shared_gfx/ajax-loader-arrows-white.gif";var loadingText="updating...";var loadingHTML="";var resultsAjaxError="Sorry an Error Has Occurred, Please Try Again";var bookmarkMessage="To share / save this search use this link: ";var bScriptDebug=true;var numBlockUIFadeOut=0;var numBlockUIFadeIn=0;var loadingMessage=loadingHTML.length>0?loadingHTML:loadingText+' <img src="'+loadingAnimation+'" alt="'+loadingText+'" />';var bNoCache=NewMind.ETWP.NoCache;var blockUISettings={message:loadingMessage,centerX:false,centerY:false,showOverlay:true,fadeIn:numBlockUIFadeIn,fadeOut:numBlockUIFadeOut,css:{backgroundColor:'#fff',cursor:'wait',top:'0',left:'0',textAlign:'center'},overlayCSS:{backgroundColor:'#fff',opacity:'0.6'}};var initProximityRadioFormComplete=false;var initHashChangeComplete=false;var pagetitle=document.title;var bindProdListLinks=function(){$('div.ctl_ProductList ul.paging a').bind("click.newmind.productlist.productlist.paging",function(){var $this=$(this);var url=$this.attr('href');$.bbq.pushState({'productlist':url});$this.unbind("click.newmind.productlist.productlist.paging");return false;});$('div.ctl_ProductList div.ProdListReorder select').bind("change.newmind.productlist.productlist.paging",function(){var $this=$(this);var url=location.pathname+$this.val();$.bbq.pushState({'productlist':url});$this.unbind("change.newmind.productlist.productlist.paging");});};var prodListAjaxIntercept=function(strUrl){var $objProdLists=$('div.ctl_ProductList');if($objProdLists.length>0){var $objProdList=$objProdLists.eq(0);var arrProdListMain=$objProdList.children("div.ProductListMain");if(arrProdListMain.length===0){return;}productListLoadingStartEvent.fire();startLoading($objProdList);var intCtrlKey=NewMind.ETWP.GetControlKey($objProdList[0]);var objArgs={AsyncAction:"ProductListMainOnly",PartialRenderControlList:intCtrlKey,PartialRenderType:"html",NoCache:bNoCache};productListCallBackEvent.subscribe(finishLoading);productListCallBackEvent.subscribe(bindProdListLinks);productListCallBackEvent.subscribe(function(){if(NewMind.ajax){$("div.ctl_ProductList p.ex_AddButton a").click(NewMind.ajax.itinButtonClickHandler);}});$.ajax({type:"GET",url:strUrl,data:objArgs,success:ajaxSuccess,error:ajaxError});}};var initHashChange=function(){if(initHashChangeComplete){return;}initHashChangeComplete=true;var bTriggerHandler=true;var bStaticProximitySearch=$('div.ctl_ProductList input[name=proxprodtype]').length>0;if(!bStaticProximitySearch){var strProductListUrlState=($.bbq.getState('productlist')||'');if(strProductListUrlState.length===0){$.bbq.pushState({'productlist':location.pathname+location.search});bTriggerHandler=false;}}var bindHashChange=function(){$(window).bind('hashchange',function(){var strProductListUrlState=String($.bbq.getState('productlist')||'');var strProxProdTypeUrlState=String($.bbq.getState('proxprodtype')||$('div.ctl_ProductList input.defaultproxprodtype[name=proxprodtype]').attr('value')||'');var strProxProdTypeUrl=String(location.pathname+"?proxprodtype="+strProxProdTypeUrlState);if(strProxProdTypeUrlState.length>0){$('div.ctl_ProductList').find('input[value='+strProxProdTypeUrlState+']').attr("checked","checked");proximityAjaxIntercept(strProxProdTypeUrl);}else if(strProductListUrlState.length>0){prodListAjaxIntercept(strProductListUrlState);}});if(bTriggerHandler){$(window).trigger('hashchange');}};setTimeout(bindHashChange,500);};var startLoading=function($objProdList){var $containers=$objProdList.find("div.ProductListMain");$containers.parent().find("span.ajaxError").hide();$containers.block(blockUISettings);$("div.blockUI.blockMsg").addClass("ProductListBlockElement");};var finishLoading=function(){$("div.ProductListMain").unblock().parent().find("img.loadingImage").hide();};var ajaxError=function(XMLHttpRequest,textStatus,errorThrown){var $container=$("div.ctl_ProductList");var $ajaxError=$container.find("span.ajaxError");var errorMsg=resultsAjaxError;if(bScriptDebug){errorMsg=errorMsg+" : "+textStatus;}if($ajaxError.length===0){$("<span class=\"ajaxError\" style=\"opacity: 0\"> "+errorMsg+"</span>").insertBefore($container.find(".results")).fadeTo("slow",1);}else{$ajaxError.fadeIn();}productListCallBackEvent.fire();};var ajaxSuccess=function(data,textStatus){var $data=$(data);var $container=$("div.ctl_ProductList div.ProductListMain");var $newResults=$data.find("div.ProductListMain").block(blockUISettings);var currentOffset=NewMind.ETWP.GetScrollDistanceFromTopOfBody();var targetOffset=$container.parent().offset().top;if(targetOffset<currentOffset){$("html,body").animate({scrollTop:targetOffset},1000);}setTimeout(function(){$container.replaceWith($newResults);var scriptContent=[];$data.find('script').each(function(){scriptContent.push($(this).html());});eval(scriptContent.join(" "));productListCallBackEvent.fire();document.title=pagetitle;},numBlockUIFadeOut);};var proximityAjaxIntercept=function(strUrl){var $objProdLists=$('div.ctl_ProductList');if($objProdLists.length>0){var $objProdList=$objProdLists.eq(0);var arrProdListMain=$objProdList.children("div.ProductListMain");if(arrProdListMain.length===0){return;}productListLoadingStartEvent.fire();startLoading($objProdList);var intCtrlKey=NewMind.ETWP.GetControlKey($objProdList[0]);var objArgs={AsyncAction:"ProductListMainOnly",PartialRenderControlList:intCtrlKey,PartialRenderType:"html",NoCache:bNoCache};productListCallBackEvent.subscribe(finishLoading);productListCallBackEvent.subscribe(bindProdListLinks);$.ajax({type:"GET",url:strUrl,data:objArgs,success:ajaxSuccess,error:ajaxError});}};var bindProximityRadioLinks=function(intControlKey,iProdKey){$objProdList=$('div.c'+intControlKey);$objProdList.find('div.submitContainer').hide();$objProdList.find('input[type="radio"]').each(function(){$this=$(this);$this.bind("click",function(){$strProdType=$(this).attr('value');$objProdList.find("div.row").removeClass("selected");$(this).parent().parent().addClass("selected");var url=location.pathname+"?proxprodtype="+$strProdType;$.bbq.pushState({'proxprodtype':$strProdType});});});};var objCtrlData={};function initGalleryButtons(intControlKey){var $objProxCtrl=$("div.c"+intControlKey);var $shownItemsWrapper=$objProxCtrl.find("ol.staticWhatsNearby");var $hiddenItemsWrapper=$objProxCtrl.find("ol.staticProxItemsWrapper").hide();var $shownItems=$shownItemsWrapper.find("li");var $hiddenItems=$hiddenItemsWrapper.find("li");var intNumToShow=$shownItems.length;objCtrlData[intControlKey]={VisibleItemsContainer:$shownItemsWrapper,HiddenItemsContainer:$hiddenItemsWrapper,VisibleCount:intNumToShow,TransitionFunction:NewMind.ETWP.HighlightedProducts.Transitions.Carousel,inTransition:false};if($hiddenItemsWrapper.length!==0){$hiddenItemsWrapper.hide();var $nextButton=$objProxCtrl.find(".proxProdsNext");var $prevButton=$objProxCtrl.find(".proxProdsPrev");$nextButton.click(function(){return staticProximityTransition(intControlKey,1);});$prevButton.click(function(){return staticProximityTransition(intControlKey,-1);});}}function staticProximityTransition(intCtrlKey,intDirection){var objCtrlSettings=objCtrlData[intCtrlKey];if(!objCtrlSettings.InTransition){objCtrlSettings.InTransition=true;var $shownItems=objCtrlSettings.VisibleItemsContainer.find("li");var $hiddenItems=objCtrlSettings.HiddenItemsContainer.find("li");var arrItemElesNew=[];if($hiddenItems.length<objCtrlSettings.VisibleCount){for(var i=0;i<$hiddenItems.length;i++){arrItemElesNew.push($hiddenItems[i]);}var intNumberOfItemsToAdd=objCtrlSettings.VisibleCount-arrItemElesNew.length;for(var i=0;i<intNumberOfItemsToAdd;i++){if(intDirection==1){arrItemElesNew.push($shownItems[i]);}else{arrItemElesNew.splice(0,0,$shownItems[($shownItems.length-1)-i]);}}}else{for(var i=0;i<objCtrlSettings.VisibleCount;i++){if(intDirection==1){arrItemElesNew.push($hiddenItems[i]);}else{arrItemElesNew.push($hiddenItems[i+($hiddenItems.length-objCtrlSettings.VisibleCount)]);}}}var arrItemElesOld=[];$shownItems.each(function(){arrItemElesOld.push(this);});var objTransitionData={ItemsToShow:arrItemElesNew,ItemsToHide:arrItemElesOld,VisibleCount:objCtrlSettings.VisibleCount,VisibleItemContainer:objCtrlSettings.VisibleItemsContainer[0],HiddenItemContainer:objCtrlSettings.HiddenItemsContainer[0],TransitionType:intDirection};objCtrlSettings.TransitionFunction(objTransitionData,function(){objCtrlSettings.InTransition=false;});}return false;}function processTripAdvisorRatings(strPartnerID){$(".TripAdvisor").click(function(e){var $this=$(this);var iframeID=$this.attr("id");var aryIDParts=iframeID.split("_");var iProductKey=aryIDParts[1];var $taPopup=$("#TripAdvisorRating_"+iProductKey);if($taPopup.attr("id")!==undefined){if($taPopup.css("display")!=="block"){$(".tripadvisorrating").fadeOut();$taPopup.show("slow").css("left",e.pageX).css("top",e.pageY);}}else{var $newIframe=$("<iframe style=\"display:none;\" id=\"TripAdvisorRating_"+iProductKey+"\" class=\"tripadvisorrating\" src=\"http://www.tripadvisor.co.uk/WidgetEmbed-cdspropertysummary?display=true&partnerId="+strPartnerID+"&locationId="+iProductKey+"&lang=en_UK"+"\" scrolling=\"no\" frameborder=\"0\"></iframe>");$("body").append($newIframe);$(".tripadvisorrating").fadeOut();$newIframe.css("position","absolute").css("left",e.pageX).css("top",e.pageY).css("z-index","99999").show("slow");}return false;});$("html").click(function(){$(".tripadvisorrating").fadeOut();});}var initUnitSel=function(){var $objProdLists=$("div.ctl_ProductList");var intCtrlKey=NewMind.ETWP.GetControlKey($objProdLists[0]);if(!NewMind.ETWP.ControlData[intCtrlKey].UnitSelPartialRenderLink)return;$.ajax({type:"GET",url:NewMind.ETWP.ControlData[intCtrlKey].UnitSelPartialRenderLink,data:{DisableCalendar:1,NoCache:bNoCache},success:ajaxSuccessUnitSelProdList});function ajaxSuccessUnitSelProdList(data,textStatus){var rawData=eval(data);}function ajaxErrorUnitSel(XMLHttpRequest,textStatus,errorThrown){var objDataDiv;try{objDataDiv=getUnitSelDataDiv(intCtrlKey,intProdKey);}catch(e){ajaxError(null,e.message,null);return;}var strErrorMsg=resultsAjaxError;if(bScriptDebug){strErrorMsg+=" : "+textStatus;}objDataDiv.innerHTML="<p>"+strErrorMsg+"</p>";}$("div.ctl_ProductList div.ProductListMain a.ViewPrices").each(function(){$(this).css({visibility:"visible"}).click(function(e){var objKeyData=getKeysFromLink(this);if(!objKeyData){alert("Something went wrong (unable to retrieve data product key");}else{var $DataDiv=$(this.parentNode.parentNode).find("div.UnitSelData");if($DataDiv.children("div").length===0){loadUnitSelData(objKeyData.CtrlKey,objKeyData.ProdKey);}else{updateUnitSelDisplay(objKeyData.CtrlKey,objKeyData.ProdKey,false,true,true);}}InitUnitSelFormTarget();e.preventDefault();return false;}).one('click',function(e){var objKeyData=getKeysFromLink(this);if(window.NewMind.Vars["ProdList_"+objKeyData.CtrlKey]){strChanId=window.NewMind.Vars["ProdList_"+objKeyData.CtrlKey].ChannelID;}NewMind.ETWP.ProviderStats.UpdateProviderStats('BKUNIT',strChanId,objKeyData.ProdKey);});});$("div.ctl_ProductList div.ProductListMain a.HidePrices").click(function(e){$(this).hide();$(this.parentNode.parentNode).find("div.UnitSelData").slideUp("slow");$(this.parentNode).find("a.ViewPrices").show();e.preventDefault();return false;});function InitUnitSelFormTarget(){var objQueryData=NewMind.GetQuerystringData();if(objQueryData["widget_marketsource"]!==undefined){$(".UnitSelData form").each(function(){if($(this).find("input[name=ForcedExternalBooking]").length===0){$(this).attr("target","_blank");}});}}function getKeysFromLink(objLink){var $objProdLists=$(objLink).parents("div.ctl_ProductList");var intCtrlKey=NewMind.ETWP.GetControlKey($objProdLists[0]);var arrClasses=(""+objLink.className).split(" ");for(var i=0;i<arrClasses.length;i++){var strClass=arrClasses[i];strClass=strClass.substring(1,strClass.length);var intProdKey=parseInt(strClass,10);if(!isNaN(intProdKey)){return{CtrlKey:intCtrlKey,ProdKey:intProdKey};}}return null;}function updateUnitSelDisplay(intCtrlKey,intProdKey,bShowViewButton,bShowHideButton,bShowDataDiv){var $objUnitSelCont=$("div.ctl_ProductList.c"+intCtrlKey+" div.ProductListMain a.ViewPrices.p"+intProdKey).each(function(){var objLinkCont=this.parentNode;var objCont=objLinkCont.parentNode;var $btnShow=$(objLinkCont).children("a.ViewPrices");var $btnHide=$(objLinkCont).children("a.HidePrices");var $DataDiv=$(objCont).children("div.UnitSelData");if(bShowViewButton){$btnShow.show();}else{$btnShow.hide();}if(bShowHideButton){$btnHide.show();}else{$btnHide.hide();}if(bShowDataDiv){$DataDiv.slideDown("slow");}else{$DataDiv.hide();}});}function loadUnitSelData(intCtrlKey,intProdKey){var objDataDiv;try{objDataDiv=getUnitSelDataDiv(intCtrlKey,intProdKey);}catch(e){ajaxError(null,e.message,null);return;}for(var i=0;i<NewMind.ETWP.UnitSelection.length;i++){if(NewMind.ETWP.UnitSelection.hasOwnProperty(i)){if(NewMind.ETWP.UnitSelection[i].product_key===intProdKey){objDataDiv.innerHTML=NewMind.ETWP.UnitSelection[i].bookingHTML;}}}if($(objDataDiv).find("div.PollingFuzzySetWrapper").length>1){$(objDataDiv).find("div.PollingFuzzySetWrapper form").hide();}$(objDataDiv).find("div.PollingFuzzySetWrapper div.cell div.pnStayTtl").each(function(){this.innerHTML="<a href=\"#\">"+this.innerHTML+"</a>";});$(objDataDiv).find("div.PollingFuzzySetWrapper div.cell div.pnStayTtl > a").click(function(e){var $FormCurrent=$(this).parents("div.PollingFuzzySetWrapper").find("form");var $FormsAll=$(this).parents("div.ctl_ProductList").find("div.PollingFuzzySetWrapper form");if($FormCurrent.is(":hidden")){$FormsAll.not($FormCurrent).slideUp("slow");$FormCurrent.slideToggle("slow");}else{$FormsAll.slideUp("slow");}e.preventDefault();return false;});updateUnitSelDisplay(intCtrlKey,intProdKey,false,true,true);function getUnitSelDataDiv(intCtrlKey,intProdKey){var $Link=$("div.ctl_ProductList.c"+intCtrlKey+" div.ProductListMain a.ViewPrices.p"+intProdKey);if($Link.length!==1){throw{message:"Unable to locate UnitSelData container"};}var $DataDiv=$($Link[0].parentNode.parentNode).find("div.UnitSelData");if($DataDiv.length!==1){throw{message:"Unable to locate UnitSelData container"};}return $DataDiv[0];}}};function getMapSummaryData(intControlKey,sngN,sngE,sngS,sngW,fncCallback){if(!NewMind.ETWP.ControlData||!NewMind.ETWP.ControlData[intControlKey]||!NewMind.ETWP.ControlData[intControlKey].TOv2QueryData){if(NewMind.mapping.DebugOutput){NewMind.mapping.DebugOutput("ProductList.GetMapSummaryData: ControlData TOv2QueryData not specified for control "+intControlKey);}return;}var objControlData=NewMind.ETWP.ControlData[intControlKey];var strQueryData=objControlData.TOv2QueryData;$.post("/engine/MappingStubRetrieval.asp",{data:strQueryData,maxresults:objControlData.ResultLimit,dynMapN:sngN,dynMapE:sngE,dynMapS:sngS,dynMapW:sngW},function(data,status){if(status!=="success"){fncCallback(false,intControlKey,sngN,sngE,sngS,sngW,null,null);return;}var arrData=eval(data);var intResultCount;if((arrData.length>0)&&(arrData[0].count===-1)){intResultCount=-1;}else{intResultCount=arrData.length;}fncCallback(true,intControlKey,sngN,sngE,sngS,sngW,intResultCount,arrData);});}function getMapDetailData(intControlKey,arrProductKeys,fncCallback){var strCurrentUrl=NewMind.ajax.CleanCurrentUrlForAjax();var strCurrentQueryString=strCurrentUrl.slice(strCurrentUrl.indexOf("?")+1);$.get("?AsyncAction=search-detail&PartialRenderControlList="+intControlKey+"&productkeys="+arrProductKeys.join(",")+"&"+strCurrentQueryString,null,function(data,status){if(status!=="success"){fncCallback(false,intControlKey,null);return;}fncCallback(true,intControlKey,eval(data));});}return{init:function(){bindProdListLinks();loadingAnimation=NewMind.ETWP.GetResource('NewMind.env.imgs.resources.searchresults["loadingAnimation"]',loadingAnimation);loadingText=NewMind.ETWP.GetResource('NewMind.env.lang.resources.blockui["sortingandpaging"]["default"]["loadingtext"]',loadingText);loadingHTML=NewMind.ETWP.GetResource('NewMind.env.lang.resources.blockui["sortingandpaging"]["default"]["loadingHTML"]',loadingHTML);resultsAjaxError=NewMind.ETWP.GetResource('NewMind.env.lang.resources.searchresults["ajaxError"]',resultsAjaxError);blockUISettings.message=loadingHTML||loadingText+' <img src="'+loadingAnimation+'" alt="'+loadingText+'" />';initHashChange();},unitSelInit:function(){initUnitSel();},listLoading:productListLoadingStartEvent,listLoaded:productListCallBackEvent,bindProdListLinks:bindProdListLinks,InitProximityRadioForm:function(intControlKey,iProdKey){if(!initProximityRadioFormComplete){bindProximityRadioLinks(intControlKey,iProdKey);initHashChange();initProximityRadioFormComplete=true;}},InitProximityGalleryButtons:function(intControlKey){initGalleryButtons(intControlKey);},ProcessTripAdvisorRatings:function(strPartnerID){processTripAdvisorRatings(strPartnerID);},GetMapSummaryData:getMapSummaryData,GetMapDetailData:getMapDetailData};}();
NewMind.ETWP.HighlightedProducts=function(){function init(intCtrlKey,intVisibleCount,strTransitionCode,intAutoAnimateInterval,fncAsyncActionGen,fncInitCompleted,bOnDomReady){if(bOnDomReady!==true){bOnDomReady=false;}var objCtrl=$("div.c"+intCtrlKey);if(objCtrl.length==0){if(!bOnDomReady){$(document).ready(function(){init(intCtrlKey,intVisibleCount,strTransitionCode,intAutoAnimateInterval,fncAsyncActionGen,fncInitCompleted,true);});}else{showError("HighlightedProducts.init: Failed to locate Highlighted Control [Control Key "+intCtrlKey+"] even at document.ready");}return;}intVisibleCount=parseInt(intVisibleCount,10);if(isNaN(intVisibleCount)||(intVisibleCount<0)){showError("HighlightedProducts.init: Invalid VisibleCount value ["+intVisibleCount+"]");return;}if(!intAutoAnimateInterval){intAutoAnimateInterval=null;}else{intAutoAnimateInterval=parseInt(intAutoAnimateInterval,10);if(isNaN(intAutoAnimateInterval)||(intAutoAnimateInterval<0)){intAutoAnimateInterval=null;}}SettingsHandler.InitControl(intCtrlKey,intVisibleCount,intAutoAnimateInterval,autoAnimate,fncAsyncActionGen);if(strTransitionCode==="FADE"){SettingsHandler.SetCustomTransition(NewMind.ETWP.HighlightedProducts.Transitions.CrossFade,intCtrlKey);}else if(strTransitionCode==="SLIDE"){SettingsHandler.SetCustomTransition(NewMind.ETWP.HighlightedProducts.Transitions.Carousel,intCtrlKey);}objCtrl.find("div.GroupLinks").show();objCtrl.addClass("ScriptEnabled");init_Work(objCtrl,0);if(fncInitCompleted){var objRefresher={ChangeCurrentGroup:function(intGroupIndex){if((intGroupIndex!==0)&&!intGroupIndex){throw new Error("Invalid index passed to ChangeCurrentGroup");}intGroupIndex=parseInt(intGroupIndex,10);if(isNaN(intGroupIndex)||(intGroupIndex<0)){throw new Error("Invalid index passed to ChangeCurrentGroup");}changeCurrentGroup({"className":"l"+intGroupIndex,"parentNode":objCtrl})}};fncInitCompleted(objRefresher);}}function init_Work(objCtrl,intGroupIndex){if((!objCtrl)||(objCtrl.length==0)){showError("HighlightedProducts.init_Work: Invalid control reference");}var intCtrlKey=NewMind.ETWP.GetControlKey(objCtrl[0]);var objCtrlData=SettingsHandler.GetControlData(intCtrlKey);if(!objCtrlData){showError("HighlightedProducts.init_Work: Failed to retrieve control settings data [Control Key "+intCtrlKey+"]");return;}var objGallControls=objCtrl.find("div.GalleryControls");if(objGallControls.length===0){showError("HighlightedProducts.init_Work: Failed to locate Highlighted Control's Gallery elements [Control Key "+intCtrlKey+"]");return;}objCtrl.find("div.GroupLinks a").unbind("click").click(function(){changeCurrentGroup(this);return false;});var objGroupLinks=objCtrl.find("div.GroupLinks ul li");objGroupLinks.removeClass("Selected");objGroupLinks.find("a.l"+intGroupIndex).parent().addClass("Selected");objCtrl.trigger("NewMind-ETWP-HighlightedProducts-GroupChanged");objGallControls.show();var objThumbnails=objGallControls.find("ul li a");if(objThumbnails.length<=objCtrlData.VisibleCount){objGallControls.addClass("Disabled");}else{objGallControls.removeClass("Disabled");}objThumbnails.click(function(){clickGalleryThumbnail(this);return false;});objGallControls.find("a.ItemPrev").click(function(){updateGalleryView(getParentControl(this),-1);return false;});objGallControls.find("a.ItemNext").click(function(){updateGalleryView(getParentControl(this),1);return false;});objCtrl.each(function(){updateGalleryLinkSelections(this);});objCtrl.hover(function(){SettingsHandler.SetAutoAnimatePause(intCtrlKey,true);},function(){SettingsHandler.SetAutoAnimatePause(intCtrlKey,false);});var objDayControls=objCtrl.find("div.dayNavControls");if(objDayControls.length>0){var dp=$(".c"+(-intCtrlKey)).find("div.CalendarWrapper");var date=new Date(dp.datepicker("getDate"));objDayControls.find(".DayNext").click(function(){date.setDate(date.getDate()+1);dp.datepicker("setDate",date);dp.find(".ui-state-active").parent().click();return false;});objDayControls.find(".DayPrev").click(function(){date.setDate(date.getDate()-1);dp.datepicker("setDate",date);dp.find(".ui-state-active").parent().click();return false;});}}function getImages(intCtrlKey){var $container=$("div.c"+intCtrlKey).find("div.GroupWrapper");var imageData=NewMind.ETWP.ControlData[intCtrlKey];if(imageData!==undefined){$.each(imageData,function(index,image){loadImage(index,image,$container);});}}function loadImage(index,image,$container){var $imageDiv=$container.find("div."+index+" div.Image");if(image!==undefined&&$imageDiv.length>0){var newImage='<img src="'+image.file+'" alt="'+image.alt+'" title="'+image.title+'" />';if(image.url!==undefined){newImage='<a href="'+image.url+'">'+newImage+'</a>';}$imageDiv.append(newImage);}}function addControlToBeUpdated(strPlaceholder,iControlKey,dCurrentDate){if(!NewMind.ETWP.HighlightedProducts.ControlsToUpdate){NewMind.ETWP.HighlightedProducts.ControlsToUpdate=[];}NewMind.ETWP.HighlightedProducts.ControlsToUpdate.push({"ControlKey":iControlKey,"Placeholder":strPlaceholder});$('div.c'+iControlKey+' .GroupWrapper').addClass('month'+dCurrentDate);}function clickGalleryThumbnail(objEleSrc){if(!objEleSrc){showError("HighlightedProducts.clickGalleryThumbnail: Null objEleSrc reference");return;}var strClass=objEleSrc.className;if((typeof(strClass)==="undefined")||(strClass===null)||(strClass.length<2)){showError("HighlightedProducts.clickGalleryThumbnail: Error with HighlightedProducts [Control Key "+intCtrlKey+"] - encountered invalid GalleryControl link class");return;}var intIndex=parseInt(strClass.substring(1),10);if(isNaN(intIndex)){showError("HighlightedProducts.clickGalleryThumbnail: Error with HighlightedProducts [Control Key "+intCtrlKey+"] - encountered invalid GalleryControl link class");return;}updateGalleryView(getParentControl(objEleSrc),0,intIndex);}function autoAnimate(intCtrlKey){var objLinkNext=$("div.c"+intCtrlKey+" > div.GroupWrapper > div.HighlightGroup > div.GalleryControls > a.ItemNext");if(objLinkNext.length>0){$(objLinkNext).click();}}function updateGalleryView(objCtrl,intDir,intIndex){if(!objCtrl){showError("HighlightedProducts.updateGalleryView: Invalid Control reference");return;}if((intDir!==-1)&&(intDir!==0)&&(intDir!==1)){showError("HighlightedProducts.updateGalleryView: Invalid intDir ["+intDir+"]");return;}if((typeof(intIndex)==="undefined")||(intIndex===null)){if(intDir===0){showError("HighlightedProducts.updateGalleryView: Null Index - this is required when intDir is zero");return;}intIndex=null;}else{intIndex=parseInt(intIndex,10);if(isNaN(intIndex)||(intIndex<0)){showError("HighlightedProducts.updateGalleryView: Invalid Index ["+intIndex+"]");return;}}var intCtrlKey=NewMind.ETWP.GetControlKey(objCtrl);if(!intCtrlKey){showError("HighlightedProducts.updateGalleryView: Unable to retrieve Control Key ["+objCtrl.className+"]");return;}var objCtrlData=SettingsHandler.GetControlData(intCtrlKey);if(!objCtrlData){showError("HighlightedProducts.updateGalleryView: Unable to retrieve data for Control Key "+intCtrlKey);return;}if(objCtrlData.InTransition){showError("HighlightedProducts.updateGalleryView: Control is already transitioning view - requests are ignored until transition is complete");return;}var intViewOffset=objCtrlData.ViewOffset;var intLinkCount=$(objCtrl).find("div.GalleryControls ul li").length;if(intDir===-1){intViewOffset-=objCtrlData.VisibleCount;while(intViewOffset<0){intViewOffset+=intLinkCount;}}else if(intDir===1){intViewOffset+=objCtrlData.VisibleCount;while(intViewOffset>=intLinkCount){intViewOffset-=intLinkCount;}}else{intViewOffset=intIndex-parseInt(objCtrlData.VisibleCount/2);if(intViewOffset<0){intViewOffset=0;}else if(intViewOffset+objCtrlData.VisibleCount>=intLinkCount){intViewOffset=intLinkCount-objCtrlData.VisibleCount;}}if(intViewOffset===objCtrlData.ViewOffset){return;}if(intLinkCount<=objCtrlData.VisibleCount){return;}var objGroupWrapper=$(objCtrl).find("div.HighlightGroup");if(objGroupWrapper.length===0){showError("HighlightedProducts.updateGalleryView: Unable to access div.HighlightGroup to retrieve content");return;}var objVisibleItemWrapper=objGroupWrapper.children("div.ItemWrapper");if(objVisibleItemWrapper.length===0){showError("HighlightedProducts.updateGalleryView: Unable to access ItemWrapper container");return;}var objHiddenItemWrapper=objGroupWrapper.children("div.GalleryItemsWrapper");if(objHiddenItemWrapper.length===0){showError("HighlightedProducts.updateGalleryView: Unable to access HiddenItemWrapper container");return;}var intItemsToShow=objCtrlData.VisibleCount;if(intLinkCount<intItemsToShow){intItemsToShow=intLinkCount;}var arrItemElesNew=[];var intItemIndex=intViewOffset;for(var intItemNum=0;intItemNum<intItemsToShow;intItemNum++){var objItem=objGroupWrapper.find("div.Highlight.Item"+intItemIndex);if(objItem.length===0){showError("HighlightedProducts.updateGalleryView: Unable to access Item "+intItemNum);return;}arrItemElesNew.push(objItem[0]);intItemIndex++;if(intItemIndex>=intLinkCount){intItemIndex=0;}}var arrItemElesOld=[];objVisibleItemWrapper.find("div.Highlight").each(function(){arrItemElesOld.push(this);});objCtrlData.InTransition=true;var objTransitionData={ItemsToShow:arrItemElesNew,ItemsToHide:arrItemElesOld,VisibleCount:objCtrlData.VisibleCount,VisibleItemContainer:objVisibleItemWrapper[0],HiddenItemContainer:objHiddenItemWrapper[0],TransitionType:intDir};var fncTransition;if(objCtrlData.CustomTransition){fncTransition=objCtrlData.CustomTransition;}else{fncTransition=NewMind.ETWP.HighlightedProducts.Transitions.StraightReplace;}fncTransition(objTransitionData,function(){objCtrlData.InTransition=false;$(objCtrl).trigger("NewMind-ETWP-HighlightedProducts-TransitionCompleted");});objCtrlData.ViewOffset=intViewOffset;updateGalleryLinkSelections(objCtrl);}function updateGalleryLinkSelections(objCtrl){if(!objCtrl){showError("HighlightedProducts.updateGalleryLinkSelections: Null objCtrl reference");return;}var intCtrlKey=NewMind.ETWP.GetControlKey(objCtrl);if(!intCtrlKey){showError("HighlightedProducts.updateGalleryLinkSelections: Unable to retrieve Control Key ["+objCtrl.className+"]");return;}var objCtrlData=SettingsHandler.GetControlData(intCtrlKey);if(!objCtrlData){showError("HighlightedProducts.updateGalleryLinkSelections: Unable to retrieve data for Control Key "+intCtrlKey);return;}var objLinkItems=$(objCtrl).find("div.GalleryControls ul li");objLinkItems.removeClass("Selected");var intIndexOffset=objCtrlData.ViewOffset;for(var intIndex=0;intIndex<objCtrlData.VisibleCount;intIndex++){objLinkItems.filter(".Item"+intIndexOffset).addClass("Selected");intIndexOffset++;if(intIndexOffset>=objLinkItems.length)intIndexOffset=0;}}function changeCurrentGroup(objEleSrc){if(!objEleSrc){showError("HighlightedProducts.changeCurrentGroup: Null objEleSrc reference");return;}var strClass=objEleSrc.className;if((typeof(strClass)==="undefined")||(strClass===null)||(strClass.length<2)){showError("HighlightedProducts.changeCurrentGroup: Error with HighlightedProducts [Control Key "+intCtrlKey+"] - encountered invalid GalleryControl link class");return;}var intGroupIndex=parseInt(strClass.substring(1),10);if(isNaN(intGroupIndex)){showError("HighlightedProducts.changeCurrentGroup: Error with HighlightedProducts [Control Key "+intCtrlKey+"] - encountered invalid GalleryControl link class");return;}var objCtrl=getParentControl(objEleSrc);if(!objCtrl){showError("HighlightedProducts.changeCurrentGroup: Invalid Control reference");return;}var intCtrlKey=NewMind.ETWP.GetControlKey(objCtrl);if(!intCtrlKey){showError("HighlightedProducts.changeCurrentGroup: Unable to retrieve Control Key ["+objCtrl.className+"]");return;}var objCtrlData=SettingsHandler.GetControlData(intCtrlKey);if(!objCtrlData){showError("HighlightedProducts.changeCurrentGroup: Unable to retrieve data for Control Key "+intCtrlKey);return;}objCtrlData.InTransition=true;var strCachedContent=SettingsHandler.GetGroupContent(intCtrlKey,intGroupIndex);var dpicker=$(".c"+(-intCtrlKey)).find("div.CalendarWrapper.hasDatepicker");if(strCachedContent!==null&&(dpicker.length===0)){if(jQuery.browser.opera){$(objCtrl).block(getBlockUISettings());setTimeout(function(){$(objCtrl).unblock();},500);}updateGroupContent(strCachedContent,true);return;}var reqData;if(objCtrlData.AsyncActionGen){try{reqData=objCtrlData.AsyncActionGen(intGroupIndex);}catch(e){showError("changeCurrentGroup: Call to fncAsyncActionGen failed -\n\n"+e.message);return;}}else{reqData={PartialRenderControlList:intCtrlKey,PartialRenderType:"html",AsyncAction:"Group"+intGroupIndex,NoCache:NewMind.ETWP.NoCache};}$(objCtrl).block(getBlockUISettings());$.ajax({type:"GET",url:"",data:reqData,error:function(){$(objEleSrc).unblock();showError("HighlightedProducts.changeCurrentGroup: Ajax data request failed");},success:function(data){$(objCtrl).unblock();SettingsHandler.SetGroupContent(intCtrlKey,intGroupIndex,data);updateGroupContent(data,false);}});return;function updateGroupContent(strHtml,bFromCache){var objWrapperNew=$(strHtml).find("div.GroupWrapper");if(objWrapperNew.length==0){showError("HighlightedProducts.changeCurrentGroup.updateGroupContent: Unable to access new div.GroupWrapper content from received content [FromCache: "+bFromCache+"]");var dpicker=$(".c"+(-intCtrlKey)).find("div.CalendarWrapper.hasDatepicker");if(dpicker.length>0){showError("There are no products for the selected date");$(".c"+intCtrlKey).next("div.HighlightPopupBackground").remove();$(".c"+intCtrlKey).remove();}return;}var objWrapperOld=$("div.c"+intCtrlKey+" div.GroupWrapper");if(objWrapperOld.length===0){showError("HighlightedProducts.changeCurrentGroup.updateGroupContent: Unable to access existing div.GroupWrapper [FromCache: "+bFromCache+"]");return;}var $nodesOld=$(objWrapperOld[0]).children();var $nodesNew=objWrapperNew.children();$nodesNew.hide().each(function(){objWrapperOld[0].appendChild(this);});$nodesNew.show();$nodesOld.hide().remove();objCtrlData.ViewOffset=0;objCtrlData.InTransition=false;init_Work($(objCtrl),intGroupIndex);}function getBlockUISettings(){var strLoadingText=NewMind.ETWP.GetResource('NewMind.env.lang.resources.highlightedproducts["loading"]','Loading...');var strLoadingImg=NewMind.ETWP.GetResource('NewMind.env.imgs.resources.highlightedproducts["loadingAnimation"]','/engine/shared_gfx/ajax-loader-arrows-white.gif');var strLoadingHtml=strLoadingText;if(strLoadingImg!==""){strLoadingHtml+="<img src=\""+strLoadingImg+"\" alt=\""+escape(strLoadingText)+"\" />"}return{message:strLoadingHtml,centerX:false,centerY:false,showOverlay:true,fadeIn:0,fadeOut:0,css:{backgroundColor:'#fff',cursor:'wait',top:'0',left:'0',textAlign:'center'},overlayCSS:{backgroundColor:'#fff',opacity:'0.6'}};}}function getParentControl(objIn){if(!objIn)return null;while((objIn)&&(objIn.parentNode!=objIn)){if($(objIn).hasClass("ctl_HighlightedProducts"))return objIn;objIn=objIn.parentNode;}return null;}function showError(strMessage){if((!strMessage)||(!NewMind.env.platform.traceIsEnabled))return;alert("[Trace] "+strMessage);}var SettingsHandler=(function(){var objCtrlData={};var objTransitions={};var objGroupContent={};var objAutoAnimate={};return{InitControl:function(intCtrlKey,intVisibleCount,intAutoAnimateInterval,fncAnimate,fncAsyncActionGen){objCtrlData[intCtrlKey]={ViewOffset:0,VisibleCount:intVisibleCount,AsyncActionGen:fncAsyncActionGen,InTransition:false};initAutoAnimateTimer(intCtrlKey,intAutoAnimateInterval,fncAnimate);},GetControlData:function(intCtrlKey){var objData=objCtrlData[intCtrlKey];if(objData){var fncTransition=objTransitions[intCtrlKey];if(!fncTransition){fncTransition=objTransitions.Default;}if(!fncTransition){fncTransition=null;}objData.CustomTransition=fncTransition;}return objData;},SetCustomTransition:function(fncTransition,intCtrlKey){if(arguments.length==1){objTransitions.Default=fncTransition;}else if(arguments.length==2){objTransitions[intCtrlKey]=fncTransition;}},GetGroupContent:function(intCtrlKey,intGroupIndex){var objControlEntry=objGroupContent[intCtrlKey];if(!objControlEntry){return null;}var objData=objControlEntry[intGroupIndex];if(!objData){return null;}return objData;},SetGroupContent:function(intCtrlKey,intGroupIndex,varData){var objControlEntry=objGroupContent[intCtrlKey];if(!objControlEntry){objGroupContent[intCtrlKey]={};objControlEntry=objGroupContent[intCtrlKey];}objControlEntry[intGroupIndex]=varData;},SetAutoAnimatePause:function(intCtrlKey,bPause){if(bPause!==true){bPause=false;}var objData=objAutoAnimate[intCtrlKey];if(objData){objData.PauseAnimation=bPause;}}};function initAutoAnimateTimer(intCtrlKey,intAutoAnimateInterval,fncCallback){if(!intAutoAnimateInterval||isNaN(intAutoAnimateInterval)||(intAutoAnimateInterval<0)){return;}if(objAutoAnimate[intCtrlKey]){return;}objAutoAnimate[intCtrlKey]={AutoAnimateInterval:intAutoAnimateInterval,Callback:fncCallback,PauseAnimation:false};setTimeout(function(){timerCallback(intCtrlKey);},intAutoAnimateInterval);function timerCallback(intCtrlKey){var objTimerData=objAutoAnimate[intCtrlKey];if(!objTimerData){return;}if(!objTimerData.PauseAnimation){var objData=objCtrlData[intCtrlKey];if(objData&&!objData.InTransition){try{objTimerData.Callback(intCtrlKey);}catch(e){}}}setTimeout(function(){timerCallback(intCtrlKey);},objTimerData.AutoAnimateInterval);}}})();return{Init:function(){init.apply(null,arguments);},SetCustomTransition:function(){SettingsHandler.SetCustomTransition.apply(null,arguments);},AddControlToBeUpdated:function(strPlaceholder,iControlKey,dCurrentDate){addControlToBeUpdated(strPlaceholder,iControlKey,dCurrentDate);},GetImages:function(iControlKey){getImages(iControlKey);}};}();
NewMind.ETWP.HighlightedProducts.Transitions=function(){return{StraightReplace:function(data,callback){StraightReplace.apply(this,arguments);},CrossFade:function(data,callback){CrossFade.apply(this,arguments);},Carousel:function(data,callback){Carousel.apply(this,arguments);},GetCustomCarousel:function(scrollHandler){return function(data,callback){var args=Array.prototype.slice.call(arguments);args.push(scrollHandler);Carousel.apply(this,args);}}};function StraightReplace(data,callback){if(data.TransitionType==1){each(data.ItemsToHide,function(){setParent(this,data.HiddenItemContainer);});}else{for(var i=data.ItemsToHide.length-1;i>=0;i--){$(data.HiddenItemContainer).prepend(data.ItemsToHide[i]);}}each(data.ItemsToShow,function(){setParent(this,data.VisibleItemContainer);});callback();}function CrossFade(data,callback){if($.browser.msie&&(jQuery.browser.version==="6.0")){showError("CrossFade transition is not supported in IE6");StraightReplace.apply(this,arguments);return;}var objCommon=prepareTransitionCommon(data);var objWrapperShow=objCommon.WrapperShow;var objWrapperHide=objCommon.WrapperHide;$(objWrapperShow).hide();$(objWrapperShow).fadeIn("slow");$(objWrapperHide).fadeOut("slow",function(){$(objWrapperShow).remove();$(objWrapperHide).remove();each(data.ItemsToHide,function(){this.style.visibility="visible";});StraightReplace(data,callback);});}function Carousel(data,callback,scrollHandler){if($.browser.msie&&(jQuery.browser.version==="6.0")){showError("Carousel transition is not supported in IE6");StraightReplace.apply(this,arguments);return;}work();function work(){if(data.TransitionType===0){CrossFade(data,callback);return;}data.VisibleItemContainer.style.overflow="auto";var intAreaWidth=$(data.VisibleItemContainer).width();var intAreaHeight=$(data.VisibleItemContainer).height();var objCommon=prepareTransitionCommon(data);var objWrapperShow=objCommon.WrapperShow;var objWrapperHide=objCommon.WrapperHide;objWrapperShow.style.width=intAreaWidth+"px";objWrapperHide.style.width=intAreaWidth+"px";var objScrollContainer=getNewWrapper({className:"WrapperScroll"},{position:"absolute",top:"0",left:"0",width:intAreaWidth+"px",height:intAreaHeight+"px",overflow:"hidden"});setParent(objWrapperShow,objScrollContainer);setParent(objWrapperHide,objScrollContainer);setParent(objScrollContainer,data.VisibleItemContainer);if(data.TransitionType===-1){objWrapperShow.style.left=-intAreaWidth+"px";}else{objWrapperShow.style.left=intAreaWidth+"px";}if(!scrollHandler){scrollHandler=scrollHandlerDefault;}var objScrollData={WrapperShow:objWrapperShow,WrapperHide:objWrapperHide};scrollHandler(objScrollData,function(){$(objScrollContainer).remove();each(data.ItemsToHide,function(){this.style.visibility="visible";});StraightReplace(data,callback);});}function scrollHandlerDefault(data,callback){var intAreaWidth=parseInt(data.WrapperShow.style.left,10);var intDelay=50;var intDuration=500;var sngSteps=(intDuration/intDelay);var intDist=parseInt(intAreaWidth/sngSteps,10);doScroll(data.WrapperShow,data.WrapperHide,intDist,intDelay,callback);function doScroll(objWrapperShow,objWrapperHide,intDist,intDelay,callback){var intCurrentShow=parseInt(objWrapperShow.style.left,10);intDist=Math.abs(intDist);if(Math.abs(intCurrentShow)<=intDist){objWrapperShow.style.left="0";objWrapperHide.style.visibility="hidden";setTimeout(callback,intDelay);return;}else{var intCurrentHide=parseInt(objWrapperHide.style.left,10);var intNewShow,intNewHide;if(intCurrentShow<0){intNewShow=intCurrentShow+intDist;intNewHide=intCurrentHide+intDist;}else{intNewShow=intCurrentShow-intDist;intNewHide=intCurrentHide-intDist;}objWrapperShow.style.left=intNewShow+"px";objWrapperHide.style.left=intNewHide+"px";}var scroll=arguments.callee;var args=arguments;setTimeout(function(){scroll.apply(null,args);},intDelay);}}}function prepareTransitionCommon(data){data.VisibleItemContainer.style.position="relative";var objWrapperShow=getNewWrapper({className:"WrapperShow"},{position:"absolute",top:"0",left:"0"});each(data.ItemsToShow,function(){setParent(this.cloneNode(true),objWrapperShow);});setParent(objWrapperShow,data.VisibleItemContainer);var objWrapperHide=getNewWrapper({className:"WrapperHide"},{position:"absolute",top:"0",left:"0"});each(data.ItemsToHide,function(){setParent(this.cloneNode(true),objWrapperHide);});setParent(objWrapperHide,data.VisibleItemContainer);each(data.ItemsToHide,function(){this.style.visibility="hidden";});return{WrapperShow:objWrapperShow,WrapperHide:objWrapperHide};}function getNewWrapper(objData,objStyleData){var objEle=document.createElement("div");if(objData){for(i in objData){objEle[i]=objData[i];}}if(objStyleData){for(i in objStyleData){objEle.style[i]=objStyleData[i];}}return objEle;}function each(arrIn,fncCallback){if((!arrIn)||(arrIn.constructor!==Array)){showError("HighlightedProducts.Transitions.each: Invalid input - must be array");return;}if(!fncCallback){showError("HighlightedProducts.Transitions.each: Invalid input callback reference");return;}for(var i=0;i<arrIn.length;i++){fncCallback.apply(arrIn[i],[i,arrIn]);}}function setParent(objEle,objEleParent){objEleParent.appendChild(objEle);}function showError(strMessage){if((!strMessage)||(!NewMind.env.platform.traceIsEnabled))return;alert("[Trace] "+strMessage);}}();
NewMind.ETWP.HighlightedProducts.Calendar=function(){function init(intCtrlKey,intVisibleCount,strTransitionCode,intAutoAnimateInterval,dtStart,dtEnd,objUnavailDataDays,popupContext,autoOpen,strUpdateControlScope,strPlaceholder,bOnDomReady){if(bOnDomReady!==true){bOnDomReady=false;}var objCtrl=$("div.c"+intCtrlKey);if(objCtrl.length==0){if(!bOnDomReady){$(document).ready(function(){init(intCtrlKey,intVisibleCount,strTransitionCode,intAutoAnimateInterval,objUnavailDataDays,popupContext,autoOpen,strUpdateControlScope,strPlaceholder,true);});}else{showError("HighlightedProducts.Calendar.init: Failed to locate Highlighted Control [Control Key "+intCtrlKey+"] even at document.ready");}return;}var objWrapper=objCtrl.find("div.CalendarWrapper");if(objWrapper.length===0){showError("HighlightedProducts.Calendar.init: Failed to retrieve initial CalendarWrapper");return;}if(!objUnavailDataDays){showError("HighlightedProducts.Calendar.init: UnavailDataDays data not specified");return;}objUnavailDataDays.DoesDayHaveZeroProducts=function(dtValue){dtValue=new Date(dtValue);if(isNaN(dtValue)){throw new Error("DoesDayHaveZeroProducts: Invalid input - dtValue must be a date");}var objYearData=this[String(dtValue.getFullYear())];if(objYearData){var arrMonthData=objYearData[String(dtValue.getMonth())];if(arrMonthData){var intDay=dtValue.getDate();for(var intIndex=0;intIndex<arrMonthData.length;intIndex++){if(arrMonthData[intIndex]===intDay){return true;}}}}return false;};SettingsHandler.InitControl(intCtrlKey,intVisibleCount,strTransitionCode,intAutoAnimateInterval,popupContext,autoOpen,strUpdateControlScope,strPlaceholder);objWrapper.find("td a").click(function(){var strClass=(""+this.className);if((strClass.length<2)||(strClass.substring(0,1)!=="d")){showError("Invalid classname on calendar link: "+strClass);}else{var arrSegs=strClass.substring(1,strClass.length).split("-");if(arrSegs.length!==3){showError("Invalid classname on calendar link: "+strClass);}else{var dtValue;try{var intDay=parseInt(arrSegs[2],10);var intMonth=parseInt(arrSegs[1],10);var intYear=parseInt(arrSegs[0],10);dtValue=new Date(intYear,intMonth-1,intDay);}catch(e){showError("Invalid classname on calendar link: "+strClass);}if(dtValue){$(this).blur();showPopup(intCtrlKey,dtValue,popupContext);}}}return false;});objWrapper.datepicker({onSelect:function(dateText,inst){var dSelectedDate=objWrapper.datepicker("getDate");showPopup(intCtrlKey,dSelectedDate,popupContext);},minDate:dtStart,maxDate:dtEnd,hideIfNoPrevNext:true,onChangeMonthYear:function(year,month,inst){loadDataIntoControls(intCtrlKey,year,month,strUpdateControlScope,strPlaceholder);},beforeShowDay:function(dtValue){return [!objUnavailDataDays.DoesDayHaveZeroProducts(dtValue)];}});objWrapper.show();objWrapper.css({position:"relative"});objCtrl.css({position:"relative",zIndex:"1"});objCtrl.children("h2.ControlTitle").show();if(autoOpen){showPopup(intCtrlKey,dtStart,popupContext);}}function loadDataIntoControls(intCtrlKey,year,month,strUpdateControlScope,strPlaceholder){if(strUpdateControlScope===""){return;}if(!NewMind.ETWP.HighlightedProducts.ControlsToUpdate){return;}$objRenderedData=$("div.month"+year+"-"+month+"-01");if($objRenderedData.length>0){$objRenderedData.each(function(){var $this=$(this);$this.siblings("div:visible").hide();$this.show();});return;}$.ajax({type:"GET",url:"",data:getAsyncAction(year,month),error:function(){showError("HighlightedProducts.loadDataIntoControls: Ajax data request failed");},success:function(data){var $objWrapperNew=$(data).find("div.GroupWrapper");if(data===""||$objWrapperNew.length===0){return;}$objWrapperNew.each(function(){var $this=$(this).addClass("month"+year+"-"+month+"-01");var intControlKey=NewMind.ETWP.GetControlKey($this.parent());$("div.c"+intControlKey).find("div.GroupWrapper:visible").hide().end().append($this);});}});function getAsyncAction(intYear,intMonth){var strAction="CAL"+intYear+"-"+intMonth+"-01";return{PartialRenderControlList:getControlKeysToUpdate(),PartialRenderType:"html",AsyncAction:strAction,NoCache:NewMind.ETWP.NoCache};}function getControlKeysToUpdate(){if(!NewMind.ETWP.HighlightedProducts.ControlsToUpdate){return;}var arrKeys=[];for(var intIndex=0;intIndex<NewMind.ETWP.HighlightedProducts.ControlsToUpdate.length;intIndex++){var objControl=NewMind.ETWP.HighlightedProducts.ControlsToUpdate[intIndex];if(strUpdateControlScope==="PAGE"||(strUpdateControlScope==="PLACEHOLDER"&&objControl.Placeholder===strPlaceholder)){arrKeys.push(objControl.ControlKey);}}return arrKeys.join();}}var _popupRefreshers={};function showPopup(intCtrlKey,dtValue,popupContext){var objCtrl=$("div.c"+intCtrlKey);if(objCtrl.length===0){showError("showPopup: Couldn't locate control with key "+intCtrlKey);return;}var objCtrlData=SettingsHandler.GetControlData(intCtrlKey);if(!objCtrlData){showError("showPopup: Couldn't access control data for key "+intCtrlKey);return;}var objPopup=$("div.c-"+intCtrlKey);if(objPopup.length===0){objPopup=generatePopup(objCtrl,popupContext);var fncTransCallback=function(){objCtrl.trigger("NewMind-ETWP-HighlightedProducts-Calendar-PopupOpened");loadDataIntoPopup(intCtrlKey,objPopup,dtValue);};var fncTrans=objCtrlData.OpenTransition;if(fncTrans){fncTrans({Popup:objPopup},fncTransCallback);}else{$(objPopup).show();fncTransCallback();}return;}var objUpdater=_popupRefreshers[intCtrlKey];if(!objUpdater){showError("Popup already exists but couldn't find acquire updater reference");return;}objUpdater.ChangeCurrentGroup(0);}function loadDataIntoPopup(intCtrlKey,objPopup,dtValue){var objCtrlData=SettingsHandler.GetControlData(intCtrlKey);if(!objCtrlData){showError("showPopup: Couldn't retrieve control data for key "+intCtrlKey);return;}$.ajax({type:"GET",url:"",data:getAsyncAction(dtValue.getDate()),error:function(){showError("HighlightedProducts.loadDataIntoPopup: Ajax data request failed");},success:function(data){var objWrapperNew=$(data).find("div.GroupWrapper");if(objWrapperNew.length===0){showError("No GroupWrapper element returned in data! :(");var popupElement=$(objPopup);popupElement.children("div.blockMsg").hide();showError("There are no products for the selected date");popupElement.next("div.HighlightPopupBackground").remove();popupElement.remove();return;}var popupElement=$(objPopup);popupElement.children("div.blockMsg").hide();popupElement.children("div.ClosePopup").hide();popupElement.children("div.ClosePopup").css({visibility:"visible"}).show();objPopup.appendChild(objWrapperNew[0]);NewMind.ETWP.HighlightedProducts.Init(-intCtrlKey,objCtrlData.VisibleCount,objCtrlData.TransitionCode,objCtrlData.AutoAnimateInterval,getAsyncAction,function(objRefresher){_popupRefreshers[intCtrlKey]=objRefresher;},true);var objCtrlInner=$("div.c-"+intCtrlKey);var objCtrlOuter=$("div.c"+intCtrlKey);objCtrlInner.bind("NewMind-ETWP-HighlightedProducts-GroupChanged",function(e){objCtrlOuter.trigger("NewMind-ETWP-HighlightedProducts-GroupChanged");});objCtrlInner.bind("NewMind-ETWP-HighlightedProducts-TransitionCompleted",function(e){objCtrlOuter.trigger("NewMind-ETWP-HighlightedProducts-TransitionCompleted");});objCtrlOuter.trigger("NewMind-ETWP-HighlightedProducts-GroupChanged");}});function getAsyncAction(intDate){var dp=$(".c"+(intCtrlKey)).find("div.CalendarWrapper");var date=new Date(dp.datepicker("getDate"));var strAction="CAL"+date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate();return{PartialRenderControlList:intCtrlKey,PartialRenderType:"html",AsyncAction:strAction,NoCache:NewMind.ETWP.NoCache};}}function generatePopup(objCtrl,popupContext){var intCtrlKey=NewMind.ETWP.GetControlKey(objCtrl);var objEle=document.createElement("div");objEle.className=objCtrl[0].className;$(objEle).removeClass("c"+intCtrlKey).addClass("HighlightPopup c-"+intCtrlKey).css({display:"none",position:"absolute",zIndex:1001,top:0,left:0});objEle.appendChild(getBackground());objEle.appendChild(getLoadingDisplay());var objBtnClose=getCloseButton(intCtrlKey);objEle.appendChild(objBtnClose);$(objBtnClose).click(function(){closePopup(intCtrlKey);return false;});switch(popupContext){case 'CONTROL':objCtrl.find("div.CalendarWrapper")[0].appendChild(objEle);break;case 'CONTROLPARENT':objCtrl.parent().append(objEle);break;case 'DOCUMENTBODY':$("body").append(objEle);var $objEle=$(objEle);$("body").append($objEle.find("div.HighlightPopupBackground").css({'width':$(document).width(),'height':$(document).height()}));$objEle.css("position","absolute");$objEle.css("top",($(window).height()-$objEle.height())/2+$(window).scrollTop()+"px");$objEle.css("left",($(window).width()-$objEle.width())/2+$(window).scrollLeft()+"px");break;default:objCtrl.find("div.CalendarWrapper")[0].appendChild(objEle);}return objEle;function getBackground(){var objEle=document.createElement("div");objEle.className="HighlightPopupBackground";$(objEle).css({position:"absolute",top:0,left:0});return objEle;}function getLoadingDisplay(){var strLoadingText=NewMind.ETWP.GetResource('NewMind.env.lang.resources.highlightedproducts["loading"]','Loading...');var strLoadingImg=NewMind.ETWP.GetResource('NewMind.env.imgs.resources.highlightedproducts["loadingAnimation"]','/engine/shared_gfx/ajax-loader-arrows-white.gif');var strLoadingHtml=strLoadingText;if(strLoadingImg!==""){strLoadingHtml+="<img src=\""+strLoadingImg+"\" alt=\""+escape(strLoadingText)+"\" />"}var objEle=document.createElement("div");objEle.className="blockUI blockMsg blockElement";objEle.innerHTML=strLoadingHtml;$(objEle).css({position:"absolute",zIndex:1001,backgroundColor:'#fff',cursor:'wait',top:'0',left:'0',textAlign:'center'});return objEle;}function getCloseButton(){var objEle=document.createElement("div");objEle.className="ClosePopup";objEle.style.visibility="hidden";var strText=NewMind.ETWP.GetResource('NewMind.env.lang.resources.highlightedproducts["calendar"]["closebuttontext"]','x');objEle.innerHTML="<a href=\"#\">"+strText+"</a>";return objEle;}}function closePopup(intCtrlKey){var objCtrl=$("div.c"+intCtrlKey);if(objCtrl.length===0){showError("closePopup: Unable to locate parent control!");return;}var objCtrlData=SettingsHandler.GetControlData(intCtrlKey);if(!objCtrlData){showError("closePopup: Couldn't access control data for key "+intCtrlKey);return;}var objPopup=$("div.c-"+intCtrlKey);if(objPopup.length!==1){showError("closePopup: Retrieved invalid number of HighlightPopup elements: "+objPopup.length);return;}var fncTransCallback=function(){objPopup.remove();objCtrl.trigger("NewMind-ETWP-HighlightedProducts-Calendar-PopupClosed");};var fncTrans=objCtrlData.CloseTransition;if(fncTrans){fncTrans({Popup:objPopup[0]},fncTransCallback);}else{objPopup.fadeOut(500,fncTransCallback);}objCtrl.find("div.HighlightPopupBackground").fadeOut(500,function(){$(this).remove();});objPopup.next("div.HighlightPopupBackground").fadeOut(500,function(){$(this).remove();});}function showError(strMessage){if((!strMessage)||(!NewMind.env.platform.traceIsEnabled))return;alert("[Trace] "+strMessage);}var SettingsHandler=(function(){var objCtrlData={};var objTransitionsOpen={};var objTransitionsClose={};return{InitControl:function(intCtrlKey,intVisibleCount,strTransitionCode,intAutoAnimateInterval,strPopupContext,autoOpen,strUpdateControlScope,strPlaceholder){objCtrlData[intCtrlKey]={ViewOffset:0,VisibleCount:intVisibleCount,TransitionCode:strTransitionCode,AutoAnimateInterval:intAutoAnimateInterval,PopupContext:strPopupContext,AutoOpen:autoOpen,UpdateControlScope:strUpdateControlScope,Placeholder:strPlaceholder};},GetControlData:function(intCtrlKey){var objData=objCtrlData[intCtrlKey];if(objData){objData.OpenTransition=getTransition(objTransitionsOpen,intCtrlKey);objData.CloseTransition=getTransition(objTransitionsClose,intCtrlKey);}return objData;function getTransition(objTransData,intCtrlKey){var fncTransition=objTransData[intCtrlKey];if(!fncTransition){fncTransition=objTransData.Default;}if(!fncTransition){fncTransition=null;}return fncTransition;}},SetOpenTransition:function(fncTransition,intCtrlKey){if(arguments.length==1){objTransitionsOpen.Default=fncTransition;}else if(arguments.length==2){objTransitionsOpen[intCtrlKey]=fncTransition;}},SetCloseTransition:function(fncTransition,intCtrlKey){if(arguments.length==1){objTransitionsClose.Default=fncTransition;}else if(arguments.length==2){objTransitionsClose[intCtrlKey]=fncTransition;}}};})();return{Init:function(){init.apply(null,arguments);},SetOpenTransition:function(){SettingsHandler.SetOpenTransition.apply(null,arguments);},SetCloseTransition:function(){SettingsHandler.SetCloseTransition.apply(null,arguments);}};}();
NewMind.ETWP.Navigation=function(){return{InitialiseQuickFind:function(){var sels=document.getElementsByTagName('SELECT');if(sels!=null){for(var i=0;i<sels.length;i++){if(sels[i].className=='quickfindDrop'){NewMind.dom.addEventListener(sels[i],'change',NewMind.ETWP.Navigation.QuickFind_OnChange);}}}},QuickFind_OnChange:function(){var sel=GetEventSource(this);var elmForm=sel;do{elmForm=elmForm.parentNode;}while(elmForm.nodeName!='FORM'&&elmForm.nodeName!='BODY');if(elmForm.nodeName=='FORM'){elmForm.action=sel.value;elmForm.submit();}}};}();NewMind.dom.addEventListener(window,'load',NewMind.ETWP.Navigation.InitialiseQuickFind);
NewMind.registerNameSpace("NewMind.ETWP.SiteSearch");NewMind.ETWP.SiteSearch=function(){return{DefaultText:function(){$('.ctl_SiteSearchForm .field input').focus(function(){var strDefaultText=$(this).attr('title');if(strDefaultText!==''){if($(this).val()===strDefaultText)$(this).val('').parent().removeClass('defaultText');}}).blur(function(){var strDefaultText=$(this).attr('title');if(strDefaultText!==''){if($(this).val()==='')$(this).val(strDefaultText).parent().addClass('defaultText');}}).blur();}};}();NewMind.dom.addEventListener(window,'load',NewMind.ETWP.SiteSearch.DefaultText);

