/*
 * listArticles.js
 * 
 * Effettua un controllo sul browser utilizzato
 * dall'utente. Nel caso si sia in presenza di
 * IE6 o IE7 viene presentato un messaggio (stile 
 * pop-up) di errore che notifica all'utente
 * alcune informazioni.
 * 
 * Prerequisiti: MooTools-1.2.4-core (http://mootools.net/)
 * 
 * 
 * NOTE
 * 1) IMPORTANTE: La versione MooTools-1.2 non riesce a riconoscere
 * correttamente il motore del browser. Usare MooTools-1.2.4+
 * 2) La funzione da chiamare per lanciare lo script è
 * checkBrowser().
 * 3) DEVE essere presente nella pagina HTML il tag
 * "noscript" che verra eliminato durante l'esecuzione
 * 
 * @author Sabatini Fabrizio
 * @version 0.2
 * @copyright 
 * @license 
 */


var whichOne = '';						//NON SETTARE QUESTO PARAMETRO (USO INTERNO)
var pathToCSSIE6 = 'js/warning/css/ie6.css';	//Indica il path relativo del file css
var pathToCSSIE7 = 'js/warning/css/ie7.css';	//	"		"		"		"		"

/**
 * Testa il browser per controllare la versione
 * ed il programma.
 * @returns {Boolean} True se IE6 o IE7
 */
function testBrowser(){
	
	if (Browser.Engine.trident){	
		var browserEngine = Browser.Engine.name || 'Unknown';
		var browserEngineVersion = Browser.Engine.version || 'Unknown';
		if (browserEngineVersion == 4) {
			whichOne = '6';
			return true;
		}
		if (browserEngineVersion == 5) {
			whichOne = '7';
			return true;
		}
		if (browserEngineVersion == 6) {
			/* IE 8 o superiore
			alert(navigator.userAgent);
			ie=(/MSIE (\d+\.\d+);/.test(navigator.userAgent))?1:0;
			var useragent = navigator.userAgent;
			var pos = useragent.indexOf('MSIE');
			if (pos > -1) {
				bVer = useragent.substring(pos + 5);
				var pos = bVer.indexOf(';');
				var bVer = bVer.substring(0,pos);
			}
			alert("ie"+bVer); //es 8.0
			*/
			whichOne = '8 o 9';
			return false;
		}
		return true;
	}
	else
		return false;
}


/**
 * Aggiunge il CSS del messaggio di warning
 */
function addCss(){
	
	var pathToCSS = '';
	
	if (whichOne == 6)
		pathToCSS = pathToCSSIE6;
	if (whichOne == 7)
		pathToCSS = pathToCSSIE7;
	
	var externalCss = new Element('link', {
		rel: 'stylesheet',
		type: 'text/css',
		href: pathToCSS
	});
	
	//Inserisci nel tag HEAD
	$$("head")[0].appendChild(externalCss);
}


/**
 * Crea il div del messaggio
 */
function addWarning(){
	
	var divWar = new Element('div', {id: 'warning'});
	var h4War = new Element('h4', {html: 'Attenzione stai utilizzando Internet Explorer '+whichOne});
	
	var pWar = new Element('p', {html: ''});
	if (whichOne == 6)
		pWar = new Element('p', {html: 'Questa versione di Internet Explorer presenta <strong>gravi problemi di sicurezza</strong> e gravi problemi di conformità agli standard del web.'});
	if (whichOne == 7)
		pWar = new Element('p', {html: 'Questa versione di Internet Explorer presenta <strong>problemi di sicurezza</strong> e alcuni problemi di conformità agli standard del web.'});
	
	var pWar2 = new Element('p', {
		html: 'Si consiglia per tanto di navigare con browser sicuri e conformi:'
	});
	
	//Elenco
	var list = new Element('ul');
	var listElementOne = new Element('li', {html: '<a href="http://www.mozilla-europe.org/it/firefox/" target="_blank">Firefox</a>'});
	var listElementTwo = new Element('li', {html: '<a href="http://www.google.com/chrome/index.html?hl=it" target="_blank">Chrome</a>'});
	var listElementThree = new Element('li', {html: '<a href="http://www.opera.com/browser/download/" target="_blank">Opera</a>'});
	var listElementFour = new Element('li', {html: '<a href="http://www.apple.com/it/safari/" target="_blank">Safari</a>'});
	
	list.appendChild(listElementOne);
	list.appendChild(listElementTwo);
	list.appendChild(listElementThree);
	list.appendChild(listElementFour);
	
	//
	var pWar3 = new Element('p', {
		html: 'oppure di aggiornare Internet Explorer all\'<a href="http://www.microsoft.com/italy/windows/internet-explorer/worldwide-sites.aspx" target="_blank">ultima versione</a>.'
	});
	
	var aWar = new Element('a', {
		href: '#',
		html: 'chiudi',
		events: {
        	'click': function(e) {
				this.getParent().dispose();
    		}
		}
	});
	
    //aWar.setAttribute("class", "chiudi");
	aWar.setAttribute("id", "chiudi");

	divWar.appendChild(h4War);
	divWar.appendChild(pWar);
	divWar.appendChild(pWar2);
	divWar.appendChild(list);
	divWar.appendChild(pWar3);
	divWar.appendChild(aWar);
    
	$$('noscript')[0].getParent().insertBefore(divWar,$$('noscript')[0]);
}


/**
 * Funzione di partenza della script.
 * Si occupa di lanciare le funzioni
 * ausiliarie.
 */
function checkBrowser(){
	var result = testBrowser();
	if (result){
		addWarning();
		addCss();
	}
    $$('noscript').dispose();	//Elimina il tag NOSCRIPT
}
