/**
 * Standard JS
 * Author: Andreas Kauer
 * Copyright: AdCAM Technologies GmbH
 */

/**
 * Login
 */
function login_check_form() {
	formElement = document.getElementById('form_login');
	user = formElement.elements['username'].value;
	pass = formElement.elements['password'].value;
	if (user.length < 6 || user.indexOf('@') == -1) {
		alert('Bitte Benutzernamen (E-Mail-Adresse) angeben.');
		formElement.elements['username'].focus();
		return false;
	}
	if (pass.length < 2) {
		alert('Bitte Passwort angeben.');
		formElement.elements['password'].focus();
		return false;
	}
	return true;
}

function login_activate_stayloggedin() {
	document.getElementById('form_login').elements['stayloggedin'].checked = true;
}

/**
 * Settings
 */
function settings_login_set_submit(data) {
	if (confirm('Sind Sie sicher, daß Sie die Anmeldedaten löschen möchten?')) {
		formElement = document.getElementById('settings_login');
		formElement.elements['to_remove'].value = data;
		formElement.submit();
	}
}

function settings_check_form_pwd() {
	formElement = document.getElementById('settings_pwd');
	if (formElement.elements['old_pwd'].value == '') {
		alert('Bitte altes Passwort eingeben!');
		formElement.elements['old_pwd'].focus();
		return false;
	}
	if (formElement.elements['new_pwd1'].value == '') {
		alert('Bitte altes Passwort eingeben!');
		formElement.elements['new_pwd1'].focus();
		return false;
	}
	if (formElement.elements['new_pwd2'].value == '') {
		alert('Bitte neues Passwort wiederholen!');
		formElement.elements['new_pwd2'].focus();
		return false;
	}
	if (formElement.elements['new_pwd1'].value !=
		formElement.elements['new_pwd2'].value) {
			alert('Die neuen Passwörter stimmen nicht überein!');
			formElement.elements['new_pwd1'].focus();
			return false;
	}
	return true;
}

/**
 * Feedback
 */
function feedback_add_attachment() {
	container = document.getElementById('feedback_attachment_container');
	counter = container.getElementsByTagName('div').length;
	counter++;
	newElement = document.createElement('div');
	newElement.innerHTML =
		'<span class="bold">Anhang #'+counter+':</span><br/>'+
		'<input type="file" name="attachment_'+counter+'" size="50"/>'+
		'<p class="small" style="width: 98%; margin: 0; padding: 1px; margin-bottom: 10px;">'+
		'Fügen Sie eine Datei als Anhang zur Supportanfrage hinzu. z.B. als ZIP-Datei'+
		'</p>'+
		'<input type="text" name="description_'+counter+'" size="50" />'+
		'<p class="small" style="width: 98%; margin: 0; padding: 1px; margin-bottom: 10px;">'+
		'Beschreibung der Datei eingeben.'+
		'</p>'
	;
	container.appendChild(newElement);
}

function feedback_check_form() {
	formElement = document.getElementById('feedback_new');
	if (formElement.elements['summary'].value.length < 2) {
		alert('Bitte Zusammenfassung eingeben!');
		formElement.elements['summary'].focus();
		return false;
	}
	if (formElement.elements['details'].value.length < 2) {
		alert('Bitte Details der Anfrage eingeben!');
		formElement.elements['details'].focus();
		return false;
	}
	if (formElement.elements['category'].value == '0') {
		alert('Bitte Kategorie auswählen!');
		formElement.elements['category'].focus();
		return false;
	}
	if (formElement.elements['application'].value == '0') {
		alert('Bitte Anwendung auswählen!');
		formElement.elements['application'].focus();
		return false;
	}
	
	// Zusätzliche Pflichtfelder Hotlineformular
	if (document.getElementById('contact')) {
		if (formElement.elements['organisation'].value == '0') {
			alert('Bitte den Kunden auswählen!');
			formElement.elements['organisation'].focus();
			return false;
		}
		if (formElement.elements['contact_person'].value.length < 2) {
			alert('Bitte den Namen Ihres Ansprechpartners eingeben!');
			formElement.elements['contact_person'].focus();
			return false;
		}
		if (formElement.elements['contact_information'].value.length < 2) {
			alert('Bitte die Kontaktdaten Ihres Ansprechpartners eingeben!');
			formElement.elements['contact_information'].focus();
			return false;
		}
	}
	
	return true;
}

/**
 * Index
 */
function index_goto_check_form(padLength) {
	bugId = parseInt(document.getElementById('index_goto').elements['id'].value, 10);
	if (isNaN(bugId)) {
		alert('Keine gültige Zahl eingegeben!');
		return false;
	}
	bugStr = bugId.toString();
	while (bugStr.length < padLength) bugStr = '0' + bugStr;
	document.getElementById('index_goto').elements['id'].value = bugStr;
	return true;
}

/**
 * Summary
 */
function form_summary_select_show_submit() {
	document.getElementById('form_summary_select_show').submit();
}

/**
 * Buglist
 */
function buglist_onmouseover_tr(trElement) {
	trElement.style.backgroundColor = 'Gray';
}

function buglist_onmouseout_tr(trElement) {
	trElement.style.backgroundColor = '';
}

function openStateWindow() {
	stateWindow = window.open('state.php', 'state', 'dependent=yes,height=230,width=200,statusbar=no,menubar=no');
	posX = (screen.width / 2) - 105;
	posY = (screen.height / 2) - 120;
	stateWindow.moveTo(posX, posY);
	stateWindow.focus();
}

/**
 * Details
 */
function details_show_attachment_new() {
	aElement = document.getElementById('a_details_attachment_new');
	divElement = document.getElementById('div_details_attachment_new');
	aElement.style.display = 'none';
	divElement.style.display = '';
}

function details_hide_attachment_new() {
	aElement = document.getElementById('a_details_attachment_new');
	divElement = document.getElementById('div_details_attachment_new');
	aElement.style.display = '';
	divElement.style.display = 'none';
}

function details_show_comment_new() {
	inputElement = document.getElementById('input_details_comment_new');
	divElement = document.getElementById('div_details_comment_new');
	tdElement = document.getElementById('spalte_rechts');
	inputElement.style.display = 'none';
	divElement.style.display = '';
	tdElement.style.display = 'none';
	formElement = document.getElementById('form_details_comment_new');
	formElement.elements['details'].focus();
	window.scrollTo(0, document.documentElement.scrollHeight);
}

function details_hide_comment_new() {
	inputElement = document.getElementById('input_details_comment_new');
	divElement = document.getElementById('div_details_comment_new');
	tdElement = document.getElementById('spalte_rechts');
	inputElement.style.display = '';
	divElement.style.display = 'none';
	tdElement.style.display = '';
}

function details_comment_new_check_form() {
	formElement = document.getElementById('form_details_comment_new');
	if (formElement.elements['details'].value == '') {
		alert('Bitte Kommentar eingeben.');
		return false;
	}
	return true;
}

function details_delete_attachment(attachment_id) {
	if (confirm('Sind Sie sicher, daß Sie den Anhang löschen wollen?')) {
		formElement = document.getElementById('form_details_delete_attachment');
		formElement.elements['attachment_id'].value = attachment_id;
		formElement.submit();
	}
}

function details_delete_comment(comment_id) {
	if (confirm('Sind Sie sicher, daß Sie den Kommentar löschen wollen?')) {
		formElement = document.getElementById('form_details_delete_comment');
		formElement.elements['comment_id'].value = comment_id;
		formElement.submit();
	}
}

/**
 * Admin
 */
function admin_bug_remove(bug_id) {
	if (confirm('Sind Sie sicher, daß Sie die Supportanfrage löschen wollen?')) {
		formElement = document.getElementById('form_admin_bug_remove');
		formElement.elements['bug_id'].value = bug_id;
		formElement.submit();
	}
}

function admin_organisation_remove(organisation_id) {
	if (confirm('Sind Sie sicher, daß Sie die Organisation löschen wollen?')) {
		formElement = document.getElementById('form_admin_organisation_remove');
		formElement.elements['organisation_id'].value = organisation_id;
		formElement.submit();
	}
}

function admin_user_remove(user_id) {
	if (confirm('Sind Sie sicher, daß Sie den Benutzer löschen wollen?')) {
		formElement = document.getElementById('form_admin_user_remove');
		formElement.elements['user_id'].value = user_id;
		formElement.submit();
	}
}

function admin_motd_remove(dateStr) {
	if (confirm('Sind Sie sicher, daß Sie die Nachricht löschen wollen?')) {
		formElement = document.getElementById('form_admin_motd_remove');
		formElement.elements['valid_until'].value = dateStr;
		formElement.submit();
	}
}

/**
 * Timeout Feedback/Details
 */
function timeout_prevent_submit(id) {
	$timeOut = 20 * 60 * 1000; // ms
	window.setTimeout(function() {
		document.getElementById(id).disabled = true;
		document.getElementById(id).value = 'Sitzung abgelaufen!';
		document.getElementById(id + '_oben').disabled = true;
		document.getElementById(id + '_oben').value = 'Sitzung abgelaufen!';
	}, $timeOut);
}
