var nationImgs = new Array();
document.onkeypress = null;
function enableSpinnerForAllLinks() {
	var links = document.getElementsByTagName('div');
	for(var i = 0; i < links.length; i++) {
		if(links[i].className == 'link') {
			links[i].onmousedown = function() { document.getElementById('spinner').style.visibility = 'visible'; }
		}
	}
	var links = document.getElementsByTagName('a');
	for(var i = 0; i < links.length; i++) {
		if(links[i].className == 'link') {
			links[i].onmousedown = function() { document.getElementById('spinner').style.visibility = 'visible'; }
		}
	}
}

function sende(form) {
	//var form = document.getElementById(formName);
	var data = new Array();
	if(form) {
		document.getElementById('spinner').style.visibility = 'visible';
		document.onkeypress = null;
		for(var i = 0; i < form.elements.length; i++) {
			if(form.elements[i].name)
				data[form.elements[i].name] = form.elements[i].value;
				if(form.elements[i].name == 'agb')
					data[form.elements[i].name] = form.elements[i].checked;
		}
		eval("xajax_"+form.id.replace("Form","")+"(data)");
	}
}

function preview(form) {
	var data = new Array();
	if(form) {
		document.getElementById('spinner').style.visibility = 'visible';
		document.onkeypress = null;
		for(var i = 0; i < form.elements.length; i++) {
			if(form.elements[i].name)
				data[form.elements[i].name] = form.elements[i].value;
				if(form.elements[i].name == 'agb')
					data[form.elements[i].name] = form.elements[i].checked;
		}
		data['preview'] = 'true';
		eval("xajax_"+form.id.replace("Form","")+"(data)");
	}
}

function menu(which) {
	var ObjTextarea = document.getElementById('text');
	var value = '';
	switch(which) {
		case 'b':
	 			insert('[b]','[/b]');
	 			break;
		case 'i':
		 		insert('[i]','[/i]');
		 		break;
		case 'img':
		 		if(document.getElementById('imgUpload').style.display == 'none')
		 			document.getElementById('imgUpload').style.display = 'block';
		 		else
		 			document.getElementById('imgUpload').style.display = 'none';
		 		break;
		case 'link':
				var link = prompt('Bitte geben Sie die URL ein : ');
				link = link.replace("http://", "");
				var name = prompt('Optional den Linknamen eingeben : ');
				//alert(name);
				if(name == "")
					name = link;
				if(link != "") {
					if(!link.match(/http:\/\//))
					insert('[link='+link+']',name+'[/link]');
				}
		 		break;
		case 'undo':
				//alert(ObjTextarea.selectionStart);
				break;
	}
	
	return false;
}

function enableTextareaListener(textarea) {
	//textarea.onkeypress = keyListener;
}

function keyListener(Ereignis) {
	if(!Ereignis)
		Ereignis = window.event;
		
	alert(Ereignis.keyCode);
	/*if(Ereignis.keyCode == 13)
		window.setTimeout("send()", 200);*/
}

function toggle(id) {
	var element = document.getElementById('commentText'+id);
	var iconImg = document.getElementById('toggleIcon'+id)
	if(element.style.display == 'none') {
		element.style.display = 'block';
		iconImg.src = 'images/minus_icon.gif';
	} else {
		element.style.display = 'none';
		iconImg.src = 'images/plus_icon.gif';
	}
}

function markInvalidElements(elementId) {
	document.getElementById(elementId).className = 'errorInput';
}

function selectNationIcon() {
	if(document.getElementById('nation')) {
		var index = document.getElementById('nation').selectedIndex;
		if(index == 0) {
			for(var i = 0; i < document.getElementById('nation').options.length; i++) {
				if(document.getElementById('nation').options[i].defaultSelected == true) {
					index = i;
					break;
				}
			}
		}
		var iconName = document.getElementById('nation').options[index].value;
		if(iconName == "__")
			document.getElementById('nationIcon').src = 'images/nationIcons/__.gif';
		else
			document.getElementById('nationIcon').src = nationImgs[iconName].src;
	}
}

function preloadNationImgs(names) {
	for(var i = 0; i < names.length; i++) {
		if(nationImgs[names[i]] == null) {
			nationImgs[names[i]] = new Image();
			nationImgs[names[i]].src = 'images/nationIcons/'+names[i]+'.gif';
		}
	}
}

function insert(aTag, eTag) {
  var input = document.getElementById('text');
  input.focus();
  /* für Internet Explorer */
  if(typeof document.selection != 'undefined') {
    /* Einfügen des Formatierungscodes */
    var range = document.selection.createRange();
    var insText = range.text;
    range.text = aTag + insText + eTag;
    /* Anpassen der Cursorposition */
    range = document.selection.createRange();
    if (insText.length == 0) {
      range.move('character', -eTag.length);
    } else {
      range.moveStart('character', aTag.length + insText.length + eTag.length);      
    }
    range.select();
  }
  /* für neuere auf Gecko basierende Browser */
  else if(typeof input.selectionStart != 'undefined')
  {
    /* Einfügen des Formatierungscodes */
    var start = input.selectionStart;
    var end = input.selectionEnd;
    var insText = input.value.substring(start, end);
    input.value = input.value.substr(0, start) + aTag + insText + eTag + input.value.substr(end);
    /* Anpassen der Cursorposition */
    var pos;
    if (insText.length == 0) {
      pos = start + aTag.length;
    } else {
      pos = start + aTag.length + insText.length + eTag.length;
    }
    input.selectionStart = pos;
    input.selectionEnd = pos;
  }
  /* für die übrigen Browser */
  else
  {
    /* Abfrage der Einfügeposition */
    var pos;
    var re = new RegExp('^[0-9]{0,3}$');
    while(!re.test(pos)) {
      pos = prompt("Einfügen an Position (0.." + input.value.length + "):", "0");
    }
    if(pos > input.value.length) {
      pos = input.value.length;
    }
    /* Einfügen des Formatierungscodes */
    var insText = prompt("Bitte geben Sie den zu formatierenden Text ein:");
    input.value = input.value.substr(0, pos) + aTag + insText + eTag + input.value.substr(pos);
  }
}


/* debug fun stuff */
var height;
var width;

var startDivX = 0;
var startDivY = 0;

var startMouseX = 0;
var startMouseY = 0;

function initDrag() {
	document.onmousemove = drag; document.onmouseup = dragEnd;
}

function drag(Ereignis) {
	if(!Ereignis)
		Ereignis = window.event;
		
	/*if(startDivX == 0)
		startDivX = document.getElementById('consoleContainer').offsetLeft;
		document.getElementById('login').value = document.getElementById('consoleContainer').style.left;
	if(startDivY == 0)
		startDivY = document.getElementById('consoleContainer').offsetTop;*/
	if(startMouseX == 0)
		startMouseX = Ereignis.clientX;
	if(startMouseY == 0)
		startMouseY = Ereignis.clientY;
	
	if (Ereignis.clientX >= 0 && Ereignis.clientY >= 0) {
		document.getElementById('consoleContainer').style.left = startDivX + (Ereignis.clientX-startMouseX)+'px';
		document.getElementById('consoleContainer').style.top = startDivY + (Ereignis.clientY-startMouseY)+'px';
	}
}

function dragEnd() {
	document.onmousemove = null;
	
	//startDivX = 0;
	//startDivY = 0;
	//startMouseX = 0;
	//startMouseY = 0;
}

function resetPosition() {
	document.getElementById('consoleContainer').style.left = '0px';
	document.getElementById('consoleContainer').style.top = '0px';
}
