// ----------------------------------------------------------------------------------------------------
// rating.js - Rating JavaScript Part
// ----------------------------------------------------------------------------------------------------
var RATING = {
	addControl : function(pageId,langId,parentId,currentRating,imgSrc) {
		var parent, intro, container, inner, sel, r, rated = 0;
		var label, textarea, submit, reset;

		if (parent = document.getElementById(parentId)) {
			intro = document.createElement('P');
			intro.innerHTML = 'Klicken Sie auf einen Stern und geben Sie uns Ihre Bewertung f&uuml;r diese Seite.';
			parent.appendChild(intro);
			
			container = document.createElement('DIV');
			container.id = 'Rating';
			container.onmouseout = function(event) {
				container.className = 'NotRating';
				RATING.setRating(inner,currentRating);
			};
			inner = document.createElement('DIV');
			for (r = 1; r <= 5; r++) {
				sel = document.createElement('SPAN');
				sel.onmouseover = function(inner,rating) {
					return function(event) {
						if (rated === 0) {
							container.className = 'NowRating';
							label.style.display = textarea.style.display = submit.style.display = reset.style.display = 'block';
							RATING.setRating(inner,rating,false);
						}
					};
				}(inner,r);
				sel.onclick = function(inner,rating) {
					return function(event) {
						submit.disabled = false;
						textarea.focus();
						RATING.setRating(inner,rating,true);
						rated = rating;
					};
				}(inner,r);
				img = document.createElement('IMG');
				img.src = imgSrc;
				sel.appendChild(img);
				inner.appendChild(sel);
			}
			RATING.setRating(inner,currentRating);
			container.appendChild(inner);
			parent.appendChild(container);
			
			label = document.createElement('LABEL');
			label.innerHTML = 'Ihr Kommentar zu dieser Seite (optional)';
			parent.appendChild(label);
			
			textarea = document.createElement('TEXTAREA');
			parent.appendChild(textarea);
			
			submit = document.createElement('BUTTON');
			submit.innerHTML = 'Bewertung abgeben';
			submit.disabled = true;
			submit.onclick = function(event) {
				var request = new AJAX.Request({
					url    : '/index.php5',
					method : 'POST',
					params  : {
						page    : pageId,
					    lang    : langId,
					    rating  : rated,
					    comment : textarea.value
					},
					onSuccess : function(text,xml) {
						label.style.display = textarea.style.display = submit.style.display = reset.style.display = 'none';
						intro.innerHTML = 'Vielen Dank f&uuml;r Ihre Bewertung.';
					}
				});
				request.submit();
			};
			submit.onfocus = function(event) {
				this.blur();
			};
			parent.appendChild(submit);
			
			reset = document.createElement('BUTTON');
			reset.innerHTML = 'Zur&uuml;cksetzen';
			reset.onclick = function(event) {
				if (textarea.value)
					textarea.value = '';
				label.style.display = textarea.style.display = submit.style.display = reset.style.display = 'none';
				for (sel = inner.firstChild, r = 1; r <= 5; sel = sel.nextSibling, r++) {
					sel.firstChild.className = 'None';
				}
				rated = 0;
			};
			reset.onfocus = function(event) {
				this.blur();
			};
			parent.appendChild(reset);
		}
	},
	setRating : function(inner,value,fix) {
		var sel, r;
		inner.className = 'Rated' + value;
		for (sel = inner.firstChild, r = 1; r <= 5; sel = sel.nextSibling, r++) {
			sel.className = (r <= value ? 'Rated' : 'NotRated');
			if (fix) {
				sel.firstChild.className = (r <= value ? 'Rated' : 'NotRated');
			}
		}
	}
};
// ----------------------------------------------------------------------------------------------------
// end of rating.js
// ----------------------------------------------------------------------------------------------------

