// Ept_Portale_Gen.js
// Libreria funzioni generiche PORTALE

/*
* Funzione di trasformazione : data una stringa con i relativi saparatori
* restituisce una matrice
*/
function FromStringToMatrix(_string, sep_riga, sep_colonna)
{
 	var _arrRow = _string.split(sep_riga);		
	var matrix;
	
	if(_string != "")
	{
	 	matrix = new Array();
			
	 	for(fstmCount=0; fstmCount<_arrRow.length; fstmCount++)
	 	{	
	 		matrix[fstmCount] = _arrRow[fstmCount].split(sep_colonna);
	 	}
	}		
 
 return matrix;

}

/**
* Funzione di trasformazione : data una matrice, restituisce una stringa con i separatori specificati
*/	
function FromMatrixToString(_matrix, sep_riga, sep_colonna)
{	
	var _nRighe = _matrix.length;
	var _string = "";

	for(fmtsCount1=_nRighe-1; fmtsCount1>-1; fmtsCount1--)
	{
		var _nColonne = _matrix[fmtsCount1].length;
		var _tmp_string = "";

		for(fmtsCount2=_nColonne-1; fmtsCount2>-1; fmtsCount2--)
			_tmp_string = _matrix[fmtsCount1][fmtsCount2] + sep_colonna + _tmp_string;

		_string = _tmp_string.substr(0,_tmp_string.length-1) + sep_riga + _string;
	}

	return 	_string.substr(0,_string.length-1);
}


// Funnzioni di Evidenziazione e Selezione -----------------------------------
function Evidenzia(NomeTabella, riga, nCelle, flagOut)
{
		var numRowOLD = parseInt(document.getElementById("txtRowEvidenzia").value);
		document.getElementById("txtRowEvidenzia").value = riga;
		
		for(i=0; i<nCelle ; i++)
		{
				document.getElementById(NomeTabella).rows(numRowOLD).cells(i).style.color= "blue";
				document.getElementById(NomeTabella).rows(numRowOLD).cells(i).style.background= "white"; 
		}

		for(i=0; i<nCelle ; i++)
		{
			document.getElementById(NomeTabella).rows(riga).cells(i).style.color= "blue";
			document.getElementById(NomeTabella).rows(riga).cells(i).style.background= "LemonChiffon";
		}
}
// Funzioni di Evidenziazione e Selezione -----------------------------------


// rileva il Sistema Operativo, il Browser e la sua versione 
// e set di variabili globali che contengano i risultati dello sniffing 
// Riceve:
// - messaggi (boolean):
//	 > true, visualizza i messaggi
//   > false, non visualizza alcun messaggio
// Ritorna:
// - true, browser supportato
// - false, browser non supportato
function ControlloSupportoBrowser(messaggi)
{
	SOWIN = (navigator.userAgent.toLowerCase().indexOf("win") > -1) ? 1 : 0; 
	SOMAC = (navigator.userAgent.toLowerCase().indexOf("mac") > -1) ? 1 : 0; 
	SOLIN = (navigator.userAgent.toLowerCase().indexOf("linux") > -1) ? 1 : 0; 
	SOALT = (!SOWIN && !SOMAC && !SOLIN) ? 1 : 0; 
	
	OP = ((ind1 = navigator.userAgent.indexOf("Opera")) > -1) ? 1 : 0; 
	punto = (OP) ? navigator.userAgent.indexOf(".",ind1):0; 
	OP5 = (OP && parseInt(navigator.userAgent.substr(punto-1)) == 5) ? 1 : 0; 
	OP6 = (OP && parseInt(navigator.userAgent.substr(punto-1)) == 6) ? 1 : 0; 
	OP7 = (OP && parseInt(navigator.userAgent.substr(punto-1)) == 7) ? 1 : 0; 
	
	IE = ((ind2 = navigator.appVersion.indexOf("MSIE")) > -1 && !OP) ? 1 : 0; 
	IE4 = (IE && parseInt(navigator.appVersion.substr(ind2+5)) == 4) ? 1 : 0; 
	IE5 = (IE && parseInt(navigator.appVersion.substr(ind2+5)) == 5) ? 1 : 0; 
	IE6 = (IE && parseInt(navigator.appVersion.substr(ind2+5)) >= 6) ? 1 : 0; 
	
	NN = (navigator.appName.indexOf("Netscape")>-1) ? 1 : 0; 
	NN4 = (NN && parseInt(navigator.appVersion)==4) ? 1 : 0; 
	NN6 = (NN && parseInt(navigator.appVersion)>4) ? 1 : 0; 
	
	OT = (!IE && !NN && !OP) ? 1 : 0;
	
	b_ret = true;
	if(OP && !OP7)
	{
		if(messaggi)
			alert('Versione minima Opera 7.0');
		b_ret = false;
	}
	else if(IE && !IE6)
	{
		if(messaggi)
			alert('Versione minima Internet Explorer 6.0');
		b_ret = false;
	}
	else if(NN && !NN6)
	{
		if(messaggi)
			alert('Versione minima Netscape Navigator 6.0');
		b_ret = false;
	}

	return b_ret;
}
// fine ControlloSupportoBrowser -----------------------------------------------
