$(function() {
	$('.error').hide();
	$('.error_comments').hide();
	$(".submitConcernSubmit").click(function() {
		validateAndProcessData();
	});
});

function validateAndProcessData () {
	$('.error').hide();
	$('.error_comments').hide();
	var emailSubject = "Customer Concern";
	//var toEmail = "asoderberg@apxalarm.com";
	//var toEmail = "customeradvocategroup@apxalarm.com";
	var toEmail = "customersupportfollowup@apxalarm.com";
	
	var account_number = $("input#submitConcernAccountNumber").val();
	if (typeof(account_number)=="undefined" || account_number == null || account_number == "") {
		$("label#submitConcernAccountNumber_error").show();
		$("input#submitConcernAccountNumber").focus();
		return false;
	}
	
	var first_name = $("input#submitConcernFirstName").val();
	if (typeof(first_name)=="undefined" || first_name == null || first_name == "") {
		$("label#submitConcernFirstName_error").show();
		$("input#submitConcernFirstName").focus();
		return false;
	}

	var last_name = $("input#submitConcernLastName").val();
	if (typeof(last_name)=="undefined" || last_name == null || last_name == "") {
		$("label#submitConcernLastName_error").show();
		$("input#submitConcernLastName").focus();
		return false;
	}
	
	var hPhone = $("input#submitConcernPhone").val();
	if (typeof(hPhone)=="undefined" || hPhone == null || hPhone == "") {
		$("label#submitConcernPhone_error").show();
		$("input#submitConcernPhone").focus();
		return false;
	}

	var comments = $("textarea#submitConcernComments").val();
	if (typeof(comments)=="undefined" || comments == null || comments == "") {
		$("label#submitConcernComments_error").show();
		$("textarea#submitConcernComments").focus();
		return false;
	}	
	
	var emailData = 'toEmail=' + toEmail + '&emailSubject=' + emailSubject;
	var messageBody = 'account_number=' + php_urlencode(account_number) + '&first_name='+ php_urlencode(first_name) + '&last_name=' + php_urlencode(last_name) + '&hPhone=' + php_urlencode(hPhone);
	var messageBody2 = 'comments=' + php_urlencode(comments);
	
	var dataString = emailData + '&' + messageBody + '&' + messageBody2;
	
	submitFormData (dataString);
}

function submitFormData (dataString) {
	// email
	var urlText = "/Collector/FormCollector/Email/XML";
	//alert (dataString);return false;  
	$.ajax({  
		type: "POST",  
		url: urlText,  
		data: dataString,  
		success: function(data) {  
			var str = data.getElementsByTagName("success")[0].childNodes[0].nodeValue;
			if (str == "true")
			{
				$('#submitConcernMain').html("<div id='success'></div>");  
				$('#success').html("<p>Thank you for letting us know how better to serve you. We will be contacting you shortly.</p>")  
				.hide()  
				.fadeIn(1500, function() {  
					$('#success').append("");  
				});  
			} else {
					$('#submitConcernMain').html("<div id='success'></div>");  
					$('#success').html("<p>There was an error sending your message. Please try again later.</p>")  
					.hide()  
					.fadeIn(1500, function() {  
					$('#success').append("");  
					});  
			}
		},
		error: function(data, errorType) {  
				var IE = /*@cc_on!@*/false;
				if (IE && errorType.toUpperCase() == "PARSERERROR")
				{
					$('#submitConcernMain').html("<div id='success'></div>");  
					$('#success').html("<p>Thank you for letting us know how better to serve you. We will be contacting you shortly.</p>")  
					.hide()  
					.fadeIn(1500, function() {  
					$('#success').append("");  
					});  
				} else {
					$('#submitConcernMain').html("<div id='success'></div>");  
					$('#success').html("<p>Could not send message. Please try again later.</p>")  
					.hide()  
					.fadeIn(1500, function() {  
					$('#success').append("");  
					});  
				}  
		}

	});  
	return false;  
}

function php_urlencode (str) {
str = escape(str);
return str.replace(/[*+\/@]|%20/g,
function (s) {
switch (s) {
case "*": s = "%2A"; break;
case "+": s = "%2B"; break;
case "/": s = "%2F"; break;
case "@": s = "%40"; break;
case "%20": s = "+"; break;
}
return s;
}
);
}