/*!
	Shoutbox
	(c) 2011 Martin Kozianka <http://kozianka-online.de>
*/

var Shoutbox = (function() {

return {

	refresh: function(shoutbox_id) {
		var id = 'shoutbox';
		var objRequest = new Request.HTML({
			method: 'get',
			url: $(id).getElement('form').get('action'),
			update: $(id).getElement('ul')
        }).send();
	},
	

	insertAtCursor: function(myField, myValue) {

		if (document.selection) {
			// IE
			myField.focus();
			sel = document.selection.createRange();
			sel.text = myValue;
		}
		
		else if (myField.selectionStart || myField.selectionStart == '0') {
			// Mozilla
			var startPos = myField.selectionStart;
			var endPos = myField.selectionEnd;
			myField.value = myField.value.substring(0, startPos)
			+ myValue
			+ myField.value.substring(endPos, myField.value.length);
		} else {
			myField.value += myValue;
		}
	},
	
		
	init: function(shoutbox_id) {
		// add ajax parameter and submit event
		var theForm = $(shoutbox_id).getElement('form').set('action', '?shoutbox_ajax=1');
		

		$$('div.smiley_legend ul.smiley_list span').addEvent('click', function() {
    			Shoutbox.insertAtCursor(document.getElementById(shoutbox_id+'_textarea'), ' '+this.title);
		});
		
		theForm.addEvent('submit', function(e) {
			// Prevent the submit event
			new Event(e).stop();

 			var entries = $(shoutbox_id).addClass('ajax-loading').getElement('ul').empty();

			new Request.HTML({
				onComplete: function() {
					// clear textarea
					$(shoutbox_id).getElement('textarea').set('value', '');
				},
				url: theForm.get('action'),
				update: entries
			}).post(theForm);
 
 		
		});
	}

};

})();

