/* --------------------------------------------------------------------------------
	helper_common.js
-------------------------------------------------------------------------------- */

function ShowFeedback(Message, Type) {

	window.scrollTo(0,0);

	switch (Type) {
		case 'Success': css = 'feedback_success'; break;
		case 'Warning': css = 'feedback_warning'; break;
		case 'Error': css = 'feedback_error'; break;
		default: css = 'feedback_common'; break;
	}

	html = '<div class="' + css + ' ui-corner-all"><span>' + Message + '</span></div>';

	$('#Feedback').html(html).delay(2000).fadeOut(500, function() {
		$(this).html('').show();
	});
}


/* --------------------------------------------------------------------------------
	helper_ajax.js
-------------------------------------------------------------------------------- */

function Ajax_ShowLoading(id) {
	$('#'+id).html('<img src="/images/ajax_loader_small.gif" border="0" width="32" height="12">');
}

function Ajax_Dialog(Title, Content, BtnSubmit, OnSubmit) {

	// falls Content eine php-datei ist => diese laden
	if (Content.indexOf('.php') != -1) {
	
		$('#Dlg').load(Content, function() {

			$dialog.height('auto');
		
			$('.focus', this).focus();
			
			$('.submit-on-enter', this).keyup(function(e) {
				if (e.keyCode == 13) {
					if (OnSubmit()) {		
						$dialog.dialog('close');
					}
				}
			});
		});
	} else {
		$('#Dlg').html(Content);
		$dialog.height('auto');
	}
	
	$buttons = {};
	$buttons['Cancel'] = function() { 
			$(this).dialog('close'); 
	};
	if (BtnSubmit != '') {
		$buttons[BtnSubmit] = function() {
			if (OnSubmit()) {		
				$(this).dialog('close');
			}
		};
	}
	
	$dialog.dialog('option', 'title', Title);
	$dialog.dialog('option', 'buttons', $buttons);
	$dialog.dialog('open');
	$dialog.height('auto');	
}

function Ajax_Load(url, id, scrolltop) {
	if (scrolltop) {
		window.scrollTo(0, 0);
	}
	Ajax_ShowLoading(id);
	$("#"+id).load(url);
}

function Ajax_ShowFeedback() {

	Ajax_ShowLoading('Feedback');
	
	$.post('/ax_commands.php', { SubmitCommand: 'ShowFeedback'}, function(data, textStatus) {
		if (textStatus == "success") {
			$('#Feedback').html(data).delay(2000).fadeOut(500, function() {
				$(this).html('').show();
			});
		} else {
			ShowFeedback('Ajax Error', 'Error');
		}
	});
}

function Ajax_FormSubmit(FormName, url, callback) {

	// Alle Frames durchlaufen und nach Editor-Instanzen suchen
	for (i=0; i<parent.frames.length; i++) {
		if (parent.frames[i].FCK) {
		
			oEditor = parent.frames[i].FCK;
			
			// only update if editor is finished loading!
			if (oEditor.Status == 2) {
				oEditor.UpdateLinkedField();
			}
		}
	}
	
	var fields = $(":input", document[FormName]).serializeArray();

	$.post(url, fields, callback, 'json');
	
	window.scrollTo(0, 0);
}



/* --------------------------------------------------------------------------------
	helper_form.js
-------------------------------------------------------------------------------- */


function Checkbox_Select(ID, Type) {

	switch (Type) {
		
		case 'All':
			$('#' + ID + ' :input[type=checkbox]').each(function() {
				$(this).attr('checked', 'checked');
			});
			break;
			
		case 'None':
			$('#' + ID + ' :input[type=checkbox]').each(function() {
				$(this).removeAttr('checked');
			});
			break;
			
		case 'Invert':
			var checked = $('#' + ID + ' :input[type=checkbox]:checked');
			var notchecked = $('#' + ID + ' :input[type=checkbox]:not(:checked)');
						
			checked.each(function() {
				$(this).removeAttr('checked');
			});

			notchecked.each(function() {
				$(this).attr('checked', 'checked');
			});
			
			break;
	}
}

function Checkbox_GetChecked(ID) {

	var data = [];
	$('#' + ID + ' :input[type=checkbox]:checked').each(function() {
		data.push($(this).val());
	});
	return data;	
}

function Checkbox_SetMark(MarkID, FromID) {

	var max = $('#'+FromID+' :input[type=checkbox]').length;
	var num = $('#'+FromID+' :input[type=checkbox]:checked').length;
		
	if (num != 0) {
		$('#'+MarkID).attr('checked', 'checked');
		if (num == max) {
			$('#'+MarkID).css({ opacity: 1 });
		} else {
			$('#'+MarkID).css({ opacity: 0.5 });
		}				
	} else {
		$('#'+MarkID).removeAttr('checked').css({ opacity: 1 });
	}
}

function Checkbox_UpdateSaved(FromID) {

	var SavedIDs = $('input[name=chkSaved]').val();
	
	var data = (SavedIDs == '' || SavedIDs == 'All') ? [] : SavedIDs.split(',');
	
	if (SavedIDs == 'All') {
	
		var page_max = $('#'+FromID+' :input[type=checkbox]').length;
		var page_num = $('#'+FromID+' :input[type=checkbox]:checked').length;
		
		if (page_max == page_num) {
			return;
		}
	}
	
	$('#'+FromID+' :input[type=checkbox]:checked').each(function() {
	
		var id = $(this).val();
		
		if ( $.inArray(id, data) == -1 ) {
			data.push( id );
		}
	});

	$('#'+FromID+' :input[type=checkbox]:not(:checked)').each(function() {
						
		var id = $(this).val();
		var index = $.inArray(id, data);
		
		if ( index != -1 ) {
			data.splice( index, 1);
		}	
	});

	$('input[name=chkSaved]').val( data.join(',') );
}

function Checkbox_InitFromSaved(FromID) {

	var SavedIDs = $('input[name=chkSaved]').val();
	
	if (SavedIDs == '') {
		return;
	}
	
	if (SavedIDs == 'All') {
		Checkbox_Select(FromID, 'All');
		return;
	}
	
	var data = SavedIDs.split(',');
	
	$('#'+FromID+' :input[type=checkbox]').each(function() {

		var id = $(this).val();
		
		//if (data.indexOf( id ) != -1) {
		if ($.inArray(id, data) != -1) {
				
			$(this).attr('checked', 'checked');
		}
	});
}

function Checkbox_UpdateInfo(FromID, InfoID) {

	var SavedIDs = $('input[name=chkSaved]').val();
	var total_max = $('input[name=NumRecords]').val();
	
	if (SavedIDs == '') {
		$('#'+FromID+' > .chkInfo').hide();
		return;
	}
		
	if (SavedIDs == 'All') {
		var html = 'Alle <b>' + total_max + '</b> markiert.';
		$('#'+FromID+' > .chkInfo').html( html ).show();	
		return;
	}
	
	var total_num = SavedIDs.split(',').length;
	var page_max = $('#'+FromID+' :input[type=checkbox]').length;
	var page_num = $('#'+FromID+' :input[type=checkbox]:checked').length;

	
	var html = '<b>' + page_num + '</b> auf dieser Seite markiert.';
	
	if (total_num != page_num) {
		html += ' Insgesamt <b>' + total_num + '</b> auf allen Seiten markiert.';
	}
	
	if (page_num == page_max) {
		html = 'Alle ' + html;
		if (page_num != total_max) {
			html += ' <a href="javascript:Checkbox_MarkAllPages();Checkbox_UpdateInfo(\''+FromID+'\', \''+InfoID+'\')">Alle <b>' + total_max + '</b> markieren</a>';
		}
	}
	
	$('#'+FromID+' > .chkInfo').html( html ).show();	
}

function Checkbox_MarkAllPages(FromID) {
	$('input[name=chkSaved]').val('All');
}





/* --------------------------------------------------------------------------------
	helper_table.js
-------------------------------------------------------------------------------- */

function CommonTableWidth(TableClass, ColumnFullWidth) {

	var td = {};

	$('.'+TableClass+' > tbody > tr').each(function(y) {
	
		$(this).children('td').each(function(x) {

			var w = $(this).width();
			
			if (x != ColumnFullWidth) {			
			
				if (td['col'+x] === undefined) {
					td['col'+x] = w;
					
				} else {
				
					if (td['col'+x] < w) {
						td['col'+x] = w;
					}
				}
			}
		
		});
	});
	
	$('.'+TableClass+' > tbody > tr').each(function(y) {
		$(this).children('td').each(function(x) {
			if (x == ColumnFullWidth) {
				$(this).css('width', '');
			} else {
				$(this).css('width', td['col'+x]);
			}
		});
	});
}

function Table_SetColumnWidth(selector, column, width) {
	$(selector + ' > tbody > tr').each(function(i) {
		$('td:eq(' + column + ')', this).css('width', width);
	});
}


/* --------------------------------------------------------------------------------
	helper_jqueryui.js
-------------------------------------------------------------------------------- */


function EnableDatepicker(Name, Selected, DateField, CheckRadioOnClick) {

	$('input[id="'+Name+'"]').datepicker({
		showAnim: '',
		showStatus: false, 
		dateFormat: 'DD, d. MM yy',
		changeFirstDay: false,
		defaultDate: $.datepicker.parseDate('yy-mm-dd', Selected),
		onSelect: function(date) {
			d1 = $.datepicker.parseDate('DD, d. MM yy', date);
			d2 = $.datepicker.formatDate('yy-mm-dd', d1);
			$('input[id="'+DateField+'"]').val(d2);
		},
		beforeShow: function(input, inst) {
			if (CheckRadioOnClick != '') {
				$('#'+CheckRadioOnClick).attr('checked', true);
			}
		}
	});
}

function InitTabCSS(ID) {

	$('#'+ID).removeClass('ui-widget-content');
	$('#'+ID).removeClass('ui-corner-all');
	
	$('#'+ID).css('z-index', 10);
	$('.ui-tabs-panel').css('z-index', 11);
	
	$('#'+ID+' ul').removeClass('ui-widget-header');
	$('#'+ID+' ul').removeClass('ui-corner-all');
}

/* --------------------------------------------------------------------------------
	underscore-min.js
-------------------------------------------------------------------------------- */



/* --------------------------------------------------------------------------------
	functions.campaignitem.js
-------------------------------------------------------------------------------- */


function InitCampaignItemList() {

	$('.CampaignItemReportInfo').each(function() {

		$(this).html('<img src="/images/ajax_loader_small.gif" border="0" width="32" height="12">');
		
		var div = $(this);
	
		var Fields = {
			SubmitCommand	: 'GetCampaignItemReportInfo',
			ID				: $(this).attr('campaignitem_id'),
			PID				: $(this).attr('campaignitem_pid')
		}
		
		$.post('../mailmaster/ax_commands.php', Fields, function(data, textStatus) {
			if (textStatus == "success") {
				div.html(data);
			} else {
				$("#feedback").append("AJAX ERROR");		
			}
		});
	
	});
	
	$('.JobStatus').each(function() {

		$(this).html('<img src="/images/ajax_loader_small.gif" border="0" width="32" height="12">');
	
		var JobID = $(this).attr('jobid');
	
		GetJobStatus(JobID);
	});
	
	$('a[id^="preview-"]').click(function(e) {
	
		e.preventDefault();
	
		var CampaignItemID = $(this).attr('id').split('-')[1];

		// direkt vorschau-popup öffnen
		if (e.shiftKey || e.ctrlKey || e.altKey) {
			PopUp('../mailmaster/campaignitem_preview_main.php?CampaignItemID=' + CampaignItemID + '&TestAddressID=&ShowTextVersion=0', 'POPUP', 780, 500);
			return;
		}

		// default link zum preview-center
		location.href = '../mailmaster/campaignitem_preview.php?CampaignItemID=' + CampaignItemID;
	});	
}

function GetJobStatus(JobID) {

	var Fields = {
		SubmitCommand	: 'GetJobStatus',
		JobID			: JobID
	}
		
	$.post('../mailmaster/ax_commands.php', Fields, function(data, textStatus) {
		if (textStatus == 'success') {
		
			$('div[jobid=' + JobID + ']').html(data.Message + data.ProgressBar);
			
			if (data.Status != '2' && data.Status != '5' && data.Status != '9') {
				window.setTimeout('GetJobStatus(' + JobID + ')', 3000);
			}
		
		} else {
			$('div[jobid=' + JobID + ']').html('AJAX ERROR');
		}
	}, 'json');
}

function CampaignItemDelete(CampaignItemID) {

	var title	= 'Delete';
	var content = '../mailmaster/dlg_campaignitem_delete.php';
	var button	= 'Delete';
	
	Ajax_Dialog(title, content, button, function() {
	
		var Fields = {
			SubmitCommand	: 'CampaignItemDelete',
			CampaignItemID	: CampaignItemID
		}

		Ajax_ShowLoading('Dlg');
	
		$.post('../mailmaster/ax_commands.php', Fields, function(data, textStatus) {
			if (textStatus == 'success') {
				location.reload();
			} else {
				alert('AJAX ERROR');
			}
		});
	});
}

function CampaignItemDeleteSelected() {

	var title	= 'Delete';
	var content	= '../mailmaster/dlg_campaignitem_delete_selected.php';
	var button	= 'Delete';
	
	Ajax_Dialog(title, content, button, function() {
	
		var data = Checkbox_GetChecked('FormCampaignItem');
	
		var Fields = {
			SubmitCommand	: 'CampaignItemDeleteSelected',
			CampaignItemIDs	: data.join(',')
		}

		Ajax_ShowLoading('Dlg');
	
		$.post('../mailmaster/ax_commands.php', Fields, function(data, textStatus) {
			if (textStatus == 'success') {
				location.reload();
			} else {
				alert('AJAX ERROR');
			}
		});
	});
}

function CampaignItemDuplicate(CampaignItemID) {

	var title	= 'Duplicate';
	var content = '../mailmaster/dlg_campaignitem_duplicate.php';
	var button	= 'Duplicate';
	
	Ajax_Dialog(title, content, button, function() {
	
		var Fields = {
			SubmitCommand	: 'CampaignItemDuplicate',
			CampaignItemID	: CampaignItemID,
			NewTitle		: $('input[name="NewTitle"]').val()
		}

		Ajax_ShowLoading('Dlg');
	
		$.post('../mailmaster/ax_commands.php', Fields, function(data, textStatus) {
			if (textStatus == 'success') {
				location.reload();
			} else {
				alert('AJAX ERROR');
			}
		});
	});
}

function CampaignItemToggleRSS(CampaignItemID) {

	var Fields = {
		SubmitCommand	: 'CampaignItemToggleRSS',
		CampaignItemID	: CampaignItemID
	}

	$('#ispublic-'+CampaignItemID).attr('src', '/images/ajax_loader_snake.gif');
	
	// toggle-link merken
	$Link = $('#ispublic-'+CampaignItemID).parent().attr('href');
	
	// toggle-link deaktivieren
	$('#ispublic'+CampaignItemID).parent().attr('href', 'javascript:void(0);');
	
	$.post('../mailmaster/ax_commands.php', Fields, function(data, textStatus) {
		if (textStatus == 'success') {
			$('#ispublic-'+CampaignItemID).attr('src', '/images/'+data.icon);
			$('#ispublic-'+CampaignItemID).parent().attr('href', $Link);
		} else {
			alert('AJAX ERROR');
		}
	}, 'json');
}

function CampaignitemTestsend(CampaignItemID, CampaignItemPID) {

	$("#Dlg").html('<img src="/images/ajax-loader.gif" border="0" width="43" height="11">');

	$("#Dlg").load('../mailmaster/dlg_campaignitem_testsend.php?CampaignItemID='+CampaignItemID+'&CampaignItemPID='+CampaignItemPID);

	$buttons = {
		'Cancel': function() { 
			$(this).dialog('close'); 
		},
		'submit': function() {

			var Fields = {
				SubmitCommand: 'CampaignitemTestsend',
				CampaignItemID: CampaignItemID,
				CampaignItemPID: CampaignItemPID,
				TestAddresses: $('#TestAddresses').val()
			}

			$('#DlgFeedback').html('<img src="/images/ajax-loader.gif" border="0" width="43" height="11">');
			
			$.post('../mailmaster/ax_commands.php', Fields, function(data, textStatus) {
				if (textStatus == 'success') {
				
					if (data.Success  == '1') {
					
						$('#DlgFeedback').html('<div class="feedback_success ui-corner-all">' + data.Message + '</div>');
						
						window.setTimeout(function() {
							$dialog.dialog('close');
						}, 2000);
					
					} else {
					
						$('#DlgFeedback').html('<div class="feedback_error ui-corner-all">' + data.Message + '</div>');
					}

				} else {
					alert('AJAX ERROR');
				}
			}, 'json');
		}
	}

	$dialog.dialog('option', 'title', 'Send Testmail');
	$dialog.dialog('option', 'buttons', $buttons);
	$dialog.dialog('option', 'width', 300);
	$dialog.dialog('open');
	$dialog.height('auto');
}

function DlgCampaignItemConnect(CampaignItemID) {

	$("#Dlg").load('../mailmaster/dlg_campaignitem_connect.php?CampaignItemID='+CampaignItemID);
	
	$buttons = {
		'Close': function() { 
			$(this).dialog('close'); 
		}
	}

	$dialog.dialog('option', 'title', 'Connect newsletter');
	$dialog.dialog('option', 'width', 500);
	$dialog.dialog('option', 'buttons', $buttons);
	$dialog.dialog('open');
	$dialog.height('auto');
}


/* --------------------------------------------------------------------------------
	functions.sendmanager.js
-------------------------------------------------------------------------------- */


function SendManager_AddAddress(AddressID) {

	Name = $('input[name="val' + AddressID + '"]').val();
	
	Current = opener.ItemList_GetIDs('SendTo_Addresses_List');

	if (Custom_InArray(AddressID, Current)) {
		ShowFeedback(Name+' bereits hinzugefügt', 'Error');
		return;	
	}
		
	ShowFeedback(Name+' hinzugefügt', 'Success');
	opener.ItemList_Add('SendTo_Addresses_List', Name, AddressID);
}

// unused
function SendManager_AddAddresses() {

	IDs = AddressGetSelected();
		
	if (IDs.length == 0) {
		alert('Error: No addresses selected to invite.');
	} else {
	
		for (i = 0; i < IDs.length; i ++) {
		
			Name = $('input[name="val' + IDs[i] + '"]').val();
						
			opener.ItemList_Add('SendTo_Addresses_List', Name, IDs[i]);
		}
		
		window.close();
	}
}

function SendManager_AddFilter_Single(FilterID) {

	Name = $('input[name="val' + FilterID + '"]').val();
	
	Current = opener.ItemList_GetIDs('SendTo_Filter_List');
	
	if (Custom_InArray(FilterID, Current)) {
		ShowFeedback(Name+' bereits hinzugefügt', 'Error');
		return;	
	}	
	
	ShowFeedback(Name+' hinzugefügt', 'Success');
	opener.ItemList_Add('SendTo_Filter_List', Name, FilterID);
	//window.close();
}

function SendManager_AddFilter_Multiple() {

	IDs = AddressGetSelected();	

	Current = opener.ItemList_GetIDs('SendTo_Filter_List');
	
	if (IDs.length == 0) {
		alert('Error: No addresses selected to invite.');
	} else {

		for (i = 0; i < IDs.length; i ++) {
			if (Custom_InArray(IDs[i], Current) == false) {
				Name = $('input[name="val' + IDs[i] + '"]').val();				
				opener.ItemList_Add('SendTo_Filter_List', Name, IDs[i]);
			}
		}
		
		window.close();
	}
}


/* --------------------------------------------------------------------------------
	functions.content.js
-------------------------------------------------------------------------------- */


function ContentDuplicate(ContentID) {

	var title	= 'duplicate article';
	var content = 'dlg_content_duplicate.php';
	var button	= 'Duplicate';
	
	Ajax_Dialog(title, content, button, function() {
	
		var Fields = {
			SubmitCommand	: 'ContentDuplicate',
			ContentID		: ContentID,
			NewTitle		: $('input[name="NewTitle"]').val()
		}

		Ajax_ShowLoading('Dlg');
	
		$.post('../articles/ax_commands.php', Fields, function(data, textStatus) {
			if (textStatus == 'success') {
				location.reload();
			} else {
				alert('AJAX ERROR');
			}
		});
	});
}

function ContentDelete(ContentID) {

	var title	= 'Delete';
	var content = 'dlg_content_delete.php';
	var button	= 'Delete';
	
	Ajax_Dialog(title, content, button, function() {
	
		var Fields = {
			SubmitCommand	: 'ContentDelete',
			ContentID		: ContentID
		}

		Ajax_ShowLoading('Dlg');
	
		$.post('../articles/ax_commands.php', Fields, function(data, textStatus) {
			if (textStatus == 'success') {
				location.reload();
			} else {
				alert('AJAX ERROR');
			}
		});
	});
}

function ContentDeleteSelected() {

	var title	= 'Delete';
	var content	= 'dlg_content_delete_selected.php';
	var button	= 'Delete';
	
	Ajax_Dialog(title, content, button, function() {
	
		var data = Checkbox_GetChecked('ContentList');
	
		var Fields = {
			SubmitCommand	: 'ContentDeleteSelected',
			ContentIDs		: data.join(',')
		}

		Ajax_ShowLoading('Dlg');
	
		$.post('../articles/ax_commands.php', Fields, function(data, textStatus) {
			if (textStatus == 'success') {
				location.reload();
			} else {
				alert('AJAX ERROR');
			}
		});
	});
}

function ContentFolderCreate() {

	var title	= 'New folder';
	var content = 'dlg_content_folder_create.php';
	var button	= 'Create';
	
	Ajax_Dialog(title, content, button, function() {
		
		var Fields = {
			SubmitCommand	: 'ContentFolderCreate',
			NewFolderName	: $('input[name="NewFolderName"]').val()
		}

		Ajax_ShowLoading('Dlg');
		
		$.post('../articles/ax_commands.php', Fields, function(data, textStatus) {
			if (textStatus == 'success') {
				location.reload();
			} else {
				alert('AJAX ERROR');
			}
		});
	});
}

function ContentFolderDelete(DelContentCategoryID) {

	var title 	= 'Delete';
	var content = 'dlg_content_folder_delete.php';
	var button 	= 'Delete';

	Ajax_Dialog(title, content, button, function() {
		
		var Fields = {
			SubmitCommand		: 'ContentFolderDelete',
			ContentCategoryID	: DelContentCategoryID
		}

		Ajax_ShowLoading('Dlg');
		
		$.post('../articles/ax_commands.php', Fields, function(data, textStatus) {
			if (textStatus == 'success') {
				location.reload();
			} else {
				alert('AJAX ERROR');
			}
		});
	});
}

function ContentFolderRename(ContentCategoryID) {

	var title 	= 'Rename';
	var content	= 'dlg_content_folder_rename.php?CatID=' + ContentCategoryID;
	var button	= 'Rename';
	
	Ajax_Dialog(title, content, button, function() {
		
		var Fields = {
			SubmitCommand		: 'ContentFolderRename',
			ContentCategoryID	: ContentCategoryID,
			NewFolderName		: $('input[name="NewFolderName"]').val()
		}

		Ajax_ShowLoading('Dlg');
		
		$.post('../articles/ax_commands.php', Fields, function(data, textStatus) {
			if (textStatus == 'success') {
				location.reload();
			} else {
				alert('AJAX ERROR');
			}
		});
	});
}

function ContentMoveSelected(ContentCategoryID) {

	var title 	= 'Artikel verschieben';
	var content	= 'dlg_content_move.php?CatID=' + ContentCategoryID;
	var button	= 'Move';
	
	Ajax_Dialog(title, content, button, function() {
		
		var data = Checkbox_GetChecked('ContentList');

		var Fields = {
			SubmitCommand		: 'ContentMoveSelected',
			ContentCategoryID	: $("select[name='ContentNavDlg']").val(),
			ContentIDs			: data.join(',')
		}

		Ajax_ShowLoading('Dlg');
		
		$.post('../articles/ax_commands.php', Fields, function(data, textStatus) {
			if (textStatus == 'success') {
				location.reload();
			} else {
				alert('AJAX ERROR');
			}
		});
	});
}

function ContentToggleIsPublic(ContentID) {

	var Fields = {
		SubmitCommand	: 'ContentToggleIsPublic',
		ContentID		: ContentID
	}

	$('#ispublic-'+ContentID).attr('src', '/images/ajax_loader_snake.gif');
	
	// toggle-link merken
	$Link = $('#ispublic-'+ContentID).parent().attr('href');
	
	// toggle-link deaktivieren
	$('#ispublic'+ContentID).parent().attr('href', 'javascript:void(0);');
	
	$.post('../articles/ax_commands.php', Fields, function(data, textStatus) {
		if (textStatus == 'success') {
			$('#ispublic-'+ContentID).attr('src', '/images/'+data.icon);
			$('#ispublic-'+ContentID).parent().attr('href', $Link);
		} else {
			alert('AJAX ERROR');
		}
	}, 'json');
}

function ContentImportPublic(ContentID) {

	var Fields = {
		SubmitCommand	: 'ContentImportPublic',
		ContentID		: ContentID
	}

	$.post('../articles/ax_commands.php', Fields, function(data, textStatus) {
		if (textStatus == 'success') {
			location.reload();
		} else {
			alert('AJAX ERROR');
		}
	});
}



/* --------------------------------------------------------------------------------
	functions.media.js
-------------------------------------------------------------------------------- */


// ----------------------------------------------------------------------------------------------------
// Add Media to Content etc
// ----------------------------------------------------------------------------------------------------

var CurrentMediaItemField = '';

function SelectMediaItem(Field, Action) {
	CurrentMediaItemField = Field;
	PopUp('../pictures/media.php?Action='+Action, 'Media', 765, 550);
}

function ChangeMediaItem(MediaItemID, ThumbURL) {
	$("input[name='" + CurrentMediaItemField + "']").val(MediaItemID);	
	$("#"+CurrentMediaItemField+"_Thumb").attr("src", ThumbURL);
	CurrentMediaItemField = '';
}

function ViewMediaItem(MediaItemID) {
	if (MediaItemID != '' && MediaItemID != 'NULL') {
		PopUp('../pictures/media_view.php?MediaItemID='+MediaItemID, 'Media', 765, 560);
	}
}

function RemoveMedia(FormName, FormField) {	
	setFormField(FormName, FormField, 'NULL');	
	$('img[id="'+FormField+'_Thumb"]').attr('src', '../images/noimg.gif');	
}

// ----------------------------------------------------------------------------------------------------
// Media Verwaltung
// ----------------------------------------------------------------------------------------------------

function Media_GotoPage(PageIndex) {

	Checkbox_UpdateSaved('MediaList');

	$('input[name=PageIndex]').val(PageIndex);
	$('#FormMedia').submit();
}

function MediaUpload(ID, Action) {

	var title 	= 'Picture upload';
	var content	= 'dlg_media_upload.php?ID='+ID+'&Action='+Action;
	var button	= 'Upload';

	Ajax_Dialog(title, content, button, function() {
	
		$("form[name='FormMediaUpload']").trigger('submit');
	});
	
	$dialog.dialog('option', 'width', 400);
}

function MediaDelete(MediaID) {

	var title	= 'Delete picture';
	var content = 'dlg_media_delete.php?MediaID='+MediaID;
	var button	= 'Delete';
	
	Ajax_Dialog(title, content, button, function() {
	
		var Fields = {
			SubmitCommand	: 'MediaDelete',
			MediaID			: MediaID
		}

		Ajax_ShowLoading('Dlg');
	
		$.post('../pictures/ax_commands.php', Fields, function(data, textStatus) {
			if (textStatus == 'success') {
				location.reload();
			} else {
				alert('AJAX ERROR');
			}
		});
	});
}

function MediaDeleteSelected() {

	var IDs = $('input[name=chkSaved]').val();
		
	if (IDs == '') {
		ShowFeedback('Feedback', 'Error: Nothing selected', 'Error');
		return;
	}

	var cnt 	= IDs.split(',').length;
	var title	= 'Delete';
	var content	= 'dlg_media_delete_selected.php?cnt=' + cnt;
	var button	= 'Delete';
	
	Ajax_Dialog(title, content, button, function() {
	
		var Fields = {
			SubmitCommand	: 'MediaDeleteSelected',
			MediaIDs		: IDs //data.join(',')
		}

		Ajax_ShowLoading('Dlg');
	
		$.post('../pictures/ax_commands.php', Fields, function(data, textStatus) {
			if (textStatus == 'success') {
				location.href = 'media.php?ID=&Action=';
			} else {
				alert('AJAX ERROR');
			}
		});
	});
}

function MediaMoveSelected(CatID) {

	var IDs = $('input[name=chkSaved]').val();
		
	if (IDs == '') {
		ShowFeedback('Feedback', 'Error: Nothing selected', 'Error');
		return;
	}
	
	var cnt 	= IDs.split(',').length;
	var title 	= 'Bilder verschieben';
	var content	= 'dlg_media_move.php?CatID=' + CatID + '&cnt=' + cnt;
	var button	= 'Move';
	
	Ajax_Dialog(title, content, button, function() {
		
		var Fields = {
			SubmitCommand	: 'MediaMoveSelected',
			CatID			: $("select[name='MediaNavDlg']").val(),
			MediaIDs		: IDs //data.join(',')
		}

		Ajax_ShowLoading('Dlg');
		
		$.post('../pictures/ax_commands.php', Fields, function(data, textStatus) {
			if (textStatus == 'success') {
				location.href = 'media.php?ID=&Action=';
			} else {
				alert('AJAX ERROR');
			}
		});
	});
}

function MediaToggleIsPublic(MediaID) {

	var Fields = {
		SubmitCommand	: 'MediaToggleIsPublic',
		MediaID			: MediaID
	}

	$('#ispublic-'+MediaID).attr('src', '/images/ajax_loader_snake.gif');
	
	// toggle-link merken
	$Link = $('#ispublic-'+MediaID).parent().attr('href');
	
	// toggle-link deaktivieren
	$('#ispublic'+MediaID).parent().attr('href', 'javascript:void(0);');
	
	$.post('../pictures/ax_commands.php', Fields, function(data, textStatus) {
		if (textStatus == 'success') {
			$('#ispublic-'+MediaID).attr('src', '/images/'+data.icon);
			$('#ispublic-'+MediaID).parent().attr('href', $Link);
		} else {
			alert('AJAX ERROR');
		}
	}, 'json');
}

function MediaImportPublic(MediaID) {

	var Fields = {
		SubmitCommand	: 'MediaImportPublic',
		MediaID			: MediaID
	}

	$.post('../pictures/ax_commands.php', Fields, function(data, textStatus) {
		if (textStatus == 'success') {
			location.reload();
		} else {
			alert('AJAX ERROR');
		}
	});
}

function MediaFolderCreate() {

	var title	= 'New folder';
	var content = 'dlg_media_folder_create.php';
	var button	= 'Create';
	
	Ajax_Dialog(title, content, button, function() {
		
		var Fields = {
			SubmitCommand	: 'MediaFolderCreate',
			NewFolderName	: $('input[name="NewFolderName"]').val()
		}

		Ajax_ShowLoading('Dlg');
		
		$.post('../pictures/ax_commands.php', Fields, function(data, textStatus) {
			if (textStatus == 'success') {
				location.reload();
			} else {
				alert('AJAX ERROR');
			}
		});
	});
}

function MediaFolderDelete(DelMediaCategoryID) {

	var title 	= 'Delete';
	var content = 'dlg_media_folder_delete.php?CatID='+DelMediaCategoryID;
	var button 	= 'Delete';

	Ajax_Dialog(title, content, button, function() {
		
		var Fields = {
			SubmitCommand	: 'MediaFolderDelete',
			MediaCategoryID	: DelMediaCategoryID
		}

		Ajax_ShowLoading('Dlg');
		
		$.post('../pictures/ax_commands.php', Fields, function(data, textStatus) {
			if (textStatus == 'success') {
				location.reload();
			} else {
				alert('AJAX ERROR');
			}
		});
	});
}

function MediaFolderRename(MediaCategoryID) {

	var title 	= 'Rename';
	var content	= 'dlg_media_folder_rename.php?CatID=' + MediaCategoryID;
	var button	= 'Rename';
	
	Ajax_Dialog(title, content, button, function() {
		
		var Fields = {
			SubmitCommand	: 'MediaFolderRename',
			MediaCategoryID	: MediaCategoryID,
			NewFolderName	: $('input[name="NewFolderName"]').val()
		}

		Ajax_ShowLoading('Dlg');
		
		$.post('../pictures/ax_commands.php', Fields, function(data, textStatus) {
			if (textStatus == 'success') {
				location.reload();
			} else {
				alert('AJAX ERROR');
			}
		});
	});
}

function MediaFolderMove(CatID, CurrentCatPID) {

	var title 	= 'move folder';
	var content	= 'dlg_media_folder_move.php?CatID='+CatID+'&CurrentCatPID='+CurrentCatPID;
	var button	= 'Move';
	
	Ajax_Dialog(title, content, button, function() {
			
		var Fields = {
			SubmitCommand	: 'MediaFolderMove',
			CatID			: CatID,
			NewCatPID		: $('select[name="MediaNavDlg"]').val()
		}

		Ajax_ShowLoading('Dlg');
		
		$.post('../pictures/ax_commands.php', Fields, function(data, textStatus) {
			if (textStatus == 'success') {
				location.reload();
			} else {
				alert('AJAX ERROR');
			}
		});
	});
}


/* --------------------------------------------------------------------------------
	functions.document.js
-------------------------------------------------------------------------------- */


function AddToNewsletter(DocumentID) {
	setFormField("FormDocument", "AddDocumentID", DocumentID);
	setFormField("FormDocument", "SubmitCommand", "AddDocument");
	formSubmit("FormDocument");
}

function DocumentUpload(ID) {

	var title 	= 'Upload document';
	var content	= 'dlg_document_upload.php?ID='+ID;
	var button	= 'Upload';

	Ajax_Dialog(title, content, button, function() {
	
		$('form[name="FormDocumentUpload"]').trigger('submit');
	});
	
	$dialog.dialog('option', 'width', 400);
}

function DocumentDelete(DocumentID) {

	var title	= 'Delete document';
	var content = 'dlg_document_delete.php';
	var button	= 'Delete';
	
	Ajax_Dialog(title, content, button, function() {
	
		var Fields = {
			SubmitCommand	: 'DocumentDelete',
			DocumentID		: DocumentID
		}

		Ajax_ShowLoading('Dlg');
	
		$.post('../document/ax_commands.php', Fields, function(data, textStatus) {
			if (textStatus == 'success') {
				location.reload();
			} else {
				alert('AJAX ERROR');
			}
		});
	});
}

function DocumentDeleteSelected() {

	var title	= 'Delete document';
	var content	= 'dlg_document_delete_selected.php';
	var button	= 'Delete';
	
	Ajax_Dialog(title, content, button, function() {
	
		var data = Checkbox_GetChecked('DocumentList');
	
		var Fields = {
			SubmitCommand	: 'DocumentDeleteSelected',
			DocumentIDs		: data.join(',')
		}

		Ajax_ShowLoading('Dlg');
	
		$.post('../document/ax_commands.php', Fields, function(data, textStatus) {
			if (textStatus == 'success') {
				location.reload();
			} else {
				alert('AJAX ERROR');
			}
		});
	});
}

function DocumentRename(DocumentID) {

	var title 	= 'Rename document';
	var content	= 'dlg_document_rename.php?DocumentID=' + DocumentID;
	var button	= 'Rename';
	
	Ajax_Dialog(title, content, button, function() {
		
		var Fields = {
			SubmitCommand	: 'DocumentRename',
			DocumentID		: DocumentID,
			NewName			: $('input[name="NewName"]').val()
		}

		Ajax_ShowLoading('Dlg');
		
		$.post('../document/ax_commands.php', Fields, function(data, textStatus) {
			if (textStatus == 'success') {
				location.reload();
			} else {
				alert('AJAX ERROR');
			}
		});
	});
}

function DocumentFolderCreate() {

	var title	= 'New folder';
	var content = 'dlg_document_folder_create.php';
	var button	= 'Create';
	
	Ajax_Dialog(title, content, button, function() {
		
		var Fields = {
			SubmitCommand	: 'DocumentFolderCreate',
			NewFolderName	: $('input[name="NewFolderName"]').val()
		}

		Ajax_ShowLoading('Dlg');
		
		$.post('../document/ax_commands.php', Fields, function(data, textStatus) {
			if (textStatus == 'success') {
				location.reload();
			} else {
				alert('AJAX ERROR');
			}
		});
	});
}

function DocumentFolderDelete(DelDocumentCategoryID) {

	var title 	= 'Delete';
	var content = 'dlg_document_folder_delete.php';
	var button 	= 'Delete';

	Ajax_Dialog(title, content, button, function() {
		
		var Fields = {
			SubmitCommand		: 'DocumentFolderDelete',
			DocumentCategoryID	: DelDocumentCategoryID
		}

		Ajax_ShowLoading('Dlg');
		
		$.post('../document/ax_commands.php', Fields, function(data, textStatus) {
			if (textStatus == 'success') {
				location.reload();
			} else {
				alert('AJAX ERROR');
			}
		});
	});
}

function DocumentFolderRename(DocumentCategoryID) {

	var title 	= 'Rename';
	var content	= 'dlg_document_folder_rename.php?CatID=' + DocumentCategoryID;
	var button	= 'Rename';
	
	Ajax_Dialog(title, content, button, function() {
		
		var Fields = {
			SubmitCommand		: 'DocumentFolderRename',
			DocumentCategoryID	: DocumentCategoryID,
			NewFolderName		: $('input[name="NewFolderName"]').val()
		}

		Ajax_ShowLoading('Dlg');
		
		$.post('../document/ax_commands.php', Fields, function(data, textStatus) {
			if (textStatus == 'success') {
				location.reload();
			} else {
				alert('AJAX ERROR');
			}
		});
	});
}

function DocumentMoveSelected(CatID) {

	var title 	= 'Dokumente veschieben';
	var content	= 'dlg_document_move.php?CatID=' + CatID;
	var button	= 'Move';
	
	Ajax_Dialog(title, content, button, function() {
		
		var data = Checkbox_GetChecked('DocumentList');

		var Fields = {
			SubmitCommand	: 'DocumentMoveSelected',
			CatID			: $('select[name="DocumentNavDlg"]').val(),
			DocumentIDs		: data.join(',')
		}

		Ajax_ShowLoading('Dlg');
		
		$.post('../document/ax_commands.php', Fields, function(data, textStatus) {
			if (textStatus == 'success') {
				location.reload();
			} else {
				alert('AJAX ERROR');
			}
		});
	});
}

function DocumentToggleIsPublic(DocumentID) {

	var Fields = {
		SubmitCommand	: 'DocumentToggleIsPublic',
		DocumentID		: DocumentID
	}

	$('#ispublic-'+DocumentID).attr('src', '/images/ajax_loader_snake.gif');
	
	// toggle-link merken
	$Link = $('#ispublic-'+DocumentID).parent().attr('href');
	
	// toggle-link deaktivieren
	$('#ispublic'+DocumentID).parent().attr('href', 'javascript:void(0);');
	
	$.post('../document/ax_commands.php', Fields, function(data, textStatus) {
		if (textStatus == 'success') {
			$('#ispublic-'+DocumentID).attr('src', '/images/'+data.icon);
			$('#ispublic-'+DocumentID).parent().attr('href', $Link);
		} else {
			alert('AJAX ERROR');
		}
	}, 'json');
}

function DocumentImportPublic(DocumentID) {

	var Fields = {
		SubmitCommand	: 'DocumentImportPublic',
		DocumentID		: DocumentID
	}

	$.post('../document/ax_commands.php', Fields, function(data, textStatus) {
		if (textStatus == 'success') {
			location.reload();
		} else {
			alert('AJAX ERROR');
		}
	});
}

function DocumentShowLink(DocumentID) {

	var title 	= 'Link';
	var content	= 'dlg_document_link.php?DocumentID=' + DocumentID;
	
	Ajax_Dialog(title, content, '', null);
}



/* --------------------------------------------------------------------------------
	functions.address.js
-------------------------------------------------------------------------------- */


function Address_Select(Type) {

	switch (Type) {
		
		case 'All':
			$('#formAddress :input[type=checkbox]').each(function() {
				$(this).attr('checked', 'checked');
			});
			break;
			
		case 'None':
			$('#formAddress :input[type=checkbox]').each(function() {
				$(this).removeAttr('checked');
			});
			break;
			
		case 'Invert':
			$checked = $('#formAddress :input[type=checkbox]:checked');
			$notchecked = $('#formAddress :input[type=checkbox]:not(:checked)');
			
			$checked.each(function() {
				$(this).removeAttr('checked');
			});

			$notchecked.each(function() {
				$(this).attr('checked', 'checked');
			});
			
			break;
	}
}

function Address_GetSelectedIDs() {

	var AddressID = [];
	$('#formAddress :input[type=checkbox]:checked').each(function() {
		AddressID.push($(this).val());
	});
	return AddressID;	
}

function Address_ProcessChecked(SubmitCommand, Params) {

	// wenn AddressID übergeben, wird diese vorher angehakt
	if (Params.AddressID != '') {
		$("input[name='check" + Params.AddressID + "']").attr('checked', 'checked');
	}
	
	var Fields = {
		SubmitCommand: SubmitCommand,
		AddressID: Address_GetSelectedIDs()
	}

	switch (SubmitCommand) {
	
		case 'AddressDelete':
			$("#Dlg").load('dlg_address_delete.php');
			$title = (Params.AddressID != '') 
				? 'Delete address?'
				: 'Delete selected addresses?';
			break;

		case 'AddressSignin':
			$("#Dlg").html('Sign-in selected addresses?');
			$title = 'add address';
			break;
			
		case 'AddressSignout':
			$("#Dlg").load('dlg_address_signout.php');
			$title = 'Log off address';
			break;
		
		case 'AddressListRemove':
			$("#Dlg").html('Remove selected addresses from list?');
			$title = 'remove address from list';
			break;
	}

	$buttons = {
		'Cancel': function() { 
			$(this).dialog('close'); 
		},
		'Ok': function() {

			Fields.ToBlacklist = ($('#ToBlacklist:checked').val() == '1') ? '1' : '0';
			Fields.AddressFilterID = Params.AddressFilterID;

			$.post('ax_commands.php', Fields, function(data, textStatus) {
				if (textStatus == 'success') {
					$dialog.dialog('close');
					location.reload();
				} else {
					alert('AJAX ERROR');
				}
			});
		}
	}
	
	$dialog.dialog('option', 'title', $title);
	$dialog.dialog('option', 'buttons', $buttons);
	$dialog.dialog('open');
	$dialog.height('auto');
}

function Address_Delete(AddressID) {
	Address_ProcessChecked('AddressDelete', {AddressID: AddressID});
}

function AddressToggleExclude(AddressFilterID, AddressID) {

	var Fields = {
		SubmitCommand: 'AddressToggleExclude',
		AddressFilterID: AddressFilterID,
		AddressID: AddressID
	}

	$('#icon_exclude_'+AddressID).attr('src', '/images/ajax_loader_snake.gif');
	
	// toggle-link merken
	$Link = $('#icon_exclude_'+AddressID).parent().attr('href');
	
	// toggle-link deaktivieren
	$('#icon_exclude_'+AddressID).parent().attr('href', 'javascript:void(0);');
	
	$.post('ax_commands.php', Fields, function(data, textStatus) {
		if (textStatus == 'success') {
			$('#icon_exclude_'+AddressID).attr('src', '/images/'+data.icon);
			$('#icon_exclude_'+AddressID).parent().attr('href', $Link);
		} else {
			alert('AJAX ERROR');
		}
	}, 'json');
}
		
function AddressInclude(AddressFilterID, AddressID) {

	var Fields = {
		SubmitCommand: 'AddressInclude',
		AddressFilterID: AddressFilterID,
		AddressID: AddressID
	}

	$.post('ax_commands.php', Fields, function(data, textStatus) {
		if (textStatus == 'success') {
			$('#icon_exclude_'+AddressID).attr('src', '/images/active.gif');
		} else {
			alert('AJAX ERROR');
		}
	});
}
		
function AddressDisplayFields(ShowFields) {

	$("#Dlg").load('dlg_address_preferences.php?ShowFields='+ShowFields);
	
	$buttons = {
		'Cancel': function() { 
			$(this).dialog('close'); 
		},
		'Ok': function() {
		
			var ShowFields = [];

			$('#DisplayFields option').each(function () {
				ShowFields.push($(this).val());			
			});
						
			var Fields = {
				SubmitCommand: 'AddressDisplayFields',
				ShowFields: ShowFields
			};
		
			$.post('ax_commands.php', Fields, function(data, textStatus) {
				if (textStatus == 'success') {
					$dialog.dialog('close');
					location.reload();
				} else {
					alert('AJAX ERROR');
				}
			});
		}
	}
	
	$dialog.dialog('option', 'title', 'View settings');
	$dialog.dialog('option', 'buttons', $buttons);
	$dialog.dialog('option', 'width', 500);
	$dialog.dialog('option', 'minHeight', 300);
	$dialog.dialog('open');
	$dialog.height('auto');
}

// verwendet in SendManager_AddFilter_Multiple() und SendManager_AddAddresses()
function AddressGetSelected() {

	var el = document["formAddress"];
	var IDs = new Array();
	var cnt = 0;
	
	for (i=0; i< el.elements.length; i++) {
		if ((el.elements[i].type == "checkbox" || el.elements[i].type == "radio" ) && el.elements[i].name.indexOf("check") >= 0) {
			if (el.elements[i].checked == true) {
				IDs[cnt] = el.elements[i].value;
				cnt++;
			}
		}
	}
	
	return IDs;
}


/* --------------------------------------------------------------------------------
	functions.addressfield.js
-------------------------------------------------------------------------------- */


function AddressFieldEdit(Field) {

	var title	= 'Edit additional field';
	var content = 'dlg_addressfield_edit.php?Field='+Field;
	var button	= 'Ok';
	
	Ajax_Dialog(title, content, button, function() {
		
		var Fields = $("#AddFldEdt").serialize();

		Ajax_ShowLoading('Dlg');
	
		$.post('../addresses/ax_commands.php', Fields, function(data, textStatus) {
			if (textStatus == 'success') {
				location.reload();
			} else {
				alert('AJAX ERROR');
			}
		});
	});
	
	$dialog.dialog('option', 'width', 500);
}

function AddressFieldEmpty(Field) {

	var title	= 'reset addressfield-data';
	var content = 'dlg_addressfield_empty.php?Field='+Field;
	var button	= 'Ok';
	
	Ajax_Dialog(title, content, button, function() {
		
		var Fields = {
			SubmitCommand: 'AddressFieldEmpty',
			Field: Field
		}

		Ajax_ShowLoading('Dlg');
	
		$.post('../addresses/ax_commands.php', Fields, function(data, textStatus) {
			if (textStatus == 'success') {
				location.reload();
			} else {
				alert('AJAX ERROR');
			}
		});
	});
	
	$dialog.dialog('option', 'width', 300);
}

function AddressFieldDelete(Field) {

	var title	= 'Adressfield removed.';
	var content = 'dlg_addressfield_delete.php?Field='+Field;
	var button	= 'Ok';
	
	Ajax_Dialog(title, content, button, function() {
		
		var Fields = {
			SubmitCommand: 'AddressFieldDelete',
			Field: Field
		}

		Ajax_ShowLoading('Dlg');
	
		$.post('../addresses/ax_commands.php', Fields, function(data, textStatus) {
			if (textStatus == 'success') {
				location.reload();
			} else {
				alert('AJAX ERROR');
			}
		});
	});
	
	$dialog.dialog('option', 'width', 300);
}



/* --------------------------------------------------------------------------------
	functions.addressfilter.js
-------------------------------------------------------------------------------- */


function AddressFilterDelete(AddressFilterID) {

	var title	= 'Delete Address filter';
	var content = 'dlg_addressfilter_delete.php?AddressFilterID='+AddressFilterID;
	var button	= 'Delete';
	
	Ajax_Dialog(title, content, button, function() {
		
		var Fields = {
			SubmitCommand		: 'AddressFilterDelete',
			AddressFilterID		: AddressFilterID,
			DeleteAddressFilter	: ($('#DeleteAddressFilter:checked').val() == '1') ? '1' : '0',
			DeleteAddresses		: ($('#DeleteAddresses:checked').val() == '1') ? '1' : '0',
			ToBlacklist			: ($('#ToBlacklist:checked').val() == '1') ? '1' : '0',
			Password			: $('#Password').val()
		}

		Ajax_ShowLoading('Dlg');
	
		$.post('../addresses/ax_commands.php', Fields, function(data, textStatus) {
			if (textStatus == 'success') {
				location.reload();
			} else {
				alert('AJAX ERROR');
			}
		});
	});
	
	$dialog.dialog('option', 'width', 400);
}


function AddressListSplit(AddressFilterID) {

	var title	= 'Split Addresslist';
	var content = 'dlg_addresslist_split.php?AddressFilterID='+AddressFilterID;
	var button	= 'Split';
	
	Ajax_Dialog(title, content, button, function() {
		
		var Fields = {
			SubmitCommand	: 'AddressListSplit',
			AddressFilterID	: AddressFilterID,
			NumParts		: 3,//$('#NumParts:selected').val(),
			KeepOldList		: ($('#KeepOldList:checked').val() == '1') ? '1' : '0'
		}
		
		Ajax_ShowLoading('Dlg');
	
		$.post('../addresses/ax_commands.php', Fields, function(data, textStatus) {
			if (textStatus == 'success') {
				location.reload();
			} else {
				alert('AJAX ERROR');
			}
		});
	});
	
	$dialog.dialog('option', 'width', 300);
}

function AddressFilter_DeleteCondition(ConditionID) {

	var check = confirm('Delete condition?');
	if (check) {
		setFormField("FormAddressFilter", "Function", "DeleteFilterCondition");
		setFormField("FormAddressFilter", "Params", ConditionID);
		formSubmit("FormAddressFilter");
	}
}

function AddressFilter_ValueSelect(Type, ConditionID) {

	setFormField('FormAddressFilter', 'Function', Type);
	setFormField('FormAddressFilter', 'Params', ConditionID);
	
	switch (Type) {
	
		case "FieldValueSelect":
			FieldName = document.FormAddressFilter["FieldName[" + ConditionID + "]"].value;
			PopUp("address_field_data.php?FieldName="+FieldName, "FieldData", 500, 600);
			break;
			
		case "ContentSelect":
			PopUp("../articles/content_select.php?action=AddressFilterContentSelect", "POPUP", 500, 500); // ACHTUNG: "action" hier klein :(
			break;
			
		case "CampaignItemSelect":
			PopUp("../mailmaster/campaignitem_select.php?Action=AddressFilterCampaignItemSelect", "POPUP", 500, 500);
			break;
			
		case "EventItemSelect":
			PopUp("../events/eventitem_select.php?Action=AddressFilterEventItemSelect", "POPUP", 500, 500);
			break;
	}
}

function AddressFilter_ValueAdd(Value) {

	Type = opener.document.FormAddressFilter["Function"].value;
	ConditionID = opener.document.FormAddressFilter["Params"].value;

	switch (Type) {
	
		case "FieldValueSelect":
		
			Current = opener.document.FormAddressFilter["FieldValue[" + ConditionID + "]"].value;
			Ok = true;
			
			if (Current != "") {
				Current = Current.split(",");
				for (i=0; i< Current.length; i++) if (Current[i] == Value) Ok = false;
			}
			
			if (Ok) {
				if (Current != "") Value = Current + "," + Value;
				opener.setFormField("FormAddressFilter", "FieldValue[" + ConditionID + "]", Value);
				window.close();
			} else {
				alert("Value already exists in that field.")
			}

			break;
			
		case "ContentSelect":
		case "CampaignItemSelect":
		case "EventItemSelect":
			opener.setFormField("FormAddressFilter", "FieldValue[" + ConditionID + "]", Value);
			opener.formSubmit("FormAddressFilter");
			window.close();
			break;
	}
}

function CalcAddressFilter(AddressFilterID) {
	$("#AddressFilterID"+AddressFilterID).html("<img src=../images/loading_ani.gif>");
	$("#AddressFilterID"+AddressFilterID).load("address_calc.php?AddressFilterID="+AddressFilterID);
}


/* --------------------------------------------------------------------------------
	functions.sweepstake.js
-------------------------------------------------------------------------------- */


function SweepstakeDuplicate(SweepstakeID) {

	var title	= 'Duplicate Sweepstake';
	var content = 'dlg_sweepstake_duplicate.php';
	var button	= 'Duplicate';
	
	Ajax_Dialog(title, content, button, function() {
	
		var Fields = {
			SubmitCommand	: 'SweepstakeDuplicate',
			SweepstakeID	: SweepstakeID,
			NewTitle		: $('input[name="NewTitle"]').val()
		}

		Ajax_ShowLoading('Dlg');
	
		$.post('../sweepstake/ax_commands.php', Fields, function(data, textStatus) {
			if (textStatus == 'success') {
				location.reload();
			} else {
				alert('AJAX ERROR');
			}
		});
	});
}

function SweepstakeDelete(SweepstakeID) {

	var title	= 'Delete';
	var content = 'dlg_sweepstake_delete.php?SweepstakeID'+SweepstakeID;
	var button	= 'Delete';
	
	Ajax_Dialog(title, content, button, function() {
	
		var Fields = {
			SubmitCommand	: 'SweepstakeDelete',
			SweepstakeID	: SweepstakeID
		}

		Ajax_ShowLoading('Dlg');
	
		$.post('../sweepstake/ax_commands.php', Fields, function(data, textStatus) {
			if (textStatus == 'success') {
				location.reload();
			} else {
				alert('AJAX ERROR');
			}
		});
	});
}


/* --------------------------------------------------------------------------------
	functions.event.js
-------------------------------------------------------------------------------- */


function EventDelete(EventID) {

	var title	= 'Delete Event';
	var content = 'dlg_event_delete.php';
	var button	= 'Delete';
	
	Ajax_Dialog(title, content, button, function() {
	
		var Fields = {
			SubmitCommand	: 'EventDelete',
			EventID			: EventID
		}

		Ajax_ShowLoading('Dlg');
	
		$.post('../events/ax_commands.php', Fields, function(data, textStatus) {
			if (textStatus == 'success') {
				location.reload();
			} else {
				alert('AJAX ERROR');
			}
		});
	});
}

function EventItemToggleList(EventID) {

	var num = $("tr[id*=EventRow"+EventID+"_EventItemRow]").length;
		
	// remove all displayed items
	$("tr[id*='EventItemRow']").remove();

	if (num == 0) {

		// bgcolor = $("#EventRow"+EventID).attr("bgcolor");
		
		$.post('ax_commands.php', {SubmitCommand: 'EventItemToggleList', EventID: EventID}, function(data, textStatus) {
			if (textStatus == "success") {
				$("#EventRow"+EventID).after(data);
				$("#IconEventRowToggle"+EventID).attr("src", "../images/mini_minus.gif");
			} else {
				$("#feedback").append("AJAX ERROR");		
			}
		});
		
	} else {
	
		// change toggle-icon
		$("#IconEventRowToggle"+EventID).attr("src", "../images/mini_plus.gif");
	
	}
}


/* --------------------------------------------------------------------------------
	functions.survey.js
-------------------------------------------------------------------------------- */


function SurveyDuplicate(SurveyID) {

	var title	= 'Duplicate Survey';
	var content = 'dlg_survey_duplicate.php';
	var button	= 'Duplicate';
	
	Ajax_Dialog(title, content, button, function() {
	
		var Fields = {
			SubmitCommand	: 'SurveyDuplicate',
			SurveyID		: SurveyID,
			NewTitle		: $('input[name="NewTitle"]').val()
		}

		Ajax_ShowLoading('Dlg');
	
		$.post('../surveys/ax_commands.php', Fields, function(data, textStatus) {
			if (textStatus == 'success') {
				location.reload();
			} else {
				alert('AJAX ERROR');
			}
		});
	});
}

function SurveyDelete(SurveyID) {

	var title	= 'Delete Survey';
	var content = 'dlg_survey_delete.php?SurveyID='+SurveyID;
	var button	= 'Delete';
	
	Ajax_Dialog(title, content, button, function() {
	
		var Fields = {
			SubmitCommand	: 'SurveyDelete',
			SurveyID		: SurveyID
		}

		Ajax_ShowLoading('Dlg');
	
		$.post('../surveys/ax_commands.php', Fields, function(data, textStatus) {
			if (textStatus == 'success') {
				location.reload();
			} else {
				alert('AJAX ERROR');
			}
		});
	});
}


/* --------------------------------------------------------------------------------
	functions.form.js
-------------------------------------------------------------------------------- */


function FormDuplicate(FormID) {

	var title	= 'duplicate form';
	var content = 'dlg_form_duplicate.php';
	var button	= 'Duplicate';
	
	Ajax_Dialog(title, content, button, function() {
	
		var Fields = {
			SubmitCommand	: 'FormDuplicate',
			FormID			: FormID,
			NewTitle		: $('input[name="NewTitle"]').val()
		}

		Ajax_ShowLoading('Dlg');
	
		$.post('../forms/ax_commands.php', Fields, function(data, textStatus) {
			if (textStatus == 'success') {
				location.reload();
			} else {
				alert('AJAX ERROR');
			}
		});
	});
}

function FormDelete(FormID) {

	var title	= 'remove form';
	var content = 'dlg_form_delete.php?FormID='+FormID;
	var button	= 'Delete';
	
	Ajax_Dialog(title, content, button, function() {
	
		var Fields = {
			SubmitCommand	: 'FormDelete',
			FormID			: FormID
		}

		Ajax_ShowLoading('Dlg');
	
		$.post('../forms/ax_commands.php', Fields, function(data, textStatus) {
			if (textStatus == 'success') {
				location.reload();
			} else {
				alert('AJAX ERROR');
			}
		});
	});
}


/* --------------------------------------------------------------------------------
	functions.help.js
-------------------------------------------------------------------------------- */


function Help(id) {

	Ajax_ShowLoading('Dlg');

	$('#Dlg').load('/dlg_help.php?id='+id);
	
	$buttons = {};
	$buttons['Close'] = function() { 
		$(this).dialog('close'); 
	};
	
	$dialog.dialog('option', 'title', 'Help');
	$dialog.dialog('option', 'buttons', $buttons);
	$dialog.dialog('option', 'width', 500);
	$dialog.dialog('open');
	$dialog.height('auto');	
}


/* --------------------------------------------------------------------------------
	functions.speakingurl.js
-------------------------------------------------------------------------------- */



/* --------------------------------------------------------------------------------
	functions.js.php
-------------------------------------------------------------------------------- */

// in functions.sendmanager.js verwendet
function Custom_InArray(Needle, Haystack) {
	for (var i=0; i<Haystack.length; i++) {
		if (Haystack[i] == Needle) {
			return true;
		}
	}
	return false;
}

function ShowFeedback(ID, Message, Type) {
	
	window.scrollTo(0, 0); // damit's der user auch sicher sieht ;)

	switch (Type) {
		case 'Success': css = 'feedback_success'; break;
		case 'Warning': css = 'feedback_warning'; break;
		case 'Error': css = 'feedback_error'; break;
		default: css = 'feedback_common'; break;
	}
	
	var data = '<div class="' + css + ' ui-corner-all"><span>' + Message + '</span></div>';

	$('#'+ID).html(data).delay(2000).fadeOut(500, function() {
		$(this).html('').show();
	});
}

function PopUp(URL,name,w,h) {
	x = (screen.width) ? (screen.width-w)/2 : 0;
	y = (screen.height) ? (screen.height-h)/3 : 0;
	attributes='toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=0,width='+w+',height='+h+',left='+x+',top='+y;
	win = window.open(URL,name,attributes);
	win.focus();
}

function PopUp2(URL,name,w,h) {
	x = (screen.width) ? (screen.width-w)/2 : 0;
	y = (screen.height) ? (screen.height-h)/3 : 0;
	attributes='toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width='+w+',height='+h+',left='+x+',top='+y;
	win = window.open(URL,name,attributes);
}

function ToggleDivDisplay(id) {
	var el = document.getElementById(id);
	if (el.style.display == "inline") {
		el.style.display = "none";
	} else {
		el.style.display = "inline";
	}
}

function ToggleDiv(nr) {
	if (typeof(ToggleDiv.arguments[1])=="string") {
	   prefix = ToggleDiv.arguments[1]; 
	} else {
	   prefix = "detail";
	}
	e = document.getElementById(prefix+nr);
	if (e.style.display == "none") {
		e.style.display = "inline";
	} else {
		e.style.display = "none";
	}
}

// verwendet in InitFormItemEdit()
function ToggleDiv2(prefix, name) {

	div_this = document.getElementById(prefix+name);
	div_all = document.getElementsByTagName("div");
	
	if (div_this.style.display == "none") {
		new_this = "inline";
		new_else = "none";
	} else {
		new_this = "none";
		new_else = "inline";
	}
	
	for (i=0; i< div_all.length; i++)
		if (div_all[i].getAttribute("id"))
			if (div_all[i].getAttribute("id").indexOf(prefix) >= 0)
				div_all[i].style.display = new_else;

	div_this.style.display = new_this;

}

function frage(txt,url) {
	check = confirm(txt);
	if (check) { location.href = url; }
}

// ----------------------------------------------------------------------------------------------------
// Form Functions
// ----------------------------------------------------------------------------------------------------

function setFormAction(FormName, Value) {
	document[FormName].action = Value;
}

function setFormField(FormName, FieldName, FieldValue) {
	document[FormName][FieldName].value = FieldValue;
}

function setFormSelect(FormName, FieldName, FieldValue) {
	el = document[FormName][FieldName];	
	for (i=0; i< el.options.length; i++)
		if (el.options[i].value == FieldValue) 
			el.options[i].selected = true;
}

function formSubmit(FormName) {
	document[FormName].submit();
}

function setCheckbox(FormName, FieldName, Checked) {
	document[FormName][FieldName].checked = (Checked) ? true : false;
}

function GetFormSelectValue(FormName, FieldName) {
	var el = document[FormName][FieldName];
	return el.options[el.selectedIndex].value;
}

function FormSubmitOnEnter(e, FormName, SubmitCommand) {
	var characterCode;

	if (e && e.which) {
		e = e;
		characterCode = e.which;
	} else {
		e = event;
		characterCode = e.keyCode;
	}
	
	if (characterCode == 13) {
		setFormField(FormName, 'SubmitCommand', SubmitCommand);
		formSubmit(FormName);
		return false;
	} else {
		return true;
	}
}

function SelectAll(element) {
	for (i=0; i< element.length; i++)
		element.options[i].selected = true;
}

function DoSubmitCommand(FormName, Command, Params) {
	setFormField(FormName, 'SubmitCommand', Command);
	setFormField(FormName, 'SubmitParams', Params);
	formSubmit(FormName);
}

// ----------------------------------------------------------------------------------------------------

function fitWindowToImage(imgNr,wAdd,hAdd) {
	w = document.images[imgNr].width + wAdd;
	h = document.images[imgNr].height + hAdd;
	window.resizeTo(w,h);
}

var allChecked = false;
function markAll(FormName,FieldNamePrefix) {
	var el = document[FormName];
	for (i=0; i< el.elements.length; i++)
		if (el.elements[i].type == "checkbox" && el.elements[i].name.indexOf(FieldNamePrefix) >= 0)
			el.elements[i].checked = (allChecked) ? false : true;
	allChecked  = (allChecked) ? false : true;
}

//------------------------------------------------------------------------------
// javascript class for marking  all specified category independent of each other
//------------------------------------------------------------------------------
 
function markAllClass(FormName, FieldNamePrefix, Selected) {
	this.flag = Selected;
	this.FormName = FormName;
	this.FieldNamePrefix = FieldNamePrefix;
	this.markCheckBox = markCheckBox;
}

function markCheckBox() {
	var el = document[this.FormName];
	for (i=0; i< el.elements.length; i++)
		if (el.elements[i].type == "checkbox" && el.elements[i].name.indexOf(this.FieldNamePrefix) >= 0)
			el.elements[i].checked = (this.flag) ? false : true;
	this.flag  = (this.flag) ? false : true;
}

// ================================================================================
// Funktionen für Campaign-Build
// ================================================================================

// Content hinzufügen
// --------------------------------------------------------------------------------

function AddContentStep1(ContentArea, ContentGroup) {
	setFormField("formContentPlace", "SubmitCommand", "AddContent");
	setFormField("formContentPlace", "ContentArea", ContentArea);
	setFormField("formContentPlace", "ContentGroup", ContentGroup);
	PopUp('campaignitem_build_add.php?Action=place','POPUP',400,500);
}

function AddContentStep2(ContentSource, CID) {
	setFormField("formContentPlace", "ContentSource", ContentSource);
	setFormField("formContentPlace", "newContentID", CID);
	formSubmit("formContentPlace");
}

// Content austauschen
// --------------------------------------------------------------------------------
function ChangeContentStep1(ContentRelationID,ContentNr,ContentSource) {
	setFormField("formContentPlace", "SubmitCommand", "ChangeContent");
	setFormField("formContentPlace", "ContentRelationID", ContentRelationID);
	setFormField("formContentPlace", "ContentNr", ContentNr);
	PopUp('campaignitem_build_add.php?action=place&Source='+ContentSource,'POPUP',500,500);
}

function ChangeContentStep2(ContentSource, CID) {
	setFormField("formContentPlace", "ContentSource", ContentSource);
	setFormField("formContentPlace", "newContentID", CID);
	formSubmit("formContentPlace");
}

// Filter hinzufügen
// --------------------------------------------------------------------------------
function AddFilterStep1(ContentRelationID, FilterID) {
	setFormField("formContentPlace", "SubmitCommand", "AddFilter");
	setFormField("formContentPlace", "ContentRelationID", ContentRelationID);
	var Link = "../addresses/address_filter_select.php?Action=AddressFilterContentRelation";
	PopUp(Link, "AddressFilter", 500, 500);
}

function AddFilterStep2(FilterID) {
	setFormField("formContentPlace", "FilterID", FilterID);
	formSubmit("formContentPlace");
}

// Filter entfernen
// --------------------------------------------------------------------------------
function RemoveFilter(ContentRelationID) {
	setFormField("formContentPlace", "SubmitCommand", "RemoveFilter");
	setFormField("formContentPlace", "ContentRelationID", ContentRelationID);
	formSubmit("formContentPlace");
}

// Filter für Gewinnspiel-Auswertung hinzufügen
// --------------------------------------------------------------------------------
function ChangeSweepstakeFilter(FilterID) {
	setFormField("FormSweepstake", "SubmitCommand", "ChangeSweepstakeFilter");
	setFormField("FormSweepstake", "AddressFilterID", FilterID);
	formSubmit("FormSweepstake");	
}

function RemoveSweepstakeFilter() {
	setFormField("FormSweepstake", "SubmitCommand", "RemoveSweepstakeFilter");
	formSubmit("FormSweepstake");
}

// ================================================================================
// Funktionen für Report
// ================================================================================

function ChangeSubscribeReport() {
	
	var index = document.formReport.DateSelect.selectedIndex;
	var DateSelect =document.formReport.DateSelect.options[index].value;

	document.images["diagramm_1"].src="report_image.php?view=bar&DateSelect=" + DateSelect;
	document.images["diagramm_2"].src="report_image.php?view=line&DateSelect=" + DateSelect;
}



// ================================================================================
// Funktionen für AddressPreferences
// ================================================================================

function AddOption(element, name, value) {
	var newOpt = new Option(name, value);
	element.options[element.length] = newOpt;
}

function MoveField(fromElement, toElement) {
	var index = fromElement.options.selectedIndex;
	if (index != -1) {
		var name = fromElement.options[index].text;
		var value = fromElement.options[index].value;
		AddOption(toElement, name, value);
		fromElement.options[index] = null;
	}	
}

function MoveFields(direction) {

	if (direction == "add") { var toElement = "Export"; var fromElement = "Available"; }
	else { var fromElement = "Export"; var toElement = "Available"; }
	
	$('#'+fromElement+'Fields option:selected').each(function () {
		$(this).appendTo("#"+toElement+"Fields");
	});
}

function MoveFields2(fromElement, toElement) {
	
	$('#'+fromElement+' option:selected').each(function () {
		$(this).appendTo('#'+toElement);
	});
}

function FieldSort(element, direction) {
	
	moveField = element.find('option:selected').filter(':first');
	
	if (direction == 'up') { 
		tgtField = moveField.prevAll(':first'); 
	} else {
		tgtField = moveField.nextAll(':first');
	}
	
	if (tgtField.val()) {
		var tmpTxt = moveField.text();
		var tmpVal = moveField.val();
		moveField.html(tgtField.text()).attr('value', tgtField.val()).attr('selected', false);
		tgtField.html(tmpTxt).attr('value', tmpVal).attr('selected', true);
	}
}

// ================================================================================
// Funktionen Address Export
// ================================================================================

function AddressExport(srcData) {

	if ($('#ExportFields option').length == 0) {
		alert("Keine Felder angegeben");
		return void(0);
	}

	var Fields = "";
	$('#ExportFields option').each(function () {
		Fields += $(this).val() + ',';
	});
	
	Fields = Fields.substr(0, Fields.length - 1);
	
	$('#ExportFields').parents('form').find('#Fields').attr("value",Fields);
}

// ================================================================================
// Funktionen AddressImport
// ================================================================================

function GetImportStatus(ImportID, StatusDivID) {
	$.getJSON('import_csv_status.php?ImportID='+ImportID,
		function (data) {
			if (data['Success']) {
				$("#"+StatusDivID).html(data['HTML']);
				if (data['Percent'] != 100) {
					window.setTimeout('GetImportStatus('+ImportID+', \''+StatusDivID+'\')', 5000);
				}
			} else {
				$("#"+StatusDivID).html(data['HTML']);
			}
		}
	);
}

// ================================================================================
// Funktionen Survey
// ================================================================================

function SurveyStatUserDelete(Value) {

	$title = 'delete entry?';
	
	$.post("../ajax/ax_message.php", { MT: "INFO_SURVEY_STAT_USER_DELETE", lang: "en" },
	  function(data){
		$("#Dlg").html(data);
	  });

	$buttons = {
		'Cancel': function() { 
			$(this).dialog('close'); 
		},
		'Delete': function() {

			$("input[name='SubmitCommand']").val("DeleteSurveyStatUser");
			$("input[name='StatFormID']").val(Value);
			$("form[name='FormSurveyUsers']").trigger('submit');
			$(this).dialog('close'); 
		}
	}

	$dialog.dialog('option', 'title', $title);
	$dialog.dialog('option', 'buttons', $buttons);
	$dialog.dialog('open');
	$dialog.height('auto');

}

// ================================================================================
// Funktionen Blacklist
// ================================================================================

function BlacklistDeleteSelected(Value) {

	sMT = (Value != undefined)
		? 'CONFIRM_BLACKLIST_DELETE'
		: 'CONFIRM_BLACKLIST_DELETE_SELECTED';

	$.post("../ajax/ax_message.php", { MT: sMT, lang: "en" },
	  function(data){
		$("#Dlg").html(data);
	  });

	$buttons = {
		'Cancel': function() { 
			$(this).dialog('close'); 
		},
		'Ok': function() {
					
			if (Value != "") {
				$("input[name^='chk'][value='"+Value+"']").attr('checked', 'checked');
			}
			
			$("input[name='SubmitCommand']").val("BlacklistDeleteSelected");
			$("form[name='FormDG']").trigger('submit');
			$(this).dialog('close'); 
		}
	}

	$title = (Value != "") 
		? 'Delete address' 
		: 'Delete selected pictures';
	
	$dialog.dialog('option', 'title', $title);
	$dialog.dialog('option', 'buttons', $buttons);
	$dialog.dialog('open');
	$dialog.height('auto');
}

function BlacklistDeleteAll() {

	$("#Dlg").html(
		'Delete complete blacklist?<br>Please confirm with PIN-Code.' +
		'<table border="0" cellpadding="0" cellspacing="4">' +
			'<tr>' + 
				'<td class="text">PIN</td>' +
				'<td><input type="password" class="feld" id="PINCode" size="20" autocomplete="off"></td>' +
			'</tr>' +
		'</table>'
	);
	
	$buttons = {
		'Cancel': function() { 
			$(this).dialog('close'); 
		},
		'Ok': function() {
		
			var fields = {
				'SubmitCommand': 'BlacklistDeleteAll',
				'PINCode': $("#PINCode").val()
			}
		
			$.post('ax_commands.php', fields, function(data, textStatus) {
				if (textStatus == "success") {
					$(this).dialog('close');
					location.href = 'address_blacklist.php';
				}
			});
					
			$(this).dialog('close');
		}
	}

	$dialog.dialog('option', 'title', 'delete blacklist');
	$dialog.dialog('option', 'buttons', $buttons);
	$dialog.dialog('open');
	$dialog.height('auto');
}

function BlacklistExport(sField,sType) {

	$("#Dlg").html(
		'Choose the format for the export:<br />' +
		'<form name="BLExportForm" target="_blank" action="address_blacklist_export.php" method="post">' +
		'<input type="hidden" name="Field" value="'+sField+'" />' +
		'<input type="hidden" name="Type" value="'+sType+'" />' +
		'<input type="radio" name="Format" value="xls" checked="checked" /> xls <input type="radio" name="Format" value="csv" /> csv' +
		'</form>'
	);
	
	$buttons = {
		'Cancel': function() { 
			$(this).dialog('close'); 
		},
		'Export': function() {
			$("form[name='BLExportForm']").submit();
			$(this).dialog('close');
		}
	}
	
	$dialog.dialog('option', 'title', 'export blacklist');
	$dialog.dialog('option', 'buttons', $buttons);
	$dialog.dialog('open');
	$dialog.height('auto');

}


// ================================================================================
// Funktionen Anrede
// ================================================================================

function AnredeSelect(AnredeID, FormName) {
	opener.setFormField(FormName, "AnredeID", AnredeID);
	opener.formSubmit(FormName);
	window.close();
}

function RemoveAnrede(FormName) {

	setFormField(FormName, "AnredeID", "0");
	
	if(FormName == 'formEvent' )
	{
		ChangeForm();
		return;
	}
	if( FormName != "formPreferences" && FormName != "formSimpleMail" )
		setFormField(FormName, "Redirect", "false");
		
	formSubmit(FormName);

}

// ================================================================================
// Funktionen für Template
// ================================================================================

var eCategory;
var eTemplate;

var currentCategory = 0;
var currentTemplate = 0;

var TemplateID = new Array();
var TemplateName = new Array();
var TemplateURL = new Array();

function InitTemplate(InitCurrentCategory, InitCurrentTemplate) {
	eCategory = document.formTemplate.TemplateCategory;
	eTemplate = document.formTemplate.Template;
	for (i=0; i< TemplateID[InitCurrentCategory].length; i++) AddOption(eTemplate, TemplateName[InitCurrentCategory][i], i);
	currentCategory = InitCurrentCategory;
	currentTemplate = InitCurrentTemplate;
	eTemplate.options.selectedIndex = currentTemplate;
	ChangeTemplate();
}

function ChangeTemplateCategory() {

	// Index von ausgewählter Category
	var iCategory = eCategory.options.selectedIndex;	

	// Nicht ins leere geklickt?
	if (iCategory != -1) {
	
		// Category setzten und Templates dieser Category in Liste anzeigen
		currentCategory = iCategory;
		for (i=eTemplate.length-1; i>=0; i--) eTemplate.options[i] = null;
		for (i=0; i< TemplateID[iCategory].length; i++) AddOption(eTemplate, TemplateName[iCategory][i], i);

		// 1. Template in Liste auswählen
		currentTemplate = 0;
		eTemplate.options.selectedIndex = currentTemplate;
		ChangeTemplate();

	} else {
	
		// wenn ins leere geklickt, wieder alte Category selecten
		eCategory.options.selectedIndex = currentCategory;
		
	}
	
} // ENDE: ChangeTemplateCategory()

function ChangeTemplate() {

	// Pfad von Templates
	//var TemplateURL = "../templates/";
	
	// Index von ausgewähltem Template
	var iTemplate = eTemplate.options.selectedIndex;
	
	// Zufallszahl wegen Cache
	var z = Math.round(Math.random()*99999);
	
	// Nicht ins leere geklickt?
	if (iTemplate != -1) {
	
		currentTemplate = iTemplate;
		
		// Vorschaubild anzeigen
		document.images["TemplatePreview"].src = TemplateURL[currentCategory][iTemplate] + "/preview.gif?z="+z;
		
	} else {
	
		// Wenn ins leere geklickt, wieder altes Template selecten
		eTemplate.options.selectedIndex = currentTemplate;
	}
}

function TemplateSelect(FormName, TemplateID) {
	$('input[name=TemplateID]').val(TemplateID);
	$('form[name='+FormName+']').submit(); // muss submitten, damit etwaige custom-fields des templates angezeigt werden
}


function SubmitDefaultTemplate() {

	// Index von ausgewählter Category
	var iCategory = eCategory.options.selectedIndex;	

	// Index von ausgewähltem Template
	var iTemplate = eTemplate.options.selectedIndex;
	
	setFormField("formTemplate", "TemplateID", TemplateID[iCategory][iTemplate]);
	formSubmit("formTemplate");
}


function RemoveTemplate(FormName) {

	setFormField(FormName, "TemplateID", "");
	
	if(FormName == 'formEventsGroup' || FormName == 'formEvent' || FormName == 'formSimpleMail')
	{
		ChangeForm();
		return;
	}
	setFormField(FormName, "Redirect", "false");
	formSubmit(FormName);
}

function ChangeColor(nr,ColorValue) {
	setFormField("formLayout", "Color"+nr, ColorValue);
	UpdateColor(nr);
}

function UpdateColor(nr) {
	var col = document["formLayout"]["Color"+nr].value;
	document.images["ImgColor"+nr].src = "../include/showcolor.php?col=" + col;
}

function NextLayout() {
	var CurrentLayout = document["formLayout"]["CurrentLayout"].value;
	if (CurrentLayout < numLayouts-1) {
		CurrentLayout++;
		setFormField("formLayout", "CurrentLayout", CurrentLayout);
		document.images["Layout"].src = eval("layout"+CurrentLayout+".src");
		setFormField("formLayout", "LayoutNr", (CurrentLayout+1)+" von "+numLayouts);
		setFormField("formLayout", "LayoutPath", layoutPath[CurrentLayout]);
	}
}

function PrevLayout() {
	var CurrentLayout = document["formLayout"]["CurrentLayout"].value;
	if (CurrentLayout > 0) {
		CurrentLayout--;
		setFormField("formLayout", "CurrentLayout", CurrentLayout);
		document.images["Layout"].src = eval("layout"+CurrentLayout+".src");
		setFormField("formLayout", "LayoutNr", (CurrentLayout+1)+" von "+numLayouts);
		setFormField("formLayout", "LayoutPath", layoutPath[CurrentLayout]);
	}
}

function TextSelect(element) {
	element.focus();
	element.select();
	//element.createTextRange().execCommand("copy"); // nur IE 5.5+
}

// --------------------------------------------------------------------------------
// Preferences
// --------------------------------------------------------------------------------

function OptInLanguageCheckSave(Text, EditLanguage) {
	check = confirm(Text);
	if (check) { 
		formSubmit('formOptin'); 
	} else {
		setFormSelect('formOptin', 'EditLanguage', EditLanguage);
	}
}

function OptOutLanguageCheckSave(Text, EditLanguage) {
	check = confirm(Text);
	if (check) { 
		formSubmit('formOptout'); 
	} else {
		setFormSelect('formOptout', 'EditLanguage', EditLanguage);
	}
}


// --------------------------------------------------------------------------------
// SMS
// --------------------------------------------------------------------------------

function DuplicateSms(SmsID) {

	$title = 'Duplicate';
	
	$.post("../ajax/ax_message.php", { MT: "INFO_NEW_TITLE", lang: "en" },
	  function(data){
		$("#Dlg").html(data+'&nbsp;&nbsp;<input type="text" class="feld" name="SMSnewTitle" size="35" />');
	  });

	$buttons = {
		'Cancel': function() { 
			$(this).dialog('close'); 
		},
		'Duplicate': function() {
			link = "sms.php?SubmitCommand=DuplicateSms&SmsID="+SmsID+"&NewTitle="+$("input[name='SMSnewTitle']").val();
			location.href = link;
			$(this).dialog('close'); 
		}
	}

	$dialog.dialog('option', 'title', $title);
	$dialog.dialog('option', 'buttons', $buttons);
	$dialog.dialog('open');
	$dialog.height('auto');

}

function SmsCheckText(FormName, FieldText, FieldInfo, limit) {
	
	var Text = document[FormName][FieldText].value;
	var TextLength = Text.length;
	
	if (TextLength > 160 && limit == true) {
		Text = Text.substr(0, 160);
		TextLength = 160;
		setFormField(FormName, FieldText, Text);
	}
	
	setFormField(FormName, FieldInfo, TextLength + "/160");

}

function SmsAddPlaceholder(FormName, FieldText, FieldInfo, limit) {

	var Placeholder = "[[" + document["FormSms"]["Placeholder"].value + "]]";
	var element = document["FormSms"]["Text"];
	
	//IE support
	if (document.selection) {
		element.focus();
		sel = document.selection.createRange();
		sel.text = Placeholder;
	
	//MOZILLA/NETSCAPE support
	} else if (element.selectionStart || element.selectionStart == '0') {
		var startPos = element.selectionStart;
		var endPos = element.selectionEnd;
		element.value = element.value.substring(0, startPos) + Placeholder + element.value.substring(endPos, element.value.length);
	
	// OTHER
	} else {
		element.value += Placeholder;
	}
	
	SmsCheckText(FormName, FieldText, FieldInfo, limit);
}

function SmsDelete(SmsID) {

	$title = 'Delete';
	
	$("#Dlg").html('Newsletter samt Statistik endgültig löschen?<br>Achtung: Bereits ausgesendete Newsletter können nach dem Löschen nicht mehr korrekt angezeigt werden.');

	$buttons = {
		'Cancel': function() { 
			$(this).dialog('close'); 
		},
		'Delete': function() {
			link = "sms.php?SubmitCommand=DeleteSms&delSmsID="+SmsID;
			location.href = link;
			$(this).dialog('close'); 
		}
	}

	$dialog.dialog('option', 'title', $title);
	$dialog.dialog('option', 'buttons', $buttons);
	$dialog.dialog('open');
	$dialog.height('auto');

}

// verwendet in sms_send_set2.php
function IsCheckedDoSubmitForm() {
	if ( document.formSend.SendMultipleSMS.checked == true )
		document.formSend.submit();
	else
		alert('Minimum on sms-message exeeds allowed length of one sms. do you want to send in more than one sms? ');
}


// --------------------------------------------------------------------------------
// Medium (Newsletter Types)
// --------------------------------------------------------------------------------

function MediumSwitch(Medium) {

	var data = Medium.value.split(";");

	setFormField("FormLogin", "LoginName", data[0]);
	setFormField("FormLogin", "LoginPassword", data[1]);
	formSubmit("FormLogin");
}

// --------------------------------------------------------------------------------
// Passwort Generator
// --------------------------------------------------------------------------------

function CreatePassword() {
	//var c = "abcdefghijklmnopqrstuvwxyz";
	var c = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	var z = "0123456789";
	var pwd = "";
    
    for (i=0; i<3; i++) pwd += c.charAt(Math.round(Math.random()*25));
    for (i=0; i<2; i++) pwd += z.charAt(Math.round(Math.random()*9));
	for (i=0; i<1; i++) pwd += c.charAt(Math.round(Math.random()*25));
	for (i=0; i<2; i++) pwd += z.charAt(Math.round(Math.random()*9));

	return pwd;
}


// --------------------------------------------------------------------------------
// Form-Module
// --------------------------------------------------------------------------------

function FormItemAdd(FormID, Position, Param) {

	var url = '../forms/ax_forms_form_item.php?Action=CreateFormItemStep1&FormID=' + FormID + '&Position=' + Position;
	
	if (Param.indexOf(':') != -1) {
		a = Param.split(':');
		url += '&FormItemType=' + a[0] + '&AddressField=' + a[1];
	} else {
		url += '&FormItemType=' + Param;
	}
	
	$('div[id=FormItemList]').load(url);
}


function InitFormItemEdit() {

	SelectedType = document["FormFormItem"]["Type"].value;
	ToggleDiv2("Type", SelectedType);
}

function FormSaveFormItem( FormID, FormItemID, Mode ) {

	// Alle Frames durchlaufen und nach Editor-Instanzen suchen
	for (i=0; i<parent.frames.length; i++) {
		if (parent.frames[i].FCK) {
		
			oEditor = parent.frames[i].FCK;
			
			// only update if editor is finished loading!
			if (oEditor.Status == 2) {
				oEditor.UpdateLinkedField();
			}
		}
	}
	
	var $i = 0;
	var $TypeParamsAll = [];
	var $TypeParamsAllJoined = "";
	
	$("input[id^='FormItem_" + FormItemID + "_TypeParams']").each(function() {
		
		
		if( $(this).attr("id") != "FormItem_" + FormItemID + "_TypeParamsDefault" ) {
			if( $(this).attr("checked") ) {
				$TypeParamsAll[ $i ] = $(this).attr("value");
				$i ++;
			}
		}
	});
	
	$TypeParamsAllJoined = $TypeParamsAll.join(",");

    var $main_postvars = $("#FormItem_" +FormItemID + "_Option_List :input").serializeArray();

	if ($("#FormItem_" + FormItemID + "_Title").length != 0) {
		$main_postvars[$main_postvars.length] = { name: "Title", value: $("#FormItem_" + FormItemID + "_Title").attr("value") };
	}
	
	if ($("#FormItem_" + FormItemID + "_Description").length != 0) {
		$main_postvars[$main_postvars.length] = { name: "Description", value: $("#FormItem_" + FormItemID + "_Description").attr("value") };
	}
	
	if ($("input[id^='FormItem_" + FormItemID + "_IsRequired']").length != 0) {
		$main_postvars[$main_postvars.length] = { name: "IsRequired", value: $("input[id^='FormItem_" + FormItemID + "_IsRequired']").attr("checked") ? $("input[id^='FormItem_" + FormItemID + "_IsRequired']").attr("value") : 0 };
	}
	
	if ($("#FormItem_" + FormItemID + "_FormItemMediaItemID").length != 0) {
		$main_postvars[$main_postvars.length] = { name: "MediaItemID", value: $("#FormItem_" + FormItemID + "_FormItemMediaItemID").attr("value") ? $("#FormItem_" + FormItemID + "_FormItemMediaItemID").attr("value") : '' };
	}
	
	if ($("#jCarouselLiteCurrent").length != 0) {
		$main_postvars[$main_postvars.length] = { name: "TemplateID", value: $("#jCarouselLiteCurrent").attr("value") };
	}
	
	if ($("#FormItem_" + FormItemID + "_AddressField").length != 0) {
		$main_postvars[$main_postvars.length] = { name: "AddressField", value: $("#FormItem_" + FormItemID + "_AddressField").attr("value") };
	}

	$main_postvars[$main_postvars.length] = { name: "FormID", value: FormID };
	$main_postvars[$main_postvars.length] = { name: "FormItemID", value: FormItemID };
	$main_postvars[$main_postvars.length] = { name: "FormItemType", value: $("#FormItem_" + FormItemID + "_FormItemType").attr("value") };

	if( $TypeParamsAllJoined ) {
		$main_postvars[$main_postvars.length] = { name: "TypeParams", value: $TypeParamsAllJoined };
	}
	$main_postvars[$main_postvars.length] = { name: "Position", value: $("#FormItem_" + FormItemID + "_Position").attr("value") };
	$main_postvars[$main_postvars.length] = { name: "Action", value: "SaveFormItem" };

	$main_postvars[$main_postvars.length] = { name: "ShowAdvanced", value: $('input[name=ShowAdvanced]').val() };

	$.post("http://letter.eyepin.com/forms/ax_forms_form_item.php", $main_postvars, function(data, textStatus) {				
		if (textStatus == "success") {
		
			switch (Mode) {
				case 'Reload': 
					Ajax_ShowFeedback(); 
					$("div[id='FormItemList']").html(data);
					break;
				case 'Back':
					ShowFormItemList( FormID ); 
					break;
				default: 
					Ajax_ShowFeedback(); 
					break;
			}
		}				
	});

}

function FormItemEdit_ChangeAddressField(FormItemID) {
	var text = $('#FormItem_' + FormItemID + '_AddressField :selected').text();
	$('#FormItem_' + FormItemID + '_Title').val( text );		
}

function FormItemEdit_ToggleAdvanced() {

	var Advanced 	= $('input[name=ShowAdvanced]').val();
	var FormID 		= $('#FormID').val();
	var FormItemID	= $('#FormItemID').val();

	if (Advanced == '1') {
		$('input[name=ShowAdvanced]').val('0');
	} else {	
		$('input[name=ShowAdvanced]').val('1');
	}
	
	FormSaveFormItem( FormID, FormItemID, 'Reload');
}

/* FormItem.Matrix */
function NewFormItemOptionMatrix( FormID, FormItemID, Type ) {

    var $inputs = $("#FormItem_" +FormItemID + "_OptionMatrix"+Type+"_List :input").serializeArray();
	$inputs[$inputs.length] = { name: "Action", value: "SaveFormItemOption" };
	$inputs[$inputs.length] = { name: "FormItemID", value: FormItemID };
	$inputs[$inputs.length] = { name: "MatrixType", value: Type };

	$.post("http://letter.eyepin.com/forms/ax_forms_form_itemoption.php", $inputs, function(data, textStatus) {				
		if (textStatus == "success") {
				
			$("div[id='FormItem_" + FormItemID + "_OptionMatrix" + Type + "_List']").ready(function() {
				$("div[id='FormItem_" + FormItemID + "_OptionMatrix" + Type + "_List']").load('http://letter.eyepin.com/forms/ax_forms_form_itemoption.php?FormID='+ FormID + '&FormItemID=' + FormItemID + '&Action=NewFormItemOption&FormItemOptionType='+Type  );
			});			
			
		}
	});
}

function FormSaveAllForm(FormID, Mode) { // Mode = "Reload" oder "Back"

	var FormItemID = $("input[id='FormItemID']").attr("value");

	FormSaveAllFormItemOption( FormItemID );
	
	FormSaveFormItem( FormID, FormItemID, Mode );
}

function FormSaveAllFormItemOption( FormItemID ) {

	var $inputs = $("div[id=FormItem_" +FormItemID + "_Option_List] :input").serializeArray();   
    
	$inputs[$inputs.length] = { name: "Action", value: "SaveFormItemOption" };
	$inputs[$inputs.length] = { name: "FormItemID", value: FormItemID };

	$.post("http://letter.eyepin.com/forms/ax_forms_form_itemoption.php", $inputs, function(data, textStatus) {				
		if (textStatus == "success") {
			$("div[id='FormItem_" + FormItemID + "_Option_List']" ).html( data );
		}
	});
}

function MoveFormItemOption(FormItemID, FormItemOptionID, Direction) {

	$("div[id='FormItem_"+FormItemID+"_Option_List']").ready(function() {
		$("div[id='FormItem_"+FormItemID+"_Option_List']").load('http://letter.eyepin.com/forms/ax_forms_form_itemoption.php?FormItemID=' + FormItemID + '&FormItemOptionID=' + FormItemOptionID + '&Action=' + Direction );
	});
}

function MoveFormItemOptionMatrix( FormItemID, FormItemOptionID, Direction, Type ) {

	$("#FormItem_"+FormItemID+"_OptionMatrix"+Type+"_List").ready(function() {
		$("#FormItem_"+FormItemID+"_OptionMatrix"+Type+"_List").load('http://letter.eyepin.com/forms/ax_forms_form_itemoption.php?FormItemID=' + FormItemID + '&FormItemOptionID=' + FormItemOptionID + '&Action=' + Direction );
	});
}

function NewFormItemOptionRequest( FormItemID, FormItemOptionType ) {

	var postvar = {
		FormItemID:	FormItemID,
		FormItemOptionType: FormItemOptionType,
		SubmitCommand: "NewFormItemOption"
	}
	
	$.post("http://letter.eyepin.com/forms/ax_forms_form_itemoption.php", postvar, function(data, textStatus) {				
		if (textStatus == "success") {

			$("div[id='FormItem_"+FormItemID+"_Option_List']").html(data);			

		}				
	});	
}

function NewFormItemOption( FormID, FormItemID, FormItemOptionType ) {

 	FormSaveAllFormItemOption( FormItemID );
	NewFormItemOptionRequest( FormItemID, FormItemOptionType );
}

function ShowFormItemOptionList( FormID, FormItemID ) {

	$("div[id='FormItem_"+FormItemID+"_Option_List']").ready(function() {
		$("div[id='FormItem_"+FormItemID+"_Option_List']").load('http://letter.eyepin.com/forms/ax_forms_form_itemoption.php?FormID='+ FormID + '&FormItemID=' + FormItemID + '&Action=FormItemOptionList' );

	});
}

function ShowFormItemOptionMatrixList( FormID, FormItemID, Type ) {

	$("div[id='FormItem_"+FormItemID+"_OptionMatrix"+Type+"_List']").ready(function() {
		$("div[id='FormItem_"+FormItemID+"_OptionMatrix"+Type+"_List']").load('http://letter.eyepin.com/forms/ax_forms_form_itemoption.php?FormID='+ FormID + '&FormItemID=' + FormItemID + '&Action=FormItemOptionMatrix'+Type+'List' );

	});
}

function EditFormItemOption( FormItemID, FormItemOptionID ) {

	$("div[id='FormItem_"+FormItemID+"_Option_List']" ).ready(function() {
		$("div[id='FormItem_"+FormItemID+"_Option_List']" ).load('http://letter.eyepin.com/forms/ax_forms_form_itemoption.php?FormItemID=' + FormItemID + '&FormItemOptionID=' + FormItemOptionID + '&Action=EditFormItemOption' );
	});
}

function EditFormItemOptionMatrix( FormItemID, FormItemOptionID, Type ) {

	$("div[id='FormItem_"+FormItemID+"_OptionMatrix"+Type+"_List']" ).ready(function() {
		$("div[id='FormItem_"+FormItemID+"_OptionMatrix"+Type+"_List']" ).load('http://letter.eyepin.com/forms/ax_forms_form_itemoption.php?FormItemID=' + FormItemID + '&FormItemOptionID=' + FormItemOptionID + '&Action=EditFormItemOptionMatrix'+Type );
	});
}

function DeleteFormItemOption( FormID, FormItemID, FormItemOptionID ) {

	var check = confirm("Option wirklich loeschen?");
	
	if( check == false )
		return;
	else
	{
		$("div[id='FormItem_"+FormItemID+"_Option_List']").ready(function() {
			$("div[id='FormItem_"+FormItemID+"_Option_List']").load('http://letter.eyepin.com/forms/ax_forms_form_itemoption.php?FormID='+ FormID + '&FormItemID=' + FormItemID + '&FormItemOptionID=' + FormItemOptionID + '&Action=FormItemOptionDelete' );
		});
	}
}

function DeleteFormItemOptionMatrix( FormID, FormItemID, FormItemOptionID, Type ) {

	var check = confirm("Option wirklich loeschen?");
	
	if( check == false )
		return;
	else
	{
		$("#FormItem_"+FormItemID+"_OptionMatrix"+Type+"_List").ready(function() {
			$("#FormItem_"+FormItemID+"_OptionMatrix"+Type+"_List").load('http://letter.eyepin.com/forms/ax_forms_form_itemoption.php?FormID='+ FormID + '&FormItemID=' + FormItemID + '&FormItemOptionID=' + FormItemOptionID + '&Action=FormItemOptionDelete' );
		});
	}
}

function DeleteFormItem(FormID, FormItemID) {

	var sTitle		= 'remove element';
	var sContent	= 'Remove element?';
	var sButton		= 'Delete';

	Ajax_Dialog(sTitle, sContent, sButton, function() {
	
		var Fields = {
			"FormID"		: FormID,
			"FormItemID"	: FormItemID,
			"Action"		: "delete"
		};
		
		$.post("../forms/ax_forms_form_item.php", Fields, function(data, textStatus) {
			if (textStatus == "success") {
				$("#FormItemList").html(data);
			} else {
				alert('AJAX ERROR');
			}
		});

		return true;
	});
}

function NewFormItem(FormID,Position) {

	$("div[id='FormItemList']").ready(function() {
		$("div[id='FormItemList']").load('http://letter.eyepin.com/forms/ax_forms_form_item.php?FormID=' + FormID + '&Action=CreateFormItem&Position=' + Position );
	});
}

function NewPageBreak(FormID,Position) {

	$("div[id='FormItemList']").ready(function() {
		$("div[id='FormItemList']").load('http://letter.eyepin.com/forms/ax_forms_form_item.php?FormID=' + FormID + '&Action=CreatePageBreak&Position=' + Position );
	});	
}

function NewTextOnly(FormID,Position) {

	$("div[id='FormItemList']").ready(function() {
		$("div[id='FormItemList']").load('http://letter.eyepin.com/forms/ax_forms_form_item.php?FormID=' + FormID + '&Action=NewTextOnly&Position=' + Position );
	});	
}

function ChangeFormItemSelectType(Type, FormID, Position) {

	if( $("#FormItemNavigaion").length > 0 ) {				
		$("#FormItemNavigaion").html("");
	}
	
	if( $("#FormItem_0_ActionSelectType").length > 0 ) {
		$("#FormItem_0_ActionSelectType").load('http://letter.eyepin.com/forms/ax_forms_form_item.php?FormID=' + FormID + '&Action=CreateFormItemStep2&FormItemType=' + Type + '&Position=' + Position );
	}	
}

function EditFormItemOpen(FormID, FormItemID, Advanced) {

	$("div[id='FormItemList']").ready(function() {	
		
		$("div[id='FormItemList']").load('http://letter.eyepin.com//forms/ax_forms_form_item.php?FormID=' + FormID + '&FormItemID=' + FormItemID + '&Action=edit&Advanced=' + Advanced);

	});
}

function EditFormItemClose(FormID, FormItemID) {

	$("div[id='FormItem_"+FormItemID+"_Action']").ready(function() {
		$("div[id='FormItem_"+FormItemID+"_Action']").load('http://letter.eyepin.com/forms/ax_forms_form_item.php?FormID=' + FormID + '&FormItemID=' + FormItemID + '&Action=close' );
	});

	var change_link = "";
	
	change_link = document.getElementById("edit_formitem_"+FormItemID).href.split("EditFormItemClose");
	
	document.getElementById("edit_formitem_"+FormItemID).href = change_link[0] + "EditFormItemOpen" + change_link[1];
	
}

function ShowFormItemList( FormID ) {

	$("div[id='FormItemList']").ready(function() {
	
		Ajax_ShowLoading('FormItemList');
	
		$("div[id='FormItemList']").load("http://letter.eyepin.com/forms/ax_forms_form_item.php?FormID=" + FormID + "&Action=FormItemList" );
	
	});
}

function FormItemMove(FormID) {

	$( "#FormItemContainer" ).sortable({
		start: function(event, ui) { 
			ui.placeholder.css("height", parseInt(ui.helper.css("height")) -3 ); // -3 wegen border (sollten eigentlich 4 sein, firefox passt aber so)
		},
		stop: function(event, ui) {				
			
			var pos = ui.item.prevAll().length + 1;

			var data = {
				Action: "FormItemChangePosition",
				FormID: FormID,
				FormItemID: ui.item.attr("id"),
				NewPosition: pos
			};
				
			$.post("/forms/ax_forms_form_item.php", data, function(data, textStatus) {
				if (textStatus != "success") {
					alert("AJAX ERROR");
				}
			});
		},			
		opacity: 0.8,
		revert: true,
		handle:  'img[class="drag"]',
		placeholder: "FormItemPlaceholder"
	});
	
	$( "ul, li" ).disableSelection();
}

function FormItemToggleRequired(FormID, FormItemID) {

	var data = {
			Action: "FormItemChangeRequired",
			FormID: FormID,
			FormItemID: FormItemID
		};
	
	$.post("/forms/ax_forms_form_item.php", data, function(data, textStatus) {
		if (textStatus != "success") {
			alert("AJAX ERROR");
		}
	});			
}


// ----------------------------------------------------------------------------------------------------
// FCK Editor
// ----------------------------------------------------------------------------------------------------


var Editor = new Array();

function ActivateEditor(Name, Height, ToolbarSet, FullPage, PathFCKStyles) {
	Editor[Name] = new FCKeditor(Name, '100%', Height); 
	Editor[Name].Config["DefaultLanguage"] = "en";
	Editor[Name].Config["FontColors"] = '000000,993300,333300,003300,003366,000080,333399,333333,800000,FF6600,808000,808080,008080,0000FF,666699,808080,FF0000,FF9900,99CC00,339966,33CCCC,3366FF,800080,999999,FF00FF,FFCC00,FFFF00,00FF00,00FFFF,00CCFF,993366,C0C0C0,FF99CC,FFCC99,FFFF99,CCFFCC,CCFFFF,99CCFF,CC99FF,FFFFFF,,FFFFFF,FFFFFF,FFFFFF,FFFFFF,FFFFFF,FFFFFF,FFFFFF';
	Editor[Name].Config["FullPage"] = FullPage;
	Editor[Name].ToolbarSet = ToolbarSet;
	Editor[Name].BasePath = '../library/fckeditor/';
	
	if (ToolbarSet == 'Default_WithWord' || ToolbarSet == 'Extended_WithWord') {
		Editor[Name].Config["ForcePasteAsPlainText"] = false;
	}

	if (PathFCKStyles != '') {
	
		Editor[Name].Config["StylesXmlPath"] = PathFCKStyles + 'fckstyles.xml' ;
		Editor[Name].Config["EditorAreaCSS"] = PathFCKStyles + 'fckstyles.css';
		Editor[Name].Config["TemplatesXmlPath"] = PathFCKStyles + 'fcktemplates.xml' ;
	}

	Editor[Name].ReplaceTextarea();
}

function Textfield2Editor(Name) {
	var Value = $("#"+Name).val();
	$("#Edit"+Name).html('<textarea id="' + Name + '" name="' + Name + '" rows="" cols="80" class="feld">' + Value + '<\/textarea>');
	ActivateEditor(Name, 70, "Basic", false);
	$("#BtnEdit"+Name).html('&nbsp;');
}

// checkt während editieren ob nur ein BR enthalten ist, und ersetzt es mit ' '

function FCKeditor_OnComplete(editorInstance) {
    editorInstance.Events.AttachEvent( 'OnSelectionChange', function(editorInstance) {
	    if (editorInstance.GetData() == '<br />') {
			//editorInstance.SetData(' ');
	    }
	});
}

// ----------------------------------------------------------------------------------------------------
// ItemList
// ----------------------------------------------------------------------------------------------------

function ItemList_Init(ID) {

	$('#'+ID)
		.addClass('item-list')
		.html('<div>nothing selected<\/div>');
		
	/*
	$('<ul><\/ul>')
		.appendTo('#'+ID);
	*/
}	

function ItemList_Add(ID, Name, Value) {

	if ($('#'+ID+' li').length == 0) {
		$('#'+ID).html('<ul><\/ul>');
	}
	
	//$('#'+ID).show();

	var item = $('<li><p>'+Name+'<\/p><input type="hidden" name="'+ID+'[]" value="'+Value+'"><\/li>')
		.appendTo('#'+ID+' ul');
	
	$('<span>X<\/span>')
		.addClass('item-list-delete')
		.prependTo(item)
		.click(function() {
		
			$(this).parent().remove();
			
			if ($('#'+ID+' li').length == 0) {
				$('#'+ID).html('<div>nothing selected<\/div>');
			}
		});
}

function ItemList_GetIDs(ID) {
	
	var Checked = [];
	$('#' + ID + ' :input').each(function() {
		Checked.push($(this).val());
	});
	return Checked;	
}

function ItemList_Clear(ID) {
	$('#'+ID+' ul').remove();
	$('#'+ID).html('<div>nothing selected<\/div>');
}

// ----------------------------------------------------------------------------------------------------
// Picture List
// ----------------------------------------------------------------------------------------------------

function PictureListSelect(Field, MediaItemID) {
	$("li[id^='" + Field + "_']").removeClass('picture_list_selected');
	$("#" + Field + "_" + MediaItemID).addClass('picture_list_selected');
	$("li[id^='" + Field + "_'] > a").blur();
	$("input[name='" + Field + "']").val(MediaItemID);
}


// ----------------------------------------------------------------------------------------------------
// CK Editor NEW
// ----------------------------------------------------------------------------------------------------

/*
 * Adjust the behavior of the dataProcessor to avoid styles
 * and make it look like FCKeditor HTML output.
 */
function configureHtmlOutput( ev )
{
	var editor = ev.editor,
		dataProcessor = editor.dataProcessor,
		htmlFilter = dataProcessor && dataProcessor.htmlFilter;

	// Out self closing tags the HTML4 way, like <br>.
	dataProcessor.writer.selfClosingEnd = '>';

	// Make output formatting behave similar to FCKeditor
	var dtd = CKEDITOR.dtd;
	for ( var e in CKEDITOR.tools.extend( {}, dtd.$nonBodyContent, dtd.$block, dtd.$listItem, dtd.$tableContent ) )
	{
		dataProcessor.writer.setRules( e,
			{
				indent : true,
				breakBeforeOpen : true,
				breakAfterOpen : false,
				breakBeforeClose : !dtd[ e ][ '#' ],
				breakAfterClose : true
			});
	}

	// Output properties as attributes, not styles.
	htmlFilter.addRules(
		{
			elements :
			{
				$ : function( element )
				{
					// Output dimensions of images as width and height
					if ( element.name == 'img' )
					{
						var style = element.attributes.style;

						if ( style )
						{
							// Get the width from the style.
							var match = /(?:^|\s)width\s*:\s*(\d+)px/i.exec( style ),
								width = match && match[1];

							// Get the height from the style.
							match = /(?:^|\s)height\s*:\s*(\d+)px/i.exec( style );
							var height = match && match[1];

							if ( width )
							{
								element.attributes.style = element.attributes.style.replace( /(?:^|\s)width\s*:\s*(\d+)px;?/i , '' );
								element.attributes.width = width;
							}

							if ( height )
							{
								element.attributes.style = element.attributes.style.replace( /(?:^|\s)height\s*:\s*(\d+)px;?/i , '' );
								element.attributes.height = height;
							}
						}
					}

					// Output alignment of paragraphs using align
					if ( element.name == 'p' )
					{
						style = element.attributes.style;

						if ( style )
						{
							// Get the align from the style.
							match = /(?:^|\s)text-align\s*:\s*(\w*);/i.exec( style );
							var align = match && match[1];

							if ( align )
							{
								element.attributes.style = element.attributes.style.replace( /(?:^|\s)text-align\s*:\s*(\w*);?/i , '' );
								element.attributes.align = align;
							}
						}
					}

					if ( !element.attributes.style )
						delete element.attributes.style;

					return element;
				}
			},

			attributes :
				{
					style : function( value, element )
					{
						// Return #RGB for background and border colors
						return convertRGBToHex( value );
					}
				}
		} );
}


/**
* Convert a CSS rgb(R, G, B) color back to #RRGGBB format.
* @param Css style string (can include more than one color
* @return Converted css style.
*/
function convertRGBToHex( cssStyle )
{
	return cssStyle.replace( /(?:rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\))/gi, function( match, red, green, blue )
		{
			red = parseInt( red, 10 ).toString( 16 );
			green = parseInt( green, 10 ).toString( 16 );
			blue = parseInt( blue, 10 ).toString( 16 );
			var color = [red, green, blue] ;

			// Add padding zeros if the hex value is less than 0x10.
			for ( var i = 0 ; i < color.length ; i++ )
				color[i] = String( '0' + color[i] ).slice( -2 ) ;

			return '#' + color.join( '' ) ;
		 });
}


