﻿Event.observe(document,'dom:loaded', whenDomLoaded);

//var quicksearch = new Quicksearch();
var slideshows = new Array();
function whenDomLoaded() {	
	new DropdownMenu2('topMenu');
	$('loginCurtain').observe('click', closeLoginPopup);
	$('loginCloseBtn').observe('click', closeLoginPopup);
	
	$('popupCurtain').observe('click', popupCurtainClick);
	$$('.slideshow').each(function(s) {
		slideshows.push(new Slideshow(s));
	});
	var queryParams = document.location.href.replace(/\+/g," ").toQueryParams();
	if (queryParams.loginError) {
		openLoginPopup();
		$('userid').value = queryParams.loginUserid;
		$('huskMig').checked = queryParams.huskMig == '1';
		alert(queryParams.loginError);
	}
	if (queryParams.forgotPasswordError) {
		openLoginPopup();
		showForgotPassword();
		$('forgotPasswordUserid').value = queryParams.forgotPasswordUserId;
		alert(queryParams.forgotPasswordError);
	}
	if (queryParams.forgotPasswordSuccess) {		
		alert(queryParams.forgotPasswordSuccess);
	}
	if (window.formErrorFields && !(queryParams.forgotPasswordError || queryParams.forgotPasswordSuccess || queryParams.loginError)) {
		formErrorFields.each(function(f) {				
			if ($(f) && ($(f).readAttribute('type') == 'text') || $(f).readAttribute('type') == 'password' || $(f).tagName == 'textarea' || $(f).tagName.toLowerCase() == 'select') {				
				$(f).setStyle({background: '#ff8'});
			}
		});
		var errorText = '';
		formErrors.each(function(m) {
			if (Object.isArray(m)) {				
				errorText += m.first() + "\n";
			} else {
				errorText += $H(m).values().first();
			}
		});
		alert(errorText);
	}
	
	checkInfoTextIsInsidePage();
	
	
	if (Prototype.Browser.IE) {
		$('userid').observe('keydown', loginFormKeydown);
		$('password').observe('keydown', loginFormKeydown);
	}
	
	// NYHEDSBREV 
	if ($('nyhedsbrevTilmeldingForm')) {
		$('nyhedsbrevTilmeldingForm').observe('submit', nyhedsbrevFormSubmit);
	}
}


var nyhedsbrevValidator = new Validator({
	rules : {
		navn: {
			validator: 'notEmpty',
			id: 'nyhedsbrevNavn',
			message: 'Indtast venligst dit navn',
			breakChainOnFailure : true
		},
		email: {
			validator: 'email',
			id: 'nyhedsbrevEmail',
			message: 'Indtast venligst din email.'
		}		
	},
	form : null,
	alert : {
		
	}
}, false);


function nyhedsbrevFormSubmit(event) {
	event.stop();
	if (nyhedsbrevValidator.validates()) {
		$('nyhedsbrevTilmeldingDiv').setStyle({
			display: 'none'
		});
		$('nyhedsbrevArbejder').setStyle({
			display: 'block'
		});
		new Ajax.Request('/ajax/tilmeldNyhedsbrev', {
			parameters: {
				email: $F('nyhedsbrevEmail'),
				navn : $F('nyhedsbrevNavn')
			},
			onSuccess : nyhedsbrevSuccess,
			onFailure : nyhedsbrevFailure,
			method 	: 'post'
		})
	}
}

function nyhedsbrevSuccess(transport) {
	if (transport.responseText != 'success') {
		nyhedsbrevFailure(transport);
		return;
	}
	$('nyhedsbrevArbejder').setStyle({
		display: 'none'
	});
	$('nyhedsbrevSucces').setStyle({
		display: 'block'
	});
}

function nyhedsbrevFailure(transport) {
	if (confirm('Der skete en fejl. Vil du se den tekniske information?')) {
		alert(transport.responseText);
	}
	$('nyhedsbrevTilmeldingDiv').setStyle({
		display: 'block'
	});
	$('nyhedsbrevArbejder').setStyle({
		display: 'none'
	});
	$('nyhedsbrevSucces').setStyle({
		display: 'none'
	});
}

function checkInfoTextIsInsidePage() {
	if ($$('body.adminBody')) return;
	var height = 0;
	$$('.infoTekstPopup').each(function(p) {
		height = Math.max(height, p.getHeight());
	})
	var wideCol = $('layoutCenterRightCol') ? $('layoutCenterRightCol') : $('layoutCenterCol'); 
	wideCol.setStyle({
		height: Math.max(wideCol.getHeight(), height) + 'px'
	});
}
 
function closeLoginPopup() {
	$('loginCurtain').setStyle({display:'none'});
	$('loginPopup').setStyle({display:'none'});	
}

function loginFormKeydown(event) {	
	var keyCode = getKeyCode(event);
	if (keyCode == Event.KEY_RETURN) {		
		if (loginValidator.validates()) {
			loginForm.submit();
		}
	}
}

function openLoginPopup() {
	$('loginCurtain').setStyle({
		display:'block',
		opacity:0.7,
		height: Math.max($('masterLayoutCenter').getHeight(), document.viewport.getHeight()) + 'px'
	});
	var winDimensions = document.viewport.getDimensions();
	$('loginPopup').setStyle({
		display:'block',
		left:Math.round(winDimensions.width / 2) - 171 + 'px',
		top:Math.round(winDimensions.height / 2) - 75 + 'px'
	});
	$('loginContent').setStyle({
		display:'block'
	});
	$('forgotPassword').setStyle({
		display:'none'
	});
	$('userid').focus();
}

function showForgotPassword() {
	$('loginContent').setStyle({
		display:'none'
	});
	$('forgotPassword').setStyle({
		display:'block'
	});
	$('forgotPasswordUserid').focus();
}

var loginValidator = new Validator({
	rules : {
		userid: {
			validator: 'notEmpty',
			id: 'userid',
			message: 'Indtast venligst din emailadresse',
			breakChainOnFailure: true
		},
		password: {
			validator: 'notEmpty',
			id: 'password',
			message: 'Indtast venligst dit password.',
			breakChainOnFailure: true
		}		
	},
	form : 'loginForm',
	alert : {
		
	}
}, true);

var forgotPasswordValidator = new Validator({
	rules : {
		userid: {
			validator: 'notEmpty',
			id: 'forgotPasswordUserid',
			message: 'Indtast venligst din emailadresse',
			breakChainOnFailure: true
		}	
	},
	form : 'forgotPasswordForm',
	alert : {
		
	}
}, true);


function showPopupCurtain() {
	var dimensions = document.viewport.getDimensions();
	$('popupCurtain').setStyle({
		display:'block',
		opacity:0.2,
		width : dimensions.width + 'px',
		height: dimensions.height + 'px'
	});
}


function openInfoTekst(id, skema) {
	var popup = $((skema ? 'skemaTekst_' : 'infoTekstPopup_') + id);
	closeInfoPopups();
	popup.setStyle({
		//top: window.adminLoggedIn ? '226px' : '194px',
		display: 'block'
	});
	var popupHeight = popup.getHeight();
	var col = $('layoutCenterRightCol') ? $('layoutCenterRightCol') : $('layoutCenterCol');
	var centerHeight = col.getHeight();
	if ( centerHeight < popupHeight) {
		col.setStyle({
			height : popupHeight + 30 + 'px'
		});
	} else {
		popup.setStyle({
			height : centerHeight + 'px'
		});
	}
}

function closeInfoPopups() {
	$$('.infoTekstPopup').each(function(popup) {
		popup.setStyle({
			display: 'none'
		});
	});
	var col = $('layoutCenterRightCol') ? $('layoutCenterRightCol') : $('layoutCenterCol');
	col.setStyle({
		height: 'auto'
	});
	$('popupCurtain').setStyle({
		display: 'none'
	});
}

function popupCurtainClick() {
	closeInfoPopups();
}
