/*
**************************************************************************
 Dies ist UNVEROEFFENTLICHTER URHEBERRECHTLICH GESCHUETZTER QUELLCODE der
 eWerk IT GmbH, der Inhalt dieser Datei darf ohne die ausdrueckliche
 Erlaubnis der eWerk IT GmbH nicht an Dritte weitergegeben, kopiert oder
 in sonstiger Form, im Ganzen oder in Teilen weitergegeben werden.

 Eine Weitergabe an Dritte, oder Veraenderungen am Programm duerfen nur
 mit ausdruecklicher Genehmigung der eWerk IT GmbH erfolgen.

 Copyright 2007-2008, eWerk IT GmbH,
 Alle Rechte vorbehalten

 This is UNPUBLISHED PROPRIETARY SOURCE CODE of eWerk IT GmbH, the
 contents of this file may not be disclosed to third parties, copied or
 duplicated in any form, in whole or in part, without the prior written
 permission of eWerk IT GmbH.

 Distribution to a third party or changes at the data file are only
 allowed with the explicit permission of eWerk IT GmbH.

 Copyright 2007-2008, eWerk IT GmbH,
 All rights reserved
***************************************************************************/

/**
 * 
 * Leipzig Liest Webseite: Bookfair Comments - AJAX Client
 * 
 * This JavaScript file holds the client side logic of comment bookfair events
 * 
 * @package    module:product
 * @version    $Id: bookfair_comment.js,v 1.1.2.4 2008/02/18 17:28:23 a.kurfuerst Exp $
 * @author     Michael Werner <m.werner@ewerk.com>
 * @copyright  2007-2008 eWerk IT GmbH
 */
	
	/*
	* - could be used for debugging an object
	*
	* @params	object 	$obj
	*/
	function vardump(obj) 
	{
	    var a= new Array();
	    for (var p in obj) a[a.length]= p;
	    	a.sort();
	    var w= window.open ('','vardumper');
	    w.document.write('<dl><dt>'+obj+'</dt>');
	    for (var i=0; i<a.length; i++) w.document.write('<dd>'+a[i]+'<i>= '+obj[a[i]]+'</i></dd>');
	    w.document.write('</dl>');
	    w.document.onclick= function () {w.close();};
	}
	
	/*
	* - remove empty space
	*
	* @params	string $s
	* @see		addUserComment
	*/
	function trim(s) 
	{
	  while (s.substring(0,1) == ' ') 
	  {
	    s = s.substring(1,s.length);
	  }
	  
	  while (s.substring(s.length-1,s.length) == ' ') 
	  {
	    s = s.substring(0,s.length-1);
	  }
	  
	  return s;
	}
	
	/********************************************************************/
	/*																    */
	/*			  	Step: load, insert + update comments			    */
	/*			  	@see: template bookfair_showDetail				    */
	/*			  	-> set variable: server_path_event_showdetail	    */
	/*																    */
	/********************************************************************/
	
	
    /*
	* AJAX-REQUEST
	* - get comments for first load
	*
	* @author 	Michael Werner <m.werner@ewerk.com>
	* @uses		showEventComments (RESPONSE)
	*/
	function getComments(prefix, bookfair_id) 
	{
		var params  = prefix+"[action]=load_comments";
			params += "&"+prefix+"[bookfair_id]="+bookfair_id;
			params  = params.replace(/\[/g,"%5B");
			params  = params.replace(/\]/g,"%5D");
					
		new Ajax.Request(server_path_event_showdetail, 
			   {method: "post", 
				parameters: params,
				onSuccess: showEventComments});
	}
	
	/*
	* AJAX-REQUEST
	* - insert/update user comments
	* 
	* @author 	Michael Werner <m.werner@ewerk.com>
	* @uses     showEventComments (RESPONSE)
	* @uses	    trim (above)
	* @params   string $prefix
	*/
	function addUserComment(prefix) 
	{
		var params  = prefix+"[action]=add_user_comment";
			params  = params.replace(/\[/g,"%5B");
			params  = params.replace(/\]/g,"%5D");
		
		var comment = $('comment_title_area').value;
		var title   = $('comment_text_area').value;    
		
		//trim strings
		comment = trim(comment);
		title   = trim(title);
		
		if (comment == "" || title == "" )
		{
			$('commentError').style.display = 'block';
			return false;
		}
		else
		{
			$('commentError').style.display = 'none';
		}
			
		//add all form elements as parameters
		params += "&"+Form.serialize('userCommentForm');

		//action: insert/update user voting
		new Ajax.Request(server_path_event_showdetail, 
						   {method: "post", 
							parameters: params,
							onSuccess: showEventComments});
	}
	
	/*
	* AJAX-RESPONSE
	* - set rendered tpl-code into div 'showTagCloudResult'
	* - see 'bookfair_showDetail_tags_ajax'
	*
	* @author 	Michael Werner <m.werner@ewerk.com>
	* @see 		getComments
	* @see 		setUserRating
	*/
	function showEventComments(request)
	{
		var response = request.responseXML;
		
		//use it for mozilla debugging
		//console.log(response);	
		
		//get first level of main variables
		for (var i = 0; i < response.childNodes[0].childNodes.length; i++)
		{
			switch (response.childNodes[0].childNodes[i].tagName)
			{
				case 'html':
					var html = response.childNodes[0].childNodes[i].textContent;
					if (html == undefined) html = response.childNodes[0].childNodes[i].text;
					$('showCommentResult').innerHTML = html;
				break;
			}
		}
		
		return true;
	}
