Cufon.replace('p,h1,h2,h3,h4,h5,h6,td,th');
Cufon.replace('#navigation a',{hover: true});
Cufon.replace('#slider-v2 .slider-texts h1', { textShadow: '#000 0 1px 0'});
Cufon.replace('#primary-navigation', { fontFamily: 'Baskerville FS'} );
Cufon.replace('#primary-navigation ul ul'); //, { fontFamily: 'Trade Gothic LT Std' });

Cufon.replace('#secondary-navigation', { fontFamily: 'Baskerville FS'} );

Cufon.replace('.property-information .property-name', {fontFamily: 'Baskerville FS'});
Cufon.replace('.property-information .property-location', {fontFamily: 'Baskerville FS'});
Cufon.replace('.property-information p');
Cufon.replace('.property-information .property-detail');

Cufon.replace('.firm-profile-list');
Cufon.replace('#blog *');
Cufon.replace('#blog li');

Cufon.replace('#page-content h2', {fontFamily: 'Baskerville FS'});
Cufon.replace('#page-content h3', {fontFamily: 'Baskerville FS'});

$(function() {

    var redirects = {
	'http://www.dsarch.com/#/menu?item=0&rnd=':'/featured-projects/',
	'http://www.dsarch.com/#/sub-menu?item-sub=1&trumbs=8&item=0&gal-cat=0':'/featured-projects/retirement-village/',
	'http://www.dsarch.com/#/sub-menu?item-sub=2&trumbs=6&item=0&gal-cat=0':'/featured-projects/swan-boat-pavilion/',
	'http://www.dsarch.com/#/sub-menu?item-sub=3&trumbs=8&item=0&gal-cat=0':'/featured-projects/three-little-houses/',
	'http://www.dsarch.com/#/sub-menu?item-sub=4&trumbs=8&item=0&gal-cat=0':'/featured-projects/wainscot-greatroom/',
	'http://www.dsarch.com/#/sub-menu?item-sub=6&trumbs=8&item=0&gal-cat=0':'/featured-projects/brodmeadow-common/',
	'http://www.dsarch.com/#/sub-menu?item-sub=7&trumbs=8&item=0&gal-cat=0':'/featured-projects/places-of-worship/',
	'http://www.dsarch.com/#/sub-menu?item-sub=8&trumbs=8&item=0&gal-cat=0':'/featured-projects/elemental-retreat/',
	'http://www.dsarch.com/#/sub-menu?item-sub=9&trumbs=7&item=0&gal-cat=0':'/featured-projects/deck-house-intervention/',
	'http://www.dsarch.com/#/sub-menu?item-sub=10&trumbs=7&item=0&gal-cat=0':'/featured-projects/leap-schools/',
	'http://www.dsarch.com/#/sub-menu?item-sub=1&trumbs=8&item=1&gal-cat=1':'/country-houses/beech-court/',
	'http://www.dsarch.com/#/sub-menu?item-sub=2&trumbs=8&item=1&gal-cat=1':'/country-houses/duck-puddle-farm/',
	'http://www.dsarch.com/#/sub-menu?item-sub=3&trumbs=8&item=1&gal-cat=1':'/country-houses/dunhill/',
	'http://www.dsarch.com/#/sub-menu?item-sub=4&trumbs=5&item=1&gal-cat=1':'/country-houses/eastabrook/',
	'http://www.dsarch.com/#/sub-menu?item-sub=5&trumbs=8&item=1&gal-cat=1':'/country-houses/fieldways/',
	'http://www.dsarch.com/#/sub-menu?item-sub=6&trumbs=4&item=1&gal-cat=1':'/country-houses/out-back/',
	'http://www.dsarch.com/#/sub-menu?item-sub=7&trumbs=6&item=1&gal-cat=1':'/country-houses/pond-view/',
	'http://www.dsarch.com/#/sub-menu?item-sub=8&trumbs=5&item=1&gal-cat=1':'/country-houses/porches/',
	'http://www.dsarch.com/#/sub-menu?item-sub=1&trumbs=7&item=2&gal-cat=2':'/more-country-houses/river-bend/',
	'http://www.dsarch.com/#/sub-menu?item-sub=2&trumbs=5&item=2&gal-cat=2':'/more-country-houses/river-elm/',
	'http://www.dsarch.com/#/sub-menu?item-sub=3&trumbs=8&item=2&gal-cat=2':'/more-country-houses/river-road-farm/',
	'http://www.dsarch.com/#/sub-menu?item-sub=4&trumbs=8&item=2&gal-cat=2':'/more-country-houses/spencer-brook/',
	'http://www.dsarch.com/#/sub-menu?item-sub=5&trumbs=7&item=2&gal-cat=2':'/more-country-houses/two-chimneys/',
	'http://www.dsarch.com/#/sub-menu?item-sub=6&trumbs=4&item=2&gal-cat=2':'/more-country-houses/willard-common/',
	'http://www.dsarch.com/#/sub-menu?item-sub=7&trumbs=8&item=2&gal-cat=2':'/more-country-houses/woodland-house/',
	'http://www.dsarch.com/#/sub-menu?item-sub=2&trumbs=3&item=3&gal-cat=3':'/houses-by-the-sea/barn-acre/',
	'http://www.dsarch.com/#/sub-menu?item-sub=1&trumbs=8&item=3&gal-cat=3':'/houses-by-the-sea/bay-view/',
	'http://www.dsarch.com/#/sub-menu?item-sub=3&trumbs=8&item=3&gal-cat=3':'/houses-by-the-sea/island-house/',
	'http://www.dsarch.com/#/sub-menu?item-sub=4&trumbs=8&item=3&gal-cat=3':'/houses-by-the-sea/nonquitt-avenue/',
	'http://www.dsarch.com/#/sub-menu?item-sub=5&trumbs=8&item=3&gal-cat=3':'/houses-by-the-sea/river-view/',
	'http://www.dsarch.com/#/sub-menu?item-sub=6&trumbs=3&item=3&gal-cat=3':'/houses-by-the-sea/sailors-rest/',
	'http://www.dsarch.com/#/sub-menu?item-sub=7&trumbs=6&item=3&gal-cat=3':'/houses-by-the-sea/stage-neck/',
	'http://www.dsarch.com/#/sub-menu?item-sub=8&trumbs=8&item=3&gal-cat=3':'/houses-by-the-sea/twin-gables/',
	'http://www.dsarch.com/#/sub-menu?item-sub=9&trumbs=5&item=3&gal-cat=3':'/urban-houses/back-bay-apartment/',
	'http://www.dsarch.com/#/sub-menu?item-sub=1&trumbs=6&item=4&gal-cat=4':'/urban-houses/harbor-towers/',
	'http://www.dsarch.com/#/sub-menu?item-sub=2&trumbs=4&item=4&gal-cat=4':'/urban-houses/heaths-end/',
	'http://www.dsarch.com/#/sub-menu?item-sub=3&trumbs=4&item=4&gal-cat=4':'/urban-houses/inverness-road/',
	'http://www.dsarch.com/#/sub-menu?item-sub=4&trumbs=6&item=4&gal-cat=4':'/urban-houses/lang-street-house/',
	'http://www.dsarch.com/#/sub-menu?item-sub=5&trumbs=6&item=4&gal-cat=4':'/urban-houses/polo-field-house/',
	'http://www.dsarch.com/#/sub-menu?item-sub=6&trumbs=5&item=4&gal-cat=4':'/urban-houses/the-courtyards/',
	'http://www.dsarch.com/#/sub-menu?item-sub=1&trumbs=8&item=5&gal-cat=5':'/restoration-additions/baid-pate-hill/',
	'http://www.dsarch.com/#/sub-menu?item-sub=2&trumbs=7&item=5&gal-cat=5':'/restoration-additions/chestnut-hill-studio/',
	'http://www.dsarch.com/#/sub-menu?item-sub=3&trumbs=4&item=5&gal-cat=5':'/restoration-additions/gables/',
	'http://www.dsarch.com/#/sub-menu?item-sub=4&trumbs=3&item=5&gal-cat=5':'/restoration-additions/maple-hill/',
	'http://www.dsarch.com/#/sub-menu?item-sub=5&trumbs=5&item=5&gal-cat=5':'/restoration-additions/mishaum-woods/',
	'http://www.dsarch.com/#/sub-menu?item-sub=6&trumbs=8&item=5&gal-cat=5':'/restoration-additions/old-sudbury-road/',
	'http://www.dsarch.com/#/sub-menu?item-sub=7&trumbs=3&item=5&gal-cat=5':'/restoration-additions/private-art-gallery/',
	'http://www.dsarch.com/#/sub-menu?item-sub=10&trumbs=8&item=5&gal-cat=5':'/restoration-additions/saltbox-garden-room/',
	'http://www.dsarch.com/#/sub-menu?item-sub=8&trumbs=3&item=5&gal-cat=5':'/restoration-additions/summer-house/',
	'http://www.dsarch.com/#/sub-menu?item-sub=9&trumbs=2&item=5&gal-cat=5':'/restoration-additions/timbers/',
	'http://www.dsarch.com/#/sub-menu?item-sub=11&trumbs=5&item=5&gal-cat=5':'/restoration-additions/valley-road/',
	'http://www.dsarch.com/#/sub-menu?item-sub=1&trumbs=3&item=6&gal-cat=6':'/the-new-barn/baker-bridge-barn/',
	'http://www.dsarch.com/#/sub-menu?item-sub=2&trumbs=8&item=6&gal-cat=6':'/the-new-barn/the-clock-barn/',
	'http://www.dsarch.com/#/sub-menu?item-sub=3&trumbs=6&item=6&gal-cat=6':'/the-new-barn/nashoba-barn/',
	'http://www.dsarch.com/#/sub-menu?item-sub=4&trumbs=7&item=6&gal-cat=6':'/the-new-barn/punkatasset-farm/',
	'http://www.dsarch.com/#/sub-menu?item-sub=5&trumbs=6&item=6&gal-cat=6':'/the-new-barn/sharp-curve-barn/',
	'http://www.dsarch.com/#/sub-menu?item-sub=6&trumbs=5&item=6&gal-cat=6':'/the-new-barn/sudbury-road-barn/',
	'http://www.dsarch.com/#/your-home':'/your-home/',
	'http://www.dsarch.com/#/firm-profile':'/firm-profile/',
	'http://www.dsarch.com/#/contact':'/contact-us/'
    };
    if (redirects[window.location.href]) {
	window.location.href = redirects[window.location.href];
	return;
    }


    // This is just a li:hover rule for #primary-navigation, but since we have to do Cufon.replace() each time it's here in JavaScript
    $('#primary-navigation ul li ul li').hover(function() {
	$(this).addClass('highlighted');
        Cufon.replace(this);
    }, function() {
	$(this).removeClass('highlighted');
        Cufon.replace(this);
    });

    $('#secondary-navigation li').hover(function() {
	$(this).addClass('highlighted');
        Cufon.replace(this, { fontFamily: 'Baskerville FS'});
    }, function() {
	$(this).removeClass('highlighted');
        Cufon.replace(this, { fontFamily: 'Baskerville FS'});
    });

    $('.firm-profile-list a, .main-firm-profile-list a').hover(function() {
	$(this).addClass('highlighted');
        Cufon.replace(this);
    }, function() {
	$(this).removeClass('highlighted');
        Cufon.replace(this);
    });

    

    $.fn.transitionTo = function(options) {
        var settings = $.extend({
        }, options || {});
        //wrap into div if no div is present.
        $(this).each(function() {
            if ($(this).parent('div').size() == 0) {
                $(this).wrap('<div></div>')
            }
            //now swap with background trick
            $(this)
            .parent()
            .css('background-image', 'url(' + settings.destinationImage + ')')
            .css('background-repeat', 'no-repeat')
            .end()
            .fadeOut(1000, function() {
                this.src = settings.destinationImage;
                $(this).show();
            });
        });
    };

    $('#page-content.featured-projects img.attachment-125x125').css('opacity', '0.7').hover(function() {
        $(this).css('opacity', '1');
        var index = $('img.attachment-125x125').index(this);
        var li = $("#primary-navigation > ul > .current-menu-item").find('li').eq(index).addClass('highlighted');
        Cufon.replace(li.get(0));
    }, function() {
        $(this).css('opacity', '0.7');
        var index = $('img.attachment-125x125').index(this);
        var li = $("#primary-navigation > ul > .current-menu-item").find('li').eq(index).removeClass('highlighted');
        Cufon.replace(li.get(0));
    });
    $('#page-content.featured-projects img.attachment-125x125').live('click', function() {
        var index = $('img.attachment-125x125').index(this);
        window.location.href = $("#primary-navigation > ul > .current-menu-item").find('li').eq(index).find('a').attr('href');
    });

    $('#page-content.homepage .gallery').each(function() {
	$(this).css('min-height', '600px');
        var main = $('<div></div>').insertBefore(this);
        
        $('.gallery dl').each(function() {
            var dd = $(this).find('dd');
            var location = dd.html();
            dd.empty().append( $('<h3></h3>').html(location) );
            dd.prepend( $('<h2></h2>').text($(this).find('a').attr('title')) );
        });

        $('.gallery br').detach().insertAfter('.gallery');

        $('.gallery').cycle({
            fx: 'fade',
            before: function(current, next, options, forwardFlag) {
            }
        });

	$('.gallery a').click(function() {
	    // TODO: It would be nice for these to link to the
	    // property page, but we don't have hrefs for the property
	    // pages available. These images are uploaded
	    // independently and not actually linked to properties
	    return false;
	});
        
    });

    $('#content.regular .gallery').wrapInner('<div class="gallery-inner"></div>').each(function() {
        var ACTIVE_IMAGE_OPACITY = 0.3;
        var FADE_TIME = 700;

        var first = $(this).find('a:first');
        first.find('img').fadeTo(0, ACTIVE_IMAGE_OPACITY);
        var mainWrapper = $('<div class="gallery-main-wrapper" style="position: relative; float: left;"></div>').insertBefore(this).css('line-height', '0');

        var main = $('<img src="temp.png" class="gallery-main-image" />').appendTo(mainWrapper).attr('src', first.attr('href'));
        var secondary = $('<img src="temp.png" class="gallery-main-image" style="position: absolute; top: 0; left: 0; z-index: 1" />').attr('src', main.attr('src')).appendTo(mainWrapper).hide();
        var placeholder = $('<div></div>').prependTo(mainWrapper).css('float', 'left').css('width', '0');

        var current = null;

        var display = function(event) {
            event.stopPropagation();

            // Restore default highlighting for all thumbnails, then find the active one and get the href
            $(this).closest('.gallery').find('img').fadeTo(0, 1);
            var src = $(this).find('img:first').fadeTo(0, ACTIVE_IMAGE_OPACITY).parent().attr('href');

            // If it's the one we already have showing, forget it.
            if (current == src)
                return;

            // Let's clean up any animation that may already be underway, and jump ahead to the end.
            secondary.stop(true, true).attr('src', src);
            main.stop(true, true).attr('src', current);

            placeholder.height( main.height() );

            // Now let's stage the new image:
            secondary.attr('src', src).fadeIn(FADE_TIME);
            main.fadeOut(FADE_TIME, function() {
                // All done fading!
                main.attr('src', src);
                setTimeout(function() {
                    main.show();
                    secondary.hide();
                }, 100);
            });
            
            current = src;

            return false;
        };
        $(this).find('a').click(function() {
            return false;
        });

	var gallery = $(this);
	var preload = $('<div id="gallery-preload"></div>').insertAfter(gallery).hide();
        $(this).find('a').click(display).mouseover(display).each(function() {
            preload.append( $('<img src="" />').attr('src', $(this).attr('href')).addClass('precached-image') );
        });;
    });



    // $('#primary-navigation > ul > li:not(:first) > a').click(function() {
    //     $('#primary-navigation ul ul').slideUp();
    //     $(this).parent().addClass('active-menu-parent').find('ul').slideDown();
    //     return false;
    // });
});

