var FDCPLoader = {

	loaded: false,

	cpc: (typeof cleanprintConfiguration == 'undefined' ? null : cleanprintConfiguration),

	getCfg: function(ckey, cdef) {
		if(this.cpc != null && typeof this.cpc[ckey] != 'undefined')
			return this.cpc[ckey];
		return cdef;
	},

	getJsUrl: function() {

		var snodes = document.getElementsByName('cleanprintloader');
		var url = "";

		if(snodes.length > 0) {
			url = snodes[0].src;
		}
		else {

			snodes = document.getElementsByTagName('SCRIPT');

			for(var i = 0; i < snodes.length; i++) {
				if(snodes[i].name == 'cleanprintloader') {
					url = snodes[i].src;
					break;
				}
			}
		}

		if(url.search(/\/[^/]*$/) != -1)
			url = url.replace(/[^/]*$/,"");
		else
			url = "";

		url += 'cp.js';

		return url;
	},

	loadcp: function() {

		if(!this.loaded) {
			this.loaded = true;

			var jsloc = this.getCfg('codeBase', null);

			if(jsloc == null)
				jsloc = this.getJsUrl();

			var e = document.createElement('script');
			e.src = jsloc;
			e.type = 'text/javascript';
			document.getElementsByTagName("head")[0].appendChild(e);
		}
	}
}

if (window.addEventListener) {
	window.addEventListener("load", function() { FDCPLoader.loadcp(); }, true);
}
else if (window.attachEvent) {
	window.attachEvent("onload", function() { FDCPLoader.loadcp(); });
}
