function selectSegment0AndResizeText() {
    $$('#text-resizer ul').invoke('setStyle', { backgroundPosition: '0 0' });

    // base.css
    $$('h2').invoke('setStyle', { fontSize: '182%' });
    $$('h3').invoke('setStyle', { fontSize: '123.1%' });
    $$('h4', 'h5', 'h6', 'p', 'ul', 'ol', '.FloatLeftCaptionedImage', '.FloatRightCaptionedImage', '#en-espanol', '#text-resizer').invoke('setStyle', { fontSize: '108%' });
    $$('ul.ItemBorderTop', 'ol.ItemBorderTop').invoke('setStyle', { fontSize: '100%' }); // Reset
    $$('.Meta', '#about-column .vcard').invoke('setStyle', { fontSize: '93%' });
    $$('#design-credit').invoke('setStyle', { fontSize: '85%' });
    $$('#footer-columns .Menu h3').invoke('setStyle', { fontSize: '153.9%' });
    // home.css
    // children.css
    $$('#menu h2', '#menu form label').invoke('setStyle', { fontSize: '108%' });
}

function selectSegment1AndResizeText() {
    $$('#text-resizer ul').invoke('setStyle', { backgroundPosition: '0 -22px' });
        
    // base.css
    $$('h2').invoke('setStyle', { fontSize: '189%' });
    $$('h3').invoke('setStyle', { fontSize: '131%' });
    $$('h4', 'h5', 'h6', 'p', 'ul', 'ol', '.FloatLeftCaptionedImage', '.FloatRightCaptionedImage', '#en-espanol', '#text-resizer').invoke('setStyle', { fontSize: '116%' });
    $$('ul.ItemBorderTop', 'ol.ItemBorderTop').invoke('setStyle', { fontSize: '100%' }); // Reset
    $$('.Meta', '#about-column .vcard').invoke('setStyle', { fontSize: '100%' });
    $$('#design-credit').invoke('setStyle', { fontSize: '93%' });
    $$('#footer-columns .Menu h3').invoke('setStyle', { fontSize: '161.6%' });
    // home.css
    // children.css
    $$('#menu h2', '#menu form label').invoke('setStyle', { fontSize: '116%' });
}

function selectSegment2AndResizeText() {
    $$('#text-resizer ul').invoke('setStyle', { backgroundPosition: '0 -44px' });
        
    // base.css
    $$('h2').invoke('setStyle', { fontSize: '197%' });
    $$('h3').invoke('setStyle', { fontSize: '138.5%' });
    $$('h4', 'h5', 'h6', 'p', 'ul', 'ol', '.FloatLeftCaptionedImage', '.FloatRightCaptionedImage', '#en-espanol', '#text-resizer').invoke('setStyle', { fontSize: '123.1%' });
    $$('ul.ItemBorderTop', 'ol.ItemBorderTop').invoke('setStyle', { fontSize: '100%' }); // Reset
    $$('.Meta', '#about-column .vcard').invoke('setStyle', { fontSize: '108%' });
    $$('#design-credit').invoke('setStyle', { fontSize: '100%' });
    $$('#footer-columns .Menu h3').invoke('setStyle', { fontSize: '167%' });
    // home.css
    // children.css
    $$('#menu h2', '#menu form label').invoke('setStyle', { fontSize: '123.1%' });
}

Element.addMethods('input', {
    simulatePlaceholder: function(element) {
        element = $(element);
        if (['text', 'search', 'url', 'tel', 'email', 'password'].include(element.type)) {
            element.addClassName('Empty').value = element.readAttribute('placeholder');
            
            element.observe('focus', function(anEvent) {
                if (this.hasClassName('Empty')) {
                    this.clear().removeClassName('Empty');
                }
            });
            
            element.observe('blur', function(anEvent) {
                if ($F(this) == '') {
                    this.addClassName('Empty').value = this.readAttribute('placeholder');
                }
            });
        }
        return element;
    }
});

document.observe('dom:loaded', function() {
    $$('#text-resizer ul li a')[0].observe('click', function(anEvent) {
        anEvent.stop();
        selectSegment0AndResizeText();
        Cookie.unset('textResizerPreference');
    });
    
    $$('#text-resizer ul li a')[1].observe('click', function(anEvent) {
        anEvent.stop();
        selectSegment1AndResizeText();
        Cookie.set('textResizerPreference', 'larger');
    });
    
    $$('#text-resizer ul li a')[2].observe('click', function(anEvent) {
        anEvent.stop();
        selectSegment2AndResizeText();
        Cookie.set('textResizerPreference', 'largest');
    });

    switch (Cookie.get('textResizerPreference')) {
        case 'larger':
            selectSegment1AndResizeText();
            break;
        case 'largest':
            selectSegment2AndResizeText();
            break;
    }


    
    if (!Modernizr.input.placeholder) {
        $$('#search-field', '#find-help-field', '#sign-up-field', '#locations-field').invoke('simulatePlaceholder');
    }

    $$('#header form').first().observe('submit', function(anEvent) {
        if ($F('search-field').strip() == '' || $('search-field').hasClassName('Empty')) {
            anEvent.stop();
        }
    });

    $$('#menu form').first().observe('submit', function(anEvent) {
        if ($$('#menu form').first().findFirstElement().getValue().strip() == '' || $$('#menu form').first().findFirstElement().hasClassName('Empty')) {
            anEvent.stop();
        }
    });
});
