/* fontAvailable jQuery Plugin, v1.0
 *
 * Copyright (c) 2009, Howard Rauscher
 * Licensed under the MIT License
 */
(function(a){a.fontAvailable=function(d){var b,c;b=a(document.createElement("span")).css("visibility","hidden").html("abcdefghijklmnopqrstuvwxyz").appendTo(document.body);c=b.css("font-family","__FAKEFONT__").width();b.css("font-family",d);return(c!==b.width())}})(jQuery);

/* jquery.swfobject.license.txt */
(function(A){A.flashPlayerVersion=function(){var D,B=null,I=false,H="ShockwaveFlash.ShockwaveFlash";if(!(D=navigator.plugins["Shockwave Flash"])){try{B=new ActiveXObject(H+".7")}catch(G){try{B=new ActiveXObject(H+".6");D=[6,0,21];B.AllowScriptAccess="always"}catch(F){if(D&&D[0]===6){I=true}}if(!I){try{B=new ActiveXObject(H)}catch(E){D="X 0,0,0"}}}if(!I&&B){try{D=B.GetVariable("$version")}catch(C){}}}else{D=D.description}D=D.match(/^[A-Za-z\s]*?(\d+)(\.|,)(\d+)(\s+r|,)(\d+)/);return[D[1]*1,D[3]*1,D[5]*1]}();A.flashExpressInstaller="expressInstall.swf";A.hasFlashPlayer=(A.flashPlayerVersion[0]!==0);A.hasFlashPlayerVersion=function(C){var B=A.flashPlayerVersion;C=(/string|integer/.test(typeof C))?C.toString().split("."):C;return(C)?(B[0]>=(C.major||C[0]||B[0])&&B[1]>=(C.minor||C[1]||B[1])&&B[2]>=(C.release||C[2]||B[2])):(B[0]!==0)};A.flash=function(M){if(!A.hasFlashPlayer){return false}var C=M.swf||"",K=M.params||{},E=document.createElement("body"),B,L,H,D,J,I,G,F;M.height=M.height||180;M.width=M.width||320;if(M.hasVersion&&!A.hasFlashPlayerVersion(M.hasVersion)){A.extend(M,{id:"SWFObjectExprInst",height:Math.max(M.height,137),width:Math.max(M.width,214)});C=M.expressInstaller||A.flashExpressInstaller;K={flashvars:{MMredirectURL:window.location.href,MMplayerType:(A.browser.msie&&A.browser.win)?"ActiveX":"PlugIn",MMdoctitle:document.title.slice(0,47)+" - Flash Player Installation"}}}if(M.flashvars&&typeof K==="object"){A.extend(K,{flashvars:M.flashvars})}for(J in (I=["swf","expressInstall","hasVersion","params","flashvars"])){delete M[I[J]]}B=[];for(J in M){if(typeof M[J]==="object"){L=[];for(I in M[J]){L.push(I.replace(/([A-Z])/,"-$1").toLowerCase()+":"+M[J][I]+";")}M[J]=L.join("")}B.push(J+'="'+M[J]+'"')}M=B.join(" ");if(typeof K==="object"){B=[];for(J in K){if(typeof K[J]==="object"){L=[];for(I in K[J]){if(typeof K[J][I]==="object"){H=[];for(G in K[J][I]){if(typeof K[J][I][G]==="object"){D=[];for(F in K[J][I][G]){D.push(F.replace(/([A-Z])/,"-$1").toLowerCase()+":"+K[J][I][G][F]+";")}K[J][I][G]=D.join("")}H.push(G+"{"+K[J][I][G]+"}")}K[J][I]=H.join("")}L.push(window.escape(I)+"="+window.escape(K[J][I]))}K[J]=L.join("&amp;")}B.push('<PARAM NAME="'+J+'" VALUE="'+K[J]+'">')}K=B.join("")}if(!(/style=/.test(M))){M+=' style="vertical-align:text-top;"'}if(!(/style=(.*?)vertical-align/.test(M))){M=M.replace(/style="/,'style="vertical-align:text-top;')}if(A.browser.msie){M+=' classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"';K='<PARAM NAME="movie" VALUE="'+C+'">'+K}else{M+=' type="application/x-shockwave-flash" data="'+C+'"'}E.innerHTML="<OBJECT "+M+">"+K+"</OBJECT>";return A(E.firstChild)};A.fn.flash=function(C){if(!A.hasFlashPlayer){return this}var B=0,D;while((D=this.eq(B++))[0]){D.html(A.flash(A.extend({},C)));if(D[0].firstChild.getAttribute("id")==="SWFObjectExprInst"){B=this.length}}return this}}(jQuery));

/**
* hoverIntent r5 // 2007.03.27 // jQuery 1.1.2+
* <http://cherne.net/brian/resources/jquery.hoverIntent.html>
* 
* @param  f  onMouseOver function || An object with configuration options
* @param  g  onMouseOut function  || Nothing (use configuration options object)
* @author    Brian Cherne <brian@cherne.net>
*/
(function($){$.fn.hoverIntent=function(f,g){var cfg={sensitivity:7,interval:100,timeout:0};cfg=$.extend(cfg,g?{over:f,out:g}:f);var cX,cY,pX,pY;var track=function(ev){cX=ev.pageX;cY=ev.pageY;};var compare=function(ev,ob){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);if((Math.abs(pX-cX)+Math.abs(pY-cY))<cfg.sensitivity){$(ob).unbind("mousemove",track);ob.hoverIntent_s=1;return cfg.over.apply(ob,[ev]);}else{pX=cX;pY=cY;ob.hoverIntent_t=setTimeout(function(){compare(ev,ob);},cfg.interval);}};var delay=function(ev,ob){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);ob.hoverIntent_s=0;return cfg.out.apply(ob,[ev]);};var handleHover=function(e){var p=(e.type=="mouseover"?e.fromElement:e.toElement)||e.relatedTarget;while(p&&p!=this){try{p=p.parentNode;}catch(e){p=this;}}if(p==this){return false;}var ev=jQuery.extend({},e);var ob=this;if(ob.hoverIntent_t){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);}if(e.type=="mouseover"){pX=ev.pageX;pY=ev.pageY;$(ob).bind("mousemove",track);if(ob.hoverIntent_s!=1){ob.hoverIntent_t=setTimeout(function(){compare(ev,ob);},cfg.interval);}}else{$(ob).unbind("mousemove",track);if(ob.hoverIntent_s==1){ob.hoverIntent_t=setTimeout(function(){delay(ev,ob);},cfg.timeout);}}};return this.mouseover(handleHover).mouseout(handleHover);};})(jQuery);

/*
 * Superfish v1.4.8 - jQuery menu widget
 * Copyright (c) 2008 Joel Birch
 *
 * Dual licensed under the MIT and GPL licenses:
 * 	http://www.opensource.org/licenses/mit-license.php
 * 	http://www.gnu.org/licenses/gpl.html
 *
 * CHANGELOG: http://users.tpg.com.au/j_birch/plugins/superfish/changelog.txt
 */
;(function($){$.fn.superfish=function(op){var sf=$.fn.superfish,c=sf.c,$arrow=$(['<span class="',c.arrowClass,'"> &#187;</span>'].join('')),over=function(){var $$=$(this),menu=getMenu($$);clearTimeout(menu.sfTimer);$$.showSuperfishUl().siblings().hideSuperfishUl();},out=function(){var $$=$(this),menu=getMenu($$),o=sf.op;clearTimeout(menu.sfTimer);menu.sfTimer=setTimeout(function(){o.retainPath=($.inArray($$[0],o.$path)>-1);$$.hideSuperfishUl();if(o.$path.length&&$$.parents(['li.',o.hoverClass].join('')).length<1){over.call(o.$path);}},o.delay);},getMenu=function($menu){var menu=$menu.parents(['ul.',c.menuClass,':first'].join(''))[0];sf.op=sf.o[menu.serial];return menu;},addArrow=function($a){$a.addClass(c.anchorClass).append($arrow.clone());};return this.each(function(){var s=this.serial=sf.o.length;var o=$.extend({},sf.defaults,op);o.$path=$('li.'+o.pathClass,this).slice(0,o.pathLevels).each(function(){$(this).addClass([o.hoverClass,c.bcClass].join(' ')).filter('li:has(ul)').removeClass(o.pathClass);});sf.o[s]=sf.op=o;$('li:has(ul)',this)[($.fn.hoverIntent&&!o.disableHI)?'hoverIntent':'hover'](over,out).each(function(){if(o.autoArrows)addArrow($('>a:first-child',this));}).not('.'+c.bcClass).hideSuperfishUl();var $a=$('a',this);$a.each(function(i){var $li=$a.eq(i).parents('li');$a.eq(i).focus(function(){over.call($li);}).blur(function(){out.call($li);});});o.onInit.call(this);}).each(function(){var menuClasses=[c.menuClass];if(sf.op.dropShadows&&!($.browser.msie&&$.browser.version<7))menuClasses.push(c.shadowClass);$(this).addClass(menuClasses.join(' '));});};var sf=$.fn.superfish;sf.o=[];sf.op={};sf.IE7fix=function(){var o=sf.op;if($.browser.msie&&$.browser.version>6&&o.dropShadows&&o.animation.opacity!=undefined)
this.toggleClass(sf.c.shadowClass+'-off');};sf.c={bcClass:'sf-breadcrumb',menuClass:'sf-js-enabled',anchorClass:'sf-with-ul',arrowClass:'sf-sub-indicator',shadowClass:'sf-shadow'};sf.defaults={hoverClass:'sfHover',pathClass:'overideThisToUse',pathLevels:1,delay:800,animation:{opacity:'show'},speed:'normal',autoArrows:true,dropShadows:true,disableHI:false,onInit:function(){},onBeforeShow:function(){},onShow:function(){},onHide:function(){}};$.fn.extend({hideSuperfishUl:function(){var o=sf.op,not=(o.retainPath===true)?o.$path:'';o.retainPath=false;var $ul=$(['li.',o.hoverClass].join(''),this).add(this).not(not).removeClass(o.hoverClass).find('>ul').hide().css('visibility','hidden');o.onHide.call($ul);return this;},showSuperfishUl:function(){var o=sf.op,sh=sf.c.shadowClass+'-off',$ul=this.addClass(o.hoverClass).find('>ul:hidden').css('visibility','visible');sf.IE7fix.call($ul);o.onBeforeShow.call($ul);$ul.animate(o.animation,o.speed,function(){sf.IE7fix.call($ul);o.onShow.call($ul);});return this;}});})(jQuery);

$(document).ready(function() {

    // Homepage flash
    $('#pledgeMap').flash({
        swf: 'flash/map-smallmap.swf',
        width: 400,
        height: 274,
        params: {
            wmode: 'transparent'
        }
    });


    // See if font is available
    if ((!$.fontAvailable('"Century Gothic"')) && (!($.browser.msie && $.browser.version >= 7))) {
        // master page
        Cufon.replace('#header label, #header a.searchBtn, #login, #footerNav a, #footer p');
        // home page
        Cufon.replace('#home .homeContent h1, #home .homeContent h2, #pledgeBox p, #pledgeBox h3, #pledgeSearchForm label, #pledgeForm h2, #pledgeForm h3, #pledgeForm label, #pledgeForm p.pledgeBtn a, #home #botRow .homeCol h2, #home #col3 h3');
        // inside pages
        Cufon.replace('#mainContent .contentHead1, #mainContent .contentHead2, #sidebar h3, #sidebar p, #pledgeForm .formHeader');
    }

    // Search form
    $('#search').focus(function() {
        $(this).val('');
    });

    // Login form
    $('#username').focus(function() {
        $(this).val('');
        $(this).css('color', '#363e2b');
    });
    $('#password').focus(function() {
        $(this).css('background-position', '0px 22px');
    });

    // Pledge Search
    $('#pledgeSearch').focus(function() {
        $(this).val('');
    });
    $('#pledgeSearchBtn').hover(
		function() {
		    $('#pledgeMap .tooltip').show();
		},
		function() {
		    $('#pledgeMap .tooltip').hide();
		}
	);

    // Pledge Form
    $('#pledgeForm input').focus(function() {
        $(this).css('color', '#363e2b');
        //alert($(this).val());
        switch ($(this).val()) {
            case 'first name':
                $(this).val('');
                break;
            case 'last name':
                $(this).val('');
                break;
            case 'email':
                $(this).val('');
                break;
            case 'street address':
                $(this).val('');
                break;
            case 'city':
                $(this).val('');
                break;
            case 'state':
                $(this).val('');
                break;
            case 'zip':
                $(this).val('');
                break;
            case 'name':
                $(this).val('');
            case 'organization':
                $(this).val('');
                break;
            case 'address':
                $(this).val('');
                break;
            case 'phone':
                $(this).val('');
                break;
            case '# of members':
                $(this).val('');
                break;
            case 'title':
                $(this).val('');
                break;
        }
    });

    // Equalize column heights
    var mcHt = $('.inside #mainContent').height();
    var sbHt = $('.inside #sidebar').height();
    if (mcHt > sbHt) {
        $('.inside #sidebar').height(mcHt);
    }

    // IE6 png fix
    if ($.browser.msie && $.browser.version <= 6) {
        DD_belatedPNG.fix('#pledgeForm');
    };

    // Drop-down menu
    if (!($.browser.msie && $.browser.version <= 6)) { // not IE6 or lower
        var listWidth;
        // adds background image containers
        $('#nav ul').append('<span class="botLeft"></span><span class="botRight"></span><span class="topLeft"></span><span class="topRight"></span>');
        // removes background color so transparency of background images will show
        $('#nav ul').css('background', 'none');
        // sets list items to full width of list so that list will have green background
        $('#nav ul').each(function() {
            listWidth = $(this).width() + 3;
            $(this).children('li').width(listWidth);
        });
    }

    $('ul#nav').superfish({
        delay: 1000,                            // one second delay on mouseout 
        animation: { opacity: 'show', height: 'show' },  // fade-in and slide-down animation 
        speed: 'fast',                          // faster animation speed 
        autoArrows: false,                           // disable generation of arrow mark-up 
        dropShadows: false                            // disable drop shadows 
    });

});

function closeLogin(){
    $('#loginForm').css('display', 'none');
    return false;
}

function openLogin() {
    $('#loginForm').css('display', 'block');
    return false;
}

function closePledgeForm() {
    $('#pledgeForm').css('display', 'none');
    $('#pledgeBox h3 a').removeClass('current');

    $("input#firstName").css('color', '#93a27e');
    $("input#lastName").css('color', '#93a27e');
    $("input#email").css('color', '#93a27e');
    $("input#address").css('color', '#93a27e');
    $("input#city").css('color', '#93a27e');
    $("input#state").css('color', '#93a27e');
    $("input#zip").css('color', '#93a27e');
    
    $("input#firstName").val('first name');
    $("input#lastName").val('last name');
    $("input#email").val('email');
    $("input#address").val('street address');
    $("input#city").val('city');
    $("input#state").val('state');
    $("input#zip").val('zip');
    return false;
}

function openPledgeForm() {
    $('#pledgeForm').css('display', 'block');
	$('#pledgeBox h3 a').addClass('current');
    return false;
}

function callLoginService() {
    var username = $("input#username").val();
    var password = $("input#password").val();

    $.ajax({
        type: "POST",
        url: "/webservice.asmx/LoginMember",
        data: { Email: username, password: password },
        dataType: "xml",
        success: function(xml) {
            var profileID = $(xml).find('ProfileID').text();
            if (profileID == "0") {
                $('#error').css('display', 'block');
            }
            else {
                window.location.reload();
            }

        },
        error: function(xhr, msg) {
            alert(xhr.responseText);
        }
    });

}

function checkEnter(e) { //e is event object passed from function invocation
    var characterCode;  //literal character code will be stored in this variable            
    if (e && e.which) { //if which property of event object is supported (NN4)
        e = e;
        characterCode = e.which;  //character code is contained in NN4's which property
    }
    else {
        e = event;
        characterCode = e.keyCode;  //character code is contained in IE's keyCode property
    }
    if (characterCode == 13) { //if generated character code is equal to ascii 13 (if enter key)
        submitSearch();
        return false;
    }
    else {
        return true;
    }
}

//Check if they want to submit search
function submitSearch() {
    var q = $("input#search").val();
    window.location = "/search.aspx?cx=008155647536880408865:ubyvmvmlq1c&cof=FORID:11&q=" + q;

}

//Validate Homepage Pledge
function validateHomePledge(){
    var firstName = $("input#firstName").val();
    var lastName = $("input#lastName").val();
    var email = $("input#email").val();
    var address = $("input#address").val();
    var city = $("input#city").val();
    var state = $("input#state").val();
    var zip = $("input#zip").val();

    var blnError = false;
    var errText = 'The following fields are required:';
    
    if (firstName == "" || firstName == "first name")
    {
        //$("input#firstName").css('border', '1px solid red');
        errText = errText + '\nFirst Name';
        blnError = true;
    }
    else
    {
        $("input#firstName").css('border', '0px');
    }
    
    if (lastName == "" || lastName == "last name")
    {
        //$("input#lastName").css('border', '1px solid red');
        errText = errText + "\nLast Name";
        blnError = true;
    }
    else
    {
        $("input#lastName").css('border', '0px');
        
    }
    
    if (email == "email")
    {
        email = "";
    }
   
    
    if (address == "" || address == "street address")
    {
        //$("input#address").css('border', '1px solid red');
        errText = errText + "\nAddress";
        blnError = true;
    }
    else
    {
        $("input#address").css('border', '0px');
    }
    
    if (city == "" || city == "city")
    {
        //$("input#city").css('border', '1px solid red');
        errText = errText + "\nCity";
        blnError = true;
    }
    else
    {
        $("input#city").css('border', '0px');
    }
    
    if (state == "" || state == "state")
    {
        //$("input#state").css('border', '1px solid red');
        errText = errText + "\nState";
         blnError = true;
    }
    else
    {
        $("input#state").css('border', '0px');
    }
    
    if (zip == "" || zip == "zip")
    {
        //$("input#zip").css('border', '1px solid red');
        errText = errText + "\nZip";
        blnError = true;
    }
    else
    {
        $("input#zip").css('border', '0px');
    }

    if (blnError == false) {
        var myForm = document.forms.formPledge;
        myForm.action = "/pledge/pledge-to-unplug.aspx";
        myForm.method = "post";
        myForm.submit();
    }
    else {
        alert(errText);
    }
    return false;
}

//Validate Bulb Pledge
function validateBulbPledge() {
    var firstName = $("input#firstName").val();
    var lastName = $("input#lastName").val();
    var email = $("input#email").val();
    var address = $("input#address").val();
    var city = $("input#city").val();
    var state = $("input#state").val();
    var zip = $("input#zip").val();

    var blnError = false;
    var errText = 'The following fields are required:';
    
    if (firstName == "" || firstName == "first name") {
        //$("input#firstName").css('border', '1px solid red');
        errText = errText + "\nFirst Name";
        blnError = true;
    }
    else {
        $("input#firstName").css('border', '0px');

    }

    if (lastName == "" || lastName == "last name") {
        //$("input#lastName").css('border', '1px solid red');
        errText = errText + "\nLast Name";
         blnError = true;
    }
    else {
        $("input#lastName").css('border', '0px');

    }

    if (address == "" || address == "street address") {
        //$("input#address").css('border', '1px solid red');
        errText = errText + "\nAddress";
         blnError = true;
    }
    else {
        $("input#address").css('border', '0px');
    }

    if (city == "" || city == "city") {
       // $("input#city").css('border', '1px solid red');
        errText = errText + "\nCity"; 
        blnError = true;
    }
    else {
        $("input#city").css('border', '0px');
    }

    if (state == "" || state == "state") {
        //$("input#state").css('border', '1px solid red');
        errText = errText + "\nState";
         blnError = true;
    }
    else {
        $("input#state").css('border', '0px');
    }

    if (zip == "" || zip == "zip") {
        //$("input#zip").css('border', '1px solid red');
        errText = errText + "\nZip";
         blnError = true;
    }
    else {
        $("input#zip").css('border', '0px');
    }

    if (blnError == false) {
        var myForm = document.forms.formPledge;
        myForm.action = "Lightbulb-Pledge.aspx";
        myForm.method = "post";
        myForm.submit();
    }
    else {
        alert(errText);
    }
    return false;
}

//Validate Up 2, Down 2 Pledge
function validateUp2Down2Pledge() {
    var firstName = $("input#firstName").val();
    var lastName = $("input#lastName").val();
    var email = $("input#email").val();
    var address = $("input#address").val();
    var city = $("input#city").val();
    var state = $("input#state").val();
    var zip = $("input#zip").val();
    var up2Down2 = $("input#rblUp2Down2").val();

    var blnError = false;
    var errText = 'The following fields are required:';

    if (firstName == "" || firstName == "first name") {
        //$("input#firstName").css('border', '1px solid red');
        errText = errText + "\nFirst Name";
        blnError = true;
    }
    else {
        $("input#firstName").css('border', '0px');

    }

    if (lastName == "" || lastName == "last name") {
        //$("input#lastName").css('border', '1px solid red');
        errText = errText + "\nLast Name";
        blnError = true;
    }
    else {
        $("input#lastName").css('border', '0px');

    }

    if (address == "" || address == "street address") {
        //$("input#address").css('border', '1px solid red');
        errText = errText + "\nAddress";
        blnError = true;
    }
    else {
        $("input#address").css('border', '0px');
    }

    if (city == "" || city == "city") {
        // $("input#city").css('border', '1px solid red');
        errText = errText + "\nCity";
        blnError = true;
    }
    else {
        $("input#city").css('border', '0px');
    }

    if (state == "" || state == "state") {
        //$("input#state").css('border', '1px solid red');
        errText = errText + "\nState";
        blnError = true;
    }
    else {
        $("input#state").css('border', '0px');
    }

    if (zip == "" || zip == "zip") {
        //$("input#zip").css('border', '1px solid red');
        errText = errText + "\nZip";
        blnError = true;
    }
    else {
        $("input#zip").css('border', '0px');
    }

    if (up2Down2 == "0") {
        //$("input#rblUp2Down2").css('border', '1px solid red');
        errText = errText + "\nThermostat Pledge";
        blnError = true;
    }
    else {
        $("input#rblUp2Down2").css('border', '0px');
    }

    if (blnError == false) {
        var myForm = document.forms.formPledge;
        myForm.action = "Up-2-Down-2-Pledge.aspx";
        myForm.method = "post";
        myForm.submit();
    }
    else {
        alert(errText);
    }
    return false;
}

function hideShowDiv(show, divID)
{
    if (show == "1")
        document.getElementById(divID).style.display = "block";
    else
        document.getElementById(divID).style.display = "none";
}

function submitMapForm()
{
    document.forms.mapForm.submit(); 
    return false;
}





