function addcss(css){ var head = document.getElementsByTagName('head')[0]; var s = document.createElement('style'); s.setAttribute('type', 'text/css'); if (s.styleSheet) { // IE s.styleSheet.cssText = css; } else { // the world s.appendChild(document.createTextNode(css)); } head.appendChild(s); } //addcss('.map_and_info_holder{position:relative;display:block;width:100%;height:99vh;}') function require_config(no_cache){ // configure require var params={ "baseUrl":"https://parallel.co.uk/" } if(null!= no_cache){ params.urlArgs="v="+no_cache } params.paths={ "mapboxgl":"https://api.tiles.mapbox.com/mapbox-gl-js/v2.10.0/mapbox-gl" ,"bowser":"https://parallel.co.uk/resources/js/bowser/bowser" ,"Mustache":"https://parallel.co.uk/resources/js/mustache/mustache" ,"jquery":"https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min" ,"jqueryui":"https://parallel.co.uk/resources/js/jquery/jquery-ui-1.11.4.custom/jquery-ui.min" ,"turf":"https://parallel.co.uk/resources/js/turf/turf.3.5.2.invariant.meta.min" ,"proj4":"https://cdnjs.cloudflare.com/ajax/libs/proj4js/2.3.14/proj4-src" ,"noamd1":"https://parallel.co.uk/resources/js/spin/spin.min" ,"noamd2":"https://parallel.co.uk/resources/js/taffydb/taffy-min" ,"noamd3":"https://parallel.co.uk/resources/js/toGeojson/togeojson" ,"noamd4":"https://parallel.co.uk/resources/js/print/filesaver.min" ,"noamd5":"https://parallel.co.uk/fromtheworkshop/resources/js/search/search_control_class" ,"noamd6":"https://parallel.co.uk/resources/js/parallel/gl/style_to_layers_class" ,"noamd7":"https://parallel.co.uk/resources/js/parallel/gl/style_class" ,"noamd8":"https://parallel.co.uk/fromtheworkshop/resources/js/map_config" ,"noamd9":"https://parallel.co.uk/fromtheworkshop/resources/js/fromtheworkshop-map-control" } params.shim={ "Mustache":{exports:["Mustache"]} } require.config(params) } var Spinner var jq_loader var script_count var script_count_same (function(){ var pthstr="https://parallel.co.uk/" var baseUrl="https://parallel.co.uk/" var dashboardroot="fromtheworkshop" var page="" var amd_scripts=[] var amd_scripts_pos=0 var extra_scripts=[] var extra_css=[] var named_scripts=[] var _test_id=1 var safety=0 var ie7="" var ie8="" var browser_name="unknown" var browser_info=browser_sniffer() var map_control_name="map_control" var context="fromtheworkshop/3d-terrain" var embedded="1" var locked="0" var dialog="" var embed_params={} var access_token var default_style var localStorage_key var root_pth var no_cache var timestamp="20240428212924" var config={} config["access_token"]="pk.eyJ1IjoiZnJvbXRoZXdvcmtzaG9wIiwiYSI6ImNqbWhndG5vcDJmZDkzc3B0dzh4d2tzdmUifQ.v3xnGwvQpRFh6_gxGtW_4w" config["default_style"]="mapbox://styles/fromtheworkshop/cjn2v6jp90xyo2rligjpjxucg" config["root_pth"]="https://parallel.co.uk" config["no_cache"]="12" config["context"]="{context}" while(safety<10 && null!=document.getElementById("_map"+_test_id)){ _test_id++ } function loading_timer(){ if($("#map_loading_div")){ if($("#map_loading_div").length>0){ if(null!=loading_timer){ var str=$("#map_loading_div").html().toString() var arr=str.split(".") var txt=arr[0] var dots="" switch(arr.length){ case 4: dots="." break; case 2: dots=".." break; case 3: dots="..." break; } txt=txt+dots $("#map_loading_div").html(txt) setTimeout(loading_timer,1000) } } } } function wait_for_jquery(){ if(null==jq_loader){ jq_loader=setInterval(function(){ if(typeof window.jQuery!="undefined"){ clearInterval(jq_loader) jq_loader=null draw_loader() } },20) } } function wait_for_jquery2(){ if(null==jq_loader){ jq_loader=setInterval(function(){ if(typeof window.jQuery!="undefined"){ clearInterval(jq_loader) jq_loader=null //load_map_resources() console.log("start check_script_count") check_script_count() } },20) } } function check_script_count(){ if(null==jq_loader){ script_count_same=0 script_count=0 jq_loader=setInterval(function(){ if(typeof window.jQuery!="undefined"){ if($("script").length==script_count){ script_count_same++ console.log("script count same: "+script_count_same) }else{ console.log("script count changed") script_count_same=0 } script_count=$("script").length if(script_count_same>100){ clearInterval(jq_loader) jq_loader=null load_map_resources() } } },20) } } function wait_for_customizery(){ if(null==jq_loader){ jq_loader=setInterval(function(){ var _scripts=document.getElementsByTagName("script") var customizery_found=0 for(var i=0;i<_scripts.length;i++){ var s=_scripts[0] if(null!=s.src){ if(s.src.toString().indexOf("customizery.js")>-1){ customizery_found=1 } } } if(customizery_found==1){ clearInterval(jq_loader) jq_loader=null console.log("would call append_jquery") append_jquery() } },20) } } function wait_for_customizery2(){ if(null==jq_loader){ jq_loader=setInterval(function(){ var _scripts=document.getElementsByTagName("script") var customizery_found=0 for(var i=0;i<_scripts.length;i++){ var s=_scripts[0] if(null!=s.src){ if(s.src.toString().indexOf("customizery.js")>-1){ customizery_found=1 } } } if(customizery_found==1){ clearInterval(jq_loader) jq_loader=null console.log("would call wait_for_jquery2") //wait_for_jquery2() wait_for_jquery2() } },20) } } function wait_for_customizery_and_jquery_before_require(){ if(null==jq_loader){ jq_loader=setInterval(function(){ var _scripts=document.getElementsByTagName("script") var customizery_found=0 var jquery_found=0 for(var i=0;i<_scripts.length;i++){ var s=_scripts[i] if(null!=s.src){ if(s.src.toString().indexOf("customizery.js")>-1){ customizery_found=1 } if(s.src.toString().indexOf("jquery.min.js")>-1){ jquery_found=1 } } } if(customizery_found==1 && jquery_found==1){ if(typeof window.jQuery!="undefined"){ clearInterval(jq_loader) jq_loader=null load_require() } } },20) } } function wait_for_jquery_before_require(){ if(null==jq_loader){ jq_loader=setInterval(function(){ var _scripts=document.getElementsByTagName("script") var customizery_found=0 var jquery_found=0 if(typeof window.jQuery!="undefined"){ jquery_found=1 }else{ for(var i=0;i<_scripts.length;i++){ var s=_scripts[i] if(null!=s.src){ if(s.src.toString().indexOf("jquery.min.js")>-1){ jquery_found=1 } } } } if(jquery_found==1){ if(typeof window.jQuery!="undefined"){ clearInterval(jq_loader) jq_loader=null check_script_count_before_require() } } },20) } } function check_script_count_before_require(){ if(null==jq_loader){ script_count_same=0 script_count=0 jq_loader=setInterval(function(){ if(typeof window.jQuery!="undefined"){ if($("script").length==script_count){ script_count_same++ console.log("script count same: "+script_count_same) }else{ console.log("script count changed") script_count_same=0 } script_count=$("script").length if(script_count_same>100){ clearInterval(jq_loader) jq_loader=null load_require() } } },20) } } function append_jquery(){ var jqScript = document.createElement( "script" ); jqScript.setAttribute("type", "text/javascript"); //jqScript.src = "https://parallel.co.uk/resources/js/jquery/jquery-1.10.1.min.js"; jqScript.src = "https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js" if(null==jq_loader){ jq_loader=setInterval(function(){ if(typeof window.jQuery!="undefined"){ clearInterval(jq_loader) jq_loader=null draw_loader() } },20) } var head = document.getElementsByTagName("head").item(0); head.appendChild(jqScript); } function draw_loader_when_jq_ready(){ if(typeof window!="undefined"){ if(typeof window.jQuery=="undefined"){ setTimeout(function(){ if(typeof window.jQuery=="undefined"){ if(document.location.toString().indexOf("parallel.co.uk")>-1){ append_jquery() }else{ //wait_for_jquery() // append_jquery() wait_for_customizery() } }else{ draw_loader() } }, 20); }else{ draw_loader() } } } function draw_loader(){ if(typeof window!="undefined"){ if(typeof window.jQuery!="undefined"){ if(typeof window.$=="undefined"){ $=jQuery.noConflict() } if(embedded=="1"){ $( document ).ready( function(){ var map_div=$("
").attr("id","map").css("background-color","#FFF") var msg=$("
").css("background","none").html("Map loading...").attr("id","map_loading_div") if(dialog=="1"){ var image_div=$("
").attr("id","map_image").css("border","1px solid #FF0000") var map_holder=$("
").attr("id","map_holder").css({"overflow":"hidden","position":"absolute","width":"1px","height":"1px"}) $(msg).appendTo($(image_div)) }else{ var map_holder=$("
").attr("id","map_holder") $(msg).appendTo($(map_div)) } if(null!=config.embed_width){ $(map_div).css("width",config.embed_width+"px") $(map_holder).css("width",config.embed_width+"px") } if(null!=config.embed_height){ $(map_div).css("height",config.embed_height+"px") $(map_holder).css("height",config.embed_height+"px") } if(null!=loading_timer){ setTimeout(loading_timer,500) } var scripts=$("script") var attach_to=null if(scripts.length>0){ $.each(scripts,$.proxy(function(index,item){ if(null!=$(item).attr("src")){ if($(item).attr("src").toString().indexOf(context+"/embed")>-1){ embed_params.src=$(item).attr("src").toString() if($(item).attr("src").toString().indexOf("?")>-1){ embed_params.src=$(item).attr("src").toString().split("?")[0] embed_params_use=[] var params=$(item).attr("src").toString().split("?")[1] var pairs=params.split("&") var iw=100 var ih=100 $.each(pairs,function(pindex,pitem){ var vals=pitem.split("=") embed_params[vals[0]]=vals[1] if(vals[0]!="zoom" && vals[0]!="lat" && vals[0]!="lng"){ embed_params_use.push(vals[0]+"="+vals[1]) } switch(vals[0]){ case "w": $(map_div).css("width",vals[1]+"px") if(dialog!="1"){ var w=(vals[1]/2.0)-50 $(msg).css("padding-left",w+"px") } break; case "h": $(map_div).css("height",vals[1]+"px") if(dialog!="1"){ $(msg).css("padding-top",(vals[1]/2.0)+"px") } break; case "iw": iw=vals[1]*1 $(image_div).css("width",vals[1]+"px") break; case "ih": ih=vals[1]*1 break; default: break; } }) embed_params.src=embed_params.src+"?"+embed_params_use.join("&") if(dialog=="1"){ $(image_div).css("width",iw+"px") var w=(iw/2.0)-50 $(msg).css("padding-left",w+"px") $(image_div).css("height",ih+"px") $(msg).css("padding-top",((ih/2.0)-20)+"px") } } attach_to=$(item) //if(dialog=="1"){ // $(map_div).appendTo($(map_holder)) // $(item).parent().append($(map_holder)) // $(item).parent().append($(image_div)) // }else{ // $(item).parent().append(map_div) // } } } },this)) if(null!=attach_to){ if(dialog=="1"){ $(map_div).appendTo($(map_holder)) $(map_holder).insertAfter($(attach_to)) $(image_div).insertAfter($(attach_to)) }else{ $(map_div).appendTo($(map_holder)) $(map_holder).insertAfter($(attach_to)) } } } if(document.location.toString().indexOf("parallel.co.uk")>-1){ load_require() }else{ console.log("would load require here 1") //wait_for_customizery_and_jquery_before_require() wait_for_jquery_before_require() } }) }else{ if(document.location.toString().indexOf("parallel.co.uk")>-1){ load_require() }else{ console.log("would load require here 2") //wait_for_customizery_and_jquery_before_require() wait_for_jquery_before_require() } } } } } draw_loader_when_jq_ready() var b="unknown" function load_require(){ access_token="pk.eyJ1IjoiZnJvbXRoZXdvcmtzaG9wIiwiYSI6ImNqbWhndG5vcDJmZDkzc3B0dzh4d2tzdmUifQ.v3xnGwvQpRFh6_gxGtW_4w" default_style="mapbox://styles/fromtheworkshop/cjn2v6jp90xyo2rligjpjxucg" root_pth="https://parallel.co.uk" no_cache="12" context="{context}" named_scripts.push("mapboxgl") named_scripts.push("bowser") named_scripts.push("Mustache") extra_css.push("https://api.tiles.mapbox.com/mapbox-gl-js/v2.10.0/mapbox-gl.css?") //extra_scripts.push("https://parallel.co.uk//resources/js/spin/spin.min.js") named_scripts.push("jquery") named_scripts.push("jqueryui") extra_css.push("https://parallel.co.uk//resources/js/jquery/jquery-ui-1.11.4.custom/jquery-ui.min.css?20160615133532") //extra_scripts.push("https://parallel.co.uk//resources/js/taffydb/taffy-min.js") named_scripts.push("turf") named_scripts.push("proj4") //extra_scripts.push("https://parallel.co.uk//resources/js/toGeojson/togeojson.js") //extra_scripts.push("https://parallel.co.uk//resources/js/print/filesaver.min.js") //extra_scripts.push("https://parallel.co.uk//fromtheworkshop/resources/js/search/search_control_class.js") //extra_scripts.push("https://parallel.co.uk//resources/js/parallel/gl/style_to_layers_class.js") //extra_scripts.push("https://parallel.co.uk//resources/js/parallel/gl/style_class.js") //extra_scripts.push("https://parallel.co.uk//fromtheworkshop/resources/js/map_config.js") extra_css.push("https://parallel.co.uk//resources/styles/gl_maps.css?20190312131845") extra_css.push("https://parallel.co.uk//fromtheworkshop/resources/styles/fromtheworkshop.css?20181105145124") extra_css.push("https://parallel.co.uk//fromtheworkshop/resources/styles/embed.css?20191106144349") //extra_scripts.push("https://parallel.co.uk//fromtheworkshop/resources/js/fromtheworkshop-map-control.js") extra_scripts.push("noamd1") extra_scripts.push("noamd2") extra_scripts.push("noamd3") extra_scripts.push("noamd4") extra_scripts.push("noamd5") extra_scripts.push("noamd6") extra_scripts.push("noamd7") extra_scripts.push("noamd8") extra_scripts.push("noamd9") var css_loaders=[] var deferred_arr=[] $.each(extra_css,function(index,item){ var matching=$("link[href='"+item+"']") if(matching.length==0){ var use_css=1 if(item.indexOf("admin.css")>-1){ if(document.location.toString().indexOf("/order")==-1 && document.location.toString().indexOf("/product")==-1){ // use_css=0 } } if(use_css==1){ css_loaders.push(new css_loader_class({"href":item})) deferred_arr.push(css_loaders[css_loaders.length-1].load_css()) } //$("").attr("rel","stylesheet").attr("type","text/css").attr("href",item).insertAfter($("link").last()) } }) function css_loader_class(params){ $.extend(this,params) this.load_css=function(){ return $.Deferred($.proxy(function( dfd ) { var href=this.href if(href.indexOf("http")==-1){ href=pthstr+href } if($("link").length>0){ $("").attr("rel","stylesheet").attr("type","text/css").attr("href",href).insertAfter($("link").last()) }else{ $("").attr("rel","stylesheet").attr("type","text/css").attr("href",href).appendTo($("head")) } setTimeout(function(){ dfd.resolve() },20) },this)).promise(); } } $.when.apply($,deferred_arr).then(function(){ setTimeout(function(){ // create require.js script tag var requireScript = document.createElement( "script" ); requireScript.setAttribute("type", "text/javascript"); requireScript.src = "https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.5/require.js"; require_loader=setInterval(function(){ if(typeof require!="undefined"){ if(null!=require){ if(null!=require.version){ if(typeof no_cache!="undefined"){ if(typeof timestamp!="undefined"){ if(no_cache.indexOf("-")>-1){ no_cache=timestamp } } require_config(no_cache) }else{ require_config() } if(document.location.toString().indexOf("parallel.co.uk")>-1){ load_map_resources() }else{ //wait_for_jquery() // append_jquery() //wait_for_customizery2() load_map_resources() } } } } },20) //// callback executed when requireScript has loaded // requireScript.onload = function() { // // require main module on domReady // load_map_resources() // }; var head = document.getElementsByTagName("head").item(0); head.appendChild(requireScript); }, 20); }) } function load_amd_named(){ if(named_scripts.length>0){ var pre_shift=[].concat(named_scripts) var s=named_scripts.shift() amd_scripts_pos++ require([s],function(l){ switch(s){ case "mapboxgl": window.mapboxgl=l break; case "bowser": window.bowser=l break; case "Mustache": window.Mustache=l break; case "Spinner": window.Spinner=l break case "turf": window.turf=l break case "proj4": window.proj4=l break case 8: console.log("load_amd_named: "+s+", scripts:"+$("script[src]").length) var scripts=[] $("script[src]").each(function(index,item){ console.log(index+": "+$(item).parent().prop("nodeName")+": "+ item.src) scripts.push(index+": "+$(item).parent().prop("nodeName")+": "+ item.src) }) console.log(scripts.join("\n")) break } if(named_scripts.length>0){ load_amd_named() }else{ load_map_resources() } }, function (ex) { console.log("error: "+amd_scripts_pos+", scripts:"+$("script[src]").length) console.log(s) require_error(ex); amd_scripts_pos=amd_scripts_pos-1 named_scripts=pre_shift if(typeof window.tries=="undefined"){ window.tries={} } if(null==window.tries[s]){ window.tries[s]=0 } window.tries[s]++ if(window.tries[s]<10){ setTimeout(function(){ console.log("try again:"+window.tries[s]) load_amd_named() },20) }else{ var scripts=[] $("script[src]").each(function(index,item){ console.log(index+": "+$(item).parent().prop("nodeName")+": "+ item.src) scripts.push(index+": "+$(item).parent().prop("nodeName")+": "+ item.src) }) console.log(scripts.join("\n")) } }) } } function load_amd_anon(){ if(amd_scripts.length>0){ var s=amd_scripts.shift() amd_scripts_pos++ require([s],function(l){ if(amd_scripts.length>0){ load_amd_anon() }else{ load_map_resources() } }) } } function load_map_resources(){ clearInterval(require_loader) require_loader=null if(named_scripts.length>0){ load_amd_named() }else{ if(amd_scripts.length>0){ load_amd_anon() }else{ //require( // // load other scripts // // amd_scripts // ).then( // // execute this callback, passing all dependencies as params // function () { require( // load other scripts extra_scripts , // when they are loaded // execute this callback, passing all dependencies as params function () { if(typeof console=="undefined"){ window.console={"log":function(){}} } //convert argument to an array var args = Array.prototype.slice.call(arguments); if(typeof default_style=="undefined"){ default_style=null } if(typeof access_token=="undefined"){ access_token=null } if(typeof localStorage_key=="undefined"){ localStorage_key=null } if(typeof root_pth=="undefined"){ root_pth=null } map_control.set_pthstr({"pthstr":pthstr,"baseUrl":baseUrl,"dashboardroot":dashboardroot,"map_control_name":map_control_name,"page":page,"ie_settings":{"ie8":check_css("IE 8"),"ie7":check_css("IE 7"),"browser_name":browser_name},"browser_info":browser_info,"dialog":dialog,"embed_params":embed_params,"access_token":access_token,"default_style":default_style,"localStorage_key":localStorage_key,"root_pth":root_pth,"config":config,"locked":locked}) if(pthstr.indexOf("../")==-1){ // map_control.set_embedded_context_path("fromtheworkshop/3d-terrain") } //ready to draw map map_control.init(args) }, // execute this callback if there was a problem function (ex) { require_error(ex); } ); //}, // // execute this callback if there was a problem // function (ex) { // require_error(ex); // } // ); } } } function browser_sniffer(){ var user_agent=navigator.userAgent.toString() var browser_name="" switch(true){ case user_agent.indexOf("MSIE 10")>-1: browser_name="IE 10" break; case user_agent.indexOf("MSIE 9")>-1: browser_name="IE 9" break; case user_agent.indexOf("MSIE 8")>-1: browser_name="IE 8" break; case user_agent.indexOf("MSIE 7")>-1: browser_name="IE 7" break; case user_agent.indexOf("MSIE 6")>-1: browser_name="IE 6" break; } if(browser_name==""){ if(user_agent.indexOf("iPad")==-1){ switch(true){ case user_agent.indexOf("Firefox")>-1: browser_name="Mozilla" break; case user_agent.indexOf("Chrome")>-1: browser_name="Google" break; case user_agent.indexOf("Safari")>-1: browser_name="Safari" break; case user_agent.indexOf("Opera")>-1: browser_name="Opera" break; } }else{ if(user_agent.indexOf("CriOS")>-1){ //iPad Chrome browser_name="CriOS" }else{ if(user_agent.indexOf("Safari")>-1){ //iPad Safari browser_name="Safari" } } } } if(browser_name==""){ if(user_agent.indexOf("Mozilla")>-1){ browser_name="Mozilla" }else{ browser_name="unknown" } } if(user_agent.indexOf("iPhone")>-1|| user_agent.indexOf("iPod")>-1 || user_agent.indexOf("iPad")>-1){ ipod=1 }else{ ipod=0 } return {"browser_name":browser_name,"ipod":ipod}; } function browser(browser_name){ return browser_name==browser_info.browser_name; } function check_css(css_type){ var use_css=0 if(css_type=="all" || css_type==""){ use_css=1 }else{ switch(css_type){ case "lte IE 8": if(browser("IE 7")){ use_css=1 } break; case "lte IE 9": if(browser("IE 7")){ use_css=1 } if(browser("IE 8")){ use_css=1 } break; case "not ie": use_css=1 if(browser("IE 7")){ use_css=0 } if(browser("IE 8")){ use_css=0 } break; case "not ie7": use_css=1 if(browser("IE 7")){ use_css=0 } break; case "IE 8": if(browser("IE 8")){ use_css=1 } break; case "IE 7": if(browser("IE 7")){ use_css=1 } break; case "Safari": if(browser("Safari")){ use_css=1 } break; case "Firefox": if(browser("Firefox")){ use_css=1 } break; } } return use_css==1; } })() require_error=function(ex){ var msg = 'Error: ' + ex.message; console.log(msg) }