function copyAll(obj) {
	while (obj.tagName.toLowerCase() != 'li') {
		obj = obj.parentNode;
	}
	_copy_checkboxes(obj);
	var a = obj.getElementsByTagName('input');
	for (var i=0,j=a.length;i<j;i++) {
		if (a[i].type == 'checkbox') { continue; }
		m_copy(a[i].className, a[i].value);	
	}
	
	var a = obj.getElementsByTagName('textarea');
	for (var i=0,j=a.length;i<j;i++) {
		m_copy(a[i].className, a[i].value);
	}
	
	var a = obj.getElementsByTagName('select');
	for (var i=0,j=a.length;i<j;i++) {
		m_copy(a[i].className, a[i].value);	
	}
	showMessage('Successfully copied entry.');
}


function pasteAll(obj) {
	while (obj.tagName.toLowerCase() != 'li') {
		obj = obj.parentNode;
	}
	obj.enabled = false;
	
	_paste_checkboxes(obj);
	var a = obj.getElementsByTagName('input');
	for (var i=0,j=a.length;i<j;i++) {
		m_pasteIntoObj(a[i], a[i].className, true);
	}
	
	var a = obj.getElementsByTagName('textarea');
	for (var i=0,j=a.length;i<j;i++) {
		m_pasteIntoObj(a[i], a[i].className, true);
		//alert('copy: ' + a[i].className + ' - ' + a[i].value);
	}
	
	var a = obj.getElementsByTagName('select');
	for (var i=0,j=a.length;i<j;i++) {
		m_pasteIntoObj(a[i], a[i].className, true);
     //alert('paste: ' + a[i].className + ' - ' + a[i]);
	}
	obj.enabled = true;
	showMessage('Successfully pasted entry.');
}

function checkChangeAll() {
	for (var a=document.getElementById('verschlagwortung').getElementsByTagName('li'),i=0,j=a.length;i<j;i++) {
		if (a[i].haschanged) return true;
	}
	return false;
}


function checkChange(obj) {
	while (obj.tagName.toLowerCase() != 'li') {
		obj = obj.parentNode;
	}
	if (obj.haschanged) { return; }
	obj.haschanged = true;
	obj.style.border = '1px solid #ff3';
	obj.style.backgroundColor = '#2E2E2E';
	var a = obj.getElementsByClassName('editbuttons')[0];
	a.style.display = 'block';
}

function restoreEntry(obj) {
	while (obj.tagName.toLowerCase() != 'li') {
		obj = obj.parentNode;
	}
	obj.getElementsByTagName('form')[0].reset();
	obj.haschanged = null;
	obj.style.border = 'none';
	obj.style.borderBottom = '1px solid #A2A4A1';
	obj.style.backgroundColor = '#1E1E1E';
	var a = obj.getElementsByClassName('editbuttons')[0];
	a.style.display = 'none';
}
window.onbeforeunload = function(e) {
	
	if (checkChangeAll()) {
		return 'Wenn Sie diese Seite verlassen, gehen nicht gespeicherte Daten verloren.';
	}
}
window.onload = function() {
	var a = document.getElementById('verschlagwortung');
	if (!a) return;
	var b = a.getElementsByTagName('input');
	for (var i=0,j=b.length; i<j; i++) {
		b[i].onchange = function() {
				checkChange(this);
			}
		if (b[i].type == 'checkbox' || b[i].type == 'radio') {
			b[i].disabled = false;
			b[i].onclick = function() {
				checkChange(this);
			}
		}
		else {
			b[i].disabled = false;
			b[i].onkeydown = function(e) {
				e = e || window.event;
				//if (e.keyCode >= 48 && e.keyCode <= 90) 
					checkChange(this);
			}
		}
	}
	var b = a.getElementsByTagName('textarea');
	for (var i=0,j=b.length; i<j; i++) {
		b[i].disabled = false;
		b[i].onkeydown = function(e) {
				e = e || window.event;
				//if (e.keyCode >= 48 && e.keyCode <= 90) 
					checkChange(this);
			}
		b[i].onchange = function() {
			checkChange(this);
		}
	}
	var b = a.getElementsByTagName('select');
	for (var i=0,j=b.length; i<j; i++) {
		b[i].disabled = false;
		b[i].onchange = function() {
			checkChange(this);
		}
	}
}














function saveall() {
	var a = document.getElementById('verschlagwortung').childNodes;
	var nothingsaved = true;
	for (var i=0,j=a.length; i<j; i++) {
		if (a[i].haschanged) {
			saveEntryButton(a[i]);
			nothingsaved = false;
		}
	}
	if (nothingsaved) {
		showMessage('Didn\'t save anything, no entry was changed.');
	}
}



function getId(str) {	return str.replace(/([a-zA-Z]{0,99}_)/,''); }

function saveEntryButton(obj) {
	while (obj.tagName.toLowerCase() != 'li') {
		obj = obj.parentNode;
	}
	var a = obj.getElementsByTagName('textarea')[0];
	var id = getId(a.id);
	
	var format = '', aufnahme = '';
	
	var i = 0;
	while (true) {
		a = document.getElementById('format_'+id+'_'+i);
		if (!a) { break; }
		if (a.checked) {
			format += 'format[]=' + a.value + '&';
		}
		i++;		
	}
	
	
	var i = 0;
	while (true) {
		a = document.getElementById('aufnahme_'+id+'_'+i);
		if (!a) { break; }
		if (a.checked) {
			aufnahme += 'aufnahme[]=' + a.value + '&';
		}
		i++;		
	}
	
	
	saveEntry(
		obj,
		id,
		document.getElementById('tarif_'+id).value,
		document.getElementById('beschreibung_'+id).value,
		document.getElementById('erweiterte_beschreibung_'+id).value,
		document.getElementById('geographie_'+id).value,
		format,
		aufnahme,
		document.getElementById('infos_'+id).value,
		document.getElementById('diskrete_infos_'+id).value,
		
		document.getElementById('en_beschreibung_'+id).value,
		document.getElementById('en_erweiterte_beschreibung_'+id).value,
		document.getElementById('en_geographie_'+id).value,
		document.getElementById('en_infos_'+id).value,
		document.getElementById('en_diskrete_infos_'+id).value,
		document.getElementById('aufnahmedatum_d_'+id).value,
		document.getElementById('aufnahmedatum_m_'+id).value,
		document.getElementById('aufnahmedatum_y_'+id).value,
		document.getElementById('rechte_'+id).value
	);
	
	
}


function saveEntry(listitem, id, tarif, suchtext, suchtext_emo, geographie, format, aufnahme, infos, diskrete_infos, en_suchtext, en_suchtext_emo, en_geographie, en_infos, en_diskrete_infos,aufnahme_d,aufnahme_m,aufnahme_y, rechte) {
	
	var values = '';
	values += 'id='+id+'&';
	values += 'tarif='+tarif+'&';
	values += 'suchtext='+suchtext+'&';
	values += 'suchtext_emo='+suchtext_emo+'&';
	values += 'geographie='+geographie+'&';
	
	values += 'en_suchtext='+en_suchtext+'&';
	values += 'en_suchtext_emo='+en_suchtext_emo+'&';
	values += 'en_geographie='+en_geographie+'&';	
	
	values += format;
	values += aufnahme;
	values += 'infos='+infos+'&';
	values += 'diskrete_infos='+diskrete_infos + '&';
	
	values += 'en_infos='+en_infos+'&';
	values += 'en_diskrete_infos='+en_diskrete_infos + '&';
	values += 'aufnahme_d='+aufnahme_d + '&';
	values += 'aufnahme_m='+aufnahme_m + '&';
	values += 'aufnahme_y='+aufnahme_y + '&';
	
	values += 'rechte='+rechte + '&';
	
	var cb = function(xhrobj,entry_id, listitem) {
		if (xhrobj.responseText == 'ok') {
			_saved(listitem);
			showMessage('Successfully saved foMOV' + id);
		}
		else {
			showMessage('Saving foMOV' + id + ' failed.<br><br>'+xhrobj.responseText);
		}
	}
	xhr('get','save.php',values,cb,[id, listitem]);	
}
function _saved(listitem) {
	//inputfields
	var a = listitem.getElementsByTagName('input');
	for (var i = 0,j=a.length; i<j; i++) {
		if (a[i].type == 'checkbox' || a[i].type == 'radio') {
			a[i].defaultChecked = a[i].checked;
		}
		else {
			a[i].defaultValue = a[i].value;
		}
	}
	
	var a = listitem.getElementsByTagName('select');
	for (var i = 0,j=a.length; i<j; i++) { 
		b = a[i].options;
		for (var x=0,y=b.length; x<y; x++) {
			b[x].defaultSelected = b[x].selected;
		}
	}
	
	
	a = listitem.getElementsByTagName('textarea');
	for(i=0,j=a.length; i<j; i++) {
		a[i].defaultValue = a[i].value;
	}
	restoreEntry(listitem);

}
