var membersFound = 0;
var countMemberPages = 0;
var memberListProgress;
var lastMemberSearch = '';

function showMemberListProgress() {
	$('#memberList').html($('#progressIndicator').html());
}

function getMembers(resetPageNr, members) {
	var pageNrFormElement = $('form[name="memberForm"]').children('input[name="pageNr"]');
	if (typeof(resetPageNr) == 'boolean' && resetPageNr) {
		pageNrFormElement.val(0);
	}
	
	if (typeof(members) == 'string' && members=='no') {
		pageNrFormElement.val(0);
	} else {
		members = 'yes';
	}
	
	if ($('#memberAdminBar').html().length) {
		$('#memberAdminBar').show();
	}
	
	var memberSearch = $('form[name="memberForm"]').serialize() + '&members=' + members;
	if (memberSearch != lastMemberSearch) {
		lastMemberSearch = memberSearch;
	
		//memberListProgress = window.setTimeout("showMemberListProgress()", 500);
		
		$.get('http://'+currentHost+'/ajaxMember.php', ('memberAction=getMembers&session='+session+'&shortLanguage='+shortLanguage+'&contentWidth='+memberContentWidth+'&'+memberSearch+'&ieBug='+Math.random()),
			function(data){
				if (memberSearch == lastMemberSearch) {
					window.clearTimeout(memberListProgress);
					membersFound = data.foundMembers;
					
					var memberPerPage = parseInt($('select[name="memberPerPage"]').val());
					countMemberPages = Math.ceil(membersFound / memberPerPage);
					var currentPage = parseInt(pageNrFormElement.val());
					
					if (membersFound > 0) {
						if (currentPage == 0) {
							$('a.memberJumpFirst').css('display','none');
							$('a.memberJumpPrevious').css('display','none');
						} else {
							$('a.memberJumpFirst').css('display','');
							if (currentPage == 1) {
								$('a.memberJumpPrevious').css('display','none');
							} else {
								$('a.memberJumpPrevious').css('display','');
							}
						}
						if (currentPage >= (countMemberPages-1)) {
							$('a.memberJumpLast').css('display','none');
							$('a.memberJumpNext').css('display','none');
						} else {
							$('a.memberJumpLast').css('display','');
							if (currentPage >= (countMemberPages-2)) {
								$('a.memberJumpNext').css('display','none');
							} else {
								$('a.memberJumpNext').css('display','');
							}
						}
						
						var directLinks = new Array();
						if (countMemberPages < 6) {
							for (var i=0; i<countMemberPages; i++) {
								if (currentPage == i) {
									directLinks.push('<b>'+(i+1)+'</b>');
								} else {
									directLinks.push('<a href="javascript:jumpToMemberPage('+i+');">'+(i+1)+'</a>');
								}
							}
						} else {
							if (currentPage < 3) {
								var startPage = 0;
							} else if (currentPage > (countMemberPages-4)) {
								var startPage = countMemberPages - 5;
							} else {
								var startPage = currentPage - 2;
							}
							for (var i = startPage; i<(startPage+5); i++) {
								if (currentPage == i) {
									directLinks.push('<b>'+(i+1)+'</b>');
								} else {
									directLinks.push('<a href="javascript:jumpToMemberPage('+i+');">'+(i+1)+'</a>');
								}
							}
						}
						$('div.memberJumpPage').html(directLinks.join('|'));
						$('div.memberListInfo').show();
					} else {
						$('div.memberListInfo').hide();
					}
					
					$('#memberList').html(data.html);
				}
			}, 'json');
	}
}


function jumpToMemberPage(which) {
	var pageNrFormElement = $('form[name="memberForm"]').children('input[name="pageNr"]');
	if (typeof(which)=='string') {
		if (which == 'first') {
			pageNrFormElement.val(0);
		} else if (which == 'previous') {
			pageNrFormElement.val(parseInt(pageNrFormElement.val())-1);
		} else if (which == 'next') {
			pageNrFormElement.val(parseInt(pageNrFormElement.val())+1);
		} else if (which == 'last') {
			pageNrFormElement.val(countMemberPages-1);
		}
	} else {
		pageNrFormElement.val(which);
	}
	//window.status = pageNrFormElement.val();
	getMembers();
}

function getMemberAdminBar() {
	$.get('http://'+currentHost+'/ajaxMember.php', ('memberAction=getMemberAdminBar&session='+session+'&shortLanguage='+shortLanguage+'&contentWidth='+$('#memberList').width()+'&ieBug='+Math.random()),
		function(data){
			$('#memberAdminBar').html(data.html).show();
		}, 'json');
}


function newMember() {
	$('#memberAdminBar').hide();
	$.get('http://'+currentHost+'/ajaxMember.php', ('memberAction=newMember&session='+session+'&shortLanguage='+shortLanguage+'&contentWidth='+$('#memberList').width()+'&ieBug='+Math.random()),
		function(data){
			$('#memberList').html(data.html);
			$('div.memberListInfo, div.memberSearchBar').hide();
			$('body').scrollTop($('div.memberEditBar').offset().top);
		}, 'json');
}


function exportMembers() {
	$('#memberMain').hide();
	$('#memberExport').show();
}

function cancelExportMembers() {
	$('#memberExport').hide();
	$('#memberMain').show();
}

function mailToMembers() {
	$('#memberMain').hide();
	$('#memberMail').show();
}

function memberRequest() {
	$.get('http://'+currentHost+'/ajaxMember.php', ('memberAction=memberRequest&session='+session+'&shortLanguage='+shortLanguage+'&contentWidth='+$('#memberList').width()+'&ieBug='+Math.random()),
		function(data){
			$('#memberList').html(data.html);
			$('div.memberListInfo, div.memberSearchBar').hide();
			$('body').scrollTop($('div.memberEditBar').offset().top);
		}, 'json');
}


function editMember(adressId) {
	if ($('#memberAdminBar').html().length) {
		$('#memberAdminBar').hide();
	}
	$.get('http://'+currentHost+'/ajaxMember.php', ('memberAction=editMember&session='+session+'&shortLanguage='+shortLanguage+'&contentWidth='+$('#memberList').width()+'&memberId='+adressId+'&ieBug='+Math.random()),
		function(data){
			$('#memberList').html(data.html);
			$('div.memberListInfo, div.memberSearchBar').hide();
			$('body').scrollTop($('div.memberEditBar').offset().top);
		}, 'json');
}

function deleteMember(adressId) {
	$('div.editMemberTools').hide();
	
	$('#memberEntry_'+adressId).before('<div class="memberError">'+visIfText['reallyDeleteMember']+'</div>');
	$('#memberEntry_'+adressId).prev('div.memberError').slideDown('fast');
	
	$('#memberEntry_'+adressId).after('<div class="deleteButtons"><input type="button" name="deleteNow" onclick="deleteMemberNow('+adressId+');" style="width:100px;" value="Löschen" /><input type="button" name="cancel" onclick="cancelDeleteMember('+adressId+');" style="width:100px; margin-left:16px;" value="Abbrechen" /></div>');
	
}

function cancelDeleteMember(adressId) {
	$('div.editMemberTools').show();
	
	$('#memberEntry_'+adressId).prev('div.memberError').remove();
	$('#memberEntry_'+adressId).next('div.deleteButtons').remove();
}

function deleteMemberNow(adressId) {
	$.get('http://'+currentHost+'/ajaxMember.php', ('memberAction=deleteMember&session='+session+'&shortLanguage='+shortLanguage+'&memberId='+adressId+'&ieBug='+Math.random()),
		function(data){
			if (data['success']) {
				$('#memberEntry_'+adressId).prev('div.memberError').remove();
				$('#memberEntry_'+adressId).next('div.deleteButtons').remove();	
				$('#memberEntry_'+adressId).slideUp('fast');
				lastMemberSearch = '';
				getMembers();
			} else if (data['error']) {
				$('#memberEntry_'+adressId).prev('div.memberError').html(data['error']);
				$('div.editMemberTools').show();
				$('#memberEntry_'+adressId).next('div.deleteButtons').remove();	
			} else {
				$('div.editMemberTools').show();
	
				$('#memberEntry_'+adressId).prev('div.memberError').remove();
				$('#memberEntry_'+adressId).next('div.deleteButtons').remove();
			}
		}, 'json');
}

function companyDescription(adressId, obj) {
	if ($('#companyDescription_'+adressId).css('display')=='none') {
		$('#companyDescription_'+adressId).slideDown('fast');
		$(obj).removeClass().addClass('memberArrowOpen');
	} else {
		$('#companyDescription_'+adressId).slideUp('fast');
		$(obj).removeClass().addClass('memberArrowClosed');
	}
}

function checkMemberSearchClear() {

}

function contactWidthMember(adressId, obj) {
	if ($(obj).hasClass('memberArrowClosed')) {
		$('div.memberContact').parent().prev().removeClass().addClass('memberArrowClosed');
		$('div.memberContact').remove();
	
		$.get('http://'+currentHost+'/ajaxMember.php', ('memberAction=getContactForm&session='+session+'&shortLanguage='+shortLanguage+'&contentWidth='+$('#memberContact_'+adressId).width()+'&memberId='+adressId+'&ieBug='+Math.random()),
		function(data){
			$('#memberContact_'+adressId).html(data.html).slideDown('fast', function() {
				$(this).find('input[name="company"]').focus();
			});
		}, 'json');
		
		$(obj).removeClass().addClass('memberArrowOpen');
	} else {
		$(obj).removeClass().addClass('memberArrowClosed');
		$('div.memberContact').slideUp('fast', function() {
			$(this).remove();
		});
	}	
}


function submitMemberContact(obj) {
	$(obj).parent().find('div.memberError, div.memberSuccess').slideUp('fast');
	$.post('http://'+currentHost+'/ajaxMember.php', ('memberAction=contact&session='+session+'&uniqueName='+uniqueName+'&shortLanguage='+shortLanguage+'&'+$(obj).serialize()+'&ieBug='+Math.random()),
	function(data){
		if (data['error']) {
			$(obj).parent().children('div.memberError').html(data['error']).slideDown('fast');
		} else {
			$(obj).parent().children('div.memberSuccess').html(data['success']).slideDown('fast');
			$(obj).find(':input').each( 
				function() {
					$(this).attr('disabled', 'disabled');
				});
		}
	}, 'json');
	return false;
}

function saveMember(obj) {
	$('div.memberError, div.memberSuccess').slideUp('fast');
	$('body').scrollTop($('div.memberEditBar').offset().top);
	
	$('#memberInfo_1').slideDown('fast').children('#memberInfo_1_message').html(visIfText['TheMemberWillBeSaved...']);
	
	var logoUpload = $('#memberLogoFrame').contents().find('input[name="logo"]').val();
	
	$.ajaxSetup({async:false});
	$.post('http://'+currentHost+'/ajaxMember.php', ('memberAction=saveMember&session='+session+'&shortLanguage='+shortLanguage+'&'+$(obj).serialize()+'&ieBug='+Math.random()),
	function(data){
		$('#memberInfo_1').slideUp('fast');
		if (data['error']) {
			$('div.memberError').html(data['error']).slideDown('fast');
		} else {
			$('div.memberSuccess').html(data['success']).slideDown('fast');
			
			$(obj).find('input[name="memberId"]').val(data['memberId']);
			$(obj).find('input[name="userId"]').val(data['userId']);
			$('#memberLogoFrame').contents().find('input[name="memberId"]').val(data['memberId']);
			$('#memberLogoFrame').attr('src', 'memberLogo.php?session='+session+'&memberId='+data['memberId']+'&shortLanguage='+shortLanguage);
			if (logoUpload) {
				$('#memberInfo_2').slideDown('fast').children('#memberInfo_2_message').html(visIfText['TheLogoWillBeSaved...']);
				$(obj).find(':input').each( 
					function() {
						$(this).attr('disabled', 'disabled');
					});
				closeKeepAlive();
				$('#memberLogoFrame').contents().find('form[name="logoForm"]').submit();
			} else {
				if ($(obj).find('input[name="deleteLogo"]').attr('checked')) {
					$('span.memberLogo').html('');
					$('span.deleteLogo').hide().attr('checked', false);
				}
				$(obj).find('input[name="cancel"]').val(visIfText['done']);
			}
		}
	}, 'json');
	$.ajaxSetup({async:true});
	return false;
}

function logoSaved(imageFileName) {
	$('#memberInfo_2').slideUp('fast');
	
	$('span.deleteLogo').show().attr('checked', false);
	$('div.memberSuccess').append('<br />' + visIfText['TheLogoWasSavedSuccessfully!']);
	
	$('span.memberLogo').html('<img src="memberLogos/small/' + imageFileName + '?ieBug=' + Math.random() + '" border="0" name="memberLogo" style="margin-right:8px;" />');
	
	$('form[name="editMember"]').find(':input').each( 
		function() {
			$(this).attr('disabled', '');
			if ($(this).attr('name')=='cancel') {
				$(this).val(visIfText['done']);
			}
			
		});
}

function logoError(errorMessage) {
	$('#memberInfo_2').slideUp('fast');
	
	$('div.memberError').html(errorMessage).slideDown('fast');
	$('form[name="editMember"]').find(':input').each( 
		function() {
			$(this).attr('disabled', '');
		});
}

function cancelEditMember() {
	$('div.memberError, div.memberSuccess').hide();
	lastMemberSearch = '';
	getMembers();
	$('div.memberListInfo, div.memberSearchBar').show();
}

function cancelSendMailNow() {
	if ($('#memberMail div.memberSuccess').html()) {
		$('#memberMail div.memberSuccess').html('').hide();
		$('#mailAttachments').html('<i>('+ifText['None']+')</i>');
		$('form[name="memberMailForm"]').find(':input').each( 
				function() {
					$(this).attr('disabled', '');
					if ($(this).attr('type')!='button') {
						if ($(this).attr('type')!='radio') {
							$(this).val('');
						} else {
							$(this).removeAttr('checked');
						}
					}
				});
	}
	$('#memberMail div.memberError').html('').hide();

	$('#memberMail').hide();
	$('#memberMain').show();
}

function addMailAttachment() {
	$('div.memberSuccess').html('').slideUp('fast');
	$('div.memberError').html('').slideUp('fast');
	var attachmentUpload = $('#memberMailAttachmentFrame').contents().find('input[name="attachment"]').val();
	if (attachmentUpload) {
		$('#mailInfo').slideDown('fast').children('#mailInfo_message').html(ifText['TheDocumentWillBeAdded']);
		
		closeKeepAlive();
		$('#memberMailAttachmentFrame').contents().find('form[name="attachmentForm"]').submit();
	}
}

function attachmentSaved(tempName, origName, icon) {
	$('#mailInfo').slideUp('fast');
	
	$('div.memberSuccess').html(ifText['documentAddedSuccessfully']).slideDown('fast');
	
	
	var attachmentRow = '<div style="margin: 2px 0;">' + icon + ' ' + origName + '<input type="hidden" name="attachmentTempName[]" value="'+tempName+'" /><input type="hidden" name="attachmentOrigName[]" value="'+origName+'" /><img src="if/Trash.gif" onclick="removeAttachment(this);" style="margin-left:8px; cursor:pointer;" width="13" height="13" /></div>';
	
	if ($('#mailAttachments div').length) {
		$('#mailAttachments').append(attachmentRow);
	} else {
		$('#mailAttachments').html(attachmentRow);
	}
}

function attachmentError(errorMessage) {
	$('#mailInfo').slideUp('fast');
	$('div.memberError').html(errorMessage).slideDown('fast');
}

function removeAttachment(obj) {
	$(obj).closest('div').slideUp('fast', function() {
		$(this).remove();
		if (!$('#mailAttachments div').length) {
			$('#mailAttachments').html('<i>('+ifText['None']+')</i>');
		}
	});
}

function sendMemberMailNow() {
	$('div.memberError').slideUp('fast');
	$('div.memberSuccess').slideUp('fast');
	$('#mailInfo').slideDown('fast').children('#mailInfo_message').html(ifText['PleaseWaitWhileEmailIsSent']);
	$.post('http://'+currentHost+'/ajaxMember.php', ('memberAction=sendMemberMail&session='+session+'&shortLanguage='+shortLanguage+'&'+$('form[name="memberMailForm"]').serialize()+'&ieBug='+Math.random()),
		function(data){	
			$('#mailInfo').slideUp('fast');
			if (data['error'] || data['enableFields']) {
				if (data['error']) {
					$('div.memberError').html(data['error']).slideDown('fast');
				}
				if (data['success']) {
					$('div.memberSuccess').html(data['success']).slideDown('fast');
				}
				$('form[name="memberMailForm"]').find(':input').each( 
				function() {
					$(this).attr('disabled', false);
				});
			} else if (data['success']) {
				$('div.memberError').html('').slideUp('fast');
				$('div.memberSuccess').html(data['success']).slideDown('fast');
				$('form[name="memberMailForm"]').find('input[name="cancelSendMail"]').val(visIfText['done']).attr('disabled', false);
			}
		}, 'json');
		
	$('form[name="memberMailForm"]').find(':input').each( 
		function() {
			//$(this).attr('disabled', 'disabled');
		});
	return false;
}

function closeKeepAlive() {
  if (/AppleWebKit|MSIE/.test(navigator.userAgent)) {
	$.post('/ping/close');
  }
}


