// Setup toggle navs and Flash replacement for Inustries and Services
var toggleNavsWithFlash = (function()
{
	var _toggleType;
	var _toggleNavId;
	var _toggleBodyPrefix;
	
    var _currentBlock;
    var _currentNav;

    _setupEvents = function()
    {
        // Add ids for css styling and events to swap content blocks
        var challengeNavNodes = dojo.query(_toggleNavId + ' li');
        for (var i=1; i <= challengeNavNodes.length; i++) {
            var navNode = challengeNavNodes[i-1];
            dojo.attr(navNode, 'id', 'n' + i);
            dojo.connect(navNode, 'onclick', _onChallengeNavClick);
        
            // // Adding events for challenge blody next links
            var challengeBodyBlockId = _toggleBodyPrefix + dojo.query(navNode).
                query('> a').attr('blockid');
            // Add the corresponding nav id and event
            var challengeBody = dojo.query(challengeBodyBlockId);
            var nextLink = challengeBody.
                attr('block_idx', i);
                // query('a.next-challenge').
                // connect('onclick', _onChallengeBodyNextClick);
            // Set next button to text of next challenge block
            var nextNavId = (i == challengeNavNodes.length) ? challengeNavNodes[0] : challengeNavNodes[i];
            var nextChallengeBlockId = _toggleBodyPrefix + dojo.query(nextNavId).
                query('> a').attr('blockid');
           // nextLink.query('span')[0].href = dojo.query(nextChallengeBlockId).attr('linkto');
            
			if ('services' == _toggleType) {
				var swfName = "service_bar_" + i + '.swf'
			} else {
				console.log(navNode)
				var swfName = 'industry_industries-' 
					+ dojo.query(navNode).query(' a')[0].
						innerHTML.toLowerCase().replace(/\W/, '_') + '.swf';
			}
           	_enhanceWithFlash(dojo.query(challengeBodyBlockId + ' div.flash.replace').attr('id'), swfName);
        }
		dojo.addClass(challengeNavNodes[challengeNavNodes.length-1], 'last');
    }
    
    _enhanceWithFlash = function(contentReplaceId, swfName)
    {
		if ('services' == _toggleType) {
	        swfobject.embedSWF("/flash/service_grid.swf", 
	                            contentReplaceId, 
	                            "327", "227", 
	                            "9.0.0", "expressInstall.swf",
	                            {fileName: "/flash/" + swfName},
	                            {wmode: 'transparent'}
	                            );
		} else {
	        swfobject.embedSWF("/flash/" + swfName, 
	                            contentReplaceId, 
	                            "92", "185", 
	                            "9.0.0", "expressInstall.swf",
	                            {},
	                            {wmode: 'transparent'}
	                            );
		}
    }
    
    _swapContentBlocks = function(swapNav)
    {
        var currentBlockId = _toggleBodyPrefix + dojo.query(_currentNav).attr('blockid');
        // Hide old block
        dojo.query(currentBlockId).style({display: 'none'});
        // Swap nav states
        dojo.query(_currentNav).removeClass('selected');
        _currentNav = dojo.query(swapNav).addClass('selected');
        // Show new block
        swapBlockId = _toggleBodyPrefix + dojo.query(_currentNav).attr('blockid');
        _currentBlock = dojo.query(swapBlockId).style({display: 'block'});
    }

    _onChallengeNavClick = function(e)
    {
        e.preventDefault();                
        _swapContentBlocks(e.target);
    }

    _onChallengeBodyNextClick = function(e)
    {
        e.preventDefault();
        var totalChallengeNavs = dojo.query(_toggleNavId + ' li').length;
        var blockIdx = parseInt(dojo.query(_currentBlock).attr('block_idx')) + 1;
        var nextNavId = (blockIdx > totalChallengeNavs) ? 1 : blockIdx;
        _swapContentBlocks(dojo.query('#n' + nextNavId + ' a'));
    }


    return {
        init: function(toggleNavId, toggleBodyPrefix, toggleType)
        {
			_toggleType = toggleType.toLowerCase();
			_toggleNavId = toggleNavId;
			_toggleBodyPrefix = toggleBodyPrefix;

            // Select first nav
            _currentNav = dojo.query(_toggleNavId + ' :first-child a').addClass('selected');
            
            _setupEvents();
        }
    }
})();
