//include('cursorManager.js');
//include('autoCompleter.js');
//include('closer.js');
//include('semicolonPutter.js');
//include('indenter.js');
//include('undoRedoHandler.js');
//include('loadDefaultCodeHandler.js');
//include('saveCompileHandler.js');
//include('syntaxHighlighter.js');
//include('lineNumberer.js');

// TODO: document ready iken henuz richCodeEditor'ler gelmemis oluyor, geldikten sonra bu yapilmali!!!
$(document).ready(
	function(){
		$('.richCodeEditor').focus(
			function(){
				this.isFocused=true;
			}
		);
		
		$('.richCodeEditor').blur(
			function(){
				this.isFocused=false;
			}
		);
		
		$('.richCodeEditor').each(
			function(){
				var fileName = this.id.replace('_studentCodeColor','');
				// TODO: burasini basitlestirip manager icine (veya manager'i bunun icine)
				// hatta tercihen include'lar bile html'de degil de burada yapilabilinir!!
				
				// this.field_header burasi haric hicbir yerde kullanilmiyor!!!
				this.field_header = get(fileName+'_headerCodeColor');				
				this.field_trailer = get(fileName+'_trailerCodeColor');
				
				var header_code_line_count = numLines(this.field_header.innerText);
				if(this.field_header.innerText=='') header_code_line_count=0;
				var trailer_code_line_count = numLines(this.field_trailer.innerText);
				if(this.field_trailer.innerText=='') trailer_code_line_count=0;
				
				this.constant_code_line_count = header_code_line_count+trailer_code_line_count;		
				// TODO: bunu basitlestirip kaldir
				$(this).keyup();
			}
		);
		
		$('.headerCode').each(
			function(){				
				this.innerHTML = colorEverything(this.innerHTML/*.replace(/<\/[pP]>\s*<[pP]>/g,'<br/>')*/);
			}
		);
		$('.trailerCode').each(
			function(){
				this.innerHTML = colorEverything(this.innerHTML/*.replace(/<\/[pP]>\s*<[pP]>/g,'<br/>')*/);
			}
		);
	}
);



// GLOBAL variables for accessing from other frames
// (i.e.) compile output frame accesses to this frame for 
// highlighting erroneous lines:
var activeField;
function setCompileErrors(arr_error_line_numbers,arr_error_explanations){
	importCompileErrors(arr_error_line_numbers,arr_error_explanations,activeField);
}
