﻿$(document).ready(function(){

	$('[icobalt=CobaltControls.Controls.EmailTracking]').click(function(e){

		var link = $(this);
		var popup = link.data('popup');
		if (!popup)
		{
			var div = link.children('div:hidden');
			var html = div.html();
			div.remove();

			popup = new $.cobalt.dialog();
			popup.title = link.attr('_title')||'Email Our Firm';
			popup.contentHtml = html;
			popup.width = $.toInt(link.attr('_width')) || 600;
			popup.initContents = function(){
				this.main.find('input:button,input:submit,input:image')
					.data('dialog',popup)
					.data('link',link)
					.click(EmailTracking);
			};

			link.data('popup',popup);
		}

		popup.open({hideFooter:true});
	});

});

function EmailTracking(e)
{
	var btn = $(this);
	var dialog = btn.data('dialog');
	var link = btn.data('link');
	var form = btn.parents('div.pdialog:first');
	var fields = [];
	var values = [];
	var okayToSend = true;
	
	//Make the button disabled
	btn.attr("disabled","disabled");
	
	//Check to see if there are any required fields
	form.find('.required').each(function(i){
			var input = $(this);
			if(input.val() == "")
			{
				var temp = form.find('.m_emailtracking_required[name='+input.attr('name')+']');
				temp.text(" *REQUIRED");
				okayToSend = false;
			}
			else
			{
				var temp = form.find('.m_emailtracking_required[name='+input.attr('name')+']');
				temp.text("");
			}
	});
	
	//Get all the form elements
	form.find('[name]').each(function(i){
			var input = $(this);
			var name = input.attr('name');
			if (input.is('input:checkbox'))
				val = ''+input[0].checked;
			else if (input.is('input:radio'))
			{
				if(input[0].checked)
					val = input.val();
				else
					val = "skip this";
			}
			else if (input.is('table'))
			{
				val = '';
				input.find('input').each(function(i){
					val += $(this).val();
				});
			}
			else if(input.is('strong'))
			{
				val = "skip this";
			}
			else
				val = input.val();

			if(val != "skip this")
			{
				fields.push(name);
				values.push($.encode(val));
			}
		});

	if(okayToSend)
	{
		// Get the values.
		var smtpid = $.toInt(link.attr('_smtpid'));
		var url = $.getAjaxUrl('Shared/Contact/EmailTracking.aspx',{SendEmailTracking:true,SMTPID:smtpid});
		var data = 'fields='+$.encode(fields.join(','))+'&values='+$.encode(values.join(','));

		// Set up the loading screen.
		var message = '<div class="load_screen" style="position:absolute;z-index:2000;width:150px;">\
							<table cellpadding=0 cellspacing=0 border=0 class="load_table" style="width:150px;">\
								<tr>\
									<td><div class="load_indicator">&nbsp;</div></td>\
									<td>&nbsp;Sending Email ...</td>\
								</tr>\
							</table>\
						</div>';
		dialog.main.loading(0,{message:message});

		// Close the loading screen in 3 seconds.
		var fn = function(dialog,btn){
			return function(){
				btn.attr("disabled","");
				dialog.main.doneLoading();
				dialog.close();
				dialog = null;
				btn = null;
			};
		}(dialog,btn);
		setTimeout(fn,3000);
		
		// Post the email.
		$.ajax({url:url,type:'POST',data:data});
	}
	else
		btn.attr("disabled","");
}