function nl_login(){
	nl_addLoading();
	nl_getReqObj();
	nl_rObj.open( 'post', "nl_ajaxWrap.php", true );
	nl_rObj.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	nl_rObj.send( nl_generateURL(true)+"&incPATH="+nl_url+"/add.php" );
	nl_rObj.onreadystatechange = nl_request;
}

function nl_logoff(){
	nl_getReqObj();
	nl_rObj.open( 'post', "nl_ajaxWrap.php", true );
	nl_rObj.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	nl_rObj.send( nl_generateURL(true)+"&incPATH="+nl_url+"/delete.php" );
	nl_rObj.onreadystatechange = nl_request;
	nl_addLoading();
}

function nl_submit(){
	if( document.getElementsByName(nl_mod_key+"do")[0] == "add" ){ nl_login(); }
	else if( document.getElementsByName(nl_mod_key+"do")[0] == "del" ){ nl_logoff(); }
}

function nl_request(){
       if (nl_rObj.readyState == 4) {
           if (nl_rObj.status == 200) {
               switch( nl_htmlTagReplacer(nl_rObj.responseText) ){
				case "1":
					nl_addMessage( nl_message[30], "error" );
					break;
				case "2":
					nl_addMessage( nl_message[31], "info" );
					break;
				case "3":
					nl_addMessage( nl_message[32], "info" );
					break;
				case "4":
					nl_addMessage( nl_message[33], "error" );
					break;
				case "5":
					nl_addMessage( nl_message[34], "error" );
					break;
				case "6":
					nl_addMessage( nl_message[35], "error" );
					break;
				case "7":
					nl_addMessage( nl_message[36], "info" );
					break;
				case "8":
					nl_addMessage( nl_message[37], "error" );
					break;
				case "9":
					nl_addMessage( nl_message[38], "error" );
					break;
				case "10":
					nl_addMessage( nl_message[39], "error" );
					break;
				case "11":
					nl_addMessage( nl_message[40], "error" );
					break;
				case "12":
					nl_addMessage( nl_message[41], "info" );
					break;
				case "13":
					nl_addMessage( nl_message[42], "info" );
					break;
				case "14":
					nl_addMessage( nl_message[43], "info" );
					break;
				case "15":
					nl_addMessage( nl_message[44], "info" );
					break;
				default:
					nl_addMessage( "ERROR - "+nl_htmlTagReplacer(nl_rObj.responseText) );
					break;
               }
           } else {
               alert('Bei dem Request ist ein Problem aufgetreten. ('+nl_rObj.status+")");
           }
       }
}

function nl_addMessage( pText, pStyle ){
	nl_removeLoading();
	nl_removeMessage();

	var cont	= document.getElementById( nl_contentId );
	cont.style.display = "";

	var mes		= document.createElement( "div" );
	mes.id		= "nl_message";
	mes.name	= "nl_message";
	if( pStyle === undefined ){
		mes.className = pStyle;
	}

	pText		= nl_htmlTagReplacer( pText );

	if( pText.indexOf( "{email}" ) > -1 ){
		pTxt1		= pText.substring( 0, pText.indexOf( "{email}") );
		mes.appendChild( document.createTextNode( pTxt1 ) );

		pEMail		= document.createElement( "span" );
		pEMail.className = nl_css_email;
		pEMail.appendChild( document.createTextNode( document.getElementsByName(nl_mod_key+'email')[0].value ) );
		mes.appendChild( pEMail );

		pTxt2		= pText.substring( pText.indexOf( "{email}")+7 );
		mes.appendChild( document.createTextNode( pTxt2 ) );
	}
	else{
		mes.appendChild( document.createTextNode( pText ) );
	}

	cont.insertBefore( mes,cont.firstChild );
}

function nl_removeMessage(){
	nl_removeElement("nl_message");
}

function nl_getReqObj() {
    if( nl_rObj == null ){
	    var browser = navigator.appName;
	    if(browser == "Microsoft Internet Explorer"){
	        nl_rObj = new ActiveXObject("Microsoft.XMLHTTP");
	    }else{
	        nl_rObj = new XMLHttpRequest();
	    }
    }
}

function nl_removeLoading(){
	nl_removeElement("nl_loading");
}

function nl_removeElement( pId ){
	if( document.getElementById(pId) ){
		document.getElementById(pId).parentNode.removeChild(document.getElementById(pId));
	}
}

function nl_addLoading(){
	var load 	= document.createElement( "div" );
	load.id		= "nl_loading";
	load.className = "nl_loading";

	var cent	= document.createElement( "center" );
	var imgLoad	= document.createElement( "img" );
	imgLoad.src	= nl_loading;

	cent.appendChild( imgLoad );
	load.appendChild( cent );

	var cont	= document.getElementById( nl_contentId );
	cont.style.display = "none";

	document.getElementById(nl_contentId).parentNode.insertBefore(load, cont);
}

function nl_removeContent(){
	var cont 	= document.getElementById( nl_contentId );
	if ( cont.hasChildNodes() ){
	    while ( cont.childNodes.length >= 1 ){
	        cont.removeChild( cont.firstChild );
	    }
	}
}

function nl_generateURL( pStdParam ){
	var param	= "";
	for(var i=0; i<nl_fld_list.length; i++ ){
		if( document.getElementsByName(nl_mod_key+nl_fld_list[i])[0] ){
			param = param + nl_fld_list[i] + "=" + document.getElementsByName(nl_mod_key+nl_fld_list[i])[0].value + "&";
		}
	}

	if( pStdParam ){
		param = param + "&lang=" + "zahl";
		param = param + "&user=" + nl_user;

			if( nl_opt_confMail == "gecheckt"){
				param = param + "&confirm=" + "1";
			}
	}

	return param;
}

function nl_htmlTagReplacer( pContent ){
	pContent = pContent.replace(/&(lt|gt);/g, function (strMatch, p1){ return (p1 == "lt")? "<" : ">"; });
	return pContent.replace(/<\/?[^>]+(>|$)/g, "");
}
