// valida il form per la pagina booking on line
function getLabel(i){
	labels = document.getElementsByTagName('label');
	if(i<10){
		if(i>=5)i--;
		return labels[i-1].firstChild.nodeValue.replace('*','');		
	}else if(i<15){
		return labels[i-3].firstChild.nodeValue.replace('*','');	
	}else if(i<33){		 
		if(i>=27)
			i-=4;				
		if(i>=26)
			i-=3;				
		else if(i>=24)
			i-=2;
		else if(i>=21)
			i--;	
		return labels('label')[i-4].firstChild.nodeValue.replace('*','');		
	}else if(i>33){
		return labels[i-9].firstChild.nodeValue.replace('*','');
	}
}

function checkTel(obj){
	tel = obj.value
	return isNumeric(tel.replace('+',''));
}

function hazardousCheck(){
	if(this.value == 'Yes'){
		enable('req_class');
		enable('req_Un');
	}else{
		disable('req_class');
		disable('req_Un');		
	}
}

function initForm(){
	disable('req_class');
	disable('req_Un');
	document.getElementById('h1').onclick = hazardousCheck;
	document.getElementById('h2').onclick = hazardousCheck;
	document.getElementById('submit').onclick = validatefield;
}

function validatefield(){	

	if(errormsg != null){
		document.getElementById(errormsg).innerHTML = '';
	}
	//validazione del modulo
	form = document.getElementById('frmBooking');
	n = form.elements.length;
	//position of error message 
	where = 0
	for(var i=0;i<n;i++){	
		obj = form.elements[i];
		if(obj.tagName != 'FIELDSET'){			
			if((obj.type =='text' || obj.tagName=='TEXTAREA') && 
			   (obj.name != 'fax' && obj.name != 'address' && obj.name != 'comments') && !obj.disabled && isEmpty(obj)){
				return error(obj,where,getLabel(i-1)+": field can't be empty");
			}else if(obj.tagName == 'SELECT' && !obj.disabled && !checkSelect(obj)){
				return error(obj,where,getLabel(i-1)+": select an option from the list");
			}else if(obj.name=='tel'  && !checkTel(obj)){				
				return error(obj,where,getLabel(i-1)+": invalid number");			
			}else if(obj.name=='email' && !checkMail(obj)){				
				return error(obj,where,getLabel(i-1)+": invalid e-mail format");			
			}else if(obj.name=='weight' && !isNumeric(obj.value)){				
				return error(obj,where,getLabel(i-1)+": invalid number");			
			}else if(obj.name=='cbm' && !isNumeric(obj.value)){				
				return error(obj,where,getLabel(i-1)+": invalid number");			
			}else if(obj.name=='un' && obj.value != '' && !isNumeric(obj.value)){				
				return error(obj,where,getLabel(i-1)+": invalid number");							
			}else if(obj.type == 'radio' && checkRadio(eval('form.'+obj.name))){
				
				if(obj.name == 'hazardous' && form.hazardous[0].checked && (isEmpty(document.getElementById('class')) || isEmpty(document.getElementById('Un')))){
					return error(obj,where,"Field Class and Un can't be empty ");
				}
			}else continue;			
		}else{ 
			where = i-1;
		}
	}
	return true;
}
