/**
	Load/execute with page loading
 */
$(document).ready( function () {
	//alert('ready');
	buildHTML();
});


/**
	Container div ID to reference and add dynamic content to
 */
var CONTAINER = "#quickContactPod1";


/**
	Creates content for quick contact container and calls function to setup event handling
 */
function buildHTML()
{
	try {
		var html = "<input type='text' name='emailAddress' id='emailAddress' style='width: 110px;' /> "
				+  "<input type='image' src='/media/common/assets/en/btn_go_en.gif' id='register' style='margin-left: 4px;' />";
		
		$(html).appendTo(CONTAINER);
		
		//set up event handlers for HTML inputs
		setupHandlers();
		
	} catch (e) {
		alert(e.lineNumber + ': ' + e.message);
	}
	
}//end buildHTML function


/**
	Sets up event handlers for quick contact pages and form
 */
function setupHandlers()
{
	try {
		//handler for form submit/register button/image
		$('#register').click( function () 
		{
			//get email address from input field
			var emailAddress = jQuery.trim( $('#emailAddress').val() );
			
			//make AJAX request sending email address			
			if (validateEmail(emailAddress))
			{
				var url = "/hillspet/ajax/quickContact.hjsp";
				$.get(url, { email: emailAddress }, handleResponse);			
			}
		});
		
	} catch (e) {
		alert(e.lineNumber + ": " + e.message);
	}
	
}//end setupHandlers function


/**
	Handles response from AJAX request, parsing XML and displaying correct message
 */
function handleResponse(xml)
{
	try {
		//alert('handleResponse : data = ' + xml);
		
	    /* sample return XML
		<?xml version="1.0" encoding="UTF-8"?>
		<Envelope>
			<Body>
				<RESULT>
					<SUCCESS>TRUE</SUCCESS>
					<RecipientId>0000000000</RecipientId>
				</RESULT>
			</Body>
		</Envelope>
		*/
		
		/* This works great in FF and Safari, but not IE version
		$(xml).find('success').each( function() {
	        var successText = $(this).text().toLowerCase();
	
			if (successText == 'true')
			{
				//show thank you div/text
				$("#quickContactPod1").hide();
				$("#quickContactPod2").show();
				
			}
			else
			{
				alert("Error - " + $(this).text());
				//set error message or ignore
			}
	    });
	    */
	    
		//manually parsing XML by characters due to IE issue above
		var successIndexStart = xml.indexOf("<success>");
		var successIndexEnd = -1;
		var isSuccessful = 'false';
		
		if (successIndexStart != -1)
		{
			var successIndexEnd = xml.indexOf("</success>");
			isSuccessful = xml.substring(successIndexStart + 9, successIndexEnd);
			
			if (isSuccessful.toLowerCase() == 'true')
			{
				$("#quickContactPod1").hide();
				$("#quickContactPod2").show();
			} 
			else
			{
				alert("122: Unable to complete request.");
			}
		}
		else
		{
			alert("127: Unable to complete request.");
		}
	    
	} catch (e) {
		alert(e.lineNumber + ': ' + e.message);
	}
    
}//end handleResponse function


//email validation function
function validateEmail(strng) 
{
	var emailReg = "^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$";
	var regex = new RegExp(emailReg);
	return regex.test(strng);
	
}//end validateEmail function

