
// Calls the report post function using an ajax call
function ReportPost(appID, menuID, topicID, postID) {
	var email = prompt("What is your e-mail?", "Type e-mail here");
	if (email)
	{
		var temp = prompt("Why is this offending?", "Type reason here");
		if (temp)
		{
			var reportUrl = "app_discussion_post.aspx?app=" + appID + "&app_id=" + appID + "&menu=" + menuID + "&topic=" + topicID + "&post=" + postID + "&action=report&email="+email+"&temp="+temp;
			document.getElementById('report_' + postID).innerHTML = 'Het bericht is gerapporteerd';
			ajax_action(reportUrl, 'report_callback_' + postID);
		}
	}
}		

function ajax_action(strUrl,divId){
	if (divId != '' && strUrl != ''){
		strUrl = strUrl.replace(/&amp;/g,"&");
		//alert(strUrl);
		strUrl = strUrl + '&time=' + Math.floor(Math.random()*1100)
		SetInnerHTMLFromAjaxResponse(strUrl, divId);
	}
}


function ReturnFromAjax() {
}




/* AJAX functionality ------------------------------------------------------- */

/**
SAL - Simple Ajax Lib. 23-Sep-2005
by Nigel Liefrink
Email: leafrink@hotmail.com
*/

var debug = false;
/**
Browser Compatability function.
Returns the correct XMLHttpRequest depending on the current browser.
*/
function GetXmlHttp() {	
	var xmlhttp = false;
	if (window.XMLHttpRequest)
	{
		xmlhttp = new XMLHttpRequest();
  }
	else if (window.ActiveXObject)// code for IE
	{
		try 
		{
			xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
		} 
		catch (e) 
		{
			try 
			{
				xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (E) {
				xmlhttp=false;
			}
		}
	}
	return xmlhttp;
}


/**
<summary>
Gets the response stream from the passed url, and then calls the callbackFuntion passing the response and the div_ids.
</summary>
<param name="url">The url to make the request to get the response data.</param>
<param name="callbackFunction">The function to call after the response has been recieved. the response <b>must</b> always be the first argument to the function.</param>
<param name="params"> (optional) Any other parameters you want to pass to the functions. (Note: only constants/strings/globals can be passed as params, most variables will be out of scope.) </param>
</summary>
<example>
	<code>
PassAjaxResponseToFunction('?getsomehtml=1', 'FunctionToHandleTheResponse', "\'div1\',\'div2\',\'div3\'');

function FunctionToHandleTheResponse(response, d1, d2, d3){
	var data = response.split(';');
	document.getElementById(d1).innerHTML = data[0];
	document.getElementById(d2).innerHTML = data[1];
	document.getElementById(d3).innerHTML = data[2];
}
	</code>
</example>
*/
function PassAjaxResponseToFunction(url, callbackFunction, params)
{		
  var xmlhttp = new GetXmlHttp();
  //now we got the XmlHttpRequest object, send the request.
  if (xmlhttp)
  {
	xmlhttp.	
    xmlhttp.onreadystatechange = function () 
                                {
	                                if (xmlhttp && xmlhttp.readyState==4)
	                                {//we got something back..
		                                if (xmlhttp.status==200)
		                                {
			                                var response = xmlhttp.responseText;
			                                var functionToCall = callbackFunction+'(response,'+params+')';
			                                if(debug){
				                                alert(response);
				                                alert (functionToCall);
			                                }
			                                eval(functionToCall);
		                                } else if(debug){
			                                document.write(xmlhttp.responseText);
		                                }
	                                }
                                }
    xmlhttp.open("GET",url,true);
    xmlhttp.send(null);
  }
}


/**
///<summary>
///Sets the innerHTML property of obj_id with the response from the passed url./
///</summary>
///<param name="url">The url to make the request to get the response data.</param>
///<param name="obj_id">The object or the id of the object to set the innerHTML for.</param>
*/
function SetInnerHTMLFromAjaxResponse(url, obj_id)
{		
  var xmlhttp = new GetXmlHttp();
  //now we got the XmlHttpRequest object, send the request.
  if (xmlhttp)
  {

    xmlhttp.onreadystatechange = function () 
                                {
	                                if (xmlhttp && xmlhttp.readyState==4)
	                                {//we got something back..
		                                if (xmlhttp.status==200)
		                                {
			                                if(debug){
				                                alert(xmlhttp.responseText);
			                                }
			                                if(typeof obj_id == 'object'){
				                                obj_id.innerHTML = xmlhttp.responseText;
			                                } else {
				                                document.getElementById(obj_id).innerHTML = xmlhttp.responseText;
												recalc_calenders(obj_id);
			                                }
		                                } else if(debug){
			                                document.Write(xmlhttp.responseText);
		                                }
	                                }
                                }
    xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
  }
}

function recalc_calenders(obj_id){
	//Loop through all calendar elements in object, which is a div with many forms
	for (var i = 0; i < document.forms.length; i++){
		for (var x=0;x<document.forms[i].elements.length ; x++)
		{
			var e = document.forms[i].elements[x];
			if(e.getAttribute('date')=='date_input'){
				var v_input = e;
			} else if(e.getAttribute('date')=='date_button'){
				var v_button = e;

				//Have both id's, setup cal
					  Calendar.setup(
						{
						  inputField  : v_input,		//ID of the input field
						  ifFormat    : "%d.%m.%Y",		//the date format
						  button      : v_button,		//ID of the button
						  showsTime   : false,
						  timeFormat  : "24"
						}
					  );
				v_input = null;
				v_button = null;
			}

		}
	}
}

/* End if AJAX functionality ----------------------------------------------- */

