
//Frames per second setting for the fade effects.
var fps = 3;

var displayLoadingMessageSetting = true;

//Time (in seconds) for the fade transition to happen when fading in and fading out the div on page load and unload.
var pageFadeTransitionTime = 1;
//Time (in seconds) for the fade transition for the image animation.
var imageFadeTransitionTime = 3; 
//Time (in seconds) to pause in between images of the animation.
var timeBetweenImages = 7;

var busy = true;

var hideScrollbars = false;

var pageSubtitle = null;

var Status = { 
  Loading : 0, 
  Ready : 1
};

var StatusMessage = { 
  Loading : "Please Wait...", 
  Ready : "Done"
};

var FadeDirection = { 
  In : 0, 
  Out : 1
};

var updateLoadingMessageTextIntervalID = -1;
var updateImageLoadingMessageTextIntervalID = -1;
var imageAnimationTimeoutID = -1;

function NavigationElement(linkText, linkLocation) {
  this.LinkText = linkText;
  this.LinkLocation = linkLocation;
}

function createNavigationElements() {

  var navigationElements = new Array();
  
  navigationElements.push( new NavigationElement('Main', 'index.php') );
  navigationElements.push( new NavigationElement('About Us', 'aboutus.php') );
  navigationElements.push( new NavigationElement('Services', 'services.php') );
  navigationElements.push( new NavigationElement('Portfolio', 'portfolio.php') );
  navigationElements.push( new NavigationElement('Testimonials', 'testimonials.php') );  
  navigationElements.push( new NavigationElement('Contact Us', 'contactus.php') );
  
  return navigationElements;
  
}
                
function body_Load() {

  //if (displayLoadingMessageSetting) {
   displayLoadingMessage();
  //}
  
  removeLinkOutlines();

  var successfullyChangedStatus = changeStatus(Status.Loading);

  preloadLayoutImages();
    
}

var loadingMessageTextMessage = new Array();
loadingMessageTextMessage.push('Please Wait...');
loadingMessageTextMessage.push('Please Wait');
loadingMessageTextMessage.push('Please Wait.');
loadingMessageTextMessage.push('Please Wait..');

var loadingMessageTextMessageIndex = 0;

function displayLoadingMessage() {
        
	loadingMessageTextMessageIndex = 0;

  var divLoadingMessageContainer = document.createElement('div');
  divLoadingMessageContainer.id = 'divLoadingMessageContainer';
    
  var divLoadingMessage = document.createElement('div');
  divLoadingMessage.id = 'divLoadingMessage';
                   
  var spnLoadingMessage = document.createElement('span');
  spnLoadingMessage.id = 'spnLoadingMessage';
  var textNode = document.createTextNode(loadingMessageTextMessage[loadingMessageTextMessageIndex]);
  spnLoadingMessage.appendChild(textNode);    
    
  divLoadingMessage.appendChild(spnLoadingMessage);
             
  divLoadingMessageContainer.appendChild(divLoadingMessage);
                   
  document.body.appendChild(divLoadingMessageContainer);
    
  updateLoadingMessageTextIntervalID = setInterval("updateLoadingMessageText()", 600);
    
}

function removeLoadingMessage() {
  var divLoadingMessageContainer = document.getElementById('divLoadingMessageContainer'); 
  document.body.removeChild(divLoadingMessageContainer);
}

function updateLoadingMessageText() {

  if(loadingMessageTextMessageIndex < loadingMessageTextMessage.length - 1) {
    loadingMessageTextMessageIndex++;
  } else {
    loadingMessageTextMessageIndex = 0;
  }

  var spnLoadingMessage = document.getElementById('spnLoadingMessage');   
  
  if (spnLoadingMessage.hasChildNodes()) {
  
    while (spnLoadingMessage.childNodes.length >= 1) {
      spnLoadingMessage.removeChild(spnLoadingMessage.firstChild);       
    } 
      
  }
  
  var textNode = document.createTextNode(loadingMessageTextMessage[loadingMessageTextMessageIndex]);
  spnLoadingMessage.appendChild(textNode);   

}

var layoutImages = new Array();
layoutImages[0] = 'Images/Layout/VertBackgroundGradient.jpg';
layoutImages[1] = 'Images/Layout/HorizBackgroundGradient.png';
layoutImages[2] = 'Images/Layout/TopLeftCorner.png';
layoutImages[3] = 'Images/Layout/TopRightCorner.png';
layoutImages[4] = 'Images/Layout/BottomLeftCorner.png';
layoutImages[5] = 'Images/Layout/BottomRightCorner.png';    
layoutImages[6] = 'Images/Effects/CloseWindow_Black.gif';
layoutImages[7] = 'Images/Effects/CloseWindow_Grey.gif';   

function preloadLayoutImages() {

  for (i = 0; i < layoutImages.length; i++) {
  
    var image = new Image();
    image.onload = function(){
      layoutImageLoaded();
    }    
    image.src = layoutImages[i];
  
  }

}

var layoutImagesLoadedCount = 0;

function layoutImageLoaded() {

  layoutImagesLoadedCount++;
  
  if (layoutImagesLoadedCount == layoutImages.length) {
  
    var layoutSetupComplete = setupLayout();
  
    if (layoutSetupComplete) {
    
      var currentLocation = getCurrentRelativeURL();
    
      var divInnerContent = document.getElementById('divInnerContent');   
    
      if (currentLocation == 'index.php' || currentLocation == '') {
      
        var divInnerContentBottomSpacer = document.getElementById('divInnerContentBottomSpacer');
        divInnerContentBottomSpacer.style.display = 'none';
                              
        var divAnimationImage0 = document.createElement('div');
        divAnimationImage0.id = 'divAnimationImage0';
        var image0 = new Image(700, 390);
        image0.id = 'imgAnimation0';
        image0.src = 'Images/Animation/00.jpg';
        divAnimationImage0.appendChild(image0);    
        divInnerContent.appendChild(divAnimationImage0);                   
                              
        /*var divAnimationImage0 = document.createElement('div');
        divAnimationImage0.id = 'divAnimationImage0';
        drawPNGImage('Images/Animation/0.png', 'imgAnimation0', 629, 341, '629px', '341px', '', '', null, divAnimationImage0);
    
        divInnerContent.appendChild(divAnimationImage0);    
        
        var divAnimationImage1 = document.createElement('div');
        divAnimationImage1.id = 'divAnimationImage1';
        drawPNGImage('Images/Animation/1.png', 'imgAnimation1', 629, 341, '629px', '341px', '', '', null, divAnimationImage1);
                                
        divInnerContent.appendChild(divAnimationImage1);*/
          
      }
      else
      {
        divInnerContent.style.paddingTop = '15px';
        divInnerContent.style.paddingLeft = '15px';
        divInnerContent.style.paddingRight = '0px';
        divInnerContent.style.paddingBottom = '0px';
        divInnerContent.style.width = '651px';   
      }
      
      if (currentLocation == 'index.php' || currentLocation == '' || currentLocation == 'portfolio.php' || currentLocation == 'services.php') {
        hideScrollbars = true;
      }
      
      if(updateLoadingMessageTextIntervalID != -1) {
        removeLoadingMessage();
        clearInterval(updateLoadingMessageTextIntervalID);
      }

      fadeInPageOnLoad();
      
    }
    
  }
  
}

function bodyLoadComplete() {

  var successfullyChangedStatus = changeStatus(Status.Ready);
  
  if (successfullyChangedStatus) {
  
    if (pageSubtitle != null) {
      //document.title += ' - ' + pageSubtitle;
    }
  
    var currentLocation = getCurrentRelativeURL();
  
    if (currentLocation == 'index.php' || currentLocation == '') {
      preloadAnimationImages();
    }
  
  }
  
}

function removeLinkOutlines() {

  var links = document.getElementsByTagName("a");  
    
  for (var i = 0; i < links.length; i++){
          
    var link = links.item(i);
    
    link.onfocus = function(){ 
      this.blur();
    };                
    
  }  
      
}

var animationImages = new Array();

animationImages[0] = 'Images/Animation/00.jpg';
animationImages[1] = 'Images/Animation/01.jpg';
animationImages[2] = 'Images/Animation/02.jpg';
animationImages[3] = 'Images/Animation/03.jpg';
animationImages[4] = 'Images/Animation/04.jpg';
    
function preloadAnimationImages() {

  for (i = 0; i < animationImages.length; i++) {
  
    var image = new Image();
    image.onload = function(){
      animationImageLoaded();
    }    
    image.src = animationImages[i];
  
  }

}

function StopPreloadingAnimationImages() {

  for (i = 0; i < animationImages.length; i++) {
  
    animationImages[i].src = null;
    animationImages[i].onload = null;
  
  }

}

var animationImagesLoadedCount = 0;

function animationImageLoaded() {

  animationImagesLoadedCount++;
  
  if (animationImagesLoadedCount == animationImages.length) {
    
    var divInnerContent = document.getElementById('divInnerContent');           
    var divAnimationImage1 = document.createElement('div');
    divAnimationImage1.id = 'divAnimationImage1';
    var image1 = new Image(700, 390);
    image1.id = 'imgAnimation1';
    image1.src = 'Images/Animation/01.jpg';
    divAnimationImage1.appendChild(image1);                     
    divInnerContent.appendChild(divAnimationImage1);         
    
    imageAnimationTimeoutID = window.setTimeout(runImageAnimation, timeBetweenImages * 1000);
    
  }
  
}

function setupLayout() {

  var divOuterContent = document.getElementById('divOuterContent');   

  //Draw horizontal gradient
  var divHorizBackgroundGradient = document.createElement('div');
  divHorizBackgroundGradient.id = 'divHorizGradient';
  drawPNGImage('Images/Layout/HorizBackgroundGradient.png', 'imgHorizBackgroundGradient', 1024, 1, '100%', '100%', '', '', null, divHorizBackgroundGradient);
  document.body.appendChild(divHorizBackgroundGradient);

  //Draw corner images
  var tdTopLeftCorner = document.getElementById('tdTopLeftCorner');  
  drawPNGImage('Images/Layout/TopLeftCorner.png', 'imgTopLeftCorner', 13, 13, '13px', '13px', '', '', null, tdTopLeftCorner);
  
  var tdTopRightCorner = document.getElementById('tdTopRightCorner');  
  drawPNGImage('Images/Layout/TopRightCorner.png', 'imgTopRightCorner', 13, 13, '13px', '13px', '', '', null, tdTopRightCorner);
  
  var tdBottomLeftCorner = document.getElementById('tdBottomLeftCorner');  
  drawPNGImage('Images/Layout/BottomLeftCorner.png', 'imgBottomLeftCorner', 13, 13, '13px', '13px', '', '', null, tdBottomLeftCorner);
  
  var tdBottomRightCorner = document.getElementById('tdBottomRightCorner');  
  drawPNGImage('Images/Layout/BottomRightCorner.png', 'imgBottomRightCorner', 13, 13, '13px', '13px', '', '', null, tdBottomRightCorner);    
            
  //Draw logo           
  var divLogo = document.createElement('div');
  divLogo.id = 'divLogo';
  drawPNGImage('Images/Layout/LogoRevised.png', 'imgLogo', 238, 56, '238px', '56px', '', 'Galay Landscaping & Irrigation', 'changePage("index.php");', divLogo);    
  divOuterContent.appendChild(divLogo);

	//Draw phone number
	var divPhoneNumber = document.createElement('div');
	divPhoneNumber.id = 'divPhoneNumber';
	var phoneNumberTextNode = document.createTextNode('2 0 4  -  7 5 7  -  4 7 6 3');
	divPhoneNumber.appendChild(phoneNumberTextNode);
	divOuterContent.appendChild(divPhoneNumber);
	
  //Draw navigation
  var divNavigation = document.createElement('div');
  divNavigation.id = 'divNavigation';
  
  var divNavigationElements = document.createElement('div');
  divNavigationElements.id = 'divNavigationElements';
  
  var currentLocation = getCurrentRelativeURL();
  
  var navigationElements = createNavigationElements();
  
  for (var navigationElement, i = 0; navigationElement = navigationElements[i]; i++) {
    
    var isLastNavigationElement = (i == navigationElements.length - 1);

    if ((currentLocation == navigationElement.LinkLocation) 
        || (currentLocation == '' && navigationElement.LinkLocation == 'index.php')) {
      
      var spnNavigationElement = document.createElement('span');
      var textNode = document.createTextNode(navigationElement.LinkText);
      spnNavigationElement.className = 'spnNavigationElement'; 
      spnNavigationElement.appendChild(textNode);
      divNavigationElements.appendChild(spnNavigationElement);
      pageSubtitle = navigationElement.LinkText;
      
    } else {
    
      var anchNavigationElement = document.createElement('a');
      var textNode = document.createTextNode(navigationElement.LinkText);
      
      anchNavigationElement.href = "javascript:changePage('" + navigationElement.LinkLocation + "');";
      
      if ((currentLocation == 'maingallery.php' && navigationElement.LinkLocation == 'portfolio.php')
        || (currentLocation == 'beforeaftergallery.php' && navigationElement.LinkLocation == 'portfolio.php')
        || (currentLocation == 'constructiongallery.php' && navigationElement.LinkLocation == 'portfolio.php')) {
        
        anchNavigationElement.className = 'navigationSelected';
        
      } else {
        anchNavigationElement.className = 'navigation';
      }
      
      anchNavigationElement.appendChild(textNode);  
        
      anchNavigationElement.onmouseover = function(){ 
      
        if (!busy) {
          changeWindowStatusBar(this.innerText);
          return true;
        }
        
      };
      
      anchNavigationElement.onmouseout = function(){ 
      
        if (!busy) {
          changeWindowStatusBar(StatusMessage.Ready);
          return true;
        }
        
      };
      
      anchNavigationElement.onclick = function(){ 
        changeWindowStatusBar(StatusMessage.Loading);
        return true;
      };        
            
      divNavigationElements.appendChild(anchNavigationElement);  

    }
    
    if (!isLastNavigationElement) {
    
      var spnNavigationSpacer = document.createElement('span');
      spnNavigationSpacer.className = 'spnNavigationSpacer';
      spnNavigationSpacer.innerHTML = '&nbsp;&nbsp;|&nbsp;&nbsp;'; 
      divNavigationElements.appendChild(spnNavigationSpacer); 
      
    }
    
  }
  
  divNavigation.appendChild(divNavigationElements);  
  drawPNGImage('Images/Layout/CurvedLine.png', 'imgCurvedLine', 591, 64, '591px', '64px', '', '', null, divNavigation);  
  divOuterContent.appendChild(divNavigation);  
  
  return true;
  
}

function drawPNGImage(filePath, id, actualImageWidth, actualImageHeight, desiredImageWidth, desiredImageHeight, cssClass, hoverText, onclickCommand, containingObject) {

  if (pngAlpha) {

    var div = document.createElement('div');
    div.id = id;
    
    if(cssClass != ''){
      div.className = cssClass;
    }
        
    if(hoverText != ''){
      div.title = hoverText;
    }
    
    var widthIsPercentage = (desiredImageWidth.substring(desiredImageWidth.length - 1) == '%');
    var heightIsPercentage = (desiredImageHeight.substring(desiredImageHeight.length - 1) == '%');

    if (widthIsPercentage && heightIsPercentage) {
      div.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + filePath + "', sizingMethod='scale')";
    } else {
      div.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + filePath + "', sizingMethod='image')";      
    }
    
    div.style.width = desiredImageWidth;
    div.style.height = desiredImageHeight;
    containingObject.appendChild(div);
    
  } else if(pngNormal) {

    var img = document.createElement('img');
    img.src = filePath;
    img.width = actualImageWidth;
    img.height = actualImageHeight;
    img.id = id;
    
    if(cssClass != ''){
      img.className = cssClass;
    }    
    
    if(hoverText != ''){
      img.alt = hoverText;
      img.title = hoverText;
    }       

    img.style.width = desiredImageWidth;
    img.style.height = desiredImageHeight;

    if(onclickCommand != null){
    
      img.onclick = function(){ 
        eval(onclickCommand);
      };  
      
      img.style.cursor = 'pointer'; 
      
    }   

    containingObject.appendChild(img);
    
  } 
  
}

function getCurrentRelativeURL() {

  var currentRelativeURL = '';

  var currentAbsoluteURL = window.location.href;
  
  currentRelativeURL = currentAbsoluteURL.substring(currentAbsoluteURL.lastIndexOf("/") + 1);
  
  return currentRelativeURL;
  
}

function changePage(url) {

  if (!(busy)){

    StopPreloadingAnimationImages();
  
    var successfullyChangedStatus = changeStatus(Status.Loading);
  
    if (successfullyChangedStatus){
    
      if (imageAnimationTimeoutID != -1){
        clearTimeout(imageAnimationTimeoutID);
      }
      
      //var commandWhenFadeComplete = "window.setTimeout(\"redirect('" + url + "')\", 1000);";
      //fade('divMain', pageFadeTransitionTime, FadeDirection.Out, commandWhenFadeComplete)
      
			var obj = document.getElementById('divMain');
			obj.style.visibility = 'hidden';
			
			if (displayLoadingMessageSetting) {
			 displayLoadingMessage();
			}
  
  		redirect(url);
  
    }
  
  }
  
}  
  
function changeWindowStatusBar(status) {
  //window.status = status;
}  
 
function changeStatus(status) {

  switch(status)
  {
  
    case Status.Loading:
    
      changeWindowStatusBar(StatusMessage.Loading);
      
      busy = true;
      
      toggleScrollbarVisibility(false);
        
      document.body.style.cursor = 'wait';
   
      var links = document.getElementsByTagName("a");  
        
      for (var i = 0; i < links.length; i++){
              
        var link = links.item(i);
                
        link.style.cursor = 'wait';
        
        link.onmouseover = function(){ 
          changeWindowStatusBar(StatusMessage.Loading);
          return true;
        };                
        
      }      
      
      break;
      
    case Status.Ready:
    
      document.body.style.cursor = 'default';
   
      var links = document.getElementsByTagName("a");  
        
      for (var i = 0; i < links.length; i++){      
        
        var link = links.item(i);       
         
        link.style.cursor = 'pointer';   
        
        link.onmouseover = function(){ 
          changeWindowStatusBar(this.innerText);
          return true;
        };        
           
      }
     
      toggleScrollbarVisibility(true);  
     
      busy = false;
      
      changeWindowStatusBar(StatusMessage.Ready);
      
      break;
  
  }
  
  return true;

} 

function toggleScrollbarVisibility(showScrollbar) {

  var divInnerContentContainer = document.getElementById('divInnerContentContainer');

  if (showScrollbar && !hideScrollbars) {
    divInnerContentContainer.style.overflow = 'scroll';
    divInnerContentContainer.style.overflowX = 'hidden';        
  } else {
    divInnerContentContainer.style.overflow = 'hidden';   
    divInnerContentContainer.style.overflowX = 'hidden';   
  }

}

function redirect(url) {
  window.location = url;
}  

function fadeInPageOnLoad(){

  //fade('divMain', pageFadeTransitionTime, FadeDirection.In, "bodyLoadComplete();");
  
  var obj = document.getElementById('divMain');
	obj.style.visibility = 'visible';	
  
  bodyLoadComplete();
  
}

function fade(objectID, time, fadeDirection, commandWhenFadeComplete)
{

  obj = document.getElementById(objectID);
  var steps = time * fps;
  
  var opacityType;
  
  if (typeof obj.style.opacity != 'undefined')
  {
    opacityType = 'w3c';
  }
  else if(typeof obj.style.MozOpacity != 'undefined')
  {
    opacityType = 'moz';
  }
  else if(typeof obj.style.KhtmlOpacity != 'undefined')
  {
    opacityType = 'khtml';
  }
  else if(typeof obj.filters == 'object' && typeof obj.style.filter == 'string')
  {
    opacityType = 'ie';       
  }
  else
  {
    opacityType = 'none';
  }

  if(opacityType != 'none')
  {
  
    if (fadeDirection == FadeDirection.Out)
    {
      dofade(steps, obj, 1, false, opacityType, commandWhenFadeComplete);
    }
    else
    {
      dofade(steps, obj, 0, true, opacityType, commandWhenFadeComplete);
    }
    
  }
  
}

function dofade(steps, obj, value, targetvisibility, opacityType, commandWhenFadeComplete)
{

  value += (targetvisibility ? 1 : -1) / steps;
  
  if (targetvisibility ? value > 1 : value < 0)
    value = targetvisibility ? 1 : 0;
    
  setfade(obj, value, opacityType);
  
  if(targetvisibility ? value < 1 : value > 0)
  {
  
    setTimeout(function()
    {
      dofade(steps, obj, value, targetvisibility, opacityType, commandWhenFadeComplete);
      }, 1000 / fps);
      
  }
  else
  {
  
    if (commandWhenFadeComplete != null) {
      eval(commandWhenFadeComplete);
    }
    
  }
  
}

function setfade(obj, value, opacityType)
{

  switch(opacityType)
  {
  
    case 'ie':
      obj.style.filter = "alpha(opacity=" + (value * 100) + ")"; 
      break;
      
    case 'khtml':
      obj.style.KhtmlOpacity = value;
      break;
      
    case 'moz':
      obj.style.MozOpacity = (value == 1 ? 0.9999999 : value);
      break;
      
    default:
      obj.style.opacity = (value == 1 ? 0.9999999 : value);
  
  }

}   
 
var currentImageIndex = 0;  
var nextImageIndex;
         
var previousDiv = null;    
var currentDiv = 'divAnimationImage0';
var nextDiv = 'divAnimationImage1';

var previousImage = null;    
var currentImage = 'imgAnimation0';
var nextImage = 'imgAnimation1';        
        
function runImageAnimation(){

  previousImage = currentImage;
  currentImage = nextImage;
  nextImage = previousImage;      

  if(currentImageIndex < (animationImages.length - 1)){          
    currentImageIndex += 1;
  }else if(currentImageIndex == (animationImages.length - 1)){         
    currentImageIndex = 0;
  }           
  
  if(currentImageIndex == (animationImages.length - 1)){
    nextImageIndex = 0;      
  }else{
    nextImageIndex = currentImageIndex + 1;      
  }
  
  var imgCurrentImage = document.getElementById(currentImage);
  var imgNextImage = document.getElementById(nextImage);
  
  var divCurrentDiv = document.getElementById(currentDiv);
  var divNextDiv = document.getElementById(nextDiv);
  
  var commandWhenFadeComplete = "setImageSrc('" + nextImage + "', '" + animationImages[nextImageIndex] + "');";
  
  fade(currentDiv, imageFadeTransitionTime, FadeDirection.Out, null);
  fade(nextDiv, imageFadeTransitionTime, FadeDirection.In, commandWhenFadeComplete);
    
  previousDiv = currentDiv;
  currentDiv = nextDiv;
  nextDiv = previousDiv;
    
  window.setTimeout(runImageAnimation, timeBetweenImages * 1000);
               
} 

function setImageSrc(imgID, imgSrc)
{
  var img = document.getElementById(imgID);
  img.src = imgSrc;
} 

function btnHover(btn, eventName) {

  if (eventName == 'onmouseover') {
    btn.className = 'btnHover';
  } else if (eventName == 'onmouseout') {
    btn.className = 'btn';
  }

}

function btnFocus(btn, eventName) {

  if (eventName == 'onfocus') {
    btn.className = 'btnFocus';
  } else if (eventName == 'onblur') {
    btn.className = 'btn';
  }

}

function txtFocus(txt, lblID, eventName) {

  var lbl = document.getElementById(lblID);

  if (eventName == 'onfocus') {
    txt.className = 'txtFocus';
    lbl.className = 'lblHover';    
  } else if (eventName == 'onblur') {
    txt.className = 'txt';
    lbl.className = null;   
  }

}

function goDirectlyToTop() {
  var divInnerContentContainer = document.getElementById('divInnerContentContainer');  
  divInnerContentContainer.scrollTop = 0;
}

var scrollingSteps = 10;

function scrollToObject(objID, heightOffSet) {

  var obj = document.getElementById(objID);
  var divInnerContentContainer = document.getElementById('divInnerContentContainer');  
  
  var destinationY = 0;

  var divInnerContentContainerHeight = 390;

  if ((obj.offsetTop - heightOffSet) > (divInnerContentContainer.scrollHeight - divInnerContentContainerHeight)) {
    destinationY = (divInnerContentContainer.scrollHeight - divInnerContentContainerHeight);
  } else {
    destinationY = (obj.offsetTop - heightOffSet);
  }
  
  var amountToScroll = destinationY - divInnerContentContainer.scrollTop;
    
  var amountToScrollPerStep = amountToScroll / scrollingSteps;
  
  var slowDownAmount = 4;
  
  setTimeout( function(){
                scrollToPosition(destinationY, amountToScrollPerStep, slowDownAmount);
              }, 
              37 );
        
}

function scrollToPosition(destinationY, amountToScrollPerStep, slowDownAmount) {

  var divInnerContentContainer = document.getElementById('divInnerContentContainer');
  
  if (divInnerContentContainer.scrollTop < (destinationY - slowDownAmount)){
  
    if ((divInnerContentContainer.scrollTop + amountToScrollPerStep) < (destinationY - slowDownAmount)) {
    
      divInnerContentContainer.scrollTop += amountToScrollPerStep;
      
      setTimeout( function(){
                    scrollToPosition(destinationY, amountToScrollPerStep, slowDownAmount);
                  }, 
                  37 );
                
    } else {  
      
      divInnerContentContainer.scrollTop = destinationY - slowDownAmount;
      
      setTimeout( function(){
                    scrollToPosition(destinationY, amountToScrollPerStep, slowDownAmount);
                  }, 
                  37 );
                    
    }
      
  } else { 

    if (divInnerContentContainer.scrollTop < destinationY){
        
      divInnerContentContainer.scrollTop += 1;
      
      setTimeout( function(){
                    scrollToPosition(destinationY, amountToScrollPerStep, slowDownAmount);
                  }, 
                  1 );
                
    }
    
  }
    
}

function displayLargeImage(fullSizeFilePath, fullSizeWidth, fullSizeHeight) {

  var paddingLeft = 24;
  var paddingRight = 24;
  var paddingTop = 24;
  var paddingBottom = 24;

  var imgCloseWindow = new Image(15, 15);
  imgCloseWindow.id = 'imgCloseWindow';
  imgCloseWindow.src = 'Images/Effects/CloseWindow_Black.gif';
  imgCloseWindow.style.top = '3px';
  imgCloseWindow.style.right = '3px';
  imgCloseWindow.alt = 'Close';
  imgCloseWindow.title = 'Close';
  
  var divBodyShadow = document.createElement('div');
  divBodyShadow.id = 'divBodyShadow';

  var imgFullSize = null; 

  var divLargeImage = document.createElement('div');
  divLargeImage.id = 'divLargeImage';
  divLargeImage.style.width = (paddingLeft + fullSizeWidth + paddingRight) + 'px';
  divLargeImage.style.height = (paddingTop + fullSizeHeight + paddingBottom) + 'px';
  divLargeImage.style.marginLeft = -((paddingLeft + fullSizeWidth + paddingRight) / 2) + 'px';    
  divLargeImage.style.marginTop = -((paddingTop + fullSizeHeight + paddingBottom) / 2) + 'px';
      
  var divImgFullSizeContainer = document.createElement('div');
  divImgFullSizeContainer.id = 'divImgFullSizeContainer';
  divImgFullSizeContainer.style.width = fullSizeWidth + 'px'; 
  divImgFullSizeContainer.style.height = fullSizeHeight + 'px'; 
  divImgFullSizeContainer.style.marginLeft = paddingLeft + 'px';    
  divImgFullSizeContainer.style.marginTop = paddingTop + 'px';
      
  loadingMessageTextMessageIndex = 0;
      
  var divImageLoadingMessage = document.createElement('div');    
  divImageLoadingMessage.id = 'divImageLoadingMessage';  
  var spnImageLoadingMessage = document.createElement('span');
  spnImageLoadingMessage.id = 'spnImageLoadingMessage';
  var textNode = document.createTextNode(loadingMessageTextMessage[loadingMessageTextMessageIndex]);
  spnImageLoadingMessage.appendChild(textNode);        
  divImageLoadingMessage.appendChild(spnImageLoadingMessage);    
  divImgFullSizeContainer.appendChild(divImageLoadingMessage);
          
  divLargeImage.appendChild(divImgFullSizeContainer);
  
  imgCloseWindow.onmouseover = function(){ 
    this.src = 'Images/Effects/CloseWindow_Grey.gif';
  };    
  
  imgCloseWindow.onmouseout = function(){ 
    this.src = 'Images/Effects/CloseWindow_Black.gif';
  };        
  
  divLargeImage.appendChild(imgCloseWindow);    
  
  document.body.appendChild(divBodyShadow);        
  document.body.appendChild(divLargeImage);
    
  divLargeImage.onclick = function(){ 
    document.body.removeChild(divBodyShadow);
    document.body.removeChild(divLargeImage);
    clearInterval(updateImageLoadingMessageTextIntervalID);
    imgFullSize = null;
  };   
  
  divBodyShadow.onclick = function(){ 
    document.body.removeChild(divBodyShadow);
    document.body.removeChild(divLargeImage);
    clearInterval(updateImageLoadingMessageTextIntervalID);
    imgFullSize = null;
  };    
  
  updateImageLoadingMessageTextIntervalID = setInterval("updateImageLoadingMessageText()", 600);  
    
  imgFullSize = new Image(fullSizeWidth, fullSizeHeight);
  imgFullSize.onload = function(){
    fullSizeImageLoaded(fullSizeFilePath, fullSizeWidth, fullSizeHeight);
  }    
  imgFullSize.src = fullSizeFilePath;
  
}

function fullSizeImageLoaded(fullSizeFilePath, fullSizeWidth, fullSizeHeight) {

  var divImgFullSizeContainer = document.getElementById('divImgFullSizeContainer'); 
  var divImageLoadingMessage = document.getElementById('divImageLoadingMessage');
  divImgFullSizeContainer.removeChild(divImageLoadingMessage);

  var imgFullSize = new Image(fullSizeWidth, fullSizeHeight);
  imgFullSize.id = 'imgFullSize';
  imgFullSize.src = fullSizeFilePath;
  imgFullSize.alt = '';
  
  divImgFullSizeContainer.appendChild(imgFullSize);
  
  clearInterval(updateImageLoadingMessageTextIntervalID);
  
}

function updateImageLoadingMessageText() {

  if(loadingMessageTextMessageIndex < loadingMessageTextMessage.length - 1) {
    loadingMessageTextMessageIndex++;
  } else {
    loadingMessageTextMessageIndex = 0;
  }

  var spnImageLoadingMessage = document.getElementById('spnImageLoadingMessage');   
  
  if (spnImageLoadingMessage.hasChildNodes()) {
  
    while (spnImageLoadingMessage.childNodes.length >= 1) {
      spnImageLoadingMessage.removeChild(spnImageLoadingMessage.firstChild);       
    } 
      
  }
  
  var textNode = document.createTextNode(loadingMessageTextMessage[loadingMessageTextMessageIndex]);
  spnImageLoadingMessage.appendChild(textNode);   

}

function clearContactForm(){

  var txtName = document.getElementById('txtName');
  txtName.value = '';
  
  var txtEmail = document.getElementById('txtEmail');
  txtEmail.value = '';
  
  var txtComments = document.getElementById('txtComments');
  txtComments.value = '';
      
}
 
/*
function setImageSrc(imgID, imgSrc)
{
  
  var img = document.getElementById(imgID);
  img.src = imgSrc;
  
  var opacityType;
  
  if (typeof img.style.opacity != 'undefined')
  {
    opacityType = 'w3c';
  }
  else if(typeof img.style.MozOpacity != 'undefined')
  {
    opacityType = 'moz';
  }
  else if(typeof img.style.KhtmlOpacity != 'undefined')
  {
    opacityType = 'khtml';
  }
  else if(typeof img.filters == 'object' && typeof img.style.filter == 'string')
  {
    opacityType = 'ie';       
  }
  else
  {
    opacityType = 'none';
  }

  if(opacityType != 'none')
  {
    setImageSrcByOpacityType(img, imgSrc, opacityType);
  }
  
}

function setImageSrcByOpacityType(obj, imgSrc, opacityType)
{

  switch(opacityType)
  {
  
    case 'ie':  
      obj.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + imgSrc + "', sizingMethod='image')";    
      break;
      
    case 'khtml':
      obj.src = imgSrc;
      break;
      
    case 'moz': 
      obj.src = imgSrc;
      break;
      
    default:
      obj.src = imgSrc;
                
  }
  
}
*/
