window.addEvent('domready',function() {
 
	var submitters = $$('a.submitter');

	makesubmitters(submitters);


if ($('formvalid')) {
	// add a validator for ALL instances
	FormValidator.add('required', {
  		errorMsg: 'This field is required',
    		test: function(element){
        		if(element.value.length ==0) return false;
        		else return true;
    		}
	});

	var FormAdd = new FormValidator('formvalid', { 
		onFormValidate: formsuccess,
		evaluateOnSubmit: false,
		evaluateFieldsOnBlur: false,
		evaluateFieldsOnChange: false
	 });

	$('validator').addEvent('click', function(e){
		e = new Event(e).stop();
		FormAdd.validate();
	});
};

	var listitems = $$('ul#list li');

	listitems.each(function(listitem, idx){

		var fxb = new Fx.Styles(listitem, {duration:250, wait:false});		

		listitem.addEvent('mouseenter', function(e){
			e = new Event(e).stop();
			fxb.start({
				//'background-color': '#3d371b',
				'color': '#d8b513'			
			});
		});

		listitem.addEvent('mouseleave', function(e){
			e = new Event(e).stop();
			fxb.start({
				//'background-color': '#000000',
				'color': '#FFFFFF'			
			});



		});
	});

});


function formsuccess(isValid, form) {
	if(isValid == true) {

		var requireds = $$('#right .fade');
		var o = {};
		var n = {};

		var fx = new Fx.Elements(requireds);

		requireds.each(function(field, idx){
			field.setProperty('readonly','readonly'); 
			o[idx] = {opacity: [1,.25]};
		});

		requireds.each(function(field, idx){
			field.removeProperty('readonly'); 
			n[idx] = {opacity: [.25,1]};
		});

		fx.start(o);

		var subdd = new Element('dd');
		var sublink = new Element('a', {'id': 'submitter', 'href': 'javascript:;'}).setHTML('add');
		sublink.injectInside(subdd);
		subdd.injectAfter('validatordd');
		$('validatordt').setHTML('validation successful, you are now prepared.');
		$('validatordd').remove();
		$('addfs').removeClass('actions');
		$('addfs').addClass('success');

		sublink.addEvent('click', function(e){
			e = new Event(e).stop();
				
			var par = sublink.getParent();
			while (par.getTag() != 'form') {
				par = par.getParent();
			}

			par.submit();
		});


	};
}

function makesubmitters(submitters) {

	submitters.each(function(submitter, idx){
		submitter.addEvent('click', function(e){
			e = new Event(e).stop();
				
			var par = submitter.getParent();
			while (par.getTag() != 'form') {
				par = par.getParent();
			}

			par.submit();
		});
	});

};

