function im_get(what, to, title) {
	if(what != "im_open") {
		document.getElementById('im_content').style.textAlign = "center";
		wait = '<img alt="wait" src="http://awfl.eu/design_birdi/wait_50.gif"><br><font class="font1">Bitte warten</font>';
		document.getElementById('im_content').innerHTML = wait;
	}
	req = xmlreq();
	to = (typeof to != "undefined") ? '&to='+to : '';

	req.open("GET", geturl() + 'content/php_ajax/im/ajax_im_get.php?what='+what+to, true);
	req.onreadystatechange = function(){ //<-- anonyme funktion								
		switch(req.readyState) {
			case 4:
	                        if(req.status!=200) {
					alert("Fehler:"+req.status); 
	                        }else{
					xml = req.responseXML;
					resp_im_nr = (xml.getElementsByTagName("nr")[0].hasChildNodes()) ? xml.getElementsByTagName("nr")[0].firstChild.nodeValue : '';
					resp_im_content = (xml.getElementsByTagName("content")[0].hasChildNodes()) ? xml.getElementsByTagName("content")[0].firstChild.nodeValue : '';
					if(what != "im_open") {
						document.getElementById('im_content').innerHTML = resp_im_content;
						document.getElementById('im_nrmsg').innerHTML = resp_im_nr
						document.getElementById('im_content').style.textAlign = "left";
					} else {
						resp_im_uid = (xml.getElementsByTagName("uid")[0].hasChildNodes()) ? xml.getElementsByTagName("uid")[0].firstChild.nodeValue : '';
						resp_im_uname = (xml.getElementsByTagName("uname")[0].hasChildNodes()) ? xml.getElementsByTagName("uname")[0].firstChild.nodeValue : '';
						document.getElementById('im_opennew_popup').innerHTML = resp_im_content;
						user_add(resp_im_uid, resp_im_uname, 'opennew');
						if(typeof title != "undefined")
							document.getElementById("im_opennew_wtitle").value = title;
					}

					switch(what) {
						case "im_pin":
							document.getElementById('im_cur').innerHTML = 'Posteingang';
							document.getElementById('im_pin').style.fontWeight = 'bold';
							document.getElementById('im_pout').style.fontWeight = 'normal';
							document.getElementById('im_new').style.fontWeight = 'normal';
							document.getElementById('im_nrmsgs').style.display = 'inline';
						break;
						case "im_pout":
							document.getElementById('im_cur').innerHTML = 'Postausgang';
							document.getElementById('im_pin').style.fontWeight = 'normal';
							document.getElementById('im_pout').style.fontWeight = 'bold';
							document.getElementById('im_new').style.fontWeight = 'normal';
							document.getElementById('im_nrmsgs').style.display = 'inline';
						break;
						case "im_new":
							document.getElementById('im_cur').innerHTML = 'neue Nachricht schreiben';
							document.getElementById('im_pin').style.fontWeight = 'normal';
							document.getElementById('im_pout').style.fontWeight = 'normal';
							document.getElementById('im_new').style.fontWeight = 'bold';
							document.getElementById('im_nrmsgs').style.display = 'none';
						break;
					}
				}
			break;
			default:
				return false;
			break;     
		}
	};
	req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	req.send(null);
}

function im_open(to, title)
{
	im_get('im_open', to, title);
	dgb_fin();
	document.getElementById('im_opennew_popup').style.display = "block";
}//-->im_open()

function im_close()
{
dgb_fout();
document.getElementById('im_opennew_popup').style.display = "none";
}//-->im_close()

function im_read(id, who) {
	var text = document.getElementById('im_'+id+'_text');
	if(text.style.display == "block") {
		im_close2(id);
		text.style.display = "none";
	} else {
		text.style.display = "block";
		im_action(id, who, 'mark_read');
	}
}

function im_action(id, who, what) {
	req = xmlreq();
	req.open("GET", geturl() + 'content/php_ajax/im/ajax_im_action.php?id='+id+'&who='+who+'&action='+what, true);
	req.onreadystatechange = function(){ //<-- anonyme funktion								
		switch(req.readyState) {
			case 4:
	                        if(req.status!=200) {
					alert("Fehler:"+req.status); 
	                        }else{
					if(what == "mark_read" || what == "mark_unread" || what == "delete") {
						if(req.responseText.length > 0) {
									document.getElementById('im_'+id+'_error').innerHTML = req.responseText;
									document.getElementById('im_'+id+'_error').style.display = 'block';
						} else {
							switch(what) {
								case "mark_read":
									document.getElementById('im_'+id+'_title').style.fontWeight = 'normal';
								break;
	
								case "mark_unread":
									document.getElementById('im_'+id+'_title').style.fontWeight = 'bold';
								break;
	
								case "delete":
									document.getElementById('im_'+id+'_msgbox').style.display = 'none';
								break;
							}
						}
					}

					if(what == "reply" || what == "forward" || what == "replyx") {
						xml = req.responseXML;
						resp_im_title = (xml.getElementsByTagName("title")[0].hasChildNodes()) ? xml.getElementsByTagName("title")[0].firstChild.nodeValue : '';
						resp_im_text = (xml.getElementsByTagName("text")[0].hasChildNodes()) ? xml.getElementsByTagName("text")[0].firstChild.nodeValue : '';
						resp_im_tbox = (xml.getElementsByTagName("tbox")[0].hasChildNodes()) ? xml.getElementsByTagName("tbox")[0].firstChild.nodeValue : '';
						resp_im_from = (xml.getElementsByTagName("from")[0].hasChildNodes()) ? xml.getElementsByTagName("from")[0].firstChild.nodeValue : '';
						document.getElementById('im_'+id+'_write').innerHTML = resp_im_tbox;
						switch(what) {
							case "reply":
								resp_im_uid = (xml.getElementsByTagName("uid")[0].hasChildNodes()) ? xml.getElementsByTagName("uid")[0].firstChild.nodeValue : '';
								resp_im_nick = (xml.getElementsByTagName("uname")[0].hasChildNodes()) ? xml.getElementsByTagName("uname")[0].firstChild.nodeValue : '';
								user_add(resp_im_uid, resp_im_nick, id);
								document.getElementById('im_'+id+'_wtitle').value = 'Re: '+resp_im_title;
								document.getElementById('im_'+id+'_wtext').value = '\n\n-------------------------------------\nNachricht von: '+resp_im_from+'\n-------------------------------------\n\n'+resp_im_text;
							break;
					
							case "forward":
								document.getElementById('im_'+id+'_wtitle').value = 'Fw: '+resp_im_title;
								document.getElementById('im_'+id+'_wtext').value = '\n\n-------------------------------------\nNachricht von: '+resp_im_from+'\n-------------------------------------\n\n'+resp_im_text;
							break;
	
							case "replyx":
								if(xml.getElementsByTagName("fromx")[0].hasChildNodes()) {
									for(i = 0; i < xml.getElementsByTagName("user").length; i++) {
										var uid = xml.getElementsByTagName("user")[i].getElementsByTagName("uid")[0].firstChild.nodeValue;
										var uname = xml.getElementsByTagName("user")[i].getElementsByTagName("uname")[0].firstChild.nodeValue;
										if(uid > 0) user_add(uid, uname, id);
									}
								}
								document.getElementById('im_'+id+'_wtitle').value = 'Re: '+resp_im_title;
								document.getElementById('im_'+id+'_wtext').value = '\n\n-------------------------------------\nNachricht von: '+resp_im_from+'\n-------------------------------------\n\n'+resp_im_text;
							break;
						}
						document.getElementById('im_'+id+'_write').style.display = 'block';
					}
	                        }
			break;
			default:
				return false;
			break;     
		}
	};
	req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	req.send(null);
}

function im_send3(id, what)
{
	var im_uid = user_get(id);
	var im_title = document.getElementById('im_'+id+'_wtitle').value;
	var im_text = document.getElementById('im_'+id+'_wtext').value;
	var im_return = document.getElementById('im_'+id+'_wreturn');
	if(document.getElementById('im_'+id+'_wmul').checked == true)
		var im_mul = "1";
	else
		var im_mul = "0";
	
	im_setState(true, id);	

	var fehler = 0;
	//Msg auf Fehler überprüfen
	if(im_uid == "") { //keine Empfänger angegeben
		fehler = 1;
		im_return.style.color = 'red';
		im_return.innerHTML = "Es muss min. ein Empfänger angegeben werden.";
		im_setState(false, id);
	}
	else if(im_text.length < 5) { //kein Text angegeben
		fehler = 1;
		im_return.style.color = 'red';
		im_return.innerHTML = "Es muss ein Text angegeben werden.";
		im_setState(false, id);
	}
	
	if(fehler == 0) {
		var req = xmlreq();
		
		parameters = "im_uid="+escape(encodeURI(im_uid))+"&im_title="+escape(encodeURI(im_title))+"&im_text="+escape(encodeURI(im_text))+"&im_mulshow="+escape(encodeURI(im_mul));
		
		req.open("POST", geturl() + 'content/php_ajax/im/ajax_im_send.php', true);
		req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		req.setRequestHeader("Content-length", parameters.length);
		req.setRequestHeader("Connection", "close");
		req.send(parameters);
		
		req.onreadystatechange = function(){ //<-- anonyme funktion
			switch(req.readyState) {
				case 4:
					if(req.status!=200) {
						alert("Fehler:"+req.status); 
					}else{
						if(req.responseText.indexOf('Erfolg') != -1) //kein fehler
						{
							im_return.style.color = 'black';
							im_return.innerHTML = 'Deine Nachricht wurde erfolgreich verschickt';
							im_return.style.display = 'block';
						}
						else //fehler
						{
							im_return.style.color = 'red';
							im_return.innerHTML = req.responseText;
						}
						if(id != "opennew") {
							window.setTimeout("im_Reset('"+id+"')", 1000);
						} else {
							window.setTimeout("im_close()", 1000);
						}
					}
				break;
			
				default:
					return false;
				break;
			}
		};
	}//fehler == 0
}//-->im_send3()

function im_setState(work, id) {
	ret = document.getElementById('im_'+id+'_wreturn');
	wait = document.getElementById('im_'+id+'_wwait');
	subm = document.getElementById('im_'+id+'_wsubmit');
	if(work == true) {
		ret.style.display = 'none';
		wait.style.display = 'block';
		subm.disabled = true;
	} else {
		ret.style.display = 'block';
		wait.style.display = 'none';
		subm.disabled = false;
	}
}

function im_Reset(id) {
	im_setState(false, id);
	if(document.getElementById('im_'+id+'_wtoboxes') != null)
		document.getElementById('im_'+id+'_wtoboxes').innerHTML = "";
	if(document.getElementById('im_'+id+'_wtitle') != null)
		document.getElementById('im_'+id+'_wtitle').value = "";
	if(document.getElementById('im_'+id+'_wtext') != null)
		document.getElementById('im_'+id+'_wtext').value = "";
	if(document.getElementById('im_'+id+'_wreturn') != null) {
		document.getElementById('im_'+id+'_wreturn').style.display = "none";
		document.getElementById('im_'+id+'_wreturn').style.color = "black";
	}
	if(typeof(id) != "undefined" && id != "new")
		im_close2(id);
}

function im_close2(id)
{
if(document.getElementById('im_'+id+'_wreturn') != null)
	document.getElementById('im_'+id+'_wreturn').style.display = 'none';
document.getElementById('im_'+id+'_write').style.display = 'none';
}//-->im_close()


function user_proposal(input, box, id) {
	var nick = document.getElementById(input).value;
	if(nick.length < 2) {
		document.getElementById(box).style.display = 'none';
		return false;
	}
	var req = xmlreq();
	req.open("GET", geturl() + 'content/php_ajax/ajax_user_get.php?nick='+escape(encodeURI(nick))+'&imid='+escape(encodeURI(id)), true);
	req.onreadystatechange = function() { //<-- anonyme funktion								
		switch(req.readyState) {
			case 4:
                        if(req.status!=200) {
                            alert("Fehler:"+req.status); 
                        }else{
				xml = req.responseXML;
				resp_found = (xml.getElementsByTagName("found")[0].hasChildNodes()) ? xml.getElementsByTagName("found")[0].firstChild.nodeValue : '';
				resp_content = (xml.getElementsByTagName("content")[0].hasChildNodes()) ? xml.getElementsByTagName("content")[0].firstChild.nodeValue : '';
				if(resp_found > 0) document.getElementById(box).style.display = 'block';
				else document.getElementById(box).style.display = 'none';
				document.getElementById(box).innerHTML = resp_content;
			}
			break;
			default:
				return false;
			break;
		}
	}
	req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	req.send(null);
}

function user_add(id, nick, imid) {
	if(document.getElementById('user_'+imid+'_'+id) != null) return false;
	var thebox = document.getElementById('im_'+imid+'_wtoboxes');
	var newspan = document.createElement('div');
	newspan.setAttribute('id','user_'+imid+'_'+id);
	newspan.setAttribute('class', 'box_user_nick');
	newspan.setAttribute('title', 'id: '+id);
	newspan.innerHTML = nick+' <font onclick="user_remove(\'user_'+imid+'_'+id+'\', \''+imid+'\');" onmouseover="this.color = \'red\';" onmouseout="this.color = \'\';">X</font>';
	thebox.appendChild(newspan);
	user_mul_show(imid);
	document.getElementById('im_'+imid+'_wproposal').style.display = 'none';
	document.getElementById('im_'+imid+'_wtoadd').value = "";
}

function user_remove(id, imid) {
	var thespan = document.getElementById(id);
	var thebox = document.getElementById('im_'+imid+'_wtoboxes');
	thebox.removeChild(thespan);
	user_mul_show(imid);
}

function user_get(imid) {
	var thebox = document.getElementById('im_'+imid+'_wtoboxes');
	if(!thebox.hasChildNodes()) return "";
	var node = thebox.firstChild;
	var str = "";
	var curstr = "";
	while(node != null) {
		curstr = node.getAttribute('id').substring(5);
		curstr = curstr.split("_");
		str += curstr[1]+',';
		node = node.nextSibling;
	}
	str = str.substring(0, str.length-1);
	return str;
}

function user_mul_show(id) {
	var thebox = document.getElementById('im_'+id+'_wtoboxes');
	var mulbox = document.getElementById('im_'+id+'_wmulbox');
	var node = thebox.firstChild;
	var i = 0;
	while(node != null) {
		i++;
		node = node.nextSibling;
	}
	if(i < 2)
		mulbox.style.display = 'none';
	else
		mulbox.style.display = 'block';

}