/*
 * All java script logic for the newsletter subscription.
 *
 * The code relies on the jQuery JS library to be also loaded.
 *
 */
(function(app){
	if (app) {
		// add newsletter to namespace
		app.newsletter = {
			
			// configuration parameters and required object instances
			
			
			/********************************************************* 
			* initialize the newsletter form
			* 
			* @param - url : url for email subscription
			*/
			init : function(form) 
			{
				$('#'+form).submit(function(){
					app.newsletter.subscribe(jQuery(this).find('.newsletter-email').val(), form);
					return false;
				});
			},
			
			/********************************************************* 
			* function to call the nesletter subscription service 
			**********************************************************/
			
			subscribe : function(email, form) 
			{
				$.getJSON(app.URLs.newsletterUrl, {'email': email}, function(data){app.newsletter.displayStatus(data['status'], form, email);});
			},
			
			
			/********************************************************* 
			* function to display the result status for subscription 
			**********************************************************/
			
			displayStatus: function(status, form, email)
			{	
				if (status)
				{
					var htmlStatus = '';
					if (status.code == 0) {
						htmlStatus = '<div class="newsletter" style="text-transform: uppercase;">'+status.message+'</div><div id="tracking-lead"></div>';
						$('#'+form).html('');
						$('#'+form).append(htmlStatus);
						// insert the lead tracking pixel
						$.ajax({url: 'Newsletter-GetLeadPixel', data: {'email': email}, dataType: 'html', success: function(data){ $('#tracking-lead').html(data);}}); 	
					} else {
						htmlStatus = '<div class="error newsletter">'+status.message+'</div>';
						$('#'+form).find(".error").remove();
						$('#'+form).prepend(htmlStatus);
					}
				}
			}
			
		} // end newsletter
	} else {
		// namespace has not been defined yet
		alert("app namespace is not loaded yet!");
	}
})(app);	
