/**
 * Array.implement: David Walsh, http://davidwalsh.name/array-shuffling-mootools
 */
Array.implement({
	shuffle: function() {
		//destination array
		for(var j, x, i = this.length; i; j = parseInt(Math.random() * i), x = this[--i], this[i] = this[j], this[j] = x);
		return this;
	}
});

document.write('<style type="text/css">#localPic, #localPicHome {background: none;}</style>');

window.addEvent('domready', function() {
	//forms
	new jpForm('frmQuickMemberLogin', {
		autoClear: true,
		valuesToConsiderNull: ['Username', 'Password'],
		inlineErrorMsg: false,
		autoFocus: false
	});
	
	new jpForm('frmNewsletter', {
		autoClear: true,
		valuesToConsiderNull: ['Name', 'Email Address'],
		inlineErrorMsg: false,
		autoFocus: false
	});
	
	new jpForm('frmContactForm');
	new jpForm('frmMemberLogin');
	new jpForm('frmForgottenPassword');
	
	//login form
	if (Cookie.read('login_flag') == 'invalid_credentials') {
		showLoginError('frmMemberLogin');
		Cookie.dispose('login_flag', {path : '/'});
	}
	else if (Cookie.read('login_flag') == 'email_sent') {
		showLoginError('frmMemberLogin', 'A new password has been sent to ' + Cookie.read('login_msg') + '.');
		Cookie.dispose('login_flag', {path : '/'});
		Cookie.dispose('login_msg', {path : '/'});
	}
	
	//do not display quick login form if user is already logged in
	if (Cookie.read('user')) {
		var quickLoginContainer = $('login');
		quickLoginContainer.empty();
		quickLoginContainer.addClass('loggedIn');
		var div = new Element('div', {id: 'loginDetails'}).injectInside(quickLoginContainer);
		new Element('span', {id: 'loggedInUser', html: Cookie.read('user')}).injectInside(div);
		var linksContainer = new Element('div', {id: 'loggedInLinks'}).injectInside(div);
		new Element('a', {id: 'lnkMemberArea', href: (window.location.toString().indexOf('/html/') >= 0 ? '' : 'html/') + 'check_user.php?id=24', html: 'View Members Area'}).injectInside(linksContainer);
		new Element('span', {html: '|'}).injectInside(linksContainer);
		new Element('a', {id: 'lnkLogout', href: (window.location.toString().indexOf('/html/') >= 0 ? '../' : '') + 'userlogin.php?logout=1', html: 'Logout'}).injectInside(linksContainer);
	}
	
	//Left hand side image
	var imageContainer = $('localPic') || $('localPicHome');
	if (imageContainer && typeof backgroundImages != 'undefined' && backgroundImages.length) {
		imageContainer.empty();
		imageContainer.setStyle('background: none;');
		var ul = new Element('ul').injectInside(imageContainer);
		var cases = [];
		for (var i = 0; i < backgroundImages.length; i++) {
			var li = new Element('li').injectInside(ul);
			new Element('img', {src: backgroundImages[i]}).injectInside(li);
			cases.push(li);
		}
		new Jp_Showcase(cases, {
			delay: 6000, //time the case will be shown
			duration: 1000, //effect duration
			stopOnMouseOver: false,
			randomize: true
		});
	}
});

function showLoginError(form, msg) {
	form = $(form);
	if (!form) return;

	msg = msg || 'The username and password provided do not match the correct details.';

	var div = new Element('div');
	div.addClass('clearing');
	div.inject(form, 'top');

	var p = new Element('p');
	p.addClass('error');
	p.appendText(msg);
	p.inject(form, 'top');
}