function checkTextLength(inputObj) {
	if(inputObj.value.length > 250) {
		inputObj.value = inputObj.value.substr(0,250)
	}
}



function initKeywordsForm(idArr) {
	var listObj = null;
	try {
		for(var i=0; i<idArr.length; i++) {
			listObj = document.getElementById('keyword_'+i);
			listObj.setAttribute("keywordid", idArr[i]);
		}
		for(; i<10; i++) {
			listObj = document.getElementById('keyword_'+i);
			listObj.setAttribute("keywordid", 0);
		}
	} catch(err) {
		alert("Ein Javascript-Fehler trat auf: " + err + ".\nBenachrichtige bitte den Admin.");
	}
}

function addKeyword(keywordId, keywordTitle) {
	try {
		var listObj = null;
		for(var i=0; i<10; i++) {
			listObj = document.getElementById('keyword_'+i);
			if(listObj.getAttribute("keywordid") == 0) {
				var removeLink = document.createElement("a");
				removeLink.setAttribute("href", "#");
				removeLink.onclick = function() { removeKeyword(1);return false; };
				removeLink.innerHTML = keywordTitle;
				listObj.appendChild(removeLink);
				listObj.setAttribute("keywordid", keywordId);
				if(addKeyword.arguments.length > 2 && addKeyword.arguments[2] == 1) {
					listObj.className = "new";
				}
				return;
			} else if(listObj.getAttribute("keywordid") == keywordId) {
				alert("Du hast dieses Schlagwort schon ausgewählt.");
				return;
			}
		}
		alert('Es können nur 10 Schlagwörter ausgewählt werden.\nBitte lösche erst ein Schlagwort aus Deiner Auswahl, bevor Du ein weiteres hinzufügst.');
	} catch(err) {
		alert("Ein Javascript-Fehler trat auf: " + err + ".\nBenachrichtige bitte den Admin.");
	}
}

function removeKeyword(keywordId) {
	try {
		var listContainer = document.getElementById('keywordsCurrent');
		var listObj = null;
		var nextListObj = null;
		for(var i=0; i<10; i++) {
			listObj = document.getElementById('keyword_'+i);
			if(listObj.getAttribute("keywordid") == keywordId) {
				break;
			}
		}
		for(; i<10; i++) {
			listObj = document.getElementById('keyword_' + i);
			if(i<9) {
				nextListObj = document.getElementById('keyword_' + (i+1));
				listObj.setAttribute("keywordid", nextListObj.getAttribute("keywordid"));
				listObj.innerHTML = nextListObj.innerHTML;
			} else {
				listObj.setAttribute("keywordid", 0);
				listObj.innerHTML = '';
			}
			listObj.className = (nextListObj.className == 'new')? 'new' : '';
		}
	} catch(err) {
		alert("Ein Javascript-Fehler trat auf: " + err + ".\nBenachrichtige bitte den Admin.");
	}
}

function createKeyword() {
	try {
		var formField = document.forms["add_keyword"].elements["new_keyword"];
		if(formField.value.match(/^[a-zA-ZäöüÄÖÜ][a-zA-ZäöüÄÖÜ -]+$/)) {
			addKeyword(window.maxKeywordId, formField.value, 1);
			window.maxKeywordId++;
		} else {
			alert("Gib bitte ein vernünftiges Schlagwort ein.");
		}
	} catch(err) {
		alert("Ein Javascript-Fehler trat auf: " + err + ".\nBenachrichtige bitte den Admin.");
	}
}

function prepareFormFields() {
	try {
		var form = document.forms["edit_keywords"];
		var formField = null;
		var listObj = null;
		for(var i=0; i<10; i++) {
			listObj = document.getElementById('keyword_'+i);
			if(listObj.className == 'new') {
				formField = document.createElement("input");
				formField.setAttribute("name", "new_keywords[]");
				formField.setAttribute("type", "hidden");
				formField.value = listObj.getElementsByTagName("a")[0].innerHTML;
				form.appendChild(formField);
			} else {
				formField = document.createElement("input");
				formField.setAttribute("name", "keywords[]");
				formField.setAttribute("type", "hidden");
				formField.value = listObj.getAttribute("keywordid");
				form.appendChild(formField);
			}
		}
		return true;
	} catch(err) {
		alert("Ein Javascript-Fehler trat auf: " + err + ".\nBenachrichtige bitte den Admin.");
		return false;
	}
}

/*
function filterKeywords(value, formNode) {
	var keywordList = document.getElementById('keywordsSelect');
	var keywords = keywordList.getElementsByTagName('li');
	var valueRegExp = new RegExp("(.*)(" + value + ")(.*)", "i");
	var currentAnchorNode = null;
	var currentKeyword = '';
	var matches;
	var spanNode = null;
	var tmpValue = '';
	
	for(var i=0; i<keywords.length; i++) {
		currentAnchorNode = keywords[i].getElementsByTagName('a')[0];
		currentKeyword = currentAnchorNode.firstChild.nodeValue;
		matches = currentKeyword.match(valueRegExp);
		tmpValue = '';
		currentAnchorNode.style.display = 'none';
		for(var k=0; k<currentAnchorNode.childNodes.length; k++) {
		if(i<5) alert('tmpValue = '+tmpValue);
			if(currentAnchorNode.childNodes[k].nodeType == 3) tmpValue += currentAnchorNode.childNodes[k].nodeValue;
			else if(currentAnchorNode.childNodes[k].nodeType == 1) tmpValue += currentAnchorNode.childNodes[k].firstChild.nodeValue;
			currentAnchorNode.removeChild(currentAnchorNode.firstChild);
		}
		currentAnchorNode.appendChild(document.createTextNode(tmpValue));
		if(value == '') {
			currentAnchorNode.style.display = 'block';
			continue;
		}
		if(matches) {
			currentAnchorNode.removeChild(currentAnchorNode.firstChild);
			currentAnchorNode.appendChild(document.createTextNode(matches[1]));
			spanNode = document.createElement('span');
			spanNode.appendChild(document.createTextNode(matches[2]));
			currentAnchorNode.appendChild(spanNode);
			currentAnchorNode.appendChild(document.createTextNode(matches[3]));
			currentAnchorNode.style.display = 'block';
		}
	}
}
*/
