if ( typeof(Globals) == 'undefined' ) var Globals = {};

function fc_page_setup() {
   // page specific loading
	// Load any page specific js here
   var jsOpts = {
	   urls : {
		   Article: '/resources/pages/articles/scripts/article-v3.js',
           roadblock: '/resources/v2/components/roadblock/scripts/roadblock-v3.js',
		   profile: '/resources/pages/articles/scripts/profile-v2.js',
           rossavemysearch: '/resources/v2/components/ros-save-my-search/scripts/ros-save-my-search-v1.js'           
	   },
	   callback: Globals.init
   };
   new loader.JSPkgLoader(jsOpts);

   // Load any page specific css here
	/*
	 var cssoptions = {
	 urls : {
		 'article-3-column' : "/resources/pages/common/css/article-3-column-v1.css",
		 'media-230.css'    : "/resources/pages/common/css/media-230.css"
		}
	 };

	 new loader.CSSLoader( cssoptions );
	 */

	Event.observe( window, 'unload', Globals.destroy );
}

Globals.compareSource = 'article';

Globals.searchboxLoaded = function() {
	var inputField = $('destination');
	if ( inputField && typeof openSearchBox != 'undefined' && openSearchBox ) {
		var spacer = $('search_box_spacer');
		if ( spacer ) spacer.show();
		inputField.focus();
	}
};

Globals.init = function() {
    Article.initSearchBox();
    var options = {

           urls : {

               roadblock_frame: roadblock.templates['empty-container'],
               roadblock_content: roadblock.templates['tip-content']

           },

           lightboxOptions : {

               center: false

           },

           trigger: {
               className: 'video_blocked'
           }

       };

    Globals.tr_instance = new roadblock.TipRoadBlockController( options );

	Globals.createProfileManager();

	Globals.setupVideoClicks();

    Globals.createRunOfSiteSaveMySearch();    
};

Globals.createProfileManager = function() {
	// Load the profile manager
    var simpleOpts = {
	    wrapper_id: 'media_signup_section',
        action     : 'article',
        label      : 'media'
    };

	Globals.spm_instance = new profile.SimpleProfileManager( simpleOpts );
};

Globals.destroy = function() {
	if ( typeof Globals != 'undefined') {

		if ( typeof Globals.spm_instance != 'undefined' && typeof Globals.spm_instance.destroy == 'function' ) {
			Globals.spm_instance.destroy();
		}

	}
};

Globals.setupVideoClicks = function() {
    $$('.article_video_container').each(function(item) {
        Event.observe( item, 'click', Globals.onArticleVideoClick.bind(this) );
    }.bind(this));
};

Globals.onArticleVideoClick = function( e ) {
    if ( e ) {
	    var target = $(e.target).up('div');

	    if ( target ) {
			var tipVideoUrl = target.getAttribute('tipVideoUrl');

			var sb = new stringutils.StringBuffer();

		    // does not work in IE...sigh
		    //var width  = target.style.width;
		    //var height = target.style.height;

		    var width  = 270;
		    var height = 211;

			sb.append('<object width="' + width  + '" height="' + height + '" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0"> ');
			sb.append('    <param name="movie" value="http://www.youtube.com/v/').append(tipVideoUrl).append('&hl=en&fs=1&autoplay=1"></param>');
			sb.append('    <param name="allowFullScreen" value="true"></param>');
			sb.append('    <param name="allowscriptaccess" value="always"></param>');
			sb.append('    <embed src="http://www.youtube.com/v/').append(tipVideoUrl).append('&hl=en&fs=1&autoplay=1" ');
			sb.append('           type="application/x-shockwave-flash"');
			sb.append('           allowscriptaccess="always"');
			sb.append('           allowfullscreen="true"');
			sb.append('           width="' + width + '" height="' + height + '">');
			sb.append('    </embed>');
			sb.append('</object>');

			target.innerHTML = sb.toString();
	    }
    }
};


Globals.createRunOfSiteSaveMySearch = function() {
    if ( typeof rossavemysearch != 'undefined' && rossavemysearch.RosSaveMySearchController ) {

        var simpleOpts = {
            searchType : 'article'
        };

        Globals._rosSmsController =  new rossavemysearch.RosSaveMySearchController( simpleOpts );

        var navsms = $( 'nav-sms' );

        if ( navsms ) Event.observe( navsms, 'click', Globals.showRunOfSiteSaveMySearch );
    }

    Event.observe( window, 'unload', Globals.destroyRunOfSiteSaveMySearch );
};

Globals.showRunOfSiteSaveMySearch = function() {
    if ( typeof Globals._rosSmsController != 'undefined') {
        Globals._rosSmsController.activateRoadblock();
    }
};

Globals.destroyRunOfSiteSaveMySearch = function() {
    if ( typeof Globals._rosSmsController != 'undefined' && typeof Globals._rosSmsController.destroy == 'function' ) {
            Globals._rosSmsController.destroy();
    }
};

