
/*********************************************************************
Script di controllo dei campi di testo
	Versione 1.0
	Gruppo Webegg - Webegg S.p.A
        Federico Fraticelli
*********************************************************************/
        /*********************************************************************
        Function: replaceString
        Purpose:  Replaces "txt" with "by" in "str"
        Inputs:   string - source string
                  text -
        Returns:  newstr (the modified string)
	*********************************************************************/
function replaceString(str, txt, by) {
    var strLength = str.length, txtLength = txt.length;
    if ((strLength == 0) || (txtLength == 0)) return str;

    var i = str.indexOf(txt);
    if ((!i) && (txt != str.substring(0,txtLength))) return str;
    if (i == -1) return str;

    var newstr = str.substring(0,i) + by;

    if (i+txtLength < strLength)
        newstr += replaceString(str.substring(i+txtLength,strLength),txt,by);
    return newstr;
}

	/*********************************************************************
        Function: replaceString
        Purpose:  Extended trim function, replaces any ' ', \r, \n char from "str"
        Inputs:   String str (source string)
        Returns:  String str (trimmed string)
	*********************************************************************/
function trimSpace(str)
{
        // first trims " "
        str = str.replace(/(^\s*)|(\s*$)/g, "");
        // then trims "\n\r"
        return replaceString(replaceString(replaceString(str,'\r',''),'\n',' '),'\"','\'');
}

function trimEx(str)
{
		// then translates doublequotes '"' in space ' '
		str = replaceString(str,'\"','');
		// then translates singlequotes ''' in 2 singlequote '''' as Oracle likes
        return replaceString(str,'\'','\'\'');
}

	/*********************************************************************
	*********************************************************************/
function verifyForm()
{
		//elimino spazi e ritorni a capo nei campi
            document.register.FIRSTNAME.value=trimSpace(document.register.FIRSTNAME.value);
        document.register.LASTNAME.value=trimSpace(document.register.LASTNAME.value);
            document.register.ADDRESS.value=trimSpace(document.register.ADDRESS.value);
            document.register.COMPANY.value=trimSpace(document.register.COMPANY.value);
            document.register.CITY.value=trimSpace(document.register.CITY.value);
            document.register.STATE.value=trimSpace(document.register.STATE.value);
            document.register.ZIP.value=trimSpace(document.register.ZIP.value);
            document.register.COUNTRY.value=trimSpace(document.register.COUNTRY.value);
            document.register.PHONE.value=trimSpace(document.register.PHONE.value);
            document.register.FAX.value=trimSpace(document.register.FAX.value);
            document.register.EMAIL.value=trimSpace(document.register.EMAIL.value);

		//verifica l'obbligatorieta' dei campi
            if(document.register.FIRSTNAME.value.length<1){
			alert("Attenzione! Inserisci il tuo nome");
			return false;
			}

        if(document.register.LASTNAME.value.length<1){
			alert("Attenzione! Inserisci il tuo cognome");
			return false;
			}

            if(document.register.EMAIL.value.length<6){
			alert("Attenzione! Inserisci il tuo indirizzo email");
			return false;
			}

            if ( (document.register.EMAIL.value.indexOf("@") == -1) || (document.register.EMAIL.value.indexOf(".") == -1) ){
			alert("Attenzione! Inserisci un indirizzo di email valido");
			return false;
			}

		//verifica la dimensione massima dei campi
            if(document.register.FIRSTNAME.value.length>30){
			alert("Attenzione! Il tuo nome e' lungo piu' di 30 caratteri");
			return false;
			}

        if(document.register.LASTNAME.value.length>30){
			alert("Attenzione! Il tuo cognome e' lungo piu' di 30 caratteri");
			return false;
			}

        if(document.register.COMPANY.value.length>30){
			alert("Attenzione! Il nome della tua azienda e' lungo piu' di 30 caratteri");
			return false;
			}

            if(document.register.EMAIL.value.length>80){
			alert("Attenzione! La tua email e' lunga piu' di 80 caratteri");
			return false;
			}

            if(document.register.PHONE.value.length>15){
			alert("Attenzione! La tuo numero di telefono e' lungo piu' di 15 caratteri");
			return false;
			}

            if(document.register.FAX.value.length>15){
			alert("Attenzione! La tuo numero di FAX e' lungo piu' di 15 caratteri");
			return false;
			}

            if(document.register.ADDRESS.value.length>30){
			alert("Attenzione! Il tuo indirizzo e' lungo piu' di 30 caratteri");
			return false;
			}

            if(document.register.CITY.value.length>30){
			alert("Attenzione! Il nome della tua citta' e' lungo piu' di 30 caratteri");
			return false;
			}

            if(document.register.STATE.value.length>40){
			alert("Attenzione! Il nome della tua provincia' e' lungo piu' di 40 caratteri");
			return false;
			}

            if(document.register.ZIP.value.length>10){
			alert("Attenzione! Il tuo CAP e' lungo piu' di 10 caratteri");
			return false;
			}

            if(document.register.COUNTRY.value.length>40){
			alert("Attenzione! Il nome della tua nazione e' lungo piu' di 40 caratteri");
			return false;
			}

		//trasforma i caratteri indesiderati
            document.register.FIRSTNAME.value=trimEx(document.register.FIRSTNAME.value);
        document.register.LASTNAME.value=trimEx(document.register.LASTNAME.value);
        document.register.COMPANY.value=trimEx(document.register.COMPANY.value);
            document.register.ADDRESS.value=trimEx(document.register.ADDRESS.value);
            document.register.CITY.value=trimEx(document.register.CITY.value);
            document.register.STATE.value=trimEx(document.register.STATE.value);
            document.register.ZIP.value=trimEx(document.register.ZIP.value);
            document.register.COUNTRY.value=trimEx(document.register.COUNTRY.value);
            document.register.PHONE.value=trimEx(document.register.PHONE.value);
            document.register.FAX.value=trimEx(document.register.FAX.value);
            document.register.EMAIL.value=trimEx(document.register.EMAIL.value);


		return true;
}


function goSubmit() {
  if (verifyForm()) {
  	newWindow=window.open('','MESSAGE','menubar=no,toolbar=no,resizable=no,status=yes,scrollbars=no,width=250,height=300')
	document.register.target='MESSAGE';
  	document.register.submit();
	}
  }