/* Merged Plone Javascript file
 * This file is dynamically assembled from separate parts.
 * Some of these parts have 3rd party licenses or copyright information attached
 * Such information is valid for that section,
 * not for the entire composite file
 * originating files are separated by - filename.js -
 */

/* - maps-config.js - */
// http://www.cefla.com/ca/portal_javascripts/maps-config.js?original=1
var mapsConfig={google:{apikey:'ABQIAAAANki66E2uOvMFgtGtilUK4RRIFvFNij8S1VVZQQAGIdd997mmGxQrNKDBU47prMkYG1pE8DEE-zwfTA',ajaxsearchkey:'ABQIAAAANki66E2uOvMFgtGtilUK4RRIFvFNij8S1VVZQQAGIdd997mmGxQrNKDBU47prMkYG1pE8DEE-zwfTA',maxinfowidth:400,locationnotfound:'The location \'[LOCATION]\' couldn\'t be found.',selectablemaptypes:true,defaultmaptype:'normal',maxzoomlevel:13,initialzoomlevel:12,markericons:[{'infoShadowAnchor':[18,25],'name':'Red Marker','iconSize':[20,34],'iconAnchor':[9,34],'infoWindowAnchor':[9,2],'shadow':'http://www.cefla.com/ca/shadow50.png','shadowSize':[37,34],'icon':'http://www.cefla.com/ca/marker-cefla2.png'},{'infoShadowAnchor':[18,25],'name':'Grey Marker','iconSize':[20,34],'iconAnchor':[9,34],'infoWindowAnchor':[9,2],'shadow':'http://www.cefla.com/ca/shadow50.png','shadowSize':[37,34],'icon':'http://www.cefla.com/ca/marker-cefla.png'},{'infoShadowAnchor':[18,25],'name':'_YAH','iconSize':[20,34],'iconAnchor':[9,34],'infoWindowAnchor':[9,2],'shadow':'http://www.cefla.com/ca/shadow50.png','shadowSize':[37,34],'icon':'http://www.cefla.com/ca/marker-you-are-here.png'}],label_search_near_to:'Search near to ...',label_search:'Search',label_advanced_search:'Advanced',label_my_position:'My position',label_max_results:'Max results',label_places:'Places',label_directions:'Directions',label_distance_from:'Places near to',label_results:'Results',label_error_position_not_found:'Position not found!',label_error_directions_not_found:'Directions not found'}};

/* - maps-googlemaps.js - */
// http://www.cefla.com/ca/portal_javascripts/maps-googlemaps.js?original=1
var mapsGoogleMaps=(function($){var _24=mapsConfig;var _0=_24.google;var _4=cssQuery;var _2=function(x){return parseInt(x,10)};var _7=parseFloat;var _3=null;var _1=null;var _5=null;var _9=null;function _13(){
function L(lo,la){this._26=lo;this._25=la}L.prototype=new GControl();L.prototype._19=function(co,la){var c=document.createElement("input");var lo=this._26;var layers=this._25.enabled;c.type="checkbox";c.defaultChecked=true;c.onclick=function(e){var i,n;layers[la]=c.checked;for(i=0;i<lo.length;i++){var l=lo[i];var m=l.marker;var v=false;if(typeof l.layers==='undefined'){v=true}else{for(n in l.layers){if(layers[n]===true){v=true;break}}}if(v){m.show()}else{m.hide()}}};var l=document.createElement("label");l.style.display="block";l.appendChild(c);l.appendChild(document.createTextNode(la));co.appendChild(l)};L.prototype.initialize=function(m){var n;var c=document.createElement("div");var la=this._25.enabled;for(n in la){if(la[n]){this._19(c,n)}}c.style.backgroundColor="white";c.style.border="1px solid black";c.style.padding="2px";c.style.fontSize="90%";m.getContainer().appendChild(c);return c};L.prototype.getDefaultPosition=function(){return new GControlPosition(G_ANCHOR_BOTTOM_RIGHT,new GSize(7,16))};return L}function _23(de){var j,d,i;if(_3===null){_3={};for(j=0;j<de.markericons.length;j++){d=de.markericons[j];i=new GIcon();i.image=d.icon;i.iconSize=new GSize(_2(d.iconSize[0]),_2(d.iconSize[1]));i.iconAnchor=new GPoint(_2(d.iconAnchor[0]),_2(d.iconAnchor[1]));i.infoWindowAnchor=new GPoint(_2(d.infoWindowAnchor[0]),_2(d.infoWindowAnchor[1]));i.shadow=d.shadow;i.shadowSize=new GSize(_2(d.shadowSize[0]),_2(d.shadowSize[1]));i.infoShadowAnchor=new GPoint(_2(d.infoShadowAnchor[0]),_2(d.infoShadowAnchor[1]));_3[d.name]=i}}if(_1===null){if(de.defaultmaptype==='satellite'){_1=G_SATELLITE_MAP}else if(de.defaultmaptype==='hybrid'){_1=G_HYBRID_MAP}else if(de.defaultmaptype==='physical'){_1=G_PHYSICAL_MAP}else{_1=G_NORMAL_MAP}}}function _21(m,n){GEvent.addListener(m,"click",function(){m.openInfoWindow(n,{maxWidth:_0.maxinfowidth})})}function _15(m,t){GEvent.addListener(m,"click",function(){m.openInfoWindowTabs(t,{maxWidth:_0.maxinfowidth})})}function _8(d){var j;d.marker=new GMarker(d.point,d.icon);d.info_windows=[];for(j=0;j<d.tabs.length;j++){var t=d.tabs[j];var i=new GInfoWindowTab(t.title,t.node);d.info_windows.push(i)}if(d.info_windows.length>1){_15(d.marker,d.info_windows)}else{_21(d.marker,d.tabs[0].node)}}function _22(m){var r=[];var d,j,t,dl,k;var f=true;for(j=0;j<m.length;j++){n=m[j];if(n.nodeType!==1){continue}if(hasClassName(n,'title')){n.parentNode.removeChild(n);if(d){_8(d);r.push(d)}d={};d.tabs=[];t={};d.tabs.push(t);dl=document.createElement('dl');dl.appendChild(n);addClassName(dl,"mapsMarker");t.node=dl;f=true;var i=_4("img.marker",n);if(i.length>0){i=i[0];i.parentNode.removeChild(i);a=i.alt;i=_3[a];d.icon=i;d.type=a}continue}if(hasClassName(n,'geo')){n.parentNode.removeChild(n);var la=_4(".latitude",n);var lo=_4(".longitude",n);if(la.length>0&&lo.length>0){d.point=new GLatLng(_7(getInnerTextFast(la[0])),_7(getInnerTextFast(lo[0])))}continue}if(hasClassName(n,'tab')){n.parentNode.removeChild(n);t={};if(f){f=false;t=d.tabs[0]}else{d.tabs.push(t);dl=document.createElement('dl');addClassName(dl,"mapsMarker");t.node=dl}t.node.appendChild(n);t.title=n.title;continue}if(hasClassName(n,'layers')){n.parentNode.removeChild(n);var no=_4("li",n);d.layers={};for(k=0;k<no.length;k++){d.layers[getInnerTextFast(no[k])]=true}continue}n.parentNode.removeChild(n);d.tabs[0].node.appendChild(n)}if(d){_8(d);r.push(d)}return r}function _14(n){var l=_4("dl",n);var j,k,n=[];for(j=0;j<l.length;j++){for(k=0;k<l[j].childNodes.length;k++){n.push(l[j].childNodes[k])}l[j].parentNode.removeChild(l[j])}return _22(n)}function _12(l){var i;var b=new GLatLngBounds();for(i=0;i<l.length;i++){b.extend(l[i].point)}return b}function _18(lo){var d={names:[],counts:{},enabled_names:[],enabled:{}};var i,n,l;for(i=0;i<lo.length;i++){l=lo[i];if(l.layers){for(n in l.layers){if(d.counts[n]===null){d.counts[n]=1;d.names.push(n)}else{d.counts[n]=d.counts[n]+1}}}}for(i=0;i<d.names.length;i++){n=d.names[i];if(d.counts[n]>0){d.enabled[n]=true;d.enabled_names.push(n)}else{d.enabled[n]=false}}return d}function _10(n){var g=new GClientGeocoder();$(n).addClass('googleMapActive').wrap('<form id="googleMapForm" />');var s=(function(){var s=$('<div class="googleMapSearch"><h4 class="label_search">'+_0.label_search+'</h4><input class="googleMapImHere inputLabel" name="searchtxt" title="'+_0.label_search_near_to+'" type="text" value=""><input type="submit" value="'+_0.label_search+'" /></div>').insertBefore(n);if(navigator.geolocation){$('<br />').appendTo(s);$('<input id="googleMapAskTheBrowser" name="autogeolocation" value="ask" type="checkbox" />').appendTo(s).click(function(){var t=$(this);if(t.is(':checked')){t.prevAll('[type=text]').attr('disabled','disabled')}else{t.prevAll('[type=text]').attr('disabled','')}});$('<label for="googleMapAskTheBrowser">'+_0.label_my_position+'</label>').appendTo(s)}s.wrap('<div class="googleMapSearchWrapper" />');return s}());var a=$('<h3><div class="openclosearrow">+</div>'+_0.label_advanced_search+'</h3>').appendTo(s).click(function(){var t=$(this);t.toggleClass('open').next().slideToggle();if(t.hasClass('open')){t.find('.openclosearrow').text('-')}else{t.find('.openclosearrow').text('+')}});var a=$('<div class="googleMapAdvancedSearch" />').appendTo(s).hide();(function(){var i;var m=$('<div class="googleMapMaxLocation"><h5>'+_0.label_max_results+'</h5> <select name="maxlocations" class="googleMapSearchMaxLocations"></select></div>').appendTo(a).children('select');var mlocs=['1','5','10','20'];var def='5';var o;for(i=0;i<mlocs.length;i++){o=$('<option value="'+mlocs[i]+'">'+mlocs[i]+'</option>').appendTo(m);if(mlocs[i]===def){o.attr('selected','selected')}}}());var l=(function(){var prop;var legend=$('<div class="googleMapLegend"><h5>'+_0.label_places+'</h5></div>').appendTo(a);var i=0;for(prop in _3){if(_3.hasOwnProperty(prop)){if(prop==='_YAH'){continue}i++;$('<div class="marker"><input checked="checked" name="marker'+i.toString()+'" id="marker'+i.toString()+'" type="checkbox" value="'+prop+'" /><label for="marker'+i.toString()+'" ><img src="'+_3[prop].image+'" alt="'+prop+'"/>'+prop+'</label></div>').appendTo(legend)}}return legend}());var h=$('<div>&laquo;</div>').addClass('googleMapSearchHide').appendTo(n).click(function(){var t=$(this).toggleClass('hidden');var c=t.closest('#googleMapForm');var s=c.find('.googleMapSearchWrapper');var m=c.find('.googleMapSearchNearest');if(t.hasClass('hidden')){s.animate({marginLeft:'-500px'},'fast',function(){m.animate({width:'100%'},'fast');t.html('&raquo;')})}else{m.animate({width:'80%'},'fast',function(){s.animate({marginLeft:'0px'},'fast');t.html('&laquo;')})}});var m=$('<div />').addClass('googleMapPane').appendTo(n);var jqdirections_title=$('<div>'+_0.label_directions+': <span>place</span></div>').addClass('googleMapSearchDirsTitle').appendTo(n).hide();var jqdirections=$('<div />').addClass('googleMapSearchDirs').appendTo(n);var jqresults=$('<div />').addClass('googleMapSearchResults').appendTo(s);var l=_14(n);var la=_18(l);var b=_12(l);var c=b.getCenter();var gmap=new GMap2(m[0]);var gdir=new GDirections(gmap,jqdirections[0]);gmap.addMapType(G_PHYSICAL_MAP);gmap.addControl(new GLargeMapControl());if((la.enabled_names.length>0)&&(l.length>1)){gmap.addControl(new _9(l,la))}if(_0.selectablemaptypes){gmap.addControl(new GMapTypeControl())}var z=gmap.getBoundsZoomLevel(b);if(z>_0.maxzoomlevel){z=_0.maxzoomlevel}var _6=function(s){var _27=function(q){var value,out={};if(!q){return out}var values=q.split('&');for(var i=0;i<values.length;i++){value=values[i].split('=');out[value[0]]=value[1]}return out};var query_object=_27(s);if(!query_object['x_sw']||!query_object['y_sw']||!query_object['x_ne']||!query_object['y_ne']){return }var point_sw=new GLatLng(parseFloat(query_object['x_sw']),parseFloat(query_object['y_sw']));var point_ne=new GLatLng(parseFloat(query_object['x_ne']),parseFloat(query_object['y_ne']));var b=new GLatLngBounds(point_sw,point_ne);z=gmap.getBoundsZoomLevel(b);c=b.getCenter()};_6($('#bound_coords').text());_6(window.location.search.slice(1));gmap.setCenter(c,z,_1);GEvent.addListener(gmap,"dragend",function(){var bounds=gmap.getBounds();var sw=bounds.getSouthWest();var ne=bounds.getNorthEast();$('#bound_coords').text('x_sw='+sw.lat()+'&y_sw='+sw.lng()+'&x_ne='+ne.lat()+'&y_ne='+ne.lng())});for(i=0;i<l.length;i++){gmap.addOverlay(l[i].marker)}var load=function(center,markers,maxlocations,center_title){var i;var locations=$.grep(l,function(loc){if($.inArray(loc.type,markers)!==-1){return true}return false});$.each(locations,function(){this.distance_from_center=center.distanceFrom(this.point)});locations.sort(function(a,b){if(a.distance_from_center>b.distance_from_center){return 1}else{return-1}});var newlocations=locations.slice(0,maxlocations);var d={icon:_3['_YAH'],point:center,tabs:[{title:'Here',node:$('<dl class="mapsMarker"><dd class="title">'+center_title+'</dd><dt class="tab"></dt></dl>')[0]}]};_8(d);newlocations.unshift(d);b=_12(newlocations);var m=b.getCenter();z=gmap.getBoundsZoomLevel(b);gmap.setCenter(m,z);gmap.clearOverlays();jqresults.empty();var newlocations_len=newlocations.length;for(i=0;i<newlocations_len;i++){gmap.addOverlay(newlocations[i].marker);(function(l,index){var node=$(l.tabs[0].node);var title=node.children('.title').html()||'&nbsp;';var description=node.children('.tab').html()||'&nbsp;';var distance=l.distance_from_center&&_2(l.distance_from_center)+" m"||'';var imageurl=l.icon.image;if(index===0){$('<div class="googleMapHere"><span class="googleMapHereImg"><img src="'+imageurl+'" /></span><span class="googleMapResultTitle">'+title+'</span></div>').appendTo(jqresults).find('.googleMapHereImg').click(function(){jqdirections_title.hide();$(this).parent().siblings('.googleMapResult').removeClass('resultSelected');gmap.closeInfoWindow();gdir.clear();gmap.setCenter(m,z);return false});$('<h4 class="label_distance_from">'+_0.label_distance_from+'</h4>').prependTo(jqresults);$('<h4 class="label_results">'+_0.label_results+'</h4>').appendTo(jqresults);return false}var r=$('<div class="googleMapResult"><span class="googleMapResultNumber">'+index.toString()+'</span><span class="googleMapResultImg"><img src="'+imageurl+'" /></span><span class="googleMapResultTitle">'+title+'</span><span class="googleMapResultDesc">'+description+'</span></div>').appendTo(jqresults);r.append('<div class="googleMapResultDir">'+_0.label_directions+' <span>&raquo;</span></div>');r.find('.googleMapResultImg').click(function(){$(this).parent().addClass('resultSelected').siblings('.googleMapResult').removeClass('resultSelected');gdir.clear();jqdirections_title.hide();gmap.panTo(l.point);l.marker.openInfoWindow(l.info_windows);return false});r.find('.googleMapResultDir').click(function(){jqdirections_title.show();jqdirections_title.children('span').html(title);$(this).parent().addClass('resultSelected').siblings('.googleMapResult').removeClass('resultSelected');gmap.closeInfoWindow();gdir.clear();function handleErrors(){alert(_0.label_error_directions_not_found)}function onGDirectionsLoad(){var poly=gdir.getPolyline()}GEvent.addListener(gdir,"addoverlay",onGDirectionsLoad);GEvent.addListener(gdir,"error",handleErrors);gdir.loadFromWaypoints([center,l.point]);return false})})(newlocations[i],i)}};$('#googleMapForm').submit(function(){var t=$(this);window.location.hash=t.serialize();var searchstring=t.find('.googleMapImHere').val();var geolocation=t.find('#googleMapAskTheBrowser');var getLatLng;var markers=(function(){var i=t.find('.googleMapLegend').find('input:checked');var output=[];i.each(function(){output.push($(this).val())});return output}());var maxlocations=t.find('.googleMapSearchMaxLocations').val();if(geolocation.is(':checked')){navigator.geolocation.getCurrentPosition(function(position){var myLatlng=new GLatLng(position.coords.latitude,position.coords.longitude);load(myLatlng,markers,maxlocations,_0.label_my_position)})}else{g.getLatLng(searchstring,function(latlng){if(!latlng){alert(_0.label_error_position_not_found);return false}load(latlng,markers,maxlocations,searchstring)})}return false});$('input[title].inputLabel').bind('focus.ploneInputLabel',ploneInputLabel.focus).bind('blur.ploneInputLabel',ploneInputLabel.blur).trigger('blur.ploneInputLabel');var unserialize=function(p){var str=decodeURIComponent(p).replace(/\+/g,' ');var ret={},seg=str.replace(/^\?/,'').split('&'),len=seg.length,i=0,s;for(;i<len;i++){if(!seg[i]){continue}s=seg[i].split('=');ret[s[0]]=s[1]}return ret};if(window.location.hash){(function(){var prop;var c=$('#googleMapForm');var data=unserialize(window.location.hash.slice(1));var i;c.find(':checkbox, radio').attr('checked','');for(prop in data){if(data.hasOwnProperty(prop)){i=c.find('[name='+prop+']');if(i.is(':checkbox, :radio')){i.attr('checked','checked')}else{i.val(data[prop])}}}c.submit()}())}}function _28(n){var i;var l=_14(n);var la=_18(l);var b=_12(l);var c=b.getCenter();var ma=document.createElement('div');addClassName(n,'googleMapActive');addClassName(ma,'googleMapPane');n.appendChild(ma);var m=new GMap2(ma);m.addMapType(G_PHYSICAL_MAP);var z=m.getBoundsZoomLevel(b);if(z>_0.maxzoomlevel){z=_0.maxzoomlevel}m.setCenter(c,z,_1);m.addControl(new GLargeMapControl());if((la.enabled_names.length>0)&&(l.length>1)){m.addControl(new _9(l,la))}if(_0.selectablemaptypes){m.addControl(new GMapTypeControl())}for(i=0;i<l.length;i++){m.addOverlay(l[i].marker)}}function _17(i,m,ma,l){var g=new GClientGeocoder();var q=document.createElement('input');var s=document.createElement('input');var f=null;var o=null;f=i[0];do{if(f.tagName){if(f.tagName.toLowerCase()==='form'){break}if(f.tagName.toLowerCase()==='body'){f=null;break}f=f.parentNode}}while(f);i[0].style.display="none";i[1].style.display="none";q.setAttribute("type","text");q.value=i[0].value+', '+i[1].value;s.setAttribute("type","button");s.value="Search";s.className="searchButton";fu=function(e){var j;var a=q.value;var _16=function(){var pl=_5.results[0];if(pl){var p=new GLatLng(pl.lat,pl.lng);i[0].value=p.lat();i[1].value=p.lng();l.innerHTML=p.lat()+", "+p.lng();ma.setPoint(p);if(pl.streetAddress){ma.openInfoWindowHtml(pl.streetAddress)}else{ma.openInfoWindowHtml(a)}m.setCenter(p,_0.initialzoomlevel)}else{var msg=_0.locationnotfound;msg=msg.replace(/\[LOCATION\]/,a);alert(msg)}};var _20=function(r){if(!r||r.Status.code!==200){if(_5!==null){_5.setSearchCompleteCallback(null,_16);_5.execute(a)}else{var msg=_0.locationnotfound;msg=msg.replace(/\[LOCATION\]/,a);alert(msg)}}else{var pl=r.Placemark[0];var p=pl.Point.coordinates;p=new GLatLng(p[1],p[0]);i[0].value=p.lat();i[1].value=p.lng();l.innerHTML=p.lat()+", "+p.lng();ma.setPoint(p);ma.openInfoWindowHtml(pl.address);m.setCenter(p,_0.initialzoomlevel)}};g.getLocations(a,_20);var n=_4("input[type=submit]",f);for(j=0;j<n.length;j++){removeClassName(n[j],'submitting')}return false};q.onfocus=function(e){if(f){o=f.onsubmit;f.onsubmit=fu}};q.onblur=function(e){if(f){f.onsubmit=o}};s.onclick=fu;i[0].parentNode.insertBefore(q,i[0]);i[0].parentNode.insertBefore(s,i[0])}function _11(n){var m,c,ma;var i=_4("input",n);if(i.length!==2){return}var l=document.createElement('div');addClassName(l,"locationString discreet");var ma=document.createElement('div');addClassName(n,'googleMapActive');addClassName(ma,'googleMapPane');n.appendChild(ma);n.appendChild(l);m=_2($(n).css('width'));m=_2($(n).css('height'));if(isNaN(m)||isNaN(m)){m=new GMap2(ma)}else{m=new GMap2(ma,{size:new GSize(m,m)})}l.innerHTML=i[0].value+","+i[1].value;c=new GLatLng(_7(i[0].value),_7(i[1].value));m.setCenter(c,_0.initialzoomlevel,_1);m.addControl(new GLargeMapControl());if(_0.selectablemaptypes){m.addControl(new GMapTypeControl())}ma=new GMarker(c,{draggable:true});m.addOverlay(ma);GEvent.addListener(ma,"dragend",function(){var p=ma.getPoint();i[0].value=p.lat();i[1].value=p.lng();l.innerHTML=p.lat()+", "+p.lng()});GEvent.addListener(m,"click",function(o,p){if(!o){ma.setPoint(p);i[0].value=p.lat();i[1].value=p.lng();l.innerHTML=p.lat()+", "+p.lng()}});_17(i,m,ma,l)}return{init:function(){var i,m;registerEventListener(window,'unload',GUnload);_9=_13();if(GBrowserIsCompatible()){_23(_0);if(mapsConfig.google.ajaxsearchkey){_5=new GlocalSearch()}m=_4("div.googleMapSearchNearest");for(i=0;i<m.length;i++){_10(m[i])}m=_4("div.googleMapEdit");for(i=0;i<m.length;i++){_11(m[i])}m=_4("div.googleMapView");for(i=0;i<m.length;i++){_28(m[i])}}},loadJS:function(url){document.write('<'+'script type="text/javascript" src="'+url+'"><'+'/script>')}}}(jQuery));mapsGoogleMaps.loadJS("http://maps.google.com/maps?file=api&v=2&key="+mapsConfig.google.apikey);if(mapsConfig.google.ajaxsearchkey){mapsGoogleMaps.loadJS("http://www.google.com/uds/api?file=uds.js&amp;v=1.0&key="+mapsConfig.google.ajaxsearchkey)}registerEventListener(window,'load',mapsGoogleMaps.init);

