/**
 * The PDFA Get Focused
 *
 * This application handles the checklist functionality
 * It shows and hides the detail information on click
 *
 * @author Miguel Julio (mjulio@mcdpartners.com)
 */
(function () {

    /**
     * The dei package
     *
     * @namespace pdfa
     * @package pdfa.dei.getOutsideHelp
     */
	pdfa.dei.getOutsideHelp = {

	 	zI 				: 199,										// zindex for the detail layer
		previousClick	: mcd.dom.getElement('problem-extent'),		// selected tab
		previousContent	: mcd.dom.getElement('problem-extent-detail'),

		init : function(lookForThis, inThisElemnt, applyThis){
			// apply absolute positioning
			var detail = mcd.dom.getElementsByAttribute('class',lookForThis,inThisElemnt,null,true);
			for (var i=0; i < detail.length; i++) {
				mcd.dom.addClass(detail[i],applyThis);
			}
		},

		updateUI : function(event){	// change the z index of the detail div on click

			mcd.event.preventDefault(event);

			// increase z-index
			pdfa.dei.getOutsideHelp.zI++;

			// split the href at #
			var contentDetail = this.href.split('#');

			//	Removes active class
			mcd.dom.removeClass(this.parentNode,'active');

			// remember las click
			if(pdfa.dei.getOutsideHelp.previousClick == -1){
				pdfa.dei.getOutsideHelp.previousClick = this.parentNode;
			}

			// removes the selected state to the previous click and remebers new click
			if(pdfa.dei.getOutsideHelp.previousClick !== -1){
				mcd.dom.removeClass(pdfa.dei.getOutsideHelp.previousClick,'selected');
				mcd.dom.removeClass(pdfa.dei.getOutsideHelp.previousContent,'active-content');
				pdfa.dei.getOutsideHelp.previousClick = this.parentNode;
				pdfa.dei.getOutsideHelp.previousContent = contentDetail[1];
			}



			mcd.dom.getElement(contentDetail[1]).style.zIndex = pdfa.dei.getOutsideHelp.zI;
			mcd.dom.addClass(mcd.dom.getElement(contentDetail[1]),'active-content');
			mcd.dom.addClass(this.parentNode,'selected');
			mcd.dom.getElement(this.parentNode).style.zIndex = pdfa.dei.getOutsideHelp.zI;
		},

		mouseOver : function(event){
			mcd.event.preventDefault(event);
			if (!mcd.dom.hasClass(this.parentNode, 'selected')) {
				mcd.dom.addClass(this.parentNode, 'active');
			}
		},

		mouseOut : function(event) {
			mcd.event.preventDefault(event);
			mcd.dom.removeClass(this.parentNode,'active');
		},

		embedFlash: function(swf,flashVar) {
			swfobject.embedSWF(
				swf,
				'flash-content',
				'960',
				'406',
				'8.0.0',
				'expressInstall.swf',
				flashVar
			)
		}
	};
})();


/**
 * The Setup Routine (Called when the DOM is ready)
 */
mcd.dom.ready(function () {

	// init the tabs content detail by setting them to absolute
	pdfa.dei.getOutsideHelp.init('detail','bottom-content','absolute');

	// get all tabs items and adds click event function
	var list = mcd.dom.getElementsByAttribute('class', 'tab-action','tabs', null, true);
	for (var i = 0; i < list.length; i++) {
		mcd.event.add(mcd.dom.getElement(list[i]),'click', pdfa.dei.getOutsideHelp.updateUI);
	};

	// Mouseover: change li & anchor look by the active class
	var hover = mcd.dom.getElementsByAttribute('class', 'tab-action','tabs', null, true);
	for (var i = 0; i < hover.length; i++) {
		mcd.event.add(mcd.dom.getElement(hover[i]),'mouseover', pdfa.dei.getOutsideHelp.mouseOver);
	};

	// Mouseout: removes the active class from the li
	var hoverOut = mcd.dom.getElementsByAttribute('class', 'tab-action','tabs', null, true);
	for (var i = 0; i < hoverOut.length; i++) {
		mcd.event.add(mcd.dom.getElement(hoverOut[i]),'mouseout', pdfa.dei.getOutsideHelp.mouseOut);
	};

	//	Submit the form
	mcd.event.add(mcd.dom.getElement('submit1'),'click', function(event) {
		mcd.event.preventDefault(event);
		mcd.dom.getElement('form1').submit();
	});

	 mcd.ObtrusiveOverlay.manager.init({
		'video-tips': {
			'close-link' : function() {
                pdfa.dei.movieLoader.closeOverlay();
                return false;
            }
		}
	});

    pdfa.dei.movieLoader.prepareOverlay();

	//	Flash Calls from the tabs
	mcd.event.add('video-problem-extend','click', function(){
		// sets the overlay title
		mcd.dom.getElement('step-title').innerHTML = 'Find out the Extent of the Problem';
		pdfa.dei.getOutsideHelp.embedFlash('/assets/PDFA_VideoPlayer_04.swf', {
			xmlFileName: '/assets/VideoPlayer_t2s5_tab1.xml'
		})
	});

	mcd.event.add('video-who-can-help','click', function(){
		mcd.dom.getElement('step-title').innerHTML = 'Who Can Help';
		pdfa.dei.getOutsideHelp.embedFlash('/assets/PDFA_VideoPlayer_04.swf', {
			xmlFileName: '/assets/VideoPlayer_t2s5_tab3.xml'
		})
	});

	mcd.event.add('video-family-help','click', function(){
		mcd.dom.getElement('step-title').innerHTML = 'Help for the Rest of the Family';
		pdfa.dei.getOutsideHelp.embedFlash('/assets/PDFA_VideoPlayer_04.swf', {
			xmlFileName: '/assets/VideoPlayer_t2s5_tab4.xml'
		})
	});


	/*	Small Movie */
	swfobject.embedSWF(
		'/assets/smallvideo/PDFA_smallVideoPlayer_01.swf',
		'flash-small',
		'960',
		'406',
		'8.0.0',
		'expressInstall.swf',
		{xmlFileName: '/assets/VideoPlayer_t2s5_intro.xml'}
	)
});