jQuery.zeroPad=function(b,a){b=String(b);while(b.length<a){b="0"+b}return b};jQuery.formatDate=function(e){var c=new Date(e);var a=c.getHours();var b="am";if(a>12){a=a-12;b="pm"}var d=a+":"+jQuery.zeroPad(c.getMinutes(),2)+" "+b;var e=MONTH_NAMES[c.getMonth()]+" "+c.getDate()+", "+c.getFullYear();return d+" &mdash; "+e};jQuery.truncateWords=function(d,b){d=d.replace(/^\s+/,"").replace(/\s+jQuery/,"");var c=d.split(/\s+/g,b+1);var a=c.slice(0,b).join(" ");if(a!=d){a=a+"..."}return a};var API_USERS_SHOW_URL=protocol+"twitter.com/users/show.json";jQuery.fn.twitterFollowers=function(b){var a=this;jQuery.ajax({dataType:"jsonp",url:API_USERS_SHOW_URL,data:{screen_name:b},success:function(c){a.html(c.followers_count)}});return this};var API_SEARCH_URL=protocol+"search.twitter.com/search.json";var MONTH_NAMES=["Jan.","Feb.","Mar.","Apr.","May","Jun.","Jul.","Aug.","Sep.","Oct.","Nov.","Dec."];jQuery.fn.twitterFeed=function(b){var a=this;jQuery.ajax({dataType:"jsonp",url:API_SEARCH_URL,data:{rpp:2,q:"from:"+b},success:function(d){var c=jQuery("<ul/>");jQuery.each(d.results,function(){var f=jQuery("<span/>").addClass("meta").html(jQuery.formatDate(this.created_at));var e=jQuery("<li/>").append(f).append(jQuery("<br/>")).append(this.text);c.append(e)});a.append(c)}})};jQuery.fn.wordpressFeed=function(){if(protocol=="http://"){var a=protocol+"news.camfed.org/us/?feed=json";var b=this;jQuery.ajax({dataType:"jsonp",url:a,jsonp:"jsonp",data:{feed:"json"},success:function(d){var c=jQuery("<ul/>");jQuery.each(d.slice(0,2),function(){var f=jQuery("<span/>").addClass("meta").html(jQuery.formatDate(this.date));var g=jQuery("<a/>").attr("href",this.link).html(jQuery.truncateWords(this.title,5));var e=jQuery("<li/>").append(f).append(jQuery("<br/>")).append(g).append(jQuery("<br/>")).append(jQuery.truncateWords(this.excerpt,12));c.append(e)});b.append(c)}})}};jQuery.fn.inlineLabel=function(b){var a=jQuery(this);if(a.val()==""){a.val(b)}a.focus(function(){if(a.val()==b){a.val("")}});a.blur(function(){if(a.val()==""){a.val(b)}});a.parents("form").submit(function(){if(a.val()==b){a.val("")}})};jQuery.fn.chooseRandom=function(){var a=Math.floor(Math.random()*this.length);this.hide().eq(a).show()};var MAP_DATA_KEY="camfedMapData";var API_DOMAIN="http://api.camfed.org";jQuery.fn.map=function(a){a=jQuery.extend({width:null,height:null,feed:null,clickable:true,controls:true,loader:true},a);if(a.width){jQuery(this).width(a.width)}if(a.height){jQuery(this).height(a.height)}var c=new google.maps.Icon();c.image=API_DOMAIN+"/media/site/img/marker-small.png";c.shadow=API_DOMAIN+"/media/site/img/shadow-small.png";c.iconSize=new google.maps.Size(12,20);c.shadowSize=new google.maps.Size(22,20);c.iconAnchor=new google.maps.Point(6,20);c.infoWindowAnchor=new google.maps.Point(6,1);var b=new google.maps.Icon();b.image=API_DOMAIN+"/media/site/img/marker-large.png";b.shadow=API_DOMAIN+"/media/site/img/shadow-large.png";b.iconSize=new google.maps.Size(20,34);b.shadowSize=new google.maps.Size(37,34);b.iconAnchor=new google.maps.Point(10,34);b.infoWindowAnchor=new google.maps.Point(10,1);jQuery(this).each(function(){var e=jQuery(this);var i=e.data(MAP_DATA_KEY);if(!i){var f=e.get(0);var g=new google.maps.Map2(f);if(a.controls){g.addControl(new google.maps.LargeMapControl())}var h=[];i={map:g,markers:h};e.data(MAP_DATA_KEY,i)}else{var g=i.map;var h=i.markers}if(a.loader){var d=jQuery("<div/>").addClass("loader").html("Loading...");e.append(d);d.css("left",(e.width()/2)-d.width()+"px").css("top",(e.height()/2)-d.height()+"px")}if(a.feed){if(a.loader){d.fadeIn()}jQuery.ajax({url:a.feed,dataType:"jsonp",success:function(k){if(a.loader){d.fadeOut()}while(i.markers.length>0){g.removeOverlay(i.markers.pop())}var j=new google.maps.LatLngBounds();var l=[];jQuery.each(k,function(){var r=this.latitude;var q=this.longitude;var n=new google.maps.LatLng(r,q);var o=[];jQuery.each(this.pages,function(){var u=this.title;var t=this.content;var s=new google.maps.InfoWindowTab(u,t);o.push(s)});var p=c;if(this.featured){p=b}var m=new google.maps.Marker(n,p);if(this.featured){l.push(m)}i.markers.push(m);i.map.addOverlay(m);if(a.clickable){google.maps.Event.addListener(m,"click",function(){this.openInfoWindowTabsHtml(o,{maxWidth:400})})}j.extend(n)});i.map.setCenter(j.getCenter());i.map.setZoom(Math.min(i.map.getBoundsZoomLevel(j),12));google.maps.Event.trigger(l[Math.floor(Math.random()*l.length)],"click")}})}})};jQuery.fn.countryMap=function(a){var b=jQuery(this);jQuery.ajax({dataType:"jsonp",url:API_DOMAIN+"/maps/all-countries/",success:function(c){var d=new google.maps.Map2(b.get(0));d.addControl(new google.maps.LargeMapControl());bounds=new google.maps.LatLngBounds();jQuery.each(c,function(){var g=this;var f=new google.maps.Polygon.fromEncoded({polylines:[{color:"#669900",weight:2,opacity:0.9,points:g.polyline,levels:"PP",zoomFactor:2,numLevels:18}],color:"#669900",opacity:0.5,fill:true,outline:true});var e=f.getBounds();bounds.extend(e.getNorthEast());bounds.extend(e.getSouthWest());google.maps.Event.addListener(f,"click",function(){window.location=g[a+"_url"]});google.maps.Event.addListener(f,"mouseover",function(){b.css("cursor","pointer")});d.addOverlay(f)});d.setCenter(bounds.getCenter());d.setZoom(Math.min(d.getBoundsZoomLevel(bounds),12))}})};jQuery.navigationMap=function(b,a){jQuery("#country-name").html("in "+b.charAt(0).toUpperCase()+b.slice(1));jQuery.ajax({dataType:"jsonp",data:{country:b,category_id:1},url:API_DOMAIN+"/maps/marker-count/"+a+"/",success:function(c){var d=c.marker_count;jQuery.ajax({dataType:"jsonp",url:API_DOMAIN+"/maps/all-categories/?category_id=1&category_id=5&category_id=4",success:function(e){jQuery.each(e,function(){var h=this;var i=jQuery("<h5/>").append(h.name);var g=jQuery("<p/>").append(h.description.replace("{school_count}",d));var f=jQuery("<li/>").append(i).append(g);jQuery("ul#categories").append(f);f.click(function(){if(!jQuery(this).hasClass("here")){jQuery("#control li").removeClass("here");jQuery(this).addClass("here");var j=API_DOMAIN+"/maps/markers/"+a+"/?country="+b+"&category_id="+h.id;jQuery("#map").map({feed:j})}})});jQuery("ul#categories li:first-child").click()}})}})};jQuery.fn.categoryMap=function(d,b,c,a){this.map({width:c,height:a,feed:API_DOMAIN+"/maps/markers/"+b+"/?category="+d})};jQuery.fn.individualMap=function(c,b,d,a){this.map({width:d,height:a,clickable:false,controls:false,loader:false,feed:API_DOMAIN+"/maps/markers/"+b+"/?title="+c})};