var WaitMessege = new function () {
  this.ShowWaitMessage = function () {
    jQuery('.ad-gallery').hide();
    var _docFooterOffSet = 400;
    var _docHeight = (document.height !== undefined) ? document.height : document.body.offsetHeight;
    _docHeight += _docFooterOffSet;

    var waitMessageContainer = jQuery('#divWaitMessage');

    var top = jQuery(window).scrollTop() + ((jQuery(window).height() / 2) - (waitMessageContainer.height() / 2));
    top = top < 90 ? 90 : top;
    var left = ((jQuery(window).width() / 2) - (waitMessageContainer.width() / 2));
    left = left < 90 ? 90 : left;
    jQuery('#divOverlay').css({ 'top': '0px', 'height': _docHeight, 'width': '100%' }).css('display', 'block').fadeTo("fast", "0.8");
    waitMessageContainer.css('top', top).css('left', left).show();
  }
  this.RemoveWaitMessage = function () {
    jQuery('#divWaitMessage').empty().hide();
    jQuery('#divOverlay').empty().hide();
  }
  this.ShowHoldingPage = function (searchfor) {
    try {
      jQuery('.mainContainer').css('display', 'none');
      jQuery('.mainContainer hotelLanding').css('display', 'none'); //hotel landing
      var waitMessageContainer = jQuery('#divWaitMessage');
      var top = jQuery(window).scrollTop() + ((jQuery(window).height() / 2) - (waitMessageContainer.height() / 2));
      top = top < 90 ? 90 : top;
      var left = ((jQuery(window).width() / 2) - (waitMessageContainer.width() / 2));
      left = left < 90 ? 90 : left;
      waitMessageContainer.css('top', top).css('left', left).show();

      jQuery('#HoldingPage').css('display', 'block');

      jQuery('.banner').css('display', 'none');
      var h2Message = GetH2Message(searchfor);
      jQuery('#HoldingPage').find('h2:eq(0)').html(h2Message);
      var SearchMsg = GetSearchMsg(searchfor);
      jQuery('.searching_msg').html(SearchMsg);

    }
    catch (e) {
      log('error in ShowHoldingPage:', e);
    }
  }

  function GetH2Message(PageName) {
    try {
      switch (PageName) {
        case "FlightAndHotel":
          return "Searching for Available Flights";
          break;

        case "Hotel":
          return "Searching for Available Accommodation";
          break;

        case "Flight":
          return "Searching for Available Flights";
          break;

        case "FlightSelected":
          return "Searching for Available Accommodation";
          break;

        case "HotelSelected":
          return "Retrieving Holiday Details";
          break;

        case "SearchDeal":
          return "Searching for Available Flights";
          break;

        default:
          return "Retrieving Details";
          break;
      }
    }
    catch (e) {
      log('error in FindH2Message:', e);
    }
  }

  function GetSearchMsg(PageName) {
    try {
      switch (PageName) {
        case "FlightAndHotel":
          return "<b>travelclub.co.uk</b> is currently searching for available flights<br><b>Please wait.</b> This may take up to 30 seconds";
          break;

        case "Hotel":
          return "<b>travelclub.co.uk</b> is currently retrieving your available hotels<br><b>Please wait.</b> This may take up to 30 seconds";
          break;

        case "Flight":
          return "<b>travelclub.co.uk</b> is currently searching for available flights<br><b>Please wait.</b> This may take up to 30 seconds";
          break;

        case "FlightSelected":
          return "<b>travelclub.co.uk</b> is currently retrieving your flight details and searching for available hotels<br><b>Please wait.</b> This may take up to 30 seconds";
          break;

        case "HotelSelected":
          return "<b>travelclub.co.uk</b> is currently retrieving your holiday details<br><b>Please wait.</b> This may take up to 30 seconds";
          break;

        case "SearchDeal":
          return "<b>travelclub.co.uk</b> is currently searching for available flights<br><b>Please wait.</b> This may take up to 30 seconds";
          break;

        default:
          return "Retrieving Details";
          break;
      }
    }
    catch (e) {
      log('error in GetSearchMsg:', e);
    }
  }
}
