function submitbutton(pressbutton) {
	submitform(pressbutton);
}

// ************************************************************************ //

function submitform(pressbutton){
	document.adminForm.task.value=pressbutton;
	try {
		document.adminForm.onsubmit();
		}
	catch(e){}
	document.adminForm.submit();
}

// ************************************************************************ //

function collapse(obj) {
	var element = document.getElementById("area_" + obj);
	
	if (element.style.display == 'none') {
		element.style.display = '';
	} else {
		element.style.display = 'none';
	}
}

// ************************************************************************ //

function deleteItem(what, id, message) {
	
	if (!message) {
		message = 'Möchten Sie diesen Eintrag wirklich löschen?';
	}
	
	if (confirm(message)) {
		return ajaxDeleteItem(what,id);
	} else {
		return false;
	}
}

// ************************************************************************ //

function releaseItem(what, id, message) {
	
	if (!message) {
		message = 'Möchten Sie diesen Eintrag wirklich freischalten?';
	}
	
	if (confirm(message)) {
		return ajaxReleaseItem(what, id);
	} else {
		return false;
	}
}

// ************************************************************************ //

function getResponseElement() {
	var p = document.getElementById('ajax-response-p');
	
	if (!p) {
		p = document.createElement('p');
		p.id = 'ajax-response-p';
		document.getElementById('ajax-response').appendChild(p);
		return p;
	}
}

// ************************************************************************ //

function ajaxDeleteItem(what, id) {
	ajaxDelete = new sack('ajax_item_list.php');
	
	if (ajaxDelete.failed) {
		return true;
	}
	
	if (what == 'quicklink') {
		// Quicklinks löschen
		ajaxDelete.onCompletion = function() { 
			removeQuicklink(ajaxDelete, id, '#FF3333');
		};
		
	} else {
		// alle übrigen Items löschen
		ajaxDelete.onCompletion = function() { 
			removeItem(ajaxDelete,'list_item_' + id, '#FF3333');
		};
	}
	
	ajaxDelete.runAJAX('action=delete-' + what + '&id=' + id);
	return false;
}

// ************************************************************************ //

function ajaxReleaseItem(what, id) {
	ajaxRelease = new sack('ajax_item_list.php');
	
	if (ajaxRelease.failed) {
		return true;
	}
	
	ajaxRelease.onCompletion = function() { 
		removeItem(ajaxRelease,'list_item_' + id, '#88BB88');
	};
	
	ajaxRelease.runAJAX('action=release-' + what + '&id=' + id);
	return false;
}

// ************************************************************************ //

function removeItem(obj, id, color) {
	
	if (obj.response != 0) {
		obj.myResponseElement = getResponseElement();
		obj.myResponseElement.innerHTML = '<b>Fehler:</b> Die Anfrage konnte vom Server nicht verarbeitet werden!';
	
	} else {
		theItem = document.getElementById(id);
		Fat.fade_element(id,null,700,color);
		setTimeout('theItem.parentNode.removeChild(theItem)', 705);
	}
}

// ************************************************************************ //

function removeQuicklink(obj, id, color) {
	
	if (obj.response != 0) {
		obj.myResponseElement = getResponseElement();

	} else {
		// Haupttabelle
		theItem = document.getElementById('list_item_' + id);
		Fat.fade_element('list_item_' + id,null,700,color);
		setTimeout('theItem.parentNode.removeChild(theItem)', 705);
		
		// Navigation
		navItem = document.getElementById('quicklink_item_' + id);
		Fat.fade_element('quicklink_item_' + id,null,700,color);
		setTimeout('navItem.parentNode.removeChild(navItem)', 705);
	}
}

// ************************************************************************ //

function ajaxPublishCats(start, catcount) {
	
	var status = parseInt((100/catcount)*start,10);
	
	// Status aktalisieren
	ajaxSetStatusBar('cat',start,status);
	
	// Nächsten Datensatz durchlaufen
	ajaxPublish = new sack('ajax_cat.php');
	
	if (ajaxPublish.failed) {
		return true;
	}
	
	ajaxPublish.onCompletion = function() { 
		PublishCats(ajaxPublish.response, catcount);
	};
	
	ajaxPublish.runAJAX('action=publish-cat&start=' + start + '&catcount=' + catcount);
	return false;
}

// ************************************************************************ //

function PublishCats(response, catcount) {
	
	var status = new Array();
	
	// Antwort ermitteln
	status = ajaxPublish.response.split("|");
	
	if (status[0] == 1) {
		ajaxPublishCats(status[1], catcount);	
	
	} else if (status[0] == -1) {
		
		document.getElementById('ajax-status-text').innerHTML 	= 'Kategorie Nr. ' + status[1] + ' konnte nicht gespeichert werden!';
		document.getElementById('ajax-status-text').style.color = '#990000;';
		document.getElementById('ajax-statusgif').src 	= './../images/blank.gif';
		
		var message = getResponseElement();
		message.innerHTML = '<b>Weitere Informationen zu diesem Thema:</b>';
		message.innerHTML += '<ol><li><a href="http://helpdesk.ids-design.net/index.php?x=&mod_id=2&id=6" target="_bank" title="Hier klicken um zu dem entsprechenden FAQ Eintrag zu gelangen">FAQ - Eintrag zum Thema: <i>Kategorie Nr. X wurde nicht gespeichert</i></a></li><li><a href="http://www.ids-forum.de/search.php" target="_blank" title="Nach weiteren Lösungen im Forum suchen">Nach weiteren Lösungen im Forum suchen</a></li></ol>';
	}
}

// ************************************************************************ //

function ajaxSetStatusBar(type, start, status) {
	
	var statusBar 	= document.getElementById('ajax-statusbar');
	var statusText	= document.getElementById('ajax-status-text');
	var indicator 	= document.getElementById('ajax-statusgif');
	var value		= document.getElementById('ajax-status-value');
	
	// Indicator
	if (status == 0) {
		indicator.src 	= './../images/misc/indicator.gif';
	
	} else if (status == 100) {
		indicator.src 	= './../images/blank.gif';
	}
	
	// Textausgabe
	value.innerHTML = status + ' %';
	
	if (status != 100) {
		
		if (type == 'cat') {
			statusText.innerHTML = 'Kategorie Nr. ' + start + ' wurde erfolgreich gespeichert...';
		
		} else if (type == 'link') {
			statusText.innerHTML = 'Überprüfe Link Nr. ' + (parseInt(start, 10)+1) + ' ...';
		}
	
	} else if (status == 100) {
		
		if (type == 'cat') {
			statusText.innerHTML = 'Alle Kategorien wurden erfolgreich gespeichert...';
		
		} else if (type == 'link') {
			statusText.innerHTML = 'Alle Links wurden erfolgreich überprüft...';
		}
	}
	
	// Fortschrittsbalken
	if (status > 0) {
		statusBar.title = 'Fortschritt - ' + status + ' %';
		statusBar.style.width = status + '%';
	}	
}

// ************************************************************************ //

function ajaxCheckLink(type, start, count) {
	
	var status 	= parseInt((100/count)*start,10);
	
	// Status aktalisieren
	ajaxSetStatusBar('link', start, status);
	
	// Nächsten Datensatz durchlaufen
	ajaxCheck = new sack('ajax_link.php');
	
	if (ajaxCheck.failed) {
		return true;
	}
	
	ajaxCheck.onCompletion = function() { 
		CheckLink(ajaxCheck.response, count);
	};
	
	ajaxCheck.runAJAX('action=check-link&type=' + type + '&start=' + start + '&count=' + count);
	return false;
}

// ************************************************************************ //

function CheckLink(response, count) {
	
	// Init
	var status 			= new Array();
	var statusGreen 	= document.getElementById('link-status-green').value;
	var statusOrange 	= document.getElementById('link-status-orange').value;
	var statusRed		= document.getElementById('link-status-red').value;
	
	// Antwort ermitteln
	status = ajaxCheck.response.split("|");
	
	if (status[0] > -1) {
		
		// Status - Tabelle aktualisieren
		if (status[0] == 2) {
			
			statusGreen = parseInt(statusGreen, 10);
			statusGreen = statusGreen + 1;
			
			document.getElementById('link-status-green').value = statusGreen;
		
		} else if (status[0] == 1) {
			
			statusOrange = parseInt(statusOrange, 10);
			statusOrange = statusOrange + 1;
			
			document.getElementById('link-status-orange').value = statusOrange;
		
		} else if (status[0] == 0) {
			
			statusRed = parseInt(statusRed, 10);
			statusRed = statusRed + 1;
			
			document.getElementById('link-status-red').value = statusRed;
		}
		
		// Nächsten Eintrag aufrufen
		ajaxCheckLink(status[2], status[1], count);	
	} 
}

// ************************************************************************ //

function ajaxDeleteLink(id) {
	
	// Es wurde keine ID übergeben
	if (id == '') {
		
		var message = getResponseElement();
		message.innerHTML = '<b>Fehler:</b> Es wurde keine gültige Link-ID eingegeben!';
		
		return false;
	}
	
	// Link aus der Datenbank löschen
	ajaxDelete = new sack('ajax_item_list.php');
	
	if (ajaxDelete.failed) {
		return true;
	}
	
	ajaxDelete.onCompletion = function() { 
		DeleteLink(ajaxDelete.response);
	};
		
	ajaxDelete.runAJAX('action=delete-link&id=' + id);
	return false;
}

// ************************************************************************ //

function DeleteLink(response) {
	
	var message = getResponseElement();
	
	if (response != 0) {
		message.innerHTML = '<b>Fehler:</b> Der Eintrag konnte nicht gelöscht werden!';
	
	} else {
		message.innerHTML = 'Der Eintrag wurde erfolgreich aus der Datenbank gelöscht!';
	}
}