function filter(w) {
                filterWords = "test->test"
                searchWords = filterWords.split(",");
                if(searchWords.length>0){
                    cleanHTML=w;
                    $j.each(searchWords,function(i,item){
                        sW = item.split("->").length>0 ? item.split("->")[0] : item;
                        rW = item.split("->").length>0 ? item.split("->")[1] : "";
                        regExp=eval('/'+sW+'/gi');
                        cleanHTML = cleanHTML.replace(regExp, rW);
                    });
                } else cleanHTML = w;
                return cleanHTML;
}
var loadingText = "<div style='text-align:center; padding:10px 0 0'><img src='http://libjs.s3.amazonaws.com/images/preloaders/28.gif'/></div>"
function getDaysBefore(year, month, date) {
    var oneMinute = 60 * 1000;
    var oneHour = oneMinute * 60;
    var oneDay = oneHour * 24;
    var today = new Date();
    var targetDate = new Date();
    targetDate.setYear(year);
    targetDate.setMonth(month);
    targetDate.setDate(date);
    var diff = targetDate.getTime() - today.getTime();
    diff = Math.floor(diff/oneDay-30);
    return diff;
}
function relative_time(time_value) {
      var parsed_date = Date.parse(time_value);
      var relative_to = (arguments.length > 1) ? arguments[1] : new Date();
      var delta = parseInt((relative_to.getTime() - parsed_date) / 1000);
      if(delta < 60) {
      return 'less than a minute ago';
      } else if(delta < 120) {
      return 'about a minute ago';
      } else if(delta < (45*60)) {
      return (parseInt(delta / 60)).toString() + ' minutes ago';
      } else if(delta < (90*60)) {
      return 'about an hour ago';
      } else if(delta < (24*60*60)) {
      return 'about ' + (parseInt(delta / 3600)).toString() + ' hours ago';
      } else if(delta < (48*60*60)) {
      return '1 day ago';
      } else {
      return (parseInt(delta / 86400)).toString() + ' days ago';
      }
}
var badAuthors = ["DealEstateTV825","a_meyers","GLogothetis","iceofboston","agkatsivalis","salikhan2","viktoretree","NatalieElena","the_fritch","migwagin","aravosis","EZAUTOCREDIT"];

Cufon.replace("ul.sf-menu>li>a, #tabs a.selected, #facebook-widget h2", {
    fontFamily: 'GothamMedium',
    hover: true,
    color: '-linear-gradient(#4289C3, #192A56)'
});
Cufon.replace("form.poll button, #tabs a, p.supporterText", {
    fontFamily: 'GothamMedium'
});
Cufon.replace("#header form button, a.endorseNow, div.text .read-more, #slidesCont .slide a.learn-more", {
    fontFamily: 'GothamMedium',
    textShadow: '#750A0B 0px -1px'
});
Cufon.replace(".sidebar ul.action-links li a, div.slide h2, #pager a", {
    fontFamily: 'GothamMedium',
    textShadow: '#072147 0px -1px'
});
Cufon.replace("#pageTitle h1", {
    fontFamily: 'GothamMedium',
    textShadow: '#10213D 0px 1px'
});
Cufon.replace("div.text h2", {
    fontFamily: 'GothamMedium'
});

var engine = {
    pageTools : {
        init : function() {
            $j("#font_select").click(function(){
                engine.pageTools.animateContentFontSize(12)
            });
            $j("#font_select_med").click(function(){
                engine.pageTools.animateContentFontSize(15)
            });
            $j("#font_select_large").click(function(){
                engine.pageTools.animateContentFontSize(20)
            });        
        },
        animateContentFontSize : function(s){
            $j("div.main-content").stop().animate({
                fontSize: s+"px"
            }, 300 )
        }
    },
    externalLinks : function(){
        $j('a:external').not(".colorB").addClass('external');
        $j('a.external').click(function() {
            var link = $j(this).attr('href');
            window.open(link);
            return false;
        });
    },
    issuesPoll : function(){
        $j("div.poll ul li select").val("no");
        $j("div.poll ul li").click(function(){
            var $this = $j(this);
            $this.toggleClass("issue-selected")
            var $thisInput = $this.find("select");
            if ($this.is('.issue-selected')) $thisInput.val("yes")
            else $thisInput.val("no");
        })
    },    
    tabClick : {
        init : function(opts){
            if($j("#tabs:visible")) {
		$j("div.tab:first").fadeIn(1000).attr("rel","first-tab");
                $j("div.tab .content-item:last-child, .sf-menu li li:last-child").css({"border":"none"});
                $j("#contentHere").addClass("contentHereHome");
                $j(opts.tabs + " .content").hover(function(){
                    engine.tabClick.animateArrow.right(this)
                },
                function(){
                    engine.tabClick.animateArrow.left(this)
                })
                .click(function(){
                    document.location.href=$j(this).find("a:first").attr("href")
                });
                $j("#contentHere .content:first-child").css({
                    "background-color":"#F6F5F5"
                });
                $j(opts.navigation).click(function(){
                    opts.tabNumber = $j(this).getIndex();
                    engine.tabClick.loadContent(opts);
                    return false;
                })
            }

        },
        markSelected : function(opts){
            var $old = $j(opts.navigation + ":not(:eq("+opts.tabNumber+")) a.selected");
            var $new = $j(opts.navigation + ":eq("+opts.tabNumber+") a:not(.selected)");
            var $newArrow = $new.find("span");
            $newArrow.fadeOut(200);
            $old.removeClass("selected");
            $new.addClass("selected");
            Cufon.replace("#tabs a", {
                fontFamily: 'GothamMedium'
            });
            Cufon.replace("#tabs a.selected", {
                fontFamily: 'GothamMedium',
                hover: true,
                color: '-linear-gradient(#4289C3, #192A56)'
            });
            $newArrow.fadeIn(1000)
        },
        loadContent : function(opts){
            $j(opts.tabs + ":not(:eq("+opts.tabNumber+"))").hide();
            $j(opts.tabs + ":eq("+opts.tabNumber+")").fadeIn(300);
            engine.tabClick.markSelected(opts)
        },
        animateArrow : {
            left : function(e) {
                $j(e).stop().animate({
                    backgroundPosition:"(600px 50%)"
                },300)
            },
            right : function(e) {
                $j(e).stop().animate({
                    backgroundPosition:"(610px 50%)"
                },300)
            }
        }
    },
    structure: {
        init : function(){
            if (!jQuery.support.opacity) {
                this.ie();
                this.allBrowsers();
            }
            else {
                this.allBrowsers();
            }
        },
        ie : function(){
                $j("#footer li:last").css({"margin":"0"})
        },
        allBrowsers : function(){
                $j("#slidesCont").cycle({
			fx: 'fade',
			timeout: 8000, 
			pager: "#pager",
			pause: 1,
			containerResize: 1,
			cleartypeNoBg:   true
    	        });
    	        $j("ul.supporters").cycle({
			fx: 'fade',
			timeout: 8000, 			
			pause: 1,
			containerResize: 1,
			//cleartypeNoBg:   true,
			height: 'auto'
    	        });
                plugins.blogComments("Administrative User");
                $j("tr:even td.text_field_control input").css({"background":"#FFC7C9"});
                $j("tr:odd td.text_field_control input").css({"background":"#D8E9F2"});

		$j("ul.sf-menu").supersubs({minWidth:15,maxWidth:30,extraWidth:1}).superfish().find('ul').bgIframe({opacity:false});
                
                $j("ul.sf-menu>li>a:contains(Issues), ul.sf-menu>li>a:contains(Media)").click(function(){
                   return false;
                })
                $j("ul.sf-menu a:contains(Register to Vote)").colorbox({iframe:true, innerWidth:900, opacity:0.7, innerHeight:500, href : "http://www.sec.state.ma.us/ele/eleifv/howreg.htm"});
                $j("#footer ul, ul.action-links").fadingSiblings();
                $j("#searchButton input, input.submit_tag, #zip_submit, #run_search, div#view_contacts_manual input.submit_button").button();
                $j("#blog-comments input:submit, table.styled_table input:submit, #contribute_submit_button").button();
        }
    }
}
    $j(function(){
        engine.structure.init();
        engine.tabClick.init({
            navigation:"#tabs li",
            tabs:"#contentHere div.tab"
        });
        engine.issuesPoll();
        engine.externalLinks();
        $j("a.colorB, #mainmenu a:contains(Volunteer)").removeClass("external").attr("href","https://services.myngp.com/NGPOnlineServices/volunteer.aspx?X=Dpr/oJ99ncbUHAxAIjmxgQ==").colorbox({iframe:true, innerWidth:900, opacity:0.7, innerHeight:500});
        engine.pageTools.init();
    })