// set default messages and errors

	var messages = new Array();
	
	messages['loading'] = '<p>Loading...</p>';
	messages['ok'] = '<p>The request was successful.</p>';
	
	var errors = new Array();
	
	errors['failed'] = '<p>The request failed.</p>';

window.addEvent('domready', function() {
		
	// add acton handler
	
	if($('main-form')) {
	
		// load localised messages and errors
		
			var page = document.location.href;
			page = page.substring(page.indexOf('/', 10) + 1);

			var htmlRequest = new Request.HTML(
				{
					url: "/-websuite/messages.php", 
					evalScripts: true,
					onComplete: function() {
						// 	auto submit
						if($('immediately')) {
							var jsonRequest = new Request.JSON(
							{
								url: "/-websuite/actions.php", 
								onComplete: function(response){
									if(response.success) {
										$('messagebox').removeClass('loading');
										$('messagebox').addClass('message');
										$('messagebox').removeClass('error');
										$('messagebox').set('html', messages[response.message]);
										$('main-form').setStyle('display', 'none');
									
									// 	save cookie if needed
									
										if($('remember')) {
											if($('remember').checked == true) {
												$('main-form').getElements('input').each(function(item, index){
												    if(item.type != 'submit' && item.type != 'hidden') {
												    	Cookie.write(item.id, item.value, {duration: 30});
												    }
												});
											} else {
												$('main-form').getElements('input').each(function(item, index){
												    if(item.type != 'submit' && item.type != 'hidden') {
												    	Cookie.write(item.id, '', {duration: 0});
												    }
												});										
											}
										}
										
									} else {
										$('messagebox').removeClass('loading');
										$('messagebox').removeClass('message');
										$('messagebox').addClass('error');
										$('messagebox').set('html', errors[response.error]);
										if ($(response.focus)) {
											$(response.focus).focus();
										}
									}
								},
								onRequest: function() {
									$('messagebox').addClass('loading');
									$('messagebox').removeClass('message');
									$('messagebox').removeClass('error');
									$('messagebox').set('html',messages['loading']);
								},
								onFailure: function() {
									$('messagebox').removeClass('loading');
									$('messagebox').removeClass('message');
									$('messagebox').addClass('error');
									$('messagebox').set('html',errors['failed']);
								}
							}).post($('main-form'));
						}
					}
				}).post({page:page});

		// 	load saved cookie
		
			if($('remember')) {
				$('main-form').getElements('input').each(function(item, index){
				    if(item.type != 'submit' && item.type != 'hidden' && Cookie.read('remember') != null) {
				    	item.value = Cookie.read(item.id);
				    	if (item.id == 'remember' && Cookie.read('remember') != '') {
				    		$('remember').checked = true;
				    	}
				    }
				});
			}
		
		// add form handler
		
			$('main-form').addEvent('submit', function(e) {
				new Event(e).stop();
				// send form to handler
				var jsonRequest = new Request.JSON(
					{
						url: "/-websuite/actions.php", 
						onComplete: function(response){
							if(response.success) {
								$('messagebox').removeClass('loading');
								$('messagebox').addClass('message');
								$('messagebox').removeClass('error');
								$('messagebox').set('html', messages[response.message]);
								$('main-form').setStyle('display', 'none');
							
							// 	save cookie if needed
							
								if($('remember')) {
									if($('remember').checked == true) {
										$('main-form').getElements('input').each(function(item, index){
										    if(item.type != 'submit' && item.type != 'hidden') {
										    	Cookie.write(item.id, item.value, {duration: 30});
										    }
										});
									} else {
										$('main-form').getElements('input').each(function(item, index){
										    if(item.type != 'submit' && item.type != 'hidden') {
										    	Cookie.write(item.id, '', {duration: 0});
										    }
										});										
									}
								}
								
							} else {
								$('messagebox').removeClass('loading');
								$('messagebox').removeClass('message');
								$('messagebox').addClass('error');
								$('messagebox').set('html', errors[response.error]);
								if ($(response.focus)) {
									$(response.focus).focus();
								}
							}
						},
						onRequest: function() {
							$('messagebox').addClass('loading');
							$('messagebox').removeClass('message');
							$('messagebox').removeClass('error');
							$('messagebox').set('html',messages['loading']);
						},
						onFailure: function() {
							$('messagebox').removeClass('loading');
							$('messagebox').removeClass('message');
							$('messagebox').addClass('error');
							$('messagebox').set('html',errors['failed']);
						}
					}).post($('main-form'));
			});
			
	}
});
