function getDivByClassName(new_class) {
  var _elements = [];
  var divs = document.getElementsByTagName("div");
  for(i=0;i<divs.length;i++) {
      if(divs[i].className==new_class) {
          _elements.push(divs[i]);
      }
  }
  return _elements;
}
var defaultClass = "closeItem";
function expandAllRows() {
    var rows = getDivByClassName(defaultClass);
    if(defaultClass=="closeItem") {
        defaultClass = "openItem";
        for(i=0;i<rows.length;i++) {
            rows[i].className = defaultClass;
        }
    } else {
        defaultClass = "closeItem";
        for(i=0;i<rows.length;i++) {
            rows[i].className = defaultClass;
        }
    }
}
function openRowItem(t) {
    classSwitcher(t,'openItem');
}

function checkOfferDates(f) {
	if ((f.arrivalOfferDate.value == dateFormatString) && (f.departureOfferDate.value == dateFormatString)) {
		return "DATES_NOT_SET";
	}
	var checkIn = new validDate(f.arrivalOfferDate);	
	var checkOut = new validDate(f.departureOfferDate);

	if (!(checkIn.valid) && (!checkOut.valid) ) {
		bookingForm.addError("~ciAnddepartureDatesInvalidError", "arrivalDateLabel","departureDateLabel")
	} else if (!checkIn.valid ) {
		bookingForm.addError("~arrivalDateInvalidError","arrivalDateLabel")
	} else if (!checkOut.valid ) {
		bookingForm.addError("~departureDateInvalidError","departureDateLabel")
	} else 	if ( (checkIn.valid) & (checkOut.valid)  ) {
		var datesDelta = checkIn.diffDate( checkOut.d);
		var nowDelta = checkIn.diffDate(new Date());
		if (nowDelta > 0 ) {
			bookingForm.addError("~checkInEarlierThanTodayError","arrivalDateLabel");
		} else if (nowDelta < -551) {
			bookingForm.addError("~bookToFarInFutureError","arrivalDateLabel");
			bookingForm.addError()
		} else if (datesDelta < 0) {
			bookingForm.addError("~departureBeforeArrivalError","departureDateLabel");
		} else if (datesDelta > 90) {
			bookingForm.addError("~maximumLengthStayExceededErrorOffers", "arrivalDateLabel","departureDateLabel");
		} else if (datesDelta < 1) {
			bookingForm.addError("~arrivalEqualsDepartureError", "arrivalDateLabel","departureDateLabel");
		}
	}
	return "";
}

function validateOfferDates(form) {	
	bookingForm.resetErrors();
    var whereEmpty = false;
    var favEmpty = false;	
    var nameOfTheForm = form.name;
    if(!form.country) {
      whereEmpty = (form.propertyID.value == "");	
    }    
    if(!form.hotelName || form.hotelName.value ==""){
        favEmpty = true;
    }
    if(whereEmpty && favEmpty) {       
    	bookingForm.addError("propertyNotSelectedErrorOffers");
    }
	else{		
		checkOfferDates(form);
	}    
    if (bookingForm.hasErrors()) {
    	bookingForm.showErrors();
        return false;
    } else {        
        return true;
    }
}

