/*
	Written by Jonathan Melville (jonathan@newnan.com)
	
	** v1.2
	** Last modified 01/15/09
	
	1.2 adds validation and prevents potential dulicate
	entries in the database if the user attempts to
	make more than 2 corrections.

*/
window.addEvent('domready', function(){
	var dataHash=$H();
	dataHash.set('doInjection', true);
	var validateFailed=false;
	function initForm() {
		$('sms-init').addEvent('submit', function(e) {
			e.stop();
			var doSubmit=true;
			var phoneValue=$('Phone').get('value');
			if(phoneValue.test('-')||phoneValue.test(' ')||!phoneValue){
			    doSubmit=false;
				$('errorMsg').highlight('#be1e2d').addClass('thRed');
			}
			if(!$('Carrier').get('value')){
				if(!$('noCarrier')){
					var noCarrier = new Element('span',{'id': 'noCarrier', 'class': 'sans thRed', 'text': 'Choose A Carrier'});noCarrier.inject($('li-car'));
				}
				doSubmit=false;
				validateFailed=true;
			}
			if (doSubmit) {
				$('errorMsg').removeClass('thRed');
				if(validateFailed){$('noCarrier').destroy();}
				validateFailed=false;
				dataHash.set('formData', $('state-change').get('html'));
				$('inputButton').set('value', 'Wait...').set('disabled', 'disabled');
				this.addClass('ajaxLoad');
				dataHash.set('phone', phoneValue);
				dataHash.set('carrier', $('Carrier').get('value'));
				this.set('send', { onComplete: function(response) {
					var responseContainer = $('state-change').empty();
					responseContainer.set('html', response);
					dataHash.set('params', $$('.param'));
					$('correct').addEvent('click', function(){
						$$('.purge').each(function(el){el.destroy();});
						$('state-change').empty().set('html', dataHash.formData);
						$('Phone').set('value', dataHash.phone);
						$('Carrier').set('value', dataHash.carrier);
						switch (dataHash.doInjection) {
						case true:
							dataHash.params.inject($('sms-init'), 'top');
							initForm();
							dataHash.set('doInjection', false);
						  	break;
						case false:
							initForm();
						  	break;
						}
					});
					$('sms-confirm').addEvent('submit', function(e) {
						e.stop();
						this.addClass('ajaxLoad');
						$('inputButton').set('value', 'Wait...').set('disabled', 'true');
						this.set('send', {onComplete: function(response) {
							var responseContainer = $('state-change').empty();
							responseContainer.set('html', response);
						}});
						this.send();
					});
				}});
				this.send();
			}
		});
	}
	initForm();
});