function submitFormDynSearchForm(inFormNameId){
  if(document.getElementById(inFormNameId).HOTEL_NAME_FILTER){
     if(document.getElementById(inFormNameId).HOTEL_NAME_FILTER.value == hotelnamefilter){
        document.getElementById(inFormNameId).HOTEL_NAME_FILTER.value = "";
     }
  }

  var alertText = "";
  
  var FormNameInputCityD = document.getElementById("dynDepartureCity");
  var FormNameInputCityA = document.getElementById("dynArrivalCity");
  var FormNameInputDateD = document.getElementById("dynDepartureDate");
  var FormNameInputDateR = document.getElementById("dynReturnDate");
  var FormNameInputTimeD = document.getElementById("dynDepartureTime");
  var FormNameInputTimeR = document.getElementById("dynReturnTime");
  var FormNameInputRooms = document.getElementById("dynNumOfRooms");
  var FormNameInputAdults = document.getElementById("dynNumOfAdults");
  var FormNameInputChildren = document.getElementById("dynNumOfChildren");
  var FormNameInputOnlyDirectFlight = document.getElementById("dynOnlyDirectFlight");
  var typeOfSearch = document.getElementById(inFormNameId).typeOfSearch.value;

  if(FormNameInputCityD.value==""){
      alertText = alertText + alCityDepartureBlank + "\n";
  }
  if(FormNameInputCityD.value.search(/\d/) != -1){
      alertText = alertText + alCityDepartureNoNum + "\n";
  }
  
  if(FormNameInputCityA.value=="" || FormNameInputCityA.value=="Elige de la lista" || FormNameInputCityA.value=="Scegli dall'elenco"){
      alertText = alertText + alCityArrivalBlank + "\n";
  }
  if(FormNameInputCityA.value.search(/\d/) != -1){
      alertText = alertText + alCityArrivalNoNum + "\n";
  }
  //check dates
  if(FormNameInputDateD.value==""){
      alertText = alertText + alDateDepartureBlank + "\n";
  }
  if((FormNameInputDateD.value.length != 10)    ||
     (FormNameInputDateD.value.charAt(2) !='/') ||
     (FormNameInputDateD.value.charAt(5) != '/')){
      alertText = alertText + alDateDepartureFormatErr + "\n";
  }
  if(FormNameInputDateR.value==""){
      alertText = alertText + alDateReturnBlank + "\n";
  }
  if((FormNameInputDateR.value.length != 10)    ||
     (FormNameInputDateR.value.charAt(2) !='/') ||
     (FormNameInputDateR.value.charAt(5) != '/')){
      alertText = alertText + alDateReturnFormatErr + "\n";
  }
  var diafecha, mesfecha, anyofecha;
  var d = new Date();
  var diasmes = [0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
  
  diafecha = FormNameInputDateD.value.substring(0, 2);
  mesfecha = FormNameInputDateD.value.substring(3, 5);
  anyofecha = FormNameInputDateD.value.substring(6);
  
  idep = parseInt(anyofecha + mesfecha + diafecha);
  
  if(isNaN(diafecha) || isNaN(mesfecha) || isNaN(anyofecha)){
     alertText = alertText + alDateDepartureFormatErr + "\n";
  }
  if(anyofecha < d.getYear()){
     alertText = alertText + alDateDepartureBeforeNow + "\n";
  }
  if((mesfecha < 1) || (mesfecha > 12)){
      alertText = alertText + alDateDepartureFormatErr + "\n";
  }
  if((diafecha < 1) || (diafecha > diasmes[mesfecha])){
      alertText = alertText + alDateDepartureFormatErr + "\n";
  }
  diafecha = FormNameInputDateR.value.substring(0, 2);
  mesfecha = FormNameInputDateR.value.substring(3, 5);
  anyofecha = FormNameInputDateR.value.substring(6);
  if(isNaN(diafecha) || isNaN(mesfecha) || isNaN(anyofecha)){
     alertText = alertText + alDateReturnFormatErr + "\n";
  }
  if(anyofecha < d.getYear()){
     alertText = alertText + alDateReturnBeforeNow + "\n";
  }
  if((mesfecha < 1) || (mesfecha > 12)){
      alertText = alertText + alDateReturnFormatErr + "\n";
  }
  if((diafecha < 1) || (diafecha > diasmes[mesfecha])){
      alertText = alertText + alDateReturnFormatErr + "\n";
  }
  iret = parseInt(anyofecha + mesfecha + diafecha);
  if(idep >= iret){
     alertText = alertText + alDateRetBeforeDateDep + "\n";
  }
  var today = new Date();
  var maxDate = new Date(Date.parse((today.getFullYear()+1) + "/" +(parseInt(today.getMonth(),10))+ "/" + today.getDate()));
  var md = parseInt(maxDate.getFullYear().toString() + ((maxDate.getMonth()+1)<10 ?("0"+(maxDate.getMonth()+1).toString()) : (maxDate.getMonth()+1).toString()) + (maxDate.getDate()<10?("0"+maxDate.getDate().toString()):maxDate.getDate().toString())); 
  var em = anyadirDias(FormNameInputDateD.value,30,'integer')
  if(iret > em){
     alertText = alertText + alMaxThirtyDays + "\n";
  }
  if(iret > md){
     var thisAlert = alMaxThirtyDaysPartA + maxDate.getDate() + "/" + (maxDate.getMonth()+1) + "/" + maxDate.getFullYear() + alMaxThirtyDaysPartB;
     alertText = alertText + thisAlert + "\n";
  }
  //check passengers
  var numberOfRooms = parseInt(FormNameInputRooms.value, 10);
  var numberOfAdults = parseInt(FormNameInputAdults.value, 10);
  var numberOfChildren = parseInt(FormNameInputChildren.value, 10);
  var numberOfPassengers = (numberOfAdults + numberOfChildren) * numberOfRooms;
  if(numberOfPassengers > 9){
      alertText = alertText + alMaxNinePassengers + "\n";
  }
  if((numberOfAdults + numberOfChildren) > 4){
      alertText = alertText + alMaxFourPassengers + "\n";
  }
  if(numberOfPassengers < 1){
      alertText = alertText + alNoPassengerSelected + "\n";
  }
  if((numberOfChildren) > (numberOfAdults*2)){
      alertText = alertText + alMaxTwoChildForAdult + "\n";
  }
  if(alertText!=""){
     alert(alertText);
     return false;
  }else{
  	switch(typeOfSearch){
		case "ambiguo":
			document.getElementById(inFormNameId).action= urlDesamb;
			break;
		case "vacacion":
			document.getElementById(inFormNameId).action= urlVacaci;
			break;
		default : 
		document.getElementById(inFormNameId).action= urlDynamic;
	}
	 setSwooshStep("paso1", "dynpack", inFormNameId);
	window.scrollTo(1,1);

     document.getElementById(inFormNameId).submit();
  }
  return false;
}
