leadLabs = function(){

	var base_url;
	var piwik_id = piwikTracker.getVisitorId();
	var headElement = document.getElementsByTagName("head")[0];
	var base_url = 'http://www.leadlabs.nl/';
	var json_url = base_url + 'interceptor/orders/' + piwik_id;

	function loadJSON(url) {
		var scriptEl = document.createElement('script');
		var scriptID = 'leadLabsScript';  
		scriptEl.type = 'text/javascript';
		scriptEl.src = url;
		scriptEl.id = scriptID;
		headElement.appendChild(scriptEl);
	}
	
	function loadCSS() {
		var cssId = 'leadlabsCss';  
		var link  = document.createElement('link');
		link.id   = cssId;
		link.rel  = 'stylesheet';
		link.type = 'text/css';
		link.href = base_url+'static/interceptor/css/style.css';
		link.media = 'all';
		headElement.appendChild(link);
	}

	function check(data) {
		if(data.urls.indexOf(document.URL) > -1) {
			intercept()
		} else {
		}
	}

	function startInterception(page_id,title) {
		var overlay = document.createElement('div');
		overlay.id = 'leadlabs_overlay';
		overlay.onclick = leadLabs.stopInterception;

		var container = document.createElement('div');
		container.id = 'leadlabs_container';

		var header = document.createElement('div');
		header.className = 'modal-header';
		header.id = 'leadlabs_modal-header';
		
		var h3 = document.createElement('h3');
		h3.id = 'leadlabs_h3';
		var h3_text = document.createTextNode(title);
		
		var close = document.createElement('img');
		close.src = base_url + 'static/interceptor/images/close.png';
		close.id = 'leadlabs_close';
		close.onclick = leadLabs.stopInterception;

		var box = document.createElement('div');
		box.id = 'leadlabs_box';

		var iframe = document.createElement('iframe');
		iframe.id = 'leadlabs_iframe';
		iframe.src = base_url + "interceptor/" + page_id + "/lead/" + piwik_id;
		iframe.scrolling = 'no';
		iframe.frameBorder = '0';

		var b = document.getElementsByTagName('body')[0]; 

		b.appendChild(overlay);
		b.appendChild(container);
		container.appendChild(header);
		container.appendChild(box);
		header.appendChild(close);
		h3.appendChild(h3_text);
		header.appendChild(h3);
		box.appendChild(iframe);

	}

	return {

    init: function() {
			loadJSON(json_url);
			loadCSS();
		},

		executeOrder: function(data) {
			if(data.action == 'intercept') {
				startInterception(data.page_id,data.title);
			}
		},
		
		stopInterception: function() {
			if (o = document.getElementById('leadlabs_overlay'))
				o.style.display = 'none';
			if (c = document.getElementById('leadlabs_container'))
				c.style.display = 'none';
		}

	}
}();

window.onload = function() { // window.onload kan later overschreven worden
	leadLabs.init();
}

window.onkeydown = function(e) { 
	keycode = e.which; 
	if (keycode == 27) 
		leadLabs.stopInterception();
}

