/**
*	core.js
*---------------------------------------------
*	Loading of all needed script files and various help functions
*	Authors: Stefan Kovachev, Patrick Reichert
*/

var core = function (){
	// PRIVATE
	// Skriptordner
	var sScriptDir = "js/"
	
	// debuggin is enabled ?
	var debugEnabled = false
	
	// Skriptendung
	var sScriptExt = ".js"
	
	// Library dir
	var libDir = "lib/"
	
	// array beinhaltet alle skripte die fuer die normale benutzer geladen werden sollen
	var aScripts = []
	
	// includiert eine Skriptdatei
	function includeScript(pathToScript){
		document.write("<script type=\"text/javascript\" src=\""+sScriptDir+pathToScript+sScriptExt+"\"></script>");
	}
	
	/**
	*	Loads all additional scripts
	*/
	function doIncludes() {
		if (!document) return;
		document.open();
		for (var i=0; i<aScripts.length; i++){
			includeScript(aScripts[i]);
		}
		document.close();
	};
	
	// add custom jquery extensions
	function addExtensions(){
		jQuery.fn.log = function(message){
			if (message){
				core.debug(message+" "+this);
			} else {
				core.debug(this);
			}
			return this;
		};
	};
	
	// initialize and load scripts
	function init() {
		aScripts = [
			/*libDir/+"testUserDevice",*/
			"data",
			libDir+"jquery-1.2.4a",
			libDir+"ui.base",
			libDir+"ui.slider",
			//libDir+"ui.tabs",
			libDir+"thickbox",
			//libDir+"jquery.dimensions",
			//libDir+"jquery.tooltip.pack",
			//libDir+"jquery.center",
			libDir+"jquery.blockUI",
			//libDir+"jqDnR",
			//libDir+"jqModal",
			//libDir+"jquery.slider",
			//libDir+"ui.datepicker",
			libDir+"Clusterer2",
			libDir+"swfobject",
			libDir+"FusionCharts",
			/*libDir/+"jquery.wresize",*/
			libDir+"EWindow",
			libDir+"yslider2",
			libDir+"elabel",
			"text",
			"gmaps",
			"controls",
			"queries",
			//libDir+"interface",
			"stats",
			"main"
		];
		doIncludes();
	};
	
	init();
	
	// PUBLIC
	return {
		// debugging
		debug : function(output){
			if (debugEnabled && $.browser.mozilla){
				console.log(output);
			}
		},
		
		addExtensions : addExtensions
	}
}()
