function loadPage(page) {
  var oRPC = new jsRPC();
  oRPC.href = page + ((page.indexOf('?') != -1)?'&':'?') + 'html_load=1';
  oRPC.execute();
}

function enableImageSlider()
{
  var slider = $('hp-image-slider')
  if (slider)
  {
    imgs = slider.getElementsByTagName('img');
    createHSlider('hp-image-slider', 428, (imgs.length) * 428, 428); 
    hSliders['hp-image-slider'].enableAutoScroll(7000);
  }
}

      function preview(filename, width, height)
      {
        preview_window = window.open('', '_blank', 'width=' + width + ',height=' + height);
        preview_window.document.write('<html><head><style type="text/css">body { margin: 0; }</style></head><body onblur="window.close();">');
        preview_window.document.write('<img name="theimage" src="' + filename + '" width="' + width + '" height="' + height + '" />');
        preview_window.document.write('</body></html>');
        preview_window.document.close();      
      }
      
function validateAppointment(form)
{
  if (form.elements.name.value.length < 3)
  {
    alert('Name is required.');
    form.elements.name.focus();
    return false;
  }
  
  if (!validateEmail(form.elements.email.value))
  {
    alert('Email must be valid.');
    form.elements.email.focus();
    return false;
  }
  
  if (!validateUSPhone(form.elements.phone.value))
  {
    alert('Phone must be valid.\nFormat: ###-###-####');
    form.elements.phone.focus();
    return false;
  }
  
  
  
  return true;
}
      
function handleAppointmentSent()
{
  alert('The appointment request has been sent.');
  document.getElementById('form-request-appointment').reset();
}

var modalPageCover = null;

function showModal(div)
{
  if (!modalPageCover)
  {
    modalPageCover = document.createElement('div');
    modalPageCover.style.position = 'absolute';
    modalPageCover.style.top = '0';
    modalPageCover.style.left = '0';
    modalPageCover.style.width = '100%';
    modalPageCover.style.height = '100%';
    
    div.parentNode.insertBefore(modalPageCover, div);
    modalPageCover.style.backgroundImage = 'url(/images/black-50.png)';
  }
  
  
  modalPageCover.style.top = getScrollY() + 'px';
  modalPageCover.style.display = 'block';
  var html = document.getElementsByTagName('html')[0];
  html.style.height = '100%';
  html.style.overflow = 'hidden';
  
  // move the div to the body if necessary
  var body = document.getElementsByTagName('body')[0];
  
  if (div.parentNode != body)
    body.appendChild(div);
    

  div.style.position = 'absolute';
  div.style.left = '50%';
  div.style.display = 'block';
  div.style.top = (getScrollY() + (getWinHeight() / 2) - (div.clientHeight / 2)) + 'px';
  div.style.marginLeft = '-' + (div.clientWidth / 2) + 'px';
}

function hideModal(div)
{
  if (modalPageCover)
  {
    modalPageCover.style.display = 'none';
  }
  if (div)
  {
    div.style.display = 'none';
    var html = document.getElementsByTagName('html')[0];
    html.style.overflow = '';
  }
}

    function getWinHeight() 
    {
      if (window.innerHeight) return window.innerHeight - 18;
    	else if (document.documentElement && document.documentElement.clientHeight) 
    		return document.documentElement.clientHeight;
    	else if (document.body && document.body.clientHeight) 
    		return document.body.clientHeight;
      return 0;
    }
    
    function getScrollY()
    {
      if (typeof window.pageYOffset == "number") return window.pageYOffset;
      else if (document.documentElement && document.documentElement.scrollTop)
    		return document.documentElement.scrollTop;
    	else if (document.body && document.body.scrollTop) 
    		return document.body.scrollTop; 
    	else if (window.scrollY) return window.scrollY;
      return 0;
    }