window.addEvent('domready', function() {
	fixExternalLinks();
	initLightbox();
	initFormSubmitButton();
	//initF10LinkReact();
	initF2FormSubmitButton();
	initF11FormSubmitButton();
	initF12FormSubmitButton();
	initF14FormSubmitButton();
	//initFormReactSlider();
	//initOpenFormReact();
	initAnchorBtn();
	
	$$('a.sharebutton').addEvent('click', function(event) {
		event.stop();
		toggleSharePanel(this);
	});
	
	// pushbox
	if ($defined($('pushbox'))) {

		var viewport = $('pushbox').getElement('div.viewport');
		var slidecontainer = viewport.getElement('ul.slides');
		var nav_back = $('pushbox').getElement('a.previous');
		var nav_forward = $('pushbox').getElement('a.next');
		
		var pbox = new Pushbox({
			viewport: viewport,
			slidelist: slidecontainer,
			nav: {
				back: nav_back,
				forward: nav_forward
			}
		});
		
		nav_back.addEvents({
			click: function() {
				pbox.gotoPrevious();
			}.bind(this)
		});
		
		nav_forward.addEvents({
			click: function() {
				pbox.gotoNext();
			}.bind(this)
		});
	}
	
	if ($defined($('brandbar')) && $defined($('bbviewport'))) {
		var intWinHeight = $(document.body).getHeight();
		var intBrandBarHeight = 20;
		
		//console.log(intWinHeight,intBrandBarHeight,intWinHeight-intBrandBarHeight);
		
		$('bbviewport').setStyle('height', intWinHeight-intBrandBarHeight);
	}
	
	var intPageH = $('page').getSize().y.toInt();
	var intHeaderH = $('header').getSize().y.toInt();
	var intFooterH = $('footer_wrapper').getSize().y.toInt();
	var intWindowH = window.getScrollSize().y.toInt();
	
	var intNewContentH = intWindowH - intHeaderH - intFooterH;
	
	if (intWindowH > intPageH) {
		$('content').setStyle('height', intNewContentH);
	}
		
});

/**
 * Opens external links without the target attribute
 * 
 * @author Ralph Meeuws <ralph.meeuws@efocus.nl>
 * @author Rocco Janse <rocco@efocus.nl>
 * @since 1.0, 14 aug, 2009
 * @return void
 */
 
function fixExternalLinks() {
	var arrExternalLinks = $$('a.external').combine($$('a[rel=external]'));
	
	arrExternalLinks.each(function(link) {
		link.addEvents({
			'click': function(event) {
				event.stop();
				window.open(this.get('href'));
			}   
		});
	});
}

/**
 * initLightbox
 * Initializes the Shadowbox lightbox (shadowbox.js and shadowbox-mootools.js adapter needed!).
 * 
 * @author  Phi Son Do <phison.do{AT}efocus.nl>
 */
 
function initLightbox() {
	if (typeof (Shadowbox) == 'undefined') return false;
	
	var options = {
		overlayColor: '#000000',
		overlayOpacity: 0.5
	};

	Shadowbox.init(options);
}

/**
 * initFormSubmitButton
 *
 * form button submits
 *
 * @author Phi Son Do <phison.do{AT}efocus.nl>
 * @return void
 */

function initFormSubmitButton() {
	if (!document.getElement('.bestelformulier')) return;	
	
	var elFormContact = document.getElement('.bestelformulier').getElement('form');
	var elFormButton = elFormContact.getElement('a.formbutton');
	
	elFormButton.addEvent('click', function(){
		elFormContact.submit();
	});	
}

/**
 * initF10LinkReact
 *
 * Link react opens react form
 *
 * @author Phi Son Do <phison.do{AT}efocus.nl>
 * @return void
 */
 
function initF10LinkReact() {
	if (!document.getElement('.link_react')) return;
	if (!$('open_form')) return;
	
	var elLinkReactButton = document.getElement('.link_react');

	elLinkReactButton.addEvent('click', function(){
		$('open_form').fireEvent('click');
	});	
}

/**
 * initF2FormSubmitButton
 *
 * form button submits
 *
 * @author Gijs Oliemans <gijs.oliemans{AT}efocus.nl>
 * @return void
 */

function initF2FormSubmitButton() {
	if (!document.getElement('form.searchbox')) return;
	
	var elF2FormSearch = document.getElement('form.searchbox');		
	var elF2FormButton = elF2FormSearch.getElement('a.search_button');
	
	elF2FormButton.addEvent('click', function(){
		elF2FormSearch.submit();
	});	
}

/**
 * initF11FormSubmitButton
 *
 * form button submits
 *
 * @author Phi Son Do <phison.do{AT}efocus.nl>
 * @return void
 */

function initF11FormSubmitButton() {
	if (!document.getElement('.f11_tellafriend')) return;
	
	var elF11FormContact = document.getElement('.f11_tellafriend').getElement('form');		
	var elF11FormButton = elF11FormContact.getElement('a.formbutton');
	
	elF11FormButton.addEvent('click', function(){
		elF11FormContact.submit();
	});	
}

/**
 * initF12FormSubmitButton
 *
 * form button submits
 *
 * @author Phi Son Do <phison.do{AT}efocus.nl>
 * @return void
 */

function initF12FormSubmitButton() {
	if (!$('reactieformulier')) return;
	defaultInputText();
	defaultTextAreaText();
	var elF12FormContact = $('reactieformulier').getElement('form');
	var elF12FormButton = elF12FormContact.getElement('a.sendbut');
	
	var arrInputElements = elF12FormContact.getElements('input');
	var arrTextAreaElements = elF12FormContact.getElements('textarea');
	var errorState = elF12FormContact.getElement('p.error');

	elF12FormButton.addEvent('click', function(){
		arrInputElements.each(function(el){
			if(el.value == el.alt) {
				el.set('value','');
			}
		})
		arrTextAreaElements.each(function(el){
			if(el.value == "Uw reactie"){
				el.innerHTML = "";
			}
		})
		elF12FormContact.submit();	
	});	

}

/**
 * initF14FormSubmitButton
 *
 * form button submits
 *
 * @author Gijs Oliemans <gijs.oliemans{AT}efocus.nl>
 * @return void
 */

function initF14FormSubmitButton() {
	if (!document.getElement('form.searchboxF14')) return;
	
	var elF14FormSearch = document.getElement('form.searchboxF14');		
	var elF14FormButton = elF14FormSearch.getElement('a.search_button');
	
	elF14FormButton.addEvent('click', function(){
		elF14FormSearch.submit();
	});	
}

/**
 * @author Rob Intema <rob.intema{AT}efocus.nl>
 * @return void
 */
 
function reloadCAPTCHA() {
	document.getElementById('CAPTCHA').src='typo3conf/ext/captcha/captcha/captcha.php?'+Date();
}

/**
 * initFormReactSlider
 * opens the Form
 * 
 * @PhiSon Do CSD (phison.do[AT]efocus.nl)
 */

function initFormReactSlider(){
	if (!document.getElement('.f12_reageren')) return;
	
	var elFormReactButton = $('open_form'); // link vanaf F12
	var elFormReactBox = $('reactieformulier');
	
	var elFormReactBoxHeight = elFormReactBox.getHeight();	
	
	var elFormReactBoxButton = elFormReactBox.getElement('.button');
		
	elFormReactBoxTween = elFormReactBox.set('tween', {duration: '300'});

	elFormReactBox.setStyles({
		'height': '0',
		'overflow': 'hidden',
		'marginBottom': '0',
		'paddingTop': '0',
		'opacity': '0'
	});	

	elFormReactBoxMorph = new Fx.Morph(elFormReactBox).set({
		'height': '0',
		'opacity': '0'
	});

	elFormReactButton.addEvent('click', function(){
		elFormReactBoxMorph.cancel();
		elFormReactBoxMorph.start({
			'opacity': 1,
			'marginBottom': 10,
			'paddingTop': 10,
			'height': elFormReactBoxHeight
		});
	});
	
}

/**
 * initOpenFormReact
 * opens the Form
 * 
 * @PhiSon Do CSD (phison.do[AT]efocus.nl)
 */
 
function initOpenFormReact(){
	if (!document.getElement('.f12_reageren')) return;
	
	var elFormReactBox = $('reactieformulier');
		
	if(elFormReactBox.hasClass('open_formulier')){
		elFormReactBox.setStyles({
			'height': 342,
			'marginBottom': 10,
			'paddingTop': 10,
			'opacity': 1
		});
	}else {
		elFormReactBox.setStyles({
			'height': '0',
			'opacity': '0'
		});			
	}	
}

/**
 * initAnchorBtn
 * 
 * @PhiSon Do CSD (phison.do[AT]efocus.nl)
 */
 
function initAnchorBtn(){
	if (!document.getElement('.newsitem_links')) return;
	
	var elAnchorButton = document.getElement('.link_react');
	var scroll = new Fx.Scroll(window); 
	
	elAnchorButton.addEvent('click', function(){
		scroll.toBottom();
	})			
}

/**
 * Toggles visibility of Share-panel
 * 
 * @author Klaas Dieleman <klaas[AT]efocus.nl>
 * @return void
 */
 
function toggleSharePanel(elToggler) {
	if(!elToggler.getNext('div.sharepanel')) return false;
	
	if(elToggler.getNext('div.sharepanel').getStyle('visibility') == 'hidden') {
		elToggler.getNext('div.sharepanel').setStyle('visibility', 'visible');
		if(elToggler.getParent('li')) elToggler.getParent('li').setStyle('z-index', 20);
	} else {
		elToggler.getNext('div.sharepanel').setStyle('visibility', 'hidden');
		if(elToggler.getParent('li')) elToggler.getParent('li').setStyle('z-index', 10);
	}
}

/**
 * closes brandbar 
 * @author Rocco Janse <rocco@efocus.nl>
 * @since 1.0, 15/03/2010
 */
 
function closeBar() {
	url = $('bbviewport').get('src');
	window.open(url, '_top');
} 


/**
* defaultInputText
*
* toggles default text in text inputfields
*
* @author Rou-hun Fan <lowen{AT}efocus.nl>
* @return void
*/
 
function defaultInputText() {
	var arrInputfields = $$('.defaultText');
	if(!arrInputfields) return false;
	arrInputfields.each(function(elInputfields) {
		if(elInputfields.value == ""){
			elInputfields.value = elInputfields.alt;	
		}
		elInputfields.addEvents({
			'blur': function() {
				if(elInputfields.value == ""){
					elInputfields.value = elInputfields.alt;	
				}
			},
			'focus': function() {
				if (elInputfields.value == elInputfields.alt) {
					elInputfields.value = "";
				}
			}
		});
	});
}

/**
* defaultInputText
*
* toggles default text in text inputfields
*
* @author Rou-hun Fan <lowen{AT}efocus.nl>
* @return void
*/
 
function defaultTextAreaText() {
	var arrInputfields = $$('.defaultTextAreaText');
	if(!arrInputfields) return false;
	arrInputfields.each(function(elInputfields) {
		
		elInputfields.defaultText = "Uw reactie";

		if(elInputfields.innerHTML == ""){
			elInputfields.innerHTML = elInputfields.defaultText;	
		}
		
		elInputfields.addEvents({
			'blur': function() {
				if (elInputfields.value == "") {
					elInputfields.innerHTML = elInputfields.defaultText;
				}
			},
			'focus': function() {
				if (elInputfields.innerHTML == "Uw reactie") {
					elInputfields.innerHTML = "";
				}	
			}
		});
	});
}