$(function(){
		
	if($('#prCheckAll').attr('class')){
		
		$('#prCheckAll').bind('click',
				function(event){
					$.post($(event.target).attr('url'), function(data) {refreshNewsletterStatistics();});
					$('input[type=checkbox]').attr('checked', 'true');
					
				}
		)
		
		$('#prUnCheckAll').bind('click',
				function(event){
					$.post($(event.target).attr('url'), function(data) {refreshNewsletterStatistics();});
					$('input[type=checkbox]').removeAttr('checked');
				}
		)
		
		$('input[id=prCheckContact]').bind('click',
				function(event){					
					var idVal = $(event.target).attr('contactId');
					var checked = $(event.target).attr('checked');
					$.post($(event.target).attr('url'), {id:idVal, selected:checked}, function(data) {refreshNewsletterStatistics();});					
				}
		)						
		
		$('#searchForTagPattern').bind('click',
				function(event){
					var pattern = $('#tagPattern').attr('value');
					var url = $('#searchForTagPattern').attr('url');					
					if (pattern != null && pattern != '' && $.trim(pattern) != ''){
						var selectedContacts = $('input[name=note]').filter('input[value*=' + pattern + ']');
						var selectedContactIds = null;
						$.each(selectedContacts, function (n, selectedContact) {
							$('input[id=prCheckContact]').filter('input[contactId=' + $(selectedContact).attr('contactId') +  ']').attr('checked', 'true');
							if (selectedContactIds == null){
								selectedContactIds = $(selectedContact).attr('contactId');
							} else {
								selectedContactIds = selectedContactIds + ',' + $(selectedContact).attr('contactId');
							}
						});
						$.post(url, {contactIds:selectedContactIds}, function(data) {refreshNewsletterStatistics();});
					}					
				}
		)	
		
		$('img[alt=edit]').bind('click',
				function(event){				
					var id = $(event.target).attr('contactId');
					$('input[contactId=' + id + ']').filter('input[name=firstName]').removeAttr('readonly').attr('class', 'formsSmall');
					$('input[contactId=' + id + ']').filter('input[name=lastName]').removeAttr('readonly').attr('class', 'formsSmall');
					$('input[contactId=' + id + ']').filter('input[name=emailAddress]').removeAttr('readonly').attr('class', 'formsSmall');
					$('input[contactId=' + id + ']').filter('input[name=note]').removeAttr('readonly').attr('class', 'formsSmall');
					$('img[alt=edit]').filter('img[contactId=' + id + ']').attr('style', 'display:none;');
					$('img[alt=save]').filter('img[contactId=' + id + ']').attr('style', 'cursor:pointer;');
				}
		)
		
		$('img[alt=save]').bind('click',
				function(event){				
					var idVal = $(event.target).attr('contactId');
					var firstNameVal = $('input[contactId=' + idVal + ']').filter('input[name=firstName]').attr('value');
					var lastNameVal = $('input[contactId=' + idVal + ']').filter('input[name=lastName]').attr('value');
					var emailAddressVal = $('input[contactId=' + idVal + ']').filter('input[name=emailAddress]').attr('value');
					var noteVal = $('input[contactId=' + idVal + ']').filter('input[name=note]').attr('value');
					var errors = false;
					$('input[contactId=' + idVal + ']').filter('input[name=firstName]').attr('class', 'formsSmall');
					$('input[contactId=' + idVal + ']').filter('input[name=lastName]').attr('class', 'formsSmall');
					$('input[contactId=' + idVal + ']').filter('input[name=emailAddress]').attr('class', 'formsSmall');
					
					if (firstNameVal == null || firstNameVal == ''){
						$('input[contactId=' + idVal + ']').filter('input[name=firstName]').attr('class', 'formsSmallError');
						errors = true;
					}
					if (lastNameVal == null || lastNameVal == ''){
						$('input[contactId=' + idVal + ']').filter('input[name=lastName]').attr('class', 'formsSmallError');
						errors = true;
					}
					if (emailAddressVal == null || emailAddressVal == ''){
						$('input[contactId=' + idVal + ']').filter('input[name=emailAddress]').attr('class', 'formsSmallError');
						errors = true;
					}
					if(errors == true){
						var errorMessage = getProperty('alert_required_fields_missing');
						$('img[alt=error]').filter('img[contactId=' + idVal + ']').attr('style', 'cursor:pointer;').attr('title', errorMessage);
						return;
					}
					
					$.post($('img[alt=save]').attr('url'), 
							{id:idVal, firstName:firstNameVal, lastName:lastNameVal, emailAddress:emailAddressVal, note:noteVal}, 
							function(data){ 
								if (data != 'true'){
									$('input[contactId=' + idVal + ']').filter('input[name=emailAddress]').attr('class', 'formsSmallError');
									$('img[alt=error]').filter('img[contactId=' + idVal + ']').attr('style', 'cursor:pointer;').attr('title', getProperty(data));
								} else {
									$('input[contactId=' + idVal + ']').filter('input[name=firstName]').attr('readonly', 'true').attr('class', 'formsInvisiblePR');
									$('input[contactId=' + idVal + ']').filter('input[name=lastName]').attr('readonly', 'true').attr('class', 'formsInvisiblePR');
									$('input[contactId=' + idVal + ']').filter('input[name=emailAddress]').attr('readonly', 'true').attr('class', 'formsInvisiblePR');
									$('input[contactId=' + idVal + ']').filter('input[name=note]').attr('readonly', 'true').attr('class', 'formsInvisiblePR');
									$('img[alt=save]').filter('img[contactId=' + idVal + ']').attr('style', 'display:none;');
									$('img[alt=error]').filter('img[contactId=' + idVal + ']').attr('style', 'display:none;');
									$('img[alt=edit]').filter('img[contactId=' + idVal + ']').attr('style', 'cursor:pointer;');									
								}								
							})				
				}
		)		
		
		$('img[alt=delete]').bind('click',
				function(event){		
					var idVal = $(event.target).attr('contactId');
					$.post($('img[alt=delete]').attr('url'), {id:idVal}, function(data){})										
					$('table[contactId=' + idVal + ']').fadeOut('normal', function(){$(this).hide('fast', function(){})});
				}
		)				
							
	}
		
})