var map;
var starting_value = "Starting location";
var ending_value = "Destination";
var geocoder = new GClientGeocoder();
geocoder.setBaseCountryCode('IE');

var startIcon = new GIcon(G_DEFAULT_ICON);
startIcon.image = "images/start.png";
var endIcon = new GIcon(G_DEFAULT_ICON);
endIcon.image = "images/end.png";
var stopIcon = new GIcon(G_DEFAULT_ICON);
stopIcon.image = "images/a_stop.png";
stopIcon.iconSize = new GSize(32, 37);
var blueIcon = new GIcon(G_DEFAULT_ICON);
blueIcon.image = "images/blue.png";
blueIcon.iconSize = new GSize(32, 32);

var starting_point='';
var ending_point='';

window.onload = addCodeToFunction(window.onload,function() {
    if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("map_div"));
        var center_point = new GLatLng(53.34,-6.26);
        map.setCenter(center_point,13);
        map.enableContinuousZoom();
        map.enableScrollWheelZoom();
        map.addControl(new GMapTypeControl());
         map.addControl(new ContextMenuControl());
        var boxStyleOpts = { opacity: .2, border: "2px solid yellow" };
        var otherOpts = {
         buttonHTML: "<img height='17' width='17' src='../images/zoom-control-inactive.png' />",
         buttonZoomingHTML: "<img src='../images/zoom-control-active.png' />",
         buttonStartingStyle: {width: '17px', height: '17px'},
         overlayRemoveTime: 0 };
       map.addControl(new DragZoomControl(boxStyleOpts, otherOpts, {}),
           new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(27,7)));
       // add large map control under the zoom control since the large map control has different sizes...
       map.addControl(new GLargeMapControl(), new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(7,32)));
       document.getElementById("address_starting").focus();
    }
});


// close infowindow when dragging starting
function close_info_on_drag(marker)
{
   GEvent.addListener(marker, "dragstart", function() {
            map.closeInfoWindow();
   });
}
function display_when_clicked(marker, text)
{
      GEvent.addListener(marker, "click", function() {
           marker.openInfoWindowHtml(text);
          });
}
function get_start_location(lat_point,lng_point)
{
  $('route_starting_point').setValue(lat_point + ',' + lng_point);
  $('routes_list').hide();
}
 function get_end_location(lat_point,lng_point)
{
  $('route_ending_point').setValue(lat_point + ',' + lng_point);
  $('routes_list').hide();
}
function update_box(box, value)
{
    $(box).setValue(value);
}
function update_start_location(point)
{
       lat = point.y;
        lng = point.x;
        if(ending_point!='')
        {
           map.addOverlay(ending_point);
        }
        else
        {
         update_box('route_ending_point', '');
        }
    $('route_starting_point').setValue(lat + ',' + lng);
     get_start_location(lat,lng);
}
function scroll_top()
{
   window.scrollTo(0,0);
}
function scroll_to_results()
{
   window.scrollTo(0,330);
}
function run_acc_direct()
{
   new Accordion("routes_list", 1);
}
function run_direct()
{
   new Accordion("direct_routes", 1);
}
function run_connections()
{
   new Accordion("connection_routes", 1);
}
// other scripts
if (typeof Effect == 'undefined')                                  //scriptious not loaded
  throw("Connection Issues: Please reload the page, and turn Javascript support on.");

function addInfoWindowToMarker(marker,info,options){
	GEvent.addListener(marker, "click", function() {marker.openInfoWindowHtml(info,options);});
	return marker;
}
function addCodeToFunction(func,code){
    if(func == undefined)
    return code;
    else{
        return function(){
            func();
            code();
        }
    }
}
if(self.Event && Event.observe){
    Event.observe(window, 'unload', GUnload);
}else{
    window.onunload = GUnload;
}
// accordian
var Accordion = Class.create({
    initialize: function(id, defaultExpandedCount) {
        if(!$(id)) throw("Attempted to initalize accordion with id: "+ id + " which was not found.");
        this.accordion = $(id);
        this.options = {
            toggleClass: "accordion-toggle",
            toggleActive: "accordion-toggle-active",
            contentClass: "accordion-content"
        }
        this.contents = this.accordion.select('div.'+this.options.contentClass);
        this.isAnimating = false;
        this.maxHeight = 0;
        this.current = defaultExpandedCount ? this.contents[defaultExpandedCount-1] : this.contents[0];
        this.toExpand = null;

        this.checkMaxHeight();
        this.initialHide();
        this.attachInitialMaxHeight();

        var clickHandler =  this.clickHandler.bindAsEventListener(this);
        this.accordion.observe('click', clickHandler);
    },
    expand: function(el) {
        this.toExpand = el.next('div.'+this.options.contentClass);
        if(this.current != this.toExpand){
			this.toExpand.show();
            this.animate();
        }
    },
    checkMaxHeight: function() {
        for(var i=0; i<this.contents.length; i++) {
            if(this.contents[i].getHeight() > this.maxHeight) {
                this.maxHeight = this.contents[i].getHeight();
            }
        }
    },
    attachInitialMaxHeight: function() {
		this.current.previous('div.'+this.options.toggleClass).addClassName(this.options.toggleActive);
        if(this.current.getHeight() != this.maxHeight) this.current.setStyle({height: this.maxHeight+"px"});
    },
    clickHandler: function(e) {
        var el = e.element();
        if(el.hasClassName(this.options.toggleClass) && !this.isAnimating) {
            this.expand(el);
        }
    },
    initialHide: function(){
        for(var i=0; i<this.contents.length; i++){
            if(this.contents[i] != this.current) {
                this.contents[i].hide();
                this.contents[i].setStyle({height: 0});
            }
        }
    },
    animate: function() {
        var effects = new Array();
        var options = {
            sync: true,
            scaleFrom: 0,
            scaleContent: false,
            transition: Effect.Transitions.sinoidal,
            scaleMode: {
                originalHeight: this.maxHeight,
                originalWidth: this.accordion.getWidth()
            },
            scaleX: false,
            scaleY: true
        };
        effects.push(new Effect.Scale(this.toExpand, 100, options));
        options = {
            sync: true,
            scaleContent: false,
            transition: Effect.Transitions.sinoidal,
            scaleX: false,
            scaleY: true
        };
        effects.push(new Effect.Scale(this.current, 0, options));
        var myDuration = 0.3;     // lower is faster
        new Effect.Parallel(effects, {
            duration: myDuration,
            fps: 35,
            queue: {
                position: 'end',
                scope: 'accordion'
            },
            beforeStart: function() {
                this.isAnimating = true;
                this.current.previous('div.'+this.options.toggleClass).removeClassName(this.options.toggleActive);
                this.toExpand.previous('div.'+this.options.toggleClass).addClassName(this.options.toggleActive);
            }.bind(this),
            afterFinish: function() {
                this.current.hide();
                this.toExpand.setStyle({ height: this.maxHeight+"px" });
                this.current = this.toExpand;
                this.isAnimating = false;
            }.bind(this)
        });
    }

});

// context menu
eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('7 D(a){4(a){6.S={1L:a.1L,1M:a.1M,1b:a.1b,1n:a.1n,1N:a.1N}}u{6.S={}}6.O=[];6.1o=[];6.1p=-1}D.E=I 3x(F,K);D.E.3y=7(m){3 n=6;n.w=m;3 o=m.1O();4(o.2i){o.2i("3z",7(e){e.2j();e.2k()},F)}u 4(o.2l){o.2l("3A",7(){3 e=1P.1q;e.3B=K;e.2m=F})}n.1Q();G.T(m,"3C",7(a,b,c){3 d=n.O;n.1r=11;4(d.z>0){4(c 3D 1R){L(3 i=0;i<d.z;i++){4(c.J().2n(d[i].J())){n.1r=c.J();1S}}4(n.1r){n.1c("1T")}u{n.1c("1U")}}u{n.1c("1U")}}u{n.1c()}n.1d=m.3E(a);3 e=s.1V?(a.x-40):a.x;3 f=s.1V?(a.y+10):a.y;3 g=m.2o().12;3 h=m.2o().2p;3 j=n.v.3F;3 k=n.v.3G;4(g-j<e){e=e-j}4(h-k<f){f=f-k-20}n.v.8.2q="1s";n.v.1s=K;3 l=I 3H(3I,I 1e(e,f));l.3J(n.v)});G.X(o,"2r",7(e){4(n.v.1s){4(!e){3 e=1P.1q}4(n.2s(o,e)){n.13()}}});G.T(m,"1f",7(){n.13()});G.T(m,"2t",7(){n.13()});M s.C("b")};D.E.1W=7(a){3 b=6;b.14(a);3 c=b.1d;3 d;4(b.H){3 e=[c,b.H.J()];b.15(e)}u{3 f="3K"+a+".1g";3 g=b.1X(f);d=b.1Y(a);3 h=I 1R(c,{2u:g,2v:K,2w:\'1Z\',2x:F,2y:K});b.H=h;b.w.21(h);h.1h(d);G.T(h,"1f",7(){d=b.1Y(a);h.1h(d)});G.T(h,"2z",7(){b.w.1t()})}};D.E.1Q=7(a){3 b=6;b.v=s.C("3L");b.v.8.3M="1u 3N";b.v.8.3O="3P";b.v.8.22="#3Q";b.v.8.1v="#2A";b.v.8.3R="2B";b.v.8.2C="23";b.v.8.12="3S";b.v.8.2D="24 3T #3U";b.v.8.3V="3W";4(b.S.1L!==F&&!a){b.v.t(b.Y("2E 1i","1i"))}4(b.S.1M!==F&&!a){b.v.t(b.Y("2E Z","Z"))}4(a=="1T"){b.v.t(b.Y("3X 6 2F","2G"))}b.v.t(b.2H());4(b.S.1b!==F){b.v.t(b.Y("25 2I","1w"))}4(b.S.1n!==F){b.v.t(b.Y("25 3Y","2J"))}4(b.S.1N!==F){b.v.t(b.Y("3Z 41 1j","26"))}b.13();b.w.1O().t(b.v);M b.v};D.E.2s=7(a,b){4(a.2K&&b.2L){M!a.2K(b.2L)}u 4(b.2M){M!6.2N(a,b.2M)}};D.E.2N=7(a,b){3 c=F;42{4((c=a==b)){1S}b=b.43}44(b!=11);M c};D.E.Y=7(b,c){3 d=6;3 e=s.C("45");e.8.2C="23 2O";e.8.46="1.47";e.t(s.U(b));G.X(e,"48",7(){e.8.27="49";e.8.1v="#4a"});G.X(e,"2r",7(){e.8.27="2P";e.8.1v="#2A"});G.X(e,"1f",7(){4(c=="1i"){d.1W("A")}u 4(c=="Z"){d.1W("B")}u 4(c=="1U"){d.2Q()}u 4(c=="2G"){d.2R()}u 4(c=="1w"){d.w.1b()}u 4(c=="2J"){d.w.1n()}u 4(c=="26"){3 a=d.1d;d.w.4b(a)}u 4(c=="1j"){d.4c()}d.13()});M e};D.E.2R=7(){3 a=6;3 d=a.O;3 b=[];L(3 i=0;i<d.z;i++){4(a.1r.2n(d[i].J())){a.w.V(d[i]);d.28(i,1);1S}}4(d.z==0){a.29()}u 4(d.z==1){a.w.1t();a.w.V(a.1x)}u 4(d.z>1){L(3 j=0;j<d.z;j++){b[j]=d[j].J()}a.15(b)}};D.E.2Q=7(){3 a=6;3 d=a.O;3 b=[];4(d.z==1){4(d[0].2S=="A"){a.14("B")}u{a.14("A")}b[0]=a.1d;b[1]=d[0].J()}u 4(d.z>1){a.14();L(3 i=0;i<d.z;i++){b[i]=d[i].J()}b.W(a.1d)}a.15(b)};D.E.2H=7(){3 a=s.C("4d");a.8.2p="24";a.8.2D="24";a.8.22="#2T";a.8.1v="#2T";4(s.1V){a.8.4e="4f";a.8.2U="-2O"}u{a.8.2U="23"}M a};D.E.13=7(){6.v.8.2q="4g";6.v.1s=F};D.E.1c=7(a){6.w.1O().4h(6.v);6.1Q(a)};D.E.14=7(a){4(a=="A"){6.16={A:K,B:F}}u 4(a=="B"){6.16={A:F,B:K}}u{6.16={A:F,B:F}}};D.E.2a=7(){6.1p++;M 4i.4j(6.1p+65)};D.E.1X=7(a){3 b=I 4k();3 c="4l://4m.4n.4o/4p/";4(a=="2V"){b.2W=c+"2V.1g";b.2X=c+"4q.1g";b.2Y=I 1e(39,34);b.2Z=I 1e(39,34);b.30=I 1y(20,34);b.31=I 1y(20,0)}u{b.2W=c+a;b.2X=c+"4r.1g";b.2Y=I 1e(20,34);b.2Z=I 1e(37,34);b.30=I 1y(9,34);b.31=I 1y(19,2)}M b};D.E.2b=7(b,c){3 e=6;3 d=e.O;3 r=e.1z;3 f;3 g=[];3 h="4s"+c+".1g";3 j=e.1X(h);3 k=I 1R(b,{2u:j,2v:K,2w:\'1Z Z 32 33\',2x:F,2y:K});k.2S=c;e.w.21(k);d.W(k);4(c=="A"){f=r.P[0]}u{f=r.P[(r.P.z-1)]}G.T(k,"1f",7(){4(d.z>1){e.w.1h(b,f)}});G.T(k,"2z",7(){e.w.1t();e.H=k;4(d.z<=2){e.14(c)}});G.T(k,"2t",7(){4(d.z==2){3 a=e.16.A?d[d.z-1].J():d[0].J();g.28(0,0,e.H.J(),a)}u 4(d.z>2){d.28((c.4t()-65),1,e.H);L(3 i=0;i<d.z;i++){g[i]=d[i].J()}}4(d.z>=2){e.15(g)}})};D.E.35=7(){3 a=6.N.4u().36;3 b=[];b[4v]="A 1A 38 1B 1C 1D 3a 4w.";b[4x]="A 4y, 1A 17 4z 4A 4B 38 1B 1C 1D 3a 4C.";b[4D]="3b 2c 3c 3d 1w Q 2d.";b[4E]="3b 4F 4G 4H 1B 1D 4I L 4J 4K Q 3d 4L.";b[4M]="1E 4N L Q 1k 1l 17 Q 33 L Q 1k 1A 2c 4O 1D 4P 4Q Z 4R 17 4S 4T.";b[4U]="1E 3e 4V 1B 1C 4W 1A 4X Q 4Y 4Z 1w Q 2c.";b[50]="1E 1k 3f 51 52 53 17 54 1C 55 Q 56 L 57 58 3c 1k.";b[59]="1E 1k 3f 5a 5b 5c Q 5d 3g 5e 17 3h 5f 3g 5g 5h 3h 5i.";4(b[a]){3i(b[a]+"\\5j 36: "+a)}u{3i("5k 5l 3j 5m.")}};D.E.3k=7(){3 a=6;a.1z={R:[],P:[],2e:0};3 r=a.1z;4(a.H){a.w.V(a.H);a.H=11}4(a.O.z>0){a.29()}a.1x=a.N.3l();a.w.21(a.1x);3 b=a.N.5n();r.2e=b;L(3 m=0;m<b;m++){3 c=a.N.5o(m);3 d=c.5p();4(m==0){3 e=c.3m(0).J();3 f=c.5q().1l;r.R.W(e);r.P.W(a.1F(f,0));a.2b(e,a.2a())}L(3 n=0;n<d;n++){3 g=r.R.z;3 h=c.3m(n);r.R.W(h.J());r.P.W(a.1F(h.5r(),g))}3 i=c.5s();3 j=c.5t().1l;r.R.W(i);r.P.W(a.1F(j,(g+1),(m+1)));a.2b(i,a.2a())}};D.E.1F=7(b,c,i){3 d=7(a){a.8.22="#5u";a.8.5v="2B";a.5w("1m");a.8.27="2P"};3 e=6;3 r=e.1z;3 f=s.C("3n");f.8.12="5x";f.1G=b;3 p=s.C("p");p.8.5y="1u";p.8.5z="26";p.8.5A="2f";3 g=s.C("a");g.18("1m","1H:1I(0)");g.1G="25 2I";g.8.3o="2f";3 h=s.C("a");h.18("1m","1H:1I(0)");h.1G="&5B; 5C";h.8.3o="2f";4(c==0){d(h)}3 j=s.C("a");j.18("1m","1H:1I(0)");j.1G="5D &5E;";4(i==r.2e){d(j)}p.t(h);p.t(g);p.t(j);f.t(p);g.2g=7(){e.w.1b(r.R[c],{5F:K})};h.2g=7(){4(c>0){e.w.1h(r.R[(c-1)],r.P[(c-1)])}};j.2g=7(){4(c<(r.R.z-1)){e.w.1h(r.R[(c+1)],r.P[(c+1)])}};M f};D.E.15=7(a,b){3 c=6;c.N=I 3e();G.3p(c.N,"3j",c,c.35);G.3p(c.N,"2h",c,c.3k);3 d={3l:K,5G:K};4(c.1J){d.1K=c.1J.1K}4(a){4(c.16.B){a=a.5H()}c.N.5I(a,d)}u{3 e=c.H.J();3 f=e.5J()+","+e.5K();4(c.16.A){c.N.2h("1i: "+f+" Z: "+b,d)}u{c.N.2h("1i: "+b+" Z: "+f,d)}}};D.E.1Y=7(b){3 c=6;3 d=(b=="A")?["5L 1j","5M 1l:"]:["5N 1j","5O 1l:"];3 f=s.C("3n");f.t(s.U("3q: "));3 g=s.C("b");g.t(s.U(d[0]));f.t(g);f.t(s.C("3r"));3 h=s.C("1u");h.t(s.U(d[1]));f.t(h);f.t(s.C("3r"));3 i=s.C("2d");i.3s="5P";i.1a="";i.8.12="5Q";f.t(i);3 j=s.C("p");3 k=s.C("5R");k.5S="1";k.8.12="3t";3 l=s.C("3u");l.t(s.U("5T 5U"));l.18("1a","");k.t(l);3 m=s.C("3u");m.t(s.U("5V 5W"));m.18("1a","3v");k.t(m);3 n=s.C("2d");n.3s="3w";n.1a="5X 3q";n.8.12="3t";n.8.5Y="5Z";j.t(k);j.t(n);f.t(j);3 o=s.C("p");3 p=s.C("1u");p.t(s.U("1Z 17 "));3 q=s.C("a");q.18("1m","1H:1I(0)");q.t(s.U("1T 6 2F"));p.t(q);o.t(p);f.t(o);3 r=s.C("60");r.t(f);61(7(){3 a=f.62[5];4(a.63=="64"){a.66()}},67);G.X(q,"1f",7(){4(c.H){c.w.V(c.H);c.H=11}});c.1J={1K:F};G.X(k,"32",7(){4(k.S[k.68].1a=="3v"){c.1J.1K=K}});G.X(r,"3w",7(e){c.15(11,i.1a);4(1P.1q){1q.2m=F}u 4(e){e.2j();e.2k()}});M r};D.E.29=7(a){4(a=="1j"){L(3 i=0;i<6.1o.z;i++){6.w.V(6.1o[i])}6.1o.z=0}u{6.w.1t();6.w.V(6.1x);L(3 j=0;j<6.O.z;j++){6.w.V(6.O[j])}6.O.z=0;6.1p=-1;4(6.H){6.w.V(6.H);6.H=11}}};',62,381,'|||var|if||this|function|style||||||||||||||||||||document|appendChild|else|menuList|map_|||length|||createElement|ContextMenuControl|prototype|false|GEvent|actual|new|getLatLng|true|for|return|gdir|dirmarks_|iws|the|sections|options|addListener|createTextNode|removeOverlay|push|addDomListener|createListItem_|to||null|width|hideMenu_|setChosen_|getDirs_|chosen|or|setAttribute||value|zoomIn|rebuildMenu_|clickedPoint_|GSize|click|png|openInfoWindowHtml|from|here|given|address|href|zoomOut|heremarks_|letterindex_|event|rej_|visible|closeInfoWindow|small|backgroundColor|in|poly_|GPoint|routes_|directions|could|not|be|The|createRouteInfo|innerHTML|javascript|void|opts_|avoidHighways|dirsFrom|dirsTo|centerMap|getContainer|window|createContextMenu_|GMarker|break|remove|add|all|searchDirs_|createIcon_|makeForm_|Drag||addOverlay|color|0px|1px|Zoom|center|cursor|splice|removeOld_|makeLetter_|makeDirMarker_|query|input|num|20px|onclick|load|addEventListener|stopPropagation|preventDefault|attachEvent|returnValue|equals|getSize|height|visibility|mouseout|checkMouseLeave_|dragend|icon|draggable|title|bouncy|dragCrossMove|dragstart|fff|none|padding|border|Driving|point|rem|createRuler_|In|out|contains|toElement|relatedTarget|containsDOM_|6px|default|addDest_|removeDest_|letter|e2e2e2|margin|arrow|image|shadow|iconSize|shadowSize|iconAnchor|infoWindowAnchor|change|route||handleErrors_|code||request||successfully|No|was|specified|GDirections|key|requests|too|alert|error|dirsLoad_|getPolyline|getStep|div|marginRight|bind|Direction|br|type|15ex|option|nohighways|submit|GControl|initialize|contextmenu|oncontextmenu|cancelBubble|singlerightclick|instanceof|fromContainerPixelToLatLng|offsetWidth|offsetHeight|GControlPosition|G_ANCHOR_TOP_LEFT|apply|marker|ul|font|Arial|whiteSpace|nowrap|0000cd|listStyle|21ex|solid|666|position|absolute|Remove|Out|Center||Map|do|parentNode|while|li|lineHeight|6em|mouseover|pointer|00ddff|panTo|getReverseGeocode_|hr|display|block|hidden|removeChild|String|fromCharCode|GIcon|http|maps|google|com|mapfiles|arrowshadow|shadow50|marker_green|charCodeAt|getStatus|G_GEO_BAD_REQUEST|parsed|G_GEO_SERVER_ERROR|geocoding|maximum|zoom|level|processed|G_GEO_MISSING_QUERY|G_GEO_UNKNOWN_ADDRESS|corresponding|geographic|location|found|one|of|addresses|G_GEO_UNAVAILABLE_ADDRESS|geocode|cannot|returned|due|legal|contractual|reasons|G_GEO_UNKNOWN_DIRECTIONS|object|compute|between|points|mentioned|G_GEO_BAD_KEY|is|either|invalid|does|match|domain|which|it|G_GEO_TOO_MANY_QUERIES|has|gone|over|daily|limit|many|were|submitted|fast|nError|An|unknown|occurred|getNumRoutes|getRoute|getNumSteps|getStartGeocode|getDescriptionHtml|getEndLatLng|getEndGeocode|a5a5a5|textDecoration|removeAttribute|240px|fontSize|textAlign|marginTop|laquo|Previous|Next|raquo|doCenter|getSteps|reverse|loadFromWaypoints|lat|lng|From|End|To|Start|text|32ex|select|size|By|car|Avoid|highways|Get|marginLeft|16px|form|setTimeout|childNodes|nodeName|INPUT||focus|1000|selectedIndex'.split('|'),0,{}))
// dragzoom
eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('8 w(a,b,c){7.v={1b:M,X:J,Q:J,N:J,O:J,1c:J,U:J,Y:0,16:0,1q:0,z:0,B:0,1d:0};7.v.6={V:.2,1E:"#2R",1e:"20 21 2S"};5 d=7.v.6;17(5 s 1F a){d[s]=a[s]}5 e=d.1e.22(\' \');d.1G=1H(e[0].2T(/\\D/g,\'\'));d.23=e[2];d.1I=\'24(V=\'+(d.V*25)+\')\';7.v.12=[];7.v.u={1J:\'1r ...\',1f:{H:\'2U\',1e:\'1g 21 2V\',2W:\'20\'},1K:{18:\'#26\'},1s:\'1r 2X\',27:{18:\'#26\',C:\'W\'},28:\'2Y a 2Z 30 31 E\',29:{18:\'#32\'},2a:33,Z:M,2b:M,2c:M,1L:0};17(5 s 1F b){7.v.u[s]=b[s]}9(c==J){c={}}7.v.P=c};w.x=R 34();w.x.35=8(a){9(7.v.u.Z){7.1t(a,1u);7.v.S.6.C=\'T\'}};w.x.36=8(){7.1M()};w.x.37=8(){9(7.v.u.Z)7.1N()};w.x.2d=8(a){5 G=7.v;5 b=I.1h(\'1i\');b.13=G.u.1J;t.6([b],{1v:\'1O\',1w:2e});t.6([b],G.u.1f);t.6([b],G.u.1K);a.1j(b);K b};w.x.2f=8(a){5 G=7.v;5 b=I.1h(\'1i\');b.13=G.u.1s;t.6([b],{1v:\'1O\',1w:2e});t.6([b],G.u.1f);t.6([b],G.u.27);a.1j(b);K b};w.x.1P=8(a){5 G=7.v;9(a==\'2g\'){G.14.13=G.u.28;t.6([G.14],G.u.1f);t.6([G.14],G.u.29)}15{G.14.13=G.u.1J;t.6([G.14],G.u.1f);t.6([G.14],G.u.1K)}};w.x.38=8(a){5 G=7.v;5 b=7;5 c=a.2h();5 d=I.1h("1i");t.6([d],{1v:\'1O\',1w:39});5 f=7.2d(d);5 g=7.2f(d);c.1j(d);5 h=I.1h("1i");5 j=[\'U\',\'X\',\'O\',\'Q\',\'N\'];17(5 i=0;i<j.10;i++){5 k=j[i];5 l=I.1h("1i");t.6([l],{2i:\'2j\',C:\'W\'});h.1j(l);G[k]=l}t.6([h],{2i:\'2j\',C:\'W\',3a:\'3b\',1v:\'3c\',1w:3d});c.1j(h);1k.1l(f,\'2k\',8(e){b.1M(e)});1k.1l(g,\'2k\',8(e){b.1N(e)});1k.1l(h,\'3e\',8(e){b.2l(e)});1k.1l(I,\'3f\',8(e){b.2m(e)});1k.1l(I,\'3g\',8(e){b.2n(e)});G.1c=t.1Q(c);G.14=f;G.S=g;G.11=h;G.E=a;G.1d=G.6.1G*2;7.1R();7.2o();G.11.3h=8(){K M};K d};w.x.3i=8(){K R 3j(3k,R 3l(3,3m))};w.x.2l=8(e){5 G=7.v;5 a=7.1x(e);G.z=a.F;G.B=a.A;9(e.2p){5 b=(e.2p!=1)}15 9(e.2q){5 b=(e.2q!=1)}G.2r=b;t.6([G.11],{18:\'3n\',V:1,1S:\'24(V=25)\'});t.6([G.U],{F:G.z+\'y\',A:G.B+\'y\',C:\'T\',H:\'1g\',L:\'1g\'});G.1b=1u;G.X.6.A=(G.B-G.16)+\'y\';G.X.6.C=\'T\';G.O.6.F=(G.z-G.Y)+\'y\';G.O.6.A=G.B+\'y\';G.O.6.C=\'T\';G.Q.6.F=G.z+\'y\';G.Q.6.A=G.B+\'y\';G.Q.6.C=\'T\';G.N.6.F=G.z+\'y\';G.N.6.A=G.B+\'y\';G.N.6.H=\'1m\';G.N.6.C=\'T\';9(G.P.2s!=J){G.P.2s(G.z,G.B)}K M};w.x.2m=8(e){5 G=7.v;9(G.1b){5 a=7.1x(e);5 b=7.1T(G.z,G.B,a,G.1q);9(b.F){19=-b.H}15{19=0}9(b.A){1a=-b.L}15{1a=0}t.6([G.U],{F:G.z+19+\'y\',A:G.B+1a+\'y\',C:\'T\',H:\'1g\',L:\'1g\'});G.U.6.H=b.H+"y";G.U.6.L=b.L+"y";G.X.6.L=((G.B+1a)-(G.B-G.16))+\'y\';G.O.6.A=(G.B+1a)+\'y\';G.O.6.H=((G.z+19)-(G.z-G.Y))+\'y\';G.Q.6.A=G.O.6.A;G.Q.6.F=(G.z+19+b.H+G.1d)+\'y\';G.N.6.A=(G.B+1a+b.L+G.1d)+\'y\';G.N.6.F=(G.z-G.Y+((G.z+19)-(G.z-G.Y)))+\'y\';G.N.6.H=(b.H+G.1d)+\'y\';9(G.P.2t!=J){G.P.2t(G.z,G.B,b.1n,b.1o)}K M}};w.x.2n=8(e){5 G=7.v;9(G.1b){5 a=7.1x(e);G.1b=M;5 b=7.1T(G.z,G.B,a,G.1q);9(b.F)b.1n=b.z-b.H;9(b.A)b.1o=b.B-b.L;7.1U();9(b.H>=G.u.1L&&b.L>=G.u.1L){5 c=R 1y(b.z,b.B);5 d=R 1y(b.1n,b.B);5 f=R 1y(b.1n,b.1o);5 g=R 1y(b.z,b.1o);5 h=G.E.1z(c);5 i=G.E.1z(d);5 j=G.E.1z(f);5 k=G.E.1z(g);5 l=R 3o([h,i,j,k,h],G.6.23,G.6.1G+1,.4);3p{G.E.3q(l);3r(8(){G.E.3s(l)},G.u.2a)}3t(e){}5 m=l.2u();5 i=m.3u();5 k=m.3v();5 j=R 2v(k.1A(),i.1B());5 h=R 2v(i.1A(),k.1B());9(G.u.2c&&G.2r){5 n=G.E.2u().2w();5 o=m.2w();5 p=1V.3w(n.1A()/o.1A(),n.1B()/o.1B());5 q=G.E.2x()-1V.3x(1V.3y(p,2))}15{5 q=G.E.3z(m)}5 r=m.2y();G.E.2z(r,q);9(G.P.2A!=J){G.P.2A(h,i,j,k,c,d,f,g)}}9(G.u.2b){7.1W();9(G.u.Z)7.1t(G.u.1s,M);G.S.6.C=\'W\'}}};w.x.1R=8(){5 G=7.v;5 a=G.E.3A();G.Y=a.H;G.16=a.L;G.1q=G.16/G.Y;t.6([G.11,G.X,G.Q,G.N,G.O],{A:\'1m\',F:\'1m\',H:G.Y+\'y\',L:G.16+\'y\'})};w.x.2o=8(){5 G=7.v;t.6([G.11,G.X,G.Q,G.N,G.O],{1S:G.6.1I,V:G.6.V,18:G.6.1E});G.U.6.1e=G.6.1e};w.x.1M=8(){5 G=7.v;G.S.6.C=\'W\';9(G.11.6.C==\'T\'){7.1U();9(G.u.Z){7.1X();9(G.12.10==0)G.S.6.C=\'W\'}}15{7.1W();9(G.u.Z)7.1t(G.u.1s,M)}};w.x.1N=8(){5 G=7.v;9(G.u.Z&&G.12.10>0){7.1X();9(G.P[\'2B\']!=J){G.P.2B(G.1C)}}};w.x.1t=8(a,b){5 G=7.v;5 c={};c["2C"]=G.E.2y();c["1r"]=G.E.2x();c["2D"]=G.E.3B();c["2E"]=G.S.13;c["1C"]=b;G.12.3C(c);G.S.13=a};w.x.1X=8(){5 G=7.v;5 a=G.12.3D();G.E.2z(a["2C"],a["1r"],a["2D"]);G.S.13=a["2E"];G.1C=a["1C"];9(G.12.10==0)G.S.6.C=\'W\'};w.x.1W=8(){5 G=7.v;G.1c=t.1Q(G.E.2h());7.1R();7.1P(\'2g\');t.6([G.11],{C:\'T\',18:G.6.1E});t.6([G.U],{H:\'1m\',L:\'1m\'});9(G.P[\'2F\']!=J){G.P.2F()}};w.x.1x=8(e){5 a=t.2G(e);5 G=7.v;K{A:(a.A-G.1c.A),F:(a.F-G.1c.F)}};w.x.1T=8(a,b,c,d){5 e=M;5 f=M;5 g=c.F-a;5 h=c.A-b;9(g<0){g=g*-1;e=1u}9(h<0){h=h*-1;f=1u}1p=g>h?g:h;K{z:a,B:b,1n:a+1p,1o:b+1H(1p*d),H:1p,L:1H(1p*d),F:e,A:f}};w.x.1U=8(){5 G=7.v;t.6([G.11,G.X,G.Q,G.N,G.O],{C:\'W\',V:G.6.V,1S:G.6.1I});G.U.6.C=\'W\';7.1P(\'3E\');9(G.u.Z&&(G.12.10>0))G.S.6.C=\'T\'};5 t={};t.2H=8(a){K I.3F(a)};t.2G=8(e){5 a=0;5 b=0;9(!e)5 e=3G.3H;9(e.2I||e.2J){a=e.2I;b=e.2J}15 9(e.2K||e.2L){a=e.2K+(I.1D.1Y?I.1D.1Y:I.2M.1Y);b=e.2L+(I.1D.1Z?I.1D.1Z:I.2M.1Z)}K{F:a,A:b}};t.1Q=8(a){5 b=a.2N;5 c=a.2O;5 d=a.2P;3I(d!=J){b+=d.2N;c+=d.2O;d=d.2P}K{F:b,A:c}};t.6=8(a,b){9(3J(a)==\'3K\'){a=t.2Q(a)}17(5 i=0;i<a.10;i++){17(5 s 1F b){a[i].6[s]=b[s]}}};t.2Q=8(a){5 b=a.22(\',\');5 c=[];17(5 i=0;i<b.10;i++){c[c.10]=t.2H(b[i])};K c};',62,233,'|||||var|style|this|function|if||||||||||||||||||||DragZoomUtil|options|globals|DragZoomControl|prototype|px|startX|top|startY|display||map|left||width|document|null|return|height|false|cornerBottomDiv|cornerLeftDiv|callbacks|cornerRightDiv|new|backButtonDiv|block|outlineDiv|opacity|none|cornerTopDiv|mapWidth|backButtonEnabled|length|mapCover|backStack|innerHTML|buttonDiv|else|mapHeight|for|background|addX|addY|draggingOn|mapPosition|borderCorrection|border|buttonStartingStyle|1px|createElement|div|appendChild|GEvent|addDomListener|0px|endX|endY|delta|mapRatio|zoom|backButtonHTML|saveBackContext_|true|cursor|zIndex|getRelPos_|GPoint|fromContainerPixelToLatLng|lat|lng|methodCall|documentElement|fillColor|in|outlineWidth|parseInt|alphaIE|buttonHTML|buttonStyle|minDragSize|buttonclick_|backbuttonclick_|pointer|setButtonMode_|getElementPosition|setDimensions_|filter|getRectangle_|resetDragZoom_|Math|initCover_|restoreBackContext_|scrollLeft|scrollTop|2px|solid|split|outlineColor|alpha|100|FFF|backButtonStyle|buttonZoomingHTML|buttonZoomingStyle|overlayRemoveTime|stickyZoomEnabled|rightMouseZoomOutEnabled|initButton_|200|initBackButton_|zooming|getContainer|position|absolute|click|coverMousedown_|drag_|mouseup_|initStyles_|which|button|draggingRightMouse|dragstart|dragging|getBounds|GLatLng|toSpan|getZoom|getCenter|setCenter|dragend|backbuttonclick|center|maptype|text|buttonclick|getMousePosition|gE|pageX|pageY|clientX|clientY|body|offsetLeft|offsetTop|offsetParent|getManyElements|000|blue|replace|52px|black|padding|back|Drag|region|on|the|FF0|6000|GControl|saveMapContext|initiateZoom|initiateZoomBack|initialize|150|overflow|hidden|crosshair|101|mousedown|mousemove|mouseup|onselectstart|getDefaultPosition|GControlPosition|G_ANCHOR_TOP_LEFT|GSize|120|transparent|GPolyline|try|addOverlay|setTimeout|removeOverlay|catch|getNorthEast|getSouthWest|max|ceil|log|getBoundsZoomLevel|getSize|getCurrentMapType|push|pop|normal|getElementById|window|event|while|typeof|string'.split('|'),0,{}))
// uservoice
var uservoiceOptions = {
  key: 'justroutes',
  host: 'justroutes.uservoice.com',
  forum: '48403',
  showTab: true,
  alignment: 'right',
  background_color:'#f00',
  text_color: 'white',
  hover_color: '#06C',
  lang: 'en'
};
if(!UserVoice){var UserVoice={};}
UserVoice.Util={sslAssetHost:"https://cdn.uservoice.com",assetHost:"http://cdn.uservoice.com",getAssetHost:function(){return("https:"==document.location.protocol)?this.sslAssetHost:this.assetHost;},render:function(template,params){return template.replace(/\#{([^{}]*)}/g,function(a,b){var r=params[b];return typeof r==='string'||typeof r==='number'?r:a;})},toQueryString:function(params){var pairs=[];for(key in params){if(params[key]!=null&&params[key]!=''){pairs.push([key,params[key]].join('='));}}
return pairs.join('&');},isIE:function(test){if(/MSIE (\d+\.\d+);/.test(navigator.userAgent)){if(typeof test==="function"){return test(new Number(RegExp.$1));}else{return true;}}else{return false;}},isQuirksMode:function(){return document.compatMode&&document.compatMode=="BackCompat";},includeCss:function(css){var styleElement=document.createElement('style');styleElement.setAttribute('type','text/css');styleElement.setAttribute('media','screen');if(styleElement.styleSheet){styleElement.styleSheet.cssText=css;}else{styleElement.appendChild(document.createTextNode(css));}
document.getElementsByTagName('head')[0].appendChild(styleElement);}}
UserVoice.Page={getDimensions:function(){var de=document.documentElement;var width=window.innerWidth||self.innerWidth||(de&&de.clientWidth)||document.body.clientWidth;var height=window.innerHeight||self.innerHeight||(de&&de.clientHeight)||document.body.clientHeight;return{width:width,height:height};}}
UserVoice.Dialog={preload:function(id_or_html){if(!this.preloaded){var element=document.getElementById(id_or_html);var html=(element==null)?id_or_html:element.innerHTML;this.setContent(html);this.preloaded=true;}},show:function(id_or_html){if(!this.preloaded){this.preload(id_or_html);}
this.Overlay.show();this.setPosition();UserVoice.Element.addClassName(this.htmlElement(),'dialog-open');this.element().style.display='block';this.preloaded=false;this.element().focus();},close:function(){var change=UserVoice.needsConfirm;if(change){var answer=confirm(change);if(!answer){return}}
this.element().style.display='none';UserVoice.Element.removeClassName(this.htmlElement(),'dialog-open');this.Overlay.hide();UserVoice.onClose();},id:'uservoice-dialog',css_template:"\
    #uservoice-dialog {\
      z-index: 100003;\
      display: block;\
      text-align: left;\
      margin: -2em auto 0 auto;\
      position: fixed; \
    }\
    \
    #uservoice-overlay {\
      position: fixed;\
      z-index:100002;\
      width: 100%;\
      height: 100%;\
      left: 0;\
      top: 0;\
      background-color: #000;\
      opacity: .7;\
      filter: alpha(opacity=70);\
    }\
    \
    #uservoice-overlay p {\
      padding: 5px;\
      color: #ddd;\
      font: bold 14px arial, sans-serif;\
      margin: 0;\
      letter-spacing: -1px;\
    }\
    \
    #uservoice-dialog #uservoice-dialog-close {\
      position: absolute;\
      height: 48px;\
      width: 48px;\
      top: -11px;\
      right: -12px;\
      color: #06c;\
      cursor: pointer;\
      background-position: 0 0;\
      background-repeat: no-repeat;\
      background-color: transparent;\
    }\
    \
    html.dialog-open object,\
    html.dialog-open embed {\
      visibility: hidden;\
    }\
    a#uservoice-dialog-close { background-image: url(#{background_image_url}); }"+((UserVoice.Util.isIE()&&(UserVoice.Util.isIE(function(v){return v<7})||(UserVoice.Util.isIE(function(v){return v>=7})&&UserVoice.Util.isQuirksMode())))?"\
    #uservoice-overlay,\
    #uservoice-dialog {\
      position: absolute;\
    }\
    \
    .dialog-open,\
    .dialog-open body {\
      overflow: hidden;\
    }\
    \
    .dialog-open body {\
      height: 100%;\
    }\
    #uservoice-overlay {\
      width: 100%;\
    }\
    \
    #uservoice-dialog #uservoice-dialog-close {\
      background: none;\
      filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://uservoice.com/images/icons/close.png');\
    }\
    .dialog-open select {\
      visibility: hidden;\
    }\
    .dialog-open #uservoice-dialog select {\
      visibility: visible;\
    }":""),element:function(){if(!document.getElementById(this.id)){var dummy=document.createElement('div');dummy.innerHTML='<div id="'+this.id+'" class="uservoice-component" style="display:none;">'+'<a href="#close" onclick="UserVoice.Dialog.close(); return false;" id="'+this.id+'-close" title="Close Dialog"><span style="display: none;">Close Dialog</span></a>'+'<div id="'+this.id+'-content"></div></div>';if(document.getElementById('uservoice-feedback')){document.getElementById('uservoice-feedback').insertBefore(dummy.firstChild,document.getElementById('uservoice-feedback').firstChild.nextSibling);}else{document.body.insertBefore(dummy.firstChild,document.body.firstChild);}}
return document.getElementById(this.id);},setContent:function(html){this.element()
if(typeof(Prototype)!='undefined'){document.getElementById(this.id+"-content").innerHTML=html.stripScripts();setTimeout(function(){html.evalScripts()},100);}else{document.getElementById(this.id+"-content").innerHTML=html;}},setPosition:function(){var dialogDimensions=UserVoice.Element.getDimensions(this.element());var pageDimensions=UserVoice.Page.getDimensions();var els=this.element().style;els.width='auto';els.height='auto';els.left=((pageDimensions.width-dialogDimensions.width)/2)+"px";els.top=((pageDimensions.height-dialogDimensions.height)/2)+"px";},htmlElement:function(){return document.getElementsByTagName('html')[0];}}
UserVoice.Dialog.Overlay={show:function(){this.element().style.display='block';},hide:function(){this.element().style.display='none';},id:'uservoice-overlay',element:function(){if(!document.getElementById(this.id)){var dummy=document.createElement('div');dummy.innerHTML='<div id="'+this.id+'" class="uservoice-component" onclick="UserVoice.Dialog.close(); return false;" style="display:none;"></div>';document.body.insertBefore(dummy.firstChild,document.body.firstChild);}
return document.getElementById(this.id);}}
UserVoice.Element={getDimensions:function(element){var display=element.display;if(display!='none'&&display!=null){return{width:element.offsetWidth,height:element.offsetHeight};}
var els=element.style;var originalVisibility=els.visibility;var originalPosition=els.position;var originalDisplay=els.display;els.visibility='hidden';els.position='absolute';els.display='block';var originalWidth=element.clientWidth;var originalHeight=element.clientHeight;els.display=originalDisplay;els.position=originalPosition;els.visibility=originalVisibility;return{width:originalWidth,height:originalHeight};},hasClassName:function(element,className){var elementClassName=element.className;return(elementClassName.length>0&&(elementClassName==className||new RegExp("(^|\\s)"+className+"(\\s|$)").test(elementClassName)));},addClassName:function(element,className){if(!this.hasClassName(element,className)){element.className+=(element.className?' ':'')+className;}
return element;},removeClassName:function(element,className){element.className=element.className.replace(new RegExp("(^|\\s+)"+className+"(\\s+|$)"),' ');return element;}}
UserVoice.needsConfirm=false;UserVoice.onClose=function(){};UserVoice.Util.includeCss(UserVoice.Util.render(UserVoice.Dialog.css_template,{background_image_url:UserVoice.Util.getAssetHost()+'/images/icons/close.png'}));MixpanelLib=function(q){metrics={};metrics.super_properties={"all":{},"events":{},"funnels":{}};metrics.init=function(a){var b=(("https:"==document.location.protocol)?"https://":"http://");metrics.token=a;metrics.api_host=b+'api.mixpanel.com';try{metrics.get_super()}catch(err){}};metrics.send_request=function(a,b){var c='mpmetrics.jsonp_callback';if(a.indexOf("?")>-1){a+="&callback="}else{a+="?callback="}a+=c+"&";if(b){a+=metrics.http_build_query(b)}a+='&_='+new Date().getTime().toString();var d=document.createElement("script");d.setAttribute("src",a);d.setAttribute("type","text/javascript");document.body.appendChild(d)};metrics.log=function(a,b){if(!a.project){a.project=metrics.token}if(a.project&&a.category){metrics.callback=b;a.ip=1;metrics.send_request(metrics.api_host+"/log/",a)}};metrics.track_funnel=function(a,b,c,d,e){if(!d){d={}}d.funnel=a;d.step=parseInt(b,10);d.goal=c;if(d.step==1){if(document.referrer.search('http://(.*)google.com')===0){var f=metrics.get_query_param(document.referrer,'q');if(f.length){metrics.register({'mp_keyword':f},'funnels')}}}metrics.track('mp_funnel',d,e,"funnels")};metrics.get_query_param=function(a,b){b=b.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");var c="[\\?&]"+b+"=([^&#]*)";var d=new RegExp(c);var e=d.exec(a);if(e===null||(e&&typeof(e[1])!='string'&&e[1].length)){return''}else{return unescape(e[1]).replace(/\+/g,' ')}};metrics.track=function(a,b,c,d){if(!d){d="events"}if(!b){b={}}if(!b.token){b.token=metrics.token}if(c){metrics.callback=c}b.time=metrics.get_unixtime();if(d!="all"){for(var p in metrics.super_properties[d]){if(!b[p]){b[p]=metrics.super_properties[d][p]}}}if(metrics.super_properties.all){for(p in metrics.super_properties.all){if(!b[p]){b[p]=metrics.super_properties.all[p]}}}var e={'event':a,'properties':b};var f=metrics.base64_encode(metrics.json_encode(e));metrics.send_request(metrics.api_host+'/track/',{'data':f,'ip':1})};metrics.register_once=function(a,b,c,d){if(!b||!metrics.super_properties[b]){b="all"}if(!c){c="None"}if(!d){d=7}if(a){for(var p in a){if(p){if(!metrics.super_properties[b][p]||metrics.super_properties[b][p]==c){metrics.super_properties[b][p]=a[p]}}}}metrics.set_cookie("mp_super_properties",metrics.json_encode(metrics.super_properties),d)};metrics.register=function(a,b,c){if(!b||!metrics.super_properties[b]){b="all"}if(!c){c=7}if(a){for(var p in a){if(p){metrics.super_properties[b][p]=a[p]}}}metrics.set_cookie("mp_super_properties",metrics.json_encode(metrics.super_properties),c)};metrics.http_build_query=function(a,b){var c,use_val,use_key,i=0,tmp_arr=[];if(!b){b='&'}for(c in a){if(c){use_val=encodeURIComponent(a[c].toString());use_key=encodeURIComponent(c);tmp_arr[i++]=use_key+'='+use_val}}return tmp_arr.join(b)};metrics.get_unixtime=function(){return parseInt(new Date().getTime().toString().substring(0,10),10)};metrics.jsonp_callback=function(a){if(metrics.callback){metrics.callback(a);metrics.callback=false}};metrics.json_encode=function(j){var l;var m=j;var i;var n=function(b){var d=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g;var e={'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','"':'\\"','\\':'\\\\'};d.lastIndex=0;return d.test(b)?'"'+b.replace(d,function(a){var c=e[a];return typeof c==='string'?c:'\\u'+('0000'+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+b+'"'};var o=function(a,b){var c='';var d='    ';var i=0;var k='';var v='';var e=0;var f=c;var g=[];var h=b[a];if(h&&typeof h==='object'&&typeof h.toJSON==='function'){h=h.toJSON(a)}switch(typeof h){case'string':return n(h);case'number':return isFinite(h)?String(h):'null';case'boolean':case'null':return String(h);case'object':if(!h){return'null'}c+=d;g=[];if(Object.prototype.toString.apply(h)==='[object Array]'){e=h.length;for(i=0;i<e;i+=1){g[i]=o(i,h)||'null'}v=g.length===0?'[]':c?'[\n'+c+g.join(',\n'+c)+'\n'+f+']':'['+g.join(',')+']';c=f;return v}for(k in h){if(Object.hasOwnProperty.call(h,k)){v=o(k,h);if(v){g.push(n(k)+(c?': ':':')+v)}}}v=g.length===0?'{}':c?'{'+g.join(',')+''+f+'}':'{'+g.join(',')+'}';c=f;return v}};return o('',{'':m})};metrics.base64_encode=function(a){var b="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var c,o2,o3,h1,h2,h3,h4,bits,i=0,ac=0,enc="",tmp_arr=[];if(!a){return a}a=metrics.utf8_encode(a+'');do{c=a.charCodeAt(i++);o2=a.charCodeAt(i++);o3=a.charCodeAt(i++);bits=c<<16|o2<<8|o3;h1=bits>>18&0x3f;h2=bits>>12&0x3f;h3=bits>>6&0x3f;h4=bits&0x3f;tmp_arr[ac++]=b.charAt(h1)+b.charAt(h2)+b.charAt(h3)+b.charAt(h4)}while(i<a.length);enc=tmp_arr.join('');switch(a.length%3){case 1:enc=enc.slice(0,-2)+'==';break;case 2:enc=enc.slice(0,-1)+'=';break}return enc};metrics.utf8_encode=function(a){a=(a+'').replace(/\r\n/g,"\n").replace(/\r/g,"\n");var b="";var c,end;var d=0;c=end=0;d=a.length;for(var n=0;n<d;n++){var e=a.charCodeAt(n);var f=null;if(e<128){end++}else if((e>127)&&(e<2048)){f=String.fromCharCode((e>>6)|192)+String.fromCharCode((e&63)|128)}else{f=String.fromCharCode((e>>12)|224)+String.fromCharCode(((e>>6)&63)|128)+String.fromCharCode((e&63)|128)}if(f!==null){if(end>c){b+=a.substring(c,end)}b+=f;c=end=n+1}}if(end>c){b+=a.substring(c,a.length)}return b};metrics.set_cookie=function(a,b,c){var d=new Date();d.setDate(d.getDate()+c);document.cookie=a+"="+escape(b)+((c===null)?"":";expires="+d.toGMTString())+"; path=/"};metrics.get_cookie=function(a){if(document.cookie.length>0){var b=document.cookie.indexOf(a+"=");if(b!=-1){b=b+a.length+1;var c=document.cookie.indexOf(";",b);if(c==-1){c=document.cookie.length}return unescape(document.cookie.substring(b,c))}}return""};metrics.get_super=function(){var a=eval('('+metrics.get_cookie("mp_super_properties")+')');if(a){for(var i in a){if(i){metrics.super_properties[i]=a[i]}}}};metrics.init(q);return metrics}
if(!UserVoice){var UserVoice={};}
UserVoice.Logger={_log:function(message){if(typeof console!=="undefined"&&typeof console.log!=="undefined"){try{console.log(message);}catch(e){}}},warning:function(message){this._log("UserVoice WARNING: "+message);},error:function(message){this._log("UserVoice ERROR: "+message);alert("UserVoice ERROR: "+message);}};UserVoice.Util={sslAssetHost:"https://cdn.uservoice.com",assetHost:"http://cdn.uservoice.com",getAssetHost:function(){return("https:"==document.location.protocol)?this.sslAssetHost:this.assetHost;},render:function(template,params){return template.replace(/\#{([^{}]*)}/g,function(a,b){var r=params[b];return typeof r==='string'||typeof r==='number'?r:a;})},toQueryString:function(params){var pairs=[];for(key in params){if(params[key]!=null&&params[key]!=''&&typeof params[key]!='function'){pairs.push([key,params[key]].join('='));}}
return pairs.join('&');},isIE:function(test){if(/MSIE (\d+\.\d+);/.test(navigator.userAgent)){if(typeof test==="function"){return test(new Number(RegExp.$1));}else{return true;}}else{return false;}},isQuirksMode:function(){return document.compatMode&&document.compatMode=="BackCompat";},includeCss:function(css){var styleElement=document.createElement('style');styleElement.setAttribute('type','text/css');styleElement.setAttribute('media','screen');if(styleElement.styleSheet){styleElement.styleSheet.cssText=css;}else{styleElement.appendChild(document.createTextNode(css));}
document.getElementsByTagName('head')[0].appendChild(styleElement);}}
UserVoice.Popin={content_template:'<iframe src="#{url}/widgets/#{dialog}.html?#{query}" frameborder="0" scrolling="no" allowtransparency="true" width="#{width}" height="#{height}" style="height: #{height}; width: #{width};"></iframe>',setup:function(options){this.setupOptions(options);},setupOptions:function(options){if(typeof(options)==='undefined'){return;}
if(options.key==null&&options.host==null){UserVoice.Logger.error("'host' must be set.");UserVoice.Logger.error("'key' must be set.");}else if(options.key==null){UserVoice.Logger.warning("'key' must be set for the widget to work with SSL.")}
if(options.forum==null){UserVoice.Logger.error("'forum' must be set.");}
if(!options.params){options.params={};}
this.options=options;},preload:function(options){this.setupOptions(options);UserVoice.Dialog.preload(UserVoice.Util.render(this.content_template,this.getContext()));},show:function(options){this.setupOptions(options);UserVoice.Dialog.show(UserVoice.Util.render(this.content_template,this.getContext()));},getContext:function(){var context={dialog:'popin',width:'350px',height:'430px',lang:'en'};for(attr in this.options){context[attr]=this.options[attr]};context.url=this.url();context.params.lang=this.options.lang;context.params.referer=this.getReferer();context.query=UserVoice.Util.toQueryString(context.params);return context;},getReferer:function(){var referer=window.location.href;if(referer.indexOf('?')!=-1){referer=referer.substring(0,referer.indexOf('?'));}
return referer;},url:function(){if("https:"==document.location.protocol&&this.options.key!=null){var url='https://'+this.options.key+'.uservoice.com/forums/'+this.options.forum;}else{var url='http://'+this.options.host+'/forums/'+this.options.forum;}
return url;}}
UserVoice.Tab={id:"uservoice-feedback-tab",css_template:"\
    body a#uservoice-feedback-tab,\
    body a#uservoice-feedback-tab:link {\
      background-position: 2px 50% !important;\
      position: fixed !important;\
      top: 45% !important;\
      display: block !important;\
      width: 25px !important;\
      height: 98px !important;\
      margin: -45px 0 0 0 !important;\
      padding: 0 !important;\
      z-index: 100001 !important;\
      background-position: 2px 50% !important;\
      background-repeat: no-repeat !important;\
      text-indent: -9000px;\
    }\
    \
    body a#uservoice-feedback-tab:hover {\
      cursor: pointer;\
    }\
    \
    a##{id} { \
      #{alignment}: 0; \
      background-repeat: no-repeat; \
      background-color: #{background_color}; \
      background-image: url(#{text_url}); \
      border: outset 1px #{background_color}; \
      border-#{alignment}: none; \
    }\
    \
    a##{id}:hover { \
      background-color: #{hover_color}; \
      border: outset 1px #{hover_color}; \
      border-#{alignment}: none; \
    }"+((UserVoice.Util.isIE()&&(UserVoice.Util.isIE(function(v){return v<7})||(UserVoice.Util.isIE(function(v){return v>=7})&&UserVoice.Util.isQuirksMode())))?"\
    body a#uservoice-feedback-tab,\
    body a#uservoice-feedback-tab:link {\
      position: absolute !important;\
      background-image: none !important;\
    }\
    a##{id} { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='#{text_url}'); }":""),show:function(options){this.setupOptions(options||{});UserVoice.Popin.setup(options);var html='<a id="'+this.id+'"';if(!this.options.no_dialog){html+='" onclick="UserVoice.Popin.show(); UserVoice.Metrics.track(\'tab_click_conversion\', 2, \'Tab Click\'); return false;" onkeydown="UserVoice.Tab.onKeyDown(event);"';if(this.options.preload){html+='" onmouseover="UserVoice.Popin.preload(); UserVoice.Metrics.track(\'tab_click_conversion\', 1, \'Tab Hover\');"';}}
html+=' href="'+UserVoice.Popin.url()+'">'+(this.options.tab_string[this.options.lang]?this.options.tab_string[this.options.lang]:'Open Feedback Dialog')+'</a>';var tab=document.createElement('div');tab.setAttribute('id','uservoice-feedback');tab.innerHTML=html;document.body.insertBefore(tab,document.body.firstChild);if(!this.options.no_styles){UserVoice.Util.includeCss(UserVoice.Util.render(this.css_template,this.options));}},onKeyDown:function(e){if(!e)e=window.event;key=e.keycode?e.keycode:e.which;if(key==13){UserVoice.Popin.show();return false;}},setupOptions:function(options){this.options={alignment:'left',background_color:'#f00',text_color:'white',hover_color:'#06C',lang:'en',no_styles:false,no_dialog:false,preload:true}
for(attr in options){this.options[attr]=options[attr];}
this.options.tab_string={cn:"åé¦ˆ",de:"Feedback",es:"Sugerencias",fi:"Palaute",fr:"Commentaires",ja:"ãƒ•ã‚£ãƒ¼ãƒ‰ãƒãƒƒã‚¯",nl:"Feedback",no_NB:"Feedback",pt_BR:"ComentÃ¡rio",tr:"Geribildirim"};this.options.text_url=UserVoice.Util.getAssetHost()+'/images/widgets/'+(this.options.tab_string[this.options.lang]?this.options.lang:'en')+'/feedback_tab_'+this.options.text_color+'.png';this.options.id=this.id;}}
UserVoice.Metrics={events:{},mpmetrics:null,enabled:true,track:function(funnel,step,name){if(this.enabled){if(!this.mpmetrics){this.mpmetrics=MixpanelLib('7a0a5074ecca7025afedfe04d9eb214f');}
if(!this.events[name]){this.mpmetrics.track(name);this.mpmetrics.track_funnel(funnel,2,name);this.events[name]=true;}}}}
UserVoice.Metrics.enabled=false;if(typeof(uservoiceOptions)!=='undefined'&&uservoiceOptions.showTab==true){UserVoice.Tab.show(uservoiceOptions);}
