function arrivalDate_onFocus(searchForm) {
    var checkIn = new validDate(searchForm.arrivalDate);
    if (  !checkIn.valid ) { searchForm.arrivalDate.value="";}
}

function arrivalDate_onBlur(searchForm) {
    var checkIn = new validDate(searchForm.departureDate);
    if ( checkIn.valid ) {
        checkIn.setField();
        var checkOut = validDate(searchForm.departureDate);
        if (checkOut.valid ) { before = (checkIn.diffDate(checkOut.d) <= 0);}
        if ( (! (checkOut.valid)) || before) {
            checkOut.setD(checkIn.d);
            checkOut.nextDay();
            checkOut.setField();
        }
    } else {searchForm.arrivalDate.value=dateFormatString;}
}
function departureDate_onFocus(searchForm) {
    var checkOut = new validDate(searchForm.departureDate);
    if (  !checkOut.valid ) { searchForm.departureDate.value="";}
}
function departureDate_onBlur(searchForm) {
    var checkOut = new validDate(searchForm.departureDate);
    if ( checkOut.valid ) { checkOut.setField(); } else {searchForm.departureDate.value=dateFormatString;}
}

function setFindResErrorMsgDisplay(displayFlag) {
    var errorBlock = document.getElementById("errorBlock_Reservations");
    errorBlock.style.display = (displayFlag) ? "block" : "none";

    if (document.documentElement.currentStyle) {
        var errorIframe = document.getElementById("reservationErrorBlockIframe");
        if (displayFlag) {
            errorIframe.style.width = parseFloat(errorBlock.currentStyle["width"]) - 10 + 'px';
            errorIframe.style.height = parseFloat(errorBlock.clientHeight) - 9 + 'px';
            errorIframe.style.top = errorBlock.currentStyle["top"] == "auto" ? "auto" : parseFloat(errorBlock.currentStyle["top"]) + 50 + 'px';
            errorIframe.style.left = errorBlock.currentStyle["left"] == "auto" ? "auto" : parseFloat (errorBlock.currentStyle["left"]) + 5 + 'px';
            errorIframe.style.margin = errorBlock.currentStyle["margin"];
            errorIframe.style.zIndex = errorBlock.currentStyle["zIndex"] == "auto" ? "auto" : errorBlock.currentStyle["zIndex"] - 1;
            errorIframe.style.display = "block";
        }
        else {
            errorIframe.style.display = "none";
        }
    }
}
var findResForm = new WebForm();
function validateReservationInfo(htmlForm) {
    var searchFormObj = findResForm ;
    searchFormObj.form = htmlForm;

    setFindResErrorMsgDisplay(0);
    searchFormObj.resetErrors();

   lastNameStatus = checkLastName(searchFormObj);
   numberContainerStatus = checkNumberContainer(searchFormObj);
    if (searchFormObj.hasErrors()) {
        searchFormObj.showErrors();
        setFindResErrorMsgDisplay(1);
        return false;
    } else {
        return true;
    }
}

function checkLastName(searchFormObj){
    if(searchFormObj.form.inpLastName.value==null || searchFormObj.form.inpLastName.value==""){
       searchFormObj.addError("~lastNameNotEnteredError","lastNameNotEnteredError");
     }
    return true;
}

function checkNumberContainer(searchFormObj){
    var inpNumber=document.getElementById("inpNumber");
    var inpType=document.getElementById("inpType");

//    if(inpNumber.value==null || inpNumber.value=="" || !isNumber(inpNumber.value)){
    if(inpNumber.value==null || inpNumber.value==""){
        switch (inpType.value){
        case "memberNumber":        searchFormObj.addError("~spgNumberError","spgNumberError");
                                    break;
        case "confirmationNumber":  searchFormObj.addError("~confirmationNumberError","confirmationNumberError");
                                    break;
        case "ccNumber":            searchFormObj.addError("~creditcardNumberError","creditcardNumberError");
                                    break;
        default :                       ;
    }
}
  return true;
}

function isNumber(number){
    var validNumbers="0123456789";
    for(i=0;i < number.length;i++){
        if(validNumbers.indexOf(number.charAt(i))==-1){
            return false;
        }
    }
 return true;
}

var inlineBooking = {
  height: 48,
  items: [],
  openPanel:null,
  initialize: function(){
    var bookNowContainers = yuiDom.getElementsByClassName('bookNowPanel','div');
    var bookNowLinks = yuiDom.getElementsByClassName('bookNowLink','div');
    bookNowLinks.forEach(function(bookNowLink,i){
      var container = bookNowContainers[i];
      var item = {
        container : container,
        link : bookNowLink,
        propertyCount : bookNowLink.getAttribute("propertyCount"),
        highlightIndex : i
      };
      inlineBooking.items.push(item);
      bookNowLink.config = item;
      yuiEvent.addListener(bookNowLink,"click",inlineBooking.bridge.open);
    });
  },
  bridge:{
    open:function(e){
      var item = this.config;
      inlineBooking.open(item);
    },
    close:function(e){
      var item = this.config;
      inlineBooking.close(item);
    }
  },
  open:function(item){
    if (inlineBooking.openPanel){
      inlineBooking.close(inlineBooking.openPanel);
    }
  /*  var highlightItem = highlight.items[item.highlightIndex];
    if(highlightItem && yuiDom.hasClass(highlightItem.container,"detailsHighlightOpen")) {
      highlight.hide(highlightItem);
    }*/
    inlineBooking.openPanel=item;
    yuiEvent.removeListener(item.link,"click",inlineBooking.bridge.open);
    yuiEvent.addListener(item.link,"click",inlineBooking.bridge.close);

    var animIn = new yuiAnim(item.container,{
        height:{from:0,to:inlineBooking.height}
      },0.3,YAHOO.util.Easing.easeIn);

    animIn.onStart.subscribe(function(){
      yuiDom.setStyle(item.container,"height",0);
      yuiDom.addClass(item.container,"bookNowPanelOpen");
    });
    animIn.animate();
    yuiEvent.stopPropagation(e);

  },
  close:function(item){
    yuiEvent.removeListener(item.link,"click",inlineBooking.bridge.close);
    yuiEvent.addListener(item.link,"click",inlineBooking.bridge.open);
    inlineBooking.openPanel=null;
    var animOut = new yuiAnim(item.container,{
        height:{to:0}
      },0.2,YAHOO.util.Easing.easeIn);

    animOut.onComplete.subscribe(function(){
      YAHOO.util.Dom.removeClass(item.container,"bookNowPanelOpen");
    });
    animOut.animate();

  }

}

yuiEvent.onDOMReady(inlineBooking.initialize);
        

