function addPrinterLink(idContainer, urlAction, idEltToPrint, tabCss) {
	var eltForm = document.createElement('form');
	var eltHidden;
	var eltSubmit;
	var eltSpan;
	var eltPage = $$('.page')[0];
	if(Object.isString(tabCss)) {
		tabCss = tabCss.evalJSON(true);
 	}

	eltForm.target = 'myWindow';
	eltForm.action = urlAction;
	eltForm.method = 'post';
	
	tabCss.each(function(value, index) {
		eltHidden = document.createElement('input');
		eltHidden.type = 'hidden';
		eltHidden.value = str_replace('.css', '', value);
		eltHidden.name = 'cssToLoad[]';
		
		eltForm.appendChild(eltHidden);
 	});
	
	eltHidden = document.createElement('input');
	eltHidden.type = 'hidden';
	eltHidden.value = MODULE_NAME;
	eltHidden.name = 'currentPage[module]';
	
	eltForm.appendChild(eltHidden);
	
	eltHidden = document.createElement('input');
	eltHidden.type = 'hidden';
	eltHidden.value = ACTION_NAME;
	eltHidden.name = 'currentPage[action]';
	
	eltForm.appendChild(eltHidden);
	
	eltHidden = document.createElement('input');
	eltHidden.type = 'hidden';
	eltHidden.value = idEltToPrint;
	eltHidden.name = 'idElementToPrint';
	
	eltForm.appendChild(eltHidden);
	
	eltHidden = document.createElement('input');
	eltHidden.type = 'hidden';
	eltHidden.value = eltPage.id;
	eltHidden.name = 'idPage';
	
	eltForm.appendChild(eltHidden);
	
	eltSpan = document.createElement('span');
	eltSpan.appendChild(document.createTextNode('Imprimer cette page'));
	
	eltSubmit = document.createElement('a');
	eltSubmit.href = '#';
	eltSubmit.appendChild(eltSpan);
	eltSubmit.onclick = function() { submitPrint(eltForm); return false; };
	
	eltForm.appendChild(eltSubmit);

	$(idContainer).appendChild(eltForm);
}


function submitPrint(eltForm) {
	var url = '';
	var windowName = eltForm.target;
	var top = (screen.height - 550) / 2;
	var left = (screen.width - 750) / 2;
	var windowFeatures = '';

	windowFeatures += 'top='+top+', left='+left+', ';
	windowFeatures += 'height=550, width=800, ';
	windowFeatures += 'toolbar=no, menubar=yes, scrollbars=yes, ';
	windowFeatures += 'resizable=yes, location=yes, directories=no, status=no';
	
	window.open(url, windowName, windowFeatures);

	eltForm.submit();
}


function disableLinksAndForms() {
	var msg = 'Cet élément est désactivé sur l\'aperçu avant impression.';
	var i;
	var inputs = document.getElementsByTagName('input');
	var as = document.getElementsByTagName('a');
	var selects = document.getElementsByTagName('select');
	var textareas = document.getElementsByTagName('textarea');
	
	for(i = 0 ; i < inputs.length ; i++) {
		inputs[i].onclick = function() { alert(msg); return false; };
	}
	
	for(i = 0; i < as.length ; i++) {
		as[i].onclick = function() { alert(msg); return false; };
	}
	
	for(i = 0; i < selects.length ; i++) {
		selects[i].onclick = function() { alert(msg); return false; };
	}
	
	for(i = 0; i < textareas.length ; i++) {
		textareas[i].onclick = function() { alert(msg); return false; };
	}
}


function importPage(idElementToPrint) {
	var elementToPrint = window.opener.document.getElementById(idElementToPrint);
	var pageElement, popupPageElement;
	var contentWidth;
	var txtSource, txtDate, htmlBr;
	var aPrinter;
	
	if(elementToPrint) {
		
		contentWidth = (elementToPrint.offsetWidth + 8).toString() + 'px';
		
		document.getElementsByTagName('body')[0].style.width = contentWidth;

		pageElement = document.getElementsByClassName('page')[0];
		pageElement.style.width = contentWidth;

		document.getElementById('body').style.width = contentWidth;

		document.getElementById('header').style.width = contentWidth;

		document.getElementById('contentPopup').innerHTML = elementToPrint.innerHTML;
		document.getElementById('contentPopup').className = elementToPrint.className;
		document.getElementById('contentPopup').id = elementToPrint.id;

		txtSource = document.createTextNode('Source : ' + window.opener.location);
		txtDate = document.createTextNode('Date : ' + showDate());
		htmlBr = document.createElement('br');
		
		document.getElementById('footer').appendChild(txtDate);
		document.getElementById('footer').appendChild(htmlBr);
		document.getElementById('footer').appendChild(txtSource);

		disableLinksAndForms();

		aPrinter = document.createElement('a');
		aPrinter.id = 'pLink';
		aPrinter.appendChild(document.createTextNode('Imprimer cet article'));
		aPrinter.href = '#';
		aPrinter.className = 'flecheBleu';
		aPrinter.onclick = function() { print(); };
		
		document.getElementById('headerPrint').appendChild(aPrinter);
		
	} else {
		
		window.location.replace(window.opener.location);
		
	}
}

