/**
 * @author Panayiotis Bariamis
 */
var core = function() {}
core.version = 'JSCore version 1.0';
core.baseURL = '';
core.HEAD = document.getElementsByTagName("head").item(0);
core.importedFiles = [];
core.locale = "en";

(function () {
    var nodes = core.HEAD.childNodes;
	for(var i=0, len=nodes.length; i<len; i++) {
		var node = nodes[i];
		if (node.nodeType != 3 && node.tagName.toLowerCase() == "script") {
			var src = node.getAttribute("src");
			if(!src) { continue; }
			var m = src.match(/core.js/);
			if(m) {
				core.baseURL = src.substring(0, m.index);
				break;
			}
		}
	}
})();

function $lib(/*String*/file) {
	if (file != null && file != "" && typeof file == "string") {
		var exists = false;
		for(var i=0, len=core.importedFiles.length; i<len; i++) {
			if (core.importedFiles[i] == file) exists = true;
		}
		if (!exists) {
			core.importedFiles.push(file);
			var script = document.createElement("script");
			script.setAttribute("type", "text/javascript");
			script.setAttribute("language", "text/javascript");
			script.setAttribute("src", (core.baseURL + "lib/" + file + ".js"));
			core.HEAD.appendChild(script);
		}
	}
}

function $import(/*String*/pack) {
	if (pack != null && pack != "" && typeof pack == "string") {
		var exists = false;
		pack = pack.replace(/\./g, "/");
		pack += ".js";
		for(var i=0, len=core.importedFiles.length; i<len; i++) {
			if (core.importedFiles[i] == pack) exists = true;
		}
	
		if (!exists) {
			core.importedFiles.push(pack);
			var script = document.createElement("script");
			script.setAttribute("type", "text/javascript");
			script.setAttribute("language", "text/javascript");
			script.setAttribute("src", (core.baseURL + pack));
			core.HEAD.appendChild(script);
		}
	}
}

function $$import(/*String*/pack) {
	if (pack != null && pack != "" && typeof(pack) == "string") {
		var exists = false;
		pack = pack.replace(/\./g, "/");
		pack += ".css";
		for(var i=0, len=core.importedFiles.length; i<len; i++) {
			if (core.importedFiles[i] == pack) exists = true;
		}
		
		if (!exists) {
			core.importedFiles.push(pack);
			var style = document.createElement("link");
			style.setAttribute("rel", "stylesheet");
			style.setAttribute("type", "text/css");
			style.setAttribute("href", (core.baseURL + pack));
			core.HEAD.appendChild(style);
		}
	}
}

$lib("prototype");
$import("constants");
$import("lang");
$import("extensions");