var tpi_base_url	= 'http://ns303150.ovh.net/~ns303150/Transilien_PackInstitutionnel/web/';
var tpi_my_url		= tpi_base_url + 'js/widget.js';
var tpi_c_broker;
var tpi_t_broker;


function tpi_injectJavascript(url)
{
	var el	= document.createElement('script');
	el.type	= 'text/javascript';
	el.src	= url;
	document.getElementsByTagName('head').item(0).appendChild(el);
}

function tpi_injectStylesheet(url)
{
	var el	= document.createElement('link');
	el.rel	= 'stylesheet';
	el.type	= 'text/css';
	el.href	= url;
	document.getElementsByTagName('head').item(0).appendChild(el);
}

tpi_injectJavascript(tpi_base_url + 'js/config.js');
tpi_injectJavascript(tpi_base_url + 'js/lib.js');
tpi_injectJavascript(tpi_base_url + 'vendor/CalendarInit.js');
tpi_injectJavascript(tpi_base_url + 'vendor/CalendarPopup.js');
tpi_injectJavascript(tpi_base_url + 'js/ajast.js');
tpi_injectStylesheet(tpi_base_url + 'vendor/CALcss.css');
tpi_injectStylesheet(tpi_base_url + 'css/common.css');

var tpi_options = tpi_loadOptions();

function tpi_getScriptNode()
{
	var scripts = document.getElementsByTagName('script');
	for (var i = 0; i < scripts.length; i++) {
		if (scripts[i].src.match(tpi_my_url)) {
			var script = scripts[i];
			break;
		}
	}
	return (script) ? script : false;
}

function tpi_loadOptions()
{
	var script = tpi_getScriptNode();
	if (script == false) return;
	var raw_options = script.src.substr(script.src.lastIndexOf('.js')+3);
	raw_options = raw_options.replace(/\?/g, '&');
	var t_options = raw_options.split('&');
	var options = new Object();
	for (var i = 1; i < t_options.length; i++) {
		var option = t_options[i].split('=');
		var val = option[1].toString().replace(/#/g, '');
		options[option[0]] = val;
	}
	return options;
}

var tpi_xt_broker;
function tpi_initWidget()
{
	if (typeof(OX) !== 'undefined' && typeof(tpi_config) !== 'undefined' && typeof(tpi_version) !== 'undefined') {
		window.clearInterval(tpi_interval);
		
		tpi_c_broker = new OX.AJAST.Broker(
			tpi_base_url + tpi_config.application.php_url,
			'tpi_credentialsCallback',
			true,
			5000
		);
		tpi_t_broker = new OX.AJAST.Broker(
			tpi_base_url + tpi_config.application.php_url,
			'tpi_InfosTraficCallback',
			true,
			5000
		);
		
		tpi_injectUI();
		
	}
}

var tpi_interval = window.setInterval(tpi_initWidget, 200);
