var whitespace = " \t\n\r";
function replaceAll (s, fromStr, toStr)
{
	var new_s = s;
	for (i = 0; i < 100 && new_s.indexOf (fromStr) != -1; i++)
	{
		new_s = new_s.replace (fromStr, toStr);
	}
	return new_s;
}
function sqlSafe (s)
{
	var new_s = s;
	new_s = replaceAll (new_s, "'", "|");
	new_s = replaceAll (new_s, "|", "''");
	new_s = replaceAll (new_s, "\"", "|");
	new_s = replaceAll (new_s, "|", "''");
	return new_s;
}
function makeSafe (i)
{
	i.value = sqlSafe (i.value);
}
function isEmpty(s)
{
    return ((s == null) || (s.length == 0))
}
function isWhitespace (s)
{   var i;
    if (isEmpty(s)) return true;
    for (i = 0; i < s.length; i++)
    {
	var c = s.charAt(i);
	if (whitespace.indexOf(c) == -1) return false;
    }
    return true;
}
function isEmail (s)
{   if (isEmpty(s))
       if (isEmail.arguments.length == 1) return defaultEmptyOK;
       else return (isEmail.arguments[1] == true);
    if (isWhitespace(s)) return false;
    var i = 1;
    var sLength = s.length;
    while ((i < sLength) && (s.charAt(i) != "@"))
    { i++
    }
    if ((i >= sLength) || (s.charAt(i) != "@")) return false;
    else i += 2;
    while ((i < sLength) && (s.charAt(i) != "."))
    { i++
    }
    if ((i >= sLength - 1) || (s.charAt(i) != ".")) return false;
    else return true;
}
function ForceEmail(objField, FieldName)
{
	var strField = new String(objField.value);

        if (isEmail(strField)) return true;
        alert("Il campo " + FieldName + " deve contenere una e-mail valida.");
        objField.focus();
        return false;
}
function ForceEntry(objField, FieldName)
{
    // faccio il test per vedere se il campo e' di tipo select a causa di incopatibilita tra IE e NN
        if (objField.type == "select-one")
           var strField = new String(objField.options[objField.selectedIndex].value);
        else
           var strField = new String(objField.value);

	if (isWhitespace(strField)) {
                alert("Bisogna compilare il campo " + FieldName);
		objField.focus();
                objField.select();
//commentato da me               
                 return false;
	}
	return true;
}


// verifica l'inserimento in base alla quantità di numeri e alla presenza del carattere /
function Isdate(objField,FieldName) {
	if(objField.value.length < 8 || objField.value.indexOf("/")==-1) {
		alert("Hai inserito una data errata \n o in formato non valido")
		objField.value=""
		objField.focus();
		return false;
	} 
	return true;
}


function ForceNumber(objField, FieldName)
{
	var strField = new String(objField.value);
	if (isWhitespace(strField)) return true;
	var i = 0;
	for (i = 0; i < strField.length; i++)
		if (strField.charAt(i) < '0' || strField.charAt(i) > '9') {
                        alert("Il campo " + FieldName + " deve contenere un numero valido. Attenzione! NON inserire il punto come separatore delle migliaia.");
			objField.focus();
			return false;
		}
	return true;
}
function ForceMoney(objField, FieldName)
{
	var strField = new String(objField.value);
	if (isWhitespace(strField)) return true;
	var i = 0;
	for (i = 0; i < strField.length; i++)
		if ((strField.charAt(i) < '0' || strField.charAt(i) > '9') && (strField.charAt(i) != '.')) {
                        alert("Il campo " + FieldName + " deve contenere un numero valido.");
			objField.focus();
			return false;
		}
	return true;
}
function PromptErrorMsg(Field,strError)
{
        alert("Il valore del campo " + strError + " non e' esatto. Per favore inserisci un valore corretto.");
	Field.focus();
}


