window.addEvent('domready', function() {
    $$('.mv_MonthHeader').each(function(elem) {
        elem.set('text', elem.get('text').clean());
    });
    $$('.mv_MonthHeaderPrev').each(function(elem) {
        elem.getElement('a').set('text', '<<');
    });
    $$('.mv_MonthHeaderNext').each(function(elem) {
        elem.getElement('a').set('text', '>>');
    });
    $$('.mv_weekendDOWHeader, .mv_weekdayDOWHeader').each(function(elem) {

        switch (elem.get('text').trim()) {
            case 'Sunday':
                elem.set('text', 'Sun');
                break;
            case 'Monday':
                elem.set('text', 'Mon');
                break;
            case 'Tuesday':
                elem.set('text', 'Tue');
                break;
            case 'Wednesday':
                elem.set('text', 'Wed');
                break;
            case 'Thursday':
                elem.set('text', 'Thu');
                break;
            case 'Friday':
                elem.set('text', 'Fri');
                break;
            case 'Saturday':
                elem.set('text', 'Sat');
                break;
        }
    });



    $$('.mv_eventTitle').each(function(elem) {
        //elem.getParent('table').getParent('tr').dispose();
    });
    $$('.mv_NonMonthBorder, .mv_dayBorder, .mv_dayBorderWeekend, .mv_dayBorderToday').each(function(elem) {
        if (elem.getElement('.mv_eventTitle')) {
            var myLink = elem.getElement('.mv_eventTitle').getElement('a');
            var newLink = new Element('a', { 'text': elem.getElement('.mv_DateCell, .mv_DateCellWeekend, .mv_DateCellToday').get('text').trim() });
            elem.getElement('.mv_DateCell, .mv_DateCellWeekend, .mv_DateCellToday').empty();
            newLink.inject(elem.getElement('.mv_DateCell, .mv_DateCellWeekend, .mv_DateCellToday'));
            newLink.set('href', myLink.get('href'));
            elem.getElement('.mv_eventTitle').getParent('table').getParent('tr').dispose();
            elem.addClass('activeDay');
        }
        else {
            if (elem.getElement('.mv_DateCell, .mv_DateCellWeekend, .mv_DateCellToday')) {
                elem.getElement('.mv_DateCell, .mv_DateCellWeekend, .mv_DateCellToday').set('text', elem.getElement('.mv_DateCell, .mv_DateCellWeekend, .mv_DateCellToday').get('text'));
            }
        }
    });

    $$('.mv_NonMonthBorder').each(function(elem) {
        elem.empty();
    });

    $$('.mv_DayCell, .mv_DayCellWeekend, .mv_DayCellToday').each(function(elem) {
        if (elem.get('text').clean() == '') {
            elem.getParent('tr').dispose();
        }
    });
    $$('.mv_DateCell, .mv_DateCellWeekend, .mv_DateCellToday').each(function(elem) {
        elem.removeProperty('width');
    });
    $$('.mv_DateCellEmpty, .mv_DateCellEmptyWeekend, .mv_DateCellEmptyToday').each(function(elem) {
        elem.dispose();
    });
    $$('.mv_DateCell, .mv_DateCellWeekend, .mv_DateCellToday').each(function(elem) {
        if (elem.getElement('a')) {
            elem.addClass('activeDay');
        }
    });

    if ($('VisibleCalendarControl')) {
        $('VisibleCalendarControl').setStyle('display', 'block');
    }
});


var beingSorted = false;

var upClick = function(e) {
    e.stop();
    var curLi = this.getParent('li');
    if (curLi.getPrevious('li')) {
        curLi.inject(curLi.getPrevious('li'), 'before');
        resetUpDown.run();
    }
    else {
        curLi.inject(curLi.getParent('ul'), 'top');
        resetUpDown.run();
    }
    $(document.body).getElement('table.sort').getElements('th').each(function(myCol, index) {
        if (myCol.getElement('a')) {
            myCol.getElement('a').removeClass('asc');
            myCol.getElement('a').removeClass('desc');
        }
    });
}

var downClick = function(e) {
    e.stop();
    var curLi = this.getParent('li');
    if (curLi.getNext('li')) {
        curLi.inject(curLi.getNext('li'), 'after');
        resetUpDown.run();
    }
    else {
        curLi.inject(curLi.getParent('ul'), 'bottom');
        resetUpDown.run();
    }
    $(document.body).getElement('table.sort').getElements('th').each(function(myCol, index) {
        if (myCol.getElement('a')) {
            myCol.getElement('a').removeClass('asc');
            myCol.getElement('a').removeClass('desc');
        }
    });
}

var resetUpDown = function() {
    $('printServicesSortList').getElements('li').each(function(myLi, index) {
        myLi.getElement('.up').removeEvent('click', upClick);
        myLi.getElement('.up').addEvent('click', upClick);
        
        myLi.getElement('.down').removeEvent('click', downClick);
        myLi.getElement('.down').addEvent('click', downClick);
        
        myLi.getElement('.down').setStyle('display', 'block');
        myLi.getElement('.up').setStyle('display', 'block');
        if (index == 0) {
            myLi.getElement('.up').setStyle('display', 'none');
        }
        if (index == ($('printServicesSortList').getElements('li').length - 1)) {
            myLi.getElement('.down').setStyle('display', 'none');
        }
    });
}

var compareAlpha = function(a, b) {
    var nameA = a.value.toLowerCase();
    var nameB = b.value.toLowerCase();
    if (nameA < nameB) { return -1 }
    else if (nameA > nameB) { return 1 }
    else {
        var temp1A = a.item.getElements('td')[2].get('text').toLowerCase();
        var temp1B = b.item.getElements('td')[2].get('text').toLowerCase();
        if (temp1A < temp1B) { return -1 }
        else if (temp1A > temp1B) { return 1 }
        else {
            var temp2A = a.item.getElements('td')[3].get('text').toLowerCase();
            var temp2B = b.item.getElements('td')[3].get('text').toLowerCase();
            if (temp2A < temp2B) { return -1 }
            if (temp2A > temp2B) { return 1 }
        }
    }
    return 0;
}

var sortItems = function() {
    var sortLink = this;
    var sortOn = '';
    var sortRow = $(document.body).getElement('table.sort');
    sortRow.getElements('th').each(function(myCol, index) {
        if (myCol.get('text') == sortLink.get('text')) {
            sortOn = index;
        }
        else {
            if (myCol.getElement('a')) {
                myCol.getElement('a').removeClass('asc');
                myCol.getElement('a').removeClass('desc');
            }
        }
    });
    var items = new Array();
    $$('#printServicesSortList li').each(function(myItem, index) {
        items.push({ 'index': index, 'value': myItem.getElements('td')[sortOn].get('text'), 'item': myItem.clone() });
    });
    items = items.sort(compareAlpha);
    if (sortLink.hasClass('asc')) {
        items = items.reverse();
        sortLink.removeClass('asc');
        sortLink.addClass('desc');
    }
    else {
        sortLink.addClass('asc');
        sortLink.removeClass('desc');
    }
    $('printServicesSortList').empty();
    items.each(function(myItem) {
        myItem.item.inject($('printServicesSortList'));
    });
    setPrintingServices.run();
}

var radSelSwap = function() {
    if (this.checked) {
        this.blur();
        $$('.radio_sel').removeClass('select');
        this.getParent('.radio_sel').addClass('select');
    }
}

var setPrintingServices = function() {
    if ($('printServicesSortList')) {
        resetUpDown.run();
        $('printServicesSortList').getElements('li').each(function(myLi) {
            myLi.setStyle('cursor', 'move');
            myLi.addEvent('mouseenter', function() {
                if (!beingSorted) {
                    myLi.addClass('hover');
                }
            });
            myLi.addEvent('mouseleave', function() {
                if (!beingSorted) {
                    myLi.removeClass('hover');
                }
            });
        });

        var mySortables = new Sortables('#printServicesSortList', {
            'onStart': function(element, clone) {
                clone.getElements('.up, .down').dispose();
                clone.addClass('hover');
                element.removeClass('hover');
                beingSorted = true;
            },
            'onSort': function(element, clone) {
                resetUpDown.run();
            },
            'onComplete': function(element) {
                beingSorted = false;
                resetUpDown.run();
                $(document.body).getElement('table.sort').getElements('th').each(function(myCol, index) {
                    if (myCol.getElement('a')) {
                        myCol.getElement('a').removeClass('asc');
                        myCol.getElement('a').removeClass('desc');
                    }
                });
            },
            'clone': true,
            'opacity': .3,
            'constrain': true
        });
    }
}

window.addEvent('domready', function() {

    if ($('singlePDF')) {
        $('singlePDF').clone().inject($('singlePDF').getNext('h4.affiliate'), 'top');
        $('singlePDF').dispose();
    }

    if ($(document.body).getElement('table.sort')) {
        var sortCols = new Array();
        sortCols.push($(document.body).getElement('table.sort').getElements('th')[1]);
        sortCols.push($(document.body).getElement('table.sort').getElements('th')[2]);
        sortCols.push($(document.body).getElement('table.sort').getElements('th')[3]);
        sortCols.each(function(myCol) {
            var myText = myCol.get('text');
            var myLink = new Element('a', { 'href': '#', 'text': myText });
            myCol.set('text', '');
            myLink.inject(myCol);
            myLink.addEvent('click', function(e) {
                if (e != null) {
                    e.stop();
                }
                var mySort = sortItems.bind(this);
                mySort.run();
            });
        });
        $(document.body).getElement('table.sort').getElement('a').fireEvent('click');
    }

    if ($$('a.toggle').length > 0) {
        $$('a.toggle').each(function(myTog) {
            if (myTog.get('id') != '') {
                if (myTog.get('text') == 'Toggle') {
                    myTog.set('text', 'Hide');
                }
                myTog.addEvent('click', function(e) {
                    var temp = this.get('id').split("_");
                    if (temp.length == 3) {
                        if (temp[0] == 'toggle') {
                            if ($(temp[1])) {
                                e.stop();
                                this.blur();
                                $(temp[1]).toggleClass(temp[2]);
                                if (this.get('text') == 'Hide') {
                                    this.set('text', 'Show');
                                }
                                else if (this.get('text') == 'Show') {
                                    this.set('text', 'Hide');
                                }
                            }
                        }
                    }
                });
            }
        });
    }

    if ($$('.radio_sel').length > 0) {
        $$('.radio_sel').each(function(radSel) {
            if (radSel.getElement('label')) {
                if (Browser.Engine.trident) {
                    radSel.getElement('label').setStyle('margin-top', 4);
                }
            }
            if (radSel.getElement('input')) {
                radSel.getElement('input').addEvent('click', function() {
                    var myItem = this
                    radSelSwap.delay(10, myItem);
                });
                radSel.getElement('label').addEvent('click', function() {
                    var myItem = this.getPrevious('input');
                    radSelSwap.delay(10, myItem);
                });
                if (radSel.getElement('input').checked) {
                    $$('.radio_sel').removeClass('select');
                    radSel.addClass('select');
                }
            }
        });
    }

    setPrintingServices.run();

    $(document.body).getElements('table.sort a.button').addEvent('click', function(e) {
        e.stop();
        e.stopPropagation();
        var removeLis = new Array();
        $('printServicesSortList').getElements('input').each(function(myIn) {
            if (myIn.get('type') == 'checkbox') {
                if (myIn.checked) {
                    removeLis.push(myIn.getParent('li'));
                }
            }
        });
        if (removeLis.length > 0) {
            var ques = 'Are you sure you want to remove these services?';
            if (removeLis.length == 1) {
                ques = 'Are you sure you want to remove this service?';
            }
            var myAnswer = confirm(ques);
            if (myAnswer) {
                removeLis.each(function(myLi) {
                    myLi.dispose();
                });
                resetUpDown.run();
            }
        }
        else {
            alert('To remove a service please select the corresponding check box and then click Remove');
        }

    });


    if ($('signpostSpacer')) {
        if (Browser.Engine.trident && (Browser.Engine.version == '4')) {
            $('signpostSpacer').dispose();
            if ($('signpost')) {
                $('signpost').setStyle('position', 'relative');
            }
            $('flowerRight').setStyle('position', 'relative');
            $('flowerRight').setStyle('float', 'right');
            $('flowerRight').setStyle('bottom', '-90px');
        }
    }
    $$('.servicelink').each(function(myLink) {
        var myDiv = new Element('div', { 'class': 'overlay' });
        myDiv.inject(myLink);
    });
    checkContainer.run();
    checkContainer.periodical(250);

    if ($(document.body).getElements('.ekResetPassEmailLabel').length > 0) {
        $(document.body).getElement('.ekResetPassEmailLabel').set('text', 'User Name:');
    }
    $$('.print').each(function(myBtn) {
        myBtn.setStyle('display', 'inline-block');
        myBtn.addEvent('click', function(e) {
            e.stop();
            print();
            myBtn.blur();
        });
    });
    $$('.ekcommentbutton').each(function(myBtn) {
        myBtn.addClass('button');
    });
    $$('div.blogEntries *').each(function(myElem) {
        if (myElem.getStyle('display') == 'none') {
            //myElem.dispose();
        }
    });
    $$('.button, .basicSearchSubmit').each(function(myBtn) {
        var mySpan = new Element('span', { 'class': 'button' });
        mySpan.wraps(myBtn);
    });
    if ((window.location.href.indexOf('erviceListing.aspx') > 0) || (window.location.href.indexOf('ervicelisting.aspx') > 0)) {
        $$('li').each(function(menuLink) {
            if (menuLink.id == 'menu_8') {
                menuLink.addClass('drop selected');
            }
        })
    }
    else if ((window.location.href.indexOf('DonationNews.aspx') > 0) || (window.location.href.indexOf('DonationEvents.aspx') > 0) || (window.location.href.indexOf('DonationsFund.aspx') > 0) || (window.location.href.indexOf('GivingOpportunities.aspx') > 0)) {
        $$('li').each(function(menuLink) {
            if (menuLink.id == 'menu_10') {
                menuLink.addClass('drop selected');
            }
        })
    }
    if ($$('.countyList').length > 0) {
        $$('.countyList').each(function(countyItem) {
            countyItem.getElements('li').each(function(myLi) {
                if (myLi.getElement('br')) {
                    myLi.getElement('br').dispose();
                }
            });
            if (countyItem.getElements('.hide').length > 0) {
                countyItem.getElements('.hide').each(function(myCounty, num) {
                    if (num == (myCounty.getParent('.countyList').getElements('.hide').length - 1)) {
                        myCounty.set('text', stripEndComma(myCounty.get('text').clean()));
                    }
                    myCounty.setStyle('display', 'none');
                });
                var moreLink = new Element('a', {
                    'href': '#',
                    'text': '(view all)'
                });
                if (countyItem.get('tag') == 'ul') {
                    var myLi = new Element('li', {
                        'class': 'noarrow'
                    });
                    moreLink.inject(myLi);
                    myLi.inject(countyItem);
                }
                else {
                    moreLink.inject(countyItem);
                }
                moreLink.addEvent('click', function(e) {
                    e.stop();
                    this.blur();
                    if (this.get('text') == '(view all)') {
                        countyItem.getElements('.hide').each(function(myCounty) {
                            if (myCounty.get('tag') == 'li') {
                                myCounty.setStyle('display', 'block');
                            }
                            else {
                                myCounty.setStyle('display', 'inline');
                            }
                        });
                        this.set('text', '(view less)');
                    }
                    else {
                        countyItem.getElements('.hide').each(function(myCounty) {
                            myCounty.setStyle('display', 'none');
                        });
                        this.set('text', '(view all)');
                    }
                });
            }
            else {
                var myLast = countyItem.getElements('.show').getLast();
                var myCounty = stripEndComma(myLast.get('text').trim());
                myLast.set('text', myCounty);
            }
        });
    }
    if ($('subLeft')) {
        $('subLeft').getElements('li a').each(function(myLink, myIndex) {
            var curLink = myLink.get('href').split("/").getLast().toLowerCase().clean();
            var thiLink = window.location.href.split("/").getLast().toLowerCase().clean();
            if (curLink == thiLink) {
                myLink.addClass('current');
            }
        });
    }

    var checkSearch = function() {
        $$('.searchResults').each(function(myResults) {
            if (myResults.getElement('#navbar')) {
                if (myResults.getElements('.ektronPaging').length == 1) {
                    var myNav = myResults.getElement('#navbar').clone(true, true);
                    myNav.inject(myResults.getElement('#results'), 'before');
                }
            }
        });
    }
    checkSearch.periodical(250);
    makeWhatIsThis();
    window.fireEvent('resize');
    fixMenus();

    if ($$('.yearLinks')) {
        $$('.yearLinks').each(function(myLinks) {
            var myInner = myLinks.getElement('div');
            var endHere = (myInner.getElements('a').length - 1);
            var linkWidth = 0;
            if (myInner.getSize().x > 360) {
                myInner.getElements('a').each(function(myLink, index) {
                    if ((linkWidth + myLink.getSize().x) <= 360) {
                        linkWidth = linkWidth + myLink.getSize().x;
                        endHere = index;
                    }
                });

                myInner.setProperty('maxLeft', (myInner.getElements('a').length - 1 - endHere));
                myInner.setStyles({
                    'display': 'block',
                    'width': linkWidth,
                    'margin': 'auto',
                    'overflow': 'hidden'
                });
                myInner.set('morph', { 'duration': 500 });
                myInner.setProperty('starting', 0);
                var leftLinks = new Element('a', { 'href': '#', 'class': 'leftLinks' });
                var rightLinks = new Element('a', { 'href': '#', 'class': 'rightLinks' });
                leftLinks.setStyle('display', 'none');
                leftLinks.inject(myLinks);
                rightLinks.inject(myLinks);
                leftLinks.addEvent('click', function(e) {
                    e.stop();
                    var myInner = this.getParent('div').getElement('div');
                    var myMorph = myInner.get('morph');
                    var startLeft = 0;
                    myInner.setProperty('starting', (myInner.getProperty('starting') * 1) - 1);
                    myInner.getElements('a').each(function(myLink, index) {
                        if (index < (myInner.getProperty('starting') * 1)) {
                            startLeft = startLeft + myLink.getSize().x;
                        }
                    });
                    myMorph.start({
                        'text-indent': -startLeft
                    }).chain(
                        function() {
                            if ((myInner.getProperty('starting') * 1) == 0) {
                                leftLinks.setStyle('display', 'none');
                            }
                            else {
                                leftLinks.setStyle('display', 'block');
                            }
                            if ((myInner.getProperty('starting') * 1) < (myInner.getProperty('maxLeft') * 1)) {
                                rightLinks.setStyle('display', 'block');
                            }
                            else {
                                rightLinks.setStyle('display', 'none');
                            }
                        }
                    );
                });
                rightLinks.addEvent('click', function(e) {
                    e.stop();
                    var myInner = this.getParent('div').getElement('div');
                    var myMorph = myInner.get('morph');
                    var startLeft = 0;
                    myInner.setProperty('starting', (myInner.getProperty('starting') * 1) + 1);
                    myInner.getElements('a').each(function(myLink, index) {
                        if (index < (myInner.getProperty('starting') * 1)) {
                            startLeft = startLeft + myLink.getSize().x;
                        }
                    });
                    myMorph.start({
                        'text-indent': -startLeft
                    }).chain(
                        function() {
                            if ((myInner.getProperty('starting') * 1) >= (myInner.getProperty('maxLeft') * 1)) {
                                rightLinks.setStyle('display', 'none');
                            }
                            else {
                                rightLinks.setStyle('display', 'block');
                            }
                            if ((myInner.getProperty('starting') * 1) > 0) {
                                leftLinks.setStyle('display', 'block');
                            }
                            else {
                                leftLinks.setStyle('display', 'none');
                            }
                        }
                    );
                });
            }
        });
    }
});

var checkContainer = function() {
    var addPad = 30;
    if (Browser.Engine.trident && Browser.Engine.version <= 5) {
        addPad = addPad + 30;
    }
    if ($('container').getSize().y < ($('sidebar').getSize().y + addPad)) {
        var newHeight = $('sidebar').getSize().y + addPad - $('page').getSize().y;
        if ($('footerHome')) {
            newHeight = (newHeight - $('footerHome').getSize().y);
        }
        if ($('footerSub')) {
            newHeight = (newHeight - $('footerSub').getSize().y);
        }
        $('footer').setStyle('height', newHeight);
        $('footer').getElement('div').setStyles({
            'position': 'absolute',
            'bottom': '0px',
            'left': Math.floor(($(document.body).getSize().x - $('page').getSize().x) / 2)
        });
    }
}

function makeWhatIsThis()
{
    $$('.whatisthis').each(function(myObj)
    {
        myObj.setStyle('display', 'inline');
        makeInfo(myObj);
    });
}
function makeInfo(vObj) {
    var myText = vObj.get('text');
    vObj.empty();
    vObj.addClass('mark');
    var myImg = new Element('div', { 'class': 'image' });
    vObj.setStyle('cursor', 'pointer');
    myImg.inject(vObj);

    var myInfo = new Element('div', { 'class': 'info', 'html': '<div class="top"></div><div class="bot"><div class="inside">'+myText+'</div></div>' });
    myInfo.set('morph', { 'duration': 250 });
    myInfo.setStyle('opacity', '0');
    myInfo.inject(vObj);

    myImg.addEvent('mouseenter', function() {
        this.getParent('.mark').getElement('.info').morph({ 'opacity': 1 });
    });
    myImg.addEvent('mouseleave', function() {
        this.getParent('.mark').getElement('.info').morph({ 'opacity': 0 });
    });
}

function stripEndComma(myText) {
    if (myText.substring(myText.length - 1) == ',') {
        myText = myText.substring(0, (myText.length - 1));
    }
    return myText;
}

function $get() {
    var map = {};
    var count = 0;
    var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m, key, value) {
        map[key] = value;
        count++;
    });
    return map;
}

window.addEvent('resize', function() {
    if ($('footer')) {
        if ($('footer').getElement('div').getStyle('position') == 'absolute') {
            $('footer').getElement('div').setStyles({
                'left': Math.floor(($(document.body).getSize().x - $('page').getSize().x) / 2)
            });
        }
    }
    if (Browser.Engine.trident) {
        if ($(document.body).getSize().x <= 1050) {
            var myWidth = $(document.body).getSize().x;
            if (myWidth < 960) {
                myWidth = 960;
            }
            $('container').setStyle('width', myWidth);
            $('container').setStyle('overflow', 'hidden');
        }
        else {
            $('container').setStyle('width', '100%');
            $('container').setStyle('overflow', 'visible');
        }
    }
});

window.addEvent('load', function() {
    setTimeout('adjustServices()', 500);
});

function adjustServices() {
    if ($('content').getElement('.selectServices')) {
        var ss = $('content').getElement('.selectServices');
        ss.getParent().setStyle('background-color', ss.getStyle('background-color'));
    }
}

function fixMenus() {
    $$('.widget').each(function(myWidget) {
        var newLine = new Element('div', { 'class': 'widgetLine' });
        newLine.inject(myWidget, 'top');
    });
}
