/*
 * Script: JA_Validation.js
 * License: comercial
 * Author: Catalin Prescure
 * Credits: mootools, Valerio Proietti, <http://mad4milk.net>
*/

var J_form_tools = new Class({

	// In case of error 
	// color line to red & blink it
	setError: function(field, err) {

		if ( err ) {
			// no overwrite of a previews error (may be an local error validation, and I don't want to remove it)
			if ( ! this.error(field).getText() ) {
				this.error(field).setHTML(err);
			}
			this.lineColor(field, '#FF6600');
			this.lineBlink(field);
		}
	},

	// Get error Element
	// day or month or year will return error.date Element
	error: function(field) {
		if (field == 'day' || field == 'month' || field == 'year') {
			e = $('error.date');
		} else {
			e = $('error.' + field);
		}
		return e;
	},
	
	// Get line Element
	// day or month or year will return line.date Element
	line: function(field) {
		if (field == 'day' || field == 'month' || field == 'year') {
			e = $('line.date');
		} else {
			e = $('line.' + field);
		}
		return e;
	}, 

	// Set line Color
	lineColor: function(field, color) {

		$(field).setStyle('color', color);
		//this.line(field).setStyle('color', color);
		this.error(field).setStyle('color', color);
	},
	
	// Blink line
	// the element will appear and disappear three times
	lineBlink: function(field) {

		var myFx = new Fx.Style(this.error(field), 'opacity');

		myFx.start(1,0).chain(function(){
			myFx.start(0,1);
		}).chain(function(){
			myFx.start(1,0);
		}).chain(function(){
			myFx.start(0,1);
		});
	},

	elementBlink: function(e) {
		
		if ($(e) && $(e).getText()) {
			var myFx = new Fx.Style($(e), 'opacity');

			myFx.start(1,0).chain(function(){
				myFx.start(0,1);
			});
		}
	}
/*
	blink: function() {
		
		e = $('message_main');

		if ($defined(e)) {
			var myFx = new Fx.Style(e, 'opacity');

			myFx.start(0.5,0).chain(function(){
				myFx.start(0,1);
			});
		}
	}
	*/
});