var faqs = Class.create();
faqs.prototype = {
	initialize: function(container) {
		this.faq = container.getElementsBySelector('a.q');
		this.setup();
	},
	setup: function(){
		this.faq.each(function(el,i){
			el.onclick = function(){
				$(el.parentNode).toggleClassName('active');
				return false;
			}
		});
	}
};

/*--------------------------------------------------------------------------*/

var OrderStatusForm = Class.create();
OrderStatusForm.prototype = {
	initialize: function() {
		this.form      = $('orderStatusForm');
		this.validator = new Validation(this.form, {onSubmit: false});
		Event.observe(this.form, 'submit', this.validate.bindAsEventListener(this));
	},
	validate: function(event) {
		this.validator.validate();
		Event.stop(event);
	}
}

/*--------------------------------------------------------------------------*/

var LookingForm = Class.create();
LookingForm.prototype = {
	initialize: function() {
		this.form      = $('lookingForm');
		this.validator = new Validation(this.form, { onSubmit: false });
		Event.observe(this.form, 'submit', this.validate.bindAsEventListener(this));
	},
	validate: function(event) {
		if (this.validator.validate()) {
			new Ajax.Request('/ae/control/lookingForSomething',
				{ method: 'post', parameters: Form.serialize(this.form), onComplete: this.respond.bind(this) });
		}
		Event.stop(event);
	},
	respond: function(transport) {
		response = transport.responseText.strip().evalJSON();
		if (response.status == 'SUCCESS') {
			var thanks = this.form.down('.thanks')
			thanks.show();
			Form.reset(this.form);
		}
	}
}

/*--------------------------------------------------------------------------*/

Event.onDOMReady(function(){
	if ($('faqs')) {
		new faqs($('faqs'), 0);
	}
	
	if ($('orderStatusForm')) {
		new OrderStatusForm();
	}
	
	if ($('lookingForm')) {
		new LookingForm();
	}
	
	if ($('contactUs') && $('topFaq')) {
		$('contactUs').style.height = $('topFaq').offsetHeight+'px';
	}
});
