From c7dae18c2c0c07210807d29f2991a41d7240226b Mon Sep 17 00:00:00 2001 From: Zach Wise Date: Tue, 10 Apr 2012 14:47:56 -0500 Subject: [PATCH] Included a map attribution on Google Maps --- source/js/VMM.js | 99 ++++++++++++++++++++++++++--------------- source/less/slider.less | 36 +++++++++++++++ timeline-dark.css | 69 +++++++++++++++++++--------- timeline-min.js | 2 +- timeline.css | 16 ++++--- timeline.js | 99 ++++++++++++++++++++++++++--------------- 6 files changed, 223 insertions(+), 98 deletions(-) diff --git a/source/js/VMM.js b/source/js/VMM.js index 58e49f4..4a62d8d 100644 --- a/source/js/VMM.js +++ b/source/js/VMM.js @@ -1744,55 +1744,70 @@ if (typeof VMM == 'undefined') { } }, - stamen_map_attribution: 'Map tiles by Stamen Design, ' + - 'under CC BY 3.0. ' + - 'Data by OpenStreetMap, ' + - 'under CC BY SA.', + + map_subdomains: ["", "a.", "b.", "c.", "d."], + + map_attribution: { + "stamen": "Map tiles by Stamen Design, under CC BY 3.0. Data by OpenStreetMap, under CC BY SA.", + "apple": "Map data © 2012 Apple, Imagery © 2012 Apple" + }, + map_providers: { "toner": { - "url": "http://{S}tile.stamen.com/toner/{Z}/{X}/{Y}.png", - "minZoom": 0, - "maxZoom": 20 - }, - "toner-lines": { - "url": "http://{S}tile.stamen.com/toner-lines/{Z}/{X}/{Y}.png", - "minZoom": 0, - "maxZoom": 20 - }, - "toner-labels": { - "url": "http://{S}tile.stamen.com/toner-labels/{Z}/{X}/{Y}.png", - "minZoom": 0, - "maxZoom": 20 - }, - "sterrain": { - "url": "http://{S}tile.stamen.com/terrain/{Z}/{X}/{Y}.jpg", - "minZoom": 4, - "maxZoom": 18 - }, + "url": "http://{S}tile.stamen.com/toner/{Z}/{X}/{Y}.png", + "minZoom": 0, + "maxZoom": 20, + "attribution": "stamen" + + }, + "toner-lines": { + "url": "http://{S}tile.stamen.com/toner-lines/{Z}/{X}/{Y}.png", + "minZoom": 0, + "maxZoom": 20, + "attribution": "stamen" + }, + "toner-labels": { + "url": "http://{S}tile.stamen.com/toner-labels/{Z}/{X}/{Y}.png", + "minZoom": 0, + "maxZoom": 20, + "attribution": "stamen" + }, + "sterrain": { + "url": "http://{S}tile.stamen.com/terrain/{Z}/{X}/{Y}.jpg", + "minZoom": 4, + "maxZoom": 20, + "attribution": "stamen" + }, "apple": { - "url": "http://gsp2.apple.com/tile?api=1&style=slideshow&layers=default&lang=en_US&z={z}&x={x}&y={y}&v=9", - "minZoom": 4, - "maxZoom": 18 - }, - "watercolor": { - "url": "http://{S}tile.stamen.com/watercolor/{Z}/{X}/{Y}.jpg", - "minZoom": 3, - "maxZoom": 16 - } + "url": "http://gsp2.apple.com/tile?api=1&style=slideshow&layers=default&lang=en_US&z={z}&x={x}&y={y}&v=9", + "minZoom": 4, + "maxZoom": 20, + "attribution": "apple" + }, + "watercolor": { + "url": "http://{S}tile.stamen.com/watercolor/{Z}/{X}/{Y}.jpg", + "minZoom": 3, + "maxZoom": 16, + "attribution": "stamen" + } }, createMap: function(m) { - + trace(VMM.ExternalAPI.googlemaps.stamen_map_attribution); /* MAP PROVIDERS Including Stamen Maps http://maps.stamen.com/ Except otherwise noted, each of these map tile sets are © Stamen Design, under a Creative Commons Attribution (CC BY 3.0) license. ================================================== */ + + var map_attribution = ""; + function mapProvider(name) { if (name in VMM.ExternalAPI.googlemaps.map_providers) { + map_attribution = VMM.ExternalAPI.googlemaps.map_attribution[VMM.ExternalAPI.googlemaps.map_providers[name].attribution]; return VMM.ExternalAPI.googlemaps.map_providers[name]; } else { throw 'No such provider: "' + name + '"'; @@ -1874,10 +1889,24 @@ if (typeof VMM == 'undefined') { mapTypeIds: [layer] } } - - var map = new google.maps.Map(document.getElementById(m.id), map_options); + + var unique_map_id = m.id.toString() + "_gmap"; + VMM.attachElement("#" + m.id, "
"); + /* ATTRIBUTION + ================================================== */ + //var map_attribution_html = "
" + map_attribution + "
"; + //VMM.appendElement("#" + m.id, map_attribution_html); + + var map = new google.maps.Map(document.getElementById(unique_map_id), map_options); map.mapTypes.set(layer, new google.maps.VeriteMapType(layer)); + /* ATTRIBUTION + ================================================== */ + var map_attribution_html = "
" + map_attribution + "
"; + VMM.appendElement("#"+unique_map_id, map_attribution_html); + //.map-attribution + //.attribution-text + loadKML(); /* KML diff --git a/source/less/slider.less b/source/less/slider.less index 7a84ddd..d0fb333 100644 --- a/source/less/slider.less +++ b/source/less/slider.less @@ -231,6 +231,42 @@ max-height:none !important; max-width:none !important; } + .google-map { + height:100%; + width:100%; + } + .map-attribution { + position: absolute; + z-index: 1000003; + //right: 0px; + bottom: 0px; + width:100%; + overflow:hidden; + + .attribution-text { + height: 19px; + overflow:hidden; + -webkit-user-select: none; + line-height: 19px; + margin-right: 60px; + padding-left: 65px; + font-family: Arial, sans-serif; + font-size: 10px; + //font-weight: bold; + color: #444; + white-space: nowrap; + color:@color-base; + text-shadow:1px 1px 1px @color-dark-second; + //direction: ltr; + text-align: center; + a { + color:@color-base !important; + + } + + } + } + } } .credit, .caption { font-family: @font-sansserif; diff --git a/timeline-dark.css b/timeline-dark.css index 1098149..5818b4a 100644 --- a/timeline-dark.css +++ b/timeline-dark.css @@ -595,6 +595,12 @@ margin: 0px; overflow: hidden; display: table; + /* Text Only Slides + ================================================== */ + + /* Media Only Slides + ================================================== */ + } .slider .slider-item .content { display: table-cell; @@ -605,12 +611,6 @@ /* All Slides ================================================== */ - /* Text Only Slides - ================================================== */ - - /* Media Only Slides - ================================================== */ - } .slider .slider-item .content .content-container { display: table; @@ -659,11 +659,40 @@ max-height: none !important; max-width: none !important; } -.slider .slider-item .content .content-container .media .media-wrapper .media-container .credit, -.slider .slider-item .content .content-container .media .media-wrapper .media-container .caption { +.slider .slider-item .content .content-container .media .media-wrapper .media-container .map .google-map { + height: 100%; + width: 100%; +} +.slider .slider-item .content .content-container .media .media-wrapper .media-container .map .map-attribution { + position: absolute; + z-index: 1000003; + bottom: 0px; + width: 100%; + overflow: hidden; +} +.slider .slider-item .content .content-container .media .media-wrapper .media-container .map .map-attribution .attribution-text { + height: 19px; + overflow: hidden; + -webkit-user-select: none; + line-height: 19px; + margin-right: 60px; + padding-left: 65px; + font-family: Arial, sans-serif; + font-size: 10px; + color: #444; + white-space: nowrap; + color: #1a1a1a; + text-shadow: 1px 1px 1px #aaaaaa; + text-align: center; +} +.slider .slider-item .content .content-container .media .media-wrapper .media-container .map .map-attribution .attribution-text a { + color: #1a1a1a !important; +} +.slider .slider-item .content .content-container .media .media-wrapper .credit, +.slider .slider-item .content .content-container .media .media-wrapper .caption { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; } -.slider .slider-item .content .content-container .media .media-wrapper .media-container .credit { +.slider .slider-item .content .content-container .media .media-wrapper .credit { color: #999999; text-align: right; font-size: 10px; @@ -672,25 +701,25 @@ margin: 0 auto; margin-top: 4px; } -.slider .slider-item .content .content-container .media .media-wrapper .media-container .caption { +.slider .slider-item .content .content-container .media .media-wrapper .caption { text-align: left; margin-top: 10px; color: #aaaaaa; font-size: 11px; line-height: 14px; } -.slider .slider-item .content .content-container .media.text-media .media-wrapper .media-container { +.slider .slider-item .content .media.text-media .media-wrapper .media-container { border: none; background-color: #1a1a1a; } -.slider .slider-item .content .content-container.layout-text { +.slider .slider-item .content-container.layout-text { width: 100%; } -.slider .slider-item .content .content-container.layout-text .text { +.slider .slider-item .content-container.layout-text .text { width: 100%; max-width: 100%; } -.slider .slider-item .content .content-container.layout-text .text .container { +.slider .slider-item .content-container.layout-text .text .container { display: block; vertical-align: middle; text-align: left; @@ -700,32 +729,32 @@ margin-left: auto; margin-right: auto; } -.slider .slider-item .content .content-container.layout-media { +.slider .slider-item .content-container.layout-media { width: 100%; } -.slider .slider-item .content .content-container.layout-media .text { +.slider .slider-item .content-container.layout-media .text { width: 100%; height: 100%; max-width: 100%; display: block; text-align: center; } -.slider .slider-item .content .content-container.layout-media .text .container { +.slider .slider-item .content-container.layout-media .text .container { display: block; text-align: center; width: 100%; margin-left: none; margin-right: none; } -.slider .slider-item .content .content-container.layout-media .media { +.slider .slider-item .content-container.layout-media .media { width: 100%; min-width: 50%; float: none; } -.slider .slider-item .content .content-container.layout-media .media .media-wrapper { +.slider .slider-item .content-container.layout-media .media .media-wrapper { display: block; } -.slider .slider-item .content .content-container.layout-media .media .media-wrapper .media-container { +.slider .slider-item .content-container.layout-media .media .media-wrapper .media-container { margin-left: auto; margin-right: auto; overflow: hidden; diff --git a/timeline-min.js b/timeline-min.js index 6ff2663..1bf9776 100644 --- a/timeline-min.js +++ b/timeline-min.js @@ -1 +1 @@ -function trace(a){window.console?console.log(a):typeof jsTrace!="undefined"&&jsTrace.send(a)}function onYouTubePlayerAPIReady(){trace("GLOBAL YOUTUBE API CALLED"),VMM.ExternalAPI.youtube.onAPIReady()}(function(){var a=!1,b=/xyz/.test(function(){xyz})?/\b_super\b/:/.*/;this.Class=function(){},Class.extend=function(c){function g(){!a&&this.init&&this.init.apply(this,arguments)}var d=this.prototype;a=!0;var e=new this;a=!1;for(var f in c)e[f]=typeof c[f]=="function"&&typeof d[f]=="function"&&b.test(c[f])?function(a,b){return function(){var c=this._super;this._super=d[a];var e=b.apply(this,arguments);return this._super=c,e}}(f,c[f]):c[f];return g.prototype=e,g.prototype.constructor=g,g.extend=arguments.callee,g}})();var global=function(){return this||(1,eval)("this")}();if(typeof VMM=="undefined"){var VMM=Class.extend({});VMM.master_config={init:function(){return this},vp:"Pellentesque nibh felis, eleifend id, commodo in, interdum vitae, leo",keys:{flickr:"RAIvxHY4hE/Elm5cieh4X5ptMyDpj7MYIxziGxi0WGCcy1s+yr7rKQ==",google:"jwNGnYw4hE9lmAez4ll0QD+jo6SKBJFknkopLS4FrSAuGfIwyj57AusuR0s8dAo="},youtube:{active:!1,array:[],api_loaded:!1,que:[]},googlemaps:{active:!1,map_active:!1,places_active:!1,array:[],api_loaded:!1,que:[]}}.init(),VMM.createElement=function(a,b,c,d,e){var f="";return a!=null&&a!=""&&(f+="<"+a,c!=null&&c!=""&&(f+=" class='"+c+"'"),d!=null&&d!=""&&(f+=" "+d),e!=null&&e!=""&&(f+=" "+e),f+=">",b!=null&&b!=""&&(f+=b),f=f+""),f},VMM.createMediaElement=function(a,b,c){var d="",e=!1;return d+="
",a!=null&&a!=""&&(valid=!0,d+="",c!=null&&c!=""&&(d+=VMM.createElement("div",c,"credit")),b!=null&&b!=""&&(d+=VMM.createElement("div",b,"caption"))),d+="
",d},VMM.attachElement=function(a,b){typeof jQuery!="undefined"&&$(a).html(b)},VMM.appendElement=function(a,b){typeof jQuery!="undefined"&&$(a).append(b)},VMM.getHTML=function(a){var b;if(typeof jQuery!="undefined")return b=$(a).html(),b},VMM.getElement=function(a,b){var c;if(typeof jQuery!="undefined")return b?c=$(a).parent().get(0):c=$(a).get(0),c},VMM.bindEvent=function(a,b,c,d){var e,f="click",g={};c!=null&&c!=""&&(f=c),g!=null&&g!=""&&(g=d),typeof jQuery!="undefined"&&$(a).bind(f,g,b)},VMM.unbindEvent=function(a,b,c){var d,e="click",f={};c!=null&&c!=""&&(e=c),typeof jQuery!="undefined"&&$(a).unbind(e,b)},VMM.fireEvent=function(a,b,c){var d,e="click",f=[];b!=null&&b!=""&&(e=b),c!=null&&c!=""&&(f=c),typeof jQuery!="undefined"&&$(a).trigger(e,f)},VMM.getJSON=function(a,b,c){if(typeof jQuery!="undefined"){if(!(VMM.Browser.browser=="Explorer"&&parseInt(VMM.Browser.version,10)>=8&&window.XDomainRequest))return jQuery.getJSON(a,b,c);trace("it's ie");var d=a;if(d.match("^http://"))return trace("RUNNING GET JSON"),jQuery.getJSON(a,b,c);if(!d.match("^https://"))return jQuery.getJSON(a,b,c);trace("RUNNING XDR"),d=d.replace("https://","http://");var e=new XDomainRequest;e.open("get",d),e.onload=function(){var a=VMM.parseJSON(e.responseText);trace(e.responseText);if(type.of(a)!="null"&&type.of(a)!="undefined")return b(a);trace("IE JSON ERROR")},e.send()}},VMM.parseJSON=function(a){if(typeof jQuery!="undefined")return $.parseJSON(a)},VMM.appendAndGetElement=function(a,b,c,d){var e,f="
",g="",h="";return b!=null&&b!=""&&(f=b),c!=null&&c!=""&&(g=c),d!=null&&d!=""&&(h=d),typeof jQuery!="undefined"&&(e=$(b),e.addClass(g),e.html(h),$(a).append(e)),e},VMM.Element={init:function(){return this},hide:function(a,b){b!=null&&b!=""?typeof jQuery!="undefined"&&$(a).hide(b):typeof jQuery!="undefined"&&$(a).hide()},remove:function(a){typeof jQuery!="undefined"&&$(a).remove()},detach:function(a){typeof jQuery!="undefined"&&$(a).detach()},append:function(a,b){typeof jQuery!="undefined"&&$(a).append(b)},show:function(a,b){b!=null&&b!=""?typeof jQuery!="undefined"&&$(a).show(b):typeof jQuery!="undefined"&&$(a).show()},load:function(a,b,c){var d={elem:a};d!=null&&d!=""&&(d=c),typeof jQuery!="undefined"&&$(a).load(d,b)},addClass:function(a,b){typeof jQuery!="undefined"&&$(a).addClass(b)},removeClass:function(a,b){typeof jQuery!="undefined"&&$(a).removeClass(b)},attr:function(a,b,c){if(c!=null&&c!="")typeof jQuery!="undefined"&&$(a).attr(b,c);else if(typeof jQuery!="undefined")return $(a).attr(b)},prop:function(a,b,c){typeof jQuery=="undefined"||!/[1-9]\.[3-9].[1-9]/.test($.fn.jquery)?VMM.Element.attribute(a,b,c):$(a).prop(b,c)},attribute:function(a,b,c){if(c!=null&&c!="")typeof jQuery!="undefined"&&$(a).attr(b,c);else if(typeof jQuery!="undefined")return $(a).attr(b)},visible:function(a,b){if(b!=null)typeof jQuery!="undefined"&&(b?$(a).show(0):$(a).hide(0));else if(typeof jQuery!="undefined")return $(a).is(":visible")?!0:!1},css:function(a,b,c){if(c!=null&&c!="")typeof jQuery!="undefined"&&$(a).css(b,c);else if(typeof jQuery!="undefined")return $(a).css(b)},cssmultiple:function(a,b){if(typeof jQuery!="undefined")return $(a).css(b)},offset:function(a){var b;return typeof jQuery!="undefined"&&(b=$(a).offset()),b},position:function(a){var b;return typeof jQuery!="undefined"&&(b=$(a).position()),b},width:function(a,b){if(b!=null&&b!="")typeof jQuery!="undefined"&&$(a).width(b);else if(typeof jQuery!="undefined")return $(a).width()},height:function(a,b){if(b!=null&&b!="")typeof jQuery!="undefined"&&$(a).height(b);else if(typeof jQuery!="undefined")return $(a).height()},toggleClass:function(a,b){typeof jQuery!="undefined"&&$(a).toggleClass(b)},each:function(a,b){typeof jQuery!="undefined"&&$(a).each(b)},html:function(a,b){var c;if(typeof jQuery!="undefined")return c=$(a).html(),c;if(b!=null&&b!="")typeof jQuery!="undefined"&&$(a).html(b);else{var c;if(typeof jQuery!="undefined")return c=$(a).html(),c}},find:function(a,b){if(typeof jQuery!="undefined")return $(a).find(b)},stop:function(a){typeof jQuery!="undefined"&&$(a).stop()},animate:function(a,b,c,d,e){var f="easein",g=1e3,h={};b!=null&&(b<1?g=1:g=Math.round(b)),c!=null&&c!=""&&(f=c),d!=null?h=d:h={opacity:0};if(VMM.Browser.device=="mobile"||VMM.Browser.device=="tablet"){var i=Math.round(g/1500*10)/10,j=i+"s";VMM.Element.css(a,"-webkit-transition","all "+j+" ease"),VMM.Element.css(a,"-moz-transition","all "+j+" ease"),VMM.Element.css(a,"-o-transition","all "+j+" ease"),VMM.Element.css(a,"-ms-transition","all "+j+" ease"),VMM.Element.css(a,"transition","all "+j+" ease"),VMM.Element.cssmultiple(a,h)}else typeof jQuery!="undefined"&&(e!=null&&e!=""?$(a).animate(h,{queue:!1,duration:g,easing:f,complete:e}):$(a).animate(h,{queue:!1,duration:g,easing:f}))}}.init(),VMM.TouchSlider={createPanel:function(a,b,c,d,e,f){VMM.TouchSlider.vertical=!1,VMM.TouchSlider.vertical=e;var g=d;VMM.TouchSlider.width=c,VMM.TouchSlider.height=f,VMM.TouchSlider.makeTouchable(a,b)},removePanel:function(a){VMM.unbindEvent(a,VMM.TouchSlider.onTouchStart,"touchstart"),VMM.unbindEvent(a,VMM.TouchSlider.onTouchMove,"touchmove"),VMM.unbindEvent(a,VMM.TouchSlider.onTouchEnd,"touchend")},makeTouchable:function(a,b){VMM.bindEvent(a,VMM.TouchSlider.onTouchStart,"touchstart",{element:b}),VMM.bindEvent(a,VMM.TouchSlider.onTouchMove,"touchmove",{element:b}),VMM.bindEvent(a,VMM.TouchSlider.onTouchEnd,"touchend",{element:b})},onTouchStart:function(a){return VMM.TouchSlider.touchStart(a.data.element,a),a.preventDefault(),a.stopPropagation(),!0},onTouchEnd:function(a){return a.preventDefault(),a.stopPropagation(),VMM.TouchSlider.sliding?(VMM.TouchSlider.sliding=!1,VMM.TouchSlider.touchEnd(a.data.element,a),!1):!0},onTouchMove:function(a){return VMM.TouchSlider.touchMove(a.data.element,a),a.preventDefault(),a.stopPropagation(),!1},getLeft:function(a){return parseInt(VMM.Element.css(a,"left").substring(0,VMM.Element.css(a,"left").length-2),10)},getTop:function(a){return parseInt(VMM.Element.css(a,"top").substring(0,VMM.Element.css(a,"top").length-2),10)},touchStart:function(a,b){VMM.Element.css(a,"-webkit-transition-duration","0"),VMM.TouchSlider.startX=b.originalEvent.touches[0].screenX,VMM.TouchSlider.startY=b.originalEvent.touches[0].screenY,VMM.TouchSlider.startLeft=VMM.TouchSlider.getLeft(a),VMM.TouchSlider.startTop=VMM.TouchSlider.getTop(a),VMM.TouchSlider.touchStartTime=(new Date).getTime()},touchEnd:function(a,b){VMM.TouchSlider.getLeft(a)>0?(VMM.TouchSlider.vertical?VMM.Element.animate(a,1e3,"",{top:0}):VMM.Element.animate(a,1e3,"",{left:0}),VMM.TouchSlider.startX=null,VMM.TouchSlider.startY=null,VMM.fireEvent(a,"TOUCHUPDATE",[0])):VMM.TouchSlider.slideMomentum(a,b)},slideMomentum:function(a,b){var c=((new Date).getTime()-VMM.TouchSlider.touchStartTime)*10,d=c,e=VMM.TouchSlider.getLeft(a),f=VMM.TouchSlider.getTop(a),g=6e3*(Math.abs(VMM.TouchSlider.startLeft)-Math.abs(e)),h=6e3*(Math.abs(VMM.TouchSlider.startTop)-Math.abs(f));c=Math.round(g/c),slideAdjustY=Math.round(h/c);var i=c+e,j=slideAdjustY+f,k=j%VMM.TouchSlider.height,l=i%VMM.TouchSlider.width,m={top:Math.min(0,j),left:Math.min(0,i),time:d};VMM.fireEvent(a,"TOUCHUPDATE",[m]),VMM.TouchSlider.startX=null,VMM.TouchSlider.startY=null},doSlide:function(a,b,c){VMM.Element.css(a,"-webkit-transition-property","left"),VMM.Element.css(a,"-webkit-transition-duration",c),VMM.Element.css(a,"left",b)},touchMove:function(a,b){!!VMM.TouchSlider.sliding,VMM.TouchSlider.sliding=!0;if(VMM.TouchSlider.vertical)if(VMM.TouchSlider.startY>b.originalEvent.touches[0].screenY)VMM.Element.css(a,"top",-(VMM.TouchSlider.startY-b.originalEvent.touches[0].screenY-VMM.TouchSlider.startTop)),VMM.TouchSlider.slidingTop=!0;else{var c=b.originalEvent.touches[0].screenY-VMM.TouchSlider.startY+VMM.TouchSlider.startTop;VMM.Element.css(a,"top",-(VMM.TouchSlider.startY-b.originalEvent.touches[0].screenY-VMM.TouchSlider.startTop)),VMM.TouchSlider.slidingTop=!1}else if(VMM.TouchSlider.startX>b.originalEvent.touches[0].screenX)VMM.Element.css(a,"left",-(VMM.TouchSlider.startX-b.originalEvent.touches[0].screenX-VMM.TouchSlider.startLeft)),VMM.TouchSlider.slidingLeft=!0;else{var d=b.originalEvent.touches[0].screenX-VMM.TouchSlider.startX+VMM.TouchSlider.startLeft;VMM.Element.css(a,"left",-(VMM.TouchSlider.startX-b.originalEvent.touches[0].screenX-VMM.TouchSlider.startLeft)),VMM.TouchSlider.slidingLeft=!1}}},VMM.hideUrlBar=function(){var a=window,b=a.document;if(!location.hash||!a.addEventListener){window.scrollTo(0,1);var c=1,d=setInterval(function(){b.body&&(clearInterval(d),c="scrollTop"in b.body?b.body.scrollTop:1,a.scrollTo(0,c===1?0:1))},15);a.addEventListener("load",function(){setTimeout(function(){a.scrollTo(0,c===1?0:1)},0)},!1)}},VMM.DragSlider={createPanel:function(a,b,c,d,e){var f=d;VMM.DragSlider.width=c,VMM.DragSlider.makeDraggable(a,b),VMM.DragSlider.drag_elem=a,VMM.DragSlider.sticky=e},makeDraggable:function(a,b){VMM.bindEvent(a,VMM.DragSlider.onDragStart,"mousedown",{element:b,delement:a}),VMM.bindEvent(a,VMM.DragSlider.onDragEnd,"mouseup",{element:b,delement:a}),VMM.bindEvent(a,VMM.DragSlider.onDragLeave,"mouseleave",{element:b,delement:a})},cancelSlide:function(a){return VMM.unbindEvent(VMM.DragSlider.drag_elem,VMM.DragSlider.onDragMove,"mousemove"),!0},onDragLeave:function(a){return VMM.unbindEvent(a.data.delement,VMM.DragSlider.onDragMove,"mousemove"),a.preventDefault(),a.stopPropagation(),!0},onDragStart:function(a){return VMM.DragSlider.dragStart(a.data.element,a.data.delement,a),a.preventDefault(),a.stopPropagation(),!0},onDragEnd:function(a){return a.preventDefault(),a.stopPropagation(),VMM.DragSlider.sliding?(VMM.DragSlider.sliding=!1,VMM.DragSlider.dragEnd(a.data.element,a.data.delement,a),!1):!0},onDragMove:function(a){return VMM.DragSlider.dragMove(a.data.element,a),a.preventDefault(),a.stopPropagation(),!1},dragStart:function(a,b,c){VMM.DragSlider.startX=c.pageX,VMM.DragSlider.startLeft=VMM.DragSlider.getLeft(a),VMM.DragSlider.dragStartTime=(new Date).getTime(),VMM.DragSlider.dragWidth=VMM.Element.width(b);var d=Math.round(VMM.DragSlider.startX-c.pageX-VMM.DragSlider.startLeft);VMM.Element.stop(a),VMM.bindEvent(b,VMM.DragSlider.onDragMove,"mousemove",{element:a})},dragEnd:function(a,b,c){VMM.unbindEvent(b,VMM.DragSlider.onDragMove,"mousemove"),VMM.DragSlider.getLeft(a)>0||VMM.DragSlider.dragMomentum(a,c)},dragMove:function(a,b){!!VMM.DragSlider.sliding,VMM.DragSlider.sliding=!0;if(VMM.DragSlider.startX>b.pageX)VMM.Element.css(a,"left",-(VMM.DragSlider.startX-b.pageX-VMM.DragSlider.startLeft)),VMM.DragSlider.slidingLeft=!0;else{var c=b.pageX-VMM.DragSlider.startX+VMM.DragSlider.startLeft;VMM.Element.css(a,"left",-(VMM.DragSlider.startX-b.pageX-VMM.DragSlider.startLeft)),VMM.DragSlider.slidingLeft=!1}},dragMomentum:function(a,b){var c=((new Date).getTime()-VMM.DragSlider.dragStartTime)*10,d=c,e=VMM.DragSlider.getLeft(a),f=6e3*(Math.abs(VMM.DragSlider.startLeft)-Math.abs(e));c=Math.round(f/c);var g=e+c,h=g%VMM.DragSlider.width,i={left:Math.min(g),time:d};VMM.fireEvent(a,"DRAGUPDATE",[i]);var j="easeOutExpo";i.time>0&&VMM.Element.animate(a,i.time,j,{left:i.left})},getLeft:function(a){return parseInt(VMM.Element.css(a,"left").substring(0,VMM.Element.css(a,"left").length-2),10)}},VMM.Browser={init:function(){this.browser=this.searchString(this.dataBrowser)||"An unknown browser",this.version=this.searchVersion(navigator.userAgent)||this.searchVersion(navigator.appVersion)||"an unknown version",this.OS=this.searchString(this.dataOS)||"an unknown OS",this.device=this.searchDevice(navigator.userAgent)},searchDevice:function(a){return a.match(/Android/i)||a.match(/iPhone|iPod/i)?"mobile":a.match(/iPad/i)?"tablet":a.match(/BlackBerry/i)||a.match(/IEMobile/i)?"other mobile":"desktop"},searchString:function(a){for(var b=0;b
",d;if(e.type=="flickr")return d="
",d;if(e.type=="youtube")return d="
",d;if(e.type!="googledoc")return e.type=="vimeo"?(d="
",d):e.type=="twitter"?(d="
",d):e.type=="twitter-ready"?(d="
",d):e.type=="soundcloud"?(d="
",d):e.type=="google-map"?(d="
",d):e.type=="unknown"?(d="",d):e.type=="website"?(d="
",d):(d="
",d);d=""}},create:function(a,b,c,d,e){_return=c,_w=500,_h=400,$mediacontainer=a;var f=!1;d!=null&&d!=""&&(_w=d),e!=null&&e!=""&&(_h=e);if(b.media!=null&&b.media!=""){f=!0;var g="",h="",i="",j={},k=_h-50,l=!1;b.credit!=null&&b.credit!=""&&(i="
"+VMM.Util.linkify_with_twitter(b.credit,"_blank")+"
"),b.caption!=null&&b.caption!=""&&(h="
"+VMM.Util.linkify_with_twitter(b.caption,"_blank")+"
"),j=VMM.MediaType(b.media);if(j.type=="image")g="";else if(j.type=="flickr"){var m="flickr_"+j.id;g="",VMM.ExternalAPI.flickr.getPhoto(j.id,"#"+m)}else if(j.type=="googledoc")j.id.match(/docs.google.com/i)?g="":g="";else if(j.type=="youtube")g="
Loading YouTube video...
",VMM.ExternalAPI.youtube.init(j.id);else if(j.type=="vimeo")g="";else if(j.type=="twitter")g="
Loading Tweet
",trace("TWITTER"),VMM.ExternalAPI.twitter.prettyHTML(j.id),l=!0;else if(j.type=="twitter-ready")g=j.id;else if(j.type=="soundcloud"){var n="soundcloud_"+VMM.Util.unique_ID(5);g="
Loading Sound
",VMM.ExternalAPI.soundcloud.getSound(j.id,n)}else if(j.type=="google-map"){var o="googlemap_"+VMM.Util.unique_ID(7);g="
Loading Map...
",VMM.ExternalAPI.googlemaps.getMap(j.id,o)}else j.type=="unknown"?(trace("NO KNOWN MEDIA TYPE FOUND TRYING TO JUST PLACE THE HTML"),g=VMM.Util.properQuotes(j.id)):j.type=="website"?g=""+"":(trace("NO KNOWN MEDIA TYPE FOUND"),trace(j.type));g="
"+g+i+h+"
";if(_return)return l?"
"+g+"
":"
"+g+"
";VMM.appendElement($mediacontainer,g),VMM.appendElement($mediacontainer,i),VMM.appendElement($mediacontainer,h)}}}.init(),VMM.MediaType=function(a){var b=!1,c={};return a.match("div class='twitter'")?(c.type="twitter-ready",c.id=a,b=!0):a.match("(www.)?youtube|youtu.be")?(a.match("embed")?youtube_id=a.split(/embed\//)[1].split('"')[0]:youtube_id=a.split(/v\/|v=|youtu\.be\//)[1].split(/[?&]/)[0],c.type="youtube",c.id=youtube_id,b=!0):a.match("(player.)?vimeo.com")?(vimeo_id=a.split(/video\/|\/\/vimeo\.com\//)[1].split(/[?&]/)[0],c.type="vimeo",c.id=vimeo_id,b=!0):a.match("(player.)?soundcloud.com")?(c.type="soundcloud",c.id=a,b=!0):a.match("(www.)?twitter.com")?(trace("TWITTER MATCH"),a.match("status/")?twitter_id=a.split("status/")[1]:a.match("statuses/")?twitter_id=a.split("statuses/")[1]:twitter_id="",c.type="twitter",c.id=twitter_id,b=!0):a.match("maps.google")?(c.type="google-map",c.id=a.split(/src=['|"][^'|"]*?['|"]/gi),b=!0):a.match("flickr.com/photos")?(c.type="flickr",c.id=a.split("photos/")[1].split("/")[1],c.link=a,b=!0):a.match(/jpg|jpeg|png|gif/i)?(c.type="image",c.id=a,b=!0):VMM.FileExtention.googleDocType(a)?(c.type="googledoc",c.id=a,b=!0):a.indexOf("http://")==0?(c.type="website",c.id=a,b=!0):(trace("unknown media"),c.type="unknown",c.id=a,b=!0),b?c:(trace("No valid media id detected"),trace(a),!1)},VMM.FileExtention={googleDocType:function(a){var b=a,c="";c=b.substr(b.length-5,5);var d=["DOC","DOCX","XLS","XLSX","PPT","PPTX","PDF","PAGES","AI","PSD","TIFF","DXF","SVG","EPS","PS","TTF","XPS","ZIP","RAR"],e=!1;for(var f=0;f

",f=VMM.Util.linkify_with_twitter(a.text,"_blank");e+=f,e+="

",e+="\u2014 "+a.user.name+" (@"+a.user.screen_name+") "+VMM.ExternalAPI.twitter.prettyParseTwitterDate(a.created_at)+"
",d.content=e,d.raw=a,b.push(d);if(b.length==c){var g={tweetdata:b};VMM.fireEvent(global,"TWEETSLOADED",g)}}).success(function(){trace("second success")}).error(function(){trace("error")}).complete(function(){trace("complete")})}},getTweetSearch:function(a,b){var c=40;b!=null&&b!=""&&(c=b);var d="http://search.twitter.com/search.json?q="+a+"&rpp="+c+"&include_entities=true&result_type=mixed",e=[];VMM.getJSON(d,function(a){for(var b=0;b