var how_many = 7;

/*****************************************************************************************
**																						**
**	updateResults																		**
**																						**
**	This function is called after a request for a new set of results is made. By this	**
**	point the resultsDiv should hold the response as an XML structure of individual		**
**	result objects. This XML is parsed, and the each result object is translated into a	**
**	TR. Finally, the results table's innerHTML is replaced with this collection of TRs.	**
**																						**
*****************************************************************************************/

function updateResults() {

    if(element == 'results')
    {

    //showReply("memberinfo" + id);

	//	Convenience variables for later
	var table = document.getElementById("memberinfo" + id);										//	Get the results table										//	Get the offset DIV,												//	And its numerical value
	var result_rows = "";																		//	Used to temporarily save the collection of table rows

	var programsarray = req.responseText.split('[|||]');
	
	var username = programsarray[0];
    var postcount = programsarray[1];
	var otherinfo = programsarray[2];															//	Remember how many programs there are
	
	

				result_rows +=	'<table class="fourth"><tr class="program_main" class="program_a">' +
								'<td colspan="2"><strong>' + username + '</strong></td></tr>' +
								'<tr><td>Post Count</td><td>' + postcount + '</td></tr>' +
								'<tr><td colspan="2">' + otherinfo + '</td></tr>' +
								'<tr><td colspan="2">[<a href="javascript: void(0); " onClick="showBlock(\'memberinfo' + id + '\'); ">Close</a>] [<a href="showmember.php?id=' + id + '">More</a>]</td>' +
								'</tr></table>';
								
    } //End if element equals results
    else if(element == 'subscribe')
    {
      table = document.getElementById("subscribe" + thethreadid);
      result_rows = req.responseText;
      if(result_rows == 'unsubscribed')
      {
        if(thethreadid == '')
        {
          result_rows = '<img border="0" src="subscribe.gif" alt="Subscribe to this Thread" title="Subscribe to this Thread" />'
        }else{
          result_rows = '<img border="0" src="post.gif" alt="*" />';
        }
      }else{
        if(thethreadid == '')
        {
          result_rows = '<img border=\"0\" src=\"unsubscribe.gif\" alt=\"Unsubscribe from this Thread\" title=\"Unsubscribe from this Thread\" />'
        }else{
          result_rows = '<img border="0" src="issubscribed.gif" alt="S" />';
        }
      }
    } //End if element equals subscribe
    else if(element == 'threads')
    {
      showReply("threads" + id);
      table = document.getElementById("threads" + id);
      img = document.getElementById("catimg" + id);
      img.src = 'catcur.gif';
      result_rows = req.responseText;
      
      for(var i=0; i < catArray.length; i++)
      {
        var aId = catArray[i];
        if(aId != id)
        {
          if(document.getElementById("threads" + aId).style.display = 'block')
          {
            showReply("threads" + aId);
            document.getElementById("catimg" + aId).src = 'cat.gif';
          }
        }
      }
    }
    else if(element == 'general')
    {
              //window.alert("Updating Results...");
      //table = document.getElementById(generalelementid);
	table = resultsDiv;
              //window.alert("About to receive the results");
      result_rows = req.responseText;
      if(generalcatid)
      {
        if(curcatid != 'subscribes' && curcatid != 'private' && curcatid != 'a')
        {
            document.getElementById('catimg' + curcatid).src = 'cat.gif';
        }
        divid = 'catdiv' + curcatid;
        document.getElementById(divid).style.display = 'none';
        
        curcatid = generalcatid;
        if(curcatid != 'subscribes' && curcatid != 'private')
        {
            document.getElementById('catimg' + curcatid).src = 'catcur.gif';
        }
        divid = 'catdiv' + curcatid;
        document.getElementById(divid).style.display = 'block';
      }
    }

              //window.alert("Insert into Div");













		table.innerHTML = result_rows;

//		alert(table.innerHTML);

              //window.alert("Done");
	
	}	//	End function updateResults

	
	function setOffset(off) {

		var offset_div = document.getElementById("offset");										//	Get the offset DIV,
		offset_div.innerHTML = off;																//	Set its content to the parameter

		updateResults();

		}	//	End function setOffset



	function nextResults() {
		var offset_node = document.getElementById("offset");
		if (parseInt(offset_node.innerHTML) < (num_programs-how_many)) {
			offset_node.innerHTML = parseInt(offset_node.innerHTML) + how_many;
			updateResults();
			}	

		}

	function prevResults() {
			updateResults();
		}

    /*
         This is called when a user profile is clicked in showthread.php
    */

	function parseMemberQuery(theID) {
        id = theID;
		var loc_url = "ajax/showmember.php?id=" + id;

		sendRequest(loc_url, 'results');
}

    /*
        This is called when a subscribe link is clicked in showthread.php
    */
    
    function parseSubscribeQuery(theID, threadid) {
      id = theID;
      if(threadid)
      {
        thethreadid = threadid;
      }
      generalloading = '';
      var loc_url = "post.php?thread=" + id + "&subscribe=1&ajax=1";
      
      sendRequest(loc_url, 'subscribe');
    }
    
    /*
    
        Get list of threads in a category
        
    */
    
    function parseThreadsQuery(catID) {
      id = catID;
      window.alert(catID);
      var loc_url = "threads.php?num=" + catID + "&ajax=1";
      
      sendRequest(loc_url, 'threads');
    }

    function ajax(url, elementid)
    {
	//if (window.XMLHttpRequest)
       //{
      		//document.getElementById(elementid).style.display = 'block';
       //}
      sendRequest(url, 'general', elementid);
	//if (window.XMLHttpRequest)
       //{
      		//document.getElementById(elementid).style.display = 'block';
       //}
	if (window.XMLHttpRequest)
       {
      		new Effect.Appear(generalelementid);
	}else{
		document.getElementById(generalelementid).style.display = 'block';
	}
      //document.getElementById(elementid).innerHTML = "";
      return false;
    }

    function hide(elementid)
    {
      new Effect.Fade(elementid);
    }

    function displayFeature(id)
    {
      sendRequest('showfeature.php?ajax=1&id=' + id, 'general', 'feature' + id);
	if (window.XMLHttpRequest)
       {
      		new Effect.Appear(generalelementid);
	}else{
      		new Effect.Appear(generalelementid);
	}
    }
    
    function parseGeneralQuery(url, elementid, loading, showhide, catid)
    {
      generalcatid = catid;
      generalshowhide = showhide;
      generalloading = loading;
      generalloading = generalloading;
      if(generalshowhide == true)
      {
        showReply(elementid);
      }
      document.getElementById(elementid).innerHTML = loading;
      sendRequest(url, 'general', elementid);
    }
    
    function validatepostdata(field)
    {
      generalloading = '';
      generalelementid = field + 'error';
      thevalue = document.getElementById(field).value;
      
      url = 'validatepost.php?field=' + field + '&value=' + thevalue;
      
      sendRequest(url, 'general', generalelementid);
    }
