var isIE = navigator.appVersion.indexOf("MSIE") != -1;
var isSafari = navigator.appVersion.indexOf("WebKit") != -1;
var isIE6 = (document.documentElement && typeof document.documentElement.style.maxHeight!="undefined") ? false : true;
var isIE7 = (document.documentElement && typeof document.documentElement.style.maxHeight!="undefined") ? true : false;
var isMac = navigator.userAgent.indexOf("Macintosh") != -1;
var isWin = navigator.userAgent.indexOf("Windows") != -1;

var AgencyTaxesFeesBlurb = "You will be charged directly by the hotel for the amount shown. Additional taxes and fees if applicable may be charged at the time of check-out, including, without limitation, sales and use tax, occupancy tax, room tax, excise tax, value added tax and/or other similar taxes.";

var CarVendorLabels = {
  'AL': ['Corporate ID/Rate Code', 'Coupon Code'], 
  'ZI': ['Avis Worldwide Discount (AWD)', 'Coupon Number'], 
  'ZD': ['Budget Customer Discount (BCD)', 'Coupon Code'], 
  'ZR': ['Corporate ID (CD)', 'Promotion Code'], 
  'ZE': ['Corporate Discount/Rate Code (CDP/RQ)', 'Promo Code (PC)'],
  'ZL': ['National Corp/Rate Code', 'Coupon Code'], 
  'ZT': ['Corp Discount', 'PC# or Rate Code']
};

var CarCodeFeatures = {
  'ECAR': ['4 Passengers', '2 Small Suitcases', 'Air Conditioning', 'Automatic'],
  'CCAR': ['2 Passengers', '2 Small Suitcases', 'Air Conditioning', 'Automatic'],
  'ICAR': ['4 Passengers', '2 Small Suitcases', 'Air Conditioning', 'Automatic'],
  'FCAR': ['4 Passengers', '2 Large Suitcases', 'Air Conditioning', 'Automatic'],
  'LCAR': ['4 Passengers', '2 Large Suitcases', 'Air Conditioning', 'Automatic'],
  'MVAR': ['6 Passengers', '4 Large Suitcases', 'Air Conditioning', 'Automatic'],
  'PCAR': ['4 Passengers', '2 Small Suitcases', 'Air Conditioning', 'Automatic'],
  'SCAR': ['4 Passengers', '2 Small Suitcases', 'Air Conditioning', 'Automatic'],
  'SFAR': ['4 Passengers', '2 Small Suitcases', 'Air Conditioning', 'Automatic'],
  'STAR': ['4 Passengers', '2 Small Suitcases', 'Air Conditioning', 'Automatic'],
  'CDAR': ['4 Passengers', '2 Large Suitcases, 1 Small Suitcase', 'Air Conditioning', 'Automatic'],
  'FDAR': ['5 Passengers', '2 Large Suitcases, 3 Small Suitcases', 'Air Conditioning', 'Automatic'],
  'FFAR': ['8 Passengers', '3 Large Suitcases, 3 Small Suitcases', 'Air Conditioning', 'Automatic'],
  'FRAR': ['7 Passengers', '3 Large Suitcases, 3 Small Suitcase', 'Air Conditioning', 'Automatic'],
  'FVAR': ['12 Passengers', '6 Large Suitcases, 4 Small Suitcases', 'Air Conditioning', 'Automatic'],
  'IDAR': ['5 Passengers', '2 Large Suitcase, 2 Small Suitcase', 'Air Conditioning', 'Automatic'],
  'IFAR': ['5 Passengers', '3 Large Suitcases, 2 Small Suitcases', 'Air Conditioning', 'Automatic'],
  'IVAR': ['7 Passengers', '4 Large Suitcases, 3 Small Suitcases', 'Air Conditioning', 'Automatic'],
  'OFAR': ['8 Passengers', '5 Large Suitcases, 4 Small Suitcases', 'Air Conditioning', 'Automatic'],
  'PFAR': ['8 Passengers', '4 Large Suitcases, 4 Small Suitcases', 'Air Conditioning', 'Automatic'],
  'PXAR': ['5 Passengers', '2 Large Suitcases, 2 Small Suitcases', 'Air Conditioning', 'Automatic'],
  'SGAR': ['4 Passengers', '2 Large Suitcase, 4 Small Suitcase', 'Air Conditioning', 'Automatic'],
  'SKAR': ['2 Passengers', '6 Large Suitcase, 4 Small Suitcase', 'Air Conditioning', 'Automatic'],
  'SPAR': ['3 Passengers', '2 Large Suitcase, 2 Small Suitcase', 'Air Conditioning', 'Automatic'],
  'SRAR': ['4 Passengers', '2 Large Suitcase, 4 Small Suitcase', 'Air Conditioning', 'Automatic'],
  'UDAR': ['5 Passengers', '2 Large Suitcase, 2 Small Suitcase', 'Air Conditioning', 'Automatic']
};

function hideElements(scopeElement) {
  if (!scopeElement) {
    scopeElement = document.body;
  }
  $(scopeElement).select("div.show").each(function(element) {
    Element.removeClassName(element, 'show');
    Element.addClassName(element, 'hide');
  });
}

function showElements(showElement, scopeElement) {
  if (!scopeElement) {
    scopeElement = document;
  }
  hideElements(scopeElement);
  Element.removeClassName(showElement, 'hide');
  Element.addClassName(showElement, 'show');
}

function toggleDiv(input, div_id, options) {
  var div = $(div_id)
  
  if ( div ) {
    if ( div.visible() ) {
      Element.removeClassName(input, 'hide_more');
      Element.addClassName(input, 'show_more');
      if (options && options.showMoreImage) {
        input.src = options.showMoreImage
      }
      div.hide();
    } else {
      Element.removeClassName(input, 'show_more');
      Element.addClassName(input, 'hide_more');
      if (options && options.hideMoreImage) {
        input.src = options.hideMoreImage
      }
      div.show();
    }
  }
}

function updateTabs(onTab, scopeId) {
  $(scopeId).select('li').each(function(tab) {
    Element.removeClassName(tab, 'current_tab');
  }); 
  Element.addClassName(onTab, 'current_tab');
}

function validateSearchCity(searchFieldId) {
  searchValue = $F(searchFieldId);
  if (searchValue.length == 0) {
    return true;
  }
  if (searchValue.length == 3 || searchValue.match(/\(\w{3}\)/)) {
    return true;
  } else {
    alert('Please select a city name from the auto complete drop down menu or enter a 3 letter airport code.');
    return false;
  }
}

function validateSearchDate(searchFieldId) {
  searchValue = $F(searchFieldId);
  if (!searchValue.match(/\d{1,2}\/\d{1,2}\/\d{4}/)) {
    alert('Please enter dates in the format mm/dd/yyyy.');
    return false;
  }
  return true;
}

function showHidePolicy(event, element) {
  var node = element.parentNode;
  Event.stop(event);
  $(node).select('div').each(function(div) {
    var currentClassName = div.className
    Element.removeClassName(div, (currentClassName == 'hide' ? 'hide' : 'show'));
    Element.addClassName(div, (currentClassName == 'hide' ? 'show' : 'hide'));
    if (currentClassName == 'hide') {
      node.style.listStyleImage = 'url(/images/delta/arrow-down_ltblue.gif)'
    } else {
      node.style.listStyleImage = 'url(/images/delta/arrow-right_ltblue.gif)'
    }
  }); 
}

function showHideCarTypes(event, element) {  
  Event.stop(event);
  if (element.innerHTML == 'Less Car Classes') {
    $('car_results_table_container').style.overflow = 'hidden';  
    element.innerHTML = 'More Car Classes';
    $('car_results_table_container').select('th.more_type_header').each(function(e) {
      Element.hide(e);
    });
    $('car_results_table_container').select('td.hideable_car').each(function(e) {
      Element.hide(e);
    });
    
  } else {
    $('car_results_table_container').scrollLeft = 0;
    $('car_results_table_container').style.overflow = 'auto';  
    element.innerHTML = 'Less Car Classes';
    $('car_results_table_container').select('th.more_type_header').each(function(e) {
      Element.show(e);
    });
    $('car_results_table_container').select('td.hideable_car').each(function(e) {
      Element.show(e);
    });
  }
}

function showHideCarVendors(event, element) {
  var node = element.parentNode;
  var currentClassName = node.className;
  Event.stop(event);
  if (currentClassName == 'more_link') {
    Element.show('more_car_companies');
    $('car_results_table_container').select('tr.hidden_supplier_cars').each(function(td) {
      Element.show(td);
    });
  } else {
    Element.hide('more_car_companies');
    $('car_results_table_container').select('tr.hidden_supplier_cars').each(function(td) {
      Element.hide(td);
    });
  }
  Element.removeClassName(node, (currentClassName == 'more_link' ? 'more_link' : 'less_link'));
  Element.addClassName(node, (currentClassName == 'more_link' ? 'less_link' : 'more_link'));
  element.innerHTML = (currentClassName == 'more_link' ? 'Less Car Companies' : 'More Car Companies');
}

function showLightbox(event, elementId, options) {  
  $(elementId).style.zIndex = 1002;
  var scrollTop = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop;
  $(elementId).style.top = scrollTop + 50 + "px";
  if (isIE6) {
    $('ie_iframe').style.top = scrollTop + 50 + "px";
    $('ie_iframe').style.width = $(elementId).getWidth();
    $('ie_iframe').style.height = $(elementId).getHeight();
    $('ie_iframe').addClassName('i-zindex');
  }
  
  if (elementId == 'general_lightbox') {
    if (options && options.set_spinner) {
      $('lightbox_h2').innerHTML = '';
      $('lightbox_p').innerHTML = '<p class="center"><img src="/images/delta/spinner.gif" /></p>';
    } else {
      $('lightbox_h2').innerHTML = '';
      $('lightbox_p').innerHTML = '';
    }
  }
  
  Effect.Appear('lb_overlay', {duration: 0.5});
  Effect.Appear(elementId, {duration: 0.5}); 
  Event.stop(event); 
}

function hideLightbox(event, elementId, elementsToRemove) {
  if (isIE) {
    hideForIE();
  }
  
  if (elementsToRemove) {
    for (var i = 0; i < elementsToRemove.length; i++) {
       var ele = $(elementsToRemove[i]);
        if (ele.hasChildNodes()) {
          removeChildNodes(ele);
        }
     }
  } else {
    removeChildNodes($(elementId));
  }
  Effect.Fade(elementId, {duration: 0.2}); 
  Effect.Fade('lb_overlay', {duration: 0.25});
  Event.stop(event); 
}

var imageCount = [];
var selectedImageIdx = [];
var lastclick;

function updatePhoto(event, callerObj, eleid, options) {  
  Event.stop(event);
  countEle = "photo_count_" + eleid;
  detailEle = "photo_detail_" + eleid;

  var whichImage = selectedImageIdx[eleid] ? selectedImageIdx[eleid] : 2;
  $(countEle).innerHTML = whichImage;
  
  $('next_link_'+eleid).show();
  
  if (whichImage.toString() == "1") {
    $('prev_link_'+eleid).hide();
  } else if (whichImage >= imageCount[eleid]) {
    $('next_link_'+eleid).hide();
    $('prev_link_'+eleid).show();  
  } else {
    $('prev_link_'+eleid).show();  
  }
  
  if (whichImage > imageCount[eleid]) {
    selectedImageIdx[eleid] = 2;
    whichImage = 2;
  } else {
  if (options.nextLink) {
      selectedImageIdx[eleid] = whichImage + 1;
  } else {
      selectedImageIdx[eleid] = whichImage - 1;
  }
  }
  if (options.browseLink) {
    $(detailEle).src = $(options.thumbnailId).src;
  } else if (options.nextLink || !options.nextLink) {
    $(detailEle).src = $('tn' + eleid + '_' + whichImage).src;
  } else if (options.thumbLink) {
    $(detailEle).src = Element.childElements(callerObj)[0].src;
  }
  
}

/* DOM Helpers */

function removeChildNodes(ele) {
  while (ele.childNodes.length >= 1 ) {
    ele.removeChild( ele.firstChild );   
  }
}

function isAllWhitespace(node)
{
  // Use ECMA-262 Edition 3 String and RegExp features
  return !(/[^\t\n\r ]/.test(node.data));
}

function isIgnorable(node)
{
  return ( node.nodeType == 8) || // A comment node
         ( (node.nodeType == 3) && isAllWhitespace(node) ); // a text node, all ws
}

function lastChild(node)
{
  var child = node.lastChild;
  while (child) {
    if (!isIgnorable(child)) return child;
    child = child.previousSibling;
  }
  return null;
}

function validateAdd(dspItemId) {
  
  bookingOptionsDiv = $('booking_options_'+dspItemId);
  hintEle = bookingOptionsDiv.select('p.hint').first();
  
  checkbox = bookingOptionsDiv.select('input.checkbox').first();
  
  if (hintEle.innerHTML == '' && !checkbox.checked) return true;
  
  check_the_box = false;
  if (hintEle.innerHTML != '') {
    check_the_box = true;
  }
  
  passedDate = true;
  $(bookingOptionsDiv).select('select.date').each(function(dateSelect) {
    if (dateSelect.selectedIndex == 0) {
      errorEle = dateSelect;
      passedDate = false;
    }
  });
  
  passedQuantity = false;
  $(bookingOptionsDiv).select('select.quantity').reverse().each(function(quantitySelect) {
    if (quantitySelect.selectedIndex > 0 || ( quantitySelect.selectedIndex == 0 && quantitySelect.length == 1 ) ) {
      passedQuantity = true;
    } else {
      errorEle = quantitySelect;
    }
  });
  
  if (passedDate && passedQuantity) {
    hintEle.innerHTML = '';
    hintEle.hide();
    if (check_the_box) checkbox.checked = true;
  } else {
    checkbox.checked = false;
    hint = 'Please select ';
    hintArray = new Array;
    if (!passedQuantity) {
      hintArray.push('a quantity');
    }
    if (!passedDate) {
      hintArray.push('a date');
    }
    hint += (hintArray.length == 1 ? hintArray[0] : hintArray[0]+' and '+hintArray[1]);
    hintEle.innerHTML = hint;
    hintEle.show();
    errorEle.focus();
  }  
}

function findPosX(obj) {
  var curleft = 0;
  if (obj.offsetParent) {
    while (obj.offsetParent) {
      curleft += obj.offsetLeft
      obj = obj.offsetParent;
    }
  } else if (obj.x) {
    curleft += obj.x;
  }
  return curleft;
}

function findPosY(obj) {
  var curtop = 0;
  if (obj.offsetParent) {
    while (obj.offsetParent) {
      curtop += obj.offsetTop
      obj = obj.offsetParent;
    }
  } else if (obj.y) {
    curtop += obj.y;
  }
  return curtop;
}

function showCarDetails(event, carTypeCode, isLeftJustified, isRightJustified) {
  // isLeftJustified lets you know how much less space to use for the style.left property
  if (Element.visible(carTypeCode)) {
    return;
  }
  var anchor = Event.element(event);
  var xPos = findPosX(anchor);
  var yPos = findPosY(anchor);
  $(carTypeCode).style.top = yPos + "px";
  if (isRightJustified != 'skip') {
    var xOffset = (isRightJustified ? 0 : (isLeftJustified ? -100 : -200));
    $(carTypeCode).style.left = Event.pointerX(event) + xOffset + "px";
  }
  window.carDetailPopupId = carTypeCode;
  Element.show(carTypeCode);
  Event.stop(event);
  return false;
}

function showPolicies(event, shortDescription, cancellationPolicy, guaranteePolicy) {
  $('lb_rate_description').innerHTML = '<strong>Rate Description:</strong> ' + shortDescription;
  
  if (cancellationPolicy != '') {
    $('lb_cancellation_policy').innerHTML = '<strong>Cancellation Policy:</strong> ' + cancellationPolicy;
    $('lb_cancellation_policy').show();
  } else {
    $('lb_cancellation_policy').hide();
  }
  
  if (guaranteePolicy != '') {
    $('lb_guarantee_policy').innerHTML = guaranteePolicy;
    $('lb_guarantee_policy').show();
  } else {
    $('lb_guarantee_policy').hide();
  }
  
  showLightbox(event, 'policies_lightbox', true);
}

function showCarBrowser(event, selectedCarIdx) {

  updateCarBrowser(selectedCarIdx);
  
  showLightbox(event, 'car_browser', true);
}

function hideCarBrowser(event) {
  if (isIE) { // only necessary in IE
    var selectNodes = document.getElementsByTagName("select");
    for (var i=0; i < selectNodes.length; i++) {
      selectNodes[i].style.visibility = 'visible';
    }
  }  
  Effect.Fade('car_browser', {duration: 0.2}); 
  Effect.Fade('lb_overlay', {duration: 0.25});
  $('car_browser').hide();
  Event.stop(event); 
}

function updateCarBrowser(idx) {

  $('car_browser_image').update($('car_image_'+idx).innerHTML);
  $('car_browser_sample').update($('car_sample_'+idx).innerHTML);
  
  var carCode = $('car_code_'+idx).innerHTML;
  $('car_browser_code').update(carCode);
  $('car_browser_class').update($('car_class_'+idx).innerHTML);
  
  var carFeatures = CarCodeFeatures[carCode];
  if (carFeatures) {
    $('car_browser_passengers').update(carFeatures[0]);
    $('car_browser_suitcases').update(carFeatures[1]);
    $('car_browser_airconditioning').update(carFeatures[2]);
    $('car_browser_transmission').update(carFeatures[3]);
  }
  
  $('car_browser_price').update($('car_price_'+idx).innerHTML);
  $('car_browser_price_description').update($('car_price_description_'+idx).innerHTML);
  
  $('car_browser_idx').update(idx+1);
  
  window.selectedCarIdx = idx;
}

function submitFromCarBrowser(event) {
  $('car_form_'+window.selectedCarIdx).submit();
  Event.stop(event);
}

function pageCarBrowser(event, direction) {
  
  var idx = window.selectedCarIdx;
  
  if (direction == 'previous') {
    if (idx > 0) idx -= 1;
  } else {
    if (idx < window.carCount-1) idx += 1;
  }
  
  if (idx != window.selectedCarIdx) updateCarBrowser(idx);

  // Without this, clicking within the lightbox causes browser to scroll to top.
  Event.stop(event); 
}

function chooseRadioNice(radioButtonsDivId, skipFocus) {
  
  $(radioButtonsDivId).select('input.radio').each(function(radioEle) {

    labelEle = radioEle.adjacent('label').first();
    
    textfieldArray = radioEle.adjacent('input.textfield');
    if (textfieldArray.length > 0) {
      textfieldEle = textfieldArray.first();
    } else {
      textfieldEle = null;
    }

    if (radioEle.checked) {
      labelEle.removeClassName('inactive');
      if (textfieldEle)  {
        if (!skipFocus) textfieldEle.focus();
      }
    } else {
      labelEle.addClassName('inactive');
      if (textfieldEle) {
        //textfieldEle.value = '';
      }
    }
  });

}

function showSpinner(obj) {
  obj.innerHTML = '<div style="margin-left:40%; margin-right:40%; padding:25px"><img src="/images/delta/spinner.gif" /></div>';  
}

function selectDspItem(dsp_id, dsp_item_id, pv_id, checked) {
  var id = 'price_variant_' + dsp_item_id + '_' + pv_id + '_quantity'; 
  var quantity = $(id);
  if ( checked ) { 
    if ( quantity.value == 0 ) {
      quantity.value = 1; 
    }
    $('add_dsp_' + dsp_id).show();
  } else { 
    quantity.value = 0; 
    var scopeElement = $('booking_options_' + dsp_id);
    if ( scopeElement ) {
      var num_selected = 0;
      $(scopeElement).select("input.pv_selector").each(function(element) {
        num_selected += element.checked ? 1 : 0;
      });
      if ( num_selected == 0 ) {
        $('add_dsp_' + dsp_id).hide();
      }
    }
  }
}

function selectDspItem_date(dsp_id, dsp_item_id, pv_id, checked) {
  var id = 'price_variant_' + dsp_item_id + '_' + pv_id + '_quantity'; 
  var date_id = 'dsp_item_' + dsp_item_id + '_0_start_date_time';
  var sel = $(date_id)
  var opt = sel.options[sel.selectedIndex];
  var d = opt.value || opt.text;
  var quantity = $(id);
  if ( checked ) { 
    if ( quantity.value == 0 ) {
      quantity.value = 1; 
    }
    if (!d) {
        sel.options[1].selected = true;
      }
    $('add_dsp_' + dsp_id).show();
  } else { 
    quantity.value = 0;
    //sel.options[0].selected = true;
    var scopeElement = $('booking_options_' + dsp_id);
    if ( scopeElement ) {
      var num_selected = 0;
      $(scopeElement).select("input.pv_selector").each(function(element) {
        num_selected += element.checked ? 1 : 0;
      });
      if ( num_selected == 0 ) {
        $('add_dsp_' + dsp_id).hide();
      }
    }
  }
}

function selectDspItem_quan(dsp_id, dsp_item_id, pv_id) {
  var id = 'price_variant_' + dsp_item_id + '_' + pv_id + '_quantity'; 
  var c_id = 'price_variant_' + dsp_item_id + '_' + pv_id + '_select';
  var date_id = 'dsp_item_' + dsp_item_id + '_0_start_date_time';

  var sel = $(date_id);
  var quantity = $(id);
  var checked = $(c_id);

  if (quantity.value == 0) {
    checked.checked = false;
    $('add_dsp_' + dsp_id).hide(); 
  } else {
    checked.checked = true;
    if (!(sel.options[sel.selectedIndex].value || sel.options[sel.selectedIndex].text)) {
      sel.options[1].selected = true;
    }
    $('add_dsp_' + dsp_id).show();  
  }

}


function validatePV(dsp_id, dsp_item_id, pv_id) {
  var id = 'price_variant_' + dsp_item_id + '_' + pv_id + '_quantity'; 
  var c_id = 'price_variant_' + dsp_item_id + '_' + pv_id + '_select';
  var date_id = 'dsp_item_' + dsp_item_id + '_0_start_date_time';
  var sel = $(date_id);
  var opt = sel.options[sel.selectedIndex];
  var d = opt.value || opt.text;
  var quantity = $(id);
  var checked = $(c_id);
  if ( checked.checked ) { 
    if (!d) {
         checked.checked = false;
         quantity.value = 0;
         $('add_dsp_' + dsp_id).hide(); 
      }
  } else { 
    if (d) {
        checked.checked = true;
        $('add_dsp_' + dsp_id).show();  
        if ( quantity.value == 0 ) {
          quantity.value = 1; 
        } 
      } 
  }
}

function changeCouponLabels(vendorCode) {
  labels = CarVendorLabels[vendorCode]
  if (labels) {
    $('discount_code_label').innerHTML = labels.first();
    $('coupon_code_label').innerHTML = labels.last();    
  } else {
    $('discount_code_label').innerHTML = 'Discount Code';
    $('coupon_code_label').innerHTML = 'Coupon Code';
  }
}

function updateGuests(num) {
  if (num > 1) {
    $('guest1').style.visibility = "visible";
  } else {
    $('guest1').style.visibility = "hidden";
  }
  for (var i=1; i <= 2; i++) {
    if (i > num) {
      $("guest" + i).style.visibility = "hidden";
      $("guestsel" + i).hide();
    }
  } 
  for (var i=2; i <= num; i++) {
    $("guest" + i).style.visibility = "visible";
    $("guestsel" + i).show();
  }
  calcGuests();
}

function calcGuests() {
  var guestcount = 0
  for (var i=1; i <= parseInt($('hotel_search_number_rooms').value); i++) {
    if ($('guestsel' + i).visibility=='visible' || $('guestsel' + i).visible){
    guestcount = guestcount + parseInt($('guestsel' + i).value);
    }
  }
    $('hotel_search_number_adults').value = guestcount
}


function showTab(tab, id) {
  var tabs = ['tabOverview','tabDesc','tabPhotos','tabMap','tabAmenities'];
  for (var i = 0;i < tabs.length; i++) {
    if (tab == tabs[i]) {
      $(tabs[i]+'_'+id).show();
      $(tabs[i]+'Link_'+id).addClassName('selected');
    } else {
      $(tabs[i]+'_'+id).hide();
      $(tabs[i]+'Link_'+id).removeClassName('selected');
      
    }
  }
}

var carousel = [];
var item = [];

function initializeCarousel(eleid, images) {
  if ( carousel[eleid] ) {
    return;
  }
  carousel[eleid] = new YAHOO.widget.Carousel("thumbs-container-" + eleid, {
      carouselEl: "UL",
      isCircular: true
  });
  for( var i = 1 ; i < images.length; i++){
     carousel[eleid].addItem(images[i]);
  }
  carousel[eleid].set("animation", { speed: 0.9 });

  carousel[eleid].on("itemSelected", function (index) { 
    item[eleid] = carousel[eleid].getElementForItem(index); 
    if (item[eleid]) {
      $('spotlight-'+eleid).innerHTML = "<img src=\"" + getImage(item[eleid]) + "\" style=\"max-width: 375px;max-height: 325px\" id=\"spotlight" + eleid + "\">"; 
    }
  });
  //carousel[eleid].registerPagination("<strong>Image</strong> {firstVisible} - {lastVisible} <strong>of</strong> {numItems}"); 
  carousel[eleid].render();
}

// Get the image link from within its (parent) container. 
function getImage(parent) { 
  var el = parent.firstChild; 
   
  while (el) {  // walk through till as long as there's an element 
    if (el.nodeName.toUpperCase() == "IMG") { // found an image 
      return el.src; 
    } 
    el = el.nextSibling; 
  } 
   
  return ""; 
}

function showOtherRooms(ignore, size) {
  for (i=0; i<size; i++) {
    if (i!=ignore) {
      $('add_hotel_'+i).show();
      $('selectedBox_'+i).hide();
      } else {
        $('selectedBox_'+i).show();
        $('add_hotel_'+i).hide();
      }
  }
}

var checkedfield;

function fillStarRating(event, clicked, search_id) {
  if (clicked == checkedfield && $('starCheck'+clicked).checked == 0) {
      for (var i = 1; i <= 5; i++) {
        $('starCheck'+i).checked = 0;
      }
      $('hotel_search_min_rating').selectedIndex = 0;
  } else {
    for (var i = 1; i <= 5; i++) {
      if (i<clicked) {
        $('starCheck'+i).checked = 0;
      } else {
        $('starCheck'+i).checked = 1;
      }
    }
  $('hotel_search_min_rating').selectedIndex = clicked;
  }
 checkedfield = clicked;
 ajaxSearch(event, search_id);
}

function calcAmenities(event, search_id) {
  var amencount = 0;
  for (var i = 0; i <= 12; i++) {
    if ($('amenities_'+i).checked == 1) {
      amencount = amencount + parseInt($('amenities_'+i).value)
    }
  }
  $('hotel_search_amenity_bitmask').value = amencount;
  ajaxSearch(event, search_id);
}

function ajaxSearch(event, search_id) {
  $('lb_overlay').hide();
  $('modify_search_panel').hide();
  mouseY = Event.pointerY(event);
  $('interstitial-lightbox').show();
  $('interstitial-img').style.top = mouseY-300+'px';
  $('interstitial-img').show();
  new Ajax.Request('/hotel_searches/'+search_id+'?ajax=true', {asynchronous:true, evalScripts:true, parameters:Form.serialize($('edit_hotel_search_'+search_id))})
}

function showForIE(searchform){
  var eles = $(searchform).getElements();
  for (var i=0; i < eles.length; i++) {
    eles[i].style.visibility = 'visible';
  }
}

function hideForIE(){
  if (isIE6) {
    $('ie_iframe').style.top = "0px";
    $('ie_iframe').style.width = "1px";
    $('ie_iframe').style.height =  "1px";
    $('ie_iframe').style.zIndex = "100";
  }
}

// ***********Interstital Code****************
var isLoading=false;
var redirURL = '';

function doPage() {
  if (!isLoading) { 
    isLoading = true; 
    if (isIE) {
      $('spinner').style.display = '';
    }
      window.location.href = redirURL; 
    if (isIE) {
      $('spinner').src = $('spinner').src;  
    }      
  }
}
function setupRedirect(url){
  redirURL = url;
  Event.observe(window, 'load', function(event) { doPage(); });
}
// ********End Interstital Code**********

//Find a hotel in a json array
function findHotel(hotels, id) {
  for (var i = 0; i < hotels.length; i ++) {
    if (hotels[i].id == id.toString()) {return hotels[i];}
  }
}


function toggleadd() {
  obj = $('show_more_less');
  $('additional').toggle();
  if (obj.className == 'show_more') {
     obj.className='show_less';
    } else {
      obj.className='show_more';
    }
}