AddSafeLoaderCallback(contact_Init);

var contact_error_obj;

function contact_Init()
{
	contact_error_obj = new TWError(dojo.byId('contact_error_wrapper'), 'contact_error');
	contact_error_obj.Create();
}

function contact_DoCustomerContactSubmit()
{
	contact_error_obj.Hide();
	contact_error_obj.ClearMessageArray();
	
	var name_value = dojo.byId('customer_name').value;
	var email_address = dojo.byId('email_address').value;
	var company_name = dojo.byId('company_name').value;
	var additional_info = dojo.byId('additional_info').value;
	var is_customer_promotion = dojo.byId('is_customer_promotion').checked;
	var subject_id = dojo.byId('contact_subject_id').value;
	
	if(!name_value)
	{
		contact_error_obj.AddMessage('Name is required');
	}
	
	
	if(!email_address || !JSFeature.IsValidEmailAddress(email_address))
	{
		if(!email_address)
			contact_error_obj.AddMessage('E-mail is required');
		else if(!JSFeature.IsValidEmailAddress(email_address))
		{
			contact_error_obj.AddMessage('Please enter a valid e-mail address');
		}
		
	}
	if(subject_id == 'default_subject_option')
	{
		contact_error_obj.AddMessage('Please select what you are contacting us about');
	}
	if(contact_error_obj.GetErrorMessageCount() > 0)
	{
		contact_error_obj.Show();
	}
	else
	{
		SendCustomerContactInfo(contact_CustomerContactSubmitCallback, name_value, email_address, company_name, subject_id, additional_info, is_customer_promotion);
	}
}

function contact_CustomerContactSubmitCallback(data)
{
	contact_error_obj.Hide();
	contact_error_obj.ClearMessageArray();

	if(data.status == 'success')
	{
	}
	else if(data.status == 'invalid_input')
	{
		if(data.data.indexOf('customer_name') > -1)
			contact_error_obj.AddMessage('Name is required');
		if(data.data.indexOf('email_address') > -1)
			contact_error_obj.AddMessage('Please enter a valid e-mail address');
		if(data.data.indexOf('subject_id') > -1)
			contact_error_obj.AddMessage('Subject is required');
	}
	
	if(contact_error_obj.GetErrorMessageCount() <= 0)
	{
		contact_ClearContactForm();
		contact_ShowContactSentSuccessArea();
	}
	else
	{
		contact_error_obj.Show();
		contact_ShowContactForm();
	}
}

function contact_ClearContactForm()
{
	dojo.byId('customer_name').value = '';
	dojo.byId('email_address').value = '';
	dojo.byId('company_name').value = '';
	dojo.byId('additional_info').value = '';
	dojo.byId('is_customer_promotion').checked = false;
}

function contact_ShowContactForm()
{
	dojo.byId('contact_form_wrapper').style.display = '';
	dojo.byId('contact_send_success_wrapper').style.display = 'none';
}

function contact_ShowContactSentSuccessArea()
{
	dojo.byId('contact_form_wrapper').style.display = 'none';
	dojo.byId('contact_send_success_wrapper').style.display = '';
}