﻿if(!window['eviivo']){window['eviivo']={};}
if(!window['eviivo']['wls']){window['eviivo']['wls']={};}(function(){eviivo.wls.ServiceBase="http://www.ntopsearch.com/services/apiservice.asmx";eviivo.wls.Channel="VisitBritain";eviivo.wls.Culture="en-GB";eviivo.wls.CallbackParam='callback';eviivo.wls.DataParam='data';eviivo.wls.ProductTypeIDParam='exl_productyypeid';var head=document.getElementsByTagName("head")[0],delay=function(func){setTimeout(func,0);},now=function(){return+new Date;};eviivo.wls.getDeeplinkUrl=function(deeplinkBase,products){var url=deeplinkBase;if(deeplinkBase&&products){for(var i=0;i<products.length;i++){var placeholer="@"+eviivo.wls.ProductTypeIDParam+(i+1);url=url.replace(placeholer,products[i]);}} return url;};eviivo.wls.toDate=function(value){var dateRegex=new RegExp("-?[0-9]+","g");if(value&&typeof(value)==='string'&&dateRegex.test(value)&&value.length>6&&value.substring(0,6)==='/Date('){var number=value.match(dateRegex)[0];return eval("new Date("+number+")");} return value;};eviivo.wls.getServiceUrl=function(params){var method=params.method;var data=params.data;var callback=params.callback;var key=params.key;if(typeof(method)!=='string'||method.length===0){throw"Undefined method in getServiceUrl()";} var parts={"1":(data&&typeof(data)==='string'?eviivo.wls.DataParam+'='+data:''),"2":(callback&&typeof(callback)==='string'?eviivo.wls.CallbackParam+'='+callback:''),"3":(key&&typeof(key)==='string'?'key='+key:'')};var query='';for(var id in parts){var value=parts[id];if(value!==''){if(query===''){query+='?';} else{query+='&';} query+=value;}} return eviivo.wls.ServiceBase+'/'+method+query;};eviivo.wls.call=function(params){if(typeof(params)!=='object'){throw"Undefined parameters object";} var cacheNumber=now(),key=null,cache=true,callback="eviivo_wls_"+params.method;if(typeof(params.cache)=='boolean'&&params.cache===false){cache=false;key+='_'+cacheNumber++;} var jsonp=callback+cacheNumber;delay(function(){var url=eviivo.wls.getServiceUrl({method:params.method,data:params.data,callback:jsonp,key:key});window[jsonp]=function(tmp){if(tmp){if(tmp.d&&params.success){params.success(tmp.d);} else if(tmp.error&&params.error){params.error(tmp.error);}} delay(function(){try{if(head){head.removeChild(script);}} catch(e){} window[jsonp]=undefined;try{delete window[jsonp];} catch(e){}});};var script=document.createElement("script");script.setAttribute("src",url);script.setAttribute("type","text/javascript");head.insertBefore(script,head.firstChild);return undefined;});};eviivo.wls.getConfigurationData=function(params){if(typeof(params)!=='object'){throw"Undefined parameters in eviivo.wls.getConfigurationData()";} params.method='GetConfigurationData';eviivo.wls.call(params);};eviivo.wls.locationLookup=function(params){if(typeof(params)!=='object'){throw"Undefined parameters in eviivo.wls.locationLookup()";} params.method='LocationLookup';eviivo.wls.call(params);};eviivo.wls.lightProductSearch=function(params){if(typeof(params)!=='object'){throw"Undefined parameters in eviivo.wls.lightProductSearch()";} params.method='LightProductSearch';eviivo.wls.call(params);};eviivo.wls.productSearch=function(params){if(typeof(params)!=='object'){throw"Undefined parameters in eviivo.wls.productSearch()";} params.method='ProductSearch';eviivo.wls.call(params);};eviivo.wls.productSearchPageAndFilter=function(params){if(typeof(params)!=='object'){throw"Undefined parameters in eviivo.wls.productSearchPageAndFilter()";} params.method='ProductSearchPageAndFilter';eviivo.wls.call(params);};eviivo.wls.getNTOPRecordDetail=function(params){if(typeof(params)!=='object'){throw"Undefined parameters in eviivo.wls.getNTOPRecordDetail()";} params.method='GetNTOPRecordDetail';eviivo.wls.call(params);};})();