var HTML_Doc = document.getElementsByTagName("head").item(0);

var PP_JS_PATH = 'resources/js/';
var PP_CSS_PATH = 'resources/css/';
var PP_IMAGE_PATH = 'resources/images/';
var PP_FLASH_PATH = 'resources/flash/';

var _inc_files = Array(
	PP_JS_PATH + 'core.js',
	PP_JS_PATH + 'ajax.js',
	PP_JS_PATH + 'functions.js',
	PP_JS_PATH + 'swfobject.js',
	
	PP_CSS_PATH + 'stylesheet.css'
);


var jsError = {
	where : null,
	
	display : function(data,num) {
		var desc;
		if (typeof data == 'string') {
			desc = data;
		} else {
			desc = data.description;
			num = data.number & 0xffff;
		}
		
		var msg = '';
		msg += 'Description: ' + desc + '\n';
		if (num) msg += 'Number: ' + num + '\n';
		if (this.where) msg += 'Where: ' + this.where + '\n';
		alert(msg);
	}
}

var jsInit = {
	windowOnLoad : function(f) {
		var prev = window.onload;
		window.onload = function() { if(prev)prev(); f(); }
	},
	
	require : new Array(),
	
	load : function() {
		try {
			var filename,ext,file;
			
			for(var i=0; i<this.require.length; i++) {
				filename = this.require[i];
				ext = filename.substring(filename.lastIndexOf('.')+1);
				
				file = null;
				if (ext == 'js') {
					file = document.createElement('script');
					file.setAttribute('language','javascript');
					file.setAttribute('type','text/javascript');
					file.setAttribute('src',filename);
				} else if (ext == 'css') {
					file = document.createElement('link');
					file.setAttribute('rel','stylesheet');
					file.setAttribute('type','text/css');
					file.setAttribute('href',filename);
				}
				if (file) HTML_Doc.appendChild(file);
			}
		} catch(err) {
			jsError.where = 'jsInit';
			jsError.display(err);
		}
	}
}


jsInit.require = _inc_files;
jsInit.load();
