/**
 * Diese Ajax-Funktionen sind die Ajax lb-Erweiterungen zu Prototype.
 * Sie vereinfachen Requests noch mehr, geben aber nat�rlich dadurch weniger M�glichkeiten.
 *
 * @file lb_Ajax.js
 * @version 0.2
 * @author Dominic Blattmann & Thorsten Lütgens
 *
 *
 */

var top,left;

document.onmousedown=melde_koordinaten;

function melde_koordinaten(e){
	top=(window.event)?window.event.clientY:e.pageY;
	left=(window.event)?window.event.clientX:e.pageX;
}

function newBox(callThisFunction,lbPage,lbAction,additionalParams){
	$('profil').style.marginLeft = left + 'px';
	$('profil').style.marginTop = top + 'px';
	// Anzeigen
	$('profil').style.display = 'block';
	AjaxRunFunction(callThisFunction,lbPage,lbAction,additionalParams);
}


/**
 * AjaxRunFunction
 * Macht einen Ajax-Request und f�hrt danach die �bergeben Funktions aus.
 * 
 * @param callThisFunction Funktion die aufgerufen werden soll (nicht Name, sondern Funktion direkt!)
 * @param lbPage Aufzurufende Page
 * @param lbAction Aufzurufende Action
 * @param additionalParams Zus�tzliche Parameter (Optional)
 */
/*
function AjaxRunFunction(callThisFunction,lbPage,lbAction,additionalParams){
	var url = 'http://87.157.101.95/opencritics/occ/html/ajax.php';
	var pars = 'page='+lbPage+'&action='+lbAction;
	pars+=(additionalParams)?'&'+additionalParams:'';
	var myAjax = new Ajax.Request(
		url, 
		{
			method: 'get', 
			parameters: pars, 
			onComplete: window[callThisFunction]
		});
}
*/
function AjaxRunFunction(callThisFunction,lbPage,lbAction,additionalParams){
 var url = 'http://localhost/opencritics/occ/html/ajax.php';
 var pars = 'page='+lbPage+'&action='+lbAction;
 pars+=(additionalParams)?'&'+additionalParams:'';
 url+='?'+pars;
 var myAjax = new Ajax.Request(
  url, 
  {
   method: 'post', 
   onComplete: window[callThisFunction]
  });
}


/**
 * AjaxRunFormFunction
 * Schickt ein Formular ab und führt dannn die übergeben Funktion aus.
 * 
 * @param callThisFunction Funktion die aufgerufen werden soll (nicht Name, sondern Funktion direkt!)
 * @param formname Name des Formulares
 */
function AjaxRunFormFunction(callThisFunction,formname){
    var myAjax = $(formname).request(
        { 
         onComplete: window[callThisFunction]
        });
      // False zurückgeben um ein evtl. abgeschicktes Formular am absenden zu hindern (onsubmit)
    return false;
}

function opendiv(id, id2) {
		$(id).style.display = 'block';
		$(id2).style.display = 'none';
	}
	
function closediv(id) { 
	$(id).style.display = 'none';
}

function profileResponse(ResponseObjekt){
	var content = ResponseObjekt.responseText
	$('profil').innerHTML = content;
}
/**
 * AjaxReplace
 * Ersetzt den HTML-Code von "element" durch den AJAX-Response.
 * 
 * @param element ElementID des zu ersetzenden Elementes
 * @param lbPage Aufzurufende Page
 * @param lbAction Aufzurufende Action
 * @param additionalParams Zus�tzliche Parameter (Optional)
 */
function AjaxReplace(element,lbPage,lbAction,additionalParams){
	var url = 'ajax.php';
	var pars = 'page='+lbPage+'&action='+lbAction;
	pars+=(additionalParams)?'&'+additionalParams:'';
	var myAjax = new Ajax.Updater(
		element, 
		url, 
		{
			method: 'get', 
			parameters: pars
		});
}