function ltrim (lstr) {
	var i = 0;
	var j = lstr.length - 1;
	if (lstr == null) return (false);
	for (i = 0; i < lstr.length; i++) {
		if (lstr.substr(i, 1) != ' ' && lstr.substr(i, 1) != '\t') break;
	}
	if (i <= j) return (lstr.substr(i, (j+1)-i));
	else return ('');
}

function rtrim (lstr) {
	var i = 0;
	var j = lstr.length - 1;
	if (lstr == null) return (false);
	for(j = lstr.length - 1; j >= 0; j--) {
		if (lstr.substr(j, 1) != ' ' && lstr.substr(j, 1) != '\t') break;
	}
	if (i <= j) return (lstr.substr(i, (j+1)-i));
	else return ('');
}

function trim (lstr) {
	if (lstr == null) return (false);
	return ltrim(rtrim(lstr));
}

function isAlphabeticChar (InString) {
	if(InString.length != 1) return (false);
	InString = InString.toLowerCase();
	RefString = 'abcdefghijklmnopqrstuvwxyz';
	if (RefString.indexOf (InString.toLowerCase(), 0) == -1) return (false);
	return (true);
}

function isNumOrChar (InString) {
	if(InString.length != 1) return (false);
	InString = InString.toLowerCase();
	RefString = '1234567890abcdefghijklmnopqrstuvwxyz';
	if (RefString.indexOf (InString, 0) == -1) return (false);
	return (true);
}

function isNumberChar (InString) {
	if(InString.length != 1) return (false);
	RefString = '1234567890';
	if (RefString.indexOf (InString, 0) == -1) return (false);
	return (true);
}

function fCheckNumOrChar (InString) {
	if(InString.length == 0) return false;
	for (Count = 0; Count < InString.length; Count ++) {
		if (! isNumOrChar (InString.substring(Count, Count+1))) return (false);
	}
	return (true);
}

function isPositNumber (InString) {
	for (Count = 0; Count < InString.length; Count ++) {
		if (!isNumberChar(InString.substring(Count, Count+1))) return (false);
	}
	return (true);
}

function IsDecMaxCharOK (Importo, NrDec) {
	Importo = Importo.replace(',', '.');
	var NrDecImp = 0;
	var PosVirg = Importo.lastIndexOf('.');
	if (PosVirg < 0) return true; else NrDecImp = Importo.length - PosVirg - 1;
	if (NrDecImp > NrDec) return false; else return true;
}

function IsEMail (lstEMail) {
//	if (Number(ScriptEngineMajorVersion() + '.' + ScriptEngineMinorVersion()) >= 5) {
		var regEx = /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/i;
		var Ret = lstEMail.search(regEx);
		if (Ret == -1) return false; else return true;
//	}
//	else if (lstEMail.indexOf('@') == -1) return false; else return true;
}

function fContaNrGiorni (MM, AA) {
	var dDate = new Date(MM +'/01/'+ AA)
	var dt1, cmn1, dtt, lflag, dycnt
	var temp1 = dDate.getMonth() + 1;
	var temp2 = dDate.getYear();
	dt1 = new Date(temp2, temp1 - 1, 1)
	cmn1 = dt1.getMonth()
	dtt = dt1.getTime() + 2332800000
	lflag = true
	dycnt = 28
	while (lflag) {
		dtt = dtt + 86400000
		dt1.setTime(dtt)
		if (cmn1 != dt1.getMonth()) lflag = false
		else dycnt = dycnt + 1;
	}
	if (dycnt > 31) dycnt = 31;
	return dycnt;
}

function fCheckTextLen (LenText, objText, objCount) {
	if (objText.value.length > LenText) {
		objText.value = objText.value.substring(0, LenText);
		charleft = 0;
	}
	else charleft = LenText - objText.value.length;
	objCount.value = charleft;
}

function fOpenWindow (lstFile, lstFormName, linLeft, linTop, linWidth, linHeight) {
	var lForm = window.open(lstFile, lstFormName, 'left='+ linLeft +',top='+ linTop +',width='+ linWidth +',height='+ linHeight +',menubar=no,status=no,scrollbar=auto,resizable=yes');
	lForm.document.close();
	lForm.focus();
	return lForm;
}

function fOpenScrollableWindow (lstFile, lstFormName, linLeft, linTop, linWidth, linHeight) {
	var lForm = window.open(lstFile, lstFormName, 'left='+ linLeft +',top='+ linTop +',width='+ linWidth +',height='+ linHeight +',menubar=no,status=no,resizable=yes,scrollbars=yes');
	lForm.document.close();
	lForm.focus();
	return lForm;
}

function fMostraImg (lstNomeForm, lstTitoloForm, lstImg) {
	var lForm = fOpenWindow ('', lstNomeForm, 0, 0, 640, 480)
	lForm.document.write('<HTML><HEAD><TITLE>'+ lstTitoloForm +'</TITLE></HEAD><BODY>');
	lForm.document.write('<CENTER><IMG BORDER=0 SRC="'+ lstImg +'" TITLE="'+ lstTitoloForm +'" ALT="'+ lstTitoloForm +'" ONLOAD="window.resizeTo(this.width+50, this.height+60)"></CENTER>');
	lForm.document.write('</BODY></HTML>');
	lForm.document.close();
	lForm.focus();
}

function fLeggiOra () {
	fLeggiData();
	var ora = new Date();
	var hh = ora.getHours();
	var mm = ora.getMinutes();
	var ss = ora.getSeconds();
	var hh2 = ((hh < 10) ? '0' : '');
	var mm2 = ((mm < 10) ? ':0' : ':');
	var ss2 = ((ss < 10) ? ':0' : ':');
	var orario = '<CENTER><B>'+ hh2 + hh + mm2 + mm + ss2 + ss +'</B></CENTER>';
	if (document.layers) {
		document.layers.OraCorrente.document.write(orario);
		document.layers.OraCorrente.document.close();
	}
	else if (document.all) OraCorrente.innerHTML=orario;
	else if (document.getElementById) document.getElementById("OraCorrente").innerHTML=orario;
	window.setTimeout('fLeggiOra()',1000);
}

function fLeggiData () {
	var ListaMesi = new Array('Gennaio', 'Febbraio', 'Marzo', 'Aprile', 'Maggio', 'Giugno', 'Luglio', 'Agosto', 'Settembre', 'Ottobre', 'Novembre', 'Dicembre');
	var ggWeek = new Array('Domenica', 'Lunedì', 'Martedì', 'Mercoledì', 'Giovedì', 'Venerdì', 'Sabato');
	var DataOdierna = new Date();
	var yy = DataOdierna.getYear();
	var yyyy = (yy < 1000) ? yy + 1900 : yy;
	var datacompl = '<CENTER><B>'+ ggWeek[DataOdierna.getDay()] +'<BR>'+ DataOdierna.getDate() +' '+ ListaMesi[DataOdierna.getMonth()] +' '+ yyyy +'</B></CENTER>';
	if (document.layers) {
		document.layers.DataCorrente.document.write(datacompl);
		document.layers.DataCorrente.document.close();
	}
	else if (document.all) DataCorrente.innerHTML=datacompl;
	else if (document.getElementById) document.getElementById("DataCorrente").innerHTML=datacompl;
}

function fSelAll_CheckBox (objForm, CheckBoxName, lboChecked) {
	for (var i = 0; i <= objForm.elements.length-1; i++) {
		if (objForm.elements[i].name == CheckBoxName) objForm.elements[i].checked = lboChecked;
	}
}

function fContaSel_CheckBox (objForm, CheckBoxName) {
	var NrSel = 0;
	for (var i = 0; i <= objForm.elements.length-1; i++) {
		if (objForm.elements[i].name == CheckBoxName)
			if (objForm.elements[i].checked) NrSel ++;
	}
	return NrSel;
}
