1NewMind.registerNameSpace("NewMind.ETWP.env");NewMind.registerNameSpace("NewMind.ETWP.ControlData");if(NewMind.env&&NewMind.env.platform){$(function(){NewMind.env.platform.traceIsEnabled=($("div#PageTimer").length>0)&&($("table.trace").length>0);});}$(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;}}
1NewMind.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{delete objSrc["targetOldNM"];}catch(e){objSrc.targetOldNM=null;}}}}}}AddEventListener(window,'load',externalLinks);NewMind.ETWP.GetQuerystringData=NewMind.GetQuerystringData;NewMind.ETWP.GetControlKey=function(node,bTraceParents){if(bTraceParents!==true){bTraceParents=false;}$node=$(node);while(true){var iControlKey=GetControlKeyForNode($node);if(iControlKey||!bTraceParents){return iControlKey;}$node=$node.parent();if($node.length===0){return 0;}}function GetControlKeyForNode($node){var nodeClass=String($node.attr('class'));var arrSegments=nodeClass.split(" ");for(var 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)){return iKey;}}}return 0;}};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 arrCallbacks=[];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);
1if(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);var intCurrentScrollTop=NewMind.ETWP.GetScrollDistanceFromTopOfBody();var intControlTop=$parentSysContainer.parent().offset().top;var intViewportHeight=$(window).height();var intControlHeight=$parentSysContainer.height();var intControlEndPosition=intControlTop+intControlHeight;var intTargetScrollPosition=0;if(intControlEndPosition>intViewportHeight){intTargetScrollPosition=intControlEndPosition-intViewportHeight;}if(intTargetScrollPosition<intCurrentScrollTop){$("html,body").animate({scrollTop:intTargetScrollPosition},1000);}for(var i=0;i<arrCallbacks.length;i++){try{arrCallbacks[i](node);}catch(e){if((typeof(console)!=="undefined")&&console.warn){console.warn("NewMind.ETWP.AjaxForms callback failed: "+e.message);}}}}return false;},error:function(){$.unblockUI();$node.unbind('submit').submit();}});};return{postback:function(node){doPostBack(node);return false;},register:function(callback){arrCallbacks.push(callback);}};}();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){var sRoot="NewMind";sResource=rewriteInDotNotation($.trim(""+sResource));if(sResource.substr(0,sRoot.length+1)!==(sRoot+".")){return sDefault;}sResource=sResource.substr(sRoot.length+1);return useDefaultIfUndefined(getPropertyIfItExists(NewMind,sResource),sDefault);function rewriteInDotNotation(sResource){while(sResource.indexOf("[\"")!==-1){sResource=sResource.replace("[\"",".").replace("\"]","");}while(sResource.indexOf("['")!==-1){sResource=sResource.replace("['",".").replace("']","");}return sResource;}function getPropertyIfItExists(objCore,strPath){var arrSegments=(""+strPath).split(".");for(var i=0;i<arrSegments.length;i++){objCore=objCore[arrSegments[i]];if(typeof(objCore)==="undefined"){return;}}return objCore;}function useDefaultIfUndefined(objValue,strDefault){return(typeof(objValue)==="undefined")?strDefault:objValue;}};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.HtmlEncode=function(strName){strName=$("<div>"+strName+"</div>").html();while(strName.indexOf("£")!==-1){strName=strName.replace("£","£");}return strName;};NewMind.registerNameSpace("NewMind.ETWP.RelatedProducts");NewMind.ETWP.RelatedProducts.Paging=function(controlKey){var $objControl=$('div.c'+controlKey);if($objControl.length>0){var cPlaceholder="rppagesize";$objControl.find('div[class*="'+cPlaceholder+'"]').each(function(){var pageNum=1;var intPageSize;var $relatedProductWrapper=$(this);var aryClasses=$relatedProductWrapper.attr("class").split(' ');for(var i=0;i<aryClasses.length;i++){if(aryClasses[i].indexOf(cPlaceholder)>=0){intPageSize=parseInt(aryClasses[i].slice(cPlaceholder.length),10);}}if(isNaN(intPageSize)||(intPageSize==0)){return;}var $relatedProductItems=$relatedProductWrapper.find('.relatedproductitem');
1if($relatedProductItems.length>intPageSize){$relatedProductItems.each(function(index){if(index>=(intPageSize*pageNum)){pageNum++;}if(pageNum>1){$(this).hide();}$(this).addClass('page'+pageNum);});var resourceSection='productdetail';if($objControl.hasClass('ctl_ProductList')){resourceSection='productlist';}$relatedProductWrapper.append('<a href="#" class="pagingNextBtn">'+NewMind.ETWP.GetResource('NewMind.env.lang.resources.'+resourceSection+'.relatedproducts["pagingbutton"]','Show more related')+'</a>');var $pagingBtn=$relatedProductWrapper.find('.pagingNextBtn');$pagingBtn.data('pageNum',1);$pagingBtn.click(function(event){event.preventDefault();var $pagingBtn=$(this);var $currentPage=$(this).data('pageNum');if($currentPage<pageNum){$pagingBtn.parent().find('.page'+($currentPage+1)).slideDown('fast',function(){$pagingBtn.data('pageNum',$currentPage+1);if($pagingBtn.data('pageNum')>=pageNum){$pagingBtn.hide().unbind('click');}if(typeof(NewMind.ETWP.TabSwitcherHelpers)!=="undefined"){NewMind.ETWP.TabSwitcherHelpers.CheckForTabReSize($pagingBtn);}});}});}});}};NewMind.registerNameSpace("NewMind.ETWP").Trace=(function(){var timerFirst=null;var timerLast=null;function getTimeFromStartInMs(){if(timerFirst===null){timerFirst=new Date().getTime();return 0;}return(new Date().getTime())-timerFirst;}function getTimeFromLastInMs(){var time=(timerLast===null)?0:(new Date().getTime())-timerLast;timerLast=new Date().getTime();return time;}function getTraceTable(){var $table=$("table.trace.javascript");if($table.length>0){return $table;}var html=["<table border=\"1\" class=\"trace javascript\">","<col width=\"1000\" /><col width=\"100\"/><col width=\"100\"/>","<thead>","<tr class=\"heading\">","<th colspan=\"3\">Javascript</th></tr><tr class=\"colheader\"><th>Action</th><th class=\"time\">From Start(s)</th><th class=\"time\">From Last(s)</th>","</tr>","</thead>","<tbody>","</tbody>","</table>"].join("");$table=$(html);$("body").append($table);return $table;}function writeTraceHeaderEntry(strMessage){if(!isJavascriptTraceEnabled()||!strMessage){return;}var $table=getTraceTable();var $tableBody=$table.find("tbody");var $newRow=$("<tr class=\"subheading\"><td colspan=\"3\"></td></tr>");$tableBody.append($newRow);$newRow.find("td")[0].innerHTML=strMessage;getTimeFromStartInMs();getTimeFromLastInMs();}function writeTraceEntry(strMessage,bIsErrorRow,bIsTimedEntry){if(!isJavascriptTraceEnabled()||!strMessage){return;}var $table=getTraceTable();var $tableBody=$table.find("tbody");var strRowClass=(($tableBody.children("tr").length%2)==0)?"row1":"row2";if(bIsErrorRow){strRowClass="error"+strRowClass;}var $newRow=$("<tr><td></td><td></td><td></td></tr>");$tableBody.append($newRow);$newRow.addClass(strRowClass);$newRow.find("td")[0].innerHTML=strMessage;if(bIsTimedEntry){$newRow.find("td")[1].innerHTML=getTimeAsDisplayValue(getTimeFromStartInMs());$newRow.find("td")[2].innerHTML=getTimeAsDisplayValue(getTimeFromLastInMs());}}function getTimeAsDisplayValue(intTimeInMilliseconds){return(intTimeInMilliseconds===0)?"0":(intTimeInMilliseconds/1000).toFixed(8);}function isJavascriptTraceEnabled(){return(NewMind.env&&NewMind.env.platform&&NewMind.env.platform.traceIsEnabled);}return{PrintTrace:function(strMessage){writeTraceEntry(strMessage,false,false);},PrintTraceError:function(strMessage){if(strMessage){writeTraceEntry("<span><strong>!!ERROR!!</strong> "+strMessage+"</span>",true,false);}},PrintTraceWarning:function(strMessage){if(strMessage){writeTraceEntry("<span class=\"warning\"><strong>!!WARNING!!</strong> "+strMessage+"</span>",false,false);}},TimedTraceTableSubHeading:writeTraceHeaderEntry,TimedTraceTableRow:function(strMessage){writeTraceEntry(strMessage,false,true);}};})(); 2NewMind.registerNameSpace("NewMind.ETWP").PersistentAttempt=function(options){var fncCondition,intMaxNumberOfAttempts,fncGetPauseTimeInMilliseconds,fncSuccess,fncOptionalFailure;if(!options){throw new Error("No options specified");}if(typeof(options.Condition)==="undefined"){throw new Error("No options.Condition specified");}if(typeof(options.Condition)!=="function" ){throw new Error("Invalid options.Condition - not a function");}fncCondition=options.Condition;if(typeof(options.Success)==="undefined"){throw new Error("No options.Success specified");}if(typeof(options.Success)!=="function" ){throw new Error("Invalid options.Success - not a function");}fncSuccess=options.Success;if((typeof(options.Failure)!=="undefined")&&(typeof(options.Success)!=="function" )){throw new Error("Invalid options.Failure - not a function");}fncOptionalFailure=options.Failure;if((typeof(options.DelayCalculator)!=="undefined")&&(typeof(options.FixedDelayInMs)!=="undefined")){throw new Error("Only one of DelayCalculator and FixedDelayInMs may be specified, not both (or neither to use defaults)");}if(typeof(options.DelayCalculator)!=="undefined"){if(typeof(options.DelayCalculator)!=="function" ){throw new Error("Invalid options.DelayCalculator - not a function");}fncGetPauseTimeInMilliseconds=options.DelayCalculator;}if(typeof(options.FixedDelayInMs)!=="undefined"){var intTimeToPauseInMilliseconds=parseInt(options.FixedDelayInMs,10);if(isNaN(intTimeToPauseInMilliseconds)){throw new Error("Invalid options.FixedDelayInMs - not a function");}if(intTimeToPauseInMilliseconds<=0){throw new Error("Invalid options.FixedDelayInMs, must be a positive value");}fncGetPauseTimeInMilliseconds=function(){return intTimeToPauseInMilliseconds;};}if(typeof(options.MaxNumberOfAttempts)!=="undefined"){intMaxNumberOfAttempts=parseInt(options.MaxNumberOfAttempts,10);if(isNaN(intMaxNumberOfAttempts)){throw new Error("Invalid options.MaxNumberOfAttempts - not a function");}if(intMaxNumberOfAttempts<=0){throw new Error("Invalid options.MaxNumberOfAttempts, must be a positive value");}}intMaxNumberOfAttempts=intMaxNumberOfAttempts||10;fncGetPauseTimeInMilliseconds=fncGetPauseTimeInMilliseconds||function(){return 100;};var intNumberOfAttempts=0;function Process(){if(fncCondition(intNumberOfAttempts)){fncSuccess();return;}intNumberOfAttempts++;if(intNumberOfAttempts>=intMaxNumberOfAttempts){if(fncOptionalFailure){fncOptionalFailure(intNumberOfAttempts);}return;}var intTimeToPauseInMilliseconds=parseInt(fncGetPauseTimeInMilliseconds(intNumberOfAttempts),10);if(isNaN(intTimeToPauseInMilliseconds)||(intTimeToPauseInMilliseconds<=0)){if(fncF
2ailure){fncFailure(intNumberOfAttempts);}return;}setTimeout(Process,intTimeToPauseInMilliseconds);}Process();}; 3NewMind.registerNameSpace("NewMind.ETWP").Bookmarklets=(function(){var ControlNameDataLoader=(function(){var bControlNameDataBeingLoaded=false;var objControlData=null;var arrControlNameDataLoadedCallbacks=[];function unique(arr){var u={},a=[];for(var i=0,l=arr.length;i<l;++i){if(!u.hasOwnProperty(arr[i])){a.push(arr[i]);u[arr[i]]=1;}}return a;}return{requestControlNames:function(callback){if(objControlData){callback(objControlData);return;}arrControlNameDataLoadedCallbacks.push(callback);if(bControlNameDataBeingLoaded){return;}var bControlNameDataBeingLoaded=true;var pageControlKeys=[];$("div.sys_control").each(function(){pageControlKeys.push(NewMind.ETWP.GetControlKey(this));});$.getJSON("/engine/controlNameLookup.asp?pageControlKeys="+unique(pageControlKeys),function(data){objControlData=data;bControlNameDataBeingLoaded=false;for(var i=0;i<arrControlNameDataLoadedCallbacks.length;i++){arrControlNameDataLoadedCallbacks[i](objControlData);}arrControlNameDataLoadedCallbacks=[];});}};}());var $controlNameOverlay=null;return{ControlParams:function(fncControlClicked){fncControlClicked=fncControlClicked||openInLegacyCMS;ControlNameDataLoader.requestControlNames(function(){});var $currentlySelected=null;var $overlay=null;function interceptClick(){release();var intCtrlKey=getNormalisedControlKey(NewMind.ETWP.GetControlKey(this));if(intCtrlKey){fncControlClicked(intCtrlKey);}return false;}function interceptMouseOver(e){var intCurrentControlKey=($currentlySelected?getNormalisedControlKey(NewMind.ETWP.GetControlKey($currentlySelected[0])):0);var intCtrlKey=getNormalisedControlKey(NewMind.ETWP.GetControlKey(e.target,true));if(intCtrlKey!==intCurrentControlKey){releaseControl();$currentlySelected=$("div.sys_control.c"+intCtrlKey);$currentlySelected.fadeTo("fast",0.2);$currentlySelected.click(interceptClick);if(!intCtrlKey){if($controlNameOverlay){$controlNameOverlay.hide();}}else{ControlNameDataLoader.requestControlNames(function(controlData){if(!$controlNameOverlay){$controlNameOverlay=$("<div class='BookmarkletControlNameOverlay' />").css({position:"fixed","z-index":10002,bottom:0,right:0,padding:"8px",background:"#f8f8f8",color:"#777",border:"1px solid #c0c0c0",opacity:0.8});$("body").append($controlNameOverlay);}if(controlData.hasOwnProperty(intCtrlKey)){$controlNameOverlay.html(controlData[intCtrlKey].join(" / ")).show();}else{$controlNameOverlay.hide();}});}}return false;};function getNormalisedControlKey(intCtrlKey){if(intCtrlKey===-4){return 0;}return Math.abs(intCtrlKey);}function releaseControl(){if($currentlySelected){$currentlySelected.fadeTo("fast",1);$currentlySelected.unbind("click",interceptClick);}$currentlySelected=null;}function release(){releaseControl();$("*").unbind("mouseover",interceptMouseOver);$(document).unbind("click",interceptClick);if($controlNameOverlay){$controlNameOverlay.hide();}}function openInLegacyCMS(intCtrlKey){window.open(NewMind.env.platform.interface+"/admininc/editParams.asp?table=params&popup=1¶mtype=pagecontrol&id="+intCtrlKey+"&page="+NewMind.env.page.pagekey,"EnterprisePopup"+Math.floor(Math.random()*100000000),"width=1200,height=600");}$("*").mouseover(interceptMouseOver);$(document).click(interceptClick);}};}()); 4NewMind.registerNameSpace("NewMind.ETWP").GoogleAnalyticsExtensions=(function(){$(function(){if(NewMind.env&&NewMind.env.page&&NewMind.env.page.gatrackexitlinks){if(typeof ga==="object"||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 fakePageName=href.substr(href.indexOf("://")+3);var utmVarsStartIndex=fakePageName.indexOf("utm_source");if(utmVarsStartIndex!==-1){fakePageName=fakePageName.substr(0,utmVarsStartIndex-1);}fakePageName="/external-link/"+fakePageName.replace("www.","");if(typeof(ga)==="object"){ga('send','pageview',fakePageName);}else if(typeof(_gaq)==="object"){_gaq.push(["_trackPageview",fakePageName]);}else{pageTracker._trackPageview(fakePageName);}});}}});function recordBookingForGoogleAnalyticsUniversal(objData){ga('require','ecommerce');ga('ecommerce:addTransaction',{'id':objData.RequirementRef,'affiliation':objData.MarketSourceId,'revenue':""+objData.Price.Total});var intItemIndex=0;for(var i=0;i<objData.OrderLines.length;i++){var objOrderLine=objData.OrderLines[i];var sngAveragePrice=objOrderLine.Cost/objOrderLine.Quantity;for(var j=0;j<objOrderLine.Quantity;j++){ga('ecommerce:addItem',{'id':objData.RequirementRef,'name':objData.Product.Key+"-"+objData.Product.Name,'sku':generateSKU(objOrderLine,intItemIndex,objData),'price':""+sngAveragePrice,'quantity':'1'});intItemIndex++;}}ga('ecommerce:send');}function recordBookingForLegacyGoogleAnalyticsAccount(objData){_gaq.push(["_addTrans",objData.RequirementRef,objData.MarketSourceId,""+objData.Price.Total,"",""+objData.Price.BookingFee,objData.ConsumerAddressSummary.Address4IfAny,objData.ConsumerAddressSummary.Address5IfAny,objData.ConsumerAddressSummary.Country]);
4var intPlaceKey=objData.Product.PlaceIfAny?objData.Product.PlaceIfAny.Key:0;var strPlaceName=objData.Product.PlaceIfAny?objData.Product.PlaceIfAny.Name:"None";var strPlaceCat=intPlaceKey+"-"+strPlaceName+"-"+objData.Product.PrimaryCategoryIdIfAny;var intItemIndex=0;for(var i=0;i<objData.OrderLines.length;i++){var objOrderLine=objData.OrderLines[i];var sngAveragePrice=objOrderLine.Cost/objOrderLine.Quantity;for(var j=0;j<objOrderLine.Quantity;j++){_gaq.push(["_addItem",objData.RequirementRef,generateSKU(objOrderLine,intItemIndex,objData),objData.Product.Key+"-"+objData.Product.Name,strPlaceCat,""+sngAveragePrice,"1"]);intItemIndex++;}}_gaq.push(["_trackTrans"]);}function generateSKU(objOrderLine,intItemIndex,objParentOrderDetails){return [objParentOrderDetails.Product.Key,objOrderLine.UnitKey,"A"+objOrderLine.NumberOfAdults,"C"+objOrderLine.NumberOfChildren,"N"+objParentOrderDetails.NumberOfNights,"R"+(intItemIndex+1)].join("-");}return{RecordBooking:function(objData){if(typeof(ga)!=="undefined"){recordBookingForGoogleAnalyticsUniversal(objData);}else if(typeof(_gaq)!=="undefined"){recordBookingForLegacyGoogleAnalyticsAccount(objData);}}};}()); 5NewMind.CookieWarning=(function(){var bCookieWarningPopupVisible=false;function displayCookieInfo(strContent,strTitle,strConfirmLabel,bJumpToCookieSettingInfo){strContent=["<div class=\"CookieWarningPopup\">",strTitle?("<h2 class=\"CookieWarningTitle\">"+strTitle+"</h2>"):"","<div class=\"CookieWarningPopupContent\">",strContent,"</div>","<div class=\"CookieWarningPopupConfirm\">","<input type=\"submit\" />","</div>","</div>"].join("");var $content=$(strContent);$content.find("input[type=submit]").val(strConfirmLabel||"Ok").click(function(){$.unblockUI();hideBanner();bCookieWarningPopupVisible=false;});$.blockUI({message:$content[0],css:{width:"750px","height":"600px",top:"0",left:"0",padding:"0",textAlign:"center",cursor:"auto","-webkit-border-radius":"10px","-moz-border-radius":"10px","border-radius":"10px","border-width":"6px"},overlayCSS:{backgroundColor:"#fff",opacity:"0.6",cursor:null},baseZ:5000,fadeIn:200,fadeOut:200});$(".blockUI.blockMsg a[rel=external]").attr("target","_blank");bCookieWarningPopupVisible=true;if(bJumpToCookieSettingInfo){document.location="#HowToChangeCookieSettings";}resizeMessageContainerIfDisplayingWarning();setAcceptanceCookie();}function setAcceptanceCookie(){document.cookie="AcceptCookies=1; expires="+getCookieExpirationDate().toGMTString()+"; path=/";function getCookieExpirationDate(){var dtExpiration=new Date();dtExpiration.setTime(dtExpiration.getTime()+(10*365*24*60*60*1000));return dtExpiration;}}function hideBanner(){$("div.ctl_CookieWarning").slideUp();}function resizeMessageContainerIfDisplayingWarning(){if(!bCookieWarningPopupVisible){return;}$(".blockUI.blockMsg").each(function(){var $this=$(this);var $window=$(window);var sngTop=($window.height()-$this.height())/2+$window.scrollTop();var sngLeft=($window.width()-$this.width())/2+$window.scrollLeft();$this.css("position","absolute");$this.css("top",((sngTop<0)?0:sngTop)+"px");$this.css("left",((sngLeft<0)?0:sngLeft)+"px");});}function getCookieLinkHandler(objEleSrcLink,strContentUrl,strTitle,strConfirmLabel,bJumpToCookieSettingInfo){return function(){$.ajax({type:"GET",url:strContentUrl,success:function(data){if(!data){window.location=objEleSrcLink.href;return;}displayCookieInfo(data,strTitle,strConfirmLabel,bJumpToCookieSettingInfo);},error:function(){window.location=strContentUrl;}});return false;};}return{Init:function(strContentUrl,strTitle,strConfirmLabel){if(!strContentUrl){return;}$("div.CookieWarning div.CookieMessage a.CookieSettingsLink").click(getCookieLinkHandler(this,strContentUrl,strTitle,strConfirmLabel,true));$("div.CookieWarning div.CookieMessage a.CookieInfoLink").click(getCookieLinkHandler(this,strContentUrl,strTitle,strConfirmLabel,false));$("div.CookieWarning a.CookieWarningHide").click(function(){setAcceptanceCookie();hideBanner();return false;});$(window).resize(function(){resizeMessageContainerIfDisplayingWarning();});}};})(); 6NewMind.registerNameSpace("NewMind.ETWP.SiteSearch");NewMind.ETWP.SiteSearch=function(){function LegacyInitDefaultText(){$(".ctl_SiteSearchForm .field input").focus(function(){var $this=$(this);var strDefaultText=$this.attr("title");if(strDefaultText!==""){if($this.val()===strDefaultText){$this.val("").parent().removeClass("defaultText");}}}).blur(function(){var $this=$(this);var strDefaultText=$this.attr("title");if(strDefaultText!==""){if($this.val()===""){$this.val(strDefaultText);}if($this.val()===strDefaultText){$this.parent().addClass("defaultText");}}}).blur();}function InitRequestValidation(){$(".ctl_SiteSearchForm form.SearchSite").submit(function(e){var $form=$(this);var controlKey=NewMind.ETWP.GetControlKey($form.closest(".sys_control"));var $objFormInput=$form.find("input#search_"+controlKey);if($objFormInput.length===0){return true;}var bUsingLegacyDefaultText=NewMind.env.platform.disableWCAGCompliance&&$objFormInput.parent().hasClass("defaultText");var strUserInput=($objFormInput.val()+"").trim();if(!bUsingLegacyDefaultText&&strUserInput!==""){var strAbsoluteUrl=this.action+"?"+encodeURIComponent($objFormInput[0].name)+"="+encodeURIComponent(strUserInput);var strSiteSearchEventID=NewMind.DataCapture.Core.generateNewEventId();var objSiteSearchEvent={type:"siteSearch",id:strSiteSearchEventID,textSearch:strUserInput,url:strAbsoluteUrl,controlKey:NewMind.ETWP.GetControlKey($form,true),pageViewId:NewMind.DataCapture.PageView?NewMind.DataCapture.PageView.PageViewEventId:null};NewMind.DataCapture.Core.record(objSiteSearchEvent,true);NewMind.DataCapture.Core.registerImminentNavigation(strAbsoluteUrl,strSiteSearchEventID);window.location=strAbsoluteUrl;e.preventDefault();return;}var strMessage=NewMind.ETWP.GetResource("NewMind.env.lang.resources.sitesearch[\"error\"][\"emptysearch\"]","Your search was empty, please try again.");if(strUserInput!==""){strMessage=NewMind.ETWP.GetResource("NewMind.env.lang.resources.sitesearch[\"error\"][\"jsnotspecific\"]","Your search was not specific enough, please try again.").replace("#searchterm#",strUserInput);}alert(strMessage);e.preventDefault();});}return{Init:function(){if(NewMind.env.platform.disableWCAGCompliance){LegacyInitDefaultText();}InitRequestValidation();}};}();NewMind.dom.addEventListener(window,'load',NewMind.ETWP.SiteSearch.Init); 7NewMind.registerNameSpace("NewMind.ETWP").LazyLoadImages=(function(){"use strict";var strLazySrcAttributeName="data-lazy-src";var strInProgressSrcAttributeName="data-in-progress-src";var strLazyLoadTransitionInProgress="LazyLoadInProgress";var bDisableLoading=false;var arrPreLoadCallbacks=[];var arrPostLoadCallbacks=[];var fncOptionalTransitionHandler=null;
7var intPreviewDistanceInPixels=64;var fncThrottledTrigger=$.throttle(100,loadAnyVisibleLazyImages);var $missingImagesOverlay=$("<div />");function getAllLazyLoadImages(){return $("img["+strLazySrcAttributeName+"]");}function loadAllLazyImages(){loadSpecificLazyImages(getAllLazyLoadImages());}function loadAnyVisibleLazyImages(){loadSpecificLazyImages(getAllLazyLoadImages().filter(function(){return $(this).isOnScreen(intPreviewDistanceInPixels);}));}function loadSpecificLazyImages($imgs){$imgs.each(function(){var $this=$(this);var strImageUrl=$this.attr(strLazySrcAttributeName);if(!strImageUrl){return;}if(bDisableLoading){if((typeof(console)!=="undefined")&&console.log){console.log("NewMind.ETWP.LazyLoadImages: Image loading has been disabled for testing - not loading "+strImageUrl);}return;}$this.removeAttr(strLazySrcAttributeName);for(var i=0;i<arrPreLoadCallbacks.length;i++){var strNewImageUrl=arrPreLoadCallbacks[i]($this,strImageUrl);if(strNewImageUrl){strImageUrl=strNewImageUrl;}}$this.addClass(strLazyLoadTransitionInProgress).attr(strInProgressSrcAttributeName,strImageUrl);completeInProgressImageLoading($this,false);});}function completeInProgressImageLoading($imgs,bManualRequest){$imgs.filter("."+strLazyLoadTransitionInProgress).each(function(){var $this=$(this);var strImageUrl=$this.attr(strInProgressSrcAttributeName);if(!strImageUrl){return;}if(bManualRequest){$this.removeClass(strLazyLoadTransitionInProgress).removeAttr(strInProgressSrcAttributeName);}$this.stop(true,false);var fncTransitionHandler=fncOptionalTransitionHandler||defaultTransitionHandler;fncTransitionHandler($this,strImageUrl,function(){$this.removeClass(strLazyLoadTransitionInProgress).removeAttr(strInProgressSrcAttributeName);for(var i=0;i<arrPostLoadCallbacks.length;i++){arrPostLoadCallbacks[i]($this,strImageUrl);}});});}function defaultTransitionHandler($img,strImageUrl,fncCallback){$img.css("opacity",0);var fncImageLoaded=function(){$img.animate({"opacity":1},fncCallback);};if(($img.attr("src")===strImageUrl)&&$img[0].complete){fncImageLoaded();return;}$img.one("load",fncImageLoaded);$img.attr("src",strImageUrl);}$(loadAnyVisibleLazyImages);var $window=$(window);$window.scroll(fncThrottledTrigger);$window.resize(fncThrottledTrigger);$window.bind("beforeprint",function(){if(getAllLazyLoadImages().length===0){$missingImagesOverlay.hide();}else{$missingImagesOverlay.show();}loadAllLazyImages();});if(window.matchMedia){window.matchMedia("print").addListener(function(mql){if(mql.matches){$window.trigger("beforeprint");}});}$(displayInitiallyHiddenLazyLoadImages);function displayInitiallyHiddenLazyLoadImages(){getAllLazyLoadImages().show();setTimeout(fncThrottledTrigger);}$(function(){$missingImagesOverlay.addClass("lazyLoadImageInProgressMessage");var $message=$("<span class='notReadyYetMessage' />");$message.html(NewMind.ETWP.GetResource("NewMind.env.lang.resources.lazyloadingimages.printmessage","Some images are still being loaded, please cancel the print request and try again"));$missingImagesOverlay.append($message);$missingImagesOverlay.hide();$("body").append($missingImagesOverlay);});return{EarlyInit:displayInitiallyHiddenLazyLoadImages,RegisterLazyLoadTrigger:fncThrottledTrigger,LoadSpecificLazyImages:loadSpecificLazyImages,BumpInProgressImages:function($img){completeInProgressImageLoading($img,true);},OverrideTransition:function(fncTransitionHandler){fncOptionalTransitionHandler=fncTransitionHandler;},AddPreLoadCallback:function(fncPreLoadCallback){arrPreLoadCallbacks.push(fncPreLoadCallback);},AddPostLoadCallback:function(fncPostLoadCallback){arrPostLoadCallbacks.push(fncPostLoadCallback);},DisableForTesting:function(){bDisableLoading=true;}};})(); 8NewMind.registerNameSpace("NewMind.ETWP").LazyLoadImagesExtensions=(function(){"use strict";var arrImageResizerActionReplacements=[];function rewriteImageRequestIfRequired($img,strImageUrl){var intBreakQueryString=strImageUrl.indexOf("?");if(intBreakQueryString===-1){return;}var objQueryStringContent=NewMind.GetQuerystringData(strImageUrl,true);strImageUrl=strImageUrl.substring(0,intBreakQueryString);var strImageUrlShouldEndWith="/imageresizer/";if((strImageUrl.length<strImageUrlShouldEndWith.length)||(strImageUrl.substr(-strImageUrlShouldEndWith.length)!==strImageUrlShouldEndWith)){return;}var strAction=objQueryStringContent.get("action");if(!strAction){return;}var strNewAction=null;for(var intIndex=0;intIndex<arrImageResizerActionReplacements.length;intIndex++){if(arrImageResizerActionReplacements[intIndex].From===strA
8ction){strNewAction=arrImageResizerActionReplacements[intIndex].To;break;}}if(!strNewAction){return;}objQueryStringContent.set("action",strNewAction);return strImageUrl+objQueryStringContent.toString();}function logWarning(strContent){if(!console||!console.warn){console.warn(strContent);}}return{RewriteImageResizerAction:function(strFrom,strTo){strFrom=""+strFrom;if(!strFrom){logWarning("RewriteImageResizerAction: No \"from\" value specified");return;}strTo=""+strTo;if(!strTo){logWarning("RewriteImageResizerAction: No \"to\" value specified");return;}if(!NewMind.ETWP.LazyLoadImages){logWarning("RewriteImageResizerAction: NewMind.ETWP.LazyLoadImages not initialised");return;}if(arrImageResizerActionReplacements.length===0){NewMind.ETWP.LazyLoadImages.AddPreLoadCallback(rewriteImageRequestIfRequired);}arrImageResizerActionReplacements.push({From:strFrom,To:strTo});}};})(); 9NewMind.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); 10var bFormInitialLoad=false;NewMind.ETWP.Forms=(function(){var eventFormValidated=new NewMind.CustomEvent();var eventVenueSearchers={};function setValidatorDefaults(){var $validator=$.validator;$validator.templates={};$validator.templates.minLength=NewMind.ETWP.GetResource('NewMind.env.lang.resources.forms.error.minlength','Please enter at least #min# characters.');$validator.templates.min=NewMind.ETWP.GetResource('NewMind.env.lang.resources.forms.error.min','Please enter a value greater than or equal to #min#.');$validator.templates.maxSelections=NewMind.ETWP.GetResource('NewMind.env.lang.resources.forms.error.maxselections',"Please select no more than #max# options.");$validator.messages.minlength=$.validator.format($validator.templates.minLength.replace(/#min#/g,'{0}'));$validator.messages.min=$.validator.format($validator.templates.min.replace(/#min#/g,'{0}'));$validator.messages.maxSelections=$.validator.format($validator.templates.maxSelections.replace(/#max#/g,"{0}"));$validator.messages.required=NewMind.ETWP.GetResource('NewMind.env.lang.resources.forms.error.pleasespecify','Please specify.');$validator.messages.email=NewMind.ETWP.GetResource('NewMind.env.lang.resources.forms.error.emailinvalid','Please check that you have entered a valid email address.');$validator.messages.creditcard=NewMind.ETWP.GetResource('NewMind.env.lang.resources.forms.error.cardnumbervalidation','Invalid card number.');$validator.messages.number=NewMind.ETWP.GetResource('NewMind.env.lang.resources.forms.error.number','Please enter a valid number.');$validator.messages.url=NewMind.ETWP.GetResource('NewMind.env.lang.resources.forms.error.url','Please enter a valid URL.');$validator.messages.geolocation=NewMind.ETWP.GetResource('NewMind.env.lang.resources.forms.error.geolocation','Please specify the latitude and longitude values.');$validator.messages.imagerequired=NewMind.ETWP.GetResource('NewMind.env.lang.resources.forms.error.imagerequired','Please upload a product image');$validator.messages.filerequired=NewMind.ETWP.GetResource('NewMind.env.lang.resources.forms.error.filerequired','Please upload a file');$validator.messages.imageuploadrequired=NewMind.ETWP.GetResource('NewMind.env.lang.resources.forms.error.imageuploadrequired','Please upload the selected image');$validator.messages.fileuploadrequired=NewMind.ETWP.GetResource('NewMind.env.lang.resources.forms.error.fileuploadrequired','Please upload the selected file');$validator.messages.passworddifferent=NewMind.ETWP.GetResource('NewMind.env.lang.resources.forms.error.passworddifferent','Passwords are different.');$validator.messages.emaildifferent=NewMind.ETWP.GetResource('NewMind.env.lang.resources.forms.error.emaildifferent','Emails are different.');$validator.messages.mustagreetotermsconds=NewMind.ETWP.GetResource('NewMind.env.lang.resources.forms.error.mustagreetotermsconds','You must agree to the Terms and Conditions!');$validator.messages.telephone=NewMind.ETWP.GetResource('NewMind.env.lang.resources.forms.error.telephone','Please enter a phone number.');$validator.messages.daterequired=NewMind.ETWP.GetResource('NewMind.env.lang.resources.forms.error.daterequired',"Please specify a date.");$validator.messages.autopostalcodelookup=NewMind.ETWP.GetResource('NewMind.env.lang.resources.forms.error.autopostalcodelookup','Please enter a valid postal code.');$validator.messages.selectoption=NewMind.ETWP.GetResource('NewMind.env.lang.resources.forms.error.selectoption','Please choose an option.');$validator.messages.inputnumber=NewMind.ETWP.GetResource('NewMind.env.lang.resources.forms.error.inputnumber','Please enter a number.');$validator.messages.tickettype=NewMind.ETWP.GetResource('NewMind.env.lang.resources.forms.error.tickettype','Please make sure all rows have a valid ticket type.');$validator.messages.ticketprice=NewMind.ETWP.GetResource('NewMind.env.lang.resources.forms.error.ticketprice','Please make sure all rows have valid prices.');$validator.messages.recaptcha=NewMind.ETWP.GetResource('NewMind.env.lang.resources.forms.error.recaptcha','Please confirm that you are a human');$validator.messages.openingstarttime=NewMind.ETWP.GetResource('NewMind.env.lang.resources.forms.error.openingstarttime','Please specify.');$validator.messages.consentstatement=NewMind.ETWP.GetResource('NewMind.env.lang.resources.forms.error.consentstatement','It appears that you haven\'t provided us with any consent. Without consent we cannot contact you in any way. Please select at least one of the consent options and resubmit the form.');$validator.messages.starttimebeforeendtime=NewMind.ETWP.GetResource('NewMind.env.lang.resources.forms.error.starttimebeforeendtime','Please set the start time before the end time.');$validator.addMethod("imageuploadrequired",validateImageUploaded,$validator.messages.imageuploadrequired);$validator.addMethod("fileuploadrequired",validateImageUploaded,$validator.messages.fileuploadrequired);$validator.addMethod("telephonerequired",isMinimumInputValuesReached,$validator.messages.telephone);$validator.addMethod("autopostalcodelookup",autoPostalCodeLookup,$validator.messages.autopostalcodelookup);$validator.addMethod("locationInputsValid",locationInputsValidation,$validator.messages.geolocation);$validator.addMethod("allSelectValuesCheck",allSelectValuesCheck,$validator.messages.selectoption);$validator.addMethod("allTicketsAreValid",allTicketsAreValid,$validator.messages.inputnumber);$validator.addMethod("accuratedatecheck",accurateDateCheck,$validator.messages.daterequired);$validator.addMethod("openingstarttime",openingStartTimeCheck,$validator.messages.openingstarttime);$validator.addMethod("openingstarttimebeforeendtime",openingStartTimeBeforeEndTime,$validator.messages.starttimebeforeendtime);$validator.addMethod("tickettype",$validator.methods.allSelectValuesCheck,$validator.messages.tickettype);$validator.addMethod("ticketprice",$validator.methods.allTicketsAreValid,$validator.messages.ticketprice);$validator.addMethod("passwordequalto",$validator.methods.equalTo,$validator.messages.passworddifferent);$validator.addMethod("emailequalto",$validator.methods.equalTo,$validator.messages.emaildifferent);$validator.addMethod("termsrequired",$validator.methods.required,$validator.messages.mustagreetotermsconds);$validator.addMethod("maxselections",$validator.methods.maxlength,$validator.messages.maxSelections);$validator.addMethod("recaptcha",$validator.methods.required,$validator.messages.recaptcha);$validator.addMethod("imagerequired",$validator.methods.required,$validator.messages.imagerequired);$validator.addMethod("filerequired",$validator.methods.required,$validator.messages.filerequired);$validator.addMethod("consentstatement",$validator.methods.required,$validator.messages.consentstatement);$validator.setDefaults({debug:true,ignore:"*:not([name])",errorPlacement:function(error,element){if($(element).hasClass("hideError")){return false;}$errorSpan=$('<span class="error"></span>').append(error);var strOrder=$.fn.jquery=="1.3.2"?":last":":first";$parentRow=element.parents('div.row, p.agreement, div.qrow, div.productOpening>span.field, div.productOpening>div.openingTime').filter(strOrder);$errorPlacement=$parentRow.find('span.mandatory, span.optional, img.loadingimage, ul.vCheckboxList, input[type=hidden].productImage, a.add').filter(strOrder);if($errorPlacement.length===0){var $consentStatement=element.closest("div.consent-statements");if($consentStatement.length>0){$errorPlacement=$("div.consent-statements div.consent-statement:last");}}if($errorPlacement.length===0){var $parentLabel=element.closest("label");if(($parentLabel.length===1)&&!$parentLabel.attr("for" )){$errorPlacement=$parentLabel.find(":last");}else{$errorPlacement=element;}}$errorPlacement.after($errorSpan);},submitHandler:function(form){}});}function setCustomValidatorClassRules($form){var iCtrlKey=NewMind.ETWP.GetControlKey($form.parents('div.sys_control'));var $validator=$.validator;if($form.find('input.vPasswordConfirm').length>0){$validator.addClassRules("vPasswordConfirm",{passwordequalto:"#password_"+iCtrlKey,required:true,minlength:5});}if($form.find('input.vEmailConfirm').length>0){$validator.addClassRules("vEmailConfirm",{emailequalto:"#email_"+iCtrlKey,required:true,email:true});}if($form.find('input.vTerms').length>0){$validator.addClassRules("vTerms",{termsrequired:true});}if($form.find('input.vTelephone').length>0){$validator.addClassRules("vTelephone",{telephonerequired:[1,".vTelephone"],minlength:7});}if($form.find('input.vCardNumber').length>0){$validator.addClassRules("vCardNumber",{required:true,creditcard:true});}if($form.find('input.vDateRequired').length>0){$validator.addClassRules("vDateRequired",{accuratedatecheck:true,required:true});}if($form.find('input.vCheckForAnyRequiredContent').length>0){$validator.addClassRules("vCheckForAnyRequiredContent",{required:true,minlength:1});}if($form.find('select.vTicketType').length>0){$validator.addClassRules("vTicketType",{tickettype:["vTicketType",true]});}if($form.find('input.vPrice').length>0){$validator.addClassRules("vPrice",{ticketprice:["vPrice",true],});}if($form.find('input.vPostcode').length>0){$validator.addClassRules("vPostcode",{minlength:3});}if($form.find('input.vPostalCodeLookup').length>0){$validator.addClassRules("vPostalCodeLookup",{required:true,autopostalcodelookup:iCtrlKe
10y});}$form.find('input.vUrl').blur(function(){var value=$.trim(""+this.value);if(!value){return;}if(value.indexOf("://")===-1){this.value='http://'+value;$(this).valid();}});if($form.find('input.vLocationAttribute').length>0){$validator.addClassRules("vLocationAttribute",{locationInputsValid:this});}if($form.find('div.row.reCAPTCHA').length>0){$validator.addClassRules("vRecaptcha",{recaptcha:true});}if($form.find('fieldset.ImageUploads').length>0){$validator.addClassRules("vImageRequired",{imagerequired:true});$validator.addClassRules("vImageUploadRequired",{imageuploadrequired:true});}if($form.find('fieldset.FileUpload').length>0){$validator.addClassRules("vFileRequired",{filerequired:true});$validator.addClassRules("vFileUploadRequired",{fileuploadrequired:true});}if($form.find('div.vStartTimeRequired').length>0){$validator.addClassRules("openingHours",{openingstarttime:true});$validator.addClassRules("openingMinutes",{openingstarttime:true});$validator.addClassRules("openingCombined",{openingstarttime:true});}$validator.addClassRules("openingMinutes",{openingstarttimebeforeendtime:true});}function setCheckboxListRules($form){$form.find('ul.vCheckboxList').each(function(){var $checkboxList=$(this);var firstCheckbox=$checkboxList.find('input')[0];if(firstCheckbox!==undefined){var isRequired=($checkboxList.attr('data-required')!==undefined);var maxSelections=parseInt($checkboxList.attr('data-maxselections'),10);var rules={required:isRequired};if(maxSelections>0){rules.maxselections=maxSelections;}$(firstCheckbox).rules('add',rules);}});}function setConsentStatementsRules($form){var $firstInputs=$form.filter(".require-consent").find("div.consent-statements input[type=checkbox]:first");if($firstInputs.length===0){return;}$form.filter(".require-consent").find("div.consent-statements input[type=checkbox]:first").rules("add",{consentstatement:true});}function isMinimumInputValuesReached(value,element,options){iNumberRequired=options[0];strSelector=options[1];var bValid=$(strSelector,element.form).filter(function(){return $(this).val();}).length>=iNumberRequired;return bValid;}function blockOutPage(strMessage){$.blockUI({message:strMessage,css:{width:'300px',top:'30%',left:'30%',padding:'10px 0',textAlign:'center',cursor:'wait'},overlayCSS:{backgroundColor:'#fff',opacity:'0.6'},baseZ:5000});$("div.blockUI.blockMsg").addClass("BookingBlockElement");window.addEventListener('pageshow',function(ev){if(ev.persisted){window.location.reload();}});}function validateImageUploaded(value,element,params){return $(element).closest("span.field.fileSelected").hasClass("fileUploaded");}var bSubmitted=false;function validateFormAndSubmit(objForm,strMessage){var $objForm=$(objForm);if(($objForm.length===0)||!$objForm.valid()||bSubmitted){return false;}bSubmitted=true;blockOutPage(strMessage);setTimeout(function(){$objForm[0].submit();},10);return false;}function setRequiredDates($form){$form.find('.vDateRequired').each(function(){var $hiddenRequiredDate=$(this);var $elDay=$hiddenRequiredDate.siblings('.day');var $elMonth=$hiddenRequiredDate.siblings('.month');var $elYear=$hiddenRequiredDate.siblings('.year');$hiddenRequiredDate.val($elDay.val()+'/'+$elMonth.val()+'/'+$elYear.val());$hiddenRequiredDate.siblings('.day, .month, .year').change(function(){$hiddenRequiredDate.val($elDay.val()+'/'+$elMonth.val()+'/'+$elYear.val());$hiddenRequiredDate.valid();});});}function accurateDateCheck(value,element){var bValid=false;var dateFormat=/^\d{1,2}\/\d{1,2}\/\d{4}$/;if(dateFormat.test(value)){var arrdata=value.split('/');var iDay=parseInt(arrdata[0],10);var iMonth=parseInt(arrdata[1],10);var iYear=parseInt(arrdata[2],10);var objDate=new Date(iYear,iMonth-1,iDay);if((objDate.getFullYear()===iYear)&&(objDate.getMonth()===iMonth-1)&&(objDate.getDate()===iDay))bValid=true;else bValid=false;}else bValid=false;return this.optional(element)||bValid;}function openingStartTimeCheck(value,element){if(!element||(!$(element).hasClass("openingMinutes")&&!$(element).hasClass("openingHours")&&!$(element).hasClass("openingCombined"))){return false;}element=$(element);if(element.closest(".openingTime:visible").length===0){return true}if(element.closest(".openingTime").find("span.isclosed>span>label>input").attr("checked")){return true;}if(element.hasClass("openingMinutes")){setTimeout(function(){element.parent().find(".openingHours").valid();});return true;}var $consistentOpeningTimes=element.closest(".vStartTimeRequired").find(".consistentOpeningTimes input");if(!element.parent().parent().hasClass("openingTimeAll")&&$consistentOpeningTimes.attr("checked")){setTimeout(function(){if(element.hasClass("openingCombined")){element.closest(".vStartTimeRequired").find(".openingTimeAll .opens .openingCombined").valid();}else{element.closest(".vStartTimeRequired").find(".openingTimeAll .openingHours").valid();}});return true;}if(element.hasClass("openingCombined")){if(element.val()===""){return false;}}else if(element.hasClass("openingHours")){var $openingHours=element;var $openingMinutes=element.parent().find(".openingMinutes");if(!$openingHours||!$openingMinutes||$openingHours.val()===""||$openingMinutes.val()===""){return false;}}else{return false;}return true;}function openingStartTimeBeforeEndTime(value,element){if(!element){return true;}var $openingTime=$(element).closest(".openingTime");if(!$openingTime.is(":visible")||$openingTime.find("span.isclosed>span>label>input").attr("checked")){return true;}var timeClasses=['openingHours','openingMinutes','closingHours','closingMinutes'];var openingTimeFields={};var hasEmptyTimeField=false;
10timeClasses.forEach(function(timeClass){var $timeElement=$openingTime.find('.'+timeClass);var timeField=$timeElement.length?parseInt($timeElement.val()):null;openingTimeFields[timeClass]=isNaN(timeField)?null:timeField;if(openingTimeFields[timeClass]==null)hasEmptyTimeField=true;});if(hasEmptyTimeField)return true;if(openingTimeFields.openingHours>openingTimeFields.closingHours||(openingTimeFields.openingHours===openingTimeFields.closingHours&&openingTimeFields.openingMinutes>openingTimeFields.closingMinutes)){return false;}return true;}function allSelectValuesCheck(value,element,options){var bValid=true,className=options[0],allowBlankTableRow=options[1],$element=$(element),$row=$element.closest("div.row"),$selects=$row.find("select"+((""+className).length>1?"."+className:""));if(!$row||!$selects){return false;}$selects.each(function(){var $select=$(this),$inputOrSelect;if(!bValid){return;}if($select.val().trim()===""){if(allowBlankTableRow&&$select.closest("tr").length){$select.closest("tr").find(">td>*").each(function(){$inputOrSelect=$(this);if($inputOrSelect.is("input")||$inputOrSelect.is("select")){if($inputOrSelect.val()!==""){bValid=false;}}});}else{bValid=false;}}});return bValid;}function allTicketsAreValid(value,element,options){var bValid=true,className=options[0],allowBlankTableRow=options[1],$element=$(element),$row=$element.closest("div.row"),$inputs=$row.find("input"+((""+className).length>1?"."+className:""));if(!$row||!$inputs){return false;}$inputs.each(function(){var $input=$(this);var strTicketType=(""+$input.closest("tr").find("td.ticketTypeName select").val()).toUpperCase();if((strTicketType==="FREE")||(strTicketType==="FRADM")||(strTicketType==="923")){$input.val("0");return;}if(!bValid){return;}if($input.val().trim()===""){if(allowBlankTableRow&&$input.closest("tr").length){$input.closest("tr").find(">td>*").each(function(){var $inputOrSelect=$(this);if($inputOrSelect.is("input")||$inputOrSelect.is("select")){if($inputOrSelect.val()!==""){bValid=false;}}});}else{bValid=false;}}else if(!/^-?(?:\d+)+(?:\.\d+)?$/.test($(this).val())){bValid=false;}});return bValid;}var locationScroll;function locationInputsValidation(value,element,options){var $productGeoLocation=$(element).closest("div.productGeoLocation"),$productLatitudeInput=$productGeoLocation.find(">div.productLatitude>span.field>input"),$productLongitudeInput=$productGeoLocation.find(">div.productLongitude>span.field>input"),strLatitude="",strLongitude="",$geoLocationLabel=$productGeoLocation.find("label.geoLocation"),$geoLocationSpan=$productGeoLocation.find("span.geoLocation"),$error=$productGeoLocation.find("div.displayMap>span.error>label"),strError="<span class=\"error\">"+"<label class=\"error\" name>"+$.validator.messages.geolocation+"</label>"+"</span>",$displayMapMandatory=$productGeoLocation.find("div.displayMap>span.mandatory"),$displayCoordinatespMandatory=$productGeoLocation.find(">span.mandatory");if(!$productGeoLocation||!$productLatitudeInput||!$productLongitudeInput||!$geoLocationSpan||!$displayMapMandatory){return false;}strLatitude=$productLatitudeInput.val().toString().trim();strLongitude=$productLongitudeInput.val().toString().trim();if(!isNaN(parseFloat(strLatitude))&&!isNaN(parseFloat(strLongitude))){$productLatitudeInput.val(parseFloat(strLatitude));$productLongitudeInput.val(parseFloat(strLongitude));$geoLocationLabel.show();$productGeoLocation.addClass("labelVisible");$displayCoordinatespMandatory.show();$displayMapMandatory.hide();if($error.length){$error.hide();}$geoLocationSpan.text($productLatitudeInput.val()+", "+$productLongitudeInput.val());return true;}else{$productLatitudeInput.val("");$productLongitudeInput.val("");$geoLocationSpan.text("");$geoLocationLabel.hide();$productGeoLocation.removeClass("labelVisible");$displayMapMandatory.show();$displayCoordinatespMandatory.hide();if($error.length){$error.show();}else{$displayMapMandatory.closest("div").append(strError);}var iLowestNumberTop=-1;$productLatitudeInput.closest("form").find("label.error").each(function(){var iLabelOffsetTop=$(this).offset().top;if(iLabelOffsetTop!==0&&(iLabelOffsetTop<iLowestNumberTop||iLowestNumberTop===-1)){iLowestNumberTop=iLabelOffsetTop;}});if(bFormInitialLoad){clearTimeout(locationScroll);locationScroll=setTimeout(function(){$productGeoLocation.find("div.displayMap>span.error>label").show();if(iLowestNumberTop>0&&!$productLatitudeInput.closest("form").find(".mapwrapper").hasClass("show")){$('html, body').animate({scrollTop:iLowestNumberTop-16},500);}},10);}return false;}}var geoLocationMapstraction;function setupMapGeoLocationSection(){var strLangResourcePath="NewMind.env.lang.resources.forms.productcapture.geolocation",strImgsResourcePath=strLangResourcePath.replace("lang","imgs");$('div.productGeoLocation').each(function(){var iControlKey=NewMind.ETWP.GetControlKey($(this).closest('div.sys_control')),$productGeoLocation=$(this),$map=$productGeoLocation.find(".dynMapContainer"),$mapWrapper=$map.closest('.mapwrapper'),strMapId=$map.attr("id"),config=NewMind.env.install.mapping.configurations[strMapId],$longitudeInput=$("#productLongitude_"+iControlKey),$latitudeInput=$("#productLatitude_"+iControlKey),strMapHTMLMarkup="<div class=\"row displayMap\"><span class=\"label\"><a href=\"#\">"+NewMind.ETWP.GetResource(strLangResourcePath+".setgeolocationmap","Set Geo-location using a map")+"</a></span><span class=\"mandatory\">*</span></div>";if(iControlKey===0)return;if(!NewMind.mapping||!NewMind.mapping.DebugOutput){return;}if(!NewMind.ETWP||!NewMind.ETWP.GetResource){NewMind.mapping.DebugOutput("NewMind.ETWP.GetResource not defined");return;}if(!NewMind.env||!NewMind.env.install||!NewMind.env.install.mapping||!NewMind.env.install.mapping.configurations){NewMind.mapping.DebugOutput("NewMind.env.install.mapping.configurations not available");return;}if(!strMapId){NewMind.mapping.DebugOutput("No ContainerId specified");return;}if(!config){NewMind.mapping.DebugOutput("No config present for ContainerId: "+strMapId);return;}if(!config.eventsubmission){NewMind.mapping.DebugOutput("The map used with Id "+strMapId+" is not val
10id 'eventsubmission' is false or not found");return;}$longitudeInput.removeClass("required");$latitudeInput.removeClass("required");$productGeoLocation.append(strMapHTMLMarkup);$("<span class=\"field\"><span class=\"geoLocation\"></span></span><span class=\"mandatory\" style=\"display:none\">*</span></div>").insertAfter($productGeoLocation.find(">span.label"));if($longitudeInput.val().trim().length>0||$latitudeInput.val().trim().length>0){$longitudeInput.valid();}$productGeoLocation.find(".displayMap > span > a").click(function(e){var $mapInitaliser=$(this).closest(".displayMap"),$hideMap=$("<div class=\"hideMap\">"),$displayMap=$(strMapHTMLMarkup).hide();e.preventDefault();$hideMap.append("<img src=\""+NewMind.ETWP.GetResource(strImgsResourcePath+".hideMap","/engine/shared_gfx/InfoBubbleClose.png")+"\" />");$('html, body').animate({scrollTop:$productGeoLocation.offset().top},1000);$("body").addClass("mapShow");NewMind.mapping.RequestMapstractionReferenceWhenInitialised(function(mapstraction){var currentLat=parseFloat($latitudeInput.val()),currentLon=parseFloat($longitudeInput.val());if(mapstraction.element===strMapId){createMarkerAndZoom(iControlKey,mapstraction,currentLat,currentLon);if(currentLat.toString().length>0||currentLon.toString().length>0){$latitudeInput.valid();}mapstraction.click.addHandler(function(eventType,context,attributes){var lat=parseFloat(attributes.location.lat).toFixed(5),lon=parseFloat(attributes.location.lon).toFixed(5);createGeoLocationMarker(iControlKey,mapstraction,lat,lon);$latitudeInput.val(lat);$longitudeInput.val(lon);$latitudeInput.valid();});geoLocationMapstraction=mapstraction;$mapInitaliser.remove();}});$map.addClass("activated");$mapWrapper.prepend($hideMap).addClass("show");$productGeoLocation.append($displayMap);$hideMap.find("img").click(function(){$mapWrapper.addClass("hide").removeClass("show").hide();$displayMap.removeClass("hide").show();$("body").removeClass("mapShow");$latitudeInput.valid();});$displayMap.find("a").click(function(e){var sglLatitude=parseFloat($latitudeInput.val()),sglLongitude=parseFloat($longitudeInput.val());e.preventDefault();$("body").addClass("mapShow");$mapWrapper.addClass("show").removeClass("hide").show();$(this).closest("div").addClass("hide").hide();if(geoLocationMapstraction){if(geoLocationMapstraction.markers&&geoLocationMapstraction.markers[0]&&geoLocationMapstraction.markers[0].location.lat===sglLatitude&&geoLocationMapstraction.markers[0].location.lon===sglLongitude){setAndZoomGeoLocationPosition(geoLocationMapstraction,sglLatitude,sglLongitude);}else{createMarkerAndZoom(iControlKey,geoLocationMapstraction,parseFloat($latitudeInput.val()),parseFloat($longitudeInput.val()));}}$latitudeInput.valid();$('html, body').animate({scrollTop:$productGeoLocation.offset().top-16},500);});NewMind.mapping.loadGenericSearchResultsMap(strMapId);});});}function setAndZoomGeoLocationPosition(mapstraction,sglLatitude,sglLongitude){if(isNaN(parseFloat(sglLatitude))||isNaN(parseFloat(sglLongitude))){return;}mapstraction.setCenterAndZoom(new mxn.LatLonPoint(sglLatitude,sglLongitude),(mapstraction.api==="googlev3")?17:15);NewMind.mapping.DebugOutput("Moved to (lat:"+sglLatitude+", lon:"+sglLongitude+")");}function resetGeoLocationPosition(iControlKey,mapstraction){mapstraction.removeAllMarkers();NewMind.mapping.DebugOutput("Removed markers from map with Id: "+mapstraction.element);mapstraction.setCenterAndZoom(new mxn.LatLonPoint(NewMind.env.install.mapping.home.lat,NewMind.env.install.mapping.home.lon),NewMind.env.install.mapping.home.zoom-2);NewMind.mapping.DebugOutput("Reset location and zoom on map with Id: "+mapstraction.element);}function createGeoLocationMarker(iControlKey,mapstraction,sglLatitude,sglLongitude){var strLangResourcePath="NewMind.env.lang.resources.forms.productcapture.geolocation",config=NewMind.env.install.mapping.configurations["map-"+iControlKey],marker,point;if(isNaN(parseFloat(sglLatitude))||isNaN(parseFloat(sglLongitude))){return;}point=new mxn.LatLonPoint(sglLatitude,sglLongitude);marker=new mxn.Marker(point);if(!$("body").hasClass("mapShow"))return;marker.setInfoBubble(["<div class=\"GeoLocationContent\">","<div class=\"lat\"><span class=\"title\">"+NewMind.ETWP.GetResource(strLangResourcePath+'.bubble.lat','Lat:')+"</span><span class=\"value\">"+point.lat+"</span></div>","<div class=\"lon\"><span class=\"title\">"+NewMind.ETWP.GetResource(strLangResourcePath+'.bubble.lon','Lon:')+"</span><span class=\"value\">"+point.lon+"</span></div>","</div>"].join(""));mapstraction.removeAllMarkers();mapstraction.addMarkerWithData(marker,{draggable:false,icon:config.iconUrl||"/engine/shared_gfx/mkr-def.png",iconSize:config.iconSize||[23,26],iconAnchor:config.iconOffset||[9,18]});NewMind.mapping.DebugOutput("Marker location: "+point.toString(4));marker.openBubble();}function createMarkerAndZoom(iControlKey,mapstraction,sglLatitude,sglLongitude){createGeoLocationMarker(iControlKey,mapstraction,sglLatitude,sglLongitude);setAndZoomGeoLocationPosition(mapstraction,sglLatitude,sglLongitude);}var intFileNameNumber=0;function setupImageUploadSections(){var bAllowMultipleFileUploads=!!$("div.imageUploadPlaceholder").attr("data-allowmultiple");var bIsMandatory=!!$("div.imageUploadPlaceholder").attr("data-mandatory");if(bAllowMultipleFileUploads){var $lastImageUploadFieldset=$("div.form fieldset.ImageUploads").filter(":last");var $addAnotherImage=$("<a class='addImage' />");
10$addAnotherImage.html(NewMind.ETWP.GetResource('NewMind.env.lang.resources.forms.productcapture.addimage','Add another Image'));$addAnotherImage.insertAfter($lastImageUploadFieldset);$addAnotherImage.click(function(){var $lastImageUploadFieldset=$("div.form fieldset.ImageUploads").filter(":last");var $imageRowsOtherThanUploadRow=$lastImageUploadFieldset.children("div.row").filter(function(){var $this=$(this);return !$this.hasClass("imageUpload")&&!$this.hasClass("imageUploadComplete");});var $newImageFieldset=$("<fieldset />");$newImageFieldset.addClass($lastImageUploadFieldset[0].className);var $newImageUploadPlaceholder=$("<div class='imageUploadPlaceholder' />");$newImageUploadPlaceholder.appendTo($newImageFieldset);populateImageUploadSectionPlaceHolder($newImageUploadPlaceholder);var $clonedImageRowsOtherThanUploadRow=$imageRowsOtherThanUploadRow.clone();$clonedImageRowsOtherThanUploadRow.find("input").val("");$clonedImageRowsOtherThanUploadRow.appendTo($newImageFieldset);injectRemoveImageUploadButtonIntoFieldset($newImageFieldset);showOrHideRemoveImageLinksDependingUponNumberOfOptions(1);$newImageFieldset.insertAfter($lastImageUploadFieldset);$newImageFieldset.hide().slideDown();});}$("fieldset.ImageUploads").each(function(){injectRemoveImageUploadButtonIntoFieldset($(this));});showOrHideRemoveImageLinksDependingUponNumberOfOptions();$('div.imageUploadPlaceholder').each(function(){populateImageUploadSectionPlaceHolder($(this));});function injectRemoveImageUploadButtonIntoFieldset($fieldset){var $removeLink=$("<a class='removeImage'>");$removeLink.html(NewMind.ETWP.GetResource('NewMind.env.lang.resources.forms.productcapture.removeimage','Remove Image'));$fieldset.prepend($removeLink);$removeLink.click(function(){$fieldset.slideUp({complete:function(){$fieldset.remove();}});showOrHideRemoveImageLinksDependingUponNumberOfOptions(-1);});}function showOrHideRemoveImageLinksDependingUponNumberOfOptions(intOptionalOffset){var $removeImageLinks=$("fieldset.ImageUploads a.removeImage");var intNumberOfRemoveLinksToConsider=$removeImageLinks.length+(intOptionalOffset||0);if(intNumberOfRemoveLinksToConsider===1){$removeImageLinks.css({"visibility":"hidden"});}else{$removeImageLinks.css({"visibility":"visible"});}}function populateImageUploadSectionPlaceHolder($imageUploadSection){if($('div.imageUploadComplete').length>0){return;}var errorMessage=$imageUploadSection.attr("data-error");var strEncodedHelpText=NewMind.ETWP.GetResource('NewMind.env.lang.resources.forms.help.image','');var strId="imageUpload";var $uploadRow=$("<div class='row'/>");$uploadRow.addClass(strId);if(strEncodedHelpText){$uploadRow.addClass("hasHelpContent");}if(strEncodedHelpText){var $helpText=$("<div class='help' />");$helpText.html(strEncodedHelpText);$helpText.appendTo($uploadRow);}var $labelWrapper=$("<span class='label' />");var $label=$("<label />");$label.attr("for" ,strId);$label.html(NewMind.ETWP.GetResource('NewMind.env.lang.resources.forms.productcapture.image','Image:'));$label.appendTo($labelWrapper);$labelWrapper.appendTo($uploadRow);var $uploadField=$("<span class='field' />");var $uploaderContainer=$("<span id='imageUpload' class='unstyled' />");$uploaderContainer.appendTo($uploadField);var $uploadButton=$("<span class='btn btn-primary triggerUpload' />");if(!bAllowMultipleFileUploads){$uploadButton.attr("id","triggerUpload");}$uploadButton.html(NewMind.ETWP.GetResource('NewMind.env.lang.resources.forms.productcapture.imageupload.buttontext','Upload'));$uploadButton.appendTo($uploadField);var $hiddenFilenameInput=$("<input type='hidden' class='productImage' name='productImage' value='' />");if(!bAllowMultipleFileUploads){$hiddenFilenameInput.attr("id","productImage");}$hiddenFilenameInput.appendTo($uploadField);if(bIsMandatory){var $mandatoryIcon=$("<span class='mandatory'>*</span>");$mandatoryIcon.appendTo($uploadField);}if(errorMessage){var $errorMessage=$("<span class='error' />");$errorMessage.html(errorMessage);$errorMessage.appendTo($uploadField);}$uploadField.appendTo($uploadRow);$imageUploadSection.replaceWith($uploadRow);var iSizeLimit=10485760;if(NewMind.env.platform.maxUploadSizeInMB&&NewMind.env.platform.maxUploadSizeInMB>0){iSizeLimit=NewMind.env.platform.maxUploadSizeInMB*1024*1024;}var uploaderValidation={allowedExtensions:['jpg','jpeg','pjpeg','png','gif'],sizeLimit:iSizeLimit};var uploaderMessages={sizeError:NewMind.ETWP.GetResource('NewMind.env.lang.resources.forms.productcapture.imageupload.sizeerror','{file} is too large, maximum file size is {sizeLimit}.'),tooManyFilesError:NewMind.ETWP.GetResource('NewMind.env.lang.resources.forms.productcapture.imageupload.toomanyfiles','You may only drop one file'),typeError:NewMind.ETWP.GetResource('NewMind.env.lang.resources.forms.productcapture.imageupload.typeinvalid','{file}
10 has an invalid extension. Valid extension(s): {extensions}.'),emptyError:NewMind.ETWP.GetResource('NewMind.env.lang.resources.forms.productcapture.imageupload.emptyfile','{file} is empty, please select files again without it.'),noFilesError:NewMind.ETWP.GetResource('NewMind.env.lang.resources.forms.productcapture.imageupload.nofiles','No files to upload.'),onLeave:NewMind.ETWP.GetResource('NewMind.env.lang.resources.forms.productcapture.imageupload.leaveearly','The files are being uploaded, if you leave now the upload will be cancelled.')};var uploaderText={uploadButton:NewMind.ETWP.GetResource('NewMind.env.lang.resources.forms.productcapture.imageupload.selectfiles','Select File'),retryButton:NewMind.ETWP.GetResource('NewMind.env.lang.resources.forms.productcapture.imageupload.retry','Retry'),failUpload:NewMind.ETWP.GetResource('NewMind.env.lang.resources.forms.productcapture.imageupload.uploadfailed','Upload failed'),dragZone:NewMind.ETWP.GetResource('NewMind.env.lang.resources.forms.productcapture.imageupload.dragzone','Drop files here to upload'),dropProcessing:NewMind.ETWP.GetResource('NewMind.env.lang.resources.forms.productcapture.imageupload.dropprocessing','Processing dropped files...'),formatProgress:NewMind.ETWP.GetResource('NewMind.env.lang.resources.forms.productcapture.imageupload.progresstext','{percent}% of {total_size}'),waitingForResponse:NewMind.ETWP.GetResource('NewMind.env.lang.resources.forms.productcapture.imageupload.waiting','Processing...')};var bEnableMultipleFileUpload=true;var strFileSelectedClass="fileSelected";var strFileUploadingClass="fileUploading";var strFileUploadedClass="fileUploaded";var strImageRequiredCheckClass="vImageRequired";var strImageUploadCheckClass="vImageUploadRequired";var strNameForCurrentFileInput="file"+intFileNameNumber;intFileNameNumber++;var uploader=new qq.FineUploader({debug:true,validation:uploaderValidation,messages:uploaderMessages,multiple:false,element:$uploaderContainer[0],autoUpload:false,text:uploaderText,request:{endpoint:"/engine/FileUploadHandler.asp"},callbacks:{onSubmit:function(){var $inputClone=$uploadField.find("input[type=file]").clone();$uploadField.addClass(strFileSelectedClass).removeClass(strFileUploadingClass).removeClass(strFileUploadedClass);setTimeout(function(){$uploadField.find("input[type=file]").addClass(strImageUploadCheckClass);$uploadField.find("input[type=file]").attr("name",$inputClone.attr("name"));$uploadField.find("input[type=file]").valid();});},onCancel:function(){$uploadField.removeClass(strFileSelectedClass).removeClass(strFileUploadingClass).removeClass(strFileUploadedClass);$uploadField.find("input[type=file]").removeClass(strImageUploadCheckClass);mandatoryClassSetter();$uploadField.find("input[type=file]").valid();},onDelete:function(){$uploadField.removeClass(strFileSelectedClass).removeClass(strFileUploadingClass).removeClass(strFileUploadedClass);},onUpload:function(){$uploadField.addClass(strFileUploadingClass);},onError:function(id,fileName,reason){qq.log("id: "+id+", fileName: "+fileName+", reason: "+reason);},onComplete:function(id,name,response){var bFail=(!response||response.error||!response.filename);$hiddenFilenameInput.val(bFail?"":response.filename);$uploadField.removeClass(strFileUploadingClass);if(bFail){$uploadField.removeClass(strFileUploadedClass);}else{$uploadField.addClass(strFileUploadedClass);$uploadField.find('input:file').valid();}}}});$uploadField.find(".triggerUpload").click(function(){uploader.uploadStoredFiles();});applyLabelToFileInput($uploadField,strNameForCurrentFileInput);mandatoryClassSetter();function mandatoryClassSetter(){if(bIsMandatory){$uploadField.find("input[type=file]").addClass(strImageRequiredCheckClass);}};}}function applyLabelToFileInput($uploadField,strName){var $file=$uploadField.find("input[type=file]");var $fileLabel=$file.parent().find(">div");var fileLabelId=strName+"-label";$file.attr("name",strName);$fileLabel.attr("id",fileLabelId);$file.attr("aria-labelledby",fileLabelId);}function setupFileUploadSections(){var bAllowMultipleFileUploads=!!$("div.fileUploadPlaceholder").attr("data-allowmultiple");var bIsMandatory=!!$("div.fileUploadPlaceholder").attr("data-mandatory");var strLanguageResourceBasePath="NewMind.env.lang.resources.forms.custom.fileupload";if(!!$("div.fileUploadPlaceholder").attr("data-respath")){strLanguageResourceBasePath+="."+$("div.fileUploadPlaceholder").attr("data-respath");}var arrFiletypes;if(!!$("div.fileUploadPlaceholder").attr("data-filetypes")){arrFiletypes=$("div.fileUploadPlaceholder").attr("data-filetypes").split(" ").join().split(",").filter(function(str){return /\S/.test(str);});}if(bAllowMultipleFileUploads){var $lastFileUploadFieldset=$("div.form fieldset.FileUpload").filter(":last");var $addAnotherFile=$("<a class='addFile' />");
10$addAnotherFile.html(NewMind.ETWP.GetResource(strLanguageResourceBasePath+'.addFile','Add another File'));$addAnotherFile.insertAfter($lastFileUploadFieldset);$addAnotherFile.click(function(){var $lastFileUploadFieldset=$("div.form fieldset.FileUpload").filter(":last");var $fileRowsOtherThanUploadRow=$lastFileUploadFieldset.children("div.row").filter(function(){var $this=$(this);return !$this.hasClass("fileUpload")&&!$this.hasClass("fileUploadComplete");});var $newFileFieldset=$("<fieldset />");$newFileFieldset.addClass($lastFileUploadFieldset[0].className);var $newFileUploadPlaceholder=$("<div class='fileUploadPlaceholder' />");$newFileUploadPlaceholder.appendTo($newFileFieldset);populateFileUploadSectionPlaceHolder($newFileUploadPlaceholder);var $clonedFileRowsOtherThanUploadRow=$fileRowsOtherThanUploadRow.clone();$clonedFileRowsOtherThanUploadRow.find("input").val("");$clonedFileRowsOtherThanUploadRow.appendTo($newFileFieldset);injectRemoveFileUploadButtonIntoFieldset($newFileFieldset);showOrHideRemoveFileLinksDependingUponNumberOfOptions(1);$newFileFieldset.insertAfter($lastFileUploadFieldset);$newFileFieldset.hide().slideDown();});}$("fieldset.FileUpload").each(function(){injectRemoveFileUploadButtonIntoFieldset($(this));});showOrHideRemoveFileLinksDependingUponNumberOfOptions();$('div.fileUploadPlaceholder').each(function(){populateFileUploadSectionPlaceHolder($(this));});function injectRemoveFileUploadButtonIntoFieldset($fieldset){var $removeLink=$("<a class='removeFile'>");$removeLink.html(NewMind.ETWP.GetResource(strLanguageResourceBasePath+'.removeFile','Remove File'));$fieldset.prepend($removeLink);$removeLink.click(function(){$fieldset.slideUp({complete:function(){$fieldset.remove();}});showOrHideRemoveFileLinksDependingUponNumberOfOptions(-1);});}function showOrHideRemoveFileLinksDependingUponNumberOfOptions(intOptionalOffset){var $removeFileLinks=$("fieldset.FileUpload a.removeFile");var intNumberOfRemoveLinksToConsider=$removeFileLinks.length+(intOptionalOffset||0);if(intNumberOfRemoveLinksToConsider===1){$removeFileLinks.css({"visibility":"hidden"});}else{$removeFileLinks.css({"visibility":"visible"});}}function populateFileUploadSectionPlaceHolder($fileUploadSection){if($('div.fileUploadComplete').length>0){return;}var errorMessage=$fileUploadSection.attr("data-error");var strEncodedHelpText=NewMind.ETWP.GetResource(strLanguageResourceBasePath+'.help.file','');var strId="fileUpload";var $uploadRow=$("<div class='row'/>");$uploadRow.addClass(strId);if(strEncodedHelpText){$uploadRow.addClass("hasHelpContent");}if(strEncodedHelpText){var $helpText=$("<div class='help' />");$helpText.html(strEncodedHelpText);$helpText.appendTo($uploadRow);}var $labelWrapper=$("<span class='label' />");var $label=$("<label />");$label.attr("for" ,strId);$label.html(NewMind.ETWP.GetResource(strLanguageResourceBasePath+'.label','File:'));$label.appendTo($labelWrapper);$labelWrapper.appendTo($uploadRow);var $uploadField=$("<span class='field' />");var $uploaderContainer=$("<span id='fileUpload' class='unstyled' />");$uploaderContainer.appendTo($uploadField);var $uploadButton=$("<span class='btn btn-primary triggerUpload' />");if(!bAllowMultipleFileUploads){$uploadButton.attr("id","triggerUpload");}$uploadButton.html(NewMind.ETWP.GetResource(strLanguageResourceBasePath+'.buttontext','Upload'));$uploadButton.appendTo($uploadField);var $hiddenFilenameInput=$("<input type='hidden' class='fileupload' name='fileupload' value='' />");if(!bAllowMultipleFileUploads){$hiddenFilenameInput.attr("id","fileupload");}$hiddenFilenameInput.appendTo($uploadField);if(bIsMandatory){var $mandatoryIcon=$("<span class='mandatory'>*</span>");$mandatoryIcon.appendTo($uploadField);}if(errorMessage){var $errorMessage=$("<span class='error' />");$errorMessage.html(errorMessage);$errorMessage.appendTo($uploadField);}$uploadField.appendTo($uploadRow);$fileUploadSection.replaceWith($uploadRow);var iSizeLimit=10485760;if(NewMind.env.platform.maxUploadSizeInMB&&NewMind.env.platform.maxUploadSizeInMB>0){iSizeLimit=NewMind.env.platform.maxUploadSizeInMB*1024*1024;}var uploaderValidation={allowedExtensions:arrFiletypes||['jpg','jpeg','pjpeg','png','gif'],sizeLimit:iSizeLimit};var uploaderMessages={sizeError:NewMind.ETWP.GetResource(strLanguageResourceBasePath+'.sizeerror','{file} is too large, maximum file size is {sizeLimit}.'),tooManyFilesError:NewMind.ETWP.GetResource(strLanguageResourceBasePath+'.toomanyfiles','You may only drop one file'),typeError:NewMind.ETWP.GetResource(strLanguageResourceBasePath+'.typeinvalid','{file}
10 has an invalid extension. Valid extension(s): {extensions}.'),emptyError:NewMind.ETWP.GetResource(strLanguageResourceBasePath+'.emptyfile','{file} is empty, please select files again without it.'),noFilesError:NewMind.ETWP.GetResource(strLanguageResourceBasePath+'.nofiles','No files to upload.'),onLeave:NewMind.ETWP.GetResource(strLanguageResourceBasePath+'.leaveearly','The files are being uploaded, if you leave now the upload will be cancelled.')};var uploaderText={uploadButton:NewMind.ETWP.GetResource(strLanguageResourceBasePath+'.selectfiles','Select File'),retryButton:NewMind.ETWP.GetResource(strLanguageResourceBasePath+'.retry','Retry'),failUpload:NewMind.ETWP.GetResource(strLanguageResourceBasePath+'.uploadfailed','Upload failed'),dragZone:NewMind.ETWP.GetResource(strLanguageResourceBasePath+'.dragzone','Drop files here to upload'),dropProcessing:NewMind.ETWP.GetResource(strLanguageResourceBasePath+'.dropprocessing','Processing dropped files...'),formatProgress:NewMind.ETWP.GetResource(strLanguageResourceBasePath+'.progresstext','{percent}% of {total_size}'),waitingForResponse:NewMind.ETWP.GetResource(strLanguageResourceBasePath+'.waiting','Processing...')};var bEnableMultipleFileUpload=true;var strFileSelectedClass="fileSelected";var strFileUploadingClass="fileUploading";var strFileUploadedClass="fileUploaded";var strFileRequiredCheckClass="vFileRequired";var strFileUploadCheckClass="vFileUploadRequired";var strNameForCurrentFileInput="file"+intFileNameNumber;intFileNameNumber++;var uploader=new qq.FineUploader({debug:true,validation:uploaderValidation,messages:uploaderMessages,multiple:false,element:$uploaderContainer[0],autoUpload:false,text:uploaderText,request:{endpoint:"/engine/CustomFormUploader"},callbacks:{onSubmit:function(){var $inputClone=$uploadField.find("input[type=file]").clone();$uploadField.addClass(strFileSelectedClass).removeClass(strFileUploadingClass).removeClass(strFileUploadedClass);setTimeout(function(){$uploadField.find("input[type=file]").addClass(strFileUploadCheckClass);$uploadField.find("input[type=file]").attr("name",$inputClone.attr("name"));$uploadField.find("input[type=file]").valid();});},onCancel:function(){$uploadField.removeClass(strFileSelectedClass).removeClass(strFileUploadingClass).removeClass(strFileUploadedClass);$uploadField.find("input[type=file]").removeClass(strFileUploadCheckClass);mandatoryClassSetter();$uploadField.find("input[type=file]").valid();},onDelete:function(){$uploadField.removeClass(strFileSelectedClass).removeClass(strFileUploadingClass).removeClass(strFileUploadedClass);},onUpload:function(){$uploadField.addClass(strFileUploadingClass);},onError:function(id,fileName,reason){qq.log("id: "+id+", fileName: "+fileName+", reason: "+reason);},onComplete:function(id,name,response){var bFail=(!response||response.error||!response.filename);$hiddenFilenameInput.val(bFail?"":response.filename);$uploadField.removeClass(strFileUploadingClass);if(bFail){$uploadField.removeClass(strFileUploadedClass);}else{$uploadField.addClass(strFileUploadedClass);$uploadField.find('input:file').valid();}}}});$uploadField.find(".triggerUpload").click(function(){uploader.uploadStoredFiles();});applyLabelToFileInput($uploadField,strNameForCurrentFileInput);mandatoryClassSetter();function mandatoryClassSetter(){if(bIsMandatory){$uploadField.find("input[type=file]").addClass(strFileRequiredCheckClass);}};}}function setupFacilitySection(){if($("div.form div.productInformation")[0]){var cachedFacilityKeyResults={};$("div.form div.productInformation").each(function(){$form=$(this).parent();if($form.find("div.productFacilities")[0]&&$form.find("div.productCategory")[0]){var $facilities=$form.find("div.productFacilities"),$categories=$form.find("div.productCategory"),controlKey=NewMind.ETWP.GetControlKey($facilities.closest('div.sys_control'));if(controlKey!==0)cachedFacilityKeyResults[controlKey]=[];else{NewMind.ETWP.Trace.PrintTraceError("Unable to find control key on the event/product submission form");return;}if($categories.find("select")[0]){var $select=$categories.find("select");filterFacilities($select.find("option:selected").val(),$facilities);$select.change(function(){var select=$(this).find("option:selected").val();filterFacilities(select,$facilities);});}
10else if($categories.find('input')){var $inputs=$categories.find('input');$inputs.each(function(){getCategoriesAndFilterFacilities($inputs,$facilities);$(this).change(function(){getCategoriesAndFilterFacilities($inputs,$facilities);});});}}});}function getCategoriesAndFilterFacilities($inputs,$facilities){var categories="";$inputs.each(function(){var $input=$(this);if($input.is(":checked")){if(categories.length!==0)categories+=(","+$input.val());else categories=$input.val();}});if(categories.length!==0)filterFacilities(categories,$facilities);else{$facilities.find("span.label > label").addClass("dimSection");$facilities.find("li").each(function(){$(this).css("display","none");});}}function showRelatedFacilitiesOfCategories(facilitiyKeys,$facilities,$lis){if(facilitiyKeys.length>0){for(var facilityIndex=0;facilityIndex<facilitiyKeys.length;facilityIndex++){$lis.each(function(){if(parseInt($(this).find('input').val())===facilitiyKeys[facilityIndex].key)$(this).attr("style","");});}$facilities.find("span.label > label").removeClass("dimSection");}else $facilities.find("span.label > label").addClass("dimSection");}function filterFacilities(categories,$facilities){var controlKey=NewMind.ETWP.GetControlKey($facilities.closest('div.sys_control'));if(!$facilities.find("span.loading")[0]){var loadingText=NewMind.ETWP.GetResource('NewMind.env.lang.resources.forms.productcapture.facility.loading','Loading facilities...'),loadingImage=NewMind.ETWP.GetResource('NewMind.env.imgs.resources.forms.productcapture.facility.loadinganimation','/engine/shared_gfx/ajax-loader-arrows-white.gif'),$loadingSpan=$("<span class=\"loading\">"),$loadingImage=$("<img />").attr("class","loadingimage").attr("src",loadingImage),$loadingText=$("<span />").attr("class","loadingtext").text(loadingText);$loadingSpan.append($loadingImage).append($loadingText);$facilities.prepend($loadingSpan);}$lis=$facilities.find("ul.productFacilities > li");$lis.each(function(){$(this).css("display","none");});var categorySearchId=String(categories).replace(",","-");if(!categorySearchId){$facilities.hide();$lis.removeAttr("checked");return;}if(cachedFacilityKeyResults[controlKey][categorySearchId]){showRelatedFacilitiesOfCategories(cachedFacilityKeyResults[controlKey][categorySearchId],$facilities,$lis);uncheckAnyHiddenInput();hideRowIfZeroFacilityOptions();$facilities.find(".loading").remove();return;}return $.ajax({type:'GET',url:'',data:{partialrendercontrollist:controlKey,asyncaction:'facilitylist',categories:categories},dataType:"json",success:function(data){$facilities.find(".loading").remove();cachedFacilityKeyResults[controlKey][categorySearchId]=data;showRelatedFacilitiesOfCategories(data,$facilities,$lis);uncheckAnyHiddenInput();$facilities.removeClass("notPerformedInitialLoad");$facilities.show();hideRowIfZeroFacilityOptions();},error:function(data){$facilities.find(".loading").remove();$facilities.hide();uncheckAnyHiddenInput();NewMind.ETWP.Trace.PrintTraceError("Unable to return any facilities for the chosen catagory or categories.");}});function uncheckAnyHiddenInput(){$lis.filter(":hidden").find("input").removeAttr("checked");}function hideRowIfZeroFacilityOptions(){if($lis.filter(":visible").length===0){$facilities.hide();}}}}var postalCodeLookups=[];function setupPostcodeCaptureFields(){$('div.postcode > .field > input').each(function(){var iControlKey=NewMind.ETWP.GetControlKey($(this).closest('div.sys_control')),$postcode=$(this),$countryId=$("#productCountryID_"+iControlKey),$area=$("#area_"+iControlKey),$address1=$("#address1_"+iControlKey),$address2=$("#address2_"+iControlKey),$address4=$("#address4_"+iControlKey);if(!$countryId||!$countryId.length){NewMind.ETWP.Trace.PrintTrace("ProductCountryID input element not found with id:#productCountryID_"+iControlKey);return;}if(!$area||!$area.length){NewMind.ETWP.Trace.PrintTrace("Area select element not found with id:#area_"+iControlKey);return;}if(!$address1||!$address1.length){NewMind.ETWP.Trace.PrintTrace("Address1 input element not found with id:#address1_"+iControlKey);return;}if(!$address2||!$address2.length){NewMind.ETWP.Trace.PrintTrace("Address2 input element not found with id:#address2_"+iControlKey);return;}if(!$address4||!$address4.length){NewMind.ETWP.Trace.PrintTrace("Address4 input element not found with id:#address4_"+iControlKey);return;}if($('div.venue .field').length){eventVenueSearchers[iControlKey].subscribe(function(){$postcode.valid();});}if($postcode.closest("div.row").hasClass("lookup")){$area.closest(".row").addClass("hide");$address4.closest(".row").addClass("hide");$postcode.bind('input',function(){clearTimeout(postalCodeLookups[iControlKey]);postalCodeLookups[iControlKey]=setTimeout(function(){$postcode.closest(".row").addClass("loading");postalCodeValidLookup($postcode.val(),$postcode,[iControlKey],function(){postalCodeGeoLocationLookup(iControlKey,$address1,$address2,$postcode,$countryId);});},100);$postcode.closest(".row").removeClass("loading");});if($postcode.val()){$postcode.trigger("input");}$address4.closest("div.row").addClass("auto");$area.closest("div.row").addClass("auto");}else{$postcode.bind('input',function(){clearTimeout(postalCodeLookups[iControlKey]);postalCodeLookups[iControlKey]=setTimeout(function(){if($postcode.valid()){postalCodeGeoLocationLookup(iControlKey,$address1,$address2,$postcode,$countryId);}},100);});}});}
10var postalCodeLookupResults=[],PostalCodeLookUpResult=function(value){return{value:value,verdict:false,lastAJAXSearchString:""};};function autoPostalCodeLookup(value,element,iControlKey){if(!iControlKey||!value){return false;}if(postalCodeLookupResults[iControlKey]&&postalCodeLookupResults[iControlKey].value===value){return postalCodeLookupResults[iControlKey].verdict;}return false;};var arrLookupDelay=[];function postalCodeValidLookup(strValue,element,options,geoLocationCallback){var iKey=options[0],value=(strValue+"").trim(),$postcode=$("#postcode_"+iKey),$area=$("#area_"+iKey),$address4=$("#address4_"+iKey),searchingText=NewMind.ETWP.GetResource('NewMind.env.lang.resources.forms.productcapture.postcodelookup.searching','Searching...'),searchingImage=NewMind.ETWP.GetResource('NewMind.env.imgs.resources.forms.productcapture.postcodelookup.animation','/engine/shared_gfx/ajax-loader-arrows-white.gif'),$searchingSpan=$("<span class=\"loading\">"),$searchingImage=$("<img />").attr("class","searchingimage").attr("src",searchingImage),$searchingText=$("<span />").attr("class","searchingtext").text(searchingText);if(!value.length)return false;if(typeof postalCodeLookupResults[iKey]!=="undefined"){if(value.length!==0&&value===postalCodeLookupResults[iKey].value&&value===postalCodeLookupResults[iKey].lastAJAXSearchString){$postcode.closest(".row").removeClass("loading");return postalCodeLookupResults[iKey].verdict;}}if(arrLookupDelay[iKey]&&arrLookupDelay[iKey].value&&arrLookupDelay[iKey].value===strValue){$postcode.closest(".row").removeClass("loading");return postalCodeLookupResults[iKey].verdict||false;}else{arrLookupDelay[iKey]={value:strValue};}if($postcode.closest(".row").find(".loading").length===0){$searchingSpan.append($searchingImage).append($searchingText);$postcode.closest(".row").append($searchingSpan);}postalCodeLookupResults[iKey]=new PostalCodeLookUpResult(value);var areResultsStillApplicable=function(){return $.trim($("#postcode_"+iKey).val())===$.trim(value);};$.ajax({type:'GET',url:'',data:{partialrendercontrollist:iKey,asyncaction:'postcodelookuplist',str:value},dataType:'json',success:function(data){$searchingSpan.remove();if(!areResultsStillApplicable()){return;}if(!data.validMultipleMunicipalities&&(data.results.length===0||!data.singleKey||!data.singlePostalCode||data.results[0].postalCodes[0]!==value)){resetPostalCodeLookupFields($area,$address4,$postcode);postalCodeLookupResults[iKey].verdict=false;}else{postalCodeLookupResults[iKey].verdict=true;showValidLocations($postcode,$area,$address4,data.results);}},error:function(){$searchingSpan.remove();if(!areResultsStillApplicable()){return;}postalCodeLookupResults[iKey].verdict=false;resetPostalCodeLookupFields($area,$address4,$postcode);},complete:function(data){if(!areResultsStillApplicable()){return;}if(geoLocationCallback&&postalCodeLookupResults[iKey].verdict){geoLocationCallback();}postalCodeLookupResults[iKey].lastAJAXSearchString=JSON.parse(data.response).str;$postcode.valid();$postcode.closest(".row").removeClass("loading");return postalCodeLookupResults[iKey].verdict;}});return true;}function showValidLocations($postcode,$area,$address4,validLookupData){var validKeys=[],matches=0,$areaContainer=$area.closest("div.row");for(var resultIndex=0;resultIndex<validLookupData.length;resultIndex++){validKeys.push(validLookupData[resultIndex].key);validKeys.concat(validLookupData[resultIndex].childLocationKeys.slice(0));}$areaContainer.removeClass("hide");var setMunicipality=function(){var iAreaKey=parseInt(""+$area.val());var objResult;for(var iKeyIndex=0;iKeyIndex<validLookupData.length;iKeyIndex++){objResult=validLookupData[iKeyIndex];if(iAreaKey===objResult.key){$address4.val(objResult.name);}}};var currentAreaKey=$area.val();$area.find("option").each(function(){var $option=$(this),matchFound=false;for(var validKeyIndex=0;validKeyIndex<validKeys.length;validKeyIndex++){if(parseInt(""+$option.val())===validKeys[validKeyIndex]){matchFound=true;break;}}if(matchFound){matches++;$option.removeAttr("disabled");}else{$option.attr("disabled","disabled");if($option.val()===currentAreaKey){$option.removeAttr("selected");$area.val(validKeys[0]);}}});if(matches===1){$areaContainer.addClass("single");$area.val(validKeys[0]);}else{$areaContainer.removeClass("single");}$area.unbind('change');$area.change(function(){setMunicipality();});setMunicipality();
10$postcode.closest("div.row").addClass("valid");}function resetPostalCodeLookupFields($area,$address4,$postcode){$area.find("option").each(function(){$(this).attr("disabled","disabled");});$area.closest(".row").addClass("hide");$address4.closest(".row").addClass("hide");$address4.val("");$postcode.closest("div.row").removeClass("valid");}function postalCodeGeoLocationLookup(iControlKey,$address1,$address2,$postcode,$countryId){var geocoder,geocodeRequest=getGeocodeRequest(iControlKey,$address1,$address2,$postcode,$countryId);if(typeof google==="undefined"||typeof google.maps==="undefined"||typeof google.maps.Geocoder==="undefined"){NewMind.ETWP.Trace.PrintTraceWarning("Google Maps API not loaded.");return;}if(typeof geocodeRequest==="undefined"){return;}geocoder=new google.maps.Geocoder;NewMind.ETWP.PersistentAttempt({Condition:function(n){return geocoder?true:false;},Success:function(){geocoder.geocode(geocodeRequest,function(results,status){var location;if(status==google.maps.GeocoderStatus.OK){if(results){location=results[0].geometry.location;setGeoLocationPositionFromLookup(iControlKey,{longitude:location.lng(),latitude:location.lat()},true);if(results.length>1){NewMind.ETWP.Trace.PrintTrace("There was more than one result found on geocode lookup");}}return;}else{setGeoLocationPositionFromLookup(iControlKey,{},true);}});}});}function getGeocodeRequest(iControlKey,$address1,$address2,$postcode,$countryId){var strLookupAddress="",geocodeRequest={componentRestrictions:{}};if(!$countryId||!$countryId.length||$countryId.val().trim().length<2){NewMind.ETWP.Trace.PrintTraceWarning("ProductCountryID input element not valid for Google Maps API geocode lookup.");return;}geocodeRequest.componentRestrictions.country=$countryId.val().trim();if($address1&&$address1.length&&$address1.val().trim().length>0){strLookupAddress=$address1.val().trim();}if($address2&&$address2.length&&$address2.val().trim().length>0){if(strLookupAddress.length>0){strLookupAddress+=","+$address2.val().trim();}else{strLookupAddress=$address2.val().trim();}}if(strLookupAddress.length>0){geocodeRequest.address=filterMoreThanSingleWhitespaces(strLookupAddress);}if($postcode&&$postcode.length&&$postcode.val().trim().length>=3){geocodeRequest.componentRestrictions.postalCode=$postcode.val().trim();}if(geocodeRequest.address||geocodeRequest.componentRestrictions.postalCode){return geocodeRequest;}else{NewMind.ETWP.Trace.PrintTraceWarning("Cancelled Google Maps API geocode lookup, request needs at least an address or postcode.");}}function filterMoreThanSingleWhitespaces(str){return str.trim().split(" ").filter(function(str){return /\S/.test(str);}).join(" ");}function setupVenueCaptureFields(){var $venueCaptureInputs=$('div.venue .field');$venueCaptureInputs.each(function(){var $this=$(this);var $venueNameInput=$this.children('input[type!="hidden"]');var $venueProdKeyInput=$this.children('input[type="hidden"]');if($venueNameInput.length!=1||$venueProdKeyInput.length!=1)return;var controlKey=NewMind.ETWP.GetControlKey($this.closest('div.sys_control'));if(!controlKey)return;eventVenueSearchers[controlKey]=new NewMind.CustomEvent();var loadingText=NewMind.ETWP.GetResource('NewMind.env.lang.resources.forms.productcapture.venuecapture.loading','Loading venues...');var loadingImage=NewMind.ETWP.GetResource('NewMind.env.imgs.resources.forms.productcapture.venuecapture.loadinganimation','/engine/shared_gfx/ajax-loader-arrows-white.gif');var errorText=NewMind.ETWP.GetResource('NewMind.env.lang.resources.forms.productcapture.venuecapture.ajaxerror','Unable to load venues, please try again later.');$venueNameInput.attr('disabled','disabled');$venueNameInput.val(loadingText);var $spinner=$('<img />').attr('class','loadingimage').attr('src',loadingImage);$venueNameInput.add($venueNameInput.parent().find('.mandatory, .optional')).filter(':last').after($spinner);$.ajax({type:'GET',url:'',data:{partialrendercontrollist:controlKey,asyncaction:'venuelist'},dataType:"json",success:function(data){$spinner.remove();$venueNameInput.removeAttr('disabled');$venueNameInput.removeAttr('readonly');initialiseVenueAutocomplete($venueNameInput,$venueProdKeyInput,controlKey,data);},error:function(){$spinner.remove();$venueNameInput.val(errorText);$venueProdKeyInput.val('');}});});}function initialiseVenueAutocomplete($venueNameInput,$venueProdKeyInput,controlKey,data){var venueName='';var venueProductKey=parseInt($venueProdKeyInput.val(),10);if(venueProductKey>0){for(var i=0,len=data.length;i<len;i++){var venue=data[i];if(venue.key===venueProductKey){venueName=venue.name;break;}}}$venueNameInput.val(venueName);var autocompleteOptions={matchContains:true,max:100,formatItem:function(row,i,max){return '<span class="venuename">'+row.name+'</span> '+'<span class="venuetype">('+row.type+')</span><br />'+'<span class="venueaddress">'+row.address+'</span>';},formatMatch:function(row,i,max){return NewMind.ETWP.FoldToASCII(row.name);},formatTerm:function(term){return NewMind.ETWP.FoldToASCII(term);}};$venueNameInput.autocomplete(data,autocompleteOptions).result(function(evt,item,value){selectVenue($venueNameInput,$venueProdKeyInput,controlKey,item);}).blur(function(evt){$(this).search();});}function selectVenue($venueNameInput,$venueProdKeyInput,controlKey,item){if(!item){$venueProdKeyInput.val('');return;}var existingProductKey=parseInt($venueProdKeyInput.val(),10);if(existingProductKey==item.key)return;$venueProdKeyInput.val(item.key);lockAddressFields(controlKey);var loadingImage=NewMind.ETWP.GetResource('NewMind.env.imgs.resources.forms.productcapture.venuecapture.loadinganimation','/engine/shared_gfx/ajax-loader-arrows-white.gif');var $spinner=$('<img />').attr('class','loadingimage').attr('src',loadingImage);$venueNameInput.add($venueNameInput.parent().find('.mandatory, .o
10ptional')).filter(':last').after($spinner);$.ajax({type:'GET',url:'',data:{partialrendercontrollist:controlKey,asyncaction:'venueinfo',prodkey:item.key},dataType:'json',success:function(data){$spinner.remove();unlockAddressFieldsAndPopulateIfPossible(controlKey,data);eventVenueSearchers[controlKey].fire();setGeoLocationPositionFromLookup(controlKey,data);},error:function(xhr,textStatus,errorThrown){$spinner.remove();unlockAddressFieldsAndPopulateIfPossible(controlKey,null);}});}var venueAutoFillAddressFields=['address1','address2','address3','address4','address5','postcode','area'];function lockAddressFields(controlKey){jQuery.each(venueAutoFillAddressFields,function(i,fieldName){var $field=$('#'+fieldName+'_'+controlKey);$field.attr('readonly','readonly');});}function unlockAddressFieldsAndPopulateIfPossible(controlKey,dataIfAny){jQuery.each(venueAutoFillAddressFields,function(i,fieldName){var $field=$('#'+fieldName+'_'+controlKey);$field.removeAttr('readonly');if(dataIfAny){$field.val(dataIfAny[fieldName]!==undefined?dataIfAny[fieldName]:null);}});}function setGeoLocationPositionFromLookup(iControlKey,data,bGoogleGeocodeLookup){var sglLatitude=parseFloat(data.latitude).toFixed(5),sglLongitude=parseFloat(data.longitude).toFixed(5),$longitudeInput=$("#productLongitude_"+iControlKey),$latitudeInput=$("#productLatitude_"+iControlKey),$postcode=$("#postcode_"+iControlKey),$mapWrapper=$("#map-"+iControlKey).closest(".mapwrapper");if(typeof iControlKey!=="number"){NewMind.ETWP.Trace.PrintTraceWarning("'iControlKey' was not a number ('"+iControlKey+"')");return;}if(!$longitudeInput||!$latitudeInput||!$mapWrapper){NewMind.ETWP.Trace.PrintTraceWarning("Could not find either longitude or latitude or the mapwrapper element.");return;}$longitudeInput.val(sglLongitude);$latitudeInput.val(sglLatitude);$latitudeInput.valid();if(geoLocationMapstraction){if(!geoLocationMapstraction.element){return;}if($longitudeInput.val().trim().length&&$latitudeInput.val().trim().length){if($mapWrapper.hasClass("show")){createMarkerAndZoom(iControlKey,geoLocationMapstraction,sglLatitude,sglLongitude);}}else{if(bGoogleGeocodeLookup){NewMind.ETWP.Trace.PrintTraceWarning("Venue search did not return a number type on longitude and/or latitude data member(s).");NewMind.ETWP.Trace.PrintTrace("Trying to acquire a geolocation based on other fields populated by the venue lookup selection.");if($postcode.hasClass("lookup")){postalCodeValidLookup($postcode.val(),$postcode,[iControlKey],function(){postalCodeGeoLocationLookup(iControlKey,$address1,$address2,$postcode,$countryId);});}else if($postcode.valid()){postalCodeGeoLocationLookup(iControlKey,$address1,$address2,$postcode,$countryId);}else{resetGeoLocationPosition(iControlKey,geoLocationMapstraction);}}else{resetGeoLocationPosition(iControlKey,geoLocationMapstraction);}}}$latitudeInput.valid();}function setupPhantomOpeningTimeInputs(){$("div.productOpenings").each(function(){var $opening=$(this);$opening.find("div.openingTime span.field.isclosed").each(function(){var $isClosedField=$(this);var $checkbox=$isClosedField.find("input[type=checkbox]");if($checkbox.length===0){throw new Error("Could not locate checkbox in opening time entry");}if($isClosedField.find("input[type=hidden]").length>0){return;}$hiddenIsClosedInput=$("<input type='hidden' value='0' />");$hiddenIsClosedInput.attr("name",$checkbox.attr("name"));$checkbox.parent().append($hiddenIsClosedInput);});var bEnableDailyOpeningTimes=($opening.find("div.openingTime1").length>0);if(!bEnableDailyOpeningTimes){return;}$.each(["openingCombined","openingHours","openingMinutes","closingCombined","closingHours","closingMinutes"],function(){var strClassName=this;$opening.find("select."+strClassName).each(function(){var $select=$(this);if($select.parent().find("input[type=hidden]."+strClassName).length>0){return;}var $hiddenTimeInput=$("<input type='hidden' />");$hiddenTimeInput.attr("name",$select.attr("name"));$select.parent().append($hiddenTimeInput);});});iUniqueOpeningKey=$opening.find(".uniqueOpeningKey")[$opening.find(".uniqueOpeningKey").length-1].value;});}function datePickerEventHandler(){var datePickers=getDatePickersForOpening($(this));var dtStart=datePickers.$startDatePicker.datepicker('getDate');var dtEnd=datePickers.$endDatePicker.datepicker('getDate');
10if(dtStart&&!dtEnd){datePickers.$endDatePicker.datepicker('setDate',dtStart);}else if(!dtStart&&dtEnd){datePickers.$startDatePicker.datepicker('setDate',dtEnd);}if(datePickers.currentDatePickerIsStartDate&&(dtStart>dtEnd)){datePickers.$endDatePicker.datepicker('setDate',dtStart);}if(!datePickers.currentDatePickerIsStartDate&&(dtEnd<dtStart)){datePickers.$startDatePicker.datepicker('setDate',dtEnd);}var $consistentOpeningTimes=$(this).closest(".productOpening").find("span.field.consistentOpeningTimes input");if($consistentOpeningTimes&&!$consistentOpeningTimes.attr("checked")){$consistentOpeningTimes.trigger("change");}datePickers.$startDatePicker.valid();datePickers.$endDatePicker.valid();};function setupAddOpeningsLink(){var $productOpeningsWrapper=$('div.productOpenings');var $countField=$productOpeningsWrapper.find(".numOpenings");var setRemoveOpeningVisibility=function(){if(parseInt($countField.val(),10)>1){$productOpeningsWrapper.find("a.removeOpening").each(function(){$(this).show();});}else{$productOpeningsWrapper.find("a.removeOpening").each(function(){$(this).hide();});}};$productOpeningsWrapper.children("div.productOpening").each(function(){addRemoveOpeningLink($(this));});$productOpeningsWrapper.append('<a href="" class="addOpening">'+NewMind.ETWP.GetResource('NewMind.env.lang.resources.forms.productcapture.addopening','Add another Opening')+'</a>');$productOpeningsWrapper.find('a.addOpening').click(function(e){var $this=$(this);$countField.val(parseInt($countField.val(),10)+1);var $openingToCopy=$this.parent().find("div.productOpening:last");var $newOpening=$openingToCopy.clone().hide();addRemoveOpeningLink($newOpening);$openingToCopy.after($newOpening);$newOpening.slideDown();setRemoveOpeningVisibility();$newOpening.find("span.error").remove();$newOpening.find(".error").removeClass("error");$newOpening.find("span.field.isclosed input[type=checkbox]").removeAttr("checked");$newOpening.find("span.field.isclosed input[type=hidden]").removeAttr("disabled");$newOpening.find("div.openingTime select").removeAttr("disabled");$newOpening.find("input, select").not("[type=hidden], [type=checkbox]").val("");if(NewMind.ETWP.DatePicker){$newOpening.find('.hasDatepicker').each(function(){$this=$(this);var strAltId='alt_'+$this.attr('id');var $altField=$this.parent().find('#'+strAltId);var newId=$this.attr('id')+new Date().getMilliseconds();$this.attr('id',newId);strAltId='alt_'+newId;$altField.attr('id',strAltId);$this.removeClass('hasDatepicker');$this.datepicker({altField:'#'+strAltId,altFormat:$.datepicker.ATOM,minDate:new Date(new Date().getFullYear(),0,1),showAnim:""}).val("");$this.datepicker('option','onSelect',datePickerEventHandler);});}setTimeout(function(){enableDailyOpeningsBehaviour($newOpening,true);});e.preventDefault();});function addRemoveOpeningLink($productOpening){var htmlRemoveOpening=NewMind.ETWP.GetResource('NewMind.env.lang.resources.forms.productcapture.removeopening','x');if(!htmlRemoveOpening){return;}var $removeOpeningLink=$productOpening.find(".removeOpening");if($productOpening.find(".removeOpening").length===0){$removeOpeningLink=$('<a href="" class="removeOpening">'+htmlRemoveOpening+'</a>');$productOpening.prepend($removeOpeningLink);}$removeOpeningLink.click(function(e){$countField.val(parseInt($countField.val(),10)-1);setRemoveOpeningVisibility();$productOpening.slideUp({complete:function(){$productOpening.remove();}});e.preventDefault();});}setRemoveOpeningVisibility();}function getDatePickersForOpening($datePicker){var strInputName=$datePicker.attr('name');var oppositeInputName=(strInputName.indexOf('start')!==-1)?strInputName.replace('start','end'):strInputName.replace('end','start');var $otherDatePicker=$datePicker.closest("div.productOpening").find("[name='"+oppositeInputName+"']");if(!$otherDatePicker.length){throw new Error("Unable to locate other DatePicker");}var isStartDate=(strInputName.indexOf('start')!==-1);return{$startDatePicker:isStartDate?$datePicker:$otherDatePicker,$endDatePicker:isStartDate?$otherDatePicker:$datePicker,currentDatePickerIsStartDate:isStartDate};}var iUniqueOpeningKey;function applyNewUniqueOpeningKeyToOpening($opening){if(!$opening||!$opening.find(".uniqueOpeningKey")||!iUniqueOpeningKey){return;}$opening.find(".uniqueOpeningKey").val(iUniqueOpeningKey);$opening.find("*[name]").each(function(){var $input=$(this);updateNameOrLabelIdReferenceForNewOpening($input,"name");if(!$input.attr("aria-labelledby")){return;}updateNameOrLabelIdReferenceForNewOpening($input,"aria-labelledby");});$opening.find(".openingTime label").each(function(){var $label=$(this);if(!$label.attr("id")){return;}updateNameOrLabelIdReferenceForNewOpening($label,"id");});function updateNameOrLabelIdReferenceForNewOpening($element,strAttribute){if($element.attr(strAttribute).indexOf("_uok"+(iUniqueOpeningKey-1)+"_")===-1){return;}var strNewAttributeValue=$element.attr(strAttribute).replace("_uok"+(iUniqueOpeningKey-1)+"_","_uok"+iUniqueOpeningKey+"_");$element.attr(strAttribute,strNewAttributeValue);}}function enableDailyOpeningsBehaviour($opening,bIncreaseUniqueOpeningKey){$opening.find("span.field.isclosed input[type=checkbox]").each(function(){setIsClosed($(this).closest("div.openingTime"),this.checked);}).change(function(){setIsClosed($(this).closest("div.openingTime"),this.checked);$(this).closest("div.openingTime").find("select").valid();});var bEnableDailyOpeningTimes=($opening.find("div.openingTime1").length>0);var $datePickers=$opening.find('.hasDatepicker');$datePickers.each(function(){var $datePicker=$(this);$datePicker.attr("readonly","readonly");var fncPrevHandler=$datePicker.datepicker('option','onSelect');$datePicker.datepicker('option','onSelect',datePickerEventHandler);if(bEnableDailyOpeningTimes){updateVisibleDailyOpenings();}applyLabelToOpeningDatePicker($datePicker);});if(bIncreaseUniqueOpeningKey&&!isNaN(iUniqueOpeningKey)){iUniqueOpeningKey++;}else{iUniqueOpeningKey=parseInt($opening.find(".uniqueOpeningKey").val(),10);}if(!bEnableDailyOpeningTimes){applyNewUniqueOpeningKeyToOpening($opening);return;}$opening.find("span.field.consistentOpeningTimes").remove();$opening.find("div.openingTime.openingTimeAll").remove();var bSameTimesAcrossAllDays=!bEnableDailyOpeningTimes||areAllDailyOpeningTimesConsistent();var $firstOpeningTimeRow=$opening.find("div.openingTime.openingTime1");var $consistentOpeningTimeRow=$firstOpeningTimeRow.clone();$consistentOpeningTimeRow.removeClass("openingTime1").addClass("openingTimeAll").show();$consistentOpeningTimeRow.find("select").removeAttr("name").val("").change(function(){$opening.find("select."+this.className.split(" ")[0]).val(this.value);$opening.find("span.field.isclosed input[type=checkbox]").removeAttr("checked");});$consistentOpeningTimeRow.find("span.openingdayname, span.field.isclosed").remove();$consistentOpeningTimeRow.insertBefore($firstOpeningTimeRow);updateConsistentOpeningTimeRowType($consistentOpeningTimeRow,iUniqueOpeningKey,$consistentOpeningTimeRow.find("span.field.opens>
10span.label>label"),"opening");updateConsistentOpeningTimeRowType($consistentOpeningTimeRow,iUniqueOpeningKey,$consistentOpeningTimeRow.find("span.field.closes>span.label>label"),"closing");var $useConsistentOpeningTimeCheckbox=$("<input type='checkbox' />");var $useConsistentOpeningTimeLabel=$("<label>");$useConsistentOpeningTimeLabel.append($useConsistentOpeningTimeCheckbox);$useConsistentOpeningTimeLabel.append(NewMind.ETWP.GetResource("NewMind.env.lang.resources.forms.openings.sameopeningtimes","Opens the same time every day"));var $useConsistentOpeningTimeWrapper=$("<span class='field consistentOpeningTimes'>");$useConsistentOpeningTimeWrapper.append($useConsistentOpeningTimeLabel);$useConsistentOpeningTimeWrapper.insertBefore($consistentOpeningTimeRow);$useConsistentOpeningTimeCheckbox.change(function(){bSameTimesAcrossAllDays=this.checked;if(this.checked){tryToPopulateTimeRowsBasedOnFirstPopulatedRow(false);}updateVisibleDailyOpenings();});if(bSameTimesAcrossAllDays&&!$opening.hasClass("dailyOpeningTimesInitiallyIndividual")){$useConsistentOpeningTimeCheckbox.attr("checked","checked");}$useConsistentOpeningTimeCheckbox.trigger("change");if(!bEnableDailyOpeningTimes){$useConsistentOpeningTimeWrapper.hide();}if(bSameTimesAcrossAllDays){tryToPopulateTimeRowsBasedOnFirstPopulatedRow(false);}else{tryToPopulateTimeRowsBasedOnFirstPopulatedRow(true);}updateVisibleDailyOpenings();applyNewUniqueOpeningKeyToOpening($opening);function updateConsistentOpeningTimeRowType($row,iUniqueOpeningKey,$label,openingOrClosing){var labelId="consistent_times"+openingOrClosing+"_"+iUniqueOpeningKey+"_label";$label.attr("id",labelId);$row.find("select."+openingOrClosing+"Hours,"+"select."+openingOrClosing+"Minutes,"+"select."+openingOrClosing+"Combined").removeAttr("name").attr("aria-labelledby",labelId);}function getDayNumbersInOpeningDateRange(){var datePickers=getDatePickersForOpening($datePickers.filter(":first"));var dtStart=datePickers.$startDatePicker.datepicker('getDate');var dtEnd=datePickers.$endDatePicker.datepicker('getDate');if(!dtStart||!dtEnd){return [1,2,3,4,5,6,7];}var arrDayNumbersToEnable=[];var dtCurrent=dtStart;for(var i=0;i<7;i++){arrDayNumbersToEnable.push(dtCurrent.getDay()||7);dtCurrent.addDays(1);if(dtCurrent>dtEnd){break;}}return arrDayNumbersToEnable;}function updateVisibleDailyOpenings(){var $openingTimeRows=$opening.children("div.openingTime");$openingTimeRows.hide();if(bSameTimesAcrossAllDays){$consistentOpeningTimeRow.show();return;}$.each(getDayNumbersInOpeningDateRange(),function(){var $dailyOpeningTime=$opening.children("div.openingTime").filter(".openingTime"+this);var $lastDailyOpeningTime=$opening.children("div.openingTime").filter(":last");if($dailyOpeningTime[0]!==$lastDailyOpeningTime[0]){$opening.append($dailyOpeningTime);}$dailyOpeningTime.show();});var $visibleOpeningTimeRows=$openingTimeRows.filter(":visible");disableIsClosedRow($visibleOpeningTimeRows,$visibleOpeningTimeRows.length===1);}function areAllDailyOpeningTimesConsistent(){var arrDayNumbersToConsider=getDayNumbersInOpeningDateRange();var arrOpeningTimeRecords=$.map(arrDayNumbersToConsider,function(intDayNumber){return tryToGetFirstPopulatedTimes([intDayNumber])||{};});var objFirstOpeningTimeRecord=arrOpeningTimeRecords[0];for(var i=1;i<arrOpeningTimeRecords.length;i++){var objOpeningTimeRecord=arrOpeningTimeRecords[i];if(!objFirstOpeningTimeRecord.opens&&!objOpeningTimeRecord.opens){continue;}if(objFirstOpeningTimeRecord.opens&&!objOpeningTimeRecord.opens){return false;}if(!objFirstOpeningTimeRecord.opens&&objOpeningTimeRecord.opens){return false;}var bIsMatch=(objFirstOpeningTimeRecord.opens.hours===objOpeningTimeRecord.opens.hours)&&(objFirstOpeningTimeRecord.opens.minutes===objOpeningTimeRecord.opens.minutes)&&(objFirstOpeningTimeRecord.closes.hours===objOpeningTimeRecord.closes.hours)&&(objFirstOpeningTimeRecord.closes.minutes===objOpeningTimeRecord.closes.minutes);if(!bIsMatch){return false;}}return true;}function tryToPopulateTimeRowsBasedOnFirstPopulatedRow(bOnlyPopulateConsistentOpeningTimeRow){var objTimesFromFirstPopulatedRow=tryToGetFirstPopulatedTimes(getDayNumbersInOpeningDateRange());if(!objTimesFromFirstPopulatedRow){if(bOnlyPopulateConsistentOpeningTimeRow){return;}var $firstVisibleOpeningTimeRow=$opening.find("div.openingTime:visible");objTimesFromFirstPopulatedRow={opens:{hours:$firstVisibleOpeningTimeRow.find("select.openingCombined").val()||$firstVisibleOpeningTimeRow.find("select.openingHours").val(),minutes:$firstVisibleOpeningTimeRow.find("select.openingMinutes").val()||""},closes:{hours:$firstVisibleOpeningTimeRow.find("select.closingCombined").val()||$firstVisibleOpeningTimeRow.find("select.closingHours").val(),minutes:$firstVisibleOpeningTimeRow.find("select.closingMinutes").val()||""}}}var $root=bOnlyPopulateConsistentOpeningTimeRow?$consistentOpeningTimeRow:$opening;$root.find("select.openingCombined, select.openingHours").val(objTimesFromFirstPopulatedRow.opens.hours);$root.find("select.openingMinutes").val(objTimesFromFirstPopulatedRow.opens.minutes);$root.find("select.closingCombined, select.closingHours").val(objTimesFromFirstPopulatedRow.closes.hours);$root.find("select.closingMinutes").val(objTimesFromFirstPopulatedRow.closes.minutes);setIsClosed($root.find("div.openingTime"),false);}function tryToGetFirstPopulatedTimes(arrDayNumbersToConsider){var arrOpeningTimeRowClassNamesToConsider=arrDayNumbersToConsider.map(function(i){return ".openingTime"+i;});var strJQueryIsClause=arrOpeningTimeRowClassNamesToConsider.join(",");var objTimes=null;$opening.children("div.openingTime").each(function(){if(objTimes){return;}var $this=$(this);if(!$this.is(strJQueryIsClause)){return;}var intOpeningTimeCombined=parseInt($this.find("select.openingCombined").val(),10);var intClosingTimeCombined=parseInt($this.find("select.closingCombined").val(),10);if(!isNaN(intOpeningTimeCombined)&&!isNaN(intClosingTimeCombined)){objTimes={opens:{hours:intOpeningTimeCombined,minutes:0},closes:{hours:intClosingTimeCombined,minutes:0}};return;}var intOpeningHours=parseInt($this.find("select.openingHours").val(),10);var intClosingHours=parseInt($this.find("select.closingHours").val(),10);var intOpeningMinutes=parseInt($this.find("select.openingMinutes").val(),10);var intClosingMinutes=parseInt($this.find("select.closingMinutes").val(),10);if(!isNaN(intOpeningHours)&&!isNaN(intClosingHours)&&!isNaN(intOpeningMinutes)&&!isNaN(intClosingMinutes)){objTimes={opens:{hours:intOpeningHours,minutes:intOpeningMinutes},closes:{hours:intClosingHours,minutes:intClosingMinutes}};}});return objTimes;}function setIsClosed($openingTime,bIsClosed){var $timeEntries=$openingTime.find("select");var $hiddenIsClosedInput=$openingTime.find("span.field.isclosed input[type=hidden]");var $hiddenTimeInputs=$openingTime.find("input[type=hidden]").not($hiddenIsClosedInput);var $checkbox=$openingTime.find("input[type=checkbox]");if(bIsClosed){$timeEntries.val("").attr("disabled","disabled");$hiddenIsClosedInput.attr("disabled","disabled");$hiddenTimeInputs.removeAttr("disabled");$checkbox.attr("checked","checked");}else{$timeEntries.removeAttr("disabled");$hiddenIsClosedInput.removeAttr("disabled");$hiddenTimeInputs.attr("disabled","disabled");$checkbox.removeAttr("checked");}}function disableIsClosedRow($openingTimeRows,bDisable){if(bDisable){$openingTimeRows.find("input[type=checkbox]").attr("disabled","disabled");$openingTimeRows.find("span.field.isclosed > span.label").addClass("disabled","disabled");}else{$openingTimeRows.find("input[type=checkbox]").removeAttr("disabled");$openingTimeRows.find("span.field.isclosed > span.label").removeClass("disabled","disabled");}}function applyLabelToOpeningDatePicker($datepicker){var $label=$datepicker.closest("span.field").find("span.openingToLabel,span.openingFromLabel");var labelId=$datepicker.attr("id")+"-label";$label.attr("id",labelId);$datepicker.attr("aria-labelledby",labelId);}}function setupTicketDetailsSection(){var $table,resetTicket=function($ticket){if(!$ticket.length){return;}$ticket.find("select").each(function(){$(this).val("");});$ticket.find("input").each(function(){$(this).val("");});},setRemoveTicketVisibility=function(){if($table.find("tr.ticket").length>1){$table.find("td.ticketRemove").each(function(){$(this).show();});}else{$table.find("td.ticketRemove").each(function(){$(this).hide();});}},removeTicket=function(){$(this).closest("tr.ticket").remove();if($table.find("select.vTicketType").length){$($table.find("select.vTicketType")[0]).valid();}if($table.find("input.vPrice").length){$($table.find("input.vPrice")[0]).valid();}setRemoveTicketVisibility();},addTicket=function(){var $ticket=$(this).closest("div.row.productTickets").find("table tr.ticket:first"),$newTicket,$newTicketRemove,iControlKey=NewMind.ETWP.GetControlKey($ticket.closest('div.sys_control'));$newTicket=$ticket.clone();$newTicket.find("a").click(removeTicket);resetTicket($newTicket);$newTicket.find("td.ticketTypeName >
10 select").change(function(){$(this).valid();});$newTicket.find("td.ticketPricesFrom > input").change(function(){$(this).valid();});$newTicket.insertAfter($(this).closest("div.row.productTickets").find("table tr.ticket:last"));setRemoveTicketVisibility();};$("div.productTickets a").each(function(){var $a=$(this),$ticket=$a.closest("tr.ticket"),iControlKey=NewMind.ETWP.GetControlKey($ticket.closest('div.sys_control'));if(!$table){$table=$ticket.closest("table");}setRemoveTicketVisibility();if($a.hasClass("add")){$a.click(addTicket);return;}$a.click(removeTicket);$ticket.find("td:last-child").removeAttr("style");$ticket.find("td.ticketTypeName > select").change(function(){$(this).valid();});$ticket.find("td.ticketPricesFrom > input").change(function(){$(this).valid();});});}function setupMultilingualFields(){$('div.row.languages').closest('form').each(function(){var $form=$(this);$form.find('div.row.languages input[type="checkbox"]').change(function(){var isEnabled=this.checked;var languageID=this.value;if(!languageID)return;var $multilingualContainers=$form.find('.altLanguage').filter(function(){return this.getAttribute('data-lang')==languageID;});var $multilingualInputs=$multilingualContainers.find('input, textarea');var $selectedLanguageField=$form.find('div.row.languages input').filter(function(){var strSelectedLanguagesPrefix="selectedlanguages";return(this.name.substr(0,strSelectedLanguagesPrefix.length)===strSelectedLanguagesPrefix)&&(this.value==languageID);});if(isEnabled){$multilingualContainers.show();$multilingualInputs.removeAttr('disabled');$selectedLanguageField.removeAttr('disabled');}else{$multilingualContainers.hide();$multilingualInputs.attr('disabled','disabled');$selectedLanguageField.attr('disabled','disabled');}});$form.find('div.row.languages input[type="submit"]').remove();});}function ensureFormIsOnlySubmittedOnce($form){if(!$form||$form.length===0){return;}var bIsValidSubmitInProgress=false;
10$form.submit(function(){if($(this).valid()){if(bIsValidSubmitInProgress){return;}bIsValidSubmitInProgress=true;this.submit();}});}var _recaptchaPublicKey,_recaptchaV3=false,_ajaxFormRenderedClass="ajaxFormRendered";function setupRecaptcha(strPublicKey,isV3){_recaptchaPublicKey=strPublicKey;_recaptchaV3=isV3;}function recaptchaLoaded(){if(!_recaptchaPublicKey){_recaptchaV3=false;try{console.warn("No recaptcha site key has been set - unable to initialise recaptcha field (this should be done automatically by the eCMS, this indicates that something has gone wrong in an unexpected manner");}catch(e){}return;}populateRecaptchaPlaceHolder();NewMind.ETWP.AjaxForms.register(populateRecaptchaPlaceHolder);function populateRecaptchaPlaceHolder(){if(!_recaptchaV3){$("div.recaptchaContainer").each(function(){var $isValidRecaptcha=$("<input type='hidden' class='vRecaptcha' name='recaptchaSummary' />");$(this).parent().append($isValidRecaptcha);grecaptcha.render(this,{"sitekey":_recaptchaPublicKey,"callback":function(){$isValidRecaptcha.val("1").valid();},"expired-callback":function(){$isValidRecaptcha.val("").valid();}});});}}}return{ValidateFormSubmissions:function(){setValidatorDefaults();$('.ctl_Forms form, .ctl_Booking_Checkout form, .ctl_Questionnaire form, .ctl_ContactLogin form, .ctl_BusinessCustomerLogin form, .ctl_BlogPostDetailControl form').each(function(){$this=$(this);setCustomValidatorClassRules($this);setRequiredDates($this);$this.validate();setCheckboxListRules($this);setConsentStatementsRules($this);});},FormValid:eventFormValidated,CheckoutOnSubmit:function(objForm){var strMessage=NewMind.ETWP.GetResource('NewMind.env.lang.resources.forms.error.processingbooking','We are now processing your booking.');return validateFormAndSubmit(objForm,strMessage);},QuestionnaireOnSubmit:function(objForm){var strMessage=NewMind.ETWP.GetResource('NewMind.env.lang.resources.forms.error.processingquestionnaire','');var $form=$(objForm);function submitFormCallback(){validateFormAndSubmit(objForm,strMessage)}if(_recaptchaV3){NewMind.ETWP.Forms.ReCaptchaAttachV3OnSubmit($form,"questionnaire",submitFormCallback);}else{submitFormCallback();}return false;},ReCaptchaOnlyOnSubmit:function(objForm,formName){var strMessage=NewMind.ETWP.GetResource('NewMind.env.lang.resources.forms.error.processingrecaptchaonly','');var $form=$(objForm);var formNameSubmit=$form.attr("class")+"submit";function submitFormCallback(){if($form.find("input[name='"+formNameSubmit+"'][type='hidden']").length===0){$form.append($("<input>").attr("type","hidden").attr("name",formNameSubmit).val("Submit"));}return validateFormAndSubmit(objForm,strMessage);}if(_recaptchaV3){NewMind.ETWP.Forms.ReCaptchaAttachV3OnSubmit($form,formName,submitFormCallback);}else{submitFormCallback();}return false;},ReCaptchaAttachV3OnSubmit:function(objForm,formName,submitFormCallback){var $form=$(objForm);var $token=$form.find("input[name='g-recaptcha-response'][type='hidden']");if(($token?.length&&$token.val())||!$form.valid()){return false;}var $isValidRecaptcha=$("<input type='hidden' class='vRecaptcha hideError' name='recaptchaSummary' />");if($form.find(".vRecaptcha").length===0){$form.append($isValidRecaptcha);}grecaptcha.execute(_recaptchaPublicKey,{action:formName}).then(function(token){if($token.length!==0&&_recaptchaV3){$token.val(token);}$isValidRecaptcha.val("1");if($(this).find("."+_ajaxFormRenderedClass).length===0){$form.unbind('submit');if(typeof(submitFormCallback)==="function" ){submitFormCallback();}else{ensureFormIsOnlySubmittedOnce($form);}}if(typeof(submitFormCallback)==="function" ){submitFormCallback();}else{$form.submit();}});return false;},AjaxPostBack:function(iCtrlKey){$('div.c'+iCtrlKey+' form, form.form'+iCtrlKey).each(function(){if(_recaptchaV3){var $ajaxFormRendered=$("<input type='hidden' class='"+_ajaxFormRenderedClass+"' name='"+_ajaxFormRenderedClass+"' />");if($(this).find("."+_ajaxFormRenderedClass).length===0){$(this).append($ajaxFormRendered);}}$(this).unbind('submit').submit(function(){$this=$(this);$this.validate();if($this.valid()){var strMessage='<img src="'+NewMind.ETWP.GetResource('NewMind.env.imgs.resources.forms.ajaxloading','/images/ajax-loader-small.gif')+'" alt="'+NewMind.ETWP.GetResource('NewMind.env.lang.resources.forms.ajaxloading','loading...')+'"/>';$this.block({message:strMessage,css:{padding:'10px 0',textAlign:'center',cursor:'wait'},overlayCSS:{backgroundColor:'#fff',opacity:'0.6'},baseZ:5000});window.addEventListener('pageshow',function(ev){if(ev.persisted){window.location.reload();}});eventFormValidated.fire();NewMind.ETWP.AjaxForms.postback(this);}return false;});});if(NewMind.DataCapture&&NewMind.DataCapture.Forms){NewMind.DataCapture.Forms.ProcessAnySuccessfulFormSubmissionEvents();}},SetupRecaptcha:setupRecaptcha,RecaptchaLoaded:recaptchaLoaded,InitBusinessContactForm:function(){ensureFormIsOnlySubmittedOnce($('div.businessContact form'));},InitMediaContactDetailsRequestForm:function(){ensureFormIsOnlySubmittedOnce($('div.mediaContactDetailsRequest form'));},InitProductCaptureForm:function(){var correctNumOpenings=parseInt($('.numOpenings').val(),10);var $openingEntries=$('.productOpening');var actualNumOpenings=$openingEntries.length;var difference=correctNumOpenings-actualNumOpenings;if(difference>0){for(var i=1;i<=difference;i++){var $openingToCopy=$("div.productOpening:last");$openingToCopy.after($openingToCopy.clone());}}if(NewMind.ETWP.DatePicker){NewMind.ETWP.DatePicker.Init();setTimeout(function(){$('input.hasDatepicker').datepicker('option','minDate',new Date(new Date().getFullYear(),0,1)).addClass("required").after(' <span class="mandatory">*</span>');$openingEntries.each(function(){enableDailyOpeningsBehaviour($(this));});});}setupPhantomOpeningTimeInputs();setupAddOpeningsLink();setupVenueCaptureFields();setupPostcodeCaptureFields();setupImageUploadSections();setupFileUploadSections();setupMapGeoLocationSection();setupFacilitySection();setupTicketDetailsSection();setupMultilingualFields();setTimeout(function(){$("div.ctl_Forms div.row.hasHelpContent").each(function(){var $row=$(this);var strLabelHoverClass="helpContentHover";var strLabelClickClass="helpContentClick";$row.children(".label").hover(function(){$row.addClass(strLabelHoverClass);},function(){$row.removeClass(strLabelHoverClass);}).click(function(e){removeAllClickClasses();$(this).closest("div.row").addClass(strLabelClickClass);e.stopPropagation();e.preventDefault();});$(document).click(function(){removeAllClickClasses();});function removeAllClickClasses(){$("."+strLabelClickClass).removeClass(strLabelClickClass);}$row.children("div.help").hover(function(){$(this).addClass(strLabelHoverClass);},function(){$(this).removeClass(strLabelHoverClass);});});setTimeout(function(){bFormInitialLoad=true;},2000);});ensureFormIsOnlySubmittedOnce($('div.productInformation form'));},PreviewBlockingOverlay:function(bForCheckout,bForQuestionnaire){if(bForCheckout&&bForQuestionnaire){console.log("Can't have both bForCheckout AND bForQuestionnaire!");return;}var strMessage;if(bForCheckout){strMessage=NewMind.ETWP.GetResource('NewMind.env.lang.resources.forms.error.processingbooking','We are now processing your booking.');}else if(bForQuestionnaire){strMessage=NewMind.ETWP.GetResource('NewMind.env.lang.resources.forms.error.processingquestionnaire','');}else{strMessage='<img src="'+NewMind.ETWP.GetResource('NewMind.env.imgs.resources.forms.ajaxloading','/images/ajax-loader-small.gif')+'" alt="'+NewMind.ETWP.GetResource('NewMind.env.lang.resources.forms.ajaxloading','loading...')+'"/>';}blockOutPage(strMessage);}};}());$(document).ready(function(){NewMind.ETWP.Forms.ValidateFormSubmissions();
10NewMind.ETWP.Forms.InitProductCaptureForm();NewMind.ETWP.Forms.InitBusinessContactForm();NewMind.ETWP.Forms.InitMediaContactDetailsRequestForm();});NewMindETWPFormsRecaptchaLoaded=NewMind.ETWP.Forms.RecaptchaLoaded; 11NewMind.ETWP.Consumer=(function(){function getBlockUISettings($control){var strLoadingText=NewMind.ETWP.GetResource('NewMind.env.lang.resources.consumer["loading"]','Loading...');var strLoadingImg=NewMind.ETWP.GetResource('NewMind.env.imgs.resources.consumer["loadingAnimation"]','/engine/shared_gfx/ajax-loader-arrows-white.gif');var strLoadingHtml=strLoadingText;if(strLoadingImg!==""){strLoadingHtml+="<img src=\""+strLoadingImg+"\" alt=\""+strLoadingText+"\" />";}return{message:strLoadingHtml,centerX:true,centerY:true,showOverlay:true,fadeIn:0,fadeOut:0,css:{backgroundColor:'#fff',cursor:'normal',textAlign:'left',top:$control.offset().top,position:'absolute'},overlayCSS:{backgroundColor:'#fff',opacity:'0.6',cursor:'default'}};}var insertContentIntoBlockUI=function(data){$('.blockMsg').html(data);$cancelButton=$('<input type="reset" value="Cancel" />').click(function(){$.unblockUI();});$('.blockMsg input.submit').after($cancelButton);};var initBlockUILinks=function(iCtrlKey){var $control=$("div.c"+iCtrlKey);$($control).find(".block a").each(function(){$link=$(this);$link.unbind('click').click(function(e){e.preventDefault();$.blockUI(getBlockUISettings($control));$.ajax({url:$(this).attr('href'),data:"PartialRenderType=html&PartialRenderControlList="+iCtrlKey,cache:false,success:function(data){insertContentIntoBlockUI(data);initUnblockUILinks();NewMind.ETWP.Forms.ValidateFormSubmissions();},error:function(){window.location=$link.attr('href');}});$('.blockOverlay').click(function(){$.unblockUI();});});});};var initUnblockUILinks=function(){$('a.unBlock').each(function(){$(this).click(function(e){e.preventDefault();$.unblockUI();});});};var initGrouping=function(iCtrlKey){$('div.c'+iCtrlKey+' div.group').hide().prev('h2').css('cursor','pointer').bind('click',function(){openConsumerDetails($(this));});};var openConsumerDetails=function($objLocation){$objLocation.next('div.group').slideToggle();};return{init:function(iCtrlKey){initBlockUILinks(iCtrlKey);initUnblockUILinks();},initGrouping:function(iCtrlKey){initGrouping(iCtrlKey);},PreviewBlockingOverlay:function(iOptionalControlKey){var $ctrls=$("div.sys_control.ctl_ConsumerData");if($ctrls.length===0){console.log("Unable to locate a Consumer Data Control");return;}if(typeof(iOptionalControlKey)!=="undefined"){$ctrls=$ctrls.filter(".c"+iOptionalControlKey);if($ctrls.length===0){console.log("Unable to locate a Consumer Data Control with Control Key "+iOptionalControlKey);return;}}$.blockUI(getBlockUISettings($ctrls));}};}()); 12NewMind.ETWP.DatePicker=function($){(function(){$.datepicker.setDefaults({onClose:function(dateText,inst){$(this).attr("readonly",false);},beforeShow:function(input,inst){$(this).attr("readonly",true);}});}());var callBackEvent=new NewMind.CustomEvent("datePickerInitialised");var DatePickerInit=function(strContainerClass,strInputName){$(document).ready(function(){$('.'+strContainerClass).each(function(iIndex){var $this=$(this);if($this.find(".hasDatepicker").length>0){return;}var strInputID=strInputName;var iNumberOfInitialisedDatePickers=$("input.hasDatepicker").length;if(iNumberOfInitialisedDatePickers>0){strInputID=strInputID+'_'+iNumberOfInitialisedDatePickers;}var strInputAltID="alt_"+strInputID;var iDay=$this.find('select.day').attr('value');var iMonth=$this.find('select.month').attr('value');var iYear=$this.find('select.year').attr('value');var bBlankDate=(!iDay&&!iMonth&&!iYear);var dDefaultDate=new Date(iYear,iMonth-1,iDay);if($this.parents('form.horizontal').length>0){$this.html('<div id="'+strInputID+'"></div><input name="'+strInputName+'" id="'+strInputAltID+'" value="" type="hidden" />');}else{$this.html('<input name="_'+strInputName+'" id="'+strInputID+'" value="" /><input name="'+strInputName+'" id="'+strInputAltID+'" value="" type="hidden" />');}var $datePicker=$this.find('#'+strInputID).datepicker({altField:'#alt_'+strInputID,altFormat:$.datepicker.ATOM,minDate:new Date(),showAnim
12:""}).datepicker("setDate",dDefaultDate);if(bBlankDate){$datePicker.val("");}$this.find('#'+strInputID).datepicker("option","onSelect",function(){var $thisDP=$(this);var strInputName=$thisDP.attr("name");var oppositeInputName=strInputName==="_isostartdate"?"_isoenddate":"_isostartdate";var $theOtherDP=$thisDP.closest("form").find("[name='"+oppositeInputName+"']");if($theOtherDP.length==0){$theOtherDP=$thisDP.parent().parent().parent().find("[name='"+oppositeInputName+"']");}if($theOtherDP.length>0){var thisDate=$thisDP.datepicker("getDate");var otherDate=$theOtherDP.datepicker("getDate");if(thisDate&&!otherDate){$theOtherDP.datepicker("setDate",thisDate);}else{if((strInputName==="_isostartdate"&&thisDate>otherDate)||(strInputName==="_isoenddate"&&otherDate>thisDate)){$theOtherDP.datepicker("setDate",thisDate);}}}var $dateContainer=$thisDP.parent().find("[name^='iso']");if($dateContainer.length>0){$dateContainer[0].dispatchEvent(new Event('change'));}});$('#ui-datepicker-div').hide();callBackEvent.fire();});});};var DatePickerInitialiseEventsDates=function(){DatePickerInit('calStartDate','isostartdate');DatePickerInit('calEndDate','isoenddate');};var DatePickerInitialiseStartStayDate=function(){DatePickerInit('calStartStayDate','isostartdate');};var DatePickerInitBasic=function(strBasicContainerID,strBasicInputID){$(document).ready(function(){var dBasicCurrentDate;$this=$('#'+strBasicContainerID);if($this.find('select.day').length>0){var iDay=$this.find('select.day').attr('value');var iMonth=$this.find('select.month').attr('value');var iYear=$this.find('select.year').attr('value');dBasicCurrentDate=new Date(iYear,iMonth-1,iDay);}$('#'+strBasicContainerID).html('<input name="_'+strBasicInputID+'" id="'+strBasicInputID+'" /><input name="'+strBasicInputID+'" id="alt_'+strBasicInputID+'" value="" type="hidden" />');$('#'+strBasicInputID).datepicker({altField:'#alt_'+strBasicInputID,altFormat:$.datepicker.ATOM,showAnim:""});if(dBasicCurrentDate>0){$('#'+strBasicInputID).datepicker("setDate",dBasicCurrentDate);}callBackEvent.fire();});};DatePickerInitialiseEventsDates();DatePickerInitialiseStartStayDate();return{Init:function(){DatePickerInitialiseEventsDates();DatePickerInitialiseStartStayDate();},InitBasic:DatePickerInitBasic,CallBackEvent:callBackEvent};}(jQuery);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.