addToItineraryLinks = ['tour_details_itinerary_btn','tour_prices_itinerary_btn'];
itineraryBookLinks = ['tour_details_book_btn','tour_prices_book_btn'];

/**
 * Add Tour to itinerary
 */
function SetItinerary(idtour,date,nice_date,tour,msgName,linkName) {
  Bookings[idtour]=[date,nice_date,tour];
  applyItineraryToLinks(false,idtour);

  var components=(arguments.length>5) ? arguments[5] : '';
  if(date==false || idtour==false)
    return;
  
  sendAjaxMessage('Booking','set_Itinerary',{'components':components,'idtour':idtour,'name':tour,'date':date});
  
  messageEl=ID(msgName);
  linkEl=ID(linkName);

  if(messageEl) {
    if(messageEl.innerHTML!="" && messageEl.style.display=='none')
      messageEl.style.display='inline';
    else {
      messageEl.innerHTML="<a href=\"/booking/\" title=\"\" class=\"itinBookLink\"><span>Tour added to itinerary. Book &raquo;</span></a>";
      messageEl.style.display='inline';
    }
  }
  if(linkEl)
    linkEl.style.display='none';
}
/**
 * Send browser to booking page
 */
function goToBooking()
{
  document.location = "/booking/";
}
/**
 * Return the IDs of the selected optional extras
 */
function GetSelectedComponents() {
  var values='';
  var checkboxes=document.getElementsByName('components[]');
  for(var j=0; j<checkboxes.length; j++) {
    if(checkboxes[j].checked) {
      if(values!='') values+=',';
      values+=checkboxes[j].value;
    }
  }
  return values;
}
/**
 * Update the checked components session for the view tour page
 */
function UpdateCheckedComponents(idtour,checked) {
  sendAjaxMessage('PublicAjax','updateCheckedComponents',{'idtour':idtour,'checked':checked});
}
/**
 *
 */
function setTourCount(num) {
  x$('ItinTourCount').setValue(num+' TOURS');
}
/**
 * 
 */
function ShowMyItinerary() {
  //console.log('My Itin');
  vars = {bookings:BookingsLI(false,true)}
  ShowActions(this,'MyItinerary',vars,false,true);
  x$(document).observe('click', HideItinerary);
  x$('MyItinerary').show();
  x$('SRA').hide();
}
/**
 *
 */
function HideItinerary(e) {
//  console.log(xEvent(e).eventElem().selectUp('div.my-itinerary-box').element());
  if(xEvent(e).eventElem().selectUp('div.my-itinerary-box')) {
    if(xEvent(e).eventElem().selectUp('a')) {
      var linkHref = xEvent(e).eventElem().selectUp('a').element().href;
      if(linkHref.match(/tour.[0-9]+/))
        return true;
    }
    return false;
  }
  x$('MyItinerary').hide();
}
function addSetItineraryToLink(id,booking,idtour) {
  if(!x$(id).exists()) return false;
  var booking_link = '';
  if(booking)
    booking_link = "showLoading('Loading booking page...');document.location.href='/booking/';";
  x$(id).setLink("Javascript:SetItinerary("+idtour+",'0000-00-00','','"+TourNames[idtour]+"','ItineraryLink','',GetSelectedComponents());"+booking_link);
  x$(id).element().onclick = null;
  x$(id).element().innerHTML = x$(id).element().innerHTML.replace('Book Itinerary','Add to Itinerary');
}
function removeSetItineraryFromLink(id) {
  if(!x$(id).exists()) return false;
  x$(id).setLink("Javascript:showLoading('Loading booking page...');document.location.href='/booking/';");
  x$(id).element().onclick = null;
  x$(id).element().innerHTML = x$(id).element().innerHTML.replace('Add to Itinerary','Book Itinerary');
}
function applyItineraryToLinks(add,idtour) {
  for(var i=0;i<addToItineraryLinks.length;i++) {
    if(add)
      addSetItineraryToLink(addToItineraryLinks[i],false,idtour);
    else
      removeSetItineraryFromLink(addToItineraryLinks[i]);
  }
  for(var i=0;i<itineraryBookLinks.length;i++) {
    if(add)
      addSetItineraryToLink(itineraryBookLinks[i],true,idtour);
    else
      removeSetItineraryFromLink(itineraryBookLinks[i]);
  }
}
/**
 *
 */
function removeTour(idtour) {
  delete( Bookings[idtour] );
  x$('MyIBookings').setValue(BookingsLI(false,true));
  x$('SRABookings').setValue(BookingsLI(15,true));  
  sendAjaxMessage('Booking', 'delete_Itinerary', {'idtour':idtour},null,false);
  applyItineraryToLinks(true,idtour);
  x$('SRA').hide();
}
