var position = new Class({
	initialize: function() {
		
	},
	
	getCaret: function(el) { 
		if (el.selectionStart) { 
			return el.selectionStart; 
		} else if (document.selection) { 
			el.focus(); 
			var r = document.selection.createRange(); 
			if (r == null) { 
				return 0; 
			}
			var re = el.createTextRange(), 
			rc = re.duplicate(); 
			re.moveToBookmark(r.getBookmark()); 
			rc.setEndPoint('EndToStart', re); 
			return rc.text.length; 
		}
		return 0; 
	},
	
	setCaret: function(obj,val) {
		var num = 0;
		num = this.getCaret(obj);
		var str = obj.value.substring(0, num) + val +  obj.value.substring(num, obj.value.length);
		var selector_length = (obj.value.substring(0, num) + val).length;
		obj.value = str;
		this.setCursor(obj,selector_length,selector_length);
		return true;
	},
	
	setCursor: function(el,st,end) {
		if(el.setSelectionRange) { 
			el.focus(); 
			el.setSelectionRange(st,end); 
		} else { 
			if(el.createTextRange) { 
				range=el.createTextRange(); 
				range.collapse(true); 
				range.moveEnd('character',end); 
				range.moveStart('character',st); 
				range.select();
			} 
		}
	}
});
var pos = new position();

window.addEvent("domready",function(){	
	$$('textarea.js').each(function(el) {
		editAreaLoader.init({
			id: el.get('id')
			,start_highlight: true
			,allow_resize: "both"
			,allow_toggle: false
			,word_wrap: false
			,language: "nl"
			,syntax: "js"
			,toolbar: "undo,redo,|,search,go_to_line,|,kcfinder_press"
			,plugins: "kcfinder"
		});
	});
	$$('textarea.css').each(function(el) {
		editAreaLoader.init({
			id: el.get('id')
			,start_highlight: true
			,allow_resize: "both"
			,allow_toggle: false
			,word_wrap: false
			,language: "nl"
			,syntax: "css"
			,toolbar: "undo,redo,|,search,go_to_line,|,kcfinder_press"
			,plugins: "kcfinder"
		});
	});
	$$('textarea.phtml').each(function(el) {
		editAreaLoader.init({
			id: el.get('id')
			,start_highlight: true
			,allow_resize: "both"
			,allow_toggle: false
			,word_wrap: false
			,language: "nl"
			,syntax: "html"
			,toolbar: "undo,redo,|,search,go_to_line,|,kcfinder_press"
			,plugins: "kcfinder"
		});
	});
});
