/*
*   © 2008-2010 Anywhere Ltd                                          *
*                                                                     *
*   This work is protected by Copyright                               *
*   under the laws of the UK and other countries.                     *
*   You may not copy it or use it on any website or in any            *
*   application without our express written permission.               *
*                                                                     *
*   http://www.anywhere.ltd.uk                                        *
*/

		var localSearch = new GlocalSearch();

		var nosev = new GPolygon([new GLatLng(51.91513,-2.19727), new GLatLng(52.00991,-1.18103), new GLatLng(52.10111,-0.45593), new GLatLng(52.00991,0.25269), new GLatLng(52.13484,1.06567), new GLatLng(52.14495,1.08765), new GLatLng(52.49081,2.37305), new GLatLng(59.06767,2.37305), new GLatLng(59.06767,-7.80029), new GLatLng(51.92259,-7.80029), new GLatLng(51.91513,-2.19727),], null, 0, 0.1, "#aaaaff", 0.2 );

		var ukmain = new GPolygon([new GLatLng(52.56433,3.20801), new GLatLng(50.91827,1.45020), new GLatLng(49.65483,-5.22949), new GLatLng(50.33284,-6.41602), new GLatLng(53.72402,-4.59229), new GLatLng(54.49684,-3.88916), new GLatLng(54.48408,-5.00977), new GLatLng(55.06012,-5.54810), new GLatLng(55.49815,-4.79004), new GLatLng(55.75247,-5.20752), new GLatLng(55.70576,-5.35034), new GLatLng(55.57866,-5.42175), new GLatLng(55.23247,-5.47119), new GLatLng(55.24500,-5.86121), new GLatLng(56.11218,-5.64148), new GLatLng(56.15503,-5.63049), new GLatLng(56.26502,-5.72937), new GLatLng(56.43243,-5.58655), new GLatLng(56.46886,-5.62500), new GLatLng(56.52647,-5.87769), new GLatLng(56.61121,-6.02051), new GLatLng(56.65487,-6.06995), new GLatLng(56.69561,-6.32263), new GLatLng(56.96909,-5.92712), new GLatLng(57.40221,-6.93512), new GLatLng(58.67437,-5.04822), new GLatLng(58.68008,-3.37280), new GLatLng(58.67151,-3.19153), new GLatLng(58.64565,-3.12836), new GLatLng(58.65994,-3.02948), new GLatLng(57.57507,-1.46667), new GLatLng(52.56433,3.20801),], null, 0, 0.1, "#aaaaff", 0.2 );

		var nwin = new GPolygon([new GLatLng(53.76564,-2.75208), new GLatLng(53.81999,-2.75620), new GLatLng(53.83296,-2.68341), new GLatLng(53.80134,-2.62573), new GLatLng(53.78106,-2.60376), new GLatLng(53.75671,-2.60513), new GLatLng(53.74534,-2.59689), new GLatLng(53.74128,-2.56119), new GLatLng(53.74209,-2.52960), new GLatLng(53.72828,-2.50351), new GLatLng(53.72503,-2.48703), new GLatLng(53.72991,-2.45682), new GLatLng(53.71528,-2.43347), new GLatLng(53.70553,-2.44858), new GLatLng(53.70146,-2.47330), new GLatLng(53.69658,-2.50763), new GLatLng(53.69658,-2.54745), new GLatLng(53.69496,-2.57904), new GLatLng(53.67463,-2.60239), new GLatLng(53.61764,-2.55295), new GLatLng(53.60379,-2.52686), new GLatLng(53.60379,-2.50214), new GLatLng(53.60379,-2.47879), new GLatLng(53.60868,-2.46094), new GLatLng(53.61683,-2.44446), new GLatLng(53.62009,-2.42661), new GLatLng(53.65347,-2.35382), new GLatLng(53.66812,-2.32910), new GLatLng(53.67707,-2.32224), new GLatLng(53.68764,-2.32910), new GLatLng(53.68764,-2.35382), new GLatLng(53.70065,-2.36343), new GLatLng(53.71691,-2.36206), new GLatLng(53.72341,-2.33871), new GLatLng(53.71772,-2.28241), new GLatLng(53.71284,-2.26456), new GLatLng(53.69415,-2.24808), new GLatLng(53.68276,-2.24396), new GLatLng(53.67463,-2.26456), new GLatLng(53.65428,-2.27417), new GLatLng(53.64045,-2.26456), new GLatLng(53.62497,-2.20139), new GLatLng(53.63475,-2.18216), new GLatLng(53.64207,-2.16156), new GLatLng(53.64370,-2.12585), new GLatLng(53.64452,-2.08328), new GLatLng(53.63556,-2.05307), new GLatLng(53.61194,-2.04346), new GLatLng(53.59564,-2.04208), new GLatLng(53.58668,-2.04895), new GLatLng(53.57689,-2.05032), new GLatLng(53.55977,-2.05994), new GLatLng(53.55242,-2.06268), new GLatLng(53.54018,-2.06131), new GLatLng(53.52957,-2.06955), new GLatLng(53.51161,-2.08328), new GLatLng(53.50181,-2.06955), new GLatLng(53.48139,-2.03384), new GLatLng(53.46913,-2.01462), new GLatLng(53.42987,-2.02148), new GLatLng(53.42005,-2.03934), new GLatLng(53.40859,-2.05170), new GLatLng(53.39631,-2.06818), new GLatLng(53.36928,-2.08054), new GLatLng(53.34879,-2.09564), new GLatLng(53.33157,-2.10114), new GLatLng(53.31270,-2.09976), new GLatLng(53.28234,-2.09564), new GLatLng(53.26180,-2.09564), new GLatLng(53.24619,-2.10663), new GLatLng(53.23222,-2.15195), new GLatLng(53.24784,-2.20276), new GLatLng(53.25359,-2.23984), new GLatLng(53.26016,-2.29065), new GLatLng(53.27084,-2.32498), new GLatLng(53.27412,-2.34283), new GLatLng(53.27905,-2.37579), new GLatLng(53.27823,-2.40601), new GLatLng(53.26345,-2.42798), new GLatLng(53.24537,-2.45544), new GLatLng(53.22482,-2.47055), new GLatLng(53.22236,-2.49252), new GLatLng(53.22236,-2.53784), new GLatLng(53.22153,-2.57767), new GLatLng(53.23880,-2.63123), new GLatLng(53.26345,-2.61200), new GLatLng(53.28398,-2.61200), new GLatLng(53.29711,-2.64771), new GLatLng(53.29055,-2.67380), new GLatLng(53.27495,-2.70813), new GLatLng(53.26427,-2.73148), new GLatLng(53.25277,-2.75894), new GLatLng(53.24784,-2.77405), new GLatLng(53.24208,-2.82074), new GLatLng(53.23715,-2.84546), new GLatLng(53.23387,-2.87155), new GLatLng(53.23304,-2.89902), new GLatLng(53.24784,-2.96219), new GLatLng(53.27330,-2.98141), new GLatLng(53.30450,-2.98416), new GLatLng(53.32173,-2.97592), new GLatLng(53.33485,-2.93884), new GLatLng(53.34803,-2.87910), new GLatLng(53.36155,-2.87498), new GLatLng(53.37057,-2.89078), new GLatLng(53.38122,-2.90932), new GLatLng(53.38450,-2.91412), new GLatLng(53.39719,-2.91481), new GLatLng(53.40742,-2.91481), new GLatLng(53.41643,-2.92099), new GLatLng(53.42666,-2.93198), new GLatLng(53.43484,-2.94708), new GLatLng(53.44016,-2.96631), new GLatLng(53.44466,-2.97112), new GLatLng(53.45365,-2.95601), new GLatLng(53.45774,-2.94228), new GLatLng(53.46633,-2.91069), new GLatLng(53.47695,-2.93266), new GLatLng(53.49820,-2.98210), new GLatLng(53.52515,-2.95738), new GLatLng(53.56146,-2.84889), new GLatLng(53.56758,-2.80975), new GLatLng(53.57288,-2.78091), new GLatLng(53.59081,-2.78023), new GLatLng(53.59937,-2.77748), new GLatLng(53.60059,-2.72255), new GLatLng(53.63318,-2.73079), new GLatLng(53.64987,-2.74864), new GLatLng(53.65923,-2.74864), new GLatLng(53.67021,-2.73491), new GLatLng(53.67753,-2.73628), new GLatLng(53.68160,-2.73560), new GLatLng(53.68567,-2.75070), new GLatLng(53.69949,-2.73834), new GLatLng(53.72916,-2.74040), new GLatLng(53.74865,-2.77954), new GLatLng(53.76408,-2.77954), new GLatLng(53.76564,-2.75208), new GLatLng(53.61322,-2.75826),], null, 0, 0.1, "#aaaaff", 0.2 );

		var cc1 = new GPolygon([new GLatLng(51.51414,-0.22061), new GLatLng(51.51484,-0.22018), new GLatLng(51.51529,-0.21934), new GLatLng(51.51540,-0.21786), new GLatLng(51.51560,-0.21646), new GLatLng(51.51592,-0.21520), new GLatLng(51.51705,-0.21198), new GLatLng(51.51795,-0.20814), new GLatLng(51.51959,-0.20522), new GLatLng(51.52082,-0.20333), new GLatLng(51.52131,-0.20129), new GLatLng(51.52115,-0.19848), new GLatLng(51.52020,-0.19537), new GLatLng(51.51955,-0.19243), new GLatLng(51.51919,-0.18662), new GLatLng(51.51804,-0.18640), new GLatLng(51.51687,-0.18649), new GLatLng(51.51787,-0.18295), new GLatLng(51.51720,-0.18230), new GLatLng(51.51760,-0.18046), new GLatLng(51.51489,-0.17638), new GLatLng(51.51815,-0.17048), new GLatLng(51.51705,-0.16879), new GLatLng(51.51769,-0.16750), new GLatLng(51.51335,-0.16098), new GLatLng(51.51322,-0.16237), new GLatLng(51.51211,-0.16078), new GLatLng(51.51229,-0.15909), new GLatLng(51.51002,-0.15750), new GLatLng(51.50636,-0.15306), new GLatLng(51.50570,-0.15233), new GLatLng(51.50446,-0.15246), new GLatLng(51.50401,-0.15248), new GLatLng(51.50381,-0.15166), new GLatLng(51.50344,-0.15156), new GLatLng(51.50330,-0.15252), new GLatLng(51.50312,-0.15286), new GLatLng(51.50219,-0.15250), new GLatLng(51.50143,-0.15158), new GLatLng(51.49957,-0.14874), new GLatLng(51.49824,-0.14752), new GLatLng(51.49586,-0.14580), new GLatLng(51.49396,-0.14718), new GLatLng(51.49297,-0.14439), new GLatLng(51.49415,-0.14287), new GLatLng(51.49440,-0.14160), new GLatLng(51.49373,-0.14068), new GLatLng(51.49214,-0.13739), new GLatLng(51.48859,-0.13012), new GLatLng(51.48779,-0.13081), new GLatLng(51.48685,-0.13134), new GLatLng(51.48635,-0.13259), new GLatLng(51.48566,-0.13598), new GLatLng(51.48506,-0.13932), new GLatLng(51.48513,-0.13877), new GLatLng(51.48509,-0.14008), new GLatLng(51.48566,-0.14344), new GLatLng(51.48596,-0.14617), new GLatLng(51.48597,-0.14909), new GLatLng(51.48589,-0.15061), new GLatLng(51.48362,-0.16610), new GLatLng(51.48369,-0.16716), new GLatLng(51.48359,-0.16769), new GLatLng(51.48327,-0.16849), new GLatLng(51.48186,-0.17610), new GLatLng(51.48048,-0.17814), new GLatLng(51.48032,-0.17973), new GLatLng(51.48443,-0.18415), new GLatLng(51.48435,-0.18424), new GLatLng(51.48648,-0.18692), new GLatLng(51.48936,-0.18984), new GLatLng(51.48987,-0.19014), new GLatLng(51.49070,-0.19076), new GLatLng(51.49113,-0.19108), new GLatLng(51.49214,-0.19237), new GLatLng(51.49269,-0.19342), new GLatLng(51.49435,-0.19492), new GLatLng(51.49610,-0.19647), new GLatLng(51.49506,-0.19966), new GLatLng(51.49523,-0.20142), new GLatLng(51.49548,-0.20224), new GLatLng(51.49703,-0.20387), new GLatLng(51.49880,-0.20595), new GLatLng(51.49900,-0.20621), new GLatLng(51.49929,-0.20728), new GLatLng(51.49980,-0.20750), new GLatLng(51.49999,-0.21009), new GLatLng(51.50429,-0.21574), new GLatLng(51.50453,-0.21563), new GLatLng(51.50507,-0.21586), new GLatLng(51.50525,-0.21653), new GLatLng(51.50742,-0.21795), new GLatLng(51.51088,-0.21921), new GLatLng(51.51412,-0.22052), new GLatLng(51.51414,-0.22061),], null, 0, 0.1, "#aaaaff", 0.4 );

		var cc2 = new GPolygon([new GLatLng(51.51511,-0.22258), new GLatLng(51.51517,-0.22197), new GLatLng(51.51513,-0.22161), new GLatLng(51.51497,-0.22136), new GLatLng(51.51474,-0.22115), new GLatLng(51.51451,-0.22109), new GLatLng(51.51430,-0.22123), new GLatLng(51.51407,-0.22142), new GLatLng(51.51395,-0.22156), new GLatLng(51.51393,-0.22171), new GLatLng(51.51511,-0.22258),], null, 0, 0.1, "#aaaaff", 0.4 );

		var cc3 = new GPolygon([new GLatLng(51.51580,-0.22170), new GLatLng(51.51570,-0.22198), new GLatLng(51.51564,-0.22297), new GLatLng(51.51796,-0.22498), new GLatLng(51.52098,-0.22853), new GLatLng(51.52110,-0.22829), new GLatLng(51.52126,-0.22827), new GLatLng(51.52187,-0.22695), new GLatLng(51.52199,-0.22643), new GLatLng(51.52218,-0.22650), new GLatLng(51.52477,-0.22638), new GLatLng(51.52455,-0.21431), new GLatLng(51.52581,-0.21507), new GLatLng(51.52592,-0.21490), new GLatLng(51.52600,-0.21489), new GLatLng(51.52607,-0.21493), new GLatLng(51.52612,-0.21502), new GLatLng(51.52666,-0.21534), new GLatLng(51.52680,-0.21372), new GLatLng(51.52682,-0.21290), new GLatLng(51.52668,-0.21103), new GLatLng(51.52648,-0.20947), new GLatLng(51.52630,-0.20839), new GLatLng(51.52608,-0.20686), new GLatLng(51.52580,-0.20615), new GLatLng(51.52528,-0.20565), new GLatLng(51.52383,-0.20449), new GLatLng(51.52343,-0.20403), new GLatLng(51.52317,-0.20344), new GLatLng(51.52201,-0.19971), new GLatLng(51.52176,-0.19927), new GLatLng(51.52179,-0.20005), new GLatLng(51.52176,-0.20111), new GLatLng(51.52173,-0.20135), new GLatLng(51.52160,-0.20218), new GLatLng(51.52153,-0.20246), new GLatLng(51.52142,-0.20290), new GLatLng(51.52124,-0.20347), new GLatLng(51.52093,-0.20416), new GLatLng(51.52063,-0.20473), new GLatLng(51.51939,-0.20638), new GLatLng(51.51917,-0.20665), new GLatLng(51.51885,-0.20720), new GLatLng(51.51849,-0.20790), new GLatLng(51.51837,-0.20826), new GLatLng(51.51821,-0.20873), new GLatLng(51.51743,-0.21226), new GLatLng(51.51625,-0.21568), new GLatLng(51.51610,-0.21627), new GLatLng(51.51596,-0.21687), new GLatLng(51.51597,-0.21723), new GLatLng(51.51580,-0.21940), new GLatLng(51.51587,-0.21981), new GLatLng(51.51603,-0.22024), new GLatLng(51.51611,-0.22049), new GLatLng(51.51614,-0.22072), new GLatLng(51.51613,-0.22095), new GLatLng(51.51608,-0.22119), new GLatLng(51.51600,-0.22140), new GLatLng(51.51591,-0.22156), new GLatLng(51.51580,-0.22170),], null, 0, 0.1, "#aaaaff", 0.4 );

		var cc4 = new GPolygon([new GLatLng(51.51819,-0.16721), new GLatLng(51.51911,-0.16605), new GLatLng(51.51924,-0.16591), new GLatLng(51.51972,-0.16570), new GLatLng(51.52000,-0.16557), new GLatLng(51.52006,-0.16558), new GLatLng(51.52045,-0.16535), new GLatLng(51.52066,-0.16514), new GLatLng(51.52162,-0.15970), new GLatLng(51.52045,-0.15917), new GLatLng(51.52087,-0.15683), new GLatLng(51.52202,-0.15736), new GLatLng(51.52293,-0.15245), new GLatLng(51.52320,-0.14897), new GLatLng(51.52336,-0.14798), new GLatLng(51.52314,-0.14776), new GLatLng(51.52293,-0.14736), new GLatLng(51.52285,-0.14706), new GLatLng(51.52280,-0.14667), new GLatLng(51.52281,-0.14633), new GLatLng(51.52287,-0.14597), new GLatLng(51.52303,-0.14556), new GLatLng(51.52322,-0.14529), new GLatLng(51.52349,-0.14510), new GLatLng(51.52366,-0.14504), new GLatLng(51.52387,-0.14505), new GLatLng(51.52393,-0.14464), new GLatLng(51.52391,-0.14432), new GLatLng(51.52329,-0.14426), new GLatLng(51.52335,-0.14408), new GLatLng(51.52367,-0.14352), new GLatLng(51.52385,-0.14295), new GLatLng(51.52385,-0.14263), new GLatLng(51.52412,-0.14128), new GLatLng(51.52477,-0.13836), new GLatLng(51.52472,-0.13816), new GLatLng(51.52459,-0.13796), new GLatLng(51.52427,-0.13778), new GLatLng(51.52526,-0.13548), new GLatLng(51.52549,-0.13575), new GLatLng(51.52561,-0.13554), new GLatLng(51.52720,-0.13077), new GLatLng(51.52731,-0.13041), new GLatLng(51.52743,-0.13029), new GLatLng(51.52801,-0.12883), new GLatLng(51.52801,-0.12870), new GLatLng(51.52823,-0.12806), new GLatLng(51.52967,-0.12436), new GLatLng(51.53031,-0.12304), new GLatLng(51.53049,-0.12263), new GLatLng(51.53055,-0.12239), new GLatLng(51.53052,-0.12195), new GLatLng(51.53051,-0.12167), new GLatLng(51.53042,-0.12125), new GLatLng(51.53033,-0.12104), new GLatLng(51.53019,-0.12083), new GLatLng(51.52929,-0.12011), new GLatLng(51.52911,-0.11999), new GLatLng(51.52859,-0.11953), new GLatLng(51.52936,-0.11567), new GLatLng(51.52974,-0.11572), new GLatLng(51.52992,-0.11560), new GLatLng(51.53061,-0.11483), new GLatLng(51.53134,-0.11397), new GLatLng(51.53144,-0.11290), new GLatLng(51.53146,-0.11226), new GLatLng(51.53155,-0.11111), new GLatLng(51.53175,-0.10960), new GLatLng(51.53182,-0.10702), new GLatLng(51.53185,-0.10634), new GLatLng(51.53185,-0.10609), new GLatLng(51.53177,-0.10568), new GLatLng(51.53160,-0.10542), new GLatLng(51.52969,-0.10245), new GLatLng(51.53074,-0.10175), new GLatLng(51.53069,-0.10149), new GLatLng(51.53070,-0.10142), new GLatLng(51.52826,-0.09190), new GLatLng(51.52771,-0.08980), new GLatLng(51.52752,-0.08911), new GLatLng(51.52739,-0.08875), new GLatLng(51.52726,-0.08858), new GLatLng(51.52698,-0.08832), new GLatLng(51.52666,-0.08812), new GLatLng(51.52603,-0.08783), new GLatLng(51.52593,-0.08798), new GLatLng(51.52581,-0.08809), new GLatLng(51.52571,-0.08816), new GLatLng(51.52564,-0.08813), new GLatLng(51.52550,-0.08807), new GLatLng(51.52542,-0.08795), new GLatLng(51.52535,-0.08778), new GLatLng(51.52530,-0.08762), new GLatLng(51.52530,-0.08743), new GLatLng(51.52534,-0.08718), new GLatLng(51.52537,-0.08714), new GLatLng(51.52546,-0.08703), new GLatLng(51.52556,-0.08696), new GLatLng(51.52566,-0.08685), new GLatLng(51.52574,-0.08669), new GLatLng(51.52612,-0.08519), new GLatLng(51.52617,-0.08475), new GLatLng(51.52614,-0.08414), new GLatLng(51.52604,-0.08364), new GLatLng(51.52592,-0.08337), new GLatLng(51.52475,-0.08109), new GLatLng(51.52454,-0.08078), new GLatLng(51.52431,-0.08041), new GLatLng(51.52353,-0.08044), new GLatLng(51.52361,-0.08018), new GLatLng(51.52365,-0.07943), new GLatLng(51.52367,-0.07934), new GLatLng(51.52279,-0.07792), new GLatLng(51.52273,-0.07757), new GLatLng(51.52267,-0.07744), new GLatLng(51.52117,-0.07553), new GLatLng(51.52028,-0.07455), new GLatLng(51.51919,-0.07457), new GLatLng(51.51860,-0.07454), new GLatLng(51.51839,-0.07451), new GLatLng(51.51823,-0.07439), new GLatLng(51.51820,-0.07434), new GLatLng(51.51716,-0.07348), new GLatLng(51.51548,-0.07208), new GLatLng(51.51538,-0.07208), new GLatLng(51.51522,-0.07211), new GLatLng(51.51504,-0.07258), new GLatLng(51.51500,-0.07274), new GLatLng(51.51483,-0.07319), new GLatLng(51.51465,-0.07364), new GLatLng(51.51455,-0.07381), new GLatLng(51.51445,-0.07390), new GLatLng(51.51429,-0.07388), new GLatLng(51.51421,-0.07385), new GLatLng(51.51401,-0.07367), new GLatLng(51.51344,-0.07345), new GLatLng(51.51303,-0.07333), new GLatLng(51.51227,-0.07321), new GLatLng(51.51186,-0.07313), new GLatLng(51.51148,-0.07305), new GLatLng(51.51138,-0.07312), new GLatLng(51.51131,-0.07320), new GLatLng(51.51128,-0.07332), new GLatLng(51.51128,-0.07349), new GLatLng(51.51128,-0.07492), new GLatLng(51.51123,-0.07504), new GLatLng(51.51112,-0.07521), new GLatLng(51.51105,-0.07524), new GLatLng(51.51095,-0.07523), new GLatLng(51.51058,-0.07510), new GLatLng(51.51027,-0.07502), new GLatLng(51.51020,-0.07496), new GLatLng(51.51004,-0.07488), new GLatLng(51.50983,-0.07458), new GLatLng(51.50968,-0.07437), new GLatLng(51.50927,-0.07395), new GLatLng(51.50897,-0.07403), new GLatLng(51.50862,-0.07409), new GLatLng(51.50728,-0.07435), new GLatLng(51.50706,-0.07443), new GLatLng(51.50681,-0.07458), new GLatLng(51.50448,-0.07620), new GLatLng(51.50368,-0.07670), new GLatLng(51.50310,-0.07708), new GLatLng(51.50303,-0.07718), new GLatLng(51.50293,-0.07735), new GLatLng(51.50293,-0.07755), new GLatLng(51.50311,-0.07825), new GLatLng(51.50283,-0.07841), new GLatLng(51.50235,-0.07764), new GLatLng(51.50203,-0.07786), new GLatLng(51.50138,-0.07814), new GLatLng(51.49770,-0.07987), new GLatLng(51.49757,-0.07999), new GLatLng(51.49745,-0.08024), new GLatLng(51.49664,-0.08217), new GLatLng(51.49651,-0.08237), new GLatLng(51.49634,-0.08260), new GLatLng(51.49621,-0.08278), new GLatLng(51.49598,-0.08302), new GLatLng(51.49534,-0.08388), new GLatLng(51.49513,-0.08426), new GLatLng(51.49494,-0.08456), new GLatLng(51.49481,-0.08477), new GLatLng(51.49470,-0.08499), new GLatLng(51.49477,-0.08510), new GLatLng(51.49482,-0.08523), new GLatLng(51.49485,-0.08539), new GLatLng(51.49489,-0.08552), new GLatLng(51.49492,-0.08568), new GLatLng(51.49494,-0.08584), new GLatLng(51.49493,-0.08602), new GLatLng(51.49488,-0.08618), new GLatLng(51.49481,-0.08627), new GLatLng(51.49475,-0.08635), new GLatLng(51.49465,-0.08639), new GLatLng(51.49455,-0.08641), new GLatLng(51.49449,-0.08645), new GLatLng(51.49443,-0.08650), new GLatLng(51.49438,-0.08666), new GLatLng(51.49437,-0.08682), new GLatLng(51.49431,-0.08976), new GLatLng(51.49427,-0.09212), new GLatLng(51.49423,-0.09223), new GLatLng(51.49421,-0.09432), new GLatLng(51.49421,-0.09455), new GLatLng(51.49427,-0.09492), new GLatLng(51.49501,-0.09850), new GLatLng(51.49505,-0.09877), new GLatLng(51.49511,-0.09911), new GLatLng(51.49517,-0.09953), new GLatLng(51.49528,-0.09980), new GLatLng(51.49556,-0.09993), new GLatLng(51.49562,-0.10001), new GLatLng(51.49569,-0.10020), new GLatLng(51.49571,-0.10040), new GLatLng(51.49571,-0.10068), new GLatLng(51.49568,-0.10086), new GLatLng(51.49561,-0.10107), new GLatLng(51.49554,-0.10115), new GLatLng(51.49542,-0.10125), new GLatLng(51.49527,-0.10129), new GLatLng(51.49515,-0.10133), new GLatLng(51.49507,-0.10133), new GLatLng(51.49488,-0.10125), new GLatLng(51.49481,-0.10116), new GLatLng(51.49475,-0.10095), new GLatLng(51.49474,-0.10085), new GLatLng(51.49351,-0.10079), new GLatLng(51.49343,-0.10083), new GLatLng(51.49331,-0.10086), new GLatLng(51.49322,-0.10090), new GLatLng(51.49313,-0.10096), new GLatLng(51.49302,-0.10101), new GLatLng(51.49292,-0.10109), new GLatLng(51.49263,-0.10148), new GLatLng(51.49236,-0.10192), new GLatLng(51.49209,-0.10233), new GLatLng(51.49193,-0.10255), new GLatLng(51.49169,-0.10285), new GLatLng(51.49160,-0.10296), new GLatLng(51.49149,-0.10309), new GLatLng(51.49140,-0.10333), new GLatLng(51.49129,-0.10374), new GLatLng(51.49119,-0.10427), new GLatLng(51.49102,-0.10524), new GLatLng(51.49091,-0.10578), new GLatLng(51.49084,-0.10605), new GLatLng(51.49073,-0.10637), new GLatLng(51.49039,-0.10705), new GLatLng(51.49001,-0.10776), new GLatLng(51.48988,-0.10811), new GLatLng(51.48934,-0.10998), new GLatLng(51.48924,-0.11038), new GLatLng(51.48916,-0.11054), new GLatLng(51.48908,-0.11073), new GLatLng(51.48879,-0.11114), new GLatLng(51.48843,-0.11148), new GLatLng(51.48812,-0.11171), new GLatLng(51.48795,-0.11178), new GLatLng(51.48756,-0.11216), new GLatLng(51.48742,-0.11233), new GLatLng(51.48720,-0.11278), new GLatLng(51.48710,-0.11309), new GLatLng(51.48706,-0.11333), new GLatLng(51.48702,-0.11382), new GLatLng(51.48700,-0.11479), new GLatLng(51.48697,-0.11598), new GLatLng(51.48695,-0.11616), new GLatLng(51.48692,-0.11646), new GLatLng(51.48650,-0.11914), new GLatLng(51.48631,-0.12059), new GLatLng(51.48626,-0.12109), new GLatLng(51.48628,-0.12133), new GLatLng(51.48628,-0.12156), new GLatLng(51.48630,-0.12219), new GLatLng(51.48630,-0.12295), new GLatLng(51.48634,-0.12320), new GLatLng(51.48644,-0.12346), new GLatLng(51.48650,-0.12363), new GLatLng(51.48649,-0.12378), new GLatLng(51.48653,-0.12398), new GLatLng(51.48663,-0.12439), new GLatLng(51.48676,-0.12482), new GLatLng(51.48687,-0.12517), new GLatLng(51.48691,-0.12528), new GLatLng(51.48694,-0.12536), new GLatLng(51.48695,-0.12544), new GLatLng(51.48831,-0.12843), new GLatLng(51.48850,-0.12890), new GLatLng(51.48855,-0.12892), new GLatLng(51.48977,-0.13155), new GLatLng(51.49021,-0.13248), new GLatLng(51.49018,-0.13254), new GLatLng(51.49047,-0.13309), new GLatLng(51.49054,-0.13322), new GLatLng(51.49095,-0.13414), new GLatLng(51.49277,-0.13787), new GLatLng(51.49373,-0.13990), new GLatLng(51.49400,-0.14047), new GLatLng(51.49415,-0.14071), new GLatLng(51.49449,-0.14105), new GLatLng(51.49462,-0.14120), new GLatLng(51.49469,-0.14119), new GLatLng(51.49514,-0.14163), new GLatLng(51.49516,-0.14175), new GLatLng(51.49556,-0.14203), new GLatLng(51.49590,-0.14221), new GLatLng(51.49620,-0.14239), new GLatLng(51.49640,-0.14244), new GLatLng(51.49647,-0.14231), new GLatLng(51.49651,-0.14171), new GLatLng(51.49690,-0.14174), new GLatLng(51.49720,-0.14185), new GLatLng(51.49738,-0.14192), new GLatLng(51.49757,-0.14206), new GLatLng(51.49771,-0.14224), new GLatLng(51.49783,-0.14247), new GLatLng(51.49792,-0.14279), new GLatLng(51.49796,-0.14304), new GLatLng(51.49807,-0.14361), new GLatLng(51.49814,-0.14378), new GLatLng(51.49833,-0.14504), new GLatLng(51.49829,-0.14676), new GLatLng(51.49830,-0.14694), new GLatLng(51.49835,-0.14703), new GLatLng(51.49912,-0.14773), new GLatLng(51.49930,-0.14791), new GLatLng(51.49968,-0.14833), new GLatLng(51.50001,-0.14871), new GLatLng(51.50023,-0.14901), new GLatLng(51.50062,-0.14961), new GLatLng(51.50101,-0.15024), new GLatLng(51.50150,-0.15101), new GLatLng(51.50159,-0.15109), new GLatLng(51.50176,-0.15118), new GLatLng(51.50181,-0.15118), new GLatLng(51.50197,-0.15113), new GLatLng(51.50237,-0.15001), new GLatLng(51.50248,-0.14988), new GLatLng(51.50257,-0.14980), new GLatLng(51.50263,-0.14975), new GLatLng(51.50282,-0.14973), new GLatLng(51.50307,-0.14971), new GLatLng(51.50312,-0.14970), new GLatLng(51.50337,-0.14997), new GLatLng(51.50338,-0.15024), new GLatLng(51.50338,-0.15041), new GLatLng(51.50335,-0.15072), new GLatLng(51.50344,-0.15078), new GLatLng(51.50400,-0.15099), new GLatLng(51.50420,-0.15101), new GLatLng(51.50446,-0.15088), new GLatLng(51.50456,-0.15086), new GLatLng(51.50499,-0.15080), new GLatLng(51.50511,-0.15080), new GLatLng(51.50527,-0.15084), new GLatLng(51.50549,-0.15090), new GLatLng(51.50569,-0.15107), new GLatLng(51.50586,-0.15121), new GLatLng(51.50602,-0.15138), new GLatLng(51.50771,-0.15339), new GLatLng(51.50899,-0.15471), new GLatLng(51.50926,-0.15504), new GLatLng(51.51022,-0.15644), new GLatLng(51.51037,-0.15660), new GLatLng(51.51267,-0.15786), new GLatLng(51.51325,-0.15821), new GLatLng(51.51336,-0.15837), new GLatLng(51.51342,-0.15857), new GLatLng(51.51345,-0.15878), new GLatLng(51.51343,-0.15894), new GLatLng(51.51340,-0.15905), new GLatLng(51.51330,-0.16001), new GLatLng(51.51417,-0.16139), new GLatLng(51.51418,-0.16148), new GLatLng(51.51596,-0.16416), new GLatLng(51.51608,-0.16422), new GLatLng(51.51809,-0.16713), new GLatLng(51.51811,-0.16720), new GLatLng(51.51819,-0.16721),], null, 0, 0.1, "#aaaaff", 0.4 );

		var lon = new GPolygon([new GLatLng(51.50761,0.06042),new GLatLng(51.52556,0.05905),new GLatLng(51.54520,0.05424),new GLatLng(51.56271,0.03296),new GLatLng(51.57935,0.01923),new GLatLng(51.58661,-0.00481),new GLatLng(51.59130,-0.03914),new GLatLng(51.59087,-0.06866),new GLatLng(51.59300,-0.09956),new GLatLng(51.58661,-0.14626),new GLatLng(51.57509,-0.16342),new GLatLng(51.55972,-0.17921),new GLatLng(51.54606,-0.19775),new GLatLng(51.52983,-0.23140),new GLatLng(51.50077,-0.21561),new GLatLng(51.49350,-0.24994),new GLatLng(51.47512,-0.27603),new GLatLng(51.45886,-0.33714),new GLatLng(51.44817,-0.39276),new GLatLng(51.43875,-0.41061),new GLatLng(51.40921,-0.41336),new GLatLng(51.38650,-0.35294),new GLatLng(51.36293,-0.27603),new GLatLng(51.33033,-0.21835),new GLatLng(51.32046,-0.14420),new GLatLng(51.32862,-0.02678),new GLatLng(51.35993,0.07828),new GLatLng(51.41135,0.12222),new GLatLng(51.46015,0.19089),new GLatLng(51.48538,0.20874),new GLatLng(51.48752,0.18196),new GLatLng(51.50291,0.17235),new GLatLng(51.51146,0.14900),new GLatLng(51.51658,0.12909),new GLatLng(51.50761,0.06042),], null, 0, 0.1, "#aaaaff", 0.2 );

		var scot = new GPolygon([new GLatLng(56.44534,-3.45520), new GLatLng(56.37544,-3.54309), new GLatLng(56.27493,-3.54309), new GLatLng(56.21694,-3.55408), new GLatLng(56.20472,-3.99353), new GLatLng(56.16192,-4.08691), new GLatLng(56.04551,-4.13635), new GLatLng(55.97180,-4.22424), new GLatLng(55.96258,-4.74609), new GLatLng(55.95589,-4.88342), new GLatLng(55.87893,-4.91364), new GLatLng(55.80491,-4.90265), new GLatLng(55.76757,-4.87244), new GLatLng(55.72970,-4.90814), new GLatLng(55.68173,-4.93561), new GLatLng(55.42488,-4.75708), new GLatLng(55.27184,-3.78479), new GLatLng(56.09862,-2.43347), new GLatLng(56.26829,-3.07617), new GLatLng(56.42507,-2.75208), new GLatLng(56.55850,-2.92236), new GLatLng(56.44534,-3.45520),], null, 0, 0.1, "#aaaaff", 0.4 );

		var nemid = new GPolygon([new GLatLng(55.28960,-1.35132), new GLatLng(54.56999,-0.85144), new GLatLng(54.42324,-1.15906), new GLatLng(54.07663,-1.26892), new GLatLng(54.05729,-1.06018), new GLatLng(53.93459,-0.88440), new GLatLng(53.84718,-0.88989), new GLatLng(53.73360,-0.75806), new GLatLng(53.53819,-0.50537), new GLatLng(53.47611,-0.51636), new GLatLng(53.47611,-0.96680), new GLatLng(53.15451,-0.93933), new GLatLng(52.84044,-0.92834), new GLatLng(52.70418,-0.76355), new GLatLng(52.66422,0.01099), new GLatLng(52.28614,-0.17029), new GLatLng(52.05705,-0.96130), new GLatLng(52.27606,-1.19751), new GLatLng(52.29622,-1.39526), new GLatLng(52.21215,-1.55457), new GLatLng(52.23571,-1.75781), new GLatLng(52.26261,-1.87866), new GLatLng(52.28614,-2.18628), new GLatLng(52.48730,-2.40051), new GLatLng(52.68088,-2.54883), new GLatLng(52.73413,-2.55432), new GLatLng(52.78067,-2.42798), new GLatLng(52.86697,-1.99402), new GLatLng(52.74411,-1.81274), new GLatLng(53.02585,-1.53809), new GLatLng(53.13145,-1.49414), new GLatLng(53.25322,-1.53259), new GLatLng(53.37137,-1.58203), new GLatLng(53.48592,-1.63147), new GLatLng(53.55124,-1.75781), new GLatLng(53.62298,-1.85120), new GLatLng(53.72710,-1.97754), new GLatLng(53.80503,-1.99951), new GLatLng(53.88929,-1.96106), new GLatLng(53.93135,-1.90063), new GLatLng(54.07341,-1.55457), new GLatLng(54.20213,-1.54907), new GLatLng(54.47754,-1.80176), new GLatLng(54.65270,-1.87317), new GLatLng(54.78596,-1.91711), new GLatLng(54.97556,-2.00500), new GLatLng(55.02912,-1.99951), new GLatLng(55.05430,-1.87866), new GLatLng(55.08890,-1.77979), new GLatLng(55.13603,-1.78528), new GLatLng(55.18624,-1.79077), new GLatLng(55.23012,-1.79077), new GLatLng(55.25830,-1.79077), new GLatLng(55.28960,-1.35132),], null, 0, 0.1, "#aaaaff", 0.4 );

		var bris = new GPolygon([new GLatLng(51.58279,-2.66693), new GLatLng(51.51447,-2.73010), new GLatLng(51.50421,-2.80426), new GLatLng(51.47172,-2.85370), new GLatLng(51.43920,-2.90039), new GLatLng(51.40495,-2.96356), new GLatLng(51.36895,-3.01300), new GLatLng(51.31748,-2.99377), new GLatLng(51.29688,-2.88666), new GLatLng(51.30203,-2.84546), new GLatLng(51.29688,-2.80151), new GLatLng(51.33293,-2.72186), new GLatLng(51.36381,-2.68616), new GLatLng(51.38438,-2.62573), new GLatLng(51.38267,-2.57904), new GLatLng(51.37581,-2.51312), new GLatLng(51.38781,-2.46094), new GLatLng(51.41009,-2.43073), new GLatLng(51.42893,-2.40326), new GLatLng(51.46316,-2.33185), new GLatLng(51.49224,-2.28241), new GLatLng(51.50763,-2.26318), new GLatLng(51.54010,-2.25769), new GLatLng(51.54522,-2.25494), new GLatLng(51.54693,-2.29065), new GLatLng(51.55376,-2.36481), new GLatLng(51.60497,-2.41974), new GLatLng(51.64078,-2.45819), new GLatLng(51.65441,-2.50763), new GLatLng(51.66293,-2.53235), new GLatLng(51.66293,-2.56805), new GLatLng(51.58279,-2.66693),], null, 0, 0.1, "#aaaaff", 0.4 );

		var nwout = new GPolygon([new GLatLng(53.09188,-2.06543), new GLatLng(52.96634,-1.97205), new GLatLng(52.92331,-2.07092), new GLatLng(52.92000,-2.35657), new GLatLng(52.96634,-2.42798), new GLatLng(53.04237,-2.47742), new GLatLng(53.09188,-2.50488), new GLatLng(53.17427,-2.57080), new GLatLng(53.17756,-2.70264), new GLatLng(53.17098,-2.77954), new GLatLng(53.12486,-2.85095), new GLatLng(53.07538,-2.85095), new GLatLng(53.02916,-2.88391), new GLatLng(52.99611,-2.94983), new GLatLng(52.99611,-3.07068), new GLatLng(53.02916,-3.12561), new GLatLng(53.07208,-3.14758), new GLatLng(53.11167,-3.09814), new GLatLng(53.31233,-3.15857), new GLatLng(53.82449,-3.85620), new GLatLng(54.13782,-2.81250), new GLatLng(54.26314,-2.83997), new GLatLng(54.38488,-2.80701), new GLatLng(54.42005,-2.64221), new GLatLng(54.58273,-2.77954), new GLatLng(54.71939,-2.86194), new GLatLng(54.93456,-3.03223), new GLatLng(54.95980,-2.85645), new GLatLng(54.42964,-2.50488), new GLatLng(54.21820,-2.59827), new GLatLng(54.01535,-2.69714), new GLatLng(53.85690,-2.64221), new GLatLng(53.81476,-2.60925), new GLatLng(53.83097,-2.42798), new GLatLng(53.85690,-2.25220), new GLatLng(53.86662,-2.14233), new GLatLng(53.78881,-2.15881), new GLatLng(53.73141,-2.07642), new GLatLng(53.67450,-1.97479), new GLatLng(53.59687,-1.89651), new GLatLng(53.57485,-1.94458), new GLatLng(53.56181,-1.97067), new GLatLng(53.54549,-1.98853), new GLatLng(53.51365,-2.00912), new GLatLng(53.49487,-2.02560), new GLatLng(53.47853,-2.00912), new GLatLng(53.48588,-1.98166), new GLatLng(53.49732,-1.95419), new GLatLng(53.47934,-1.94046), new GLatLng(53.45400,-1.93222), new GLatLng(53.42782,-1.93085), new GLatLng(53.39836,-1.91574), new GLatLng(53.34428,-1.89377), new GLatLng(53.32542,-1.87042), new GLatLng(53.29998,-1.85806), new GLatLng(53.28028,-1.86081), new GLatLng(53.26139,-1.86768), new GLatLng(53.24907,-1.88141), new GLatLng(53.23345,-1.91437), new GLatLng(53.22523,-1.94046), new GLatLng(53.21290,-1.97891), new GLatLng(53.19398,-2.02698), new GLatLng(53.17999,-2.05170), new GLatLng(53.14212,-2.10251), new GLatLng(53.09188,-2.06543),], null, 0, 0.1, "#aaaaff", 0.3 );

		var midw = new GPolygon([new GLatLng(53.02470,-4.83948), new GLatLng(53.01478,-3.98804), new GLatLng(53.08743,-3.86719), new GLatLng(53.09402,-3.69141), new GLatLng(53.06102,-3.52661), new GLatLng(52.99826,-3.44421), new GLatLng(52.91221,-3.41675), new GLatLng(52.80276,-3.41675), new GLatLng(52.73962,-3.33435), new GLatLng(52.73629,-3.20251), new GLatLng(52.64640,-2.99927), new GLatLng(52.58303,-3.01575), new GLatLng(52.40577,-2.97180), new GLatLng(52.36218,-2.89490), new GLatLng(52.33534,-2.82349), new GLatLng(52.29168,-2.73560), new GLatLng(52.24126,-2.65869), new GLatLng(52.17056,-2.66418), new GLatLng(52.12337,-2.81250), new GLatLng(52.08288,-2.97180), new GLatLng(52.00179,-3.08716), new GLatLng(51.89005,-3.35083), new GLatLng(51.89683,-3.60901), new GLatLng(51.93072,-3.83423), new GLatLng(51.95104,-3.99353), new GLatLng(51.95781,-4.19128), new GLatLng(51.96796,-4.32312), new GLatLng(51.96119,-5.26245), new GLatLng(53.02470,-4.83948),], null, 0, 0.1, "#aaaaff", 0.5 );

		var peak = new GPolygon([new GLatLng(53.58843,-1.97205), new GLatLng(53.60310,-1.97067), new GLatLng(53.61206,-1.94046), new GLatLng(53.62347,-1.90063), new GLatLng(53.63242,-1.87866), new GLatLng(53.62998,-1.81686), new GLatLng(53.61288,-1.80862), new GLatLng(53.56478,-1.76331), new GLatLng(53.53133,-1.73035), new GLatLng(53.50928,-1.64108), new GLatLng(53.36776,-1.52985), new GLatLng(53.21343,-1.43784), new GLatLng(53.07835,-1.57516), new GLatLng(52.97015,-1.76468), new GLatLng(53.10474,-2.06955), new GLatLng(53.28738,-2.02011), new GLatLng(53.38824,-2.03522), new GLatLng(53.47334,-2.01736), new GLatLng(53.58843,-2.01462), new GLatLng(53.58843,-1.97205),], null, 0, 0.1, "#aabbff", 0.2 );

		var fixs = new GPolygon([new GLatLng(51.51526,-3.68282), new GLatLng(51.46128,-3.48267), new GLatLng(51.22323,-3.00339), new GLatLng(51.10870,-3.04047), new GLatLng(51.01721,-3.15994), new GLatLng(50.97226,-3.05283), new GLatLng(51.18451,-2.81387), new GLatLng(51.27910,-2.11761), new GLatLng(51.44545,-1.89240), new GLatLng(51.36149,-1.48315), new GLatLng(51.16384,-1.51611), new GLatLng(51.02239,-1.26617), new GLatLng(51.14489,-1.12610), new GLatLng(51.24988,-0.83496), new GLatLng(51.41634,-0.63721), new GLatLng(51.36149,-0.55756), new GLatLng(51.39406,-0.40100), new GLatLng(51.43603,-0.32547), new GLatLng(51.45914,-0.26642), new GLatLng(51.46171,-0.23621), new GLatLng(51.45957,-0.16136), new GLatLng(51.47069,-0.12806), new GLatLng(51.48117,-0.11536), new GLatLng(51.48566,-0.09716), new GLatLng(51.49186,-0.07656), new GLatLng(51.50340,-0.06798), new GLatLng(51.50158,-0.05871), new GLatLng(51.50436,-0.05150), new GLatLng(51.50778,-0.04463), new GLatLng(51.50778,-0.03553), new GLatLng(51.50308,-0.02987), new GLatLng(51.50030,-0.00481), new GLatLng(51.51494,-0.00017), new GLatLng(51.52295,-0.00257), new GLatLng(51.53107,-0.00601), new GLatLng(51.53523,-0.01133), new GLatLng(51.53993,-0.01596), new GLatLng(51.54420,-0.01888), new GLatLng(51.54847,-0.00824), new GLatLng(51.55381,0.00481), new GLatLng(51.56576,0.02403), new GLatLng(51.57003,0.03811), new GLatLng(51.57814,0.05493), new GLatLng(51.59243,0.05527), new GLatLng(51.69640,0.16376), new GLatLng(51.74170,0.16617), new GLatLng(51.80373,0.20977), new GLatLng(51.86250,0.23312), new GLatLng(51.88306,0.27225), new GLatLng(51.92119,0.27878), new GLatLng(52.00602,0.25166), new GLatLng(52.03327,0.26573), new GLatLng(52.06220,0.49919), new GLatLng(52.22906,0.77934), new GLatLng(52.24504,0.78484), new GLatLng(52.27950,0.78003), new GLatLng(52.32737,0.67703), new GLatLng(52.38650,0.51361), new GLatLng(52.39069,0.37628), new GLatLng(51.91039,-2.78503), new GLatLng(51.75424,-3.58704), new GLatLng(51.51526,-3.68282), new GLatLng(51.10007,-0.61523),], null, 0, 0.1, "#aabbff", 0.2 );

		var fixn = new GPolygon([new GLatLng(53.59821,-2.74521), new GLatLng(53.60962,-2.54608), new GLatLng(53.61206,-2.40189), new GLatLng(53.61369,-2.31949), new GLatLng(53.60962,-2.20139), new GLatLng(53.56315,-2.06680), new GLatLng(53.51500,-2.04483), new GLatLng(53.47742,-2.04346), new GLatLng(53.42917,-2.03934), new GLatLng(53.40380,-2.05444), new GLatLng(53.34153,-2.06955), new GLatLng(53.28821,-2.05994), new GLatLng(53.23070,-2.09839), new GLatLng(53.16653,-2.14783), new GLatLng(53.11546,-2.19589), new GLatLng(53.06928,-2.25220), new GLatLng(53.03956,-2.34421), new GLatLng(53.03213,-2.40601), new GLatLng(53.04617,-2.47604), new GLatLng(53.14512,-2.55569), new GLatLng(53.18053,-2.57355), new GLatLng(53.22166,-2.60376), new GLatLng(53.24550,-2.64084), new GLatLng(53.24221,-2.71225), new GLatLng(53.24221,-2.72873), new GLatLng(53.29067,-2.81799), new GLatLng(53.36448,-2.80838), new GLatLng(53.47334,-2.92648), new GLatLng(53.55581,-2.83035), new GLatLng(53.55581,-2.83173), new GLatLng(53.59821,-2.74521),], null, 0, 0.1, "#aabbff", 0.2 );


/*
*   The following function is provided by Mike Williams               *
*   Blackpool Community Church Javascript Team                        *
*   http://www.blackpoolchurch.org/                                   *
*   http://econym.org.uk/gmap/                                        *
*                                                                     *
*   This function is licenced under a Creative Commons Licence        *
*   http://creativecommons.org/licenses/by/2.0/uk/                    *
*/

GPolygon.prototype.Contains = function(point) {
  var j=0;
  var oddNodes = false;
  var x = point.lng();
  var y = point.lat();
  for (var i=0; i < this.getVertexCount(); i++) {
    j++;
    if (j == this.getVertexCount()) {j = 0;}
    if (((this.getVertex(i).lat() < y) && (this.getVertex(j).lat() >= y))
    || ((this.getVertex(j).lat() < y) && (this.getVertex(i).lat() >= y))) {
      if ( this.getVertex(i).lng() + (y - this.getVertex(i).lat())
      /  (this.getVertex(j).lat()-this.getVertex(i).lat())
      *  (this.getVertex(j).lng() - this.getVertex(i).lng())<x ) {
        oddNodes = !oddNodes
      }
    }
  }
  return oddNodes;
}

GPolyline.prototype.Contains = GPolygon.prototype.Contains;

/*
*   END OF MIKE WILLIAMS' FUNCTION                                   *
*/

		var map;
		var gdir;
		var geocoder = null;
		var instrPic = "<img src='/images/collection-and-delivery-points.png' alt='Please enter the collection and delivery points in the boxes above and select the size of vehicle required' title='Please enter the collection and delivery points in the boxes above and select the size of vehicle required' >"

    function initialize() {
      if (GBrowserIsCompatible()) {      
        map = new GMap2(document.getElementById("map_canvas"));
        map.setCenter(new GLatLng(54.45, -3.3),5);
	// map.enableScrollWheelZoom();
        gdir = new GDirections(map, document.getElementById("directions"));
        GEvent.addListener(gdir, "load", onGDirectionsLoad);
        GEvent.addListener(gdir, "error", handleErrors);
	GEvent.addListener(gdir, "addoverlay", hideDirMarkers); 
      }
    }

function StartPoint(fromAddress) {
	
	localSearch.setSearchCompleteCallback(null, 
		function() {
    var toAddress = document.getElementById('toAddress').value;
			if(fromAddress.length > 1)
			{
			if (localSearch.results[0])
			{	StartLat = localSearch.results[0].lat;
				StartLng = localSearch.results[0].lng;
				EndPoint(toAddress);
			}else{
				alert("Collection address not found! Please enter the full or partial postcode or the town name.");
			}
			}else{
				alert("Collection address is too short!");
			}
		});	
		
	localSearch.execute(fromAddress + ", UK");
}

function EndPoint(toAddress) {
	
	localSearch.setSearchCompleteCallback(null, 
		function() {

			if(toAddress.length > 1)
			{		
			if (localSearch.results[0])
			{	EndLat = localSearch.results[0].lat;
				EndLng = localSearch.results[0].lng;
				setDirections();
			}else{
				alert("Delivery address not found! Please enter the full or partial postcode or the town name.");
			}
			}else{
				alert("Delivery address is too short!");
			}
		});	
		
	localSearch.execute(toAddress + ", UK");
}


    
    function setDirections(fromAddress, toAddress) {
		document.getElementById("bprice").innerHTML = "<img src='/images/calculating.gif' alt='Calculating Cost'>";
		document.getElementById("dist").innerHTML = ""; 
		document.getElementById("time").innerHTML = "";
		document.getElementById("ready2").innerHTML = "";
		document.getElementById("vprice").innerHTML = "";
		document.getElementById('results').style.display = 'none';
      gdir.load('from: '+StartLat+','+StartLng+' to: '+ EndLat+','+EndLng,{getSteps: true});
    }

    function viaA50(fromAddress, toAddress) {
		document.getElementById("bprice").innerHTML = "<img src='/images/calculating.gif' alt='Calculating Cost'>";
		document.getElementById("dist").innerHTML = ""; 
		document.getElementById("time").innerHTML = "";
		document.getElementById("ready2").innerHTML = "";
		document.getElementById("vprice").innerHTML = "";
		document.getElementById('results').style.display = 'none';
      gdir.load('from: '+StartLat+','+StartLng+' to:51.929834,-2.56213'+' to: '+ EndLat+','+EndLng,{getSteps: true});
    }

    
    function handleErrors(){
		document.getElementById("bprice").innerHTML = instrPic;
		alert("An error occurred. Please check the addresses that you've entered.");
    }
    
	function onGDirectionsLoad() {
		var tariff = 3;
		var cc = 0;
		var dart = 0;
		var humb = 0;
		var tyne = 0;
		var mers = 0;
		var sevn = 0;
		var inlon = 0;
		var wales = 0;
		var inpeak = 0;
        	for (var j=0; j<gdir.getNumRoutes(); j++) {
		var route = gdir.getRoute(j);
		var start = route.getStep(0).getLatLng();
		var routestart = gdir.getRoute(0).getStep(0).getLatLng();
		var end = route.getEndLatLng();
		if (!(ukmain.Contains(start)) || !(ukmain.Contains(end))){
		initialize();
		document.getElementById("bprice").innerHTML = instrPic;
		document.getElementById('results').style.display = 'none';
		alert("Please enter Collection and Delivery points on the UK mainland.\n\nCall us on 0845 456 7722 for a quote for other deliveries.");
}
		else{
		if (scot.Contains(start)){tariff = 2}
		if (nemid.Contains(start)){tariff = 2}
		if (nwout.Contains(start)){tariff = 2}
		if (bris.Contains(start)){tariff = 2}
		if (nwin.Contains(start)){tariff = 1}
		if (cc1.Contains(start)){cc = 8}
		if (cc2.Contains(start)){cc = 8}
		if (cc3.Contains(start)){cc = 8}
		if (cc4.Contains(start)){cc = 8}
		if (lon.Contains(start)){inlon = 10}
		if (midw.Contains(start)){wales = 35}
		if (peak.Contains(start)){inpeak = 10}
		if (cc==0){
		if (cc1.Contains(end)){cc = 8}		
		if (cc2.Contains(end)){cc = 8}
		if (cc3.Contains(end)){cc = 8}
		if (cc4.Contains(end)){cc = 8}
		}
		if (inlon==0){if (lon.Contains(end)){inlon = 10}}
		if (wales==0){if (midw.Contains(end)){wales = 35}}
		if (inpeak==0){if (peak.Contains(end)){inpeak = 10}}
		for (var k=0; k<route.getNumSteps(); k++) {
		var step = route.getStep(k);
		var Exp1 = /toll/;
		var Exp2 = /a19/;
		var Exp3 = /a15/;
		var Exp4 = /a282/;
		var Exp5 = /kingsway/;
		var Exp6 = /mersey/;
		var Exp7 = /m4/;
		var Exp8 = /m48/;
		var Exp9 = /entering wales/;
		var Exp10 = /entering england/;
		var Exp11 = /take the/;
		var Exp12 = / ferry/;
		var dirStr = step.getDescriptionHtml().toLowerCase();
		var match1 = dirStr.search(Exp1);
		var match9 = dirStr.search(Exp9);
		var match10 = dirStr.search(Exp10);
		var match11 = dirStr.search(Exp11);
		var match12 = dirStr.search(Exp12);
		if ((match11 != -1)&&(match12 != -1)){alert("This journey seems to involve a ferry crossing.\n\Please call us on 0845 456 7722 for an accurate quote and journey time."); return false;}
		if (match1 != -1)
	{
		var match2 = dirStr.search(Exp2);
		var match3 = dirStr.search(Exp3);
		var match4 = dirStr.search(Exp4);
		var match5 = dirStr.search(Exp5);
		var match6 = dirStr.search(Exp6);
		if (match2 != -1){tyne = 3}
		if (match3 != -1){humb = 6}
		if (match4 != -1){dart = 4}
		if ((match5 != -1)||(match6 != -1)){mers = 3}
	}
		if ((match9 != -1)||(match10 != -1))
	{
		var match7 = dirStr.search(Exp7);
		var match8 = dirStr.search(Exp8);
		if ((match7 != -1)||(match8 != -1))
	{       
		{if ((nosev.Contains(start))||(nosev.Contains(end))){viaA50();}
		else {sevn = 11}}
	}
	}

		var point = route.getStep(k).getLatLng();
		if (cc==0){
		if (cc1.Contains(point)){cc = 8}
		if (cc2.Contains(point)){cc = 8}
		if (cc3.Contains(point)){cc = 8}
		if (cc4.Contains(point)){cc = 8}
		}
		if (inlon==0){if (lon.Contains(point)){inlon = 10}}
		if (wales==0){if (midw.Contains(point)){wales = 35}}
		if (inpeak==0){if (peak.Contains(point)){inpeak = 10}}
}

// TARIFFS


// NW

if (tariff == 1){

// sv

var Sm = 35;
var Sppm = 0.75;
var Sfm = 15;

// sv dist

var dSm = 5;
var dSppm = 0.85;
var dSfm = 0;

// transit

var Tm = 50;
var Tppm = 1.00;
var Tfm = 15;

// tv distance

var dTm = 5;
var dTppm = 1.15;
var dTfm = 0;

// lwb

var Lm = 65;
var Lppm = 1.20;
var Lfm = 20;

// lwb dist

var dLm = 5;
var dLppm = 1.35;
var dLfm = 0;
}

// Prime

if (tariff == 2){

// sv

var Sm = 45;
var Sppm = 0.75;
var Sfm = 25;

// sv dist

var dSm = 5;
var dSppm = 0.85;
var dSfm = 0;

// transit

var Tm = 60;
var Tppm = 1.05;
var Tfm = 25;

// tv distance

var dTm = 5;
var dTppm = 1.20;
var dTfm = 0;

// lwb

var Lm = 70;
var Lppm = 1.20;
var Lfm = 25;

// lwb dist

var dLm = 5;
var dLppm = 1.35;
var dLfm = 0;
}

// Other

if (tariff == 3){

// sv

var Sm = 49;
var Sppm = 0.75;
var Sfm = 20;

// sv dist

var dSm = 5;
var dSppm = 0.90;
var dSfm = 0;

// transit

var Tm = 65;
var Tppm = 1.05;
var Tfm = 25;

// tv distance

var dTm = 5;
var dTppm = 1.20;
var dTfm = 0;

// lwb

var Lm = 75;
var Lppm = 1.25;
var Lfm = 20;

// lwb dist

var dLm = 10;
var dLppm = 1.40;
var dLfm = 0;
}
		var gdistance = parseInt(gdir.getDistance().meters/1609.344);
		var distance = parseInt(gdir.getDistance().meters/1609.344);
		var duration = parseInt(gdir.getDuration().seconds);


                var etaTime= duration * 1.30;
		if (distance < 140){
		etaTime= duration * 1.45;
		}
		if (distance < 70){
		etaTime= duration * 1.7;
		}
		if (distance < 40){
		etaTime= duration * 2.0;
		}
		if (distance < 20){
		etaTime= (duration * 2.0)+400;
		}

		var drivingtime
		var hourStr = " hours ";
		var hours = Math.floor(etaTime/3600);
		var minutes = Math.floor((((etaTime - (hours*3600))/60)/10).toFixed(0))*10;
		if((minutes == 60)){ hours = (hours + 1); minutes = 0;}
		if (hours == 1){hourStr = " hour ";}
		drivingtime = hours + hourStr + minutes + " mins";
		if((hours == 0)){drivingtime = minutes + " minutes ";}
		if((minutes == 0)){drivingtime = hours + hourStr;}


		var timeStr= "Your delivery should arrive within<br>" + drivingtime + " of collection - subject<br>to traffic conditions.";
		

		document.getElementById("time").innerHTML="Driving Time: " +timeStr;

		if (distance > 140){inlon= 0};

		var vat = 1.175;                 //  <<  VAT RATE  >>
		var extra = (inlon + wales + inpeak);
		var minimum;
		var ppm;
		var freeMiles;
		var van;
		for (var i=0; i < document.form.veh.length; i++){
		if (document.form.veh[0].checked){van = "Small"; {minimum = Sm; ppm = Sppm; freeMiles = Sfm;}if (distance > 200){minimum = dSm; ppm = dSppm; freeMiles = dSfm;}}
		
		if (document.form.veh[1].checked){van = "Transit"; {minimum = Tm; ppm = Tppm; freeMiles = Tfm;}if (distance > 200){minimum = dTm; ppm = dTppm; freeMiles = dTfm;}}
		
		if (document.form.veh[2].checked){van = "LWB"; {minimum = Lm; ppm = Lppm; freeMiles = Lfm;}if (distance > 200){minimum = dLm; ppm = dLppm; freeMiles = dLfm;}}
}

		if (distance < freeMiles){
		distance= freeMiles;}

		var book = "<a href = '/ready-to-book/'><img src='/images/ready.gif' alt='Ready to book? Click here.' border='0'></a>";
		var routecost = (((distance - freeMiles) * ppm) + minimum + extra);
		if ((document.form.veh[0].checked) && (fixn.Contains(routestart)) && (fixs.Contains(end)) && (routecost > 169)){routecost = 169}          // MANCHESTER TO LONDON SPECIAL
		var chargeable = (cc + routecost + dart + humb + tyne + mers + sevn).toFixed(0);
		var vchargeable = chargeable * vat;
		var priceStr= "Estimated Cost:<br>";
		var bpriceStr= "&pound;" + chargeable+"\n";
		var vpriceStr= "plus VAT <br>&pound;" + vchargeable.toFixed(2) + " including VAT\n";
		document.getElementById("results").innerHTML = "Estimated Cost: &pound;" + chargeable + " plus VAT"+ "<p>Call now to arrange a collection</p>";
    		document.getElementById('results').style.display = 'block';
		document.getElementById("dist").innerHTML = priceStr;
		document.getElementById("time").innerHTML = timeStr;
		document.getElementById("bprice").innerHTML = bpriceStr;
		document.getElementById("vprice").innerHTML = vpriceStr;
		document.getElementById("ready2").innerHTML = book;
		document.getElementById("entry_0").value = document.form.fromAddress.value.toUpperCase();
		document.getElementById("entry_1").value = document.form.toAddress.value.toUpperCase();	
		document.getElementById("entry_2").value = gdistance;
		document.getElementById("entry_3").value = van;
		document.getElementById("entry_4").value = chargeable;
		setTimeout("document.myform.submit();",2000);

}}}

        function hideDirMarkers(){ 
                var numMarkers = gdir.getNumGeocodes() 
                for (var i = 0; i < numMarkers; i++) { 
                        var marker = gdir.getMarker(i); 
                        if (marker != null) 
                                marker.hide(); 
                        else 
                                alert("Marker is null"); 
                }
        } 
