var theme_url = '/wp/wp-content/themes/bpoe';
var img_url = theme_url + '/img';
var swf_url = theme_url + '/swf';
var express_install = swf_url + '/expressInstall.swf';

jQuery(document).ready(function(){
    if (jQuery('#main.frontpage').get(0)) {
        Bpoe.frontpage.init();
    }

    jQuery('a.play-video').click(Bpoe.media_popup_link);

    Bpoe.swf_video();
    Bpoe.sifr.init();

    jQuery('#header a.increase').click(Bpoe.textsize.increase);
    jQuery('#header a.decrease').click(Bpoe.textsize.decrease);

    if (jQuery.cookie('textsize')) {
        Bpoe.textsize.update(jQuery.cookie('textsize'));
    }

    if (jQuery('#main.whats-happening').get(0)) {
        Bpoe.map.init();
    }

    if (jQuery('#main.upload').get(0)) {
        Bpoe.pride_form.init();
    }

    if (jQuery('#main.show-your-bc-pride').get(0)) {
        Bpoe.pride_list.init();
    }
});

var Bpoe = {
    textsize: {
        current: function() {
            var fontsize = jQuery('body').css('font-size');
            fontsize = parseFloat(fontsize, 10);
            return fontsize;
        },

        update: function(value) {
            var size = parseFloat(value);
            Bpoe.textsize.save(size);
            jQuery('body').css('font-size', size + 'px');
        },

        increase: function() {
            if (Bpoe.textsize.current() < 19) {
                Bpoe.textsize.update(Bpoe.textsize.current()+2);
            }
            return false;
        },

        decrease: function() {
            if (Bpoe.textsize.current() > 9) {
                Bpoe.textsize.update(Bpoe.textsize.current()-2);
            }
            return false;
        },

        save: function(value) {
            jQuery.cookie('textsize', value);
        }
    },

    swf_video: function() {
        jQuery('.swf-video').not('.swf-video-replaced').each(function() {
            var vidname = jQuery(this).attr('id');
            swfobject.embedSWF(swf_url + '/bpoe_player.swf', vidname, "740", "420", "8.0.0", express_install, { vidpath : swf_url + '/' + vidname + '.flv' });
            jQuery(this).addClass('swf-video-replaced');
        });
        jQuery('.swf-video-740x501').not('.swf-video-replaced').each(function() {
            var vidname = jQuery(this).attr('id');
            swfobject.embedSWF(swf_url + '/bpoe_player_740x501.swf', vidname, "740", "501", "8.0.0", express_install, { vidpath : swf_url + '/' + vidname + '.flv' });
            jQuery(this).addClass('swf-video-replaced');
        });
    },

    frontpage: {
        init: function() {
            swfobject.embedSWF(swf_url + '/frontpage_preloader.swf', 'slideshow', "933", "349", "8.0.0", express_install, { swfpath : swf_url + '/frontpage_images.swf' });
        }
    },

    map: {
        init: function() {
            var lcId = new Date().getTime();

            swfobject.embedSWF(swf_url + '/map_preloader.swf', 'interactive-map', "933", "553", "8.0.0", express_install, { swfpath : swf_url + '/map.swf', lcId : lcId });

            Bpoe.map.proxy = new FlashProxy(lcId, swf_url + '/JavaScriptFlashGateway.swf');

            jQuery('li.project a').click(function() {
                var id = jQuery(this).attr('id');
                id = id.replace('project-', '');
                Bpoe.map.proxy.call('focus_on', id);
                return false;
            });
        }
    },

    pride_form: {
        init: function() {
            var obj = jQuery('form div.radio-list input:checked');

            Bpoe.pride_form.show_hide(obj.get(0));

            jQuery('form div.radio-list input').click(function() {
                Bpoe.pride_form.show_hide(this);
            });

            $('.youtube-help').hide();
            var help = $('<a href="#">Help</a>').toggle(function() {
                $('.youtube-help').show();
            },
            function() {
                $('.youtube-help').hide();
            });

            $('div.field-video label').append(' (').append(help).append(')');

            jQuery('div.field-photo p.current-file').each(function() {
                jQuery('div.field-photo input').hide();
                jQuery(this).append(' <a href="#" class="change-link">Change</a>');
                jQuery('div.field-photo a.change-link').click(function() {
                    jQuery('div.field-photo input').show();
                    jQuery('div.field-photo p.current-file').remove();
                    return false;
                });
            })
        },

        show_hide: function(obj) {
            var fields = jQuery('fieldset.types div.field');
            fields.hide();
            if (obj) {
                jQuery('form p.please-choose').hide();
            }
            else {
                jQuery('fieldset.types').after('<p class="please-choose">Please choose a content type above to continue...</p>');
            }
            switch(parseInt(jQuery(obj).val())) {
                case 22:
                    fields.filter('.field-story').show();
                    break;
                case 23:
                    fields.filter('.field-photo, .field-description').show();
                    break;
                case 24:
                    fields.filter('.field-video, .field-description').show();
                    break;
            }
        }
    },

    pride_list: {
        init: function() {
            jQuery('li.article h3 a, li.article a.preview').not('.story-preview, .story').click(Bpoe.media_popup_link);

            jQuery('form.controls input[type=radio]').click(Bpoe.pride_list.submit_filter);
            jQuery('form.controls select').change(Bpoe.pride_list.submit_filter);
            jQuery('form.controls input[type=submit]').remove();
        },

        submit_filter: function() {
            this.form.submit();
            return true;
        }
    },

    media_popup_link: function() {
        if (!jQuery('#popup-media').get(0)) {
            jQuery('body').addpopup('popup-media', 'popup-media');
        }

        jQuery('#popup-media').hide();
        jQuery('#popup-loading').center();
        jQuery('#popup-loading, #overlay').show();

        jQuery('#popup-media').load(jQuery(this).attr('href') + '?ajax=1', {}, function() {
            jQuery('#slideshow').hide();

            if (jQuery.browser.msie && jQuery.browser.version < 7) {
                jQuery('select').hide();
            }

            jQuery(this).center().append('<a href="#" class="close">Close</a>');
            jQuery('#popup-media a.close, #overlay').click(function() {
                jQuery('#popup-media, #overlay').html('').hide();
                jQuery('#slideshow').show();

                if (jQuery.browser.msie && jQuery.browser.version < 7) {
                    jQuery('select').show();
                }
                return false;
            });
            jQuery('#popup-loading').hide();
            jQuery('#popup-media, #overlay').show();

            Bpoe.swf_video();
            Bpoe.sifr.init();
        });
        return false;
    },

    sifr: {
        init: function() {
            if(typeof sIFR == "function"){
                sIFR.replaceElement(".sifr", named({
                    sFlashSrc: swf_url + '/myriadpro-semibold.swf',
                    sColor: "#082457",
                    sWmode: "transparent"
                }));
            }
        }
    }
}

jQuery.fn.addpopup = function(id, classes) {
    this.append('<div id="overlay" style="height: ' + jQuery('body').height() + 'px;"></div>');
    this.append('<div class="popup loading" id="popup-loading"><img src="' + img_url + '/loading.gif" /> Loading...</div>');
    this.append('<div class="popup ' + classes + '" id="' + id + '"></div>');
};

jQuery.fn.reposition = function(x, y) {
    this.css('top', y + 'px');
    this.css('left', x + 'px');
    return this;
}
