/**
 * global opinion object
 */
	var Opinion = {
		saved: false,
		boxId: "opinionBox"
	};

/**
 * add opinion into document and load (via ajax) some remote content url into
 * @param int opinionId
 * @param string callbackUrl, url for an ajax call, the response of this call
 * will be loaded into overlay
 * Mostly used as onclick event.
 */
function showOpinionBox(opinionId,callbackUrl)
{
	var opinion = '<div id="'+Opinion.boxId+'">';
	opinion+= '</div>';

	//parent element - for new opinion it is link "add new"
	var parentElementId="opinionNewLink";
	//if opinion id is set, it means answer for opinion, we get parent opiniontext id
	if (opinionId>0) {
		parentElementId="opinionText"+opinionId;
	}

	//remove some opinion box if presented
	$('#'+Opinion.boxId).remove();
	//add newly created box after 
	$('#'+parentElementId).after(opinion);
	//load content for this box via ajax
	$('#opinionBox').load(callbackUrl,null,null);
}

/**
 * action callback function, which is called after the opinion is added,
 * this is set in the OpinionForm template, uses global opinionSaved
 * variable, which is set in the ajax response
 */
function opinionAfterAdd()
{
	if (Opinion.saved) {
		setTimeout(
			function(){
			$('#'+Opinion.boxId).remove();
				update_opinions(1);
			}
			,1000
		);
	}
}

/**
 * Deletes opinion via ajax call and reload opinion pagination component
 * @param strig callbackUrl url for ajax call
 * @param int pageNum current page number
 */
function deleteOpinion(callbackUrl,pageNum)
{
	//make ajax GET request
	$.get(callbackUrl,function(jsonData){
		//eval json response
		var response = eval("(" + jsonData + ")");
		if (response.status==1) {
			alert("Názor byl smazán");
		} else {
			alert("Chyba při mazání názoru");
		}
		//update page with opinions
		update_opinions(pageNum);
	});
}

/**
 * Jump into page with parent opinion
 * @param int pageNum page number
 * @param int parentId id of parent opinion
 */
function jumpToOpinion(pageNum,parentId)
{
	update_opinions(pageNum,function(){
		var opinionAchor="opinionId"+parentId;
		//move window into parent id anchor
		window.location.hash=opinionAchor;
	});
}