/**
 * Haupt-Javascript-Funktionsbibliothek fuer das WebInterface der COG-Homepage
 * - Bild-Popup Funktion fuer die Bildergalerien
 * - AJAX Support
 * -    AJAX Objekt erstellen
 * -    AJAX Request senden
 * -    AJAX Formular absenden
 * -    AJAX Formular-Check durchfuehren
 *
 * (1.0.0.1) 10.4.2008: Erste Implementierung
 *
 * @author Julian Harms
 * @version 1.0.0.1
 * @license GPL - General Public License
 */

//Bilderpopup oeffnen, beliebiger relativer Pfad
function image (url)
{
	window.open("img.php?img="+url,"Bildanzeige","resizable=no,scrollbars=yes,width=50,height=50,left=0,top=0");
	return false;
}

//AJAX Objekt erstellen
function createAjaxObject ()
{
	var req = null;

	try
	{
		//Mozilla
		req = new XMLHttpRequest();
	}
	catch (ms)
	{
		//MSIE
		try
		{
			req = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (nonms)
		{
			try
			{
				req = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (failed)
			{
				req = null;
			}
		}
	}

	if (req == null)
	{
		alert("Error creating request object!");
	}
	
	return req;
}

//Request senden
function sendAjaxRequest (object, reqmethod, url)
{
	object.open (reqmethod, url, true);
	object.setRequestHeader ("Content-Type", "application/x-www-form-urlencoded");
	object.setRequestHeader ("User-Agent", "AJAX Framework (Cog-Homepage)");
	return true;
}

//Alle Input Felder des Forms in einem String senden
function formCheckAjaxSendForm (object, formname)
{
	var i;
	var zugriff;
	var string;

	string = "form_check=1"
	zugriff = document.getElementsByName (formname)[0];
	for (i = 1;i < zugriff.elements.length;i++)
	{
		string = string + "&" + zugriff.elements[i].name + "=" + zugriff.elements[i].value;
	}
	object.send (string);
}

//Formular mittels AJAX ueberpruefen
//Programm erkennt speziellen AJAX Request mittels Post Variable form_check = 1
//Programm kann dann 1 (Formular korrekt, dann wird es abgesendet) oder eine Fehlermeldung ausgeben (Text wird in 
// alert Fenster geschrieben)
function formCheckAjaxSubmit (form_name)
{
	var object;
	object = createAjaxObject ();
	if (object == null)
	{
		document.getElementsByName (form_name)[0].submit ();
	}
	sendAjaxRequest (object, "POST", "me");
	object.onreadystatechange = function ()
	{
		if (object.readyState == 4 && object.status == 200)
		{
			if (object.responseText == "1")
			{
				document.getElementsByName (form_name)[0].submit ();
			}
			else
			{
				alert (object.responseText);
			}
		}
	}
	formCheckAjaxSendForm (object, form_name);

}