var exsWaitHtmlContent = '<table border="0" cellpadding="2" cellspacing="0" class="form-table" id="tblExsList">'
  + '<tr><th colspan="3">Extra Stops</th></tr>'
  + '<tr><td colspan="3" style="text-align:center"><img src="images/ajax-circle16.gif" alt="Loading..." /></td></tr>'
  + '</table>';
var prevExsListHtml = '';
function getPos(el)
{
  var left = el.offsetLeft;
  var top = el.offsetTop;
  for (var parent = el.offsetParent; parent; parent = parent.offsetParent)
  {
    left += parent.offsetLeft;
    top += parent.offsetTop;
  }
  return [left, top];
}
function getEventObj(e)
{
  if (!e) e = window.event;
  return e;
}
function stopBubble(e)
{
  e = getEventObj(e);
  e.cancelBubble = true;
  if (e.stopPropagation) e.stopPropagation();
}
function hideExsPopup()
{
  hide('exsPopupDiv');
  //document.onclick = document.oldClick;
}
function showExsPopup(exsIndex)
{
  var elExsPopupDiv = $('exsPopupDiv');
  if (!elExsPopupDiv) return false;
  //document.body.onclick = closeExsPopup;
  //elNewExsAddress.setHTML("<img src=\"images/ajax-circle16.gif\" alt=\"Loading...\" />");
  var elBtnNewExs = $('btnNewExs');
  if (exsIndex == -1)
  {
    hide('divSaveExs');
    show('divAddExs');
  }
  else
  {
    hide('divAddExs');
    show('divSaveExs');
  }
  $('currEditExsIndex').value = '' + exsIndex;
  show('exsPopupDiv');
  elExsPopupDiv.style.left = elBtnNewExs.getLeft()  + 'px';//+ elBtnNewExs.getSize().size.x + 7
  elExsPopupDiv.style.top = elBtnNewExs.getTop() - elExsPopupDiv.getSize().size.y + 6 + 'px';
  //elExsPopupDiv.style.left = elBtnNewExs.getPosition().x + elBtnNewExs.getSize().x + 7 + 'px';
  //elExsPopupDiv.style.top = elBtnNewExs.getPosition().y - elExsPopupDiv.getSize().y + 6 + 'px';
  if ($(exsPremisesNo_CID)) $(exsPremisesNo_CID).value = '';
  if ($(exsStreet_CID)) $(exsStreet_CID).value = '';
  if ($(exsTown_CID)) $(exsTown_CID).value = '';
  if ($(exsPostcode_CID)) $(exsPostcode_CID).value = '';
  if ($(exsNationwideSearch_CID)) $(exsNationwideSearch_CID).checked = false;
  if ($('seldExsAddress')) $('seldExsAddress').setHTML('');
  $('currExsAddressIndex').value = '';
  //document.onclick = newDocClick;
}
function showAddExsPopup()
{
  showExsPopup(-1);
}
function showEditExsPopup(exsIndex)
{
  showExsPopup(exsIndex);
  if ($('seldExsAddress')) $('seldExsAddress').setHTML(exstopsInfo[exsIndex]);
}
function sendExtraStopsAjaxRequest(params)
{
  var elExsList = $('divExsList');
  prevExsListHtml = elExsList.innerHTML;
  elExsList.setHTML(exsWaitHtmlContent);
  var options = { method: 'get', postBody: params,
    onSuccess: function(text,xml) { procExtraStopsResponse(text,xml); }
  };
  var url = "MngExtraStops.aspx";
  var ajax = new Ajax(url, options);
  ajax.request();
}
function onAddExtraStop(tripType)
{
  hide('bookNow');
  var addrIndex = $('currExsAddressIndex').value;
  var params = 'cmd=add&tripType=' + tripType + '&addrIndex=' + addrIndex + '&t=' + (new Date()).getTime();
  sendExtraStopsAjaxRequest(params);
  hideExsPopup();
}
function procExtraStopsResponse(responseText, responseXml)
{
  if (!responseText)
  {
    $('divExsList').setHTML(prevExsListHtml);
    return;
  }
  var arr = responseText.split('##');
  $('divExsList').setHTML(arr[0]);
  if (arr.length > 1) eval(arr[1]);
}
function onGetExtraStops(tripType)
{
  var params = 'cmd=get&tripType=' + tripType + '&t=' + (new Date()).getTime();
  sendExtraStopsAjaxRequest(params);
  hideExsPopup();
}
function onMoveExtraStop(tripType, exsIndex, direction)
{
  hide('bookNow');
  var params = 'cmd=move&tripType=' + tripType + '&index=' + exsIndex + '&dir=' + direction + '&t=' + (new Date()).getTime();
  sendExtraStopsAjaxRequest(params);
  hideExsPopup();
}
function onDelExtraStop(tripType, exsIndex)
{
  hide('bookNow');
  var params = 'cmd=delete&tripType=' + tripType + '&index=' + exsIndex + '&t=' + (new Date()).getTime();
  sendExtraStopsAjaxRequest(params);
  hideExsPopup();
}
function onEditExtraStop(tripType)
{
  hide('bookNow');
  var addrIndex = $('currExsAddressIndex').value;
  var exsIndex = $('currEditExsIndex').value;
  if (addrIndex != '')
  {
    var params = 'cmd=edit&tripType=' + tripType + '&index=' + exsIndex + '&addrIndex=' + addrIndex + '&t=' + (new Date()).getTime();
    sendExtraStopsAjaxRequest(params);
  }
  hideExsPopup();
}
