// Ajax_Initialisierung
document.write('<script type="text/javascript" src="/js/ajax.js"></script>');

function forum()
{	
	// Signaturlänge prüfen (500)
	this.checkMySignatur = function(id)
	{	
		if(document.getElementById(id))
		{
			var text = document.getElementById(id).value;
			var l = text.length;
			if(l > 500) // Text begrenzen
			{
				var newtext = text.substring(0, 500);
				// Text setzen
				document.getElementById(id).value = newtext;
				l = 500;
			}
			
			// verbl. Zeichen setzen
			if(document.getElementById("forum_sig_zeichen"))
				document.getElementById("forum_sig_zeichen").innerHTML = Math.round(500-l);
		}
		else
			console.log(id);
	}

	// Formular neues Thema
	this.newThema = function(what, id)
	{
		if(!isNaN(id))
		{
			initializeAJAX();
			if(xmlHttp)
			{
				xmlHttp.open('POST', "/action/ajax_forum.php", true);
		
				xmlHttp.onreadystatechange = function() 
				{ 
					if(xmlHttp.readyState == 4)
					{     	
						var response = unescape(xmlHttp.responseText);
						//alert(response);
						if(response != "false")
						{
							// Inhalt setzen
							spop.setPopupsettings("forum");
							spop.setContent(response);
							
							// Editor laden
							
							editor_name = "forum_entry";
							if(document.getElementById(editor_name))
							{
								var instance = CKEDITOR.instances[editor_name];
								
								editorhoehe  = 200;
								
								if(instance)
								{
									CKEDITOR.remove(instance);
								}
								CKEDITOR.replace(editor_name,
								{
									customConfig : '/ckeditor/config_forum.js',
									height: editorhoehe + 'px',
									filebrowserBrowseUrl : '/ckfinder/ckfinder.html',
									filebrowserImageBrowseUrl : '/ckfinder/ckfinder.html?Type=Images',
									filebrowserFlashBrowseUrl : '/ckfinder/ckfinder.html?Type=Flash',
									filebrowserUploadUrl : '/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Files',
									filebrowserImageUploadUrl : '/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Images',
									filebrowserFlashUploadUrl : '/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Flash'
								});
							}
							
						}
						else
						{
							location.reload();
						}
					}
					else
					{
						spop.setLoader();	
					}
				}
				
				xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			
				if(what == "thema")
				{
					spop.setPopupTitle("Neues Thema anlegen");
					spop.setPopupIcon(this.getIcon("thema"));
					spop.showPopup();
				
					// Anfrage senden
					xmlHttp.send("&do=newThema&subcategory="+id);
				}
				else if(what == "entry")
				{
					spop.setPopupTitle("Neuen Eintrag anlegen");
					spop.setPopupIcon(this.getIcon("entry"));
					spop.showPopup();
				
					// Anfrage senden
					xmlHttp.send("&do=newEntry&thema="+id);
				}
			}	
		}
	}
	
	
	// Thema speichern 
	this.saveThema = function(id, what)
	{
		//alert(id + " " +what);
		if(!isNaN(id))
		{
			// Alle Parameter abfragen
			var error = false;
			var error_msg = "";
			if(what == "thema")
			{
				// Thementitel
				if(document.getElementById("titel").value == "")
				{
					error = true;
					error_msg += "Du musst einen Themen-Titel vergeben damit das Thema angelegt werden kann!\r\n";
				}
			}
			
			// Text
			var myeditordata = CKEDITOR.instances.forum_entry.getData();
			if(myeditordata == "")
			{
				error = true;
				error_msg += "Du musst einen Beitrag schreiben damit das Thema angelegt werden kann!\r\n";
			}
			// Umfrage
			if(document.getElementById("umfrage").checked == true)
			{
				if(document.getElementById("frage").value == "")
				{
					error = true;
					error_msg += "Wenn Du eine Umfrage hinzufügen möchtest, dann musst du auch eine Frage eintragen!\r\n";
				}
				if(document.getElementById("antworten").value == "")
				{
					error = true;
					error_msg += "Wenn Du eine Umfrage hinzufügen möchtest, dann musst du auch Antwortmöglichkeiten eintragen!\r\n";
				}
			}
			
			if(error == true)
			{
				alert(error_msg);
			}
			else
			{
				if(what == "thema")
				{
					//alert("Formular absenden");
					document.forms["newThema"].submit();
				}
				if(what == "entry")
				{
					document.forms["newEntry"].submit();
				}
				spop.setLoader();	
			}
		}
	}
	
	
	// Umfrage anzeigen
	this.showUmfrage = function()
	{
		if(document.getElementById("umfrage"))
		{
			if(document.getElementById("umfrage").checked == true)
			{
				if(document.getElementById("umfrage_table"))
				{
					document.getElementById("umfrage_table").style.display = "";
				}
			}
			else
			{
				if(document.getElementById("umfrage_table"))
				{
					document.getElementById("umfrage_table").style.display = "none";
				}
			}
		}
	}
	
	// Umfrage vorschau
	this.umfrageVorschau = function()
	{
		window.forumVorschau = window.setTimeout("forum.doUmfrageVorschau()", 1000);
	}
	this.doUmfrageVorschau = function()
	{
		window.clearTimeout(window.forumVorschau);
		if(document.getElementById("umfrage_preview"))
		{
			// Frage auslesen
			if(document.getElementById("frage"))
				var frage = document.getElementById("frage").value;
			
			// Antworten auslesen
			if(document.getElementById("antworten"))
				var antworten = document.getElementById("antworten").value;
				
			// Antworten splitten
			var arr = antworten.split("\n");
			var content = "";
			var j=1;
			for(var i=0; i<arr.length; i++)
			{
				if(arr[i] != "")
				{
					content += "<br />" + j + ". " + arr[i];
					j++;
				}
			}
			document.getElementById("umfrage_preview").innerHTML = frage + content;
		}
	}
	
	this.getIcon = function(what)
	{
		switch(what)
		{
			case "category":
				return "/images/icon/folders-open.png";
			break;
			
			case "subcategory":
				return "/images/icon/folder-horizontal-open-table.png";
			break;
			
			case "thema":
				return "/images/icon/folder-open-document-text.png";
			break;
			
			case "entry":
				return "/images/icon/document-text.png";
			break;
			
			case "user":
				return "/images/icon/user_green.png";
			break;
			
			case "clock":
				return "/images/icon/clock.png";
			break;
		}
	}
}
