/* Hier wird der Request erzeugt und an die cms.php gesendet.
*/

var main_load = "<br/><br/><br/><img src='img/main_loader.gif' border='0' class='center' />";

// Request senden
	function setRequest(value, type, id) {
		
		var request = false;
		// Request erzeugen
		if (window.XMLHttpRequest) {
			request = new XMLHttpRequest(); // Mozilla, Safari, Opera
		} else if (window.ActiveXObject) {
			try {
				request = new ActiveXObject('Msxml2.XMLHTTP'); // IE 5
			} catch (e) {
				try {
					request = new ActiveXObject('Microsoft.XMLHTTP'); // IE 6
				} catch (e) {}
			}
		}

		// überprüfen, ob Request erzeugt wurde
		if (!request) {
			alert("Kann keine XMLHTTP-Instanz erzeugen");
			return false;
		} else {
			var url = "lib/cms.php";
			if(type == 'change_content')
				{
				document.getElementById('main_content').innerHTML = main_load;	
				}
			if(type != 'change_content' && type != "save_file")
				{
				document.getElementById('std_laden').src = "img/loading.gif";
				}
			// Request öffnen
			request.open('post', url, true);
			// Requestheader senden
			request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			// Request senden
			request.send(value);
			// Request auswerten
			//request.onreadystatechange = interpretRequest(type);
			request.onreadystatechange = function () {interpretRequest(request, type, id)}
			
		}
	}

/* Hier wird das Ergebnis interpretiert! 
*  Je nach dem bei type steht, wird ein anderes Teil ausgeführt
*  ACHTUNG: Wird noch optimiert. dh verschiedene Chase-Teile werden zusammengelegt!
*/
	// Request auswerten
	function interpretRequest(request, type, id) {
		
		switch (request.readyState) {
			// wenn der readyState 4 und der request.status 200 ist, dann ist alles korrekt gelaufen
			
			case 4:
				if (request.status != 200) {
					//alert("Der Request wurde abgeschlossen, ist aber nicht OK\nFehler:"+request.status);
				} else {
					var result = request.responseText;
					
					// den Inhalt des Requests in das <div> schreiben
					//alert(type);
					switch (type)
						{
						case "change_content": 
							document.getElementById('main_content').innerHTML = result;
							setRequest('function=change_breadcrumbs','change_breadcrumbs');
							setRequest('function=change_title','change_title');
							break;
						case "change_breadcrumbs":
							document.getElementById('breadcrumbs').innerHTML = result;
							break;
						case "update_stats":
							document.getElementById('site_stats').innerHTML = result;
							break;
						case "check_login":
							if(result == "false")
								{
								document.getElementById('username_l').innerHTML = "User: Fehler!";
								document.getElementById('passwort_l').innerHTML = "Passwort: Fehler!";
								}
								else
									{
									setRequest('function=change_menu','change_menu');
									setRequest('function=change_navi','change_navi');
									}
							break;
						case "change_title":
							document.title = result;
							break;
						case "change_menu":
							document.getElementById('menu_login').innerHTML = result;
							break;
						case "logout":
							setRequest('function=change_content' + '&s=home' ,'change_content');
							setRequest('function=change_navi','change_navi');
							setRequest('function=change_title','change_title');
							setRequest('function=change_menu','change_menu');
							break;
						case "change_navi":
							document.getElementById('navi').innerHTML = result;
							break;
						case "save_setting":
							//document.getElementById('adm_info').innerHTML = result;
							break;
						case "update_zitat":
							//fadeout(document.getElementById('zitate'));
							document.getElementById('zitate').innerHTML = result;
							//fadein(document.getElementById('zitate'));
							break;
						case "save_user":
							setRequest('function=change_content' + '&s=admin_user_vw','change_content');
							//document.getElementById('adm_info').innerHTML = result;
							break;
						case "delete_user":
							setRequest('function=change_content' + '&s=admin_user_vw','change_content');
							//document.getElementById('adm_info').innerHTML = result;
							break;
						case "save_links_kat":
							setRequest('function=change_content' + '&s=kat_vw','change_content');
							//document.getElementById('adm_info').innerHTML = result;
							break;
						case "save_links":
							setRequest('function=change_content' + '&s=link_vw','change_content');
							//document.getElementById('adm_info').innerHTML = result;
							break;
						case "delete_links":
							setRequest('function=change_content' + '&s=link_vw','change_content');
							//document.getElementById('adm_info').innerHTML = result;
							break;
						case "save_bilder_kat":
							setRequest('function=change_content' + '&s=bilder_kat_vw','change_content');
							//document.getElementById('adm_info').innerHTML = result;
							break;
						case "delete_bilder_kat":
							setRequest('function=change_content' + '&s=bilder_kat_vw','change_content');
							//document.getElementById('adm_info').innerHTML = result;
							break;
						case "check_gb_eintrag":
							if(result == "1")
								{
								setRequest('function=change_content' + '&s=gb','change_content');
								setRequest('function=change_navi','change_navi');
								alert("Danke fuer Ihren Eintrag.\nein Admin wird sich um den Eintrag Kuemmern.");	
								}
								else
									{
									if(result == "2")
										{
										setRequest('function=change_content' + '&s=gb','change_content');
										setRequest('function=change_navi','change_navi');
										alert("Danke fuer den Eintrag.");
										}
										else
											{
											alert(result);
											}
									}
							break;
						case "debug":
							alert(result);
							break;
						case "save_file":
							alert(result);
							break;
						}
						if($type != "save_file") { document.getElementById('std_laden').src = "img/noloading.gif"; }
					
				}
				break;
			default: 
				break;
		}
	}
 
//Funktion für Backgrounder
function backgrounder()
{
window.setTimeout("setRequest('function=update_stats','update_stats')", 60000);
window.setTimeout("setRequest('function=update_zitat','update_zitat')", 60000);
window.setTimeout("backgrounder()", 60000);
}

function check_login()
{
var senden = true;
var text = "Bitte Login Daten prüfen!";
if(document.getElementById('username').value == "") { senden = false; text = text + "\n+ Username" }
if(document.getElementById('passwort').value == "") { senden = false; text = text + "\n+ Passwort" }

if(senden)
{
setRequest('function=check_login' + '&username=' + document.getElementById('username').value + '&passwort=' + document.getElementById('passwort').value,'check_login');
senden = false;
}
else
	{
	alert(text);
	}
return senden;
}


var duration = 3000;  /* 1000 millisecond fade = 1 sec */
var steps = 20;       /* number of opacity intervals   */
var delay = 5000;     /* 5 sec delay before fading out */

function setOpacity(element, level) {
	element.style.opacity = level;
	element.style.MozOpacity = level;
	element.style.KhtmlOpacity = level;
	element.style.filter = "alpha(opacity=" + (level * 100) + ");";
  }

function fadein(element)
{
for (i = 0; i <= 1; i += (1 / steps)) 
	{
	setTimeout("setOpacity(element, i)", i * duration);
	}
}

function fadeout(element) 
{
for (i = 0; i <= 1; i += (1 / steps)) {
	  setTimeout("setOpacity(element,(1 - i))", i * duration);
	}
}

function submit_contact()
{
var res = true;
var text = "Es fehlen noch Daten: ";
if(document.getElementById('name').value == "") { text = text + "\n+ Name"; res = false; }
if(document.getElementById('email').value == "") { text = text + "\n+ E-Mail"; res = false; }
if(document.getElementById('betreff').value == "") { text = text + "\n+ Betreff"; res = false; }
if(document.getElementById('nachricht').value == "") { text = text + "\n+ Nachricht"; res = false; }

if(res)
	{
	setRequest('function=send_mail' + '&name=' + document.getElementById('name').value + '&email=' + document.getElementById('email').value + '&webseite=' + document.getElementById('url').value + '&betreff=' + document.getElementById('betreff').value + '&nachricht=' + document.getElementById('nachricht').value);
	setRequest('function=change_content' + '&s=contact','change_content');
	alert('Nachricht wurde versandt!');
	}
	else
		{
		alert(text);	
		}

return false;
}

function check_new_gb()
{
var senden = true;
var text = "Bitte Daten prüfen!";
if(document.getElementById('gb_username').value == "") { senden = false; text = text + "\n+ Username" }
if(document.getElementById('nachricht').value == "") { senden = false; text = text + "\n+ Nachricht" }
if(document.getElementById('captcha').value == "") { senden = false; text = text + "\n+ Captcha" }

if(senden)
{
setRequest('function=check_gb_eintrag' + '&username=' + document.getElementById('gb_username').value + '&nachricht=' + document.getElementById('nachricht').value + '&website=' + document.getElementById('website').value + '&captcha=' + document.getElementById('captcha').value,'check_gb_eintrag')
senden = false;
}
else
	{
	alert(text);
	}
return senden;	
}

var messageObj = new DHTML_modalMessage();	// We only create one object of this class
messageObj.setShadowOffset(5);	// Large shadow


function displayMessage(url)
{
	
	messageObj.setSource(url);
	messageObj.setCssClassMessageBox(false);
	messageObj.setSize(400,200);
	messageObj.setShadowDivVisible(true);	// Enable shadow for these boxes
	messageObj.display();
}

function displayStaticMessage(messageContent,cssClass)
{
	messageObj.setHtmlContent(messageContent);
	messageObj.setSize(300,150);
	messageObj.setCssClassMessageBox(cssClass);
	messageObj.setSource(false);	// no html source since we want to use a static message here.
	messageObj.setShadowDivVisible(false);	// Disable shadow for these boxes	
	messageObj.display();
	
	
}

function closeMessage()
{
	messageObj.close();	
}
