var defaultEmptyOK = false ;
var decimalPointDelimiter = "." ;


function isEmail(s) {	
	re = new RegExp("^\\w+(\\-\\w+|\\.\\w+)*@\\w+(\\-\\w+|\\.\\w+)+$","g")
	if (s.search(re)!= -1) return true
	else return false;
} 


function chooseSail(f, language_id, url, sct_id) {
	window.location = url + "&LNG_ID=" + language_id + "&STP=" + f.chooseSailList.options[f.chooseSailList.selectedIndex].value + "&USD=" + sct_id ;
	return ;	
}


function isDigit(c) {   
	return ((c >= "0") && (c <= "9")) ;
}


function isEmpty(s) {   
	return ( (s == null) || (s.length == 0) ) ;
}


function isInteger(s) {   
	var i ;

    for (i = 0; i < s.length; i++) {   
        var c = s.charAt(i);
        if (!isDigit(c)) return false;
    }

    return true;
}


function isFloat(s) {   
	var i;
    var seenDecimalPoint = false;

    if (s == decimalPointDelimiter) return false;

    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);
        if ((c == decimalPointDelimiter) && !seenDecimalPoint) seenDecimalPoint = true;
        else if (!isDigit(c)) return false;
    }

    return true;
}


function validateDimensions(f, elem1, elem2) {
	elem1p = eval('f.' + elem1).value;
	elem1f = elem1p.replace(",", ".");
	elem2p = eval('f.' + elem2).value;
	elem2f = elem2p.replace(",", ".");
	elem1msg = eval('f.MSG_' + elem1).value;
	elem2msg = eval('f.MSG_' + elem2).value;

	if ((isInteger(elem1f) == true) || (isFloat(elem1f) == true)) {
		if ((isInteger(elem2f) == true) || (isFloat(elem2f) == true)) {		
			if ((elem1f*1) < (elem2f*1)) {
				alert(elem1msg + " " + f.MAJOF.value + " " + elem2msg) ;
				return false ;
			}
		} else {
			alert("'" + elem2f + "'" + f.NOTNUM.value) ;
			return false ;
		}
	} else {
		alert("'" + elem1f + "'" + f.NOTNUM.value) ;
		return false ;
	}

	return true ;
}


function validateRandaForm(f, flag) {
	if ( isEmpty(f.PIN.value) || isEmpty(f.EIN.value) ) {
		alert (f.DIMMSG.value);
		return ;
	}

	if ( (f.PIN.value != "") && (f.EIN.value != "") ) {
        if (validateDimensions(f, "PIN", "EIN") == false) {
            return ;
        }
    }	
	
	if (f.TYP) {
		if ( (f.TYP[0].checked == false) && (f.TYP[1].checked == false) && (f.TYP[2].checked == false) && (f.TYP[3].checked == false) ) {
			alert (f.TYPMSG.value);
			return ;
		}
	}	

	if (f.NUMBER) {
		if ( (f.NUMBER[0].checked == false) && (f.NUMBER[1].checked == false) ) {
			alert (f.SAILNUM.value);
			return ;
		}
	}

	if (f.OPT12) {
		if ( !isEmpty(f.OPT12.value) ) {
			if ( (isInteger(f.OPT12.value) == false) && (isFloat(f.OPT12.value) == false) ) {
				alert("'" + f.OPT12.value + "'" + f.NOTNUM.value) ;
            	return ;
			}
		}
	}	

	if (isEmpty(f.BOATNAME.value)) {
		alert (f.BOATNAMEMSG.value);	
		return ;
	}

	if (isFloat(f.BOATDIM.value) == false) {
		alert (f.DIMBMSG.value);	
		return ;
	}

	f.REDIRECTFLAG.value = flag ;

	f.submit() ;
	return ;
}		


function validateGennakerForm(f, flag) {
	if ( ( isEmpty(f.PIN.value) || isEmpty(f.EIN.value) ) && ( isEmpty(f.PIN1.value) || isEmpty(f.EIN1.value) ) && isEmpty(f.MQIN.value) ) {
		alert (f.DIMMSG.value);
		return ;
	}
		
	if ( ( (f.PIN.value != "") && (f.EIN.value != "") ) || ( (f.PIN1.value != "") && (f.EIN1.value != "") ) ) {
		if ( (validateDimensions(f, "PIN", "EIN") == false) || (validateDimensions(f, "PIN1", "EIN1") == false) ) {	
			return ;
		}
	}

	if ( !isEmpty(f.MQIN.value) ) {
		f.MQIN.value = f.MQIN.value.replace(",", ".");
		if ( (isInteger(f.MQIN.value) == false) && (isFloat(f.MQIN.value) == false) ) {
			alert("'" + f.MQIN.value + "'" + f.NOTNUM.value) ;
            return ;
		}
	}

	if (isEmpty(f.BOATNAME.value)) {
		alert (f.BOATNAMEMSG.value);	
		return ;
	}

	if (isFloat(f.BOATDIM.value) == false) {
		alert (f.DIMBMSG.value);	
		return ;
	}

	f.REDIRECTFLAG.value = flag ;

	f.submit() ;
	return ;
}		


function validateGenoaForm(f, flag) {
	if ( ( isEmpty(f.PIN.value) || isEmpty(f.EIN.value) ) && ( isEmpty(f.PIN11.value) || isEmpty(f.EIN1.value) ) ) {
		alert (f.DIMMSG.value);
		return ;
	}

	if ( ( (f.PIN.value != "") && (f.EIN.value != "") ) || ( (f.PIN11.value != "") && (f.EIN1.value != "") ) ){
        if ( (validateDimensions(f, "PIN", "EIN") == false) || (validateDimensions(f, "PIN11", "EIN1") == false) ) {
            return ;
        }
    }
	
	if ( (f.AVV[0].checked == false) && (f.AVV[1].checked == false) ) {
		alert (f.FURLINGMSG.value);
		return ;
	}
	
	if ((f.TYP) &&  (f.TYP[0].checked == false) && (f.TYP[1].checked == false) && (f.TYP[2].checked == false) && (f.TYP[3].checked == false) ) {
		alert (f.USEMSG.value);
		return ;
	}

	if (f.SOV) {
		if (!isEmpty(f.SOV.value)) {
			if ( (isInteger(f.SOV.value) == false) && (isFloat(f.SOV.value) == false) ) {
				alert("'" + f.SOV.value + "'" + f.NOTNUM.value) ;
            	return ;
        	}
		}	
	}

	if (isEmpty(f.BOATNAME.value)) {
		alert (f.BOATNAMEMSG.value);	
		return ;
	}

	if (isFloat(f.BOATDIM.value) == false) {
		alert (f.DIMBMSG.value);	
		return ;
	}

	f.REDIRECTFLAG.value = flag ;
			
	f.submit() ;
	return ;
}		


function validateUserForm(f) {
	if ( isEmpty(f.USR_NAME.value) || isEmpty(f.USR_SURNAME.value) || isEmpty(f.USR_EMAIL.value) || isEmpty(f.USR_ADDRESS.value) || isEmpty(f.USR_CITY.value) || isEmpty(f.USR_STATE.value) || isEmpty(f.USR_CAP.value) || isEmpty(f.USR_COUNTRY.value) || isEmpty(f.USR_PHONE.value) ) {
		alert (f.MANFIELDSMSG.value);
        return ;
	}

	if (isEmail(f.USR_EMAIL.value) == false) {
		alert (f.MAILERRMSG.value);
        return ;
    }		
	
	f.submit() ;
	return ;
}


function deleteQuote(language, toUrl, fromUrl, sectionType, sailType, sailSelId) {
	window.location = toUrl + "&LNG_ID=" + language + "&STP=" + sailType + "&USD=" + sectionType + "&URLF=" + fromUrl + "&SSL_ID=" + sailSelId ;
	return ;
}



