/**
 * - - - POTREBUJE KNIHOVNU PROTOTYPE - - -
 **/

/**
 * function ratingSetVote() - AJAXova obsluha bodovani
 * 		- pouzije se href adresa (bezskriptova verze), rozparsuji se parametry
 * 		- vytahne se doplnujici INPUT s parametry sablony
 * 		- provede se hlasovani a nahradi DIV bodovani novym ze sablony
 *
 * @param string url href odkazu
 */
function ratingSetVote(url) {
	var url_par = url.toQueryParams();	// parsovani parametru (uid, points, back)
	var tpl_par = $('rating_params_'+url_par.uid).value.evalJSON();	// parametry sablony z input ID="rating_params_[uid_hodnoceni]" (name, dir, snap)

	new Ajax.Request("/tools/rate.mod.php",
		{
		method: 'get',
		parameters: {
			uid: url_par.uid,
			points: url_par.points,
			back: url_par.back,
			template: tpl_par.name,
			template_dir: tpl_par.dir,
			scale_snap: tpl_par.snap
		},
		onComplete: function(transport) {
			var js = transport.responseText.evalJSON();
			if (js.html) $('rating_'+js.uid).replace(js.html);	// nahrazeni DIVu novym
			else $('rating_'+js.uid).remove();					// odstraneni DIVu - pokud nema byt hodnoceni zobrazene
			if (js.err) alert('Chyba při hlasování: #'+js.err);	// chyba hlasovani - nepodarilo se provest hlasovani
			rating();	// opet pridame na nove vytvorene A REL onclick udalost
		}
		});
};

/**
 * function rating() - prepis noscript verze na AJAX (pridava onclick udalost)
 * 		- pro vsechny A REL="rating" prida onclick=ratingSetVote(anchor.href);
 * 		- odstrani REL parametr (aby se pozdeji zbytecne neprepisovaly uz jednou prepsane odkazy - v pripade vice hodnoceni na strance)
 */
function rating() {
	var anchors = $$('a[rel=rating]');
	for (var i=0; i<anchors.length; i++){
		var anchor = anchors[i];
		anchor.onclick = function () { ratingSetVote(this.href); return false; }
		anchor.removeAttribute('rel');
	}
}

// prepsani vsech A REL="rating" ve strance po natazeni stranky
addDOMLoadEvent(rating);

